@modusoperandi/licit 0.1.4 → 0.1.8
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 -29
- 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 -284
- 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.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.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.flow +115 -115
- package/dist/DocLayoutCommand.js.flow +94 -94
- package/dist/DocNodeSpec.js.flow +64 -64
- package/dist/EMMarkSpec.js.flow +14 -14
- package/dist/EditorCommands.js.flow +128 -128
- 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 +0 -8
- package/dist/FontSizeCommand.js.flow +57 -73
- package/dist/FontSizeMarkSpec.js.flow +49 -49
- package/dist/FontTypeCommand.js +0 -8
- package/dist/FontTypeCommand.js.flow +100 -116
- 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.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.flow +192 -192
- package/dist/IndentCommand.js +0 -9
- package/dist/IndentCommand.js.flow +41 -54
- 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 +3 -45
- package/dist/ListToggleCommand.js.flow +77 -117
- package/dist/MarkNames.js +2 -4
- package/dist/MarkNames.js.flow +18 -19
- package/dist/MarkToggleCommand.js +3 -114
- package/dist/MarkToggleCommand.js.flow +66 -168
- package/dist/MarksClearCommand.js +1 -18
- package/dist/MarksClearCommand.js.flow +42 -55
- 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 +6 -115
- package/dist/ParagraphNodeSpec.js.flow +160 -250
- package/dist/ParagraphSpacingCommand.js.flow +121 -121
- package/dist/PrintCommand.js.flow +31 -31
- package/dist/SelectionPlaceholderPlugin.js.flow +131 -131
- 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.flow +631 -631
- package/dist/TextAlignCommand.js +0 -8
- package/dist/TextAlignCommand.js.flow +122 -138
- package/dist/TextColorCommand.js +0 -16
- package/dist/TextColorCommand.js.flow +87 -112
- package/dist/TextColorMarkSpec.js.flow +35 -35
- package/dist/TextHighlightCommand.js +0 -12
- package/dist/TextHighlightCommand.js.flow +91 -110
- package/dist/TextHighlightMarkSpec.js.flow +38 -38
- package/dist/TextInsertTabSpaceCommand.js +2 -5
- package/dist/TextInsertTabSpaceCommand.js.flow +83 -85
- 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 +2 -121
- package/dist/Types.js.flow +75 -155
- package/dist/WebFontLoader.js.flow +22 -22
- package/dist/applyMark.js +3 -4
- package/dist/applyMark.js.flow +61 -64
- package/dist/blockQuoteInputRule.js.flow +36 -36
- package/dist/bom.xml +89 -89
- package/dist/browser.js.flow +7 -7
- package/dist/buildEditorPlugins.js +1 -3
- package/dist/buildEditorPlugins.js.flow +51 -53
- package/dist/buildInputRules.js.flow +81 -81
- package/dist/clearMarks.js +2 -5
- package/dist/clearMarks.js.flow +128 -132
- package/dist/client/CollabConnector.js +7 -7
- package/dist/client/CollabConnector.js.flow +71 -75
- package/dist/client/EditorConnection.js.flow +307 -307
- package/dist/client/Licit.js +197 -117
- package/dist/client/Licit.js.flow +562 -495
- package/dist/client/Licit.test.js +3 -57
- package/dist/client/Licit.test.js.flow +65 -120
- package/dist/client/Reporter.js.flow +37 -37
- package/dist/client/SimpleConnector.js.flow +53 -53
- 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 +27 -27
- 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.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.flow +41 -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 +0 -14
- package/dist/index.js.flow +10 -11
- 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.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.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.flow +191 -191
- package/dist/styles.css +19 -21
- package/dist/styles0.css +29 -30
- 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.flow +113 -113
- package/dist/toggleList.js.flow +450 -450
- package/dist/transformAndPreserveTextSelection.js.flow +151 -151
- package/dist/ui/AlertInfo.js +1 -1
- 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.flow +131 -131
- 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 +6 -1
- package/dist/ui/CustomNodeView.js.flow +200 -196
- package/dist/ui/CustomRadioButton.js.flow +65 -65
- package/dist/ui/DocLayoutEditor.js.flow +146 -146
- package/dist/ui/Editor.js.flow +291 -291
- package/dist/ui/EditorFrameset.js.flow +81 -81
- package/dist/ui/EditorToolbar.js.flow +211 -211
- package/dist/ui/EditorToolbarConfig.js +0 -6
- package/dist/ui/EditorToolbarConfig.js.flow +172 -178
- 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.flow +60 -60
- package/dist/ui/ImageInlineEditor.js.flow +67 -67
- package/dist/ui/ImageNodeView.js +1 -10
- package/dist/ui/ImageNodeView.js.flow +404 -414
- package/dist/ui/ImageResizeBox.js.flow +219 -219
- 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.flow +131 -131
- package/dist/ui/ListTypeCommandButton.js +1 -1
- package/dist/ui/ListTypeCommandButton.js.flow +85 -86
- 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.flow +102 -102
- package/dist/ui/MathNodeView.js.flow +175 -175
- package/dist/ui/PasteMenu.js.flow +57 -57
- package/dist/ui/PointerSurface.js.flow +141 -141
- package/dist/ui/PopUp.js.flow +77 -77
- package/dist/ui/PopUpManager.js.flow +213 -213
- package/dist/ui/PopUpPosition.js +0 -0
- package/dist/ui/PopUpPosition.js.flow +104 -104
- 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.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.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 -221
- 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.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.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.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.flow +47 -47
- package/dist/ui/renderLaTeXAsHTML.js.flow +46 -46
- package/dist/ui/resolveImage.js.flow +123 -123
- package/dist/ui/toCSSColor.js.flow +51 -51
- 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 +1 -47
- package/dist/updateIndentLevel.js.flow +211 -260
- package/dist/uuid.js.flow +9 -9
- package/flow-typed/@modusoperandilicit-customstyles.js +5 -0
- 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 -200
- package/licit/client/CustomStyleRuntime.js +136 -0
- package/licit/client/index.js +366 -365
- 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 -296
- 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 -73
- package/src/FontSizeMarkSpec.js +49 -49
- package/src/FontTypeCommand.js +100 -116
- 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 -54
- 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 -117
- package/src/MarkNames.js +18 -19
- package/src/MarkToggleCommand.js +66 -168
- package/src/MarksClearCommand.js +42 -55
- 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 -250
- 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 -138
- package/src/TextColorCommand.js +87 -112
- package/src/TextColorMarkSpec.js +35 -35
- package/src/TextHighlightCommand.js +91 -110
- package/src/TextHighlightMarkSpec.js +38 -38
- package/src/TextInsertTabSpaceCommand.js +83 -85
- 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 -155
- package/src/WebFontLoader.js +22 -22
- package/src/applyMark.js +61 -64
- package/src/blockQuoteInputRule.js +36 -36
- package/src/browser.js +7 -7
- package/src/buildEditorPlugins.js +51 -53
- package/src/buildInputRules.js +81 -81
- package/src/clearMarks.js +128 -132
- package/src/client/CollabConnector.js +71 -75
- package/src/client/EditorConnection.js +307 -307
- package/src/client/Licit.js +562 -495
- package/src/client/Licit.test.js +65 -120
- 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 +41 -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 -11
- 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 -21
- package/src/styles0.css +29 -30
- 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 -196
- package/src/ui/CustomRadioButton.js +65 -65
- package/src/ui/DocLayoutEditor.js +146 -146
- package/src/ui/Editor.js +291 -291
- package/src/ui/EditorFrameset.js +81 -81
- package/src/ui/EditorToolbar.js +211 -211
- package/src/ui/EditorToolbarConfig.js +172 -178
- 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 -414
- 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 -86
- 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 -221
- 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 -260
- 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/CustomStyleCommand.js +0 -1534
- package/dist/CustomStyleCommand.js.flow +0 -1690
- package/dist/StylePlugin.js +0 -533
- package/dist/StylePlugin.js.flow +0 -548
- package/dist/clearCustomStyleMarks.js +0 -43
- package/dist/clearCustomStyleMarks.js.flow +0 -34
- package/dist/customStyle.js +0 -185
- package/dist/customStyle.js.flow +0 -171
- package/dist/ui/CustomMenuButton.js +0 -155
- package/dist/ui/CustomMenuButton.js.flow +0 -129
- package/dist/ui/CustomMenuUI.js +0 -479
- package/dist/ui/CustomMenuUI.js.flow +0 -464
- package/dist/ui/CustomStyleEditor.js +0 -1216
- package/dist/ui/CustomStyleEditor.js.flow +0 -1325
- package/dist/ui/CustomStyleItem.js +0 -164
- package/dist/ui/CustomStyleItem.js.flow +0 -152
- package/dist/ui/CustomStyleSubMenu.js +0 -62
- package/dist/ui/CustomStyleSubMenu.js.flow +0 -54
- package/dist/ui/HeadingCommandMenuButton.js +0 -157
- package/dist/ui/HeadingCommandMenuButton.js.flow +0 -147
- package/dist/ui/custom-dropdown.css +0 -90
- package/dist/ui/custom-style-edit.css +0 -430
- package/dist/ui/czi-cust-style-numbered.css +0 -137
- package/dist/ui/findActiveCustomStyle.js +0 -53
- package/dist/ui/findActiveCustomStyle.js.flow +0 -38
- package/src/CustomStyleCommand.js +0 -1690
- package/src/StylePlugin.js +0 -548
- package/src/clearCustomStyleMarks.js +0 -34
- package/src/customStyle.js +0 -171
- package/src/ui/CustomMenuButton.js +0 -129
- package/src/ui/CustomMenuUI.js +0 -464
- package/src/ui/CustomStyleEditor.js +0 -1325
- package/src/ui/CustomStyleItem.js +0 -152
- package/src/ui/CustomStyleSubMenu.js +0 -54
- package/src/ui/HeadingCommandMenuButton.js +0 -147
- package/src/ui/custom-dropdown.css +0 -90
- package/src/ui/custom-style-edit.css +0 -430
- package/src/ui/czi-cust-style-numbered.css +0 -137
- package/src/ui/findActiveCustomStyle.js +0 -38
package/dist/client/Licit.js
CHANGED
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _prosemirrorDevTools = _interopRequireDefault(require("prosemirror-dev-tools"));
|
|
9
|
-
|
|
10
8
|
var _prosemirrorState = require("prosemirror-state");
|
|
11
9
|
|
|
12
10
|
var _prosemirrorModel = require("prosemirror-model");
|
|
@@ -17,6 +15,10 @@ var _prosemirrorView = require("prosemirror-view");
|
|
|
17
15
|
|
|
18
16
|
var React = _interopRequireWildcard(require("react"));
|
|
19
17
|
|
|
18
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
19
|
+
|
|
20
|
+
var _flatted = require("flatted");
|
|
21
|
+
|
|
20
22
|
var _convertFromJSON = _interopRequireDefault(require("../convertFromJSON"));
|
|
21
23
|
|
|
22
24
|
var _RichTextEditor = _interopRequireDefault(require("../ui/RichTextEditor"));
|
|
@@ -47,39 +49,40 @@ var _EditorNodes = _interopRequireDefault(require("../EditorNodes"));
|
|
|
47
49
|
|
|
48
50
|
var _Types = require("../Types");
|
|
49
51
|
|
|
52
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
53
|
+
|
|
50
54
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
51
55
|
|
|
52
56
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
53
57
|
|
|
54
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
55
|
-
|
|
56
58
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
57
59
|
|
|
58
60
|
const ATTR_OBJID = 'objectId';
|
|
59
61
|
const ATTR_OBJMETADATA = 'objectMetaData';
|
|
60
|
-
/**
|
|
61
|
-
* LICIT properties:
|
|
62
|
-
* docID {
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
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.
|
|
75
78
|
*/
|
|
76
79
|
|
|
77
80
|
class Licit extends React.Component {
|
|
78
81
|
// This will be handy in updating document's content.
|
|
79
82
|
// Flag to decide whether to skip shouldComponentUpdate
|
|
80
83
|
|
|
81
|
-
/**
|
|
82
|
-
* Provides access to prosemirror view.
|
|
84
|
+
/**
|
|
85
|
+
* Provides access to prosemirror view.
|
|
83
86
|
*/
|
|
84
87
|
get editorView() {
|
|
85
88
|
return this._editorView;
|
|
@@ -105,21 +108,25 @@ class Licit extends React.Component {
|
|
|
105
108
|
|
|
106
109
|
_defineProperty(this, "_defaultEditorPlugins", void 0);
|
|
107
110
|
|
|
111
|
+
_defineProperty(this, "_devTools", void 0);
|
|
112
|
+
|
|
113
|
+
_defineProperty(this, "_applyDevTools", void 0);
|
|
114
|
+
|
|
108
115
|
_defineProperty(this, "_popUp", null);
|
|
109
116
|
|
|
110
117
|
_defineProperty(this, "setContent", function () {
|
|
111
118
|
let content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
112
|
-
|
|
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;
|
|
113
122
|
const {
|
|
114
123
|
doc,
|
|
115
124
|
schema
|
|
116
|
-
} =
|
|
117
|
-
|
|
125
|
+
} = editorState;
|
|
118
126
|
let {
|
|
119
127
|
tr
|
|
120
|
-
} =
|
|
121
|
-
|
|
122
|
-
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);
|
|
123
130
|
|
|
124
131
|
const selection = _prosemirrorState.TextSelection.create(doc, 0, doc.content.size);
|
|
125
132
|
|
|
@@ -137,10 +144,10 @@ class Licit extends React.Component {
|
|
|
137
144
|
const {
|
|
138
145
|
transaction
|
|
139
146
|
} = data;
|
|
140
|
-
/*
|
|
141
|
-
** ProseMirror Debug Tool's Snapshot creates a new state and sets that to editor view's state.
|
|
142
|
-
** This results in the connector's state as an orphan and thus transaction mismatch error.
|
|
143
|
-
** 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.
|
|
144
151
|
*/
|
|
145
152
|
|
|
146
153
|
if (this._editorView) {
|
|
@@ -201,23 +208,30 @@ class Licit extends React.Component {
|
|
|
201
208
|
const tr = state.tr;
|
|
202
209
|
const doc = state.doc;
|
|
203
210
|
const trx = tr.setSelection(_prosemirrorState.TextSelection.create(doc, 0, doc.content.size));
|
|
204
|
-
dispatch(trx.scrollIntoView());
|
|
205
|
-
|
|
211
|
+
dispatch(trx.scrollIntoView()); // [FS] IRAD-1578 2021-09-27
|
|
212
|
+
// In collab mode, fire onRead only after getting the response from collab server.
|
|
206
213
|
|
|
207
|
-
if (this.state.onReadyCB) {
|
|
214
|
+
if (this.state.onReadyCB && this.state.docID === '') {
|
|
215
|
+
editorView.focus();
|
|
208
216
|
this.state.onReadyCB(this);
|
|
209
217
|
}
|
|
210
218
|
|
|
211
|
-
|
|
212
|
-
window.debugProseMirror = () => {
|
|
213
|
-
(0, _prosemirrorDevTools.default)(editorView);
|
|
214
|
-
};
|
|
215
|
-
|
|
216
|
-
window.debugProseMirror();
|
|
217
|
-
}
|
|
219
|
+
this.initDevTool(this.state.debug, editorView);
|
|
218
220
|
});
|
|
219
221
|
|
|
220
222
|
_defineProperty(this, "setProps", props => {
|
|
223
|
+
// [FS] IRAD-1571 2021-10-08
|
|
224
|
+
// Since the debug lies outside the editor,
|
|
225
|
+
// any change to debug tool must be refreshed here.
|
|
226
|
+
if (this.state.debug !== props.debug) {
|
|
227
|
+
// change in debug flag.
|
|
228
|
+
if (props.debug) {
|
|
229
|
+
this.initDevTool(true, this._editorView);
|
|
230
|
+
} else {
|
|
231
|
+
this.destroyDevTool();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
221
235
|
if (this.state.readOnly) {
|
|
222
236
|
// It should be possible to load content into the editor in readonly as well.
|
|
223
237
|
// It should not be necessary to make the component writable any time during the process
|
|
@@ -236,31 +250,7 @@ class Licit extends React.Component {
|
|
|
236
250
|
this.setState(props);
|
|
237
251
|
});
|
|
238
252
|
|
|
239
|
-
this.
|
|
240
|
-
loaded: false
|
|
241
|
-
};
|
|
242
|
-
setTimeout(p => this.loadStyles(p), 100, _props);
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Ensures that custom styles are loaded from server before the underlying
|
|
246
|
-
* editor is rendered. This is a band-aid method, and is necessary here
|
|
247
|
-
* because other parts of the editor attempt to use styles synchronously.
|
|
248
|
-
*
|
|
249
|
-
* @param {*} props Editor properties passed to constructor
|
|
250
|
-
*/
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
async loadStyles(props) {
|
|
254
|
-
// Only load styles if there's a method to load them.
|
|
255
|
-
if (props.runtime && props.runtime.getStylesAsync) {
|
|
256
|
-
// Force preload of styles before every editor instance is created.
|
|
257
|
-
await props.runtime.getStylesAsync().catch(error => {
|
|
258
|
-
// Log the failure, but proceed to display editor without any styles.
|
|
259
|
-
console.warn('Failed to load custom styles:', error);
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
this.initialize(props);
|
|
253
|
+
this.initialize(_props);
|
|
264
254
|
}
|
|
265
255
|
|
|
266
256
|
initialize(props) {
|
|
@@ -270,11 +260,16 @@ class Licit extends React.Component {
|
|
|
270
260
|
|
|
271
261
|
const noop = function () {}; // [FS] IRAD-981 2020-06-10
|
|
272
262
|
// Component's configurations.
|
|
263
|
+
// [FS] IRAD-1552 2021-08-26
|
|
264
|
+
// Collaboration server / client should allow string values for document identifiers.
|
|
273
265
|
|
|
274
266
|
|
|
275
|
-
const docID = props.docID ||
|
|
267
|
+
const docID = props.docID || ''; // Empty means collaborative.
|
|
276
268
|
|
|
277
|
-
const collaborative =
|
|
269
|
+
const collaborative = docID !== ''; // [FS] IRAD-1553 2021-08-26
|
|
270
|
+
// Configurable Collaboration Service URL.
|
|
271
|
+
|
|
272
|
+
const collabServiceURL = props.collabServiceURL || '/collaboration-service';
|
|
278
273
|
const debug = props.debug || false; // Default width and height to undefined
|
|
279
274
|
|
|
280
275
|
const width = props.width || undefined;
|
|
@@ -305,13 +300,15 @@ class Licit extends React.Component {
|
|
|
305
300
|
|
|
306
301
|
const setState = this.setState.bind(this);
|
|
307
302
|
this._connector = collaborative ? new _CollabConnector.default(editorState, setState, {
|
|
308
|
-
docID
|
|
309
|
-
|
|
310
|
-
|
|
303
|
+
docID,
|
|
304
|
+
collabServiceURL
|
|
305
|
+
}, this._defaultEditorSchema, this._defaultEditorPlugins, // [FS] IRAD-1578 2021-09-27
|
|
306
|
+
this.onReady.bind(this)) : new _SimpleConnector.default(editorState, setState); // FS IRAD-989 2020-18-06
|
|
311
307
|
// updating properties should automatically render the changes
|
|
312
308
|
|
|
313
|
-
this.
|
|
309
|
+
this.state = {
|
|
314
310
|
docID,
|
|
311
|
+
collabServiceURL,
|
|
315
312
|
data,
|
|
316
313
|
editorState,
|
|
317
314
|
width,
|
|
@@ -322,15 +319,27 @@ class Licit extends React.Component {
|
|
|
322
319
|
debug,
|
|
323
320
|
disabled,
|
|
324
321
|
embedded,
|
|
325
|
-
runtime
|
|
326
|
-
|
|
327
|
-
}); // FS IRAD-1040 2020-26-08
|
|
322
|
+
runtime
|
|
323
|
+
}; // FS IRAD-1040 2020-26-08
|
|
328
324
|
// Get the modified schema from editorstate and send it to collab server
|
|
329
325
|
|
|
330
326
|
if (this._connector.updateSchema) {
|
|
331
327
|
// Use known editorState to update schema.
|
|
332
328
|
this._connector.updateSchema(editorState.schema);
|
|
333
329
|
}
|
|
330
|
+
} // [FS] IRAD-1578 2021-09-27
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
onReady(state) {
|
|
334
|
+
const collabEditing = this.state.docID !== '';
|
|
335
|
+
|
|
336
|
+
if (collabEditing) {
|
|
337
|
+
this._editorView && this._editorView.focus();
|
|
338
|
+
|
|
339
|
+
if (this.state.onReadyCB) {
|
|
340
|
+
this.state.onReadyCB(this);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
334
343
|
} // [FS] IRAD-1067 2020-09-19
|
|
335
344
|
// Alert funtion to show document is corrupted
|
|
336
345
|
|
|
@@ -420,14 +429,15 @@ class Licit extends React.Component {
|
|
|
420
429
|
// Only interested if properties are set from outside.
|
|
421
430
|
if (!this._skipSCU) {
|
|
422
431
|
this._skipSCU = false;
|
|
423
|
-
let dataChanged = false; //
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
432
|
+
let dataChanged = false; // [FS] IRAD-1571 2021-09-27
|
|
433
|
+
// dispatch a transaction that MUST start from the view�s current state;
|
|
434
|
+
// [FS] IRAD-1589 2021-10-04
|
|
435
|
+
// Do a proper circular JSON comparison.
|
|
436
|
+
|
|
437
|
+
if ((0, _flatted.stringify)(this.state.data) !== (0, _flatted.stringify)(nextState.data)) {
|
|
438
|
+
const editorState = this._editorView.state;
|
|
439
|
+
const nextDoc = editorState.schema.nodeFromJSON(nextState.data ? nextState.data : _createEmptyEditorState.EMPTY_DOC_JSON);
|
|
440
|
+
dataChanged = !nextDoc.eq(editorState.doc);
|
|
431
441
|
}
|
|
432
442
|
|
|
433
443
|
if (dataChanged) {
|
|
@@ -437,16 +447,17 @@ class Licit extends React.Component {
|
|
|
437
447
|
|
|
438
448
|
if (this.state.docID !== nextState.docID) {
|
|
439
449
|
// Collaborative mode changed
|
|
440
|
-
const collabEditing = nextState.docID
|
|
441
|
-
|
|
442
|
-
const editorState = this._connector.getState();
|
|
443
|
-
|
|
450
|
+
const collabEditing = nextState.docID !== '';
|
|
451
|
+
const editorState = this._editorView.state;
|
|
444
452
|
const setState = this.setState.bind(this);
|
|
445
|
-
const docID = nextState.docID ||
|
|
453
|
+
const docID = nextState.docID || '';
|
|
454
|
+
const collabServiceURL = nextState.collabServiceURL || '/collaboration-service'; // create new connector
|
|
446
455
|
|
|
447
456
|
this._connector = collabEditing ? new _CollabConnector.default(editorState, setState, {
|
|
448
|
-
docID
|
|
449
|
-
|
|
457
|
+
docID,
|
|
458
|
+
collabServiceURL
|
|
459
|
+
}, this._defaultEditorSchema, this._defaultEditorPlugins, // [FS] IRAD-1578 2021-09-27
|
|
460
|
+
this.onReady.bind(this)) : new _SimpleConnector.default(editorState, setState);
|
|
450
461
|
}
|
|
451
462
|
}
|
|
452
463
|
|
|
@@ -454,33 +465,29 @@ class Licit extends React.Component {
|
|
|
454
465
|
}
|
|
455
466
|
|
|
456
467
|
render() {
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
});
|
|
481
|
-
} else {
|
|
482
|
-
return /*#__PURE__*/React.createElement("div", null, "Loading Styles...");
|
|
483
|
-
}
|
|
468
|
+
const {
|
|
469
|
+
editorState,
|
|
470
|
+
width,
|
|
471
|
+
height,
|
|
472
|
+
readOnly,
|
|
473
|
+
disabled,
|
|
474
|
+
embedded,
|
|
475
|
+
runtime
|
|
476
|
+
} = this.state; // [FS] IRAD-978 2020-06-05
|
|
477
|
+
// Using 100vw & 100vh (100% viewport) is not ideal for a component which is expected to be a part of a page,
|
|
478
|
+
// so changing it to 100% width & height which will occupy the area relative to its parent.
|
|
479
|
+
|
|
480
|
+
return /*#__PURE__*/React.createElement(_RichTextEditor.default, {
|
|
481
|
+
disabled: disabled,
|
|
482
|
+
editorState: editorState,
|
|
483
|
+
embedded: embedded,
|
|
484
|
+
height: height,
|
|
485
|
+
onChange: this._onChange,
|
|
486
|
+
onReady: this._onReady,
|
|
487
|
+
readOnly: readOnly,
|
|
488
|
+
runtime: runtime,
|
|
489
|
+
width: width
|
|
490
|
+
});
|
|
484
491
|
}
|
|
485
492
|
|
|
486
493
|
// [FS] IRAD-1173 2021-02-25
|
|
@@ -493,6 +500,79 @@ class Licit extends React.Component {
|
|
|
493
500
|
}
|
|
494
501
|
}
|
|
495
502
|
|
|
503
|
+
initDevTool(debug, editorView) {
|
|
504
|
+
// [FS] IRAD-1575 2021-09-27
|
|
505
|
+
if (debug) {
|
|
506
|
+
if (!this._devTools) {
|
|
507
|
+
this._devTools = new Promise(async (resolve, reject) => {
|
|
508
|
+
try {
|
|
509
|
+
// Method is exported as both the default and named, Using named
|
|
510
|
+
// for clarity and future proofing.
|
|
511
|
+
const {
|
|
512
|
+
applyDevTools
|
|
513
|
+
} = await Promise.resolve().then(() => _interopRequireWildcard(require('prosemirror-dev-tools'))); // got the pm dev tools instance.
|
|
514
|
+
|
|
515
|
+
this._applyDevTools = applyDevTools; // Attach debug tools to current editor instance.
|
|
516
|
+
|
|
517
|
+
this._applyDevTools(editorView);
|
|
518
|
+
|
|
519
|
+
resolve(() => {
|
|
520
|
+
// [FS] IRAD-1571 2021-10-08
|
|
521
|
+
// Prosemirror Dev Tools handles as if one only instance is used in a page and
|
|
522
|
+
// hence handling removal here gracefully.
|
|
523
|
+
const place = document.querySelector('.'.concat('__prosemirror-dev-tools__'));
|
|
524
|
+
|
|
525
|
+
if (place) {
|
|
526
|
+
_reactDom.default.unmountComponentAtNode(place);
|
|
527
|
+
|
|
528
|
+
place.innerHTML = '';
|
|
529
|
+
}
|
|
530
|
+
});
|
|
531
|
+
} catch (error) {
|
|
532
|
+
reject();
|
|
533
|
+
}
|
|
534
|
+
});
|
|
535
|
+
} // Attach debug tools to current editor instance.
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
if (this._devTools && this._applyDevTools) {
|
|
539
|
+
this._applyDevTools(editorView);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
destroyDevTool() {
|
|
545
|
+
// [FS] IRAD-1569 2021-09-15
|
|
546
|
+
// Unmount dev tools when component is destroyed,
|
|
547
|
+
// so that toggle effect is not occuring when the document is retrieved each time.
|
|
548
|
+
if (this._devTools) {
|
|
549
|
+
// Call the applyDevTools method again to trigger DOM removal
|
|
550
|
+
// prosemirror-dev-tools has outstanding pull-requests that affect
|
|
551
|
+
// dom removal. this may need to be addressed once those have been merged.
|
|
552
|
+
this._devTools.then(removeDevTools => removeDevTools());
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
componentWillUnmount() {
|
|
557
|
+
this.destroyDevTool();
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* LICIT properties:
|
|
561
|
+
* docID {number} [0] Collaborative Doument ID
|
|
562
|
+
* debug {boolean} [false] To enable/disable ProseMirror Debug Tools, available only in development.
|
|
563
|
+
* width {string} [100%] Width of the editor.
|
|
564
|
+
* height {height} [100%] Height of the editor.
|
|
565
|
+
* readOnly {boolean} [false] To enable/disable editing mode.
|
|
566
|
+
* onChange {@callback} [null] Fires after each significant change.
|
|
567
|
+
* @param data {JSON} Modified document data.
|
|
568
|
+
* onReady {@callback} [null] Fires when the editor is fully ready.
|
|
569
|
+
* @param ref {LICIT} Rerefence of the editor.
|
|
570
|
+
* data {JSON} [null] Document data to be loaded into the editor.
|
|
571
|
+
* disabled {boolean} [false] Disable the editor.
|
|
572
|
+
* embedded {boolean} [false] Disable/Enable inline behaviour.
|
|
573
|
+
*/
|
|
574
|
+
|
|
575
|
+
|
|
496
576
|
}
|
|
497
577
|
|
|
498
578
|
var _default = Licit;
|