From ac75e724910c73706b19e0af0266e74bc9a1cb34 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 21 Dec 2024 09:26:37 +0200 Subject: [PATCH] chore(client/ts): port bulk_actions/abstract_bulk_action --- ...bulk_action.js => abstract_bulk_action.ts} | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) rename src/public/app/widgets/bulk_actions/{abstract_bulk_action.js => abstract_bulk_action.ts} (71%) diff --git a/src/public/app/widgets/bulk_actions/abstract_bulk_action.js b/src/public/app/widgets/bulk_actions/abstract_bulk_action.ts similarity index 71% rename from src/public/app/widgets/bulk_actions/abstract_bulk_action.js rename to src/public/app/widgets/bulk_actions/abstract_bulk_action.ts index 634f3d073..1ce81e190 100644 --- a/src/public/app/widgets/bulk_actions/abstract_bulk_action.js +++ b/src/public/app/widgets/bulk_actions/abstract_bulk_action.ts @@ -2,9 +2,17 @@ import { t } from "../../services/i18n.js"; import server from "../../services/server.js"; import ws from "../../services/ws.js"; import utils from "../../services/utils.js"; +import FAttribute from "../../entities/fattribute.js"; -export default class AbstractBulkAction { - constructor(attribute, actionDef) { +interface ActionDefinition { + +} + +export default abstract class AbstractBulkAction { + attribute: FAttribute; + actionDef: ActionDefinition; + + constructor(attribute: FAttribute, actionDef: ActionDefinition) { this.attribute = attribute; this.actionDef = actionDef; } @@ -20,18 +28,18 @@ export default class AbstractBulkAction { utils.initHelpDropdown($rendered); return $rendered; - } - catch (e) { + } catch (e: any) { logError(`Failed rendering search action: ${JSON.stringify(this.attribute.dto)} with error: ${e.message} ${e.stack}`); return null; } } // to be overridden - doRender() {} + abstract doRender(): JQuery; + abstract get actionName(): string; - async saveAction(data) { - const actionObject = Object.assign({ name: this.constructor.actionName }, data); + async saveAction(data: {}) { + const actionObject = Object.assign({ name: (this.constructor as unknown as AbstractBulkAction).actionName }, data); await server.put(`notes/${this.attribute.noteId}/attribute`, { attributeId: this.attribute.attributeId,