import SpacedUpdate from "../../../services/spaced_update.js"; import AbstractBulkAction from "../abstract_bulk_action.js"; import { t } from "../../../services/i18n.js"; const TPL = `
${t('rename_relation.rename_relation_from')}
${t('rename_relation.to')}
`; export default class RenameRelationBulkAction extends AbstractBulkAction { static get actionName() { return "renameRelation"; } static get actionTitle() { return t('rename_relation.rename_relation'); } doRender() { const $action = $(TPL); const $oldRelationName = $action.find('.old-relation-name'); $oldRelationName.val(this.actionDef.oldRelationName || ""); const $newRelationName = $action.find('.new-relation-name'); $newRelationName.val(this.actionDef.newRelationName || ""); const spacedUpdate = new SpacedUpdate(async () => { await this.saveAction({ oldRelationName: $oldRelationName.val(), newRelationName: $newRelationName.val() }); }, 1000); $oldRelationName.on('input', () => spacedUpdate.scheduleUpdate()); $newRelationName.on('input', () => spacedUpdate.scheduleUpdate()); return $action; } }