diff options
author | Florian Pritz <bluewind@xinu.at> | 2016-06-17 00:06:33 +0200 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2016-07-04 07:58:15 +0200 |
commit | aca5b6c6362c415df501f76ef170794e77522242 (patch) | |
tree | 30dbb50be348d6d5ffcd81363fcb1b9ec372b226 | |
parent | 8deb80b8d2c1c8d6f9831a777939d6d5da52a71a (diff) |
file/history: Add support to display preview of entries on hover
Signed-off-by: Florian Pritz <bluewind@xinu.at>
-rw-r--r-- | application/controllers/file.php | 5 | ||||
-rw-r--r-- | application/views/file/upload_history.php | 2 | ||||
-rw-r--r-- | public_html/data/css/style.css | 11 | ||||
-rw-r--r-- | public_html/data/js/application.js | 11 |
4 files changed, 28 insertions, 1 deletions
diff --git a/application/controllers/file.php b/application/controllers/file.php index 79d5395ae..1f07ae4ec 100644 --- a/application/controllers/file.php +++ b/application/controllers/file.php @@ -764,6 +764,11 @@ class File extends MY_Controller { foreach($history["items"] as $key => $item) { $history["items"][$key]["filesize"] = format_bytes($item["filesize"]); + + if (isset($item['preview_text'])) { + $history["items"][$key]["preview_text"] = htmlentities($item['preview_text']); + } + if (is_cli_client()) { // Keep track of longest string to pad plaintext output correctly foreach($fields as $length_key => $value) { diff --git a/application/views/file/upload_history.php b/application/views/file/upload_history.php index 1e7ecfa62..7d46efe3a 100644 --- a/application/views/file/upload_history.php +++ b/application/views/file/upload_history.php @@ -16,7 +16,7 @@ <?php foreach($items as $key => $item): ?> <tr> <td><input type="checkbox" name="ids[<?php echo $item["id"] ?>]" value="<?php echo $item["id"] ?>" class="delete-history"></td> - <td><a href="<?php echo site_url("/".$item["id"]) ?>/"><?php echo $item["id"] ?></a></td> + <td><a href="<?php echo site_url("/".$item["id"]) ?>/" data-content="<?php if (isset($item['preview_text'])) {echo htmlentities($item['preview_text']);} ?>"><?php echo $item["id"] ?></a></td> <td class="wrap"><?php echo htmlspecialchars($item["filename"]); ?></td> <td><?php echo $item["mimetype"] ?></td> <td class="nowrap" data-sort-value="<?=$item["date"]; ?>"><?php echo date("r", $item["date"]); ?></td> diff --git a/public_html/data/css/style.css b/public_html/data/css/style.css index f2c0542c9..4273ff896 100644 --- a/public_html/data/css/style.css +++ b/public_html/data/css/style.css @@ -296,6 +296,17 @@ body { max-width: 400px; } +#upload_history .popover { + max-width: 100%; +} + +#upload_history .popover pre { + background-color: transparent; + border: 0; + margin: 0; + line-height: 1.4; +} + .upload_thumbnails { margin: 0 auto; width: 152px; diff --git a/public_html/data/js/application.js b/public_html/data/js/application.js index 71aac8328..51b2c0c6d 100644 --- a/public_html/data/js/application.js +++ b/public_html/data/js/application.js @@ -47,6 +47,7 @@ define( Uploader.initialize(); TableSorter.initialize(); this.configureTooltips(); + this.setupHistoryPopovers(); this.setupToggleSelectAllEvent(); this.setupLineWrapToggle(); this.setupLazyLoadingImages(); @@ -68,6 +69,16 @@ define( }); }, + setupHistoryPopovers: function () { + $('#upload_history a').popover({ + trigger: 'hover', + placement: 'bottom', + html: true, + viewport: '#upload_history', + template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><pre class="popover-content"></pre></div>' + }); + }, + setupToggleSelectAllEvent: function () { $('#history-all').on('click', function(event) { // Suppress click event on table heading |