diff options
-rw-r--r-- | web/html/css/aurweb.css | 6 | ||||
-rw-r--r-- | web/html/images/ajax-loader.gif | bin | 0 -> 723 bytes | |||
-rw-r--r-- | web/html/index.php | 4 | ||||
-rw-r--r-- | web/template/pkg_comments.php | 35 |
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 Binary files differnew file mode 100644 index 00000000..df07e7ec --- /dev/null +++ b/web/html/images/ajax-loader.gif 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> |