@modusoperandi/licit 0.1.10 → 0.13.3
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 +29 -35
- 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 -286
- package/babel.config.json +54 -0
- package/build_collab_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 +2 -2
- 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 +2 -4
- 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 +22 -34
- 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/FontSizeMarkSpec.js.flow +49 -49
- package/dist/FontTypeMarkSpec.js.flow +80 -80
- package/dist/HTMLMutator.js.flow +59 -59
- package/dist/HardBreakNodeSpec.js.flow +15 -15
- 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 +2 -4
- package/dist/ImageSourceCommand.js.flow +117 -117
- package/dist/ImageUploadCommand.js.flow +36 -36
- package/dist/ImageUploadPlaceholderPlugin.js.flow +192 -192
- package/dist/LinkMarkSpec.js.flow +32 -32
- package/dist/LinkSetURLCommand.js +4 -8
- package/dist/LinkSetURLCommand.js.flow +103 -103
- package/dist/LinkTooltipPlugin.js +9 -15
- 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 +4 -10
- package/dist/ListToggleCommand.js.flow +77 -77
- package/dist/MarkNames.js.flow +18 -18
- package/dist/MarksClearCommand.js +3 -3
- package/dist/MarksClearCommand.js.flow +42 -42
- package/dist/MathEditCommand.js +2 -2
- 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 +1 -3
- package/dist/ParagraphNodeSpec.js.flow +156 -160
- 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 +3 -7
- package/dist/TableBackgroundColorCommand.js.flow +75 -75
- package/dist/TableBorderColorCommand.js +3 -7
- package/dist/TableBorderColorCommand.js.flow +75 -75
- package/dist/TableCellColorCommand.js +3 -7
- package/dist/TableCellColorCommand.js.flow +71 -71
- package/dist/TableCellMenuPlugin.js +4 -6
- package/dist/TableCellMenuPlugin.js.flow +125 -125
- package/dist/TableInsertCommand.js +3 -5
- 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/TextColorMarkSpec.js.flow +35 -35
- package/dist/TextHighlightMarkSpec.js.flow +38 -38
- package/dist/TextInsertTabSpaceCommand.js +2 -4
- package/dist/TextInsertTabSpaceCommand.js.flow +83 -83
- 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.flow +75 -75
- package/dist/WebFontLoader.js.flow +22 -22
- package/dist/blockQuoteInputRule.js.flow +36 -36
- package/dist/bom.xml +11579 -6489
- package/dist/browser.js.flow +7 -7
- package/dist/buildEditorPlugins.js.flow +51 -51
- package/dist/buildInputRules.js.flow +81 -81
- package/dist/client/CollabConnector.js +17 -2
- package/dist/client/CollabConnector.js.flow +86 -71
- package/dist/client/EditorConnection.js +15 -4
- package/dist/client/EditorConnection.js.flow +318 -307
- package/dist/client/Licit.js +109 -94
- package/dist/client/Licit.js.flow +592 -578
- package/dist/client/Licit.test.js +7 -7
- package/dist/client/Licit.test.js.flow +67 -67
- package/dist/client/Reporter.js.flow +37 -37
- package/dist/client/SimpleConnector.js +3 -1
- package/dist/client/SimpleConnector.js.flow +55 -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/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 +35 -35
- package/dist/createTableResizingPlugin.js.flow +86 -86
- package/dist/findActionableCell.js.flow +74 -74
- package/dist/findActiveMark.js.flow +32 -32
- package/dist/hyphenize.js.flow +17 -17
- package/dist/index.js.flow +10 -10
- package/dist/insertTable.js.flow +56 -56
- package/dist/isEditorStateEmpty.js.flow +32 -32
- package/dist/isTableNode.js.flow +15 -15
- package/dist/joinDown.js.flow +27 -27
- package/dist/joinListNode.js +2 -2
- 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/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 +2 -2
- 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 -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 +6 -14
- package/dist/toggleBlockquote.js.flow +91 -91
- package/dist/toggleCodeBlock.js +4 -10
- package/dist/toggleCodeBlock.js.flow +102 -102
- package/dist/ui/AlertInfo.js.flow +64 -64
- package/dist/ui/BookmarkNodeView.js.flow +66 -66
- package/dist/ui/CommandButton.js +2 -4
- package/dist/ui/CommandButton.js.flow +68 -68
- package/dist/ui/CommandMenu.js.flow +75 -75
- package/dist/ui/CommandMenuButton.js +3 -5
- package/dist/ui/CommandMenuButton.js.flow +131 -131
- package/dist/ui/CustomEditorView.js.flow +28 -28
- package/dist/ui/CustomMenu.js.flow +17 -17
- package/dist/ui/CustomMenuItem.js +3 -5
- package/dist/ui/CustomMenuItem.js.flow +36 -36
- package/dist/ui/CustomNodeView.js.flow +200 -200
- package/dist/ui/CustomRadioButton.js +6 -6
- package/dist/ui/CustomRadioButton.js.flow +65 -65
- package/dist/ui/DocLayoutEditor.js +4 -6
- package/dist/ui/DocLayoutEditor.js.flow +146 -146
- package/dist/ui/Editor.js.flow +290 -290
- 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.flow +172 -172
- package/dist/ui/FontSizeCommandMenuButton.js +3 -3
- package/dist/ui/FontSizeCommandMenuButton.js.flow +66 -66
- package/dist/ui/FontTypeCommandMenuButton.js +3 -3
- 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 +4 -4
- package/dist/ui/ImageAlignEditor.js.flow +60 -60
- package/dist/ui/ImageInlineEditor.js +4 -4
- package/dist/ui/ImageInlineEditor.js.flow +67 -67
- package/dist/ui/ImageNodeView.js +3 -5
- package/dist/ui/ImageNodeView.js.flow +404 -404
- package/dist/ui/ImageResizeBox.js +3 -3
- package/dist/ui/ImageResizeBox.js.flow +219 -219
- package/dist/ui/ImageURLEditor.js +4 -6
- package/dist/ui/ImageURLEditor.js.flow +119 -119
- package/dist/ui/ImageUploadEditor.js +3 -5
- package/dist/ui/ImageUploadEditor.js.flow +117 -117
- package/dist/ui/KeyCodes.js.flow +12 -12
- package/dist/ui/LinkTooltip.js +4 -4
- package/dist/ui/LinkTooltip.js.flow +85 -85
- package/dist/ui/LinkURLEditor.js +4 -6
- package/dist/ui/LinkURLEditor.js.flow +111 -111
- package/dist/ui/ListItemNodeView.js.flow +98 -98
- package/dist/ui/ListTypeButton.js +3 -5
- 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 +4 -6
- package/dist/ui/MathEditor.js.flow +78 -78
- package/dist/ui/MathInlineEditor.js +4 -6
- package/dist/ui/MathInlineEditor.js.flow +102 -102
- package/dist/ui/MathNodeView.js +3 -5
- package/dist/ui/MathNodeView.js.flow +175 -175
- package/dist/ui/PasteMenu.js.flow +57 -57
- 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 +6 -8
- package/dist/ui/TableGridSizeEditor.js.flow +184 -184
- package/dist/ui/TableNodeView.js.flow +22 -22
- package/dist/ui/bindScrollHandler.js.flow +46 -46
- package/dist/ui/canUseCSSFont.js.flow +43 -43
- package/dist/ui/czi-body-layout-editor.css +16 -16
- package/dist/ui/czi-bookmark-view.css +10 -10
- package/dist/ui/czi-cursor-placeholder.css +36 -36
- 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-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-vars.css +2 -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 +2 -2
- 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 +2 -2
- 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/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 +1 -36
- package/dist/ui/toCSSLineSpacing.js.flow +55 -82
- package/dist/ui/toHexColor.js.flow +26 -26
- package/dist/ui/uuid.js.flow +9 -9
- 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/@modusoperandilicit-ui-commands.js +5 -0
- 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.config.js +207 -0
- 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/image/start.js +58 -58
- package/lint.sh +4 -4
- package/node_modules/prosemirror-utils/LICENSE +13 -0
- package/{dist/ui/PopUpTypes.js.flow → node_modules/prosemirror-utils/README.md} +0 -0
- package/node_modules/prosemirror-utils/dist/helpers.js +119 -0
- package/node_modules/prosemirror-utils/dist/index.js +17 -0
- package/node_modules/prosemirror-utils/dist/index.js.map +1 -0
- package/node_modules/prosemirror-utils/dist/node.js +106 -0
- package/node_modules/prosemirror-utils/dist/selection.js +168 -0
- package/node_modules/prosemirror-utils/dist/transforms.js +257 -0
- package/node_modules/prosemirror-utils/package.json +81 -0
- package/node_modules/prosemirror-utils/typings.d.ts +79 -0
- package/package.json +172 -165
- package/run_collab_server.py +21 -21
- 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/FontSizeMarkSpec.js +49 -49
- package/src/FontTypeMarkSpec.js +80 -80
- package/src/HTMLMutator.js +59 -59
- package/src/HardBreakNodeSpec.js +15 -15
- 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/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/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 +156 -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/TextColorMarkSpec.js +35 -35
- package/src/TextHighlightMarkSpec.js +38 -38
- package/src/TextInsertTabSpaceCommand.js +83 -83
- 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/blockQuoteInputRule.js +36 -36
- package/src/browser.js +7 -7
- package/src/buildEditorPlugins.js +51 -51
- package/src/buildInputRules.js +81 -81
- package/src/client/CollabConnector.js +86 -71
- package/src/client/EditorConnection.js +318 -307
- package/src/client/Licit.js +592 -578
- package/src/client/Licit.test.js +67 -67
- package/src/client/Reporter.js +37 -37
- package/src/client/SimpleConnector.js +55 -53
- package/src/client/http.js +66 -66
- package/src/client/licit.css +12 -12
- package/src/client/throttle.js +27 -27
- 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 -35
- package/src/createTableResizingPlugin.js +86 -86
- package/src/findActionableCell.js +74 -74
- package/src/findActiveMark.js +32 -32
- package/src/hyphenize.js +17 -17
- package/src/index.js +10 -10
- package/src/insertTable.js +56 -56
- package/src/isEditorStateEmpty.js +32 -32
- package/src/isTableNode.js +15 -15
- 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/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/ui/AlertInfo.js +64 -64
- package/src/ui/BookmarkNodeView.js +66 -66
- package/src/ui/CommandButton.js +68 -68
- package/src/ui/CommandMenu.js +75 -75
- package/src/ui/CommandMenuButton.js +131 -131
- 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 -290
- 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 -404
- 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/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/bindScrollHandler.js +46 -46
- package/src/ui/canUseCSSFont.js +43 -43
- package/src/ui/czi-body-layout-editor.css +16 -16
- package/src/ui/czi-bookmark-view.css +10 -10
- package/src/ui/czi-cursor-placeholder.css +36 -36
- 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-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-vars.css +2 -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/renderLaTeXAsHTML.js +46 -46
- package/src/ui/resolveImage.js +123 -123
- package/src/ui/toCSSColor.js +51 -51
- package/src/ui/toCSSLineSpacing.js +55 -82
- package/src/ui/toHexColor.js +26 -26
- package/src/ui/uuid.js +9 -9
- package/src/uuid.js +9 -9
- package/style-service.Dockerfile +26 -26
- package/utils/build_bin.js +9 -9
- 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/build_customstyle_server.py +0 -7
- package/dist/FontSizeCommand.js +0 -80
- package/dist/FontSizeCommand.js.flow +0 -57
- package/dist/FontTypeCommand.js +0 -137
- package/dist/FontTypeCommand.js.flow +0 -100
- package/dist/HeadingCommand.js +0 -65
- package/dist/HeadingCommand.js.flow +0 -51
- package/dist/IndentCommand.js +0 -57
- package/dist/IndentCommand.js.flow +0 -41
- package/dist/MarkToggleCommand.js +0 -90
- package/dist/MarkToggleCommand.js.flow +0 -66
- package/dist/TextAlignCommand.js +0 -151
- package/dist/TextAlignCommand.js.flow +0 -122
- package/dist/TextColorCommand.js +0 -114
- package/dist/TextColorCommand.js.flow +0 -87
- package/dist/TextHighlightCommand.js +0 -118
- package/dist/TextHighlightCommand.js.flow +0 -91
- package/dist/TextLineSpacingCommand.js +0 -177
- package/dist/TextLineSpacingCommand.js.flow +0 -157
- package/dist/applyMark.js +0 -84
- package/dist/applyMark.js.flow +0 -61
- package/dist/clearMarks.js +0 -160
- package/dist/clearMarks.js.flow +0 -128
- package/dist/compareNumber.js +0 -18
- package/dist/compareNumber.js.flow +0 -11
- package/dist/consolidateListNodes.js +0 -291
- package/dist/consolidateListNodes.js.flow +0 -281
- package/dist/findNodesWithSameMark.js +0 -89
- package/dist/findNodesWithSameMark.js.flow +0 -89
- package/dist/isBulletListNode.js +0 -14
- package/dist/isBulletListNode.js.flow +0 -9
- package/dist/isInsideListItem.js +0 -19
- package/dist/isInsideListItem.js.flow +0 -13
- package/dist/isListNode.js +0 -22
- package/dist/isListNode.js.flow +0 -13
- package/dist/isNodeSelectionForNodeType.js +0 -19
- package/dist/isNodeSelectionForNodeType.js.flow +0 -15
- package/dist/isOrderedListNode.js +0 -14
- package/dist/isOrderedListNode.js.flow +0 -9
- package/dist/isTextStyleMarkCommandEnabled.js +0 -59
- package/dist/isTextStyleMarkCommandEnabled.js.flow +0 -49
- package/dist/noop.js +0 -11
- package/dist/noop.js.flow +0 -5
- package/dist/toggleHeading.js +0 -135
- package/dist/toggleHeading.js.flow +0 -113
- package/dist/toggleList.js +0 -431
- package/dist/toggleList.js.flow +0 -450
- package/dist/transformAndPreserveTextSelection.js +0 -173
- package/dist/transformAndPreserveTextSelection.js.flow +0 -151
- package/dist/ui/ColorEditor.js +0 -118
- package/dist/ui/ColorEditor.js.flow +0 -101
- package/dist/ui/CustomButton.js +0 -64
- package/dist/ui/CustomButton.js.flow +0 -33
- package/dist/ui/PointerSurface.js +0 -173
- package/dist/ui/PointerSurface.js.flow +0 -141
- package/dist/ui/PopUp.js +0 -129
- package/dist/ui/PopUp.js.flow +0 -77
- package/dist/ui/PopUpManager.js +0 -266
- package/dist/ui/PopUpManager.js.flow +0 -213
- package/dist/ui/PopUpPosition.js +0 -156
- package/dist/ui/PopUpPosition.js.flow +0 -104
- package/dist/ui/PopUpTypes.js +0 -1
- package/dist/ui/TooltipSurface.js +0 -99
- package/dist/ui/TooltipSurface.js.flow +0 -76
- package/dist/ui/clamp.js +0 -18
- package/dist/ui/clamp.js.flow +0 -11
- package/dist/ui/createPopUp.js +0 -199
- package/dist/ui/createPopUp.js.flow +0 -205
- package/dist/ui/czi-animations.css +0 -15
- package/dist/ui/czi-color-editor.css +0 -56
- package/dist/ui/czi-custom-button.css +0 -93
- package/dist/ui/czi-pop-up.css +0 -32
- package/dist/ui/czi-tooltip-surface.css +0 -45
- package/dist/ui/preventEventDefault.js +0 -10
- package/dist/ui/preventEventDefault.js.flow +0 -5
- package/dist/ui/rects.js +0 -58
- package/dist/ui/rects.js.flow +0 -47
- package/dist/updateIndentLevel.js +0 -232
- package/dist/updateIndentLevel.js.flow +0 -211
- package/flow-typed/@molicit-citation.js +0 -5
- package/licit/server/customstyles/start.js +0 -184
- package/run_customstyle_server.py +0 -20
- package/src/FontSizeCommand.js +0 -57
- package/src/FontTypeCommand.js +0 -100
- package/src/HeadingCommand.js +0 -51
- package/src/IndentCommand.js +0 -41
- package/src/MarkToggleCommand.js +0 -66
- package/src/TextAlignCommand.js +0 -122
- package/src/TextColorCommand.js +0 -87
- package/src/TextHighlightCommand.js +0 -91
- package/src/TextLineSpacingCommand.js +0 -157
- package/src/applyMark.js +0 -61
- package/src/clearMarks.js +0 -128
- package/src/compareNumber.js +0 -11
- package/src/consolidateListNodes.js +0 -281
- package/src/findNodesWithSameMark.js +0 -89
- package/src/isBulletListNode.js +0 -9
- package/src/isInsideListItem.js +0 -13
- package/src/isListNode.js +0 -13
- package/src/isNodeSelectionForNodeType.js +0 -15
- package/src/isOrderedListNode.js +0 -9
- package/src/isTextStyleMarkCommandEnabled.js +0 -49
- package/src/noop.js +0 -5
- package/src/toggleHeading.js +0 -113
- package/src/toggleList.js +0 -450
- package/src/transformAndPreserveTextSelection.js +0 -151
- package/src/ui/ColorEditor.js +0 -101
- package/src/ui/CustomButton.js +0 -33
- package/src/ui/PointerSurface.js +0 -141
- package/src/ui/PopUp.js +0 -77
- package/src/ui/PopUpManager.js +0 -213
- package/src/ui/PopUpPosition.js +0 -104
- package/src/ui/PopUpTypes.js +0 -0
- package/src/ui/TooltipSurface.js +0 -76
- package/src/ui/clamp.js +0 -11
- package/src/ui/createPopUp.js +0 -205
- package/src/ui/czi-animations.css +0 -15
- package/src/ui/czi-color-editor.css +0 -56
- package/src/ui/czi-custom-button.css +0 -93
- package/src/ui/czi-pop-up.css +0 -32
- package/src/ui/czi-tooltip-surface.css +0 -45
- package/src/ui/preventEventDefault.js +0 -5
- package/src/ui/rects.js +0 -47
- package/src/updateIndentLevel.js +0 -211
- package/utils/build_customstyle_server.js +0 -72
package/dist/client/Licit.js
CHANGED
|
@@ -31,9 +31,7 @@ var _CollabConnector = _interopRequireDefault(require("./CollabConnector"));
|
|
|
31
31
|
|
|
32
32
|
var _createEmptyEditorState = require("../createEmptyEditorState");
|
|
33
33
|
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
var _PopUpPosition = require("../ui/PopUpPosition");
|
|
34
|
+
var _licitUiCommands = require("@modusoperandi/licit-ui-commands");
|
|
37
35
|
|
|
38
36
|
var _AlertInfo = _interopRequireDefault(require("../ui/AlertInfo"));
|
|
39
37
|
|
|
@@ -59,30 +57,30 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
59
57
|
|
|
60
58
|
const ATTR_OBJID = 'objectId';
|
|
61
59
|
const ATTR_OBJMETADATA = 'objectMetaData';
|
|
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.
|
|
60
|
+
/**
|
|
61
|
+
* LICIT properties:
|
|
62
|
+
* docID {string} [] Collaborative Doument ID
|
|
63
|
+
* collabServiceURL {string} [/collaboration-service] Collaboration Service URL
|
|
64
|
+
* debug {boolean} [false] To enable/disable ProseMirror Debug Tools, available only in development.
|
|
65
|
+
* width {string} [100%] Width of the editor.
|
|
66
|
+
* height {string} [100%] Height of the editor.
|
|
67
|
+
* readOnly {boolean} [false] To enable/disable editing mode.
|
|
68
|
+
* onChange {@callback} [null] Fires after each significant change.
|
|
69
|
+
* @param data {JSON} Modified document data.
|
|
70
|
+
* onReady {@callback} [null] Fires when the editor is fully ready.
|
|
71
|
+
* @param ref {LICIT} Rerefence of the editor.
|
|
72
|
+
* data {JSON} [null] Document data to be loaded into the editor.
|
|
73
|
+
* disabled {boolean} [false] Disable the editor.
|
|
74
|
+
* embedded {boolean} [false] Disable/Enable inline behaviour.
|
|
75
|
+
* plugins [plugins] External Plugins into the editor.
|
|
78
76
|
*/
|
|
79
77
|
|
|
80
78
|
class Licit extends React.Component {
|
|
81
79
|
// This will be handy in updating document's content.
|
|
82
80
|
// Flag to decide whether to skip shouldComponentUpdate
|
|
83
81
|
|
|
84
|
-
/**
|
|
85
|
-
* Provides access to prosemirror view.
|
|
82
|
+
/**
|
|
83
|
+
* Provides access to prosemirror view.
|
|
86
84
|
*/
|
|
87
85
|
get editorView() {
|
|
88
86
|
return this._editorView;
|
|
@@ -117,7 +115,7 @@ class Licit extends React.Component {
|
|
|
117
115
|
_defineProperty(this, "setContent", function () {
|
|
118
116
|
let content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
119
117
|
// [FS] IRAD-1571 2021-09-27
|
|
120
|
-
// dispatch a transaction that MUST start from the view
|
|
118
|
+
// dispatch a transaction that MUST start from the views current state;
|
|
121
119
|
const editorState = _this._editorView.state;
|
|
122
120
|
const {
|
|
123
121
|
doc,
|
|
@@ -126,7 +124,10 @@ class Licit extends React.Component {
|
|
|
126
124
|
let {
|
|
127
125
|
tr
|
|
128
126
|
} = editorState;
|
|
129
|
-
const document = schema.nodeFromJSON(content ? content : _createEmptyEditorState.EMPTY_DOC_JSON);
|
|
127
|
+
const document = schema.nodeFromJSON(content ? content : _createEmptyEditorState.EMPTY_DOC_JSON); // [FS] IRAD-1593 2021-10-12
|
|
128
|
+
// Reset lastKeyCode since the content is set dynamically and so lastKeyCode is invalid now.
|
|
129
|
+
|
|
130
|
+
_this._editorView.lastKeyCode = null;
|
|
130
131
|
|
|
131
132
|
const selection = _prosemirrorState.TextSelection.create(doc, 0, doc.content.size);
|
|
132
133
|
|
|
@@ -144,10 +145,10 @@ class Licit extends React.Component {
|
|
|
144
145
|
const {
|
|
145
146
|
transaction
|
|
146
147
|
} = data;
|
|
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.
|
|
148
|
+
/*
|
|
149
|
+
** ProseMirror Debug Tool's Snapshot creates a new state and sets that to editor view's state.
|
|
150
|
+
** This results in the connector's state as an orphan and thus transaction mismatch error.
|
|
151
|
+
** To resolve check and update the connector's state to keep in sync.
|
|
151
152
|
*/
|
|
152
153
|
|
|
153
154
|
if (this._editorView) {
|
|
@@ -173,7 +174,14 @@ class Licit extends React.Component {
|
|
|
173
174
|
|
|
174
175
|
if (transaction.docChanged) {
|
|
175
176
|
const docJson = transaction.doc.toJSON();
|
|
176
|
-
|
|
177
|
+
let isEmpty = false;
|
|
178
|
+
|
|
179
|
+
if (docJson.content && docJson.content.length === 1) {
|
|
180
|
+
if (!docJson.content[0].content || docJson.content[0].content && docJson.content[0].content[0].text && '' === docJson.content[0].content[0].text.trim()) {
|
|
181
|
+
isEmpty = true;
|
|
182
|
+
}
|
|
183
|
+
} // setCFlags is/was always the opposite of isEmpty.
|
|
184
|
+
|
|
177
185
|
|
|
178
186
|
if (isEmpty) {
|
|
179
187
|
this.resetCounters(transaction);
|
|
@@ -199,15 +207,11 @@ class Licit extends React.Component {
|
|
|
199
207
|
} = editorView;
|
|
200
208
|
this._editorView = editorView;
|
|
201
209
|
const tr = state.tr;
|
|
202
|
-
const doc = state.doc;
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
const trx = tr.setSelection(_prosemirrorState.TextSelection.create(doc, 0, doc.content.size));
|
|
206
|
-
dispatch(trx.scrollIntoView());
|
|
207
|
-
} // [FS] IRAD-1578 2021-09-27
|
|
210
|
+
const doc = state.doc;
|
|
211
|
+
const trx = tr.setSelection(_prosemirrorState.TextSelection.create(doc, 0, doc.content.size));
|
|
212
|
+
dispatch(trx.scrollIntoView()); // [FS] IRAD-1578 2021-09-27
|
|
208
213
|
// In collab mode, fire onRead only after getting the response from collab server.
|
|
209
214
|
|
|
210
|
-
|
|
211
215
|
if (this.state.onReadyCB && this.state.docID === '') {
|
|
212
216
|
editorView.focus();
|
|
213
217
|
this.state.onReadyCB(this);
|
|
@@ -322,7 +326,7 @@ class Licit extends React.Component {
|
|
|
322
326
|
|
|
323
327
|
if (this._connector.updateSchema) {
|
|
324
328
|
// Use known editorState to update schema.
|
|
325
|
-
this._connector.updateSchema(editorState.schema);
|
|
329
|
+
this._connector.updateSchema(editorState.schema, data);
|
|
326
330
|
}
|
|
327
331
|
} // [FS] IRAD-1578 2021-09-27
|
|
328
332
|
|
|
@@ -343,9 +347,9 @@ class Licit extends React.Component {
|
|
|
343
347
|
|
|
344
348
|
showAlert() {
|
|
345
349
|
const anchor = null;
|
|
346
|
-
this._popUp = (0,
|
|
350
|
+
this._popUp = (0, _licitUiCommands.createPopUp)(_AlertInfo.default, null, {
|
|
347
351
|
anchor,
|
|
348
|
-
position:
|
|
352
|
+
position: _licitUiCommands.atViewportCenter,
|
|
349
353
|
onClose: val => {
|
|
350
354
|
if (this._popUp) {
|
|
351
355
|
this._popUp = null;
|
|
@@ -422,45 +426,70 @@ class Licit extends React.Component {
|
|
|
422
426
|
return node.attrs && node.attrs[attrName];
|
|
423
427
|
}
|
|
424
428
|
|
|
429
|
+
hasDataChanged(nextData) {
|
|
430
|
+
let dataChanged = false; // [FS] IRAD-1571 2021-09-27
|
|
431
|
+
// dispatch a transaction that MUST start from the views current state;
|
|
432
|
+
// [FS] IRAD-1589 2021-10-04
|
|
433
|
+
// Do a proper circular JSON comparison.
|
|
434
|
+
|
|
435
|
+
if ((0, _flatted.stringify)(this.state.data) !== (0, _flatted.stringify)(nextData)) {
|
|
436
|
+
const editorState = this._editorView.state;
|
|
437
|
+
const nextDoc = editorState.schema.nodeFromJSON(nextData ? nextData : _createEmptyEditorState.EMPTY_DOC_JSON);
|
|
438
|
+
dataChanged = !nextDoc.eq(editorState.doc);
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
return dataChanged;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
changeContent(data) {
|
|
445
|
+
if (this.hasDataChanged(data)) {
|
|
446
|
+
// FS IRAD-1592 2021-11-10
|
|
447
|
+
// Release here quickly, so that update doesn't care about at this point.
|
|
448
|
+
// data changed, so update document content
|
|
449
|
+
setTimeout(this.setContent.bind(this, data), 1);
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
|
|
425
453
|
shouldComponentUpdate(nextProps, nextState) {
|
|
426
454
|
// Only interested if properties are set from outside.
|
|
427
455
|
if (!this._skipSCU) {
|
|
428
456
|
this._skipSCU = false;
|
|
429
|
-
|
|
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);
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
if (dataChanged) {
|
|
441
|
-
// data changed, so update document content
|
|
442
|
-
this.setContent(nextState.data);
|
|
443
|
-
}
|
|
457
|
+
this.changeContent(nextState.data);
|
|
444
458
|
|
|
445
459
|
if (this.state.docID !== nextState.docID) {
|
|
446
|
-
|
|
447
|
-
const collabEditing = nextState.docID !== '';
|
|
448
|
-
const editorState = this._editorView.state;
|
|
449
|
-
const setState = this.setState.bind(this);
|
|
450
|
-
const docID = nextState.docID || '';
|
|
451
|
-
const collabServiceURL = nextState.collabServiceURL || '/collaboration-service'; // create new connector
|
|
452
|
-
|
|
453
|
-
this._connector = collabEditing ? new _CollabConnector.default(editorState, setState, {
|
|
454
|
-
docID,
|
|
455
|
-
collabServiceURL
|
|
456
|
-
}, this._defaultEditorSchema, this._defaultEditorPlugins, // [FS] IRAD-1578 2021-09-27
|
|
457
|
-
this.onReady.bind(this)) : new _SimpleConnector.default(editorState, setState);
|
|
460
|
+
setTimeout(this.setDocID.bind(this, nextState), 1);
|
|
458
461
|
}
|
|
459
462
|
}
|
|
460
463
|
|
|
461
464
|
return true;
|
|
462
465
|
}
|
|
463
466
|
|
|
467
|
+
setDocID(nextState) {
|
|
468
|
+
// Collaborative mode changed
|
|
469
|
+
const collabEditing = nextState.docID !== '';
|
|
470
|
+
const editorState = this._editorView.state;
|
|
471
|
+
const setState = this.setState.bind(this);
|
|
472
|
+
const docID = nextState.docID || '';
|
|
473
|
+
const collabServiceURL = nextState.collabServiceURL || '/collaboration-service';
|
|
474
|
+
|
|
475
|
+
if (this._connector) {
|
|
476
|
+
this._connector.cleanUp();
|
|
477
|
+
} // create new connector
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
this._connector = collabEditing ? new _CollabConnector.default(editorState, setState, {
|
|
481
|
+
docID,
|
|
482
|
+
collabServiceURL
|
|
483
|
+
}, this._defaultEditorSchema, this._defaultEditorPlugins, // [FS] IRAD-1578 2021-09-27
|
|
484
|
+
this.onReady.bind(this)) : new _SimpleConnector.default(editorState, setState); // FS IRAD-1592 2021-11-10
|
|
485
|
+
// Notify collab server
|
|
486
|
+
|
|
487
|
+
if (this._connector.updateSchema) {
|
|
488
|
+
// Use known editorState to update schema.
|
|
489
|
+
this._connector.updateSchema(editorState.schema);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
|
|
464
493
|
render() {
|
|
465
494
|
const {
|
|
466
495
|
editorState,
|
|
@@ -487,22 +516,8 @@ class Licit extends React.Component {
|
|
|
487
516
|
});
|
|
488
517
|
}
|
|
489
518
|
|
|
490
|
-
|
|
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
|
|
519
|
+
// [FS] IRAD-1173 2021-02-25
|
|
503
520
|
// Bug fix: Transaction mismatch error when a dialog is opened and keep typing.
|
|
504
|
-
|
|
505
|
-
|
|
506
521
|
closeOpenedPopupModels() {
|
|
507
522
|
const element = document.getElementsByClassName('czi-pop-up-element')[0];
|
|
508
523
|
|
|
@@ -567,20 +582,20 @@ class Licit extends React.Component {
|
|
|
567
582
|
componentWillUnmount() {
|
|
568
583
|
this.destroyDevTool();
|
|
569
584
|
}
|
|
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.
|
|
585
|
+
/**
|
|
586
|
+
* LICIT properties:
|
|
587
|
+
* docID {number} [0] Collaborative Doument ID
|
|
588
|
+
* debug {boolean} [false] To enable/disable ProseMirror Debug Tools, available only in development.
|
|
589
|
+
* width {string} [100%] Width of the editor.
|
|
590
|
+
* height {height} [100%] Height of the editor.
|
|
591
|
+
* readOnly {boolean} [false] To enable/disable editing mode.
|
|
592
|
+
* onChange {@callback} [null] Fires after each significant change.
|
|
593
|
+
* @param data {JSON} Modified document data.
|
|
594
|
+
* onReady {@callback} [null] Fires when the editor is fully ready.
|
|
595
|
+
* @param ref {LICIT} Rerefence of the editor.
|
|
596
|
+
* data {JSON} [null] Document data to be loaded into the editor.
|
|
597
|
+
* disabled {boolean} [false] Disable the editor.
|
|
598
|
+
* embedded {boolean} [false] Disable/Enable inline behaviour.
|
|
584
599
|
*/
|
|
585
600
|
|
|
586
601
|
|