@modusoperandi/licit 0.1.7 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +54 -54
- package/.dockerignore +4 -4
- package/.eslintignore +3 -3
- package/.eslintrc.js +80 -80
- package/.flowconfig +37 -37
- package/.github/workflows/build.yml +35 -30
- package/.github/workflows/lint.yml +30 -30
- package/.prettierignore +5 -5
- package/.prettierrc +4 -4
- package/.stylelintignore +1 -1
- package/.stylelintrc.json +13 -13
- package/.travis.yml +18 -18
- package/CODEOWNERS +40 -40
- package/LICENSE +22 -22
- package/README.md +286 -285
- package/build_collab_server.py +7 -7
- package/build_customstyle_server.py +7 -7
- package/build_image_server.py +7 -7
- package/dist/BlockquoteInsertNewLineCommand.js.flow +55 -55
- package/dist/BlockquoteNodeSpec.js +2 -2
- package/dist/BlockquoteNodeSpec.js.flow +30 -30
- package/dist/BlockquoteToggleCommand.js.flow +34 -34
- package/dist/BookmarkNodeSpec.js.flow +39 -39
- package/dist/BulletListNodeSpec.js.flow +61 -61
- package/dist/CZIProseMirror.js +4 -4
- package/dist/CZIProseMirror.js.flow +90 -90
- package/dist/CodeBlockCommand.js.flow +43 -43
- package/dist/CodeBlockNodeSpec.js.flow +24 -24
- package/dist/CodeMarkSpec.js.flow +14 -14
- package/dist/ContentPlaceholderPlugin.js.flow +187 -187
- package/dist/CursorPlaceholderPlugin.js +2 -2
- package/dist/CursorPlaceholderPlugin.js.flow +115 -115
- package/dist/DocLayoutCommand.js.flow +94 -94
- package/dist/DocNodeSpec.js +1 -1
- package/dist/DocNodeSpec.js.flow +64 -64
- package/dist/EMMarkSpec.js.flow +14 -14
- package/dist/EditorCommands.js +1 -1
- package/dist/EditorCommands.js.flow +128 -128
- package/dist/EditorKeyMap.js +3 -3
- package/dist/EditorKeyMap.js.flow +187 -187
- package/dist/EditorMarks.js.flow +71 -71
- package/dist/EditorNodes.js.flow +60 -60
- package/dist/EditorPageLayoutPlugin.js.flow +67 -67
- package/dist/EditorPlugins.js.flow +8 -8
- package/dist/EditorSchema.js.flow +12 -12
- package/dist/EditorState.js.flow +7 -7
- package/dist/FontSizeCommand.js.flow +57 -57
- package/dist/FontSizeMarkSpec.js.flow +49 -49
- package/dist/FontTypeCommand.js.flow +100 -100
- package/dist/FontTypeMarkSpec.js +1 -1
- package/dist/FontTypeMarkSpec.js.flow +80 -80
- package/dist/HTMLMutator.js.flow +59 -59
- package/dist/HardBreakNodeSpec.js.flow +15 -15
- package/dist/HeadingCommand.js.flow +51 -51
- package/dist/HeadingNodeSpec.js +2 -2
- package/dist/HeadingNodeSpec.js.flow +54 -54
- package/dist/HistoryRedoCommand.js.flow +20 -20
- package/dist/HistoryUndoCommand.js.flow +20 -20
- package/dist/HorizontalRuleCommand.js.flow +49 -49
- package/dist/HorizontalRuleNodeSpec.js.flow +39 -39
- package/dist/ImageFromURLCommand.js.flow +14 -14
- package/dist/ImageNodeSpec.js.flow +90 -90
- package/dist/ImageSourceCommand.js.flow +117 -117
- package/dist/ImageUploadCommand.js.flow +36 -36
- package/dist/ImageUploadPlaceholderPlugin.js +1 -1
- package/dist/ImageUploadPlaceholderPlugin.js.flow +192 -192
- package/dist/IndentCommand.js.flow +41 -41
- package/dist/LinkMarkSpec.js.flow +32 -32
- package/dist/LinkSetURLCommand.js.flow +103 -103
- package/dist/LinkTooltipPlugin.js.flow +203 -203
- package/dist/ListItemInsertNewLineCommand.js.flow +55 -55
- package/dist/ListItemMergeCommand.js.flow +177 -177
- package/dist/ListItemNodeSpec.js.flow +51 -51
- package/dist/ListSplitCommand.js.flow +32 -32
- package/dist/ListToggleCommand.js +1 -1
- package/dist/ListToggleCommand.js.flow +77 -77
- package/dist/MarkNames.js +1 -1
- package/dist/MarkNames.js.flow +18 -18
- package/dist/MarkToggleCommand.js.flow +66 -66
- package/dist/MarksClearCommand.js.flow +42 -42
- package/dist/MathEditCommand.js.flow +110 -110
- package/dist/MathNodeSpec.js.flow +46 -46
- package/dist/NodeNames.js.flow +23 -23
- package/dist/OrderedListNodeSpec.js.flow +132 -132
- package/dist/ParagraphNodeSpec.js +2 -1
- package/dist/ParagraphNodeSpec.js.flow +160 -160
- package/dist/ParagraphSpacingCommand.js +3 -3
- package/dist/ParagraphSpacingCommand.js.flow +121 -121
- package/dist/PrintCommand.js.flow +31 -31
- package/dist/SelectionPlaceholderPlugin.js +2 -2
- package/dist/SelectionPlaceholderPlugin.js.flow +131 -131
- package/dist/SpacerMarkSpec.js +1 -1
- package/dist/SpacerMarkSpec.js.flow +47 -47
- package/dist/StrikeMarkSpec.js.flow +21 -21
- package/dist/StrongMarkSpec.js.flow +25 -25
- package/dist/StyleView.js.flow +19 -19
- package/dist/TableBackgroundColorCommand.js.flow +75 -75
- package/dist/TableBorderColorCommand.js.flow +75 -75
- package/dist/TableCellColorCommand.js.flow +71 -71
- package/dist/TableCellMenuPlugin.js.flow +125 -125
- package/dist/TableInsertCommand.js.flow +112 -112
- package/dist/TableMergeCellsCommand.js.flow +90 -90
- package/dist/TableNodesSpecs.js.flow +78 -78
- package/dist/TablePlugins.js.flow +14 -14
- package/dist/TableResizePlugin.js +2 -2
- package/dist/TableResizePlugin.js.flow +631 -631
- package/dist/TextAlignCommand.js +3 -3
- package/dist/TextAlignCommand.js.flow +122 -122
- package/dist/TextColorCommand.js.flow +87 -87
- package/dist/TextColorMarkSpec.js.flow +35 -35
- package/dist/TextHighlightCommand.js.flow +91 -91
- package/dist/TextHighlightMarkSpec.js.flow +38 -38
- package/dist/TextInsertTabSpaceCommand.js.flow +83 -83
- package/dist/TextLineSpacingCommand.js +3 -3
- package/dist/TextLineSpacingCommand.js.flow +157 -157
- package/dist/TextNoWrapMarkSpec.js.flow +14 -14
- package/dist/TextNodeSpec.js.flow +7 -7
- package/dist/TextSelectionMarkSpec.js.flow +24 -24
- package/dist/TextSubMarkSpec.js.flow +20 -20
- package/dist/TextSuperMarkSpec.js.flow +20 -20
- package/dist/TextUnderlineMarkSpec.js.flow +27 -27
- package/dist/Types.js +1 -1
- package/dist/Types.js.flow +75 -75
- package/dist/WebFontLoader.js.flow +22 -22
- package/dist/applyMark.js.flow +61 -61
- package/dist/blockQuoteInputRule.js.flow +36 -36
- package/dist/bom.xml +3710 -4585
- package/dist/browser.js.flow +7 -7
- package/dist/buildEditorPlugins.js.flow +51 -51
- package/dist/buildInputRules.js.flow +81 -81
- package/dist/clearMarks.js +1 -1
- package/dist/clearMarks.js.flow +128 -128
- package/dist/client/CollabConnector.js +2 -2
- package/dist/client/CollabConnector.js.flow +71 -70
- package/dist/client/EditorConnection.js.flow +307 -307
- package/dist/client/Licit.js +167 -83
- package/dist/client/Licit.js.flow +578 -491
- package/dist/client/Licit.test.js +16 -15
- package/dist/client/Licit.test.js.flow +67 -65
- package/dist/client/Reporter.js.flow +37 -37
- package/dist/client/SimpleConnector.js +1 -1
- package/dist/client/SimpleConnector.js.flow +53 -53
- package/dist/client/http.js +3 -3
- package/dist/client/http.js.flow +66 -66
- package/dist/client/licit.css +12 -12
- package/dist/client/throttle.js.flow +27 -27
- package/dist/compareNumber.js.flow +11 -11
- package/dist/consolidateListNodes.js +29 -29
- package/dist/consolidateListNodes.js.flow +281 -281
- package/dist/convertFromDOMElement.js.flow +36 -36
- package/dist/convertFromHTML.js.flow +19 -19
- package/dist/convertFromJSON.js.flow +78 -78
- package/dist/convertToCSSPTValue.js +1 -1
- package/dist/convertToCSSPTValue.js.flow +22 -22
- package/dist/convertToJSON.js.flow +7 -7
- package/dist/createCommand.js.flow +40 -40
- package/dist/createEditorKeyMap.js.flow +94 -94
- package/dist/createEmptyEditorState.js +4 -7
- package/dist/createEmptyEditorState.js.flow +35 -41
- package/dist/createTableResizingPlugin.js.flow +86 -86
- package/dist/findActionableCell.js.flow +74 -74
- package/dist/findActiveMark.js.flow +32 -32
- package/dist/findNodesWithSameMark.js.flow +89 -89
- package/dist/hyphenize.js.flow +17 -17
- package/dist/index.js +16 -16
- package/dist/index.js.flow +10 -10
- package/dist/insertTable.js.flow +56 -56
- package/dist/isBulletListNode.js.flow +9 -9
- package/dist/isEditorStateEmpty.js.flow +32 -32
- package/dist/isInsideListItem.js.flow +13 -13
- package/dist/isListNode.js.flow +13 -13
- package/dist/isNodeSelectionForNodeType.js.flow +15 -15
- package/dist/isOrderedListNode.js.flow +9 -9
- package/dist/isTableNode.js.flow +15 -15
- package/dist/isTextStyleMarkCommandEnabled.js.flow +49 -49
- package/dist/joinDown.js.flow +27 -27
- package/dist/joinListNode.js.flow +55 -55
- package/dist/joinUp.js.flow +39 -39
- package/dist/keymaps.js +2 -2
- package/dist/keymaps.js.flow +185 -185
- package/dist/lookUpElement.js.flow +14 -14
- package/dist/nodeAt.js.flow +12 -12
- package/dist/noop.js.flow +5 -5
- package/dist/normalizeHTML.js.flow +78 -78
- package/dist/patchAnchorElements.js.flow +38 -38
- package/dist/patchBreakElements.js.flow +22 -22
- package/dist/patchElementInlineStyles.js.flow +92 -92
- package/dist/patchListElements.js.flow +276 -276
- package/dist/patchMathElements.js.flow +60 -60
- package/dist/patchParagraphElements.js.flow +20 -20
- package/dist/patchStyleElements.js +1 -1
- package/dist/patchStyleElements.js.flow +194 -194
- package/dist/patchTableElements.js.flow +89 -89
- package/dist/rebaseDocWithSteps.js.flow +42 -42
- package/dist/sanitizeURL.js.flow +13 -13
- package/dist/splitListItem.js +2 -2
- package/dist/splitListItem.js.flow +191 -191
- package/dist/styles.css +19 -19
- package/dist/styles0.css +29 -29
- package/dist/toClosestFontPtSize.js.flow +22 -22
- package/dist/toSafeHTMLDocument.js.flow +9 -9
- package/dist/toggleBlockquote.js.flow +91 -91
- package/dist/toggleCodeBlock.js.flow +102 -102
- package/dist/toggleHeading.js +2 -2
- package/dist/toggleHeading.js.flow +113 -113
- package/dist/toggleList.js +2 -2
- package/dist/toggleList.js.flow +450 -450
- package/dist/transformAndPreserveTextSelection.js +1 -1
- package/dist/transformAndPreserveTextSelection.js.flow +151 -151
- package/dist/ui/AlertInfo.js +3 -3
- package/dist/ui/AlertInfo.js.flow +64 -64
- package/dist/ui/BookmarkNodeView.js.flow +66 -66
- package/dist/ui/ColorEditor.js.flow +101 -101
- package/dist/ui/CommandButton.js.flow +68 -68
- package/dist/ui/CommandMenu.js.flow +75 -75
- package/dist/ui/CommandMenuButton.js +2 -2
- package/dist/ui/CommandMenuButton.js.flow +131 -131
- package/dist/ui/CustomButton.js +3 -1
- package/dist/ui/CustomButton.js.flow +33 -33
- package/dist/ui/CustomEditorView.js.flow +28 -28
- package/dist/ui/CustomMenu.js.flow +17 -17
- package/dist/ui/CustomMenuItem.js.flow +36 -36
- package/dist/ui/CustomNodeView.js +3 -3
- package/dist/ui/CustomNodeView.js.flow +200 -200
- package/dist/ui/CustomRadioButton.js +3 -1
- package/dist/ui/CustomRadioButton.js.flow +65 -65
- package/dist/ui/DocLayoutEditor.js +1 -1
- package/dist/ui/DocLayoutEditor.js.flow +146 -146
- package/dist/ui/Editor.js +1 -2
- package/dist/ui/Editor.js.flow +290 -291
- package/dist/ui/EditorFrameset.js +1 -1
- package/dist/ui/EditorFrameset.js.flow +81 -81
- package/dist/ui/EditorToolbar.js +2 -2
- package/dist/ui/EditorToolbar.js.flow +211 -211
- package/dist/ui/EditorToolbarConfig.js +1 -1
- package/dist/ui/EditorToolbarConfig.js.flow +172 -172
- package/dist/ui/FontSizeCommandMenuButton.js.flow +66 -66
- package/dist/ui/FontTypeCommandMenuButton.js.flow +49 -49
- package/dist/ui/Frag.js.flow +13 -13
- package/dist/ui/Icon.js.flow +89 -89
- package/dist/ui/ImageAlignEditor.js +1 -1
- package/dist/ui/ImageAlignEditor.js.flow +60 -60
- package/dist/ui/ImageInlineEditor.js +1 -1
- package/dist/ui/ImageInlineEditor.js.flow +67 -67
- package/dist/ui/ImageNodeView.js +3 -13
- package/dist/ui/ImageNodeView.js.flow +404 -416
- package/dist/ui/ImageResizeBox.js +1 -1
- package/dist/ui/ImageResizeBox.js.flow +219 -219
- package/dist/ui/ImageURLEditor.js +2 -2
- package/dist/ui/ImageURLEditor.js.flow +119 -119
- package/dist/ui/ImageUploadEditor.js.flow +117 -117
- package/dist/ui/KeyCodes.js.flow +12 -12
- package/dist/ui/LinkTooltip.js.flow +85 -85
- package/dist/ui/LinkURLEditor.js.flow +111 -111
- package/dist/ui/ListItemNodeView.js.flow +98 -98
- package/dist/ui/ListTypeButton.js +2 -2
- package/dist/ui/ListTypeButton.js.flow +131 -131
- package/dist/ui/ListTypeCommandButton.js.flow +85 -85
- package/dist/ui/ListTypeMenu.js.flow +70 -70
- package/dist/ui/LoadingIndicator.js.flow +20 -20
- package/dist/ui/MathEditor.js.flow +78 -78
- package/dist/ui/MathInlineEditor.js +3 -3
- package/dist/ui/MathInlineEditor.js.flow +102 -102
- package/dist/ui/MathNodeView.js +2 -2
- package/dist/ui/MathNodeView.js.flow +175 -175
- package/dist/ui/PasteMenu.js.flow +57 -57
- package/dist/ui/PointerSurface.js +1 -1
- package/dist/ui/PointerSurface.js.flow +141 -141
- package/dist/ui/PopUp.js +1 -1
- package/dist/ui/PopUp.js.flow +77 -77
- package/dist/ui/PopUpManager.js +1 -1
- package/dist/ui/PopUpManager.js.flow +213 -213
- package/dist/ui/PopUpPosition.js +3 -3
- package/dist/ui/PopUpPosition.js.flow +104 -104
- package/dist/ui/ResizeObserver.js +1 -1
- package/dist/ui/ResizeObserver.js.flow +106 -106
- package/dist/ui/RichTextEditor.js.flow +133 -133
- package/dist/ui/SelectionObserver.js.flow +134 -134
- package/dist/ui/TableCellMenu.js.flow +38 -38
- package/dist/ui/TableGridSizeEditor.js +1 -1
- package/dist/ui/TableGridSizeEditor.js.flow +184 -184
- package/dist/ui/TableNodeView.js.flow +22 -22
- package/dist/ui/TooltipSurface.js.flow +76 -76
- package/dist/ui/bindScrollHandler.js.flow +46 -46
- package/dist/ui/canUseCSSFont.js.flow +43 -43
- package/dist/ui/clamp.js.flow +11 -11
- package/dist/ui/createPopUp.js +1 -1
- package/dist/ui/createPopUp.js.flow +205 -205
- package/dist/ui/czi-animations.css +15 -15
- package/dist/ui/czi-body-layout-editor.css +16 -16
- package/dist/ui/czi-bookmark-view.css +10 -10
- package/dist/ui/czi-color-editor.css +56 -56
- package/dist/ui/czi-cursor-placeholder.css +36 -36
- package/dist/ui/czi-custom-button.css +93 -93
- package/dist/ui/czi-custom-menu-button.css +18 -18
- package/dist/ui/czi-custom-menu-item.css +30 -30
- package/dist/ui/czi-custom-menu.css +8 -8
- package/dist/ui/czi-custom-radio-button.css +80 -80
- package/dist/ui/czi-custom-scrollbar.css +21 -21
- package/dist/ui/czi-editor-frameset.css +81 -81
- package/dist/ui/czi-editor-toolbar.css +122 -122
- package/dist/ui/czi-editor.css +220 -220
- package/dist/ui/czi-form.css +104 -104
- package/dist/ui/czi-frag.css +3 -3
- package/dist/ui/czi-heading.css +40 -40
- package/dist/ui/czi-icon.css +72 -72
- package/dist/ui/czi-image-resize-box.css +165 -165
- package/dist/ui/czi-image-upload-editor.css +57 -57
- package/dist/ui/czi-image-upload-placeholder.css +50 -50
- package/dist/ui/czi-image-url-editor.css +38 -38
- package/dist/ui/czi-image-view.css +125 -125
- package/dist/ui/czi-indent.css +137 -137
- package/dist/ui/czi-inline-editor.css +20 -20
- package/dist/ui/czi-link-tooltip.css +71 -71
- package/dist/ui/czi-list.css +410 -410
- package/dist/ui/czi-loading-indicator.css +111 -111
- package/dist/ui/czi-math-view.css +62 -62
- package/dist/ui/czi-pop-up.css +32 -32
- package/dist/ui/czi-selection-placeholder.css +24 -24
- package/dist/ui/czi-table-cell-menu.css +14 -14
- package/dist/ui/czi-table-grid-size-editor.css +37 -37
- package/dist/ui/czi-table.css +86 -86
- package/dist/ui/czi-tooltip-surface.css +45 -45
- package/dist/ui/czi-vars.css +46 -46
- package/dist/ui/findActiveFontSize.js.flow +58 -58
- package/dist/ui/findActiveFontType.js +1 -1
- package/dist/ui/findActiveFontType.js.flow +38 -38
- package/dist/ui/fonts.css +471 -471
- package/dist/ui/handleEditorDrop.js.flow +28 -28
- package/dist/ui/handleEditorKeyDown.js.flow +39 -39
- package/dist/ui/handleEditorPaste.js.flow +33 -33
- package/dist/ui/htmlElementToRect.js +1 -1
- package/dist/ui/htmlElementToRect.js.flow +18 -18
- package/dist/ui/icon-font.css +10 -10
- package/dist/ui/injectStyleSheet.js.flow +42 -42
- package/dist/ui/isElementFullyVisible.js.flow +23 -23
- package/dist/ui/isOffline.js.flow +8 -8
- package/dist/ui/isReactClass.js.flow +12 -12
- package/dist/ui/listType.css +21 -21
- package/dist/ui/mathquill-editor/MathQuillEditor.js.flow +159 -159
- package/dist/ui/mathquill-editor/MathQuillEditorSymbols.js +1 -1
- package/dist/ui/mathquill-editor/MathQuillEditorSymbols.js.flow +483 -483
- package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +48 -48
- package/dist/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
- package/dist/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
- package/dist/ui/mathquill-editor/mathquill-import-kludge.js.flow +24 -24
- package/dist/ui/preventEventDefault.js.flow +5 -5
- package/dist/ui/rects.js +3 -3
- package/dist/ui/rects.js.flow +47 -47
- package/dist/ui/renderLaTeXAsHTML.js.flow +46 -46
- package/dist/ui/resolveImage.js +3 -3
- package/dist/ui/resolveImage.js.flow +123 -123
- package/dist/ui/toCSSColor.js +1 -1
- package/dist/ui/toCSSColor.js.flow +51 -51
- package/dist/ui/toCSSLineSpacing.js +1 -1
- package/dist/ui/toCSSLineSpacing.js.flow +82 -82
- package/dist/ui/toHexColor.js.flow +26 -26
- package/dist/ui/uuid.js.flow +9 -9
- package/dist/updateIndentLevel.js +2 -2
- package/dist/updateIndentLevel.js.flow +211 -211
- package/dist/uuid.js.flow +9 -9
- package/flow-typed/@modusoperandilicit-customstyles.js +5 -5
- package/flow-typed/@modusoperandilicit-doc-attrs-step.js +5 -5
- package/flow-typed/@molicit-citation.js +5 -5
- package/flow-typed/create-emotion.js +5 -5
- package/flow-typed/docs-editor.js +3 -3
- package/flow-typed/draft-convert.js +3 -3
- package/flow-typed/draft-js.js +3 -3
- package/flow-typed/flatted.js +5 -5
- package/flow-typed/jquery.js +5 -5
- package/flow-typed/katex.js +6 -6
- package/flow-typed/mathquill.js +5 -5
- package/flow-typed/prosemirror-collab.js +5 -5
- package/flow-typed/prosemirror-commands.js +5 -5
- package/flow-typed/prosemirror-dev-tools.js +5 -5
- package/flow-typed/prosemirror-dropcursor.js +5 -5
- package/flow-typed/prosemirror-gapcursor.js +5 -5
- package/flow-typed/prosemirror-history.js +5 -5
- package/flow-typed/prosemirror-inputrules.js +5 -5
- package/flow-typed/prosemirror-keymap.js +5 -5
- package/flow-typed/prosemirror-model.js +5 -5
- package/flow-typed/prosemirror-state.js +5 -5
- package/flow-typed/prosemirror-tables.js +5 -5
- package/flow-typed/prosemirror-transform.js +5 -5
- package/flow-typed/prosemirror-utils.js +5 -5
- package/flow-typed/prosemirror-view.js +5 -5
- package/flow-typed/resize-observer-polyfill.js +5 -5
- package/flow-typed/uuid.js +5 -5
- package/jest.setup.js +5 -5
- package/licit/client/CustomLicitRuntime.js +95 -95
- package/licit/client/CustomStyleRuntime.js +136 -136
- package/licit/client/index.js +366 -366
- package/licit/index.html +11 -11
- package/licit/server/collab/instance.js +221 -221
- package/licit/server/collab/route.js +69 -69
- package/licit/server/collab/server.js +297 -297
- package/licit/server/collab/start.js +13 -13
- package/licit/server/customstyles/start.js +184 -184
- package/licit/server/image/start.js +58 -58
- package/lint.sh +4 -4
- package/package.json +165 -165
- package/run_collab_server.py +21 -21
- package/run_customstyle_server.py +20 -20
- package/run_image_server.py +20 -20
- package/run_web_server.py +25 -25
- package/scripts/build_bin.js +10 -10
- package/scripts/build_bin.py +103 -103
- package/scripts/ci_check_dist.sh +13 -13
- package/scripts/env.js +6 -6
- package/scripts/webserver.js +35 -35
- package/sonar-project.properties +11 -11
- package/src/BlockquoteInsertNewLineCommand.js +55 -55
- package/src/BlockquoteNodeSpec.js +30 -30
- package/src/BlockquoteToggleCommand.js +34 -34
- package/src/BookmarkNodeSpec.js +39 -39
- package/src/BulletListNodeSpec.js +61 -61
- package/src/CZIProseMirror.js +90 -90
- package/src/CodeBlockCommand.js +43 -43
- package/src/CodeBlockNodeSpec.js +24 -24
- package/src/CodeMarkSpec.js +14 -14
- package/src/ContentPlaceholderPlugin.js +187 -187
- package/src/CursorPlaceholderPlugin.js +115 -115
- package/src/DocLayoutCommand.js +94 -94
- package/src/DocNodeSpec.js +64 -64
- package/src/EMMarkSpec.js +14 -14
- package/src/EditorCommands.js +128 -128
- package/src/EditorKeyMap.js +187 -187
- package/src/EditorMarks.js +71 -71
- package/src/EditorNodes.js +60 -60
- package/src/EditorPageLayoutPlugin.js +67 -67
- package/src/EditorPlugins.js +8 -8
- package/src/EditorSchema.js +12 -12
- package/src/EditorState.js +7 -7
- package/src/FontSizeCommand.js +57 -57
- package/src/FontSizeMarkSpec.js +49 -49
- package/src/FontTypeCommand.js +100 -100
- package/src/FontTypeMarkSpec.js +80 -80
- package/src/HTMLMutator.js +59 -59
- package/src/HardBreakNodeSpec.js +15 -15
- package/src/HeadingCommand.js +51 -51
- package/src/HeadingNodeSpec.js +54 -54
- package/src/HistoryRedoCommand.js +20 -20
- package/src/HistoryUndoCommand.js +20 -20
- package/src/HorizontalRuleCommand.js +49 -49
- package/src/HorizontalRuleNodeSpec.js +39 -39
- package/src/ImageFromURLCommand.js +14 -14
- package/src/ImageNodeSpec.js +90 -90
- package/src/ImageSourceCommand.js +117 -117
- package/src/ImageUploadCommand.js +36 -36
- package/src/ImageUploadPlaceholderPlugin.js +192 -192
- package/src/IndentCommand.js +41 -41
- package/src/LinkMarkSpec.js +32 -32
- package/src/LinkSetURLCommand.js +103 -103
- package/src/LinkTooltipPlugin.js +203 -203
- package/src/ListItemInsertNewLineCommand.js +55 -55
- package/src/ListItemMergeCommand.js +177 -177
- package/src/ListItemNodeSpec.js +51 -51
- package/src/ListSplitCommand.js +32 -32
- package/src/ListToggleCommand.js +77 -77
- package/src/MarkNames.js +18 -18
- package/src/MarkToggleCommand.js +66 -66
- package/src/MarksClearCommand.js +42 -42
- package/src/MathEditCommand.js +110 -110
- package/src/MathNodeSpec.js +46 -46
- package/src/NodeNames.js +23 -23
- package/src/OrderedListNodeSpec.js +132 -132
- package/src/ParagraphNodeSpec.js +160 -160
- package/src/ParagraphSpacingCommand.js +121 -121
- package/src/PrintCommand.js +31 -31
- package/src/SelectionPlaceholderPlugin.js +131 -131
- package/src/SpacerMarkSpec.js +47 -47
- package/src/StrikeMarkSpec.js +21 -21
- package/src/StrongMarkSpec.js +25 -25
- package/src/StyleView.js +19 -19
- package/src/TableBackgroundColorCommand.js +75 -75
- package/src/TableBorderColorCommand.js +75 -75
- package/src/TableCellColorCommand.js +71 -71
- package/src/TableCellMenuPlugin.js +125 -125
- package/src/TableInsertCommand.js +112 -112
- package/src/TableMergeCellsCommand.js +90 -90
- package/src/TableNodesSpecs.js +78 -78
- package/src/TablePlugins.js +14 -14
- package/src/TableResizePlugin.js +631 -631
- package/src/TextAlignCommand.js +122 -122
- package/src/TextColorCommand.js +87 -87
- package/src/TextColorMarkSpec.js +35 -35
- package/src/TextHighlightCommand.js +91 -91
- package/src/TextHighlightMarkSpec.js +38 -38
- package/src/TextInsertTabSpaceCommand.js +83 -83
- package/src/TextLineSpacingCommand.js +157 -157
- package/src/TextNoWrapMarkSpec.js +14 -14
- package/src/TextNodeSpec.js +7 -7
- package/src/TextSelectionMarkSpec.js +24 -24
- package/src/TextSubMarkSpec.js +20 -20
- package/src/TextSuperMarkSpec.js +20 -20
- package/src/TextUnderlineMarkSpec.js +27 -27
- package/src/Types.js +75 -75
- package/src/WebFontLoader.js +22 -22
- package/src/applyMark.js +61 -61
- package/src/blockQuoteInputRule.js +36 -36
- package/src/browser.js +7 -7
- package/src/buildEditorPlugins.js +51 -51
- package/src/buildInputRules.js +81 -81
- package/src/clearMarks.js +128 -128
- package/src/client/CollabConnector.js +71 -70
- package/src/client/EditorConnection.js +307 -307
- package/src/client/Licit.js +578 -491
- package/src/client/Licit.test.js +67 -65
- package/src/client/Reporter.js +37 -37
- package/src/client/SimpleConnector.js +53 -53
- package/src/client/http.js +66 -66
- package/src/client/licit.css +12 -12
- package/src/client/throttle.js +27 -27
- package/src/compareNumber.js +11 -11
- package/src/consolidateListNodes.js +281 -281
- package/src/convertFromDOMElement.js +36 -36
- package/src/convertFromHTML.js +19 -19
- package/src/convertFromJSON.js +78 -78
- package/src/convertToCSSPTValue.js +22 -22
- package/src/convertToJSON.js +7 -7
- package/src/createCommand.js +40 -40
- package/src/createEditorKeyMap.js +94 -94
- package/src/createEmptyEditorState.js +35 -41
- package/src/createTableResizingPlugin.js +86 -86
- package/src/findActionableCell.js +74 -74
- package/src/findActiveMark.js +32 -32
- package/src/findNodesWithSameMark.js +89 -89
- package/src/hyphenize.js +17 -17
- package/src/index.js +10 -10
- package/src/insertTable.js +56 -56
- package/src/isBulletListNode.js +9 -9
- package/src/isEditorStateEmpty.js +32 -32
- package/src/isInsideListItem.js +13 -13
- package/src/isListNode.js +13 -13
- package/src/isNodeSelectionForNodeType.js +15 -15
- package/src/isOrderedListNode.js +9 -9
- package/src/isTableNode.js +15 -15
- package/src/isTextStyleMarkCommandEnabled.js +49 -49
- package/src/joinDown.js +27 -27
- package/src/joinListNode.js +55 -55
- package/src/joinUp.js +39 -39
- package/src/keymaps.js +185 -185
- package/src/lookUpElement.js +14 -14
- package/src/nodeAt.js +12 -12
- package/src/noop.js +5 -5
- package/src/normalizeHTML.js +78 -78
- package/src/patchAnchorElements.js +38 -38
- package/src/patchBreakElements.js +22 -22
- package/src/patchElementInlineStyles.js +92 -92
- package/src/patchListElements.js +276 -276
- package/src/patchMathElements.js +60 -60
- package/src/patchParagraphElements.js +20 -20
- package/src/patchStyleElements.js +194 -194
- package/src/patchTableElements.js +89 -89
- package/src/rebaseDocWithSteps.js +42 -42
- package/src/sanitizeURL.js +13 -13
- package/src/splitListItem.js +191 -191
- package/src/styles.css +19 -19
- package/src/styles0.css +29 -29
- package/src/toClosestFontPtSize.js +22 -22
- package/src/toSafeHTMLDocument.js +9 -9
- package/src/toggleBlockquote.js +91 -91
- package/src/toggleCodeBlock.js +102 -102
- package/src/toggleHeading.js +113 -113
- package/src/toggleList.js +450 -450
- package/src/transformAndPreserveTextSelection.js +151 -151
- package/src/ui/AlertInfo.js +64 -64
- package/src/ui/BookmarkNodeView.js +66 -66
- package/src/ui/ColorEditor.js +101 -101
- package/src/ui/CommandButton.js +68 -68
- package/src/ui/CommandMenu.js +75 -75
- package/src/ui/CommandMenuButton.js +131 -131
- package/src/ui/CustomButton.js +33 -33
- package/src/ui/CustomEditorView.js +28 -28
- package/src/ui/CustomMenu.js +17 -17
- package/src/ui/CustomMenuItem.js +36 -36
- package/src/ui/CustomNodeView.js +200 -200
- package/src/ui/CustomRadioButton.js +65 -65
- package/src/ui/DocLayoutEditor.js +146 -146
- package/src/ui/Editor.js +290 -291
- package/src/ui/EditorFrameset.js +81 -81
- package/src/ui/EditorToolbar.js +211 -211
- package/src/ui/EditorToolbarConfig.js +172 -172
- package/src/ui/FontSizeCommandMenuButton.js +66 -66
- package/src/ui/FontTypeCommandMenuButton.js +49 -49
- package/src/ui/Frag.js +13 -13
- package/src/ui/Icon.js +89 -89
- package/src/ui/ImageAlignEditor.js +60 -60
- package/src/ui/ImageInlineEditor.js +67 -67
- package/src/ui/ImageNodeView.js +404 -416
- package/src/ui/ImageResizeBox.js +219 -219
- package/src/ui/ImageURLEditor.js +119 -119
- package/src/ui/ImageUploadEditor.js +117 -117
- package/src/ui/KeyCodes.js +12 -12
- package/src/ui/LinkTooltip.js +85 -85
- package/src/ui/LinkURLEditor.js +111 -111
- package/src/ui/ListItemNodeView.js +98 -98
- package/src/ui/ListTypeButton.js +131 -131
- package/src/ui/ListTypeCommandButton.js +85 -85
- package/src/ui/ListTypeMenu.js +70 -70
- package/src/ui/LoadingIndicator.js +20 -20
- package/src/ui/MathEditor.js +78 -78
- package/src/ui/MathInlineEditor.js +102 -102
- package/src/ui/MathNodeView.js +175 -175
- package/src/ui/PasteMenu.js +57 -57
- package/src/ui/PointerSurface.js +141 -141
- package/src/ui/PopUp.js +77 -77
- package/src/ui/PopUpManager.js +213 -213
- package/src/ui/PopUpPosition.js +104 -104
- package/src/ui/ResizeObserver.js +106 -106
- package/src/ui/RichTextEditor.js +133 -133
- package/src/ui/SelectionObserver.js +134 -134
- package/src/ui/TableCellMenu.js +38 -38
- package/src/ui/TableGridSizeEditor.js +184 -184
- package/src/ui/TableNodeView.js +22 -22
- package/src/ui/TooltipSurface.js +76 -76
- package/src/ui/bindScrollHandler.js +46 -46
- package/src/ui/canUseCSSFont.js +43 -43
- package/src/ui/clamp.js +11 -11
- package/src/ui/createPopUp.js +205 -205
- package/src/ui/czi-animations.css +15 -15
- package/src/ui/czi-body-layout-editor.css +16 -16
- package/src/ui/czi-bookmark-view.css +10 -10
- package/src/ui/czi-color-editor.css +56 -56
- package/src/ui/czi-cursor-placeholder.css +36 -36
- package/src/ui/czi-custom-button.css +93 -93
- package/src/ui/czi-custom-menu-button.css +18 -18
- package/src/ui/czi-custom-menu-item.css +30 -30
- package/src/ui/czi-custom-menu.css +8 -8
- package/src/ui/czi-custom-radio-button.css +80 -80
- package/src/ui/czi-custom-scrollbar.css +21 -21
- package/src/ui/czi-editor-frameset.css +81 -81
- package/src/ui/czi-editor-toolbar.css +122 -122
- package/src/ui/czi-editor.css +220 -220
- package/src/ui/czi-form.css +104 -104
- package/src/ui/czi-frag.css +3 -3
- package/src/ui/czi-heading.css +40 -40
- package/src/ui/czi-icon.css +72 -72
- package/src/ui/czi-image-resize-box.css +165 -165
- package/src/ui/czi-image-upload-editor.css +57 -57
- package/src/ui/czi-image-upload-placeholder.css +50 -50
- package/src/ui/czi-image-url-editor.css +38 -38
- package/src/ui/czi-image-view.css +125 -125
- package/src/ui/czi-indent.css +137 -137
- package/src/ui/czi-inline-editor.css +20 -20
- package/src/ui/czi-link-tooltip.css +71 -71
- package/src/ui/czi-list.css +410 -410
- package/src/ui/czi-loading-indicator.css +111 -111
- package/src/ui/czi-math-view.css +62 -62
- package/src/ui/czi-pop-up.css +32 -32
- package/src/ui/czi-selection-placeholder.css +24 -24
- package/src/ui/czi-table-cell-menu.css +14 -14
- package/src/ui/czi-table-grid-size-editor.css +37 -37
- package/src/ui/czi-table.css +86 -86
- package/src/ui/czi-tooltip-surface.css +45 -45
- package/src/ui/czi-vars.css +46 -46
- package/src/ui/findActiveFontSize.js +58 -58
- package/src/ui/findActiveFontType.js +38 -38
- package/src/ui/fonts.css +471 -471
- package/src/ui/handleEditorDrop.js +28 -28
- package/src/ui/handleEditorKeyDown.js +39 -39
- package/src/ui/handleEditorPaste.js +33 -33
- package/src/ui/htmlElementToRect.js +18 -18
- package/src/ui/icon-font.css +10 -10
- package/src/ui/injectStyleSheet.js +42 -42
- package/src/ui/isElementFullyVisible.js +23 -23
- package/src/ui/isOffline.js +8 -8
- package/src/ui/isReactClass.js +12 -12
- package/src/ui/listType.css +21 -21
- package/src/ui/mathquill-editor/MathQuillEditor.js +159 -159
- package/src/ui/mathquill-editor/MathQuillEditorSymbols.js +483 -483
- package/src/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +48 -48
- package/src/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
- package/src/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
- package/src/ui/mathquill-editor/mathquill-import-kludge.js +24 -24
- package/src/ui/preventEventDefault.js +5 -5
- package/src/ui/rects.js +47 -47
- package/src/ui/renderLaTeXAsHTML.js +46 -46
- package/src/ui/resolveImage.js +123 -123
- package/src/ui/toCSSColor.js +51 -51
- package/src/ui/toCSSLineSpacing.js +82 -82
- package/src/ui/toHexColor.js +26 -26
- package/src/ui/uuid.js +9 -9
- package/src/updateIndentLevel.js +211 -211
- package/src/uuid.js +9 -9
- package/style-service.Dockerfile +26 -26
- package/utils/build_bin.js +9 -9
- package/utils/build_customstyle_server.js +71 -71
- package/utils/build_image_server.js +71 -71
- package/utils/build_licit_collab_server.js +75 -75
- package/utils/build_web_server.js +40 -40
- package/utils/env.js +6 -6
- package/webpack.config.js +126 -126
package/dist/client/Licit.js
CHANGED
|
@@ -15,6 +15,10 @@ var _prosemirrorView = require("prosemirror-view");
|
|
|
15
15
|
|
|
16
16
|
var React = _interopRequireWildcard(require("react"));
|
|
17
17
|
|
|
18
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
19
|
+
|
|
20
|
+
var _flatted = require("flatted");
|
|
21
|
+
|
|
18
22
|
var _convertFromJSON = _interopRequireDefault(require("../convertFromJSON"));
|
|
19
23
|
|
|
20
24
|
var _RichTextEditor = _interopRequireDefault(require("../ui/RichTextEditor"));
|
|
@@ -55,30 +59,30 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
55
59
|
|
|
56
60
|
const ATTR_OBJID = 'objectId';
|
|
57
61
|
const ATTR_OBJMETADATA = 'objectMetaData';
|
|
58
|
-
/**
|
|
59
|
-
* LICIT properties:
|
|
60
|
-
* docID {string} [] Collaborative Doument ID
|
|
61
|
-
* collabServiceURL {string} [/collaboration-service] Collaboration Service URL
|
|
62
|
-
* debug {boolean} [false] To enable/disable ProseMirror Debug Tools, available only in development.
|
|
63
|
-
* width {string} [100%] Width of the editor.
|
|
64
|
-
* height {string} [100%] Height of the editor.
|
|
65
|
-
* readOnly {boolean} [false] To enable/disable editing mode.
|
|
66
|
-
* onChange {@callback} [null] Fires after each significant change.
|
|
67
|
-
* @param data {JSON} Modified document data.
|
|
68
|
-
* onReady {@callback} [null] Fires when the editor is fully ready.
|
|
69
|
-
* @param ref {LICIT} Rerefence of the editor.
|
|
70
|
-
* data {JSON} [null] Document data to be loaded into the editor.
|
|
71
|
-
* disabled {boolean} [false] Disable the editor.
|
|
72
|
-
* embedded {boolean} [false] Disable/Enable inline behaviour.
|
|
73
|
-
* plugins [plugins] External Plugins into the editor.
|
|
62
|
+
/**
|
|
63
|
+
* LICIT properties:
|
|
64
|
+
* docID {string} [] Collaborative Doument ID
|
|
65
|
+
* collabServiceURL {string} [/collaboration-service] Collaboration Service URL
|
|
66
|
+
* debug {boolean} [false] To enable/disable ProseMirror Debug Tools, available only in development.
|
|
67
|
+
* width {string} [100%] Width of the editor.
|
|
68
|
+
* height {string} [100%] Height of the editor.
|
|
69
|
+
* readOnly {boolean} [false] To enable/disable editing mode.
|
|
70
|
+
* onChange {@callback} [null] Fires after each significant change.
|
|
71
|
+
* @param data {JSON} Modified document data.
|
|
72
|
+
* onReady {@callback} [null] Fires when the editor is fully ready.
|
|
73
|
+
* @param ref {LICIT} Rerefence of the editor.
|
|
74
|
+
* data {JSON} [null] Document data to be loaded into the editor.
|
|
75
|
+
* disabled {boolean} [false] Disable the editor.
|
|
76
|
+
* embedded {boolean} [false] Disable/Enable inline behaviour.
|
|
77
|
+
* plugins [plugins] External Plugins into the editor.
|
|
74
78
|
*/
|
|
75
79
|
|
|
76
80
|
class Licit extends React.Component {
|
|
77
81
|
// This will be handy in updating document's content.
|
|
78
82
|
// Flag to decide whether to skip shouldComponentUpdate
|
|
79
83
|
|
|
80
|
-
/**
|
|
81
|
-
* Provides access to prosemirror view.
|
|
84
|
+
/**
|
|
85
|
+
* Provides access to prosemirror view.
|
|
82
86
|
*/
|
|
83
87
|
get editorView() {
|
|
84
88
|
return this._editorView;
|
|
@@ -104,21 +108,25 @@ class Licit extends React.Component {
|
|
|
104
108
|
|
|
105
109
|
_defineProperty(this, "_defaultEditorPlugins", void 0);
|
|
106
110
|
|
|
111
|
+
_defineProperty(this, "_devTools", void 0);
|
|
112
|
+
|
|
113
|
+
_defineProperty(this, "_applyDevTools", void 0);
|
|
114
|
+
|
|
107
115
|
_defineProperty(this, "_popUp", null);
|
|
108
116
|
|
|
109
117
|
_defineProperty(this, "setContent", function () {
|
|
110
118
|
let content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
111
|
-
|
|
119
|
+
// [FS] IRAD-1571 2021-09-27
|
|
120
|
+
// dispatch a transaction that MUST start from the view�s current state;
|
|
121
|
+
const editorState = _this._editorView.state;
|
|
112
122
|
const {
|
|
113
123
|
doc,
|
|
114
124
|
schema
|
|
115
|
-
} =
|
|
116
|
-
|
|
125
|
+
} = editorState;
|
|
117
126
|
let {
|
|
118
127
|
tr
|
|
119
|
-
} =
|
|
120
|
-
|
|
121
|
-
const document = content ? schema.nodeFromJSON(content) : schema.nodeFromJSON(_createEmptyEditorState.EMPTY_DOC_JSON);
|
|
128
|
+
} = editorState;
|
|
129
|
+
const document = schema.nodeFromJSON(content ? content : _createEmptyEditorState.EMPTY_DOC_JSON);
|
|
122
130
|
|
|
123
131
|
const selection = _prosemirrorState.TextSelection.create(doc, 0, doc.content.size);
|
|
124
132
|
|
|
@@ -136,10 +144,10 @@ class Licit extends React.Component {
|
|
|
136
144
|
const {
|
|
137
145
|
transaction
|
|
138
146
|
} = data;
|
|
139
|
-
/*
|
|
140
|
-
** ProseMirror Debug Tool's Snapshot creates a new state and sets that to editor view's state.
|
|
141
|
-
** This results in the connector's state as an orphan and thus transaction mismatch error.
|
|
142
|
-
** To resolve check and update the connector's state to keep in sync.
|
|
147
|
+
/*
|
|
148
|
+
** ProseMirror Debug Tool's Snapshot creates a new state and sets that to editor view's state.
|
|
149
|
+
** This results in the connector's state as an orphan and thus transaction mismatch error.
|
|
150
|
+
** To resolve check and update the connector's state to keep in sync.
|
|
143
151
|
*/
|
|
144
152
|
|
|
145
153
|
if (this._editorView) {
|
|
@@ -165,14 +173,7 @@ class Licit extends React.Component {
|
|
|
165
173
|
|
|
166
174
|
if (transaction.docChanged) {
|
|
167
175
|
const docJson = transaction.doc.toJSON();
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
if (docJson.content && docJson.content.length === 1) {
|
|
171
|
-
if (!docJson.content[0].content || docJson.content[0].content && docJson.content[0].content[0].text && '' === docJson.content[0].content[0].text.trim()) {
|
|
172
|
-
isEmpty = true;
|
|
173
|
-
}
|
|
174
|
-
} // setCFlags is/was always the opposite of isEmpty.
|
|
175
|
-
|
|
176
|
+
const isEmpty = this.isDocEmpty(docJson); // setCFlags is/was always the opposite of isEmpty.
|
|
176
177
|
|
|
177
178
|
if (isEmpty) {
|
|
178
179
|
this.resetCounters(transaction);
|
|
@@ -198,28 +199,36 @@ class Licit extends React.Component {
|
|
|
198
199
|
} = editorView;
|
|
199
200
|
this._editorView = editorView;
|
|
200
201
|
const tr = state.tr;
|
|
201
|
-
const doc = state.doc;
|
|
202
|
-
const trx = tr.setSelection(_prosemirrorState.TextSelection.create(doc, 0, doc.content.size));
|
|
203
|
-
dispatch(trx.scrollIntoView());
|
|
204
|
-
editorView.focus();
|
|
202
|
+
const doc = state.doc; // [FS] IRAD-1710 2022-03-04
|
|
205
203
|
|
|
206
|
-
if (this.
|
|
207
|
-
|
|
208
|
-
|
|
204
|
+
if (!this.isDocEmpty(doc.toJSON())) {
|
|
205
|
+
const trx = tr.setSelection(_prosemirrorState.TextSelection.create(doc, 0, doc.content.size));
|
|
206
|
+
dispatch(trx.scrollIntoView());
|
|
207
|
+
} // [FS] IRAD-1578 2021-09-27
|
|
208
|
+
// In collab mode, fire onRead only after getting the response from collab server.
|
|
209
209
|
|
|
210
|
-
if (this.state.debug) {
|
|
211
|
-
// import dynamically
|
|
212
|
-
Promise.resolve().then(() => _interopRequireWildcard(require('prosemirror-dev-tools'))).then(prosemirrorDevTools => {
|
|
213
|
-
window.debugProseMirror = () => {
|
|
214
|
-
prosemirrorDevTools.applyDevTools(editorView);
|
|
215
|
-
};
|
|
216
210
|
|
|
217
|
-
|
|
218
|
-
|
|
211
|
+
if (this.state.onReadyCB && this.state.docID === '') {
|
|
212
|
+
editorView.focus();
|
|
213
|
+
this.state.onReadyCB(this);
|
|
219
214
|
}
|
|
215
|
+
|
|
216
|
+
this.initDevTool(this.state.debug, editorView);
|
|
220
217
|
});
|
|
221
218
|
|
|
222
219
|
_defineProperty(this, "setProps", props => {
|
|
220
|
+
// [FS] IRAD-1571 2021-10-08
|
|
221
|
+
// Since the debug lies outside the editor,
|
|
222
|
+
// any change to debug tool must be refreshed here.
|
|
223
|
+
if (this.state.debug !== props.debug) {
|
|
224
|
+
// change in debug flag.
|
|
225
|
+
if (props.debug) {
|
|
226
|
+
this.initDevTool(true, this._editorView);
|
|
227
|
+
} else {
|
|
228
|
+
this.destroyDevTool();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
223
232
|
if (this.state.readOnly) {
|
|
224
233
|
// It should be possible to load content into the editor in readonly as well.
|
|
225
234
|
// It should not be necessary to make the component writable any time during the process
|
|
@@ -290,7 +299,8 @@ class Licit extends React.Component {
|
|
|
290
299
|
this._connector = collaborative ? new _CollabConnector.default(editorState, setState, {
|
|
291
300
|
docID,
|
|
292
301
|
collabServiceURL
|
|
293
|
-
}, this._defaultEditorSchema, this._defaultEditorPlugins
|
|
302
|
+
}, this._defaultEditorSchema, this._defaultEditorPlugins, // [FS] IRAD-1578 2021-09-27
|
|
303
|
+
this.onReady.bind(this)) : new _SimpleConnector.default(editorState, setState); // FS IRAD-989 2020-18-06
|
|
294
304
|
// updating properties should automatically render the changes
|
|
295
305
|
|
|
296
306
|
this.state = {
|
|
@@ -314,6 +324,19 @@ class Licit extends React.Component {
|
|
|
314
324
|
// Use known editorState to update schema.
|
|
315
325
|
this._connector.updateSchema(editorState.schema);
|
|
316
326
|
}
|
|
327
|
+
} // [FS] IRAD-1578 2021-09-27
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
onReady(state) {
|
|
331
|
+
const collabEditing = this.state.docID !== '';
|
|
332
|
+
|
|
333
|
+
if (collabEditing) {
|
|
334
|
+
this._editorView && this._editorView.focus();
|
|
335
|
+
|
|
336
|
+
if (this.state.onReadyCB) {
|
|
337
|
+
this.state.onReadyCB(this);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
317
340
|
} // [FS] IRAD-1067 2020-09-19
|
|
318
341
|
// Alert funtion to show document is corrupted
|
|
319
342
|
|
|
@@ -403,14 +426,15 @@ class Licit extends React.Component {
|
|
|
403
426
|
// Only interested if properties are set from outside.
|
|
404
427
|
if (!this._skipSCU) {
|
|
405
428
|
this._skipSCU = false;
|
|
406
|
-
let dataChanged = false; //
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
429
|
+
let dataChanged = false; // [FS] IRAD-1571 2021-09-27
|
|
430
|
+
// dispatch a transaction that MUST start from the view�s current state;
|
|
431
|
+
// [FS] IRAD-1589 2021-10-04
|
|
432
|
+
// Do a proper circular JSON comparison.
|
|
433
|
+
|
|
434
|
+
if ((0, _flatted.stringify)(this.state.data) !== (0, _flatted.stringify)(nextState.data)) {
|
|
435
|
+
const editorState = this._editorView.state;
|
|
436
|
+
const nextDoc = editorState.schema.nodeFromJSON(nextState.data ? nextState.data : _createEmptyEditorState.EMPTY_DOC_JSON);
|
|
437
|
+
dataChanged = !nextDoc.eq(editorState.doc);
|
|
414
438
|
}
|
|
415
439
|
|
|
416
440
|
if (dataChanged) {
|
|
@@ -421,9 +445,7 @@ class Licit extends React.Component {
|
|
|
421
445
|
if (this.state.docID !== nextState.docID) {
|
|
422
446
|
// Collaborative mode changed
|
|
423
447
|
const collabEditing = nextState.docID !== '';
|
|
424
|
-
|
|
425
|
-
const editorState = this._connector.getState();
|
|
426
|
-
|
|
448
|
+
const editorState = this._editorView.state;
|
|
427
449
|
const setState = this.setState.bind(this);
|
|
428
450
|
const docID = nextState.docID || '';
|
|
429
451
|
const collabServiceURL = nextState.collabServiceURL || '/collaboration-service'; // create new connector
|
|
@@ -431,7 +453,8 @@ class Licit extends React.Component {
|
|
|
431
453
|
this._connector = collabEditing ? new _CollabConnector.default(editorState, setState, {
|
|
432
454
|
docID,
|
|
433
455
|
collabServiceURL
|
|
434
|
-
}, this._defaultEditorSchema, this._defaultEditorPlugins
|
|
456
|
+
}, this._defaultEditorSchema, this._defaultEditorPlugins, // [FS] IRAD-1578 2021-09-27
|
|
457
|
+
this.onReady.bind(this)) : new _SimpleConnector.default(editorState, setState);
|
|
435
458
|
}
|
|
436
459
|
}
|
|
437
460
|
|
|
@@ -464,8 +487,22 @@ class Licit extends React.Component {
|
|
|
464
487
|
});
|
|
465
488
|
}
|
|
466
489
|
|
|
467
|
-
|
|
490
|
+
isDocEmpty(docJson) {
|
|
491
|
+
let isEmpty = false;
|
|
492
|
+
|
|
493
|
+
if (docJson.content && docJson.content.length === 1) {
|
|
494
|
+
if (!docJson.content[0].content || docJson.content[0].content && // [FS] IRAD-1710 2022-03-04
|
|
495
|
+
// Empty if no content OR when the one & only text content is empty.
|
|
496
|
+
1 === docJson.content[0].content.length && 'text' === docJson.content[0].content[0].type && docJson.content[0].content[0].text && '' === docJson.content[0].content[0].text) {
|
|
497
|
+
isEmpty = true;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
return isEmpty;
|
|
502
|
+
} // [FS] IRAD-1173 2021-02-25
|
|
468
503
|
// Bug fix: Transaction mismatch error when a dialog is opened and keep typing.
|
|
504
|
+
|
|
505
|
+
|
|
469
506
|
closeOpenedPopupModels() {
|
|
470
507
|
const element = document.getElementsByClassName('czi-pop-up-element')[0];
|
|
471
508
|
|
|
@@ -474,29 +511,76 @@ class Licit extends React.Component {
|
|
|
474
511
|
}
|
|
475
512
|
}
|
|
476
513
|
|
|
477
|
-
|
|
514
|
+
initDevTool(debug, editorView) {
|
|
515
|
+
// [FS] IRAD-1575 2021-09-27
|
|
516
|
+
if (debug) {
|
|
517
|
+
if (!this._devTools) {
|
|
518
|
+
this._devTools = new Promise(async (resolve, reject) => {
|
|
519
|
+
try {
|
|
520
|
+
// Method is exported as both the default and named, Using named
|
|
521
|
+
// for clarity and future proofing.
|
|
522
|
+
const {
|
|
523
|
+
applyDevTools
|
|
524
|
+
} = await Promise.resolve().then(() => _interopRequireWildcard(require('prosemirror-dev-tools'))); // got the pm dev tools instance.
|
|
525
|
+
|
|
526
|
+
this._applyDevTools = applyDevTools; // Attach debug tools to current editor instance.
|
|
527
|
+
|
|
528
|
+
this._applyDevTools(editorView);
|
|
529
|
+
|
|
530
|
+
resolve(() => {
|
|
531
|
+
// [FS] IRAD-1571 2021-10-08
|
|
532
|
+
// Prosemirror Dev Tools handles as if one only instance is used in a page and
|
|
533
|
+
// hence handling removal here gracefully.
|
|
534
|
+
const place = document.querySelector('.'.concat('__prosemirror-dev-tools__'));
|
|
535
|
+
|
|
536
|
+
if (place) {
|
|
537
|
+
_reactDom.default.unmountComponentAtNode(place);
|
|
538
|
+
|
|
539
|
+
place.innerHTML = '';
|
|
540
|
+
}
|
|
541
|
+
});
|
|
542
|
+
} catch (error) {
|
|
543
|
+
reject();
|
|
544
|
+
}
|
|
545
|
+
});
|
|
546
|
+
} // Attach debug tools to current editor instance.
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
if (this._devTools && this._applyDevTools) {
|
|
550
|
+
this._applyDevTools(editorView);
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
destroyDevTool() {
|
|
478
556
|
// [FS] IRAD-1569 2021-09-15
|
|
479
557
|
// Unmount dev tools when component is destroyed,
|
|
480
558
|
// so that toggle effect is not occuring when the document is retrieved each time.
|
|
481
|
-
if (this.
|
|
482
|
-
//
|
|
483
|
-
|
|
559
|
+
if (this._devTools) {
|
|
560
|
+
// Call the applyDevTools method again to trigger DOM removal
|
|
561
|
+
// prosemirror-dev-tools has outstanding pull-requests that affect
|
|
562
|
+
// dom removal. this may need to be addressed once those have been merged.
|
|
563
|
+
this._devTools.then(removeDevTools => removeDevTools());
|
|
484
564
|
}
|
|
485
565
|
}
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
*
|
|
492
|
-
*
|
|
493
|
-
*
|
|
494
|
-
*
|
|
495
|
-
*
|
|
496
|
-
*
|
|
497
|
-
*
|
|
498
|
-
*
|
|
499
|
-
*
|
|
566
|
+
|
|
567
|
+
componentWillUnmount() {
|
|
568
|
+
this.destroyDevTool();
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* LICIT properties:
|
|
572
|
+
* docID {number} [0] Collaborative Doument ID
|
|
573
|
+
* debug {boolean} [false] To enable/disable ProseMirror Debug Tools, available only in development.
|
|
574
|
+
* width {string} [100%] Width of the editor.
|
|
575
|
+
* height {height} [100%] Height of the editor.
|
|
576
|
+
* readOnly {boolean} [false] To enable/disable editing mode.
|
|
577
|
+
* onChange {@callback} [null] Fires after each significant change.
|
|
578
|
+
* @param data {JSON} Modified document data.
|
|
579
|
+
* onReady {@callback} [null] Fires when the editor is fully ready.
|
|
580
|
+
* @param ref {LICIT} Rerefence of the editor.
|
|
581
|
+
* data {JSON} [null] Document data to be loaded into the editor.
|
|
582
|
+
* disabled {boolean} [false] Disable the editor.
|
|
583
|
+
* embedded {boolean} [false] Disable/Enable inline behaviour.
|
|
500
584
|
*/
|
|
501
585
|
|
|
502
586
|
|