[Posts] Add a button to apply a tag script to all posts on the page (#774)

This commit is contained in:
Cinder 2024-10-29 07:37:08 -07:00 committed by GitHub
parent 3f17beb3b8
commit 5616241e8d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 25 additions and 3 deletions

View File

@ -101,6 +101,13 @@ PostModeMenu.initialize_tag_script_field = function () {
const script = $(this).val();
LStorage.Posts.TagScript.Content = script;
});
$("#tag-script-all").on("click", PostModeMenu.tag_script_apply_all);
};
PostModeMenu.tag_script_apply_all = function (event) {
event.preventDefault();
$("article.post-preview").trigger("click");
};
PostModeMenu.update_sets_menu = function () {
@ -138,10 +145,11 @@ PostModeMenu.change = function () {
$("#page").attr("data-mode-menu", s);
LStorage.Posts.Mode = s;
$("#set-id").hide();
$("#tag-script-field").hide();
$("#tag-script-ui").hide();
$("#quick-mode-reason").hide();
if (s === "tag-script") {
$("#tag-script-ui").show();
$("#tag-script-field").val(LStorage.Posts.TagScript.Content).show();
PostModeMenu.show_notice(LStorage.Posts.TagScript.ID);
} else if (s === "add-to-set" || s === "remove-from-set") {

View File

@ -28,3 +28,12 @@ $modes: (
#page:not([data-mode-menu="view"]) article.post-preview img {
pointer-events: none;
}
#tag-script-ui {
display: flex;
margin-top: 0.5em;
gap: 0.5em;
input { flex: 1; }
button { padding: 0 0.25em; }
}

View File

@ -31,7 +31,12 @@
</form>
<select id="set-id" style="display: none; margin-top: 0.5em;"></select>
<% if CurrentUser.is_privileged? %>
<input id="tag-script-field" data-autocomplete="tag-edit" placeholder="Enter tag script" style="display: none; margin-top: 0.5em;"/>
<input id="quick-mode-reason" placeholder="Reason" style="display: none; margin-top: 0.5em;"/>
<span id="tag-script-ui" style="display: none;">
<input id="tag-script-field" data-autocomplete="tag-edit" placeholder="Enter tag script" style="display: none;"/>
<% if CurrentUser.is_staff? %>
<button id="tag-script-all">All</button>
<% end %>
</span>
<input id="quick-mode-reason" placeholder="Reason" style="display: none;"/>
<% end %>
</section>