From 88fa51a34e577c02590ab3da47ed0d202fd29117 Mon Sep 17 00:00:00 2001 From: zadam Date: Sun, 5 Jun 2022 22:32:23 +0200 Subject: [PATCH] refactorings of search actions to bulk actions --- src/public/app/services/bulk_action.js | 40 ++++++------ .../abstract_bulk_action.js} | 2 +- .../app/widgets/bulk_actions/add_label.js | 65 +++++++++++++++++++ .../delete_label.js | 4 +- .../delete_note.js | 4 +- .../delete_note_revisions.js | 4 +- .../delete_relation.js | 4 +- .../execute_script.js | 4 +- .../move_note.js | 4 +- .../rename_label.js | 4 +- .../rename_relation.js | 4 +- .../set_label_value.js | 4 +- .../set_relation_target.js | 4 +- src/public/app/widgets/type_widgets/canvas.js | 2 +- src/share/content_renderer.js | 2 +- src/views/dialogs/bulk_assign_attributes.ejs | 1 - 16 files changed, 108 insertions(+), 44 deletions(-) rename src/public/app/widgets/{search_actions/abstract_search_action.js => bulk_actions/abstract_bulk_action.js} (97%) create mode 100644 src/public/app/widgets/bulk_actions/add_label.js rename src/public/app/widgets/{search_actions => bulk_actions}/delete_label.js (87%) rename src/public/app/widgets/{search_actions => bulk_actions}/delete_note.js (74%) rename src/public/app/widgets/{search_actions => bulk_actions}/delete_note_revisions.js (85%) rename src/public/app/widgets/{search_actions => bulk_actions}/delete_relation.js (89%) rename src/public/app/widgets/{search_actions => bulk_actions}/execute_script.js (92%) rename src/public/app/widgets/{search_actions => bulk_actions}/move_note.js (94%) rename src/public/app/widgets/{search_actions => bulk_actions}/rename_label.js (92%) rename src/public/app/widgets/{search_actions => bulk_actions}/rename_relation.js (92%) rename src/public/app/widgets/{search_actions => bulk_actions}/set_label_value.js (94%) rename src/public/app/widgets/{search_actions => bulk_actions}/set_relation_target.js (97%) diff --git a/src/public/app/services/bulk_action.js b/src/public/app/services/bulk_action.js index ea7841cf8..81c11e72d 100644 --- a/src/public/app/services/bulk_action.js +++ b/src/public/app/services/bulk_action.js @@ -1,27 +1,27 @@ import server from "./server.js"; import ws from "./ws.js"; -import MoveNoteSearchAction from "../widgets/search_actions/move_note.js"; -import DeleteNoteSearchAction from "../widgets/search_actions/delete_note.js"; -import DeleteNoteRevisionsSearchAction from "../widgets/search_actions/delete_note_revisions.js"; -import DeleteLabelSearchAction from "../widgets/search_actions/delete_label.js"; -import DeleteRelationSearchAction from "../widgets/search_actions/delete_relation.js"; -import RenameLabelSearchAction from "../widgets/search_actions/rename_label.js"; -import RenameRelationSearchAction from "../widgets/search_actions/rename_relation.js"; -import SetLabelValueSearchAction from "../widgets/search_actions/set_label_value.js"; -import SetRelationTargetSearchAction from "../widgets/search_actions/set_relation_target.js"; -import ExecuteScriptSearchAction from "../widgets/search_actions/execute_script.js"; +import MoveNoteBulkAction from "../widgets/bulk_actions/move_note.js"; +import DeleteNoteBulkAction from "../widgets/bulk_actions/delete_note.js"; +import DeleteNoteRevisionsBulkAction from "../widgets/bulk_actions/delete_note_revisions.js"; +import DeleteLabelBulkAction from "../widgets/bulk_actions/delete_label.js"; +import DeleteRelationBulkAction from "../widgets/bulk_actions/delete_relation.js"; +import RenameLabelBulkAction from "../widgets/bulk_actions/rename_label.js"; +import RenameRelationBulkAction from "../widgets/bulk_actions/rename_relation.js"; +import SetLabelValueBulkAction from "../widgets/bulk_actions/set_label_value.js"; +import SetRelationTargetSearchAction from "../widgets/bulk_actions/set_relation_target.js"; +import ExecuteScriptBulkAction from "../widgets/bulk_actions/execute_script.js"; const ACTION_CLASSES = [ - MoveNoteSearchAction, - DeleteNoteSearchAction, - DeleteNoteRevisionsSearchAction, - DeleteLabelSearchAction, - DeleteRelationSearchAction, - RenameLabelSearchAction, - RenameRelationSearchAction, - SetLabelValueSearchAction, + MoveNoteBulkAction, + DeleteNoteBulkAction, + DeleteNoteRevisionsBulkAction, + DeleteLabelBulkAction, + DeleteRelationBulkAction, + RenameLabelBulkAction, + RenameRelationBulkAction, + SetLabelValueBulkAction, SetRelationTargetSearchAction, - ExecuteScriptSearchAction + ExecuteScriptBulkAction ]; async function addAction(noteId, actionName) { @@ -65,4 +65,4 @@ export default { addAction, parseActions, ACTION_CLASSES -}; \ No newline at end of file +}; diff --git a/src/public/app/widgets/search_actions/abstract_search_action.js b/src/public/app/widgets/bulk_actions/abstract_bulk_action.js similarity index 97% rename from src/public/app/widgets/search_actions/abstract_search_action.js rename to src/public/app/widgets/bulk_actions/abstract_bulk_action.js index 3966d9355..a863cf395 100644 --- a/src/public/app/widgets/search_actions/abstract_search_action.js +++ b/src/public/app/widgets/bulk_actions/abstract_bulk_action.js @@ -3,7 +3,7 @@ import ws from "../../services/ws.js"; import Component from "../component.js"; import utils from "../../services/utils.js"; -export default class AbstractSearchAction { +export default class AbstractBulkAction { constructor(attribute, actionDef) { this.attribute = attribute; this.actionDef = actionDef; diff --git a/src/public/app/widgets/bulk_actions/add_label.js b/src/public/app/widgets/bulk_actions/add_label.js new file mode 100644 index 000000000..515a8ae36 --- /dev/null +++ b/src/public/app/widgets/bulk_actions/add_label.js @@ -0,0 +1,65 @@ +import SpacedUpdate from "../../services/spaced_update.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; + +const TPL = ` + + +
+
Set label
+ + + +
to value
+ + +
+ + + + + + +`; + +export default class AddLabelBulkAction extends AbstractBulkAction { + static get actionName() { return "setLabelValue"; } + static get actionTitle() { return "Set label value"; } + + doRender() { + const $action = $(TPL); + + const $labelName = $action.find('.label-name'); + $labelName.val(this.actionDef.labelName || ""); + + const $labelValue = $action.find('.label-value'); + $labelValue.val(this.actionDef.labelValue || ""); + + const spacedUpdate = new SpacedUpdate(async () => { + await this.saveAction({ + labelName: $labelName.val(), + labelValue: $labelValue.val() + }); + }, 1000) + + $labelName.on('input', () => spacedUpdate.scheduleUpdate()); + $labelValue.on('input', () => spacedUpdate.scheduleUpdate()); + + return $action; + } +} diff --git a/src/public/app/widgets/search_actions/delete_label.js b/src/public/app/widgets/bulk_actions/delete_label.js similarity index 87% rename from src/public/app/widgets/search_actions/delete_label.js rename to src/public/app/widgets/bulk_actions/delete_label.js index cf2916849..6c81d5615 100644 --- a/src/public/app/widgets/search_actions/delete_label.js +++ b/src/public/app/widgets/bulk_actions/delete_label.js @@ -1,5 +1,5 @@ import SpacedUpdate from "../../services/spaced_update.js"; -import AbstractSearchAction from "./abstract_search_action.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; const TPL = ` @@ -18,7 +18,7 @@ const TPL = ` `; -export default class DeleteLabelSearchAction extends AbstractSearchAction { +export default class DeleteLabelBulkAction extends AbstractBulkAction { static get actionName() { return "deleteLabel"; } static get actionTitle() { return "Delete label"; } diff --git a/src/public/app/widgets/search_actions/delete_note.js b/src/public/app/widgets/bulk_actions/delete_note.js similarity index 74% rename from src/public/app/widgets/search_actions/delete_note.js rename to src/public/app/widgets/bulk_actions/delete_note.js index 9e65e861b..20bf83bc0 100644 --- a/src/public/app/widgets/search_actions/delete_note.js +++ b/src/public/app/widgets/bulk_actions/delete_note.js @@ -1,4 +1,4 @@ -import AbstractSearchAction from "./abstract_search_action.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; const TPL = ` @@ -12,7 +12,7 @@ const TPL = ` `; -export default class DeleteNoteSearchAction extends AbstractSearchAction { +export default class DeleteNoteBulkAction extends AbstractBulkAction { static get actionName() { return "deleteNote"; } static get actionTitle() { return "Delete note"; } diff --git a/src/public/app/widgets/search_actions/delete_note_revisions.js b/src/public/app/widgets/bulk_actions/delete_note_revisions.js similarity index 85% rename from src/public/app/widgets/search_actions/delete_note_revisions.js rename to src/public/app/widgets/bulk_actions/delete_note_revisions.js index 3305780ee..40ed8123b 100644 --- a/src/public/app/widgets/search_actions/delete_note_revisions.js +++ b/src/public/app/widgets/bulk_actions/delete_note_revisions.js @@ -1,4 +1,4 @@ -import AbstractSearchAction from "./abstract_search_action.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; const TPL = ` @@ -19,7 +19,7 @@ const TPL = ` `; -export default class DeleteNoteRevisionsSearchAction extends AbstractSearchAction { +export default class DeleteNoteRevisionsBulkAction extends AbstractBulkAction { static get actionName() { return "deleteNoteRevisions"; } static get actionTitle() { return "Delete note revisions"; } diff --git a/src/public/app/widgets/search_actions/delete_relation.js b/src/public/app/widgets/bulk_actions/delete_relation.js similarity index 89% rename from src/public/app/widgets/search_actions/delete_relation.js rename to src/public/app/widgets/bulk_actions/delete_relation.js index aace37fc2..59ef5b913 100644 --- a/src/public/app/widgets/search_actions/delete_relation.js +++ b/src/public/app/widgets/bulk_actions/delete_relation.js @@ -1,5 +1,5 @@ import SpacedUpdate from "../../services/spaced_update.js"; -import AbstractSearchAction from "./abstract_search_action.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; const TPL = ` @@ -20,7 +20,7 @@ const TPL = ` `; -export default class DeleteRelationSearchAction extends AbstractSearchAction { +export default class DeleteRelationBulkAction extends AbstractBulkAction { static get actionName() { return "deleteRelation"; } static get actionTitle() { return "Delete relation"; } diff --git a/src/public/app/widgets/search_actions/execute_script.js b/src/public/app/widgets/bulk_actions/execute_script.js similarity index 92% rename from src/public/app/widgets/search_actions/execute_script.js rename to src/public/app/widgets/bulk_actions/execute_script.js index 088fc379c..62ba11f74 100644 --- a/src/public/app/widgets/search_actions/execute_script.js +++ b/src/public/app/widgets/bulk_actions/execute_script.js @@ -1,5 +1,5 @@ import SpacedUpdate from "../../services/spaced_update.js"; -import AbstractSearchAction from "./abstract_search_action.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; const TPL = ` @@ -33,7 +33,7 @@ const TPL = ` `; -export default class ExecuteScriptSearchAction extends AbstractSearchAction { +export default class ExecuteScriptBulkAction extends AbstractBulkAction { static get actionName() { return "executeScript"; } static get actionTitle() { return "Execute script"; } diff --git a/src/public/app/widgets/search_actions/move_note.js b/src/public/app/widgets/bulk_actions/move_note.js similarity index 94% rename from src/public/app/widgets/search_actions/move_note.js rename to src/public/app/widgets/bulk_actions/move_note.js index fffcae00f..03a49b8bb 100644 --- a/src/public/app/widgets/search_actions/move_note.js +++ b/src/public/app/widgets/bulk_actions/move_note.js @@ -1,5 +1,5 @@ import SpacedUpdate from "../../services/spaced_update.js"; -import AbstractSearchAction from "./abstract_search_action.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; import noteAutocompleteService from "../../services/note_autocomplete.js"; const TPL = ` @@ -33,7 +33,7 @@ const TPL = ` `; -export default class MoveNoteSearchAction extends AbstractSearchAction { +export default class MoveNoteBulkAction extends AbstractBulkAction { static get actionName() { return "moveNote"; } static get actionTitle() { return "Move note"; } diff --git a/src/public/app/widgets/search_actions/rename_label.js b/src/public/app/widgets/bulk_actions/rename_label.js similarity index 92% rename from src/public/app/widgets/search_actions/rename_label.js rename to src/public/app/widgets/bulk_actions/rename_label.js index 6253159c5..99f458c24 100644 --- a/src/public/app/widgets/search_actions/rename_label.js +++ b/src/public/app/widgets/bulk_actions/rename_label.js @@ -1,5 +1,5 @@ import SpacedUpdate from "../../services/spaced_update.js"; -import AbstractSearchAction from "./abstract_search_action.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; const TPL = ` @@ -27,7 +27,7 @@ const TPL = ` `; -export default class RenameLabelSearchAction extends AbstractSearchAction { +export default class RenameLabelBulkAction extends AbstractBulkAction { static get actionName() { return "renameLabel"; } static get actionTitle() { return "Rename label"; } diff --git a/src/public/app/widgets/search_actions/rename_relation.js b/src/public/app/widgets/bulk_actions/rename_relation.js similarity index 92% rename from src/public/app/widgets/search_actions/rename_relation.js rename to src/public/app/widgets/bulk_actions/rename_relation.js index 93d13aee1..c5e2094a2 100644 --- a/src/public/app/widgets/search_actions/rename_relation.js +++ b/src/public/app/widgets/bulk_actions/rename_relation.js @@ -1,5 +1,5 @@ import SpacedUpdate from "../../services/spaced_update.js"; -import AbstractSearchAction from "./abstract_search_action.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; const TPL = ` @@ -27,7 +27,7 @@ const TPL = ` `; -export default class RenameRelationSearchAction extends AbstractSearchAction { +export default class RenameRelationBulkAction extends AbstractBulkAction { static get actionName() { return "renameRelation"; } static get actionTitle() { return "Rename relation"; } diff --git a/src/public/app/widgets/search_actions/set_label_value.js b/src/public/app/widgets/bulk_actions/set_label_value.js similarity index 94% rename from src/public/app/widgets/search_actions/set_label_value.js rename to src/public/app/widgets/bulk_actions/set_label_value.js index 745b2af20..76063f693 100644 --- a/src/public/app/widgets/search_actions/set_label_value.js +++ b/src/public/app/widgets/bulk_actions/set_label_value.js @@ -1,5 +1,5 @@ import SpacedUpdate from "../../services/spaced_update.js"; -import AbstractSearchAction from "./abstract_search_action.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; const TPL = ` @@ -37,7 +37,7 @@ const TPL = ` `; -export default class SetLabelValueSearchAction extends AbstractSearchAction { +export default class SetLabelValueBulkAction extends AbstractBulkAction { static get actionName() { return "setLabelValue"; } static get actionTitle() { return "Set label value"; } diff --git a/src/public/app/widgets/search_actions/set_relation_target.js b/src/public/app/widgets/bulk_actions/set_relation_target.js similarity index 97% rename from src/public/app/widgets/search_actions/set_relation_target.js rename to src/public/app/widgets/bulk_actions/set_relation_target.js index 4ab121d81..a6cdf8718 100644 --- a/src/public/app/widgets/search_actions/set_relation_target.js +++ b/src/public/app/widgets/bulk_actions/set_relation_target.js @@ -1,5 +1,5 @@ import SpacedUpdate from "../../services/spaced_update.js"; -import AbstractSearchAction from "./abstract_search_action.js"; +import AbstractBulkAction from "./abstract_bulk_action.js"; import noteAutocompleteService from "../../services/note_autocomplete.js"; const TPL = ` @@ -39,7 +39,7 @@ const TPL = ` `; -export default class SetRelationTargetSearchAction extends AbstractSearchAction { +export default class SetRelationTargetSearchAction extends AbstractBulkAction { static get actionName() { return "setRelationTarget"; } static get actionTitle() { return "Set relation target"; } diff --git a/src/public/app/widgets/type_widgets/canvas.js b/src/public/app/widgets/type_widgets/canvas.js index 932adac56..924c0931a 100644 --- a/src/public/app/widgets/type_widgets/canvas.js +++ b/src/public/app/widgets/type_widgets/canvas.js @@ -8,7 +8,7 @@ const {sleep} = utils; const TPL = `
-