From d70c097341fcee2f8d9210c70d74402b84f4e829 Mon Sep 17 00:00:00 2001 From: Ilango Date: Thu, 11 Jan 2024 14:37:10 +0530 Subject: [PATCH] Add a sticky note node under tools --- .../nodes/tools/StickyNotes/StickyNote.ts | 42 ++++++ .../nodes/tools/StickyNotes/stickyNote.svg | 5 + packages/ui/src/views/canvas/CanvasNode.js | 120 +++++++++--------- 3 files changed, 110 insertions(+), 57 deletions(-) create mode 100644 packages/components/nodes/tools/StickyNotes/StickyNote.ts create mode 100644 packages/components/nodes/tools/StickyNotes/stickyNote.svg diff --git a/packages/components/nodes/tools/StickyNotes/StickyNote.ts b/packages/components/nodes/tools/StickyNotes/StickyNote.ts new file mode 100644 index 000000000..0ae980a0c --- /dev/null +++ b/packages/components/nodes/tools/StickyNotes/StickyNote.ts @@ -0,0 +1,42 @@ +import { INode, INodeOutputsValue, INodeParams } from '../../../src/Interface' + +class StickyNote implements INode { + label: string + name: string + version: number + description: string + type: string + icon: string + category: string + baseClasses: string[] + inputs: INodeParams[] + disableOutput: boolean + + constructor() { + this.label = 'Sticky Note' + this.name = 'stickyNote' + this.version = 1.0 + this.type = 'StickyNote' + this.icon = 'stickyNote.svg' + this.category = 'Tools' + this.description = 'Add a note about a node' + this.inputs = [ + { + label: 'Note', + name: 'note', + type: 'string', + rows: 4, + placeholder: 'Input your notes', + optional: true + } + ] + this.disableOutput = true + this.baseClasses = [this.type] + } + + async init(): Promise { + return new StickyNote() + } +} + +module.exports = { nodeClass: StickyNote } diff --git a/packages/components/nodes/tools/StickyNotes/stickyNote.svg b/packages/components/nodes/tools/StickyNotes/stickyNote.svg new file mode 100644 index 000000000..81c45058d --- /dev/null +++ b/packages/components/nodes/tools/StickyNotes/stickyNote.svg @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/packages/ui/src/views/canvas/CanvasNode.js b/packages/ui/src/views/canvas/CanvasNode.js index e52de640c..a039f6d1e 100644 --- a/packages/ui/src/views/canvas/CanvasNode.js +++ b/packages/ui/src/views/canvas/CanvasNode.js @@ -54,6 +54,7 @@ const CanvasNode = ({ data }) => { const [infoDialogProps, setInfoDialogProps] = useState({}) const [warningMessage, setWarningMessage] = useState('') const [open, setOpen] = useState(false) + const isNote = data.type === 'StickyNote' const handleClose = () => { setOpen(false) @@ -150,47 +151,49 @@ const CanvasNode = ({ data }) => { placement='right-start' > -
- -
- Notification -
-
- - - {data.label} - - - {warningMessage && ( - <> -
- {warningMessage}} placement='top'> - - - - - - )} -
- {(data.inputAnchors.length > 0 || data.inputParams.length > 0) && ( + {!isNote && ( +
+ +
+ Notification +
+
+ + + {data.label} + + + {warningMessage && ( + <> +
+ {warningMessage}} placement='top'> + + + + + + )} +
+ )} + {(data.inputAnchors.length > 0 || data.inputParams.length > 0) && !isNote && ( <> @@ -230,22 +233,25 @@ const CanvasNode = ({ data }) => { )} - - - - Output - - - - - {data.outputAnchors.map((outputAnchor, index) => ( - - ))} + {!isNote && ( + <> + + + + Output + + + + {data.outputAnchors.map((outputAnchor, index) => ( + + ))} + + )}