summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--web/html/css/aurweb.css6
-rw-r--r--web/html/images/ajax-loader.gifbin0 -> 723 bytes
-rw-r--r--web/html/index.php4
-rw-r--r--web/template/pkg_comments.php35
4 files changed, 45 insertions, 0 deletions
diff --git a/web/html/css/aurweb.css b/web/html/css/aurweb.css
index b33726c4..4fb256f9 100644
--- a/web/html/css/aurweb.css
+++ b/web/html/css/aurweb.css
@@ -124,6 +124,12 @@
opacity: 1;
}
+.ajax-loader {
+ float: right;
+ position: relative;
+ top: 4px;
+}
+
legend {
padding: 1em 0;
}
diff --git a/web/html/images/ajax-loader.gif b/web/html/images/ajax-loader.gif
new file mode 100644
index 00000000..df07e7ec
--- /dev/null
+++ b/web/html/images/ajax-loader.gif
Binary files differ
diff --git a/web/html/index.php b/web/html/index.php
index 175a533f..7068d763 100644
--- a/web/html/index.php
+++ b/web/html/index.php
@@ -160,6 +160,10 @@ if (!empty($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
header("Content-Type: text/css");
readfile("./$path");
break;
+ case "/images/ajax-loader.gif":
+ header("Content-Type: image/gif");
+ readfile("./$path");
+ break;
case "/css/archnavbar/archlogo.gif":
case "/images/new.png":
header("Content-Type: image/png");
diff --git a/web/template/pkg_comments.php b/web/template/pkg_comments.php
index bb006b9f..21ce16f4 100644
--- a/web/template/pkg_comments.php
+++ b/web/template/pkg_comments.php
@@ -70,3 +70,38 @@ $count = pkgbase_comments_count($base_id, $include_deleted);
</h3>
<?php endif; ?>
</div>
+<script>
+$(document).ready(function() {
+ $('.edit-comment').click(function () {
+ var parent_element = this.parentElement,
+ parent_id = parent_element.id,
+ comment_id = parent_id.substr(parent_id.indexOf('-') + 1),
+ edit_form = $(parent_element).next(),
+ _this = $(this);
+ add_busy_indicator(_this);
+ $.getJSON('<?= get_uri('/rpc') ?>', {
+ type: 'get-comment-form',
+ arg: comment_id,
+ base_id: <?= intval($base_id) ?>,
+ pkgbase_name: <?= json_encode($pkgbase_name) ?>
+ }, function (data) {
+ remove_busy_indicator(_this);
+ if (data.success) {
+ edit_form.html(data.form);
+ edit_form.find('textarea').focus();
+ } else {
+ alert(data.error);
+ }
+ });
+ return false;
+ });
+
+ function add_busy_indicator(sibling) {
+ sibling.after('<img src="/images/ajax-loader.gif" class="ajax-loader" width="16" height="11" alt="Busy…" />');
+ }
+
+ function remove_busy_indicator(sibling) {
+ sibling.next().remove();
+ }
+});
+</script>