import SpacedUpdate from "../../../services/spaced_update.js"; import AbstractBulkAction, { ActionDefinition } from "../abstract_bulk_action.js"; import noteAutocompleteService from "../../../services/note_autocomplete.js"; import { t } from "../../../services/i18n.js"; import BulkAction, { BulkActionText } from "../BulkAction.jsx"; import NoteAutocomplete from "../../react/NoteAutocomplete.jsx"; import FormTextBox from "../../react/FormTextBox.jsx"; import { useEffect, useState } from "preact/hooks"; import { useSpacedUpdate } from "../../react/hooks.jsx"; function AddRelationBulkActionComponent({ bulkAction, actionDef }: { bulkAction: AbstractBulkAction, actionDef: ActionDefinition }) { const [ relationName, setRelationName ] = useState(actionDef.relationName); const [ targetNoteId, setTargetNoteId ] = useState(actionDef.targetNoteId); const spacedUpdate = useSpacedUpdate(() => bulkAction.saveAction({ relationName, targetNoteId })); useEffect(() => spacedUpdate.scheduleUpdate(), [ relationName, targetNoteId ]); return ( ) } export default class AddRelationBulkAction extends AbstractBulkAction { static get actionName() { return "addRelation"; } static get actionTitle() { return t("add_relation.add_relation"); } doRender() { return } }