summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2016-06-17 00:06:33 +0200
committerFlorian Pritz <bluewind@xinu.at>2016-07-04 07:58:15 +0200
commitaca5b6c6362c415df501f76ef170794e77522242 (patch)
tree30dbb50be348d6d5ffcd81363fcb1b9ec372b226
parent8deb80b8d2c1c8d6f9831a777939d6d5da52a71a (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.php5
-rw-r--r--application/views/file/upload_history.php2
-rw-r--r--public_html/data/css/style.css11
-rw-r--r--public_html/data/js/application.js11
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