@worktile/theia 17.2.2 → 17.3.0
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/components/column-resize/column-resize.directive.d.ts +5 -3
- package/components/column-resize/column-resize.scss +0 -7
- package/components/column-resize/overlay-handle.component.d.ts +4 -6
- package/components/column-resize/resizing.store.d.ts +0 -8
- package/components/inline-toolbar/inline-toolbar.component.d.ts +1 -1
- package/components/toolbar/toolbar.component.d.ts +0 -1
- package/constants/node-types.d.ts +0 -1
- package/core/utils/plugin-menu.d.ts +8 -0
- package/editor.component.d.ts +1 -1
- package/esm2022/components/column-resize/column-resize.directive.mjs +28 -9
- package/esm2022/components/column-resize/overlay-handle.component.mjs +12 -16
- package/esm2022/components/column-resize/resizing.store.mjs +3 -66
- package/esm2022/components/inline-toolbar/inline-toolbar.component.mjs +13 -22
- package/esm2022/components/plugin-menu/plugin-menu.component.mjs +6 -5
- package/esm2022/components/toolbar/toolbar.component.mjs +2 -7
- package/esm2022/constants/default.mjs +2 -2
- package/esm2022/constants/node-types.mjs +1 -2
- package/esm2022/core/utils/plugin-menu.mjs +34 -1
- package/esm2022/editor.component.mjs +13 -5
- package/esm2022/interfaces/plugins/plugin-menu.mjs +2 -2
- package/esm2022/interfaces/plugins/plugins.mjs +1 -1
- package/esm2022/plugins/common/block-card.plugin.mjs +12 -2
- package/esm2022/plugins/image/image.component.mjs +2 -2
- package/esm2022/plugins/image/image.editor.mjs +2 -3
- package/esm2022/plugins/image/image.plugin.mjs +2 -2
- package/esm2022/plugins/inline-code/inline-code.plugin.mjs +3 -2
- package/esm2022/plugins/link/link.plugin.mjs +4 -3
- package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +4 -2
- package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +41 -17
- package/esm2022/plugins/table/components/row/row.component.mjs +2 -2
- package/esm2022/plugins/table/components/table.component.mjs +22 -26
- package/esm2022/plugins/table/components/td/td.component.mjs +47 -125
- package/esm2022/plugins/table/table.editor.mjs +2 -2
- package/esm2022/plugins/table/table.types.mjs +1 -1
- package/esm2022/plugins/table/utils/get-grid-columns.mjs +2 -2
- package/esm2022/plugins/table/utils/table-viewport.mjs +41 -0
- package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +3 -5
- package/esm2022/queries/anchor-block-entry.mjs +3 -3
- package/esm2022/queries/anchor-block.mjs +3 -3
- package/esm2022/queries/get-block-card-cursor.mjs +6 -2
- package/esm2022/queries/is-block-card-cursor.mjs +7 -2
- package/esm2022/utils/index.mjs +2 -2
- package/esm2022/utils/scrolling.mjs +43 -0
- package/fesm2022/worktile-theia.mjs +294 -314
- package/fesm2022/worktile-theia.mjs.map +1 -1
- package/interfaces/editor.d.ts +2 -2
- package/interfaces/plugins/plugins.d.ts +2 -1
- package/package.json +1 -1
- package/plugins/table/components/insert-mark/insert-mark.component.d.ts +12 -4
- package/plugins/table/components/table.component.d.ts +1 -2
- package/plugins/table/components/table.component.scss +4 -18
- package/plugins/table/components/td/td.component.d.ts +9 -10
- package/plugins/table/table.types.d.ts +2 -2
- package/plugins/table/utils/table-viewport.d.ts +8 -0
- package/plugins/vertical-align/toolbar-item.component.d.ts +2 -3
- package/queries/anchor-block-entry.d.ts +2 -2
- package/queries/anchor-block.d.ts +2 -2
- package/queries/get-block-card-cursor.d.ts +2 -2
- package/queries/is-block-card-cursor.d.ts +2 -2
- package/styles/editor.scss +7 -0
- package/utils/index.d.ts +1 -1
- package/utils/{scroll-into-view.d.ts → scrolling.d.ts} +1 -0
- package/esm2022/utils/scroll-into-view.mjs +0 -38
|
@@ -101,7 +101,7 @@ export const TableEditor = {
|
|
|
101
101
|
},
|
|
102
102
|
clearCellsContent(editor, cells) {
|
|
103
103
|
if (!cells) {
|
|
104
|
-
cells = editor.
|
|
104
|
+
cells = editor.selection ? TableEditor.getSelectedCells(editor) || [] : [];
|
|
105
105
|
}
|
|
106
106
|
if (cells.length > 0) {
|
|
107
107
|
const tablePosition = createTablePosition(editor);
|
|
@@ -298,4 +298,4 @@ export const TableEditor = {
|
|
|
298
298
|
});
|
|
299
299
|
}
|
|
300
300
|
};
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdGFibGUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFZLElBQUksRUFBaUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN6RyxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFDSCxpQkFBaUIsRUFFakIsWUFBWSxFQUVaLFNBQVMsRUFFVCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNwQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRFLE9BQU8sRUFBRSxZQUFZLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFF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QUUsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDbkUsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgTG9jYXRpb24sIE5vZGUsIE5vZGVFbnRyeSwgUGF0aCwgUG9pbnQsIFJhbmdlLCBUZXh0LCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgRUxFTUVOVF9UT19DT01QT05FTlQgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7XG4gICAgQUxJR05fQkxPQ0tfVFlQRVMsXG4gICAgQWxpZ25tZW50LFxuICAgIEVsZW1lbnRLaW5kcyxcbiAgICBJbmRlbnRzLFxuICAgIE1hcmtQcm9wcyxcbiAgICBNYXJrVHlwZXMsXG4gICAgU3BlY2lhbEJhY2tncm91bmRDb2xvcixcbiAgICBUYWJsZUhlYWRlckJhY2tncm91bmRDb2xvcixcbiAgICBWZXJ0aWNhbEFsaWdubWVudFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudCwgVGFibGVDZWxsRWxlbWVudCwgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBUSEVfRURJVE9SX1BSRVZJT1VTX1NFTEVDVElPTiB9IGZyb20gJy4uLy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBUaGVUYWJsZSB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zLCBUaGVUYWJsZU9wdGlvbnMgfSBmcm9tICcuL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IGluc2VydENvbHVtbiwgaW5zZXJ0Um93LCBpbnNlcnRUYWJsZSwgcmVtb3ZlQ29sdW1uLCByZW1vdmVSb3csIHJlbW92ZVRhYmxlIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGNsZWFyQ2VsbCB9IGZyb20gJy4vdHJhbnNmb3Jtcy9jbGVhci1jZWxsJztcbmltcG9ydCB7IGdldE9yaWdpbkNlbGwsIGhhc0hlYWRlclJvdyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlVGFibGVQb3NpdGlvbiB9IGZyb20gJy4vdXRpbHMvY3JlYXRlLXRhYmxlLXBvc2l0aW9uJztcbmltcG9ydCB7IHNldENlbGxJbmRlbnQsIHNvcnRDZWxsIH0gZnJvbSAnLi91dGlscy9oYW5kbGUtY2VsbCc7XG5pbXBvcnQgeyBtZXJnZUNlbGwgfSBmcm9tICcuL3V0aWxzL21lcmdlLWNlbGwnO1xuaW1wb3J0IHsgc3BsaXRDZWxsIH0gZnJvbSAnLi91dGlscy9zcGxpdC1jZWxsJztcbmltcG9ydCB7IGdldFRhYmxlUGF0aCB9IGZyb20gJy4vdXRpbHMvdGFibGUtZW50cnknO1xuXG5leHBvcnQgY29uc3QgVGFibGVFZGl0b3IgPSB7XG4gICAgaW5zZXJ0VGFibGUoZWRpdG9yOiBFZGl0b3IsIG9wdGlvbnNQYXJhbT86IFRhYmxlT3B0aW9ucykge1xuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucyhvcHRpb25zUGFyYW0pO1xuICAgICAgICBpbnNlcnRUYWJsZShvcHRzLCBlZGl0b3IpO1xuICAgIH0sXG5cbiAgICBpbnNlcnRDb2x1bW4oZWRpdG9yOiBFZGl0b3IsIGNvdW50OiBudW1iZXIgPSAxLCBhdD86IG51bWJlciwgb3B0aW9uc1BhcmFtPzogVGFibGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKG9wdGlvbnNQYXJhbSk7XG4gICAgICAgIGluc2VydENvbHVtbihvcHRzLCBlZGl0b3IsIGNvdW50LCBhdCk7XG4gICAgfSxcblxuICAgIGluc2VydFJvdyhlZGl0b3I6IEVkaXRvciwgY291bnQ6IG51bWJlciA9IDEsIGF0PzogbnVtYmVyLCBvcHRpb25zUGFyYW0/OiBUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMob3B0aW9uc1BhcmFtKTtcbiAgICAgICAgaW5zZXJ0Um93KG9wdHMsIGVkaXRvciwgY291bnQsIGF0KTtcbiAgICB9LFxuXG4gICAgcmVtb3ZlVGFibGUoZWRpdG9yOiBFZGl0b3IsIG9wdGlvbnNQYXJhbT86IFRhYmxlT3B0aW9ucykge1xuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucyhvcHRpb25zUGFyYW0pO1xuICAgICAgICByZW1vdmVUYWJsZShvcHRzLCBlZGl0b3IpO1xuICAgIH0sXG5cbiAgICByZW1vdmVSb3coZWRpdG9yOiBFZGl0b3IsIHJvd0luZGV4PzogbnVtYmVyLCBvcHRpb25zUGFyYW0/OiBUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMob3B0aW9uc1BhcmFtKTtcbiAgICAgICAgcmVtb3ZlUm93KG9wdHMsIGVkaXRvciwgcm93SW5kZXgpO1xuICAgIH0sXG5cbiAgICByZW1vdmVDb2x1bW4oZWRpdG9yOiBFZGl0b3IsIGNvbEluZGV4PzogbnVtYmVyLCBvcHRpb25zUGFyYW0/OiBUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMob3B0aW9uc1BhcmFtKTtcbiAgICAgICAgcmVtb3ZlQ29sdW1uKG9wdHMsIGVkaXRvciwgY29sSW5kZXgpO1xuICAgIH0sXG5cbiAgICBjbGVhckNlbGwoZWRpdG9yOiBFZGl0b3IsIG5vZGVFbnRyeT86IE5vZGVFbnRyeTxFbGVtZW50Piwgb3B0aW9uc1BhcmFtPzogVGFibGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKG9wdGlvbnNQYXJhbSk7XG4gICAgICAgIGNsZWFyQ2VsbChvcHRzLCBlZGl0b3IsIG5vZGVFbnRyeSk7XG4gICAgfSxcblxuICAgIHNldENlbGxzQmFja2dyb3VuZENvbG9yKGVkaXRvcjogRWRpdG9yLCBjb2xvcjogc3RyaW5nLCBjZWxscz86IFRhYmxlQ2VsbEVsZW1lbnRbXSkge1xuICAgICAgICAvLyDngrnlh7voh6rlrprkuYnpopzoibLpnaLmnb/ovpPlhaXmoYborr7nva7popzoibLlgLzml7bvvIzkvJrkuKLlpLHnhKbngrnlkozpgInljLrvvIjnm67liY3ml6Dms5XlgZrliLDnhKbngrnlkIzml7blrZjlnKjkuo7nvJbovpHlmajlkozovpPlhaXmoYbvvIlcbiAgICAgICAgbGV0IGxvY2F0aW9uOiBQb2ludDtcbiAgICAgICAgaWYgKCFlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCB7IHJhbmdlUmVmIH0gPSBUSEVfRURJVE9SX1BSRVZJT1VTX1NFTEVDVElPTi5nZXQoZWRpdG9yKTtcbiAgICAgICAgICAgIGxvY2F0aW9uID0gcmFuZ2VSZWYuY3VycmVudC5hbmNob3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsb2NhdGlvbiA9IGVkaXRvci5zZWxlY3Rpb24/LmFuY2hvcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNlbGxzKSB7XG4gICAgICAgICAgICBjZWxscyA9IFRhYmxlRWRpdG9yLmdldFNlbGVjdGVkQ2VsbHMoZWRpdG9yLCBsb2NhdGlvbikgfHwgW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNlbGxzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaXNIZWFkZXIgPSBUYWJsZUVkaXRvci5pc0FjdGl2ZUhlYWRlcihlZGl0b3IsIGxvY2F0aW9uKTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb2xvciA9PT0gJ3RyYW5zcGFyZW50JyB8fFxuICAgICAgICAgICAgICAgIChjb2xvciA9PT0gVGFibGVIZWFkZXJCYWNrZ3JvdW5kQ29sb3IgJiYgaXNIZWFkZXIpIHx8XG4gICAgICAgICAgICAgICAgKGNvbG9yID09PSBTcGVjaWFsQmFja2dyb3VuZENvbG9yICYmICFpc0hlYWRlcilcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbG9yID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY2VsbHMubWFwKGNlbGwgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsUGF0aCA9IEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBjZWxsKTtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHsgYmFja2dyb3VuZENvbG9yOiBjb2xvciB9LCB7IGF0OiBjZWxsUGF0aCB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIG1lcmdlQ2VsbChlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENlbGxzUG9zaXRpb24gPSBUYWJsZUVkaXRvci5nZXRTZWxlY3RlZENlbGxQb3NpdGlvbnMoZWRpdG9yKTtcbiAgICAgICAgc2VsZWN0ZWRDZWxsc1Bvc2l0aW9uLmxlbmd0aCAmJiBtZXJnZUNlbGwoZWRpdG9yLCBzZWxlY3RlZENlbGxzUG9zaXRpb24pO1xuICAgIH0sXG5cbiAgICBzcGxpdENlbGwoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgc3BsaXRDZWxsKGVkaXRvcik7XG4gICAgfSxcblxuICAgIHNldFRhYmxlT3B0aW9ucyhlZGl0b3I6IEVkaXRvciwgbmV3T3B0aW9uczogVGhlVGFibGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHRhYmxlUG9zaXRpb24gPSBjcmVhdGVUYWJsZVBvc2l0aW9uKGVkaXRvcik7XG4gICAgICAgIGNvbnN0IHRhYmxlUGF0aCA9IGdldFRhYmxlUGF0aChlZGl0b3IpO1xuICAgICAgICBjb25zdCB0YWJsZSA9IHRhYmxlUG9zaXRpb24udGFibGU7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7IC4uLnRhYmxlLm9wdGlvbnMsIC4uLm5ld09wdGlvbnMgfTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHsgb3B0aW9ucyB9LCB7IGF0OiB0YWJsZVBhdGggfSk7XG4gICAgfSxcblxuICAgIHNldEVxdWFsbHlDb2x1bW4oZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgW3RhYmxlRW50cnldID0gRWRpdG9yLm5vZGVzKGVkaXRvciwgeyBhdDogZWRpdG9yLnNlbGVjdGlvbiwgbWF0Y2g6IChuOiBFbGVtZW50KSA9PiBuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZSB9KTtcbiAgICAgICAgY29uc3QgdGFibGVFbGVtZW50ID0gKHRhYmxlRW50cnkgJiYgdGFibGVFbnRyeVswXSkgYXMgVGFibGVFbGVtZW50O1xuICAgICAgICBpZiAodGFibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gdGFibGVFbGVtZW50LmNvbHVtbnM7XG4gICAgICAgICAgICBjb25zdCBzdW1XaWR0aCA9IGNvbHVtbnMucmVkdWNlKChwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZSArIGN1cnJlbnRWYWx1ZS53aWR0aDtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgY29uc3QgZXF1YWxDb2x1bW5zID0gY29sdW1ucy5tYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHdpZHRoOiBzdW1XaWR0aCAvIGNvbHVtbnMubGVuZ3RoIH07XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXROb2RlKGVkaXRvciwgeyBjb2x1bW5zOiBlcXVhbENvbHVtbnMgfSwgdGFibGVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBjbGVhckNlbGxzQ29udGVudChlZGl0b3I6IEVkaXRvciwgY2VsbHM/OiBUYWJsZUNlbGxFbGVtZW50W10pIHtcbiAgICAgICAgaWYgKCFjZWxscykge1xuICAgICAgICAgICAgY2VsbHMgPSBlZGl0b3Iuc2VsZWN0aW9ucyA/IFRhYmxlRWRpdG9yLmdldFNlbGVjdGVkQ2VsbHMoZWRpdG9yKSB8fCBbXSA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjZWxscy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCB0YWJsZVBvc2l0aW9uID0gY3JlYXRlVGFibGVQb3NpdGlvbihlZGl0b3IpO1xuICAgICAgICAgICAgaWYgKHRhYmxlUG9zaXRpb24uaXNJblRhYmxlKCkpIHtcbiAgICAgICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjZWxscy5mb3JFYWNoKGNlbGwgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IFRoZUVkaXRvci5maW5kUGF0aChlZGl0b3IsIGNlbGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgVGFibGVFZGl0b3IuY2xlYXJDZWxsKGVkaXRvciwgW2NlbGwsIHBhdGhdKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBFZGl0b3Iuc3RhcnQoZWRpdG9yLCB0YWJsZVBvc2l0aW9uLmNlbGxFbnRyeVsxXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIGlzQWN0aXZlKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IFt0YWJsZV0gPSBFZGl0b3Iubm9kZXMoZWRpdG9yLCB7IG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLnRhYmxlIH0pO1xuICAgICAgICByZXR1cm4gISF0YWJsZTtcbiAgICB9LFxuXG4gICAgZ2V0U2VsZWN0ZWRDZWxsUG9zaXRpb25zKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IHRhYmxlTm9kZSA9IFRoZVF1ZXJpZXMuZ2V0QWJvdmVCeVR5cGUoZWRpdG9yLCBFbGVtZW50S2luZHMudGFibGUpO1xuICAgICAgICBpZiAodGFibGVOb2RlKSB7XG4gICAgICAgICAgICBjb25zdCB0YWJsZUNvbXBvbmVudCA9IEVMRU1FTlRfVE9fQ09NUE9ORU5ULmdldCh0YWJsZU5vZGVbMF0pIGFzIFRoZVRhYmxlO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRDZWxsUG9zaXRpb25zID0gdGFibGVDb21wb25lbnQudGFibGVTdG9yZS5nZXRTZWxlY3RlZENlbGxQb3NpdGlvbnMoKTtcblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkQ2VsbFBvc2l0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkQ2VsbFBvc2l0aW9ucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9LFxuXG4gICAgZ2V0U2VsZWN0ZWRDZWxscyhlZGl0b3I6IEVkaXRvciwgbG9jYXRpb24/OiBQb2ludCkge1xuICAgICAgICBjb25zdCB0YWJsZU5vZGUgPSBUaGVRdWVyaWVzLmdldEFib3ZlQnlUeXBlKGVkaXRvciwgRWxlbWVudEtpbmRzLnRhYmxlLCB7XG4gICAgICAgICAgICBhdDogbG9jYXRpb24gfHwgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3JcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0YWJsZU5vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlQ29tcG9uZW50ID0gRUxFTUVOVF9UT19DT01QT05FTlQuZ2V0KHRhYmxlTm9kZVswXSkgYXMgVGhlVGFibGU7XG4gICAgICAgICAgICByZXR1cm4gdGFibGVDb21wb25lbnQ/LnRhYmxlU3RvcmU/LnNlbGVjdGVkQ2VsbHMgfHwgbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9LFxuXG4gICAgc2V0QWxpZ24oZWRpdG9yOiBFZGl0b3IsIGFsaWdubWVudDogQWxpZ25tZW50LCBjZWxscz86IFRhYmxlQ2VsbEVsZW1lbnRbXSkge1xuICAgICAgICByZXR1cm4gVGFibGVFZGl0b3IuaGFuZGxlU2VsZWN0ZWRDZWxscyhcbiAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgIChfLCBjZWxsUmFuZ2UpID0+IHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHsgYWxpZ246IGFsaWdubWVudCB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogY2VsbFJhbmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IChuOiBFbGVtZW50KSA9PiBBTElHTl9CTE9DS19UWVBFUy5pbmNsdWRlcyhuLnR5cGUpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNlbGxzXG4gICAgICAgICk7XG4gICAgfSxcblxuICAgIHNldFZlcnRpY2FsQWxpZ24oZWRpdG9yOiBUaGVFZGl0b3IsIGFsaWdubWVudDogVmVydGljYWxBbGlnbm1lbnQsIGNlbGxzPzogVGFibGVDZWxsRWxlbWVudFtdKSB7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBUYWJsZUVkaXRvci5oYW5kbGVTZWxlY3RlZENlbGxzKFxuICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgY2VsbFBhdGggPT4ge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZWRpdG9yLCB7IHZlcnRpY2FsQWxpZ246IGFsaWdubWVudCB9LCB7IGF0OiBjZWxsUGF0aCB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjZWxsc1xuICAgICAgICApO1xuICAgICAgICBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbGxFbnRyeSA9IFRoZVF1ZXJpZXMuZ2V0QWJvdmVCeVR5cGUoZWRpdG9yLCBFbGVtZW50S2luZHMudGFibGVDZWxsKTtcbiAgICAgICAgICAgIGlmIChjZWxsRW50cnkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbLCBjZWxsUGF0aF0gPSBjZWxsRW50cnk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB7IHZlcnRpY2FsQWxpZ246IGFsaWdubWVudCB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogY2VsbFBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaDogKG46IEVsZW1lbnQpID0+IG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLnRhYmxlQ2VsbFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuXG4gICAgaXNWZXJ0aWNhbEFsaWduQWN0aXZlKGVkaXRvcjogVGhlRWRpdG9yLCBhbGlnbm1lbnQ6IFZlcnRpY2FsQWxpZ25tZW50KSB7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gVGFibGVFZGl0b3IuZ2V0U2VsZWN0ZWRDZWxsUG9zaXRpb25zKGVkaXRvcik7XG4gICAgICAgIGlmIChjZWxscykge1xuICAgICAgICAgICAgY29uc3QgbGFzdENlbGwgPSBjZWxsc1tjZWxscy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlTm9kZSA9IFRoZVF1ZXJpZXMuZ2V0QWJvdmVCeVR5cGUoZWRpdG9yLCBFbGVtZW50S2luZHMudGFibGUpO1xuICAgICAgICAgICAgY29uc3QgY2VsbFBhdGggPSBbLi4udGFibGVOb2RlWzFdLCBsYXN0Q2VsbC5yb3csIGxhc3RDZWxsLmNvbF07XG4gICAgICAgICAgICBjb25zdCBjZWxsID0gTm9kZS5nZXQoZWRpdG9yLCBjZWxsUGF0aCkgYXMgVGFibGVDZWxsRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IHsgdmVydGljYWxBbGlnbiB9ID0gY2VsbDtcbiAgICAgICAgICAgIGlmICghdmVydGljYWxBbGlnbiAmJiBhbGlnbm1lbnQgPT09IFZlcnRpY2FsQWxpZ25tZW50LnRvcCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHZlcnRpY2FsQWxpZ24gPT09IGFsaWdubWVudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbGxFbGVtZW50ID0gVGhlUXVlcmllcy5nZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy50YWJsZUNlbGwpO1xuICAgICAgICAgICAgaWYgKGNlbGxFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB2ZXJ0aWNhbEFsaWduIH0gPSBjZWxsRWxlbWVudFswXTtcbiAgICAgICAgICAgICAgICBpZiAoIXZlcnRpY2FsQWxpZ24gJiYgYWxpZ25tZW50ID09PSBWZXJ0aWNhbEFsaWdubWVudC50b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2ZXJ0aWNhbEFsaWduID09PSBhbGlnbm1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcblxuICAgIHRvZ2dsZU1hcmsoZWRpdG9yOiBUaGVFZGl0b3IsIGlzQWN0aXZlOiBib29sZWFuLCBmb3JtYXQ6IHN0cmluZyB8IHN0cmluZ1tdLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIFRhYmxlRWRpdG9yLmhhbmRsZVNlbGVjdGVkQ2VsbHMoZWRpdG9yLCBhdCA9PiB7XG4gICAgICAgICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnVuc2V0Tm9kZXMoZWRpdG9yLCBmb3JtYXQsIHtcbiAgICAgICAgICAgICAgICAgICAgYXQsXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoOiBUZXh0LmlzVGV4dCxcbiAgICAgICAgICAgICAgICAgICAgc3BsaXQ6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB7IFtmb3JtYXQgYXMgc3RyaW5nXTogdmFsdWUgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaDogVGV4dC5pc1RleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGxpdDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSxcblxuICAgIGNsZWFyTWFyayhlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICByZXR1cm4gVGFibGVFZGl0b3IuaGFuZGxlU2VsZWN0ZWRDZWxscyhlZGl0b3IsIChjZWxsUGF0aCwgY2VsbFJhbmdlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bnNldE1hcmtzOiB7IFtrZXkgaW4gTWFya1R5cGVzXT86IG51bGwgfCBzdHJpbmcgfSA9IHt9O1xuICAgICAgICAgICAgTWFya1Byb3BzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgICAgICB1bnNldE1hcmtzW2tleV0gPSBudWxsO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldE1hcmtzKGVkaXRvciwgdW5zZXRNYXJrcywgY2VsbFJhbmdlKTtcbiAgICAgICAgfSk7XG4gICAgfSxcblxuICAgIGZvcm1hdEJydXNoKGVkaXRvcjogVGhlRWRpdG9yLCBtYXJrczogeyBba2V5IGluIE1hcmtUeXBlc10/OiBhbnkgfSkge1xuICAgICAgICByZXR1cm4gVGFibGVFZGl0b3IuaGFuZGxlU2VsZWN0ZWRDZWxscyhlZGl0b3IsIChjZWxsUGF0aCwgY2VsbFJhbmdlKSA9PiB7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldE1hcmtzKGVkaXRvciwgbWFya3MsIGNlbGxSYW5nZSk7XG4gICAgICAgIH0pO1xuICAgIH0sXG5cbiAgICBoYW5kbGVTZWxlY3RlZENlbGxzKGVkaXRvcjogVGhlRWRpdG9yLCBoYW5kbGU6IChjZWxsUGF0aDogUGF0aCwgY2VsbFJhbmdlOiBSYW5nZSkgPT4gdm9pZCwgY2VsbHM/OiBUYWJsZUNlbGxFbGVtZW50W10pIHtcbiAgICAgICAgaWYgKCFjZWxscykge1xuICAgICAgICAgICAgY2VsbHMgPSBUYWJsZUVkaXRvci5nZXRTZWxlY3RlZENlbGxzKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNlbGxzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY2VsbHMuZm9yRWFjaChjZWxsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbFBhdGggPSBUaGVFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBjZWxsKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbFJhbmdlID0geyBhbmNob3I6IEVkaXRvci5zdGFydChlZGl0b3IsIGNlbGxQYXRoKSwgZm9jdXM6IEVkaXRvci5lbmQoZWRpdG9yLCBjZWxsUGF0aCkgfTtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlKGNlbGxQYXRoLCBjZWxsUmFuZ2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcblxuICAgIGhhc0hlYWRlclJvdyhlZGl0b3I6IFRoZUVkaXRvciwgbG9jYXRpb24/OiBMb2NhdGlvbikge1xuICAgICAgICBjb25zdCBbdGFibGVFbnRyeV0gPSBFZGl0b3Iubm9kZXMoZWRpdG9yLCB7IGF0OiBsb2NhdGlvbiwgbWF0Y2g6IChuOiBFbGVtZW50KSA9PiBuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZSB9KTtcbiAgICAgICAgcmV0dXJuIGhhc0hlYWRlclJvdyh0YWJsZUVudHJ5WzBdIGFzIFRhYmxlRWxlbWVudCk7XG4gICAgfSxcblxuICAgIGhhc0hlYWRlckNvbHVtbihlZGl0b3I6IFRoZUVkaXRvciwgbG9jYXRpb24/OiBMb2NhdGlvbikge1xuICAgICAgICBjb25zdCBbdGFibGVFbnRyeV0gPSBFZGl0b3Iubm9kZXMoZWRpdG9yLCB7IGF0OiBsb2NhdGlvbiwgbWF0Y2g6IChuOiBFbGVtZW50KSA9PiBuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZSB9KTtcbiAgICAgICAgcmV0dXJuIHRhYmxlRW50cnkgJiYgKHRhYmxlRW50cnlbMF0gYXMgVGFibGVFbGVtZW50KT8ub3B0aW9ucz8uaGVhZGVyQ29sdW1uO1xuICAgIH0sXG5cbiAgICBpc0FjdGl2ZUhlYWRlcihlZGl0b3I6IFRoZUVkaXRvciwgbG9jYXRpb24/OiBMb2NhdGlvbikge1xuICAgICAgICBsb2NhdGlvbiA9IGxvY2F0aW9uIHx8IGVkaXRvci5zZWxlY3Rpb247XG4gICAgICAgIGlmICghVGFibGVFZGl0b3IuaGFzSGVhZGVyUm93KGVkaXRvciwgbG9jYXRpb24pICYmICFUYWJsZUVkaXRvci5oYXNIZWFkZXJDb2x1bW4oZWRpdG9yLCBsb2NhdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGNyZWF0ZVRhYmxlUG9zaXRpb24oZWRpdG9yLCAobG9jYXRpb24gYXMgUG9pbnQpLnBhdGgpO1xuICAgICAgICBpZiAoVGFibGVFZGl0b3IuaGFzSGVhZGVyUm93KGVkaXRvciwgbG9jYXRpb24pICYmIHBvc2l0aW9uLmdldFJvd0luZGV4KCkgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChUYWJsZUVkaXRvci5oYXNIZWFkZXJDb2x1bW4oZWRpdG9yLCBsb2NhdGlvbikgJiYgcG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcblxuICAgIGhhc0hlYWRlclJvd0NlbGwoZWRpdG9yOiBUaGVFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgaXNIZWFkZXJSb3cgPSBFZGl0b3Iubm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICBtYXRjaDogbiA9PlxuICAgICAgICAgICAgICAgIEVsZW1lbnQuaXNFbGVtZW50KG4pICYmXG4gICAgICAgICAgICAgICAgKChuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZVJvdyAmJiBuLmhlYWRlcikgfHwgKG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLnRhYmxlICYmIG4ub3B0aW9ucz8uaGVhZGVyUm93KSlcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ2VsbHMgPSBUYWJsZUVkaXRvci5nZXRTZWxlY3RlZENlbGxQb3NpdGlvbnMoZWRpdG9yKSA/PyBbXTtcbiAgICAgICAgc29ydENlbGwoc2VsZWN0ZWRDZWxscyk7XG4gICAgICAgIGNvbnN0IGlzQ29udGFpbkhlYWRlclJvdyA9ICEhc2VsZWN0ZWRDZWxscyAmJiBzZWxlY3RlZENlbGxzWzBdLnJvdyA9PT0gMDtcblxuICAgICAgICByZXR1cm4gaXNIZWFkZXJSb3cgJiYgaXNDb250YWluSGVhZGVyUm93O1xuICAgIH0sXG5cbiAgICBoYXNIZWFkZXJDb2x1bW5DZWxsKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IHRhYmxlID0gVGhlUXVlcmllcy5nZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy50YWJsZSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ2VsbHMgPSBUYWJsZUVkaXRvci5nZXRTZWxlY3RlZENlbGxQb3NpdGlvbnMoZWRpdG9yKSA/PyBbXTtcbiAgICAgICAgc29ydENlbGwoc2VsZWN0ZWRDZWxscyk7XG4gICAgICAgIGNvbnN0IGlzQ29udGFpbkhlYWRlckNvbHVtbiA9ICEhc2VsZWN0ZWRDZWxscyAmJiBzZWxlY3RlZENlbGxzWzBdLmNvbCA9PT0gMDtcbiAgICAgICAgY29uc3QgaXNIZWFkZXJDb2x1bW4gPSB0YWJsZSAmJiB0YWJsZVswXSAmJiAodGFibGVbMF0gYXMgVGFibGVFbGVtZW50KT8ub3B0aW9ucz8uaGVhZGVyQ29sdW1uO1xuXG4gICAgICAgIHJldHVybiBpc0hlYWRlckNvbHVtbiAmJiBpc0NvbnRhaW5IZWFkZXJDb2x1bW47XG4gICAgfSxcbiAgICBzZWxlY3RPcmlnaW5DZWxsKGVkaXRvcjogVGhlRWRpdG9yLCB0YWJsZTogVGFibGVFbGVtZW50LCByb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyLCBpc1N0YXJ0OiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IG9yaWdpbiA9IGdldE9yaWdpbkNlbGwodGFibGUsIHJvd0luZGV4LCBjb2x1bW5JbmRleCk7XG4gICAgICAgIGlmIChvcmlnaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBBbmd1bGFyRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgb3JpZ2luKTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgaXNTdGFydCA/IEVkaXRvci5zdGFydChlZGl0b3IsIHBhdGgpIDogRWRpdG9yLmVuZChlZGl0b3IsIHBhdGgpKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBoYW5kbGVJbmRlbnQoZWRpdG9yOiBUaGVFZGl0b3IsIGluZGVudFR5cGU6IEluZGVudHMpIHtcbiAgICAgICAgcmV0dXJuIFRhYmxlRWRpdG9yLmhhbmRsZVNlbGVjdGVkQ2VsbHMoZWRpdG9yLCAoY2VsbFBhdGgsIGNlbGxSYW5nZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSAoVGhlUXVlcmllcy5nZXROb2RlKGVkaXRvciwgY2VsbFBhdGgpIGFzIEN1c3RvbUVsZW1lbnQpLmNoaWxkcmVuIGFzIEVsZW1lbnRbXTtcblxuICAgICAgICAgICAgaWYgKGNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuLmZvckVhY2goKGNoaWxkOiBFbGVtZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldENlbGxJbmRlbnQoZWRpdG9yLCBpbmRlbnRUeXBlLCBjaGlsZCwgWy4uLmNlbGxQYXRoLCBpbmRleF0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59O1xuIl19
|
|
301
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdGFibGUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFZLElBQUksRUFBaUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN6RyxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFDSCxpQkFBaUIsRUFFakIsWUFBWSxFQUVaLFNBQVMsRUFFVCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNwQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRFLE9BQU8sRUFBRSxZQUFZLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFF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QUUsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDbkUsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgTG9jYXRpb24sIE5vZGUsIE5vZGVFbnRyeSwgUGF0aCwgUG9pbnQsIFJhbmdlLCBUZXh0LCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgRUxFTUVOVF9UT19DT01QT05FTlQgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7XG4gICAgQUxJR05fQkxPQ0tfVFlQRVMsXG4gICAgQWxpZ25tZW50LFxuICAgIEVsZW1lbnRLaW5kcyxcbiAgICBJbmRlbnRzLFxuICAgIE1hcmtQcm9wcyxcbiAgICBNYXJrVHlwZXMsXG4gICAgU3BlY2lhbEJhY2tncm91bmRDb2xvcixcbiAgICBUYWJsZUhlYWRlckJhY2tncm91bmRDb2xvcixcbiAgICBWZXJ0aWNhbEFsaWdubWVudFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudCwgVGFibGVDZWxsRWxlbWVudCwgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBUSEVfRURJVE9SX1BSRVZJT1VTX1NFTEVDVElPTiB9IGZyb20gJy4uLy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBUaGVUYWJsZSB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zLCBUaGVUYWJsZU9wdGlvbnMgfSBmcm9tICcuL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IGluc2VydENvbHVtbiwgaW5zZXJ0Um93LCBpbnNlcnRUYWJsZSwgcmVtb3ZlQ29sdW1uLCByZW1vdmVSb3csIHJlbW92ZVRhYmxlIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGNsZWFyQ2VsbCB9IGZyb20gJy4vdHJhbnNmb3Jtcy9jbGVhci1jZWxsJztcbmltcG9ydCB7IGdldE9yaWdpbkNlbGwsIGhhc0hlYWRlclJvdyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlVGFibGVQb3NpdGlvbiB9IGZyb20gJy4vdXRpbHMvY3JlYXRlLXRhYmxlLXBvc2l0aW9uJztcbmltcG9ydCB7IHNldENlbGxJbmRlbnQsIHNvcnRDZWxsIH0gZnJvbSAnLi91dGlscy9oYW5kbGUtY2VsbCc7XG5pbXBvcnQgeyBtZXJnZUNlbGwgfSBmcm9tICcuL3V0aWxzL21lcmdlLWNlbGwnO1xuaW1wb3J0IHsgc3BsaXRDZWxsIH0gZnJvbSAnLi91dGlscy9zcGxpdC1jZWxsJztcbmltcG9ydCB7IGdldFRhYmxlUGF0aCB9IGZyb20gJy4vdXRpbHMvdGFibGUtZW50cnknO1xuXG5leHBvcnQgY29uc3QgVGFibGVFZGl0b3IgPSB7XG4gICAgaW5zZXJ0VGFibGUoZWRpdG9yOiBFZGl0b3IsIG9wdGlvbnNQYXJhbT86IFRhYmxlT3B0aW9ucykge1xuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucyhvcHRpb25zUGFyYW0pO1xuICAgICAgICBpbnNlcnRUYWJsZShvcHRzLCBlZGl0b3IpO1xuICAgIH0sXG5cbiAgICBpbnNlcnRDb2x1bW4oZWRpdG9yOiBFZGl0b3IsIGNvdW50OiBudW1iZXIgPSAxLCBhdD86IG51bWJlciwgb3B0aW9uc1BhcmFtPzogVGFibGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKG9wdGlvbnNQYXJhbSk7XG4gICAgICAgIGluc2VydENvbHVtbihvcHRzLCBlZGl0b3IsIGNvdW50LCBhdCk7XG4gICAgfSxcblxuICAgIGluc2VydFJvdyhlZGl0b3I6IEVkaXRvciwgY291bnQ6IG51bWJlciA9IDEsIGF0PzogbnVtYmVyLCBvcHRpb25zUGFyYW0/OiBUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMob3B0aW9uc1BhcmFtKTtcbiAgICAgICAgaW5zZXJ0Um93KG9wdHMsIGVkaXRvciwgY291bnQsIGF0KTtcbiAgICB9LFxuXG4gICAgcmVtb3ZlVGFibGUoZWRpdG9yOiBFZGl0b3IsIG9wdGlvbnNQYXJhbT86IFRhYmxlT3B0aW9ucykge1xuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucyhvcHRpb25zUGFyYW0pO1xuICAgICAgICByZW1vdmVUYWJsZShvcHRzLCBlZGl0b3IpO1xuICAgIH0sXG5cbiAgICByZW1vdmVSb3coZWRpdG9yOiBFZGl0b3IsIHJvd0luZGV4PzogbnVtYmVyLCBvcHRpb25zUGFyYW0/OiBUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMob3B0aW9uc1BhcmFtKTtcbiAgICAgICAgcmVtb3ZlUm93KG9wdHMsIGVkaXRvciwgcm93SW5kZXgpO1xuICAgIH0sXG5cbiAgICByZW1vdmVDb2x1bW4oZWRpdG9yOiBFZGl0b3IsIGNvbEluZGV4PzogbnVtYmVyLCBvcHRpb25zUGFyYW0/OiBUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMob3B0aW9uc1BhcmFtKTtcbiAgICAgICAgcmVtb3ZlQ29sdW1uKG9wdHMsIGVkaXRvciwgY29sSW5kZXgpO1xuICAgIH0sXG5cbiAgICBjbGVhckNlbGwoZWRpdG9yOiBFZGl0b3IsIG5vZGVFbnRyeT86IE5vZGVFbnRyeTxFbGVtZW50Piwgb3B0aW9uc1BhcmFtPzogVGFibGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKG9wdGlvbnNQYXJhbSk7XG4gICAgICAgIGNsZWFyQ2VsbChvcHRzLCBlZGl0b3IsIG5vZGVFbnRyeSk7XG4gICAgfSxcblxuICAgIHNldENlbGxzQmFja2dyb3VuZENvbG9yKGVkaXRvcjogRWRpdG9yLCBjb2xvcjogc3RyaW5nLCBjZWxscz86IFRhYmxlQ2VsbEVsZW1lbnRbXSkge1xuICAgICAgICAvLyDngrnlh7voh6rlrprkuYnpopzoibLpnaLmnb/ovpPlhaXmoYborr7nva7popzoibLlgLzml7bvvIzkvJrkuKLlpLHnhKbngrnlkozpgInljLrvvIjnm67liY3ml6Dms5XlgZrliLDnhKbngrnlkIzml7blrZjlnKjkuo7nvJbovpHlmajlkozovpPlhaXmoYbvvIlcbiAgICAgICAgbGV0IGxvY2F0aW9uOiBQb2ludDtcbiAgICAgICAgaWYgKCFlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCB7IHJhbmdlUmVmIH0gPSBUSEVfRURJVE9SX1BSRVZJT1VTX1NFTEVDVElPTi5nZXQoZWRpdG9yKTtcbiAgICAgICAgICAgIGxvY2F0aW9uID0gcmFuZ2VSZWYuY3VycmVudC5hbmNob3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsb2NhdGlvbiA9IGVkaXRvci5zZWxlY3Rpb24/LmFuY2hvcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNlbGxzKSB7XG4gICAgICAgICAgICBjZWxscyA9IFRhYmxlRWRpdG9yLmdldFNlbGVjdGVkQ2VsbHMoZWRpdG9yLCBsb2NhdGlvbikgfHwgW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNlbGxzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaXNIZWFkZXIgPSBUYWJsZUVkaXRvci5pc0FjdGl2ZUhlYWRlcihlZGl0b3IsIGxvY2F0aW9uKTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb2xvciA9PT0gJ3RyYW5zcGFyZW50JyB8fFxuICAgICAgICAgICAgICAgIChjb2xvciA9PT0gVGFibGVIZWFkZXJCYWNrZ3JvdW5kQ29sb3IgJiYgaXNIZWFkZXIpIHx8XG4gICAgICAgICAgICAgICAgKGNvbG9yID09PSBTcGVjaWFsQmFja2dyb3VuZENvbG9yICYmICFpc0hlYWRlcilcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbG9yID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY2VsbHMubWFwKGNlbGwgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsUGF0aCA9IEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBjZWxsKTtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHsgYmFja2dyb3VuZENvbG9yOiBjb2xvciB9LCB7IGF0OiBjZWxsUGF0aCB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIG1lcmdlQ2VsbChlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENlbGxzUG9zaXRpb24gPSBUYWJsZUVkaXRvci5nZXRTZWxlY3RlZENlbGxQb3NpdGlvbnMoZWRpdG9yKTtcbiAgICAgICAgc2VsZWN0ZWRDZWxsc1Bvc2l0aW9uLmxlbmd0aCAmJiBtZXJnZUNlbGwoZWRpdG9yLCBzZWxlY3RlZENlbGxzUG9zaXRpb24pO1xuICAgIH0sXG5cbiAgICBzcGxpdENlbGwoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgc3BsaXRDZWxsKGVkaXRvcik7XG4gICAgfSxcblxuICAgIHNldFRhYmxlT3B0aW9ucyhlZGl0b3I6IEVkaXRvciwgbmV3T3B0aW9uczogVGhlVGFibGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHRhYmxlUG9zaXRpb24gPSBjcmVhdGVUYWJsZVBvc2l0aW9uKGVkaXRvcik7XG4gICAgICAgIGNvbnN0IHRhYmxlUGF0aCA9IGdldFRhYmxlUGF0aChlZGl0b3IpO1xuICAgICAgICBjb25zdCB0YWJsZSA9IHRhYmxlUG9zaXRpb24udGFibGU7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7IC4uLnRhYmxlLm9wdGlvbnMsIC4uLm5ld09wdGlvbnMgfTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHsgb3B0aW9ucyB9LCB7IGF0OiB0YWJsZVBhdGggfSk7XG4gICAgfSxcblxuICAgIHNldEVxdWFsbHlDb2x1bW4oZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgW3RhYmxlRW50cnldID0gRWRpdG9yLm5vZGVzKGVkaXRvciwgeyBhdDogZWRpdG9yLnNlbGVjdGlvbiwgbWF0Y2g6IChuOiBFbGVtZW50KSA9PiBuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZSB9KTtcbiAgICAgICAgY29uc3QgdGFibGVFbGVtZW50ID0gKHRhYmxlRW50cnkgJiYgdGFibGVFbnRyeVswXSkgYXMgVGFibGVFbGVtZW50O1xuICAgICAgICBpZiAodGFibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gdGFibGVFbGVtZW50LmNvbHVtbnM7XG4gICAgICAgICAgICBjb25zdCBzdW1XaWR0aCA9IGNvbHVtbnMucmVkdWNlKChwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZSArIGN1cnJlbnRWYWx1ZS53aWR0aDtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgY29uc3QgZXF1YWxDb2x1bW5zID0gY29sdW1ucy5tYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHdpZHRoOiBzdW1XaWR0aCAvIGNvbHVtbnMubGVuZ3RoIH07XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXROb2RlKGVkaXRvciwgeyBjb2x1bW5zOiBlcXVhbENvbHVtbnMgfSwgdGFibGVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBjbGVhckNlbGxzQ29udGVudChlZGl0b3I6IEVkaXRvciwgY2VsbHM/OiBUYWJsZUNlbGxFbGVtZW50W10pIHtcbiAgICAgICAgaWYgKCFjZWxscykge1xuICAgICAgICAgICAgY2VsbHMgPSBlZGl0b3Iuc2VsZWN0aW9uID8gVGFibGVFZGl0b3IuZ2V0U2VsZWN0ZWRDZWxscyhlZGl0b3IpIHx8IFtdIDogW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNlbGxzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlUG9zaXRpb24gPSBjcmVhdGVUYWJsZVBvc2l0aW9uKGVkaXRvcik7XG4gICAgICAgICAgICBpZiAodGFibGVQb3NpdGlvbi5pc0luVGFibGUoKSkge1xuICAgICAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNlbGxzLmZvckVhY2goY2VsbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gVGhlRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgY2VsbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5jbGVhckNlbGwoZWRpdG9yLCBbY2VsbCwgcGF0aF0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5zdGFydChlZGl0b3IsIHRhYmxlUG9zaXRpb24uY2VsbEVudHJ5WzFdKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgaXNBY3RpdmUoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgW3RhYmxlXSA9IEVkaXRvci5ub2RlcyhlZGl0b3IsIHsgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbi50eXBlID09PSBFbGVtZW50S2luZHMudGFibGUgfSk7XG4gICAgICAgIHJldHVybiAhIXRhYmxlO1xuICAgIH0sXG5cbiAgICBnZXRTZWxlY3RlZENlbGxQb3NpdGlvbnMoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgdGFibGVOb2RlID0gVGhlUXVlcmllcy5nZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy50YWJsZSk7XG4gICAgICAgIGlmICh0YWJsZU5vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlQ29tcG9uZW50ID0gRUxFTUVOVF9UT19DT01QT05FTlQuZ2V0KHRhYmxlTm9kZVswXSkgYXMgVGhlVGFibGU7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZENlbGxQb3NpdGlvbnMgPSB0YWJsZUNvbXBvbmVudC50YWJsZVN0b3JlLmdldFNlbGVjdGVkQ2VsbFBvc2l0aW9ucygpO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRDZWxsUG9zaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRDZWxsUG9zaXRpb25zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG5cbiAgICBnZXRTZWxlY3RlZENlbGxzKGVkaXRvcjogRWRpdG9yLCBsb2NhdGlvbj86IFBvaW50KSB7XG4gICAgICAgIGNvbnN0IHRhYmxlTm9kZSA9IFRoZVF1ZXJpZXMuZ2V0QWJvdmVCeVR5cGUoZWRpdG9yLCBFbGVtZW50S2luZHMudGFibGUsIHtcbiAgICAgICAgICAgIGF0OiBsb2NhdGlvbiB8fCBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvclxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRhYmxlTm9kZSkge1xuICAgICAgICAgICAgY29uc3QgdGFibGVDb21wb25lbnQgPSBFTEVNRU5UX1RPX0NPTVBPTkVOVC5nZXQodGFibGVOb2RlWzBdKSBhcyBUaGVUYWJsZTtcbiAgICAgICAgICAgIHJldHVybiB0YWJsZUNvbXBvbmVudD8udGFibGVTdG9yZT8uc2VsZWN0ZWRDZWxscyB8fCBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG5cbiAgICBzZXRBbGlnbihlZGl0b3I6IEVkaXRvciwgYWxpZ25tZW50OiBBbGlnbm1lbnQsIGNlbGxzPzogVGFibGVDZWxsRWxlbWVudFtdKSB7XG4gICAgICAgIHJldHVybiBUYWJsZUVkaXRvci5oYW5kbGVTZWxlY3RlZENlbGxzKFxuICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgKF8sIGNlbGxSYW5nZSkgPT4ge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgeyBhbGlnbjogYWxpZ25tZW50IH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0OiBjZWxsUmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaDogKG46IEVsZW1lbnQpID0+IEFMSUdOX0JMT0NLX1RZUEVTLmluY2x1ZGVzKG4udHlwZSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2VsbHNcbiAgICAgICAgKTtcbiAgICB9LFxuXG4gICAgc2V0VmVydGljYWxBbGlnbihlZGl0b3I6IFRoZUVkaXRvciwgYWxpZ25tZW50OiBWZXJ0aWNhbEFsaWdubWVudCwgY2VsbHM/OiBUYWJsZUNlbGxFbGVtZW50W10pIHtcbiAgICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IFRhYmxlRWRpdG9yLmhhbmRsZVNlbGVjdGVkQ2VsbHMoXG4gICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICBjZWxsUGF0aCA9PiB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHsgdmVydGljYWxBbGlnbjogYWxpZ25tZW50IH0sIHsgYXQ6IGNlbGxQYXRoIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNlbGxzXG4gICAgICAgICk7XG4gICAgICAgIGlmICghaXNTZWxlY3RlZCkge1xuICAgICAgICAgICAgY29uc3QgY2VsbEVudHJ5ID0gVGhlUXVlcmllcy5nZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy50YWJsZUNlbGwpO1xuICAgICAgICAgICAgaWYgKGNlbGxFbnRyeSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFssIGNlbGxQYXRoXSA9IGNlbGxFbnRyeTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHsgdmVydGljYWxBbGlnbjogYWxpZ25tZW50IH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0OiBjZWxsUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoOiAobjogRWxlbWVudCkgPT4gbi50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVDZWxsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG5cbiAgICBpc1ZlcnRpY2FsQWxpZ25BY3RpdmUoZWRpdG9yOiBUaGVFZGl0b3IsIGFsaWdubWVudDogVmVydGljYWxBbGlnbm1lbnQpIHtcbiAgICAgICAgY29uc3QgY2VsbHMgPSBUYWJsZUVkaXRvci5nZXRTZWxlY3RlZENlbGxQb3NpdGlvbnMoZWRpdG9yKTtcbiAgICAgICAgaWYgKGNlbGxzKSB7XG4gICAgICAgICAgICBjb25zdCBsYXN0Q2VsbCA9IGNlbGxzW2NlbGxzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgY29uc3QgdGFibGVOb2RlID0gVGhlUXVlcmllcy5nZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy50YWJsZSk7XG4gICAgICAgICAgICBjb25zdCBjZWxsUGF0aCA9IFsuLi50YWJsZU5vZGVbMV0sIGxhc3RDZWxsLnJvdywgbGFzdENlbGwuY29sXTtcbiAgICAgICAgICAgIGNvbnN0IGNlbGwgPSBOb2RlLmdldChlZGl0b3IsIGNlbGxQYXRoKSBhcyBUYWJsZUNlbGxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgeyB2ZXJ0aWNhbEFsaWduIH0gPSBjZWxsO1xuICAgICAgICAgICAgaWYgKCF2ZXJ0aWNhbEFsaWduICYmIGFsaWdubWVudCA9PT0gVmVydGljYWxBbGlnbm1lbnQudG9wKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmVydGljYWxBbGlnbiA9PT0gYWxpZ25tZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY2VsbEVsZW1lbnQgPSBUaGVRdWVyaWVzLmdldEFib3ZlQnlUeXBlKGVkaXRvciwgRWxlbWVudEtpbmRzLnRhYmxlQ2VsbCk7XG4gICAgICAgICAgICBpZiAoY2VsbEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHZlcnRpY2FsQWxpZ24gfSA9IGNlbGxFbGVtZW50WzBdO1xuICAgICAgICAgICAgICAgIGlmICghdmVydGljYWxBbGlnbiAmJiBhbGlnbm1lbnQgPT09IFZlcnRpY2FsQWxpZ25tZW50LnRvcCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZlcnRpY2FsQWxpZ24gPT09IGFsaWdubWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9LFxuXG4gICAgdG9nZ2xlTWFyayhlZGl0b3I6IFRoZUVkaXRvciwgaXNBY3RpdmU6IGJvb2xlYW4sIGZvcm1hdDogc3RyaW5nIHwgc3RyaW5nW10sIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gVGFibGVFZGl0b3IuaGFuZGxlU2VsZWN0ZWRDZWxscyhlZGl0b3IsIGF0ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMudW5zZXROb2RlcyhlZGl0b3IsIGZvcm1hdCwge1xuICAgICAgICAgICAgICAgICAgICBhdCxcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IFRleHQuaXNUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzcGxpdDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHsgW2Zvcm1hdCBhcyBzdHJpbmddOiB2YWx1ZSB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoOiBUZXh0LmlzVGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwbGl0OiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9LFxuXG4gICAgY2xlYXJNYXJrKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgICAgIHJldHVybiBUYWJsZUVkaXRvci5oYW5kbGVTZWxlY3RlZENlbGxzKGVkaXRvciwgKGNlbGxQYXRoLCBjZWxsUmFuZ2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVuc2V0TWFya3M6IHsgW2tleSBpbiBNYXJrVHlwZXNdPzogbnVsbCB8IHN0cmluZyB9ID0ge307XG4gICAgICAgICAgICBNYXJrUHJvcHMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgICAgIHVuc2V0TWFya3Nba2V5XSA9IG51bGw7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0TWFya3MoZWRpdG9yLCB1bnNldE1hcmtzLCBjZWxsUmFuZ2UpO1xuICAgICAgICB9KTtcbiAgICB9LFxuXG4gICAgZm9ybWF0QnJ1c2goZWRpdG9yOiBUaGVFZGl0b3IsIG1hcmtzOiB7IFtrZXkgaW4gTWFya1R5cGVzXT86IGFueSB9KSB7XG4gICAgICAgIHJldHVybiBUYWJsZUVkaXRvci5oYW5kbGVTZWxlY3RlZENlbGxzKGVkaXRvciwgKGNlbGxQYXRoLCBjZWxsUmFuZ2UpID0+IHtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0TWFya3MoZWRpdG9yLCBtYXJrcywgY2VsbFJhbmdlKTtcbiAgICAgICAgfSk7XG4gICAgfSxcblxuICAgIGhhbmRsZVNlbGVjdGVkQ2VsbHMoZWRpdG9yOiBUaGVFZGl0b3IsIGhhbmRsZTogKGNlbGxQYXRoOiBQYXRoLCBjZWxsUmFuZ2U6IFJhbmdlKSA9PiB2b2lkLCBjZWxscz86IFRhYmxlQ2VsbEVsZW1lbnRbXSkge1xuICAgICAgICBpZiAoIWNlbGxzKSB7XG4gICAgICAgICAgICBjZWxscyA9IFRhYmxlRWRpdG9yLmdldFNlbGVjdGVkQ2VsbHMoZWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2VsbHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICBjZWxscy5mb3JFYWNoKGNlbGwgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsUGF0aCA9IFRoZUVkaXRvci5maW5kUGF0aChlZGl0b3IsIGNlbGwpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsUmFuZ2UgPSB7IGFuY2hvcjogRWRpdG9yLnN0YXJ0KGVkaXRvciwgY2VsbFBhdGgpLCBmb2N1czogRWRpdG9yLmVuZChlZGl0b3IsIGNlbGxQYXRoKSB9O1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGUoY2VsbFBhdGgsIGNlbGxSYW5nZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuXG4gICAgaGFzSGVhZGVyUm93KGVkaXRvcjogVGhlRWRpdG9yLCBsb2NhdGlvbj86IExvY2F0aW9uKSB7XG4gICAgICAgIGNvbnN0IFt0YWJsZUVudHJ5XSA9IEVkaXRvci5ub2RlcyhlZGl0b3IsIHsgYXQ6IGxvY2F0aW9uLCBtYXRjaDogKG46IEVsZW1lbnQpID0+IG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLnRhYmxlIH0pO1xuICAgICAgICByZXR1cm4gaGFzSGVhZGVyUm93KHRhYmxlRW50cnlbMF0gYXMgVGFibGVFbGVtZW50KTtcbiAgICB9LFxuXG4gICAgaGFzSGVhZGVyQ29sdW1uKGVkaXRvcjogVGhlRWRpdG9yLCBsb2NhdGlvbj86IExvY2F0aW9uKSB7XG4gICAgICAgIGNvbnN0IFt0YWJsZUVudHJ5XSA9IEVkaXRvci5ub2RlcyhlZGl0b3IsIHsgYXQ6IGxvY2F0aW9uLCBtYXRjaDogKG46IEVsZW1lbnQpID0+IG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLnRhYmxlIH0pO1xuICAgICAgICByZXR1cm4gdGFibGVFbnRyeSAmJiAodGFibGVFbnRyeVswXSBhcyBUYWJsZUVsZW1lbnQpPy5vcHRpb25zPy5oZWFkZXJDb2x1bW47XG4gICAgfSxcblxuICAgIGlzQWN0aXZlSGVhZGVyKGVkaXRvcjogVGhlRWRpdG9yLCBsb2NhdGlvbj86IExvY2F0aW9uKSB7XG4gICAgICAgIGxvY2F0aW9uID0gbG9jYXRpb24gfHwgZWRpdG9yLnNlbGVjdGlvbjtcbiAgICAgICAgaWYgKCFUYWJsZUVkaXRvci5oYXNIZWFkZXJSb3coZWRpdG9yLCBsb2NhdGlvbikgJiYgIVRhYmxlRWRpdG9yLmhhc0hlYWRlckNvbHVtbihlZGl0b3IsIGxvY2F0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gY3JlYXRlVGFibGVQb3NpdGlvbihlZGl0b3IsIChsb2NhdGlvbiBhcyBQb2ludCkucGF0aCk7XG4gICAgICAgIGlmIChUYWJsZUVkaXRvci5oYXNIZWFkZXJSb3coZWRpdG9yLCBsb2NhdGlvbikgJiYgcG9zaXRpb24uZ2V0Um93SW5kZXgoKSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFRhYmxlRWRpdG9yLmhhc0hlYWRlckNvbHVtbihlZGl0b3IsIGxvY2F0aW9uKSAmJiBwb3NpdGlvbi5nZXRDb2x1bW5JbmRleCgpID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuXG4gICAgaGFzSGVhZGVyUm93Q2VsbChlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBpc0hlYWRlclJvdyA9IEVkaXRvci5ub2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgIG1hdGNoOiBuID0+XG4gICAgICAgICAgICAgICAgRWxlbWVudC5pc0VsZW1lbnQobikgJiZcbiAgICAgICAgICAgICAgICAoKG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLnRhYmxlUm93ICYmIG4uaGVhZGVyKSB8fCAobi50eXBlID09PSBFbGVtZW50S2luZHMudGFibGUgJiYgbi5vcHRpb25zPy5oZWFkZXJSb3cpKVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDZWxscyA9IFRhYmxlRWRpdG9yLmdldFNlbGVjdGVkQ2VsbFBvc2l0aW9ucyhlZGl0b3IpID8/IFtdO1xuICAgICAgICBzb3J0Q2VsbChzZWxlY3RlZENlbGxzKTtcbiAgICAgICAgY29uc3QgaXNDb250YWluSGVhZGVyUm93ID0gISFzZWxlY3RlZENlbGxzICYmIHNlbGVjdGVkQ2VsbHNbMF0ucm93ID09PSAwO1xuXG4gICAgICAgIHJldHVybiBpc0hlYWRlclJvdyAmJiBpc0NvbnRhaW5IZWFkZXJSb3c7XG4gICAgfSxcblxuICAgIGhhc0hlYWRlckNvbHVtbkNlbGwoZWRpdG9yOiBUaGVFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgdGFibGUgPSBUaGVRdWVyaWVzLmdldEFib3ZlQnlUeXBlKGVkaXRvciwgRWxlbWVudEtpbmRzLnRhYmxlKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDZWxscyA9IFRhYmxlRWRpdG9yLmdldFNlbGVjdGVkQ2VsbFBvc2l0aW9ucyhlZGl0b3IpID8/IFtdO1xuICAgICAgICBzb3J0Q2VsbChzZWxlY3RlZENlbGxzKTtcbiAgICAgICAgY29uc3QgaXNDb250YWluSGVhZGVyQ29sdW1uID0gISFzZWxlY3RlZENlbGxzICYmIHNlbGVjdGVkQ2VsbHNbMF0uY29sID09PSAwO1xuICAgICAgICBjb25zdCBpc0hlYWRlckNvbHVtbiA9IHRhYmxlICYmIHRhYmxlWzBdICYmICh0YWJsZVswXSBhcyBUYWJsZUVsZW1lbnQpPy5vcHRpb25zPy5oZWFkZXJDb2x1bW47XG5cbiAgICAgICAgcmV0dXJuIGlzSGVhZGVyQ29sdW1uICYmIGlzQ29udGFpbkhlYWRlckNvbHVtbjtcbiAgICB9LFxuICAgIHNlbGVjdE9yaWdpbkNlbGwoZWRpdG9yOiBUaGVFZGl0b3IsIHRhYmxlOiBUYWJsZUVsZW1lbnQsIHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIsIGlzU3RhcnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luID0gZ2V0T3JpZ2luQ2VsbCh0YWJsZSwgcm93SW5kZXgsIGNvbHVtbkluZGV4KTtcbiAgICAgICAgaWYgKG9yaWdpbikge1xuICAgICAgICAgICAgY29uc3QgcGF0aCA9IEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBvcmlnaW4pO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBpc1N0YXJ0ID8gRWRpdG9yLnN0YXJ0KGVkaXRvciwgcGF0aCkgOiBFZGl0b3IuZW5kKGVkaXRvciwgcGF0aCkpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIGhhbmRsZUluZGVudChlZGl0b3I6IFRoZUVkaXRvciwgaW5kZW50VHlwZTogSW5kZW50cykge1xuICAgICAgICByZXR1cm4gVGFibGVFZGl0b3IuaGFuZGxlU2VsZWN0ZWRDZWxscyhlZGl0b3IsIChjZWxsUGF0aCwgY2VsbFJhbmdlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IChUaGVRdWVyaWVzLmdldE5vZGUoZWRpdG9yLCBjZWxsUGF0aCkgYXMgQ3VzdG9tRWxlbWVudCkuY2hpbGRyZW4gYXMgRWxlbWVudFtdO1xuXG4gICAgICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQ6IEVsZW1lbnQsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0Q2VsbEluZGVudChlZGl0b3IsIGluZGVudFR5cGUsIGNoaWxkLCBbLi4uY2VsbFBhdGgsIGluZGV4XSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -65,4 +65,4 @@ export var TableSelectCellDirection;
|
|
|
65
65
|
TableSelectCellDirection[TableSelectCellDirection["down"] = 2] = "down";
|
|
66
66
|
TableSelectCellDirection[TableSelectCellDirection["left"] = 3] = "left";
|
|
67
67
|
})(TableSelectCellDirection || (TableSelectCellDirection = {}));
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS90YWJsZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUsxRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBMEIsaUJBQWlCLENBQUMsQ0FBQztBQUV4RyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDO0FBRTdDLE1BQU0sQ0FBTixJQUFZLGVBTVg7QUFORCxXQUFZLGVBQWU7SUFDdkIsMENBQXVCLENBQUE7SUFFdkIsZ0RBQTZCLENBQUE7SUFFN0Isb0RBQWlDLENBQUE7QUFDckMsQ0FBQyxFQU5XLGVBQWUsS0FBZixlQUFlLFFBTTFCO0FBUUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLENBQUMsYUFBYTtBQUNqRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHlCQUF5QjtBQUNwRSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUs7QUFDaEYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO0FBQ3BDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFDOUIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRywyQkFBMkIsQ0FBQztBQTRCbkUsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN2Qiw0QkFBUyxDQUFBO0lBQ1QsOEJBQVcsQ0FBQTtBQUNmLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQjtBQXFDRCxNQUFNLE9BQU8sWUFBWTtJQXNCckIsWUFBWSxPQUE0QjtRQXJCeEMsMkJBQTJCO1FBQzNCLGNBQVMsR0FBdUIsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNuRCx5QkFBeUI7UUFDekIsWUFBTyxHQUEwQixZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ3ZELDBCQUEwQjtRQUMxQixhQUFRLEdBQTJCLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFDMUQsdUNBQXVDO1FBQ3ZDLGdCQUFXLEdBQThCLFlBQVksQ0FBQyxZQUFZLENBQUM7UUFDbkUsMENBQTBDO1FBQzFDLGtCQUFhLEdBQTJCLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFFL0QsaUJBQVksR0FBRyxHQUFHLENBQUM7UUFFbkIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBR2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ1gsT0FBTztRQUNYLENBQUM7UUFDRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzlELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ25DLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBTixJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFDdkIsa0RBQStCLENBQUE7SUFDL0Isc0RBQW1DLENBQUE7SUFDbkMsNERBQXlDLENBQUE7SUFDekMsOERBQTJDLENBQUE7QUFDL0MsQ0FBQyxFQUxXLGVBQWUsS0FBZixlQUFlLFFBSzFCO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBS1g7QUFMRCxXQUFZLHdCQUF3QjtJQUNoQyxtRUFBRSxDQUFBO0lBQ0YseUVBQUssQ0FBQTtJQUNMLHVFQUFJLENBQUE7SUFDSix1RUFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUxXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFLbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuaW1wb3J0IHsgVGFibGVDZWxsRWxlbWVudCwgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy92aWV3LWJhc2UnO1xuaW1wb3J0IHsgVGhlVGFibGUgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFRIRV9UQUJMRV9DT01QT05FTlRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcG9uZW50VHlwZTxUaGVUYWJsZT4+KCd0aGUtVGFibGUtdG9rZW4nKTtcblxuZXhwb3J0IGNvbnN0IEhFQURFUl9DRUxMX0NMQVNTID0gJ3RoZS1oZWFkZXItY2VsbCc7XG5cbmV4cG9ydCBjb25zdCBTVElDS1lfQ0VMTF9DTEFTUyA9ICd0aGUtc3RpY2t5LWNlbGwnO1xuXG5leHBvcnQgY29uc3QgVE9QX0NFTExfQ0xBU1MgPSAndGhlLXRvcC1jZWxsJztcblxuZXhwb3J0IGVudW0gVGFibGVPcGVyYXRpb25zIHtcbiAgICBoZWFkZXJSb3cgPSAnaGVhZGVyUm93JyxcblxuICAgIGhlYWRlckNvbHVtbiA9ICdoZWFkZXJDb2x1bW4nLFxuXG4gICAgbnVtYmVyZWRDb2x1bW4gPSAnbnVtYmVyZWRDb2x1bW4nXG59XG5leHBvcnQgaW50ZXJmYWNlIFRoZVRhYmxlQmFzZSBleHRlbmRzIFRoZUJhc2VFbGVtZW50IHtcbiAgICBpbml0aWFsaXplQ29sdW1uczogKCkgPT4gdm9pZDtcbiAgICB0cmFuc2Zvcm1Db2x1bW5zV2lkdGg6ICgpID0+IHZvaWQ7XG4gICAgaW5pdGlhbGl6ZVJvd3M6ICgpID0+IHZvaWQ7XG4gICAgdHJhbnNmb3JtUm93SGVpZ2h0OiAocm93SW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IEJBU0VfQ0VMTF9IRUlHSFQgPSA0MTsgLy8gbWluIGhlaWdodFxuZXhwb3J0IGNvbnN0IEJBU0VfRklMTF9IRUlHSFQgPSAyICogOCArIDE7IC8vIHBhZGRpbmcgKiAyICsgYm9yZGVyIDFcbmV4cG9ydCBjb25zdCBCQVNFX0NFTExfSU5ORVJfSEVJR0hUID0gQkFTRV9DRUxMX0hFSUdIVCAtIEJBU0VfRklMTF9IRUlHSFQ7IC8vIDI0XG5leHBvcnQgY29uc3QgVEFCTEVfSU5TRVJUX01BU0sgPSAxOTtcbmV4cG9ydCBjb25zdCBUQUJMRV9CT1JERVIgPSAxO1xuZXhwb3J0IGNvbnN0IFRBQkxFX1BBRERJTkcgPSA4O1xuZXhwb3J0IGNvbnN0IFRBQkxFX0NPTlRST0wgPSAxMTtcbmV4cG9ydCBjb25zdCBUQUJMRV9OVU1CRVJfQ09MVU1OID0gNDU7XG5cbmV4cG9ydCBjb25zdCBUYWJsZVdpdGhTdGlja3lSb3dDbGFzcyA9ICd0aGUtdGFibGUtd2l0aC1zdGlja3ktcm93JztcblxuZXhwb3J0IGludGVyZmFjZSBUaGVUYWJsZUNvbHVtbiB7XG4gICAgd2lkdGg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVUYWJsZU9wdGlvbnMge1xuICAgIGhlYWRlclJvdz86IGJvb2xlYW47XG4gICAgaGVhZGVyQ29sdW1uPzogYm9vbGVhbjtcbiAgICBudW1iZXJlZENvbHVtbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudUVudGl0eSB7XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBrZXk6IHN0cmluZztcbiAgICBkaXZpZGVyPzogYm9vbGVhbjtcbiAgICBleHRlbmRJY29uPzogc3RyaW5nO1xuICAgIHZpc2liaWxpdHk/OiBib29sZWFuO1xuICAgIGlzSW5wdXROdW1iZXI/OiBib29sZWFuO1xuICAgIG5hbWVTdWZmaXg/OiBzdHJpbmc7XG4gICAgY291bnQ/OiBudW1iZXI7XG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIGFjdGlvbkhhbmRsZTogKGVudGl0eTogTWVudUVudGl0eSkgPT4gdm9pZDtcbiAgICBhY3RpdmVIYW5kbGU/OiAoZXZlbnQ6IE1vdXNlRXZlbnQsIGVudGl0eT86IE1lbnVFbnRpdHkpID0+IHZvaWQ7XG4gICAgZGVhY3RpdmF0ZUhhbmRsZT86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGVudW0gRnVsbHNjcmVlblN0YXRlIHtcbiAgICBvbiA9ICdvbicsXG4gICAgb2ZmID0gJ29mZidcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVQbHVnaW5UYWJsZU9wdGlvbiB7XG4gICAgZnJlZXplQ29sdW1uSGVhZGVyPzogYm9vbGVhbjsgLy8g5qCH6aKY5YiX5ZCO5rua5Yqo5piv5ZCm5pSv5oyB5Ya757uTXG4gICAgZnJlZXplUm93SGVhZGVyPzogYm9vbGVhbjsgLy8g5qCH6aKY6KGM5ZCO5rua5Yqo5piv5ZCm5pSv5oyB5Ya757uTXG4gICAgLy8g5ZCO5pyf5o+S5Lu255qE5bel5YW35qCP5pSv5oyB5aSW6YOo6Ieq5a6a5LmJ5pe25Y+v5Lul5Yig6ZmkXG4gICAgc2hvd0Z1bGxzY3JlZW4/OiBib29sZWFuO1xuICAgIHNldEZ1bGxzY3JlZW4/OiAoZWRpdG9yOiBFZGl0b3IsIGV2ZW50OiBNb3VzZUV2ZW50LCBlbGVtZW50OiBFbGVtZW50KSA9PiB2b2lkO1xuICAgIGZ1bGxzY3JlZW5BY3Rpb24/OiAoZWRpdG9yOiBFZGl0b3IpID0+IE9ic2VydmFibGU8eyBlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkOyBzdGF0ZTogRnVsbHNjcmVlblN0YXRlIH0+O1xuICAgIHJvd1NlbGVjdD86IChlZGl0b3I6IEVkaXRvciwgZGF0YTogeyBpbmRleDogbnVtYmVyOyBjZWxsczogVGFibGVDZWxsRWxlbWVudFtdIH0pID0+IHZvaWQ7XG4gICAgY29sU2VsZWN0PzogKGVkaXRvcjogRWRpdG9yLCBkYXRhOiB7IGluZGV4OiBudW1iZXI7IGNlbGxzOiBUYWJsZUNlbGxFbGVtZW50W10gfSkgPT4gdm9pZDtcbiAgICB0YWJsZVNlbGVjdD86IChlZGl0b3I6IEVkaXRvciwgZGF0YTogeyB0YWJsZTogVGFibGVFbGVtZW50IH0pID0+IHZvaWQ7XG4gICAgZGVzZWxlY3Q/OiAoZWRpdG9yOiBFZGl0b3IpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbFBvc2l0aW9uIHtcbiAgICByb3c6IG51bWJlcjtcbiAgICBjb2w6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZURyb3Bkb3duT3B0aW9uIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgaXNBY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlT3B0aW9uc0Zvcm1hdCB7XG4gICAgdHlwZVRhYmxlPzogRWxlbWVudEtpbmRzLnRhYmxlO1xuICAgIHR5cGVSb3c/OiBFbGVtZW50S2luZHMudGFibGVSb3c7XG4gICAgdHlwZUNlbGw/OiBFbGVtZW50S2luZHMudGFibGVDZWxsO1xuICAgIHR5cGVDb250ZW50PzogRWxlbWVudEtpbmRzLnRhYmxlQ29udGVudDtcbiAgICBleGl0QmxvY2tUeXBlPzogc3RyaW5nO1xuICAgIGRlZmF1bHRXaWR0aD86IG51bWJlcjtcbiAgICBtaW5XaWR0aD86IG51bWJlcjtcbiAgICBtYXhXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxlT3B0aW9ucyB7XG4gICAgLy8gVGhlIHR5cGUgb2YgdGFibGUgYmxvY2tzXG4gICAgdHlwZVRhYmxlOiBFbGVtZW50S2luZHMudGFibGUgPSBFbGVtZW50S2luZHMudGFibGU7XG4gICAgLy8gVGhlIHR5cGUgb2Ygcm93IGJsb2Nrc1xuICAgIHR5cGVSb3c6IEVsZW1lbnRLaW5kcy50YWJsZVJvdyA9IEVsZW1lbnRLaW5kcy50YWJsZVJvdztcbiAgICAvLyBUaGUgdHlwZSBvZiBjZWxsIGJsb2Nrc1xuICAgIHR5cGVDZWxsOiBFbGVtZW50S2luZHMudGFibGVDZWxsID0gRWxlbWVudEtpbmRzLnRhYmxlQ2VsbDtcbiAgICAvLyBUaGUgZGVmYXVsdCB0eXBlIGZvciBibG9ja3MgaW4gY2VsbHNcbiAgICB0eXBlQ29udGVudDogRWxlbWVudEtpbmRzLnRhYmxlQ29udGVudCA9IEVsZW1lbnRLaW5kcy50YWJsZUNvbnRlbnQ7XG4gICAgLy8gVGhlIHR5cGUgb2YgYmxvY2sgaW5zZXJ0ZWQgd2hlbiBleGl0aW5nXG4gICAgZXhpdEJsb2NrVHlwZTogRWxlbWVudEtpbmRzLnBhcmFncmFwaCA9IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGg7XG5cbiAgICBkZWZhdWx0V2lkdGggPSAyMDA7XG5cbiAgICBtaW5XaWR0aFB4ID0gNTI7XG5cbiAgICBtYXhXaWR0aFB4ID0gMTAwMDtcblxuICAgIG1pbkhlaWdodFB4ID0gNDE7XG5cbiAgICBtYXhIZWlnaHRQeCA9IDEwMDA7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzogVGFibGVPcHRpb25zRm9ybWF0KSB7XG4gICAgICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgdHlwZVRhYmxlLCB0eXBlUm93LCB0eXBlQ2VsbCwgdHlwZUNvbnRlbnQgfSA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMudHlwZVRhYmxlID0gdHlwZVRhYmxlO1xuICAgICAgICB0aGlzLnR5cGVSb3cgPSB0eXBlUm93O1xuICAgICAgICB0aGlzLnR5cGVDZWxsID0gdHlwZUNlbGw7XG4gICAgICAgIHRoaXMudHlwZUNvbnRlbnQgPSB0eXBlQ29udGVudDtcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIFRhYmxlSW5zZXJ0VHlwZSB7XG4gICAgaW5zZXJ0Um93c1VwID0gJ2luc2VydC1yb3dzLXVwJyxcbiAgICBpbnNlcnRSb3dzRG93biA9ICdpbnNlcnQtcm93cy1kb3duJyxcbiAgICBpbnNlcnRDb2x1bW5zTGVmdCA9ICdpbnNlcnQtY29sdW1ucy1sZWZ0JyxcbiAgICBpbnNlcnRDb2x1bW5zUmlnaHQgPSAnaW5zZXJ0LWNvbHVtbnMtcmlnaHQnXG59XG5cbmV4cG9ydCBlbnVtIFRhYmxlU2VsZWN0Q2VsbERpcmVjdGlvbiB7XG4gICAgdXAsXG4gICAgcmlnaHQsXG4gICAgZG93bixcbiAgICBsZWZ0XG59XG4iXX0=
|
|
@@ -55,7 +55,7 @@ export const getColumnsWidth = (cellRow) => {
|
|
|
55
55
|
*/
|
|
56
56
|
export const calcPrintColumnWidth = (element) => {
|
|
57
57
|
const opts = new TableOptions();
|
|
58
|
-
const columns = element?.columns;
|
|
58
|
+
const columns = element?.columns ?? [];
|
|
59
59
|
const numberedColumnWidth = element?.options?.numberedColumn ? TABLE_NUMBER_COLUMN : 0;
|
|
60
60
|
// 按照 DPI 96 的 A4 纸宽度是 794, 打印时左右 80px 的边距,所以这里取 794 - 80 * 2 = 634
|
|
61
61
|
// 如果存在序号列,还需要在 634 基础上减去序号列的宽度,剩下的才是内容区域的宽度
|
|
@@ -76,4 +76,4 @@ export const calcPrintColumnWidth = (element) => {
|
|
|
76
76
|
width: newColumnsWidth[index]
|
|
77
77
|
}));
|
|
78
78
|
};
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWdyaWQtY29sdW1ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3V0aWxzL2dldC1ncmlkLWNvbHVtbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBc0IsRUFBRSxVQUFvQixFQUFFLE9BQWUsSUFBSSxFQUFVLEVBQUU7SUFDeEcsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztTQUMzQixNQUFNLENBQUMsQ0FBQyxDQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDO1NBQzVDLE9BQU8sQ0FBQyxDQUFDLElBQWlCLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNuQyxJQUFJLE9BQU8sS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNyQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNkLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxF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LENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QixLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQztLQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTX1NBRkFSSSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRBQkxFX05VTUJFUl9DT0xVTU4sIFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcblxuLyoqXG4gKiDojrflj5bmoIfpopjooYznvZHmoLzliJflrr3lgLxcbiAqIEBwYXJhbSBlZGl0b3JcbiAqIEBwYXJhbSBoZWFkZXJSb3cg5qCH6aKY6KGMXG4gKiBAcGFyYW0gY2VsbHNXaWR0aFxuICogQHJldHVybnMgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRHcmlkQ29sdW1ucyA9IChoZWFkZXJSb3c6IEhUTUxFbGVtZW50LCBjZWxsc1dpZHRoOiBudW1iZXJbXSwgdW5pdDogc3RyaW5nID0gJ3B4Jyk6IHN0cmluZyA9PiB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIEFycmF5LmZyb20oaGVhZGVyUm93LmNoaWxkTm9kZXMpXG4gICAgICAgIC5maWx0ZXIoKG46IEhUTUxFbGVtZW50KSA9PiBuLm5vZGVUeXBlID09PSAxKVxuICAgICAgICAuZm9yRWFjaCgobm9kZTogSFRNTEVsZW1lbnQsIGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IG5vZGUuZ2V0QXR0cmlidXRlKCdjb2xzcGFuJyk7XG4gICAgICAgICAgICBjb25zdCBkaXNwbGF5ID0gbm9kZS5zdHlsZS5kaXNwbGF5O1xuICAgICAgICAgICAgaWYgKGRpc3BsYXkgPT09ICdub25lJykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb2wpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2xTcGFuID0gTnVtYmVyKGNvbCkgPz8gMTtcbiAgICAgICAgICAgICAgICBsZXQgd2lkdGggPSAwO1xuICAgICAgICAgICAgICAgIEFycmF5LmZyb20oeyBsZW5ndGg6IGNvbFNwYW4gfSwgKF8sIGopID0+IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gY2VsbHNXaWR0aFtpICsgal07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IHdpZHRoICsgYCR7dW5pdH0gYDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IGNlbGxzV2lkdGhbaV0gKyBgJHt1bml0fSBgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbHVtbnNXaWR0aCA9IChjZWxsUm93OiBIVE1MRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIEFycmF5LmZyb20oY2VsbFJvdy5jaGlsZE5vZGVzKVxuICAgICAgICAuZmlsdGVyKChuOiBIVE1MRWxlbWVudCkgPT4gbi5ub2RlVHlwZSA9PT0gMSlcbiAgICAgICAgLmZvckVhY2goKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoSVNfU0FGQVJJKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goaXRlbS5vZmZzZXRXaWR0aCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goaXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG4vKipcbiAqIOaJk+WNsOaooeW8j+S4i++8jOaMieeFp+WOn+WuveW6puavlOS+i+WfuuS6juW9k+WJjeihqOagvOWuveW6puiuoeeul+WIl+WuvVxuICogMS4g5omA5pyJ5YiX55qE5pyA5bCP5YiX5a695oC75ZKM5aSn5LqO6KGo5qC85a695bqm5pe277yM5omA5pyJ5YiX6L+U5Zue5pyA5bCP5a695bqmXG4gKiBAcGFyYW0gZWxlbWVudFxuICogQHBhcmFtIG1pbldpZHRoUHhcbiAqIEByZXR1cm5zIG51bWJlcltdXG4gKi9cbmV4cG9ydCBjb25zdCBjYWxjUHJpbnRDb2x1bW5XaWR0aCA9IChlbGVtZW50OiBUYWJsZUVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgIGNvbnN0IGNvbHVtbnMgPSBlbGVtZW50Py5jb2x1bW5zID8/IFtdO1xuICAgIGNvbnN0IG51bWJlcmVkQ29sdW1uV2lkdGggPSBlbGVtZW50Py5vcHRpb25zPy5udW1iZXJlZENvbHVtbiA/IFRBQkxFX05VTUJFUl9DT0xVTU4gOiAwO1xuICAgIC8vIOaMieeFpyBEUEkgOTYg55qEIEE0IOe6uOWuveW6puaYryA3OTQsIOaJk+WNsOaXtuW3puWPsyA4MHB4IOeahOi+uei3ne+8jOaJgOS7pei/memHjOWPliA3OTQgLSA4MCAqIDIgPSA2MzRcbiAgICAvLyDlpoLmnpzlrZjlnKjluo/lj7fliJfvvIzov5jpnIDopoHlnKggNjM0IOWfuuehgOS4iuWHj+WOu+W6j+WPt+WIl+eahOWuveW6pu+8jOWJqeS4i+eahOaJjeaYr+WGheWuueWMuuWfn+eahOWuveW6plxuICAgIGxldCBjb2x1bW5Ub3RhbFdpZHRoID0gNjM0IC0gbnVtYmVyZWRDb2x1bW5XaWR0aDtcbiAgICBjb25zdCBjb2x1bW5zV2lkdGggPSBjb2x1bW5zLnJlZHVjZSgoYSwgYikgPT4gYSArIGIud2lkdGgsIDApO1xuXG4gICAgLy8g6K6h566X5omA5pyJ5YiX55qEIG1pbldpZHRoIOaAu+WSjFxuICAgIGNvbnN0IHRvdGFsTWluV2lkdGggPSBvcHRzLm1pbldpZHRoUHggKiBjb2x1bW5zLmxlbmd0aDtcblxuICAgIGlmICh0b3RhbE1pbldpZHRoID4gY29sdW1uVG90YWxXaWR0aCkge1xuICAgICAgICAvLyDlpoLmnpzmiYDmnInliJfnmoQgbWluV2lkdGgg5oC75ZKM5aSn5LqOIGNvbHVtblRvdGFsV2lkdGjvvIzmiYDmnInliJfov5Tlm57mnIDlsI/lrr3luqZcbiAgICAgICAgcmV0dXJuIGNvbHVtbnMubWFwKCgpID0+ICh7IHdpZHRoOiBvcHRzLm1pbldpZHRoUHggfSkpO1xuICAgIH1cblxuICAgIC8vIOWcqOWJqeS9meeahOWuveW6puS4reaMieavlOS+i+WIhumFjVxuICAgIGNvbnN0IHJlbWFpbmluZ1dpZHRoID0gY29sdW1uVG90YWxXaWR0aCAtIHRvdGFsTWluV2lkdGg7XG4gICAgY29uc3QgcmVtYWluaW5nV2lkdGhSYXRpbyA9IGNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ud2lkdGggLyBjb2x1bW5zV2lkdGgpO1xuICAgIC8vIOS4uuS7gOS5iOWHjyAx77yMIOWboOS4uui/meS4quWuveW6puaYr+WGheWuueWMuuWfn+WuveW6pu+8jOS9hiB0ZCDlj7Pkvqfov5jmnInkuIDkuKrovrnmoYbvvIzmiYDku6Xlh4/ljrsgMVxuICAgIGxldCBuZXdDb2x1bW5zV2lkdGggPSByZW1haW5pbmdXaWR0aFJhdGlvLm1hcChyYXRpbyA9PiBvcHRzLm1pbldpZHRoUHggKyBNYXRoLmZsb29yKHJhdGlvICogcmVtYWluaW5nV2lkdGgpIC0gMSk7XG5cbiAgICByZXR1cm4gY29sdW1ucy5tYXAoKF8sIGluZGV4KSA9PiAoe1xuICAgICAgICB3aWR0aDogbmV3Q29sdW1uc1dpZHRoW2luZGV4XVxuICAgIH0pKTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AngularEditor, ELEMENT_TO_COMPONENT } from 'slate-angular';
|
|
2
|
+
import { getEditorScrollContainer } from '../../../utils/scrolling';
|
|
3
|
+
import { coercePixelsFromCssValue } from '../../../utils/dom';
|
|
4
|
+
export const getTableViewportRect = (editor, table) => {
|
|
5
|
+
const tableComponent = ELEMENT_TO_COMPONENT.get(table);
|
|
6
|
+
const tableWrapper = tableComponent.tableWrapper.nativeElement;
|
|
7
|
+
const tableWrapperCSSStyle = getComputedStyle(tableWrapper);
|
|
8
|
+
const tableWrapperRect = tableWrapper.getBoundingClientRect();
|
|
9
|
+
const tableWrapperPaddingBottom = coercePixelsFromCssValue(tableWrapperCSSStyle.paddingBottom || '0px');
|
|
10
|
+
const firstRow = AngularEditor.toDOMNode(editor, table.children[0]);
|
|
11
|
+
const firstRowRect = firstRow.getBoundingClientRect();
|
|
12
|
+
const controlHeight = 11;
|
|
13
|
+
const adjustedTableRect = {
|
|
14
|
+
left: tableWrapperRect.left,
|
|
15
|
+
right: tableWrapperRect.right,
|
|
16
|
+
bottom: tableWrapperRect.bottom - tableWrapperPaddingBottom,
|
|
17
|
+
top: firstRowRect.top - controlHeight
|
|
18
|
+
};
|
|
19
|
+
const editorScrollContainer = getEditorScrollContainer(editor);
|
|
20
|
+
const editorScrollContainerCSSStyle = getComputedStyle(editorScrollContainer);
|
|
21
|
+
const editorScrollContainerRect = editorScrollContainer.getBoundingClientRect();
|
|
22
|
+
// handle toolbar effect
|
|
23
|
+
const paddingTop = coercePixelsFromCssValue(editorScrollContainerCSSStyle.paddingTop || '0px');
|
|
24
|
+
const adjustedEditorScrollContainerRect = {
|
|
25
|
+
left: editorScrollContainerRect.left,
|
|
26
|
+
right: editorScrollContainerRect.right,
|
|
27
|
+
bottom: editorScrollContainerRect.bottom,
|
|
28
|
+
top: editorScrollContainerRect.top + paddingTop
|
|
29
|
+
};
|
|
30
|
+
const left = Math.max(adjustedEditorScrollContainerRect.left, adjustedTableRect.left);
|
|
31
|
+
const right = Math.min(adjustedEditorScrollContainerRect.right, adjustedTableRect.right);
|
|
32
|
+
const bottom = Math.min(adjustedEditorScrollContainerRect.bottom, adjustedTableRect.bottom);
|
|
33
|
+
const top = Math.max(adjustedEditorScrollContainerRect.top, adjustedTableRect.top);
|
|
34
|
+
return {
|
|
35
|
+
left,
|
|
36
|
+
right,
|
|
37
|
+
top,
|
|
38
|
+
bottom
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlld3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy90YWJsZS12aWV3cG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXBFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBYyxFQUFFLEtBQW1CLEVBQUUsRUFBRTtJQUN4RSxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFhLENBQUM7SUFDbkUsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxhQUE0QixDQUFDO0lBQzlFLE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUQsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM5RCxNQUFNLHlCQUF5QixHQUFHLHdCQUF3QixDQUFDLG9CQUFvQixDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUN4RyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLE1BQU0saUJBQWlCLEdBQUc7UUFDdEIsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUk7UUFDM0IsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUs7UUFDN0IsTUFBTSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sR0FBRyx5QkFBeUI7UUFDM0QsR0FBRyxFQUFFLFlBQVksQ0FBQyxHQUFHLEdBQUcsYUFBYTtLQUN4QyxDQUFDO0lBRUYsTUFBTSxxQkFBcUIsR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRCxNQUFNLDZCQUE2QixHQUFHLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDOUUsTUFBTSx5QkFBeUIsR0FBRyxxQkFBcUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2hGLHdCQUF3QjtJQUN4QixNQUFNLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyw2QkFBNkIsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLENBQUM7SUFDL0YsTUFBTSxpQ0FBaUMsR0FBRztRQUN0QyxJQUFJLEVBQUUseUJBQXlCLENBQUMsSUFBSTtRQUNwQyxLQUFLLEVBQUUseUJBQXlCLENBQUMsS0FBSztRQUN0QyxNQUFNLEVBQUUseUJBQXlCLENBQUMsTUFBTTtRQUN4QyxHQUFHLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLFVBQVU7S0FDbEQsQ0FBQztJQUVGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25GLE9BQU87UUFDSCxJQUFJO1FBQ0osS0FBSztRQUNMLEdBQUc7UUFDSCxNQUFNO0tBQ1QsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIEVMRU1FTlRfVE9fQ09NUE9ORU5UIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlVGFibGUgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRFZGl0b3JTY3JvbGxDb250YWluZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZG9tJztcblxuZXhwb3J0IGNvbnN0IGdldFRhYmxlVmlld3BvcnRSZWN0ID0gKGVkaXRvcjogRWRpdG9yLCB0YWJsZTogVGFibGVFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgdGFibGVDb21wb25lbnQgPSBFTEVNRU5UX1RPX0NPTVBPTkVOVC5nZXQodGFibGUpIGFzIFRoZVRhYmxlO1xuICAgIGNvbnN0IHRhYmxlV3JhcHBlciA9IHRhYmxlQ29tcG9uZW50LnRhYmxlV3JhcHBlci5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHRhYmxlV3JhcHBlckNTU1N0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0YWJsZVdyYXBwZXIpO1xuICAgIGNvbnN0IHRhYmxlV3JhcHBlclJlY3QgPSB0YWJsZVdyYXBwZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdGFibGVXcmFwcGVyUGFkZGluZ0JvdHRvbSA9IGNvZXJjZVBpeGVsc0Zyb21Dc3NWYWx1ZSh0YWJsZVdyYXBwZXJDU1NTdHlsZS5wYWRkaW5nQm90dG9tIHx8ICcwcHgnKTtcbiAgICBjb25zdCBmaXJzdFJvdyA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgdGFibGUuY2hpbGRyZW5bMF0pO1xuICAgIGNvbnN0IGZpcnN0Um93UmVjdCA9IGZpcnN0Um93LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGNvbnRyb2xIZWlnaHQgPSAxMTtcbiAgICBjb25zdCBhZGp1c3RlZFRhYmxlUmVjdCA9IHtcbiAgICAgICAgbGVmdDogdGFibGVXcmFwcGVyUmVjdC5sZWZ0LFxuICAgICAgICByaWdodDogdGFibGVXcmFwcGVyUmVjdC5yaWdodCxcbiAgICAgICAgYm90dG9tOiB0YWJsZVdyYXBwZXJSZWN0LmJvdHRvbSAtIHRhYmxlV3JhcHBlclBhZGRpbmdCb3R0b20sXG4gICAgICAgIHRvcDogZmlyc3RSb3dSZWN0LnRvcCAtIGNvbnRyb2xIZWlnaHRcbiAgICB9O1xuXG4gICAgY29uc3QgZWRpdG9yU2Nyb2xsQ29udGFpbmVyID0gZ2V0RWRpdG9yU2Nyb2xsQ29udGFpbmVyKGVkaXRvcik7XG4gICAgY29uc3QgZWRpdG9yU2Nyb2xsQ29udGFpbmVyQ1NTU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVkaXRvclNjcm9sbENvbnRhaW5lcik7XG4gICAgY29uc3QgZWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdCA9IGVkaXRvclNjcm9sbENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAvLyBoYW5kbGUgdG9vbGJhciBlZmZlY3RcbiAgICBjb25zdCBwYWRkaW5nVG9wID0gY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlKGVkaXRvclNjcm9sbENvbnRhaW5lckNTU1N0eWxlLnBhZGRpbmdUb3AgfHwgJzBweCcpO1xuICAgIGNvbnN0IGFkanVzdGVkRWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdCA9IHtcbiAgICAgICAgbGVmdDogZWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdC5sZWZ0LFxuICAgICAgICByaWdodDogZWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdC5yaWdodCxcbiAgICAgICAgYm90dG9tOiBlZGl0b3JTY3JvbGxDb250YWluZXJSZWN0LmJvdHRvbSxcbiAgICAgICAgdG9wOiBlZGl0b3JTY3JvbGxDb250YWluZXJSZWN0LnRvcCArIHBhZGRpbmdUb3BcbiAgICB9O1xuXG4gICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KGFkanVzdGVkRWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdC5sZWZ0LCBhZGp1c3RlZFRhYmxlUmVjdC5sZWZ0KTtcbiAgICBjb25zdCByaWdodCA9IE1hdGgubWluKGFkanVzdGVkRWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdC5yaWdodCwgYWRqdXN0ZWRUYWJsZVJlY3QucmlnaHQpO1xuICAgIGNvbnN0IGJvdHRvbSA9IE1hdGgubWluKGFkanVzdGVkRWRpdG9yU2Nyb2xsQ29udGFpbmVyUmVjdC5ib3R0b20sIGFkanVzdGVkVGFibGVSZWN0LmJvdHRvbSk7XG4gICAgY29uc3QgdG9wID0gTWF0aC5tYXgoYWRqdXN0ZWRFZGl0b3JTY3JvbGxDb250YWluZXJSZWN0LnRvcCwgYWRqdXN0ZWRUYWJsZVJlY3QudG9wKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBsZWZ0LFxuICAgICAgICByaWdodCxcbiAgICAgICAgdG9wLFxuICAgICAgICBib3R0b21cbiAgICB9O1xufTtcbiJdfQ==
|
|
@@ -22,7 +22,6 @@ export class TheVerticalToolbarItem extends TheBaseToolbarDropdown {
|
|
|
22
22
|
this.thyPopover = thyPopover;
|
|
23
23
|
this.viewContainerRef = viewContainerRef;
|
|
24
24
|
}
|
|
25
|
-
ngOnInit() { }
|
|
26
25
|
menusActive(editor) {
|
|
27
26
|
return this.menus.find(i => {
|
|
28
27
|
if (this.editor?.selection && i?.active) {
|
|
@@ -63,13 +62,12 @@ export class TheVerticalToolbarItem extends TheBaseToolbarDropdown {
|
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheVerticalToolbarItem, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TheVerticalToolbarItem, isStandalone: true, selector: "the-toolbar-vertical-align-item", host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" },
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TheVerticalToolbarItem, isStandalone: true, selector: "the-toolbar-vertical-align-item", host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, classAttribute: "the-toolbar-dropdown-container verticalAlign" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["VerticalAlignItems"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<a\n href=\"javascript:;\"\n class=\"icon-mode link-with-down\"\n thyAction\n [thyActionIcon]=\"activeMenuItem?.icon\"\n [thyActionActive]=\"isOpened\"\n [thyTooltip]=\"toolbarItem?.name\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n>\n <thy-icon class=\"font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #VerticalAlignItems>\n <div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menu of toolbarItem?.includes\">\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"menu.key === activeMenuItem?.key\"\n (mousedown)=\"itemMousedown($event, menu)\"\n >\n <thy-icon *ngIf=\"menu.icon\" thyDropdownMenuItemIcon [thyIconName]=\"menu?.icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ menu.name }}</span>\n </a>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }] }); }
|
|
67
66
|
}
|
|
68
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheVerticalToolbarItem, decorators: [{
|
|
69
68
|
type: Component,
|
|
70
69
|
args: [{ selector: 'the-toolbar-vertical-align-item', host: {
|
|
71
|
-
class: 'the-toolbar-dropdown-container verticalAlign'
|
|
72
|
-
'[class.hide]': '!active'
|
|
70
|
+
class: 'the-toolbar-dropdown-container verticalAlign'
|
|
73
71
|
}, standalone: true, imports: [
|
|
74
72
|
NgFor,
|
|
75
73
|
NgIf,
|
|
@@ -88,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
88
86
|
type: HostListener,
|
|
89
87
|
args: ['document: mousedown', ['$event']]
|
|
90
88
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3ZlcnRpY2FsLWFsaWduL3Rvb2xiYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy92ZXJ0aWNhbC1hbGlnbi90b29sYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyw0QkFBNEIsRUFDNUIsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxFQUNuQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBc0JuRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsc0JBQXNCO0lBTTlELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkksQ0FBQztJQUdELHVCQUF1QixDQUFDLEtBQWlCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxR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LFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVFwRSx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5QWN0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9hY3Rpb24nO1xuaW1wb3J0IHtcbiAgICBUaHlEcm9wZG93bk1lbnVJdGVtQWN0aXZlRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbUljb25EaXJlY3RpdmUsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbU5hbWVEaXJlY3RpdmVcbn0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGh5VG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvdG9vbHRpcCc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVCYXNlVG9vbGJhckRyb3Bkb3duIH0gZnJvbSAnLi4vLi4vY29yZS90b29sYmFyLWl0ZW0vYmFzZS10b29sYmFyLWl0ZW0nO1xuaW1wb3J0IHsgVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtdG9vbGJhci12ZXJ0aWNhbC1hbGlnbi1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRvb2xiYXItZHJvcGRvd24tY29udGFpbmVyIHZlcnRpY2FsQWxpZ24nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFRoeUljb24sXG4gICAgICAgIFRoeUFjdGlvbixcbiAgICAgICAgVGh5VG9vbHRpcERpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbUljb25EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVJdGVtQWN0aXZlRGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVWZXJ0aWNhbFRvb2xiYXJJdGVtIGV4dGVuZHMgVGhlQmFzZVRvb2xiYXJEcm9wZG93biB7XG4gICAgZHJvcGRvd25Qb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdWZXJ0aWNhbEFsaWduSXRlbXMnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGdldCBpc09wZW5lZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmICYmIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmLmdldE92ZXJsYXlSZWYoKSAmJiB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZi5nZXRPdmVybGF5UmVmKCkuaGFzQXR0YWNoZWQoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDogbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVEb2N1bWVudE1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBtZW51c0FjdGl2ZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICByZXR1cm4gdGhpcy5tZW51cy5maW5kKGkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZWRpdG9yPy5zZWxlY3Rpb24gJiYgaT8uYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGk/LmFjdGl2ZShlZGl0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBleGVjdXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHN1cGVyLmV4ZWN1dGUoZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnJlYWRPbmx5IHx8IHRoaXMuZWRpdG9yPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3BlblBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBpdGVtTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtOiBUb29sYmFySXRlbSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB0aGlzLmNsb3NlKCk7XG5cbiAgICAgICAgaWYgKGl0ZW0/LmV4ZWN1dGUpIHtcbiAgICAgICAgICAgIGl0ZW0/LmV4ZWN1dGUodGhpcy5lZGl0b3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlblBvcG92ZXIoKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4odGhpcy50ZW1wbGF0ZSwge1xuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBbJ3RoZS10b29sYmFyLWRyb3Bkb3duLXBvcG92ZXInLCB0aGlzLnRvb2xiYXJJdGVtPy5rZXldLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBvZmZzZXQ6IDEwLFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZikge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxhXG4gIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICBjbGFzcz1cImljb24tbW9kZSBsaW5rLXdpdGgtZG93blwiXG4gIHRoeUFjdGlvblxuICBbdGh5QWN0aW9uSWNvbl09XCJhY3RpdmVNZW51SXRlbT8uaWNvblwiXG4gIFt0aHlBY3Rpb25BY3RpdmVdPVwiaXNPcGVuZWRcIlxuICBbdGh5VG9vbHRpcF09XCJ0b29sYmFySXRlbT8ubmFtZVwiXG4gIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAobW91c2Vkb3duKT1cImV4ZWN1dGUoJGV2ZW50KVwiXG4+XG4gIDx0aHktaWNvbiBjbGFzcz1cImZvbnQtc2l6ZS1zbSB0ZXh0LWRlc2MgbWwtMVwiIHRoeUljb25OYW1lPVwiY2FyZXQtZG93blwiPjwvdGh5LWljb24+XG48L2E+XG5cbjxuZy10ZW1wbGF0ZSAjVmVydGljYWxBbGlnbkl0ZW1zPlxuICA8ZGl2IGNsYXNzPVwidGh5LWRyb3Bkb3duLW1lbnVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW51IG9mIHRvb2xiYXJJdGVtPy5pbmNsdWRlc1wiPlxuICAgICAgPGFcbiAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICAgIHRoeURyb3Bkb3duTWVudUl0ZW1cbiAgICAgICAgW3RoeURyb3Bkb3duTWVudUl0ZW1BY3RpdmVdPVwibWVudS5rZXkgPT09IGFjdGl2ZU1lbnVJdGVtPy5rZXlcIlxuICAgICAgICAobW91c2Vkb3duKT1cIml0ZW1Nb3VzZWRvd24oJGV2ZW50LCBtZW51KVwiXG4gICAgICA+XG4gICAgICAgIDx0aHktaWNvbiAqbmdJZj1cIm1lbnUuaWNvblwiIHRoeURyb3Bkb3duTWVudUl0ZW1JY29uIFt0aHlJY29uTmFtZV09XCJtZW51Py5pY29uXCI+PC90aHktaWNvbj5cbiAgICAgICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbU5hbWU+e3sgbWVudS5uYW1lIH19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -2,12 +2,12 @@ import { Editor, Element } from 'slate';
|
|
|
2
2
|
import { getBlockCardCenterCursor } from './get-block-card-cursor';
|
|
3
3
|
import { isBlockCardCursor } from './is-block-card-cursor';
|
|
4
4
|
export const anchorBlockEntry = (editor, at) => {
|
|
5
|
-
if (
|
|
6
|
-
at = getBlockCardCenterCursor(editor);
|
|
5
|
+
if (isBlockCardCursor(editor, at)) {
|
|
6
|
+
at = getBlockCardCenterCursor(editor, at);
|
|
7
7
|
}
|
|
8
8
|
return Editor.above(editor, {
|
|
9
9
|
match: n => Element.isElement(n) && Editor.isBlock(editor, n),
|
|
10
10
|
at
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLWJsb2NrLWVudHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3F1ZXJpZXMvYW5jaG9yLWJsb2NrLWVudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQXVCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFhLEVBQWtDLEVBQUU7SUFDOUYsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNoQyxFQUFFLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQVUsTUFBTSxFQUFFO1FBQ2pDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzdELEVBQUU7S0FDTCxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIE5vZGVFbnRyeSwgTG9jYXRpb24sIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBnZXRCbG9ja0NhcmRDZW50ZXJDdXJzb3IgfSBmcm9tICcuL2dldC1ibG9jay1jYXJkLWN1cnNvcic7XG5pbXBvcnQgeyBpc0Jsb2NrQ2FyZEN1cnNvciB9IGZyb20gJy4vaXMtYmxvY2stY2FyZC1jdXJzb3InO1xuXG5leHBvcnQgY29uc3QgYW5jaG9yQmxvY2tFbnRyeSA9IChlZGl0b3I6IEVkaXRvciwgYXQ/OiBMb2NhdGlvbik6IE5vZGVFbnRyeTxFbGVtZW50PiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKGlzQmxvY2tDYXJkQ3Vyc29yKGVkaXRvciwgYXQpKSB7XG4gICAgICAgIGF0ID0gZ2V0QmxvY2tDYXJkQ2VudGVyQ3Vyc29yKGVkaXRvciwgYXQpO1xuICAgIH1cblxuICAgIHJldHVybiBFZGl0b3IuYWJvdmU8RWxlbWVudD4oZWRpdG9yLCB7XG4gICAgICAgIG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIEVkaXRvci5pc0Jsb2NrKGVkaXRvciwgbiksXG4gICAgICAgIGF0XG4gICAgfSk7XG59O1xuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { anchorBlockEntry } from './anchor-block-entry';
|
|
2
|
-
export const anchorBlock = (editor) => {
|
|
3
|
-
const entry = anchorBlockEntry(editor,
|
|
2
|
+
export const anchorBlock = (editor, at) => {
|
|
3
|
+
const entry = anchorBlockEntry(editor, at);
|
|
4
4
|
return entry ? entry[0] : null;
|
|
5
5
|
};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLWJsb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3F1ZXJpZXMvYW5jaG9yLWJsb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFhLEVBQVcsRUFBRTtJQUNsRSxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ25DLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgTG9jYXRpb24gfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBhbmNob3JCbG9ja0VudHJ5IH0gZnJvbSAnLi9hbmNob3ItYmxvY2stZW50cnknO1xuXG5leHBvcnQgY29uc3QgYW5jaG9yQmxvY2sgPSAoZWRpdG9yOiBFZGl0b3IsIGF0PzogTG9jYXRpb24pOiBFbGVtZW50ID0+IHtcbiAgICBjb25zdCBlbnRyeSA9IGFuY2hvckJsb2NrRW50cnkoZWRpdG9yLCBhdCk7XG4gICAgcmV0dXJuIGVudHJ5ID8gZW50cnlbMF0gOiBudWxsO1xufTtcbiJdfQ==
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Editor } from 'slate';
|
|
2
|
-
export const getBlockCardCenterCursor = (editor) => {
|
|
2
|
+
export const getBlockCardCenterCursor = (editor, at) => {
|
|
3
|
+
if (at) {
|
|
4
|
+
const point = Editor.point(editor, at);
|
|
5
|
+
return Editor.start(editor, point.path);
|
|
6
|
+
}
|
|
3
7
|
return Editor.start(editor, editor.selection.anchor.path);
|
|
4
8
|
};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJsb2NrLWNhcmQtY3Vyc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3F1ZXJpZXMvZ2V0LWJsb2NrLWNhcmQtY3Vyc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVksTUFBTSxPQUFPLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBYSxFQUFFLEVBQUU7SUFDdEUsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNMLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTG9jYXRpb24gfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBnZXRCbG9ja0NhcmRDZW50ZXJDdXJzb3IgPSAoZWRpdG9yOiBFZGl0b3IsIGF0PzogTG9jYXRpb24pID0+IHtcbiAgICBpZiAoYXQpIHtcbiAgICAgICAgY29uc3QgcG9pbnQgPSBFZGl0b3IucG9pbnQoZWRpdG9yLCBhdCk7XG4gICAgICAgIHJldHVybiBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBwb2ludC5wYXRoKTtcbiAgICB9XG4gICAgcmV0dXJuIEVkaXRvci5zdGFydChlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xufTtcbiJdfQ==
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { Editor } from 'slate';
|
|
2
|
+
export const isBlockCardCursor = (editor, at) => {
|
|
3
|
+
if (at) {
|
|
4
|
+
const point = at && Editor.point(editor, at);
|
|
5
|
+
return point.offset < 0;
|
|
6
|
+
}
|
|
2
7
|
return editor.selection.anchor.offset < 0;
|
|
3
8
|
};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYmxvY2stY2FyZC1jdXJzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9pcy1ibG9jay1jYXJkLWN1cnNvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFZLE1BQU0sT0FBTyxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQWEsRUFBRSxFQUFFO0lBQy9ELElBQUksRUFBRSxFQUFFLENBQUM7UUFDTCxNQUFNLEtBQUssR0FBRyxFQUFFLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTG9jYXRpb24gfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBpc0Jsb2NrQ2FyZEN1cnNvciA9IChlZGl0b3I6IEVkaXRvciwgYXQ/OiBMb2NhdGlvbikgPT4ge1xuICAgIGlmIChhdCkge1xuICAgICAgICBjb25zdCBwb2ludCA9IGF0ICYmIEVkaXRvci5wb2ludChlZGl0b3IsIGF0KTtcbiAgICAgICAgcmV0dXJuIHBvaW50Lm9mZnNldCA8IDA7XG4gICAgfVxuICAgIHJldHVybiBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5vZmZzZXQgPCAwO1xufTtcbiJdfQ==
|
package/esm2022/utils/index.mjs
CHANGED
|
@@ -16,8 +16,8 @@ export * from './is-clean-empty-paragraph';
|
|
|
16
16
|
export * from './lodash';
|
|
17
17
|
export * from './merge-element-options';
|
|
18
18
|
export * from './refocus';
|
|
19
|
-
export * from './
|
|
19
|
+
export * from './scrolling';
|
|
20
20
|
export * from './update-popover-position';
|
|
21
21
|
export * from './weak-maps';
|
|
22
22
|
export * from './normalize';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvLWZvY3VzJztcbmV4cG9ydCAqIGZyb20gJy4vYmxvYic7XG5leHBvcnQgKiBmcm9tICcuL2NvbG9yLXBpY2tlcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2NvcHktbm9kZSc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1lbXB0eS1wYXJhZ3JhcGgnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLXRyYW5zZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2RvbSc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci11dWlkJztcbmV4cG9ydCAqIGZyb20gJy4vZnJhZ21lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtbW9kZSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC10b29sYmFyLWNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vaWQtY3JlYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2luc2VydC1kYXRhLWJ5LWludmFsaWQtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWNsZWFuLWVtcHR5LXBhcmFncmFwaCc7XG5leHBvcnQgKiBmcm9tICcuL2xvZGFzaCc7XG5leHBvcnQgKiBmcm9tICcuL21lcmdlLWVsZW1lbnQtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3JlZm9jdXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zY3JvbGxpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi91cGRhdGUtcG9wb3Zlci1wb3NpdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3dlYWstbWFwcyc7XG5leHBvcnQgKiBmcm9tICcuL25vcm1hbGl6ZSc7XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { AngularEditor } from 'slate-angular';
|
|
2
|
+
import { DEFAULT_SCROLL_CONTAINER } from '../constants';
|
|
3
|
+
import { getEditableElementHeight } from './get-editable-element-height';
|
|
4
|
+
let previousHeight = 0;
|
|
5
|
+
/**
|
|
6
|
+
* reset the sliding distance when the viewport position of the sliding
|
|
7
|
+
* container coincides with the viewport position of the focus element
|
|
8
|
+
*/
|
|
9
|
+
export const scrollIntoView = (editor, scrollContainer) => {
|
|
10
|
+
const isFocused = AngularEditor.isFocused(editor);
|
|
11
|
+
const nativeSelection = window.getSelection();
|
|
12
|
+
if (!isFocused || !nativeSelection?.focusNode) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
// fix the page scrolling problem when the associated page card and text status switch in the table
|
|
16
|
+
// the native selection area is abnormal, and the cursor automatically jumps to the left cursor of the block-level element (browser native behavior when switching display)
|
|
17
|
+
// temporary solution: Determine whether the DOM corresponding to the Slate selection area is equal to the DOM corresponding to the browser selection. If they are not equal, it means an abnormal situation, and automatic scrolling will no longer be performed
|
|
18
|
+
const domRange = AngularEditor.toDOMRange(editor, editor.selection);
|
|
19
|
+
if (domRange.startContainer !== nativeSelection.anchorNode) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const currentNodeElement = nativeSelection.focusNode.parentElement;
|
|
23
|
+
const scrollContainerElement = currentNodeElement.closest(scrollContainer ?? DEFAULT_SCROLL_CONTAINER);
|
|
24
|
+
if (!scrollContainerElement) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const scrollContainerRect = scrollContainerElement.getBoundingClientRect();
|
|
28
|
+
const focusBlockRect = currentNodeElement.getBoundingClientRect();
|
|
29
|
+
const scrollHeight = scrollContainer ? window.innerHeight : scrollContainerRect.bottom;
|
|
30
|
+
const currentHeight = getEditableElementHeight(editor);
|
|
31
|
+
const scrollOffset = scrollHeight - focusBlockRect.bottom;
|
|
32
|
+
if (currentHeight && scrollOffset < 30) {
|
|
33
|
+
// 16 为底部间隔,防止紧贴底部
|
|
34
|
+
scrollContainerElement.scrollTop = scrollContainerElement.scrollTop - scrollOffset + 16;
|
|
35
|
+
}
|
|
36
|
+
previousHeight = currentHeight;
|
|
37
|
+
};
|
|
38
|
+
export const getEditorScrollContainer = (editor, scrollContainerSelector) => {
|
|
39
|
+
const selector = scrollContainerSelector || editor.options.scrollContainer || DEFAULT_SCROLL_CONTAINER;
|
|
40
|
+
const editable = AngularEditor.toDOMNode(editor, editor);
|
|
41
|
+
return editable.closest(selector);
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL3Njcm9sbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkI7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBYyxFQUFFLGVBQXdCLEVBQUUsRUFBRTtJQUN2RSxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzVDLE9BQU87SUFDWCxDQUFDO0lBRUQsbUdBQW1HO0lBQ25HLDJLQUEySztJQUMzSyxpUUFBaVE7SUFDalEsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BFLElBQUksUUFBUSxDQUFDLGNBQWMsS0FBSyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDekQsT0FBTztJQUNYLENBQUM7SUFFRCxNQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQ25FLE1BQU0sc0JBQXNCLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDO0lBRXZHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzFCLE9BQU87SUFDWCxDQUFDO0lBQ0QsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzNFLE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDbEUsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7SUFDdkYsTUFBTSxhQUFhLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQUcsWUFBWSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDMUQsSUFBSSxhQUFhLElBQUksWUFBWSxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ3JDLGtCQUFrQjtRQUNsQixzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxHQUFHLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDNUYsQ0FBQztJQUVELGNBQWMsR0FBRyxhQUFhLENBQUM7QUFDbkMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsdUJBQWdDLEVBQUUsRUFBRTtJQUN6RixNQUFNLFFBQVEsR0FBRyx1QkFBdUIsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSx3QkFBd0IsQ0FBQztJQUN2RyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6RCxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFnQixDQUFDO0FBQ3JELENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IERFRkFVTFRfU0NST0xMX0NPTlRBSU5FUiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRFZGl0YWJsZUVsZW1lbnRIZWlnaHQgfSBmcm9tICcuL2dldC1lZGl0YWJsZS1lbGVtZW50LWhlaWdodCc7XG5cbmxldCBwcmV2aW91c0hlaWdodCA9IDA7XG5cbi8qKlxuICogcmVzZXQgdGhlIHNsaWRpbmcgZGlzdGFuY2Ugd2hlbiB0aGUgdmlld3BvcnQgcG9zaXRpb24gb2YgdGhlIHNsaWRpbmdcbiAqIGNvbnRhaW5lciBjb2luY2lkZXMgd2l0aCB0aGUgdmlld3BvcnQgcG9zaXRpb24gb2YgdGhlIGZvY3VzIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IHNjcm9sbEludG9WaWV3ID0gKGVkaXRvcjogRWRpdG9yLCBzY3JvbGxDb250YWluZXI/OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBpc0ZvY3VzZWQgPSBBbmd1bGFyRWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpO1xuICAgIGNvbnN0IG5hdGl2ZVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICBpZiAoIWlzRm9jdXNlZCB8fCAhbmF0aXZlU2VsZWN0aW9uPy5mb2N1c05vZGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGZpeCB0aGUgcGFnZSBzY3JvbGxpbmcgcHJvYmxlbSB3aGVuIHRoZSBhc3NvY2lhdGVkIHBhZ2UgY2FyZCBhbmQgdGV4dCBzdGF0dXMgc3dpdGNoIGluIHRoZSB0YWJsZVxuICAgIC8vIHRoZSBuYXRpdmUgc2VsZWN0aW9uIGFyZWEgaXMgYWJub3JtYWwsIGFuZCB0aGUgY3Vyc29yIGF1dG9tYXRpY2FsbHkganVtcHMgdG8gdGhlIGxlZnQgY3Vyc29yIG9mIHRoZSBibG9jay1sZXZlbCBlbGVtZW50IChicm93c2VyIG5hdGl2ZSBiZWhhdmlvciB3aGVuIHN3aXRjaGluZyBkaXNwbGF5KVxuICAgIC8vIHRlbXBvcmFyeSBzb2x1dGlvbjogRGV0ZXJtaW5lIHdoZXRoZXIgdGhlIERPTSBjb3JyZXNwb25kaW5nIHRvIHRoZSBTbGF0ZSBzZWxlY3Rpb24gYXJlYSBpcyBlcXVhbCB0byB0aGUgRE9NIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJyb3dzZXIgc2VsZWN0aW9uLiBJZiB0aGV5IGFyZSBub3QgZXF1YWwsIGl0IG1lYW5zIGFuIGFibm9ybWFsIHNpdHVhdGlvbiwgYW5kIGF1dG9tYXRpYyBzY3JvbGxpbmcgd2lsbCBubyBsb25nZXIgYmUgcGVyZm9ybWVkXG4gICAgY29uc3QgZG9tUmFuZ2UgPSBBbmd1bGFyRWRpdG9yLnRvRE9NUmFuZ2UoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICBpZiAoZG9tUmFuZ2Uuc3RhcnRDb250YWluZXIgIT09IG5hdGl2ZVNlbGVjdGlvbi5hbmNob3JOb2RlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50Tm9kZUVsZW1lbnQgPSBuYXRpdmVTZWxlY3Rpb24uZm9jdXNOb2RlLnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyRWxlbWVudCA9IGN1cnJlbnROb2RlRWxlbWVudC5jbG9zZXN0KHNjcm9sbENvbnRhaW5lciA/PyBERUZBVUxUX1NDUk9MTF9DT05UQUlORVIpO1xuXG4gICAgaWYgKCFzY3JvbGxDb250YWluZXJFbGVtZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyUmVjdCA9IHNjcm9sbENvbnRhaW5lckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgZm9jdXNCbG9ja1JlY3QgPSBjdXJyZW50Tm9kZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gc2Nyb2xsQ29udGFpbmVyID8gd2luZG93LmlubmVySGVpZ2h0IDogc2Nyb2xsQ29udGFpbmVyUmVjdC5ib3R0b207XG4gICAgY29uc3QgY3VycmVudEhlaWdodCA9IGdldEVkaXRhYmxlRWxlbWVudEhlaWdodChlZGl0b3IpO1xuICAgIGNvbnN0IHNjcm9sbE9mZnNldCA9IHNjcm9sbEhlaWdodCAtIGZvY3VzQmxvY2tSZWN0LmJvdHRvbTtcbiAgICBpZiAoY3VycmVudEhlaWdodCAmJiBzY3JvbGxPZmZzZXQgPCAzMCkge1xuICAgICAgICAvLyAxNiDkuLrlupXpg6jpl7TpmpTvvIzpmLLmraLntKfotLTlupXpg6hcbiAgICAgICAgc2Nyb2xsQ29udGFpbmVyRWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxDb250YWluZXJFbGVtZW50LnNjcm9sbFRvcCAtIHNjcm9sbE9mZnNldCArIDE2O1xuICAgIH1cblxuICAgIHByZXZpb3VzSGVpZ2h0ID0gY3VycmVudEhlaWdodDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFZGl0b3JTY3JvbGxDb250YWluZXIgPSAoZWRpdG9yOiBFZGl0b3IsIHNjcm9sbENvbnRhaW5lclNlbGVjdG9yPzogc3RyaW5nKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBzY3JvbGxDb250YWluZXJTZWxlY3RvciB8fCBlZGl0b3Iub3B0aW9ucy5zY3JvbGxDb250YWluZXIgfHwgREVGQVVMVF9TQ1JPTExfQ09OVEFJTkVSO1xuICAgIGNvbnN0IGVkaXRhYmxlID0gQW5ndWxhckVkaXRvci50b0RPTU5vZGUoZWRpdG9yLCBlZGl0b3IpO1xuICAgIHJldHVybiBlZGl0YWJsZS5jbG9zZXN0KHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcbn0iXX0=
|