@worktile/theia 14.3.9 → 14.3.11
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/contextmenu/contextmenu.component.d.ts +3 -2
- package/components/contextmenu/contextmenu.component.scss +7 -0
- package/components/index.d.ts +11 -0
- package/components/index.scss +10 -0
- package/constants/index.d.ts +1 -0
- package/editor.module.d.ts +7 -5
- package/esm2020/components/action/prevent-default.mjs +4 -4
- package/esm2020/components/color-select/color-select.component.mjs +4 -4
- package/esm2020/components/column-resize/column-resize-notifier.mjs +4 -4
- package/esm2020/components/column-resize/column-resize.directive.mjs +6 -6
- package/esm2020/components/column-resize/column-resize.module.mjs +9 -9
- package/esm2020/components/column-resize/event-dispatcher.mjs +4 -4
- package/esm2020/components/column-resize/overlay-handle.component.mjs +4 -4
- package/esm2020/components/column-resize/resizing.store.mjs +4 -4
- package/esm2020/components/contextmenu/contextmenu.component.mjs +15 -9
- package/esm2020/components/conversion-hint/conversion-hint.component.mjs +4 -4
- package/esm2020/components/element/element.component.mjs +4 -4
- package/esm2020/components/index.mjs +12 -0
- package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +4 -4
- package/esm2020/components/listbox/listbox.mjs +10 -10
- package/esm2020/components/plugin-menu/plugin-menu.component.mjs +4 -4
- package/esm2020/components/table-select/table-select.component.mjs +4 -4
- package/esm2020/components/template/template.component.mjs +4 -4
- package/esm2020/components/text/text.component.mjs +4 -4
- package/esm2020/components/toolbar/toolbar.component.mjs +4 -4
- package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +4 -4
- package/esm2020/components/toolbar-group/toolbar-group.component.mjs +4 -4
- package/esm2020/components/toolbar-item/toolbar-item.component.mjs +4 -4
- package/esm2020/constants/index.mjs +2 -1
- package/esm2020/core/toolbar-item/base-toolbar-item.mjs +7 -7
- package/esm2020/editor.component.mjs +4 -4
- package/esm2020/editor.module.mjs +12 -9
- package/esm2020/interfaces/view-base.mjs +4 -4
- package/esm2020/pipes.mjs +7 -7
- package/esm2020/plugins/blockquote/blockquote.component.mjs +4 -4
- package/esm2020/plugins/code/code.component.mjs +6 -9
- package/esm2020/plugins/color/toolbar-item.component.mjs +4 -4
- package/esm2020/plugins/hr/hr.component.mjs +4 -4
- package/esm2020/plugins/image/image.component.mjs +4 -4
- package/esm2020/plugins/indent/indent.editor.mjs +10 -4
- package/esm2020/plugins/indent/on-keydown-indent.mjs +5 -1
- package/esm2020/plugins/inline-code/inline-code.component.mjs +4 -4
- package/esm2020/plugins/link/edit/link-edit.component.mjs +4 -4
- package/esm2020/plugins/link/hover/link-hover.component.mjs +4 -4
- package/esm2020/plugins/link/link.component.mjs +7 -7
- package/esm2020/plugins/list/components/bulleted-list.component.mjs +5 -5
- package/esm2020/plugins/list/components/list-item.component.mjs +4 -4
- package/esm2020/plugins/list/components/numbered-list.component.mjs +5 -5
- package/esm2020/plugins/mention/suggestion.component.mjs +4 -4
- package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +4 -4
- package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +8 -14
- package/esm2020/plugins/table/components/row/row.component.mjs +24 -18
- package/esm2020/plugins/table/components/table.component.mjs +218 -40
- package/esm2020/plugins/table/components/td/td.component.mjs +16 -45
- package/esm2020/plugins/table/components/toolbar/table-options.component.mjs +28 -13
- package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +47 -17
- package/esm2020/plugins/table/table.editor.mjs +79 -19
- package/esm2020/plugins/table/table.pipe.mjs +25 -6
- package/esm2020/plugins/table/table.plugin.mjs +2 -1
- package/esm2020/plugins/table/table.service.mjs +8 -9
- package/esm2020/plugins/table/table.store.mjs +71 -77
- package/esm2020/plugins/table/table.types.mjs +16 -4
- package/esm2020/plugins/table/toolbar-item.component.mjs +4 -4
- package/esm2020/plugins/table/transforms/index.mjs +8 -0
- package/esm2020/plugins/table/transforms/insert-column.mjs +11 -3
- package/esm2020/plugins/table/transforms/insert-row.mjs +36 -29
- package/esm2020/plugins/table/utils/add-columns.mjs +16 -2
- package/esm2020/plugins/table/utils/create-table.mjs +5 -3
- package/esm2020/plugins/table/utils/index.mjs +3 -2
- package/esm2020/plugins/table/utils/is-selection-in-table.mjs +42 -1
- package/esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs +37 -7
- package/esm2020/plugins/table/utils/table-position.mjs +1 -1
- package/esm2020/plugins/todo-item/todo-item.component.mjs +5 -5
- package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +4 -4
- package/esm2020/public-api.mjs +4 -12
- package/esm2020/services/color-select.service.mjs +4 -4
- package/esm2020/services/context.service.mjs +31 -7
- package/esm2020/services/table-contextmenu.service.mjs +106 -13
- package/esm2020/services/toolbar.service.mjs +4 -4
- package/esm2020/utils/copy-node.mjs +28 -13
- package/esm2020/utils/refocus.mjs +7 -7
- package/fesm2015/worktile-theia.mjs +1740 -1214
- package/fesm2015/worktile-theia.mjs.map +1 -1
- package/fesm2020/worktile-theia.mjs +1719 -1209
- package/fesm2020/worktile-theia.mjs.map +1 -1
- package/package.json +1 -1
- package/plugins/table/components/mixins.scss +11 -0
- package/plugins/table/components/row/row.component.d.ts +5 -3
- package/plugins/table/components/table.component.d.ts +29 -10
- package/plugins/table/components/table.component.scss +171 -70
- package/plugins/table/components/td/td.component.d.ts +3 -4
- package/plugins/table/components/toolbar/table-toolbar.component.d.ts +10 -3
- package/plugins/table/table.editor.d.ts +8 -4
- package/plugins/table/table.pipe.d.ts +6 -1
- package/plugins/table/table.service.d.ts +1 -1
- package/plugins/table/table.store.d.ts +10 -3
- package/plugins/table/table.types.d.ts +17 -3
- package/plugins/table/transforms/index.d.ts +7 -0
- package/plugins/table/utils/add-columns.d.ts +1 -1
- package/plugins/table/utils/index.d.ts +2 -1
- package/plugins/table/utils/is-selection-in-table.d.ts +8 -1
- package/plugins/table/utils/set-menu-cell-invisibility.d.ts +6 -1
- package/plugins/table/utils/table-position.d.ts +2 -2
- package/public-api.d.ts +3 -11
- package/services/context.service.d.ts +7 -2
- package/services/table-contextmenu.service.d.ts +16 -3
- package/styles/index.scss +1 -9
- package/utils/copy-node.d.ts +3 -1
- package/utils/refocus.d.ts +1 -2
|
@@ -51,8 +51,8 @@ export class TheTableToolbarItemComponent extends TheBaseToolbarItem {
|
|
|
51
51
|
return this.tableSelectRef;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
TheTableToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
55
|
-
TheTableToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
54
|
+
TheTableToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TheTableToolbarItemComponent, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
+
TheTableToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: TheTableToolbarItemComponent, selector: "the-table-toolbar-item", host: { classAttribute: "the-toolbar-dropdown-container" }, usesInheritance: true, ngImport: i0, template: `
|
|
56
56
|
<a
|
|
57
57
|
href="javascript:;"
|
|
58
58
|
class="link-with-down"
|
|
@@ -67,7 +67,7 @@ TheTableToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
|
|
|
67
67
|
<thy-icon class="link-down-icon font-size-sm text-desc ml-1" thyIconName="caret-down"> </thy-icon>
|
|
68
68
|
</a>
|
|
69
69
|
`, isInline: true, dependencies: [{ kind: "component", type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: i4.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: i5.ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }] });
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TheTableToolbarItemComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
72
|
args: [{
|
|
73
73
|
selector: 'the-table-toolbar-item',
|
|
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
91
91
|
}
|
|
92
92
|
}]
|
|
93
93
|
}], ctorParameters: function () { return [{ type: i1.ThyPopover }, { type: i2.Overlay }]; } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3Rvb2xiYXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7OztBQXdCL0YsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGtCQUFrQjtJQU9oRSxZQUFvQixVQUFzQixFQUFVLE9BQWdCO1FBQ2hFLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFFcEUsQ0FBQztJQU5ELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hFLENBQUM7SUFNRCxjQUFjLENBQUMsS0FBWTtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBaUI7UUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO1lBQ3ZCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBaUIsRUFBRSxZQUEyQjtRQUM1RCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEUsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUE0QjtZQUMxQyxZQUFZLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixZQUFZO2FBQ2Y7WUFDRCxRQUFRLEVBQUUsQ0FBQztZQUNYLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsZUFBZSxFQUFFLElBQUk7WUFDckIsY0FBYyxFQUFFLEtBQUs7WUFDckIsU0FBUyxFQUFFLFlBQVk7WUFDdkIsTUFBTSxFQUFFLENBQUM7WUFDVCxVQUFVLEVBQUUsMEJBQTBCO1lBQ3RDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtTQUM3RCxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQzs7eUhBL0NRLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLGlKQW5CM0I7Ozs7Ozs7Ozs7Ozs7O0tBY1Q7MkZBS1EsNEJBQTRCO2tCQXJCeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O0tBY1Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxnQ0FBZ0M7cUJBQzFDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBUaGVCYXNlVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL3Rvb2xiYXItaXRlbS9iYXNlLXRvb2xiYXItaXRlbSc7XG5pbXBvcnQgeyBUaGVUYWJsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGFibGUtc2VsZWN0L3RhYmxlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLXRhYmxlLXRvb2xiYXItaXRlbScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgY2xhc3M9XCJsaW5rLXdpdGgtZG93blwiXG4gICAgICAgICAgICB0aHlBY3Rpb25cbiAgICAgICAgICAgIFt0aHlBY3Rpb25JY29uXT1cInRvb2xiYXJJdGVtLmljb25cIlxuICAgICAgICAgICAgW3RoeUFjdGlvbkFjdGl2ZV09XCJhY3RpdmVcIlxuICAgICAgICAgICAgW3RoeVRvb2x0aXBdPVwidG9vbGJhckl0ZW0/Lm5hbWVcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4ZWN1dGUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0aHktaWNvbiBjbGFzcz1cImxpbmstZG93bi1pY29uIGZvbnQtc2l6ZS1zbSB0ZXh0LWRlc2MgbWwtMVwiIHRoeUljb25OYW1lPVwiY2FyZXQtZG93blwiPiA8L3RoeS1pY29uPlxuICAgICAgICA8L2E+XG4gICAgYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRvb2xiYXItZHJvcGRvd24tY29udGFpbmVyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlVGFibGVUb29sYmFySXRlbUNvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VUb29sYmFySXRlbSB7XG4gICAgdGFibGVTZWxlY3RSZWY6IFRoeVBvcG92ZXJSZWY8VGhlVGFibGVTZWxlY3RDb21wb25lbnQ+O1xuXG4gICAgZ2V0IGlzT3BlblRhYmxlU2VsZWN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVNlbGVjdFJlZiAmJiB0aGlzLnRhYmxlU2VsZWN0UmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlciwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHJldmVudERlZmF1bHQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGV4ZWN1dGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgc3VwZXIuZXhlY3V0ZShldmVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9nZ2xlVGFibGVTZWxlY3QoZXZlbnQpO1xuICAgIH1cblxuICAgIHRvZ2dsZVRhYmxlU2VsZWN0KGV2ZW50OiBNb3VzZUV2ZW50LCBvcHRpb25zUGFyYW0/OiBUYWJsZU9wdGlvbnMpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuVGFibGVTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVTZWxlY3RSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhYmxlU2VsZWN0UmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oVGhlVGFibGVTZWxlY3RDb21wb25lbnQsIHtcbiAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5lZGl0b3IsXG4gICAgICAgICAgICAgICAgb3B0aW9uc1BhcmFtXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RoZS10YWJsZS1zZWxlY3Rvci1wYW5lbCcsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVNlbGVjdFJlZjtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { insertTable } from './insert-table';
|
|
2
|
+
import { insertRow } from './insert-row';
|
|
3
|
+
import { insertColumn } from './insert-column';
|
|
4
|
+
import { removeRow } from './remove-row';
|
|
5
|
+
import { removeColumn } from './remove-column';
|
|
6
|
+
import { removeTable } from './remove-table';
|
|
7
|
+
export { insertTable, insertRow, insertColumn, removeTable, removeRow, removeColumn };
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS90cmFuc2Zvcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnNlcnRUYWJsZSB9IGZyb20gJy4vaW5zZXJ0LXRhYmxlJztcbmltcG9ydCB7IGluc2VydFJvdyB9IGZyb20gJy4vaW5zZXJ0LXJvdyc7XG5pbXBvcnQgeyBpbnNlcnRDb2x1bW4gfSBmcm9tICcuL2luc2VydC1jb2x1bW4nO1xuaW1wb3J0IHsgcmVtb3ZlUm93IH0gZnJvbSAnLi9yZW1vdmUtcm93JztcbmltcG9ydCB7IHJlbW92ZUNvbHVtbiB9IGZyb20gJy4vcmVtb3ZlLWNvbHVtbic7XG5pbXBvcnQgeyByZW1vdmVUYWJsZSB9IGZyb20gJy4vcmVtb3ZlLXRhYmxlJztcblxuZXhwb3J0IHsgaW5zZXJ0VGFibGUsIGluc2VydFJvdywgaW5zZXJ0Q29sdW1uLCByZW1vdmVUYWJsZSwgcmVtb3ZlUm93LCByZW1vdmVDb2x1bW4gfTtcbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import { Transforms, Editor } from 'slate';
|
|
|
2
2
|
import { TablePosition, createCell } from '../utils';
|
|
3
3
|
import { calcSpanForColumn } from '../utils/calc-span';
|
|
4
4
|
import { addColumns } from '../utils/add-columns';
|
|
5
|
+
import { AngularEditor } from 'slate-angular';
|
|
5
6
|
/**
|
|
6
7
|
* Insert a new column in current table
|
|
7
8
|
*/
|
|
@@ -10,7 +11,8 @@ getCell) {
|
|
|
10
11
|
const { selection } = editor;
|
|
11
12
|
const { anchor: { path } } = selection;
|
|
12
13
|
const tablePosition = TablePosition.create(opts, editor, path);
|
|
13
|
-
|
|
14
|
+
let table = tablePosition.table;
|
|
15
|
+
let tableEntry = tablePosition.tableEntry;
|
|
14
16
|
const insertColumnIndex = typeof at === 'undefined' ? tablePosition.getColumnIndex() + 1 : at;
|
|
15
17
|
// Insert the new cell
|
|
16
18
|
Editor.withoutNormalizing(editor, () => {
|
|
@@ -29,6 +31,9 @@ getCell) {
|
|
|
29
31
|
Transforms.setNodes(editor, { colspan: dirtyCell.colspan + 1 }, {
|
|
30
32
|
at: tablePosition.tableEntry[1].concat(rowIndex).concat(row.children.indexOf(dirtyCell))
|
|
31
33
|
});
|
|
34
|
+
const position = TablePosition.create(opts, editor, path);
|
|
35
|
+
table = position.table;
|
|
36
|
+
tableEntry = position.tableEntry;
|
|
32
37
|
}
|
|
33
38
|
}
|
|
34
39
|
Transforms.insertNodes(editor, [newCell], {
|
|
@@ -37,7 +42,10 @@ getCell) {
|
|
|
37
42
|
});
|
|
38
43
|
}
|
|
39
44
|
if (table.columns) {
|
|
40
|
-
|
|
45
|
+
const theTableWrapper = AngularEditor.toDOMNode(editor, table).querySelector('.the-table-wrapper');
|
|
46
|
+
const scrollWidth = theTableWrapper.scrollWidth;
|
|
47
|
+
const clientWidth = theTableWrapper.clientWidth;
|
|
48
|
+
Transforms.setNodes(editor, { columns: addColumns(table, table.columns.length + 1, insertColumnIndex, scrollWidth > clientWidth) }, { at: tableEntry[1] });
|
|
41
49
|
}
|
|
42
50
|
});
|
|
43
51
|
}
|
|
@@ -54,4 +62,4 @@ export function insertColumnAtRow(opts, editor, count = 1, tableEntry, rowIndex,
|
|
|
54
62
|
}
|
|
55
63
|
});
|
|
56
64
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvaW5zZXJ0LWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxNQUFNLE9BQU8sQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQ3hCLElBQWtCLEVBQ2xCLE1BQWMsRUFDZCxLQUFLLEdBQUcsQ0FBQyxFQUNULEVBQVcsRUFBRSxlQUFlO0FBQzVCLE9BQTJEO0lBRTNELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDN0IsTUFBTSxFQUNGLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxFQUNuQixHQUFHLFNBQVMsQ0FBQztJQUVkLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxJQUFJLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ2hDLElBQUksVUFBVSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFFMUMsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLEVBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUU5RixzQkFBc0I7SUFFdEIsTUFBTSxD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QUNULFVBQW1DLEVBQ25DLFFBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLE9BQTJEO0lBRTNELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ25DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDdEMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7YUFDcEQsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2Zvcm1zLCBFZGl0b3IsIE5vZGVFbnRyeSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24sIGNyZWF0ZUNlbGwgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBjYWxjU3BhbkZvckNvbHVtbiB9IGZyb20gJy4uL3V0aWxzL2NhbGMtc3Bhbic7XG5pbXBvcnQgeyBhZGRDb2x1bW5zIH0gZnJvbSAnLi4vdXRpbHMvYWRkLWNvbHVtbnMnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgVGFibGVDZWxsRWxlbWVudCwgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcblxuLyoqXG4gKiBJbnNlcnQgYSBuZXcgY29sdW1uIGluIGN1cnJlbnQgdGFibGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydENvbHVtbihcbiAgICBvcHRzOiBUYWJsZU9wdGlvbnMsXG4gICAgZWRpdG9yOiBFZGl0b3IsXG4gICAgY291bnQgPSAxLFxuICAgIGF0PzogbnVtYmVyLCAvLyBDb2x1bW4gaW5kZXhcbiAgICBnZXRDZWxsPzogKGNvbHVtbjogbnVtYmVyLCByb3c6IG51bWJlcikgPT4gVGFibGVDZWxsRWxlbWVudFxuKSB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICBjb25zdCB7XG4gICAgICAgIGFuY2hvcjogeyBwYXRoIH1cbiAgICB9ID0gc2VsZWN0aW9uO1xuXG4gICAgY29uc3QgdGFibGVQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCk7XG4gICAgbGV0IHRhYmxlID0gdGFibGVQb3NpdGlvbi50YWJsZTtcbiAgICBsZXQgdGFibGVFbnRyeSA9IHRhYmxlUG9zaXRpb24udGFibGVFbnRyeTtcblxuICAgIGNvbnN0IGluc2VydENvbHVtbkluZGV4ID0gdHlwZW9mIGF0ID09PSAndW5kZWZpbmVkJyA/IHRhYmxlUG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKSArIDEgOiBhdDtcblxuICAgIC8vIEluc2VydCB0aGUgbmV3IGNlbGxcblxuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHNwYW4gPSBjYWxjU3BhbkZvckNvbHVtbih0YWJsZSwgaW5zZXJ0Q29sdW1uSW5kZXgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICAgICAgICAgIHRhYmxlLmNoaWxkcmVuLmZvckVhY2goKHJvdywgcm93SW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0luc2lkZSA9IGNvbHNwYW5bcm93SW5kZXhdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NlbGwgPSBnZXRDZWxsID8gZ2V0Q2VsbChpbnNlcnRDb2x1bW5JbmRleCwgcm93SW5kZXgpIDogY3JlYXRlQ2VsbChvcHRzKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNJbnNpZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Q2VsbC5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXJ0eUNlbGwgPSByb3cuY2hpbGRyZW4uZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgIChjZWxsOiBUYWJsZUNlbGxFbGVtZW50LCBjb2x1bW5JbmRleDogbnVtYmVyKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFjZWxsLmhpZGRlbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbkluZGV4IDwgaW5zZXJ0Q29sdW1uSW5kZXggJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLmNvbHNwYW4gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLmNvbHNwYW4gKyBjb2x1bW5JbmRleCA+IGluc2VydENvbHVtbkluZGV4XG4gICAgICAgICAgICAgICAgICAgICkgYXMgVGFibGVDZWxsRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRpcnR5Q2VsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBjb2xzcGFuOiBkaXJ0eUNlbGwuY29sc3BhbiArIDEgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0OiB0YWJsZVBvc2l0aW9uLnRhYmxlRW50cnlbMV0uY29uY2F0KHJvd0luZGV4KS5jb25jYXQocm93LmNoaWxkcmVuLmluZGV4T2YoZGlydHlDZWxsKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUgPSBwb3NpdGlvbi50YWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlRW50cnkgPSBwb3NpdGlvbi50YWJsZUVudHJ5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBbbmV3Q2VsbF0sIHtcbiAgICAgICAgICAgICAgICAgICAgYXQ6IHRhYmxlUG9zaXRpb24udGFibGVFbnRyeVsxXS5jb25jYXQocm93SW5kZXgpLmNvbmNhdChpbnNlcnRDb2x1bW5JbmRleClcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YWJsZS5jb2x1bW5zKSB7XG4gICAgICAgICAgICBjb25zdCB0aGVUYWJsZVdyYXBwZXIgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZShlZGl0b3IsIHRhYmxlKS5xdWVyeVNlbGVjdG9yKCcudGhlLXRhYmxlLXdyYXBwZXInKTtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbFdpZHRoID0gdGhlVGFibGVXcmFwcGVyLnNjcm9sbFdpZHRoO1xuICAgICAgICAgICAgY29uc3QgY2xpZW50V2lkdGggPSB0aGVUYWJsZVdyYXBwZXIuY2xpZW50V2lkdGg7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICB7IGNvbHVtbnM6IGFkZENvbHVtbnModGFibGUsIHRhYmxlLmNvbHVtbnMubGVuZ3RoICsgMSwgaW5zZXJ0Q29sdW1uSW5kZXgsIHNjcm9sbFdpZHRoID4gY2xpZW50V2lkdGgpIH0sXG4gICAgICAgICAgICAgICAgeyBhdDogdGFibGVFbnRyeVsxXSB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qKlxuICogSW5zZXJ0IG5ldyBjb2x1bW4gaW4gdGhlIHJvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0Q29sdW1uQXRSb3coXG4gICAgb3B0czogVGFibGVPcHRpb25zLFxuICAgIGVkaXRvcjogRWRpdG9yLFxuICAgIGNvdW50ID0gMSxcbiAgICB0YWJsZUVudHJ5OiBOb2RlRW50cnk8VGFibGVFbGVtZW50PixcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgZ2V0Q2VsbD86IChjb2x1bW46IG51bWJlciwgcm93OiBudW1iZXIpID0+IFRhYmxlQ2VsbEVsZW1lbnRcbikge1xuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbmV3Q2VsbCA9IGdldENlbGwgPyBnZXRDZWxsKGNvbHVtbkluZGV4LCByb3dJbmRleCkgOiBjcmVhdGVDZWxsKG9wdHMpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIFtuZXdDZWxsXSwge1xuICAgICAgICAgICAgICAgIGF0OiB0YWJsZUVudHJ5WzFdLmNvbmNhdChbcm93SW5kZXgsIGNvbHVtbkluZGV4XSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -1,42 +1,49 @@
|
|
|
1
1
|
import { Transforms } from 'slate';
|
|
2
|
-
import { TablePosition, createRow } from '../utils';
|
|
3
|
-
|
|
2
|
+
import { TablePosition, createRow, calcSpanForRow } from '../utils';
|
|
3
|
+
function getInsertRowState(opts, editor, count = 1, at) {
|
|
4
|
+
const tablePosition = TablePosition.create(opts, editor, editor.selection.anchor.path);
|
|
5
|
+
let table = tablePosition.table;
|
|
6
|
+
let tableEntry = tablePosition.tableEntry;
|
|
7
|
+
// Create a new row with the right count of cells
|
|
8
|
+
const columns = table.children[0].children.length;
|
|
9
|
+
const rowIndex = tablePosition.getRowIndex();
|
|
10
|
+
const insertRowIndex = typeof at === 'undefined' ? rowIndex + 1 : at;
|
|
11
|
+
return { table, tableEntry, columns, rowIndex, insertRowIndex };
|
|
12
|
+
}
|
|
13
|
+
function packNewRow(opts, editor, count = 1, at) {
|
|
14
|
+
const { table, tableEntry, columns, insertRowIndex } = getInsertRowState(opts, editor, count, at);
|
|
15
|
+
const rowspan = calcSpanForRow(table, insertRowIndex);
|
|
16
|
+
const newRow = createRow(opts, columns);
|
|
17
|
+
newRow.children.forEach((cell, columnIndex) => {
|
|
18
|
+
const isInside = rowspan[columnIndex];
|
|
19
|
+
if (isInside) {
|
|
20
|
+
cell.hidden = true;
|
|
21
|
+
const dirtyRow = table.children.find((row, rowIndex) => !row.children[columnIndex].hidden &&
|
|
22
|
+
rowIndex < insertRowIndex &&
|
|
23
|
+
row.children[columnIndex].rowspan &&
|
|
24
|
+
row.children[columnIndex].rowspan + rowIndex > insertRowIndex);
|
|
25
|
+
if (dirtyRow) {
|
|
26
|
+
Transforms.setNodes(editor, { rowspan: dirtyRow.children[columnIndex].rowspan + 1 }, {
|
|
27
|
+
at: tableEntry[1].concat(table.children.indexOf(dirtyRow)).concat(columnIndex)
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return newRow;
|
|
33
|
+
}
|
|
4
34
|
/**
|
|
5
35
|
* Insert a new row in current table
|
|
6
36
|
*/
|
|
7
37
|
export function insertRow(opts, editor, count = 1, at // row index
|
|
8
38
|
) {
|
|
9
|
-
const
|
|
10
|
-
const { table, row } = tablePosition;
|
|
11
|
-
// Create a new row with the right count of cells
|
|
12
|
-
const columns = table.children[0].children.length;
|
|
39
|
+
const { tableEntry, insertRowIndex } = getInsertRowState(opts, editor, count, at);
|
|
13
40
|
const newRows = [];
|
|
14
|
-
const rowIndex = tablePosition.getRowIndex();
|
|
15
|
-
const insertRowIndex = typeof at === 'undefined' ? rowIndex + 1 : at;
|
|
16
41
|
for (let i = 0; i < count; i++) {
|
|
17
|
-
const newRow =
|
|
42
|
+
const newRow = packNewRow(opts, editor, count, at);
|
|
18
43
|
newRows.push(newRow);
|
|
19
44
|
}
|
|
20
|
-
if (newRows.length === 1) {
|
|
21
|
-
const rowspan = calcSpanForRow(table, insertRowIndex);
|
|
22
|
-
newRows[0].children.forEach((cell, columnIndex) => {
|
|
23
|
-
const isInside = rowspan[columnIndex];
|
|
24
|
-
if (isInside) {
|
|
25
|
-
cell.hidden = true;
|
|
26
|
-
const dirtyRow = table.children.find((row, rowIndex) => !row.children[columnIndex].hidden &&
|
|
27
|
-
rowIndex < insertRowIndex &&
|
|
28
|
-
row.children[columnIndex].rowspan &&
|
|
29
|
-
row.children[columnIndex].rowspan + rowIndex > insertRowIndex);
|
|
30
|
-
if (dirtyRow) {
|
|
31
|
-
Transforms.setNodes(editor, { rowspan: dirtyRow.children[columnIndex].rowspan + 1 }, {
|
|
32
|
-
at: tablePosition.tableEntry[1].concat(table.children.indexOf(dirtyRow)).concat(columnIndex)
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
45
|
Transforms.insertNodes(editor, newRows, {
|
|
39
|
-
at:
|
|
46
|
+
at: tableEntry[1].concat(insertRowIndex)
|
|
40
47
|
});
|
|
41
48
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvaW5zZXJ0LXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUdwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFcEUsU0FBUyxpQkFBaUIsQ0FBQyxJQUFrQixFQUFFLE1BQWMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQVc7SUFDakYsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZGLElBQUksS0FBSyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDaEMsSUFBSSxVQUFVLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQztJQUUxQyxpREFBaUQ7SUFDakQsTUFBTSxPQUFPLEdBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFzQixDQUFDLE1BQU0sQ0FBQztJQUVqRSxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0MsTUFBTSxjQUFjLEdBQUcsT0FBTyxFQUFFLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFckUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsQ0FBQztBQUNwRSxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBa0IsRUFBRSxNQUFjLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFXO0lBQzFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hDLENBQUMsR0FBb0IsRUFBRSxRQUFnQixFQUFFLEVBQUUsQ0FDdkMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU07Z0JBQ2pDLFFBQVEsR0FBRyxjQUFjO2dCQUN6QixHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU87Z0JBQ2pDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxHQUFHLFFBQVEsR0FBRyxjQUFjLENBQ3BFLENBQUM7WUFDRixJQUFJLFFBQVEsRUFBRTtnQkFDVixVQUFVLENBQUMsUUFBUSxDQUNmLE1BQU0sRUFDTixFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsRUFDdkQ7b0JBQ0ksRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUNqRixDQUNKLENBQUM7YUFDTDtTQUNKO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUNyQixJQUFrQixFQUNsQixNQUFjLEVBQ2QsS0FBSyxHQUFHLENBQUMsRUFDVCxFQUFXLENBQUMsWUFBWTs7SUFFeEIsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRixNQUFNLE9BQU8sR0FBc0IsRUFBRSxDQUFDO0lBRXRDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDNUIsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDeEI7SUFFRCxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUU7UUFDcEMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0tBQzNDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUYWJsZVJvd0VsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgVGFibGVQb3NpdGlvbiwgY3JlYXRlUm93LCBjYWxjU3BhbkZvclJvdyB9IGZyb20gJy4uL3V0aWxzJztcblxuZnVuY3Rpb24gZ2V0SW5zZXJ0Um93U3RhdGUob3B0czogVGFibGVPcHRpb25zLCBlZGl0b3I6IEVkaXRvciwgY291bnQgPSAxLCBhdD86IG51bWJlcikge1xuICAgIGNvbnN0IHRhYmxlUG9zaXRpb24gPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgIGxldCB0YWJsZSA9IHRhYmxlUG9zaXRpb24udGFibGU7XG4gICAgbGV0IHRhYmxlRW50cnkgPSB0YWJsZVBvc2l0aW9uLnRhYmxlRW50cnk7XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgcm93IHdpdGggdGhlIHJpZ2h0IGNvdW50IG9mIGNlbGxzXG4gICAgY29uc3QgY29sdW1ucyA9ICh0YWJsZS5jaGlsZHJlblswXS5jaGlsZHJlbiBhcyBFbGVtZW50W10pLmxlbmd0aDtcblxuICAgIGNvbnN0IHJvd0luZGV4ID0gdGFibGVQb3NpdGlvbi5nZXRSb3dJbmRleCgpO1xuICAgIGNvbnN0IGluc2VydFJvd0luZGV4ID0gdHlwZW9mIGF0ID09PSAndW5kZWZpbmVkJyA/IHJvd0luZGV4ICsgMSA6IGF0O1xuXG4gICAgcmV0dXJuIHsgdGFibGUsIHRhYmxlRW50cnksIGNvbHVtbnMsIHJvd0luZGV4LCBpbnNlcnRSb3dJbmRleCB9O1xufVxuXG5mdW5jdGlvbiBwYWNrTmV3Um93KG9wdHM6IFRhYmxlT3B0aW9ucywgZWRpdG9yOiBFZGl0b3IsIGNvdW50ID0gMSwgYXQ/OiBudW1iZXIpIHtcbiAgICBjb25zdCB7IHRhYmxlLCB0YWJsZUVudHJ5LCBjb2x1bW5zLCBpbnNlcnRSb3dJbmRleCB9ID0gZ2V0SW5zZXJ0Um93U3RhdGUob3B0cywgZWRpdG9yLCBjb3VudCwgYXQpO1xuICAgIGNvbnN0IHJvd3NwYW4gPSBjYWxjU3BhbkZvclJvdyh0YWJsZSwgaW5zZXJ0Um93SW5kZXgpO1xuICAgIGNvbnN0IG5ld1JvdyA9IGNyZWF0ZVJvdyhvcHRzLCBjb2x1bW5zKTtcblxuICAgIG5ld1Jvdy5jaGlsZHJlbi5mb3JFYWNoKChjZWxsLCBjb2x1bW5JbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBpc0luc2lkZSA9IHJvd3NwYW5bY29sdW1uSW5kZXhdO1xuICAgICAgICBpZiAoaXNJbnNpZGUpIHtcbiAgICAgICAgICAgIGNlbGwuaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGRpcnR5Um93ID0gdGFibGUuY2hpbGRyZW4uZmluZChcbiAgICAgICAgICAgICAgICAocm93OiBUYWJsZVJvd0VsZW1lbnQsIHJvd0luZGV4OiBudW1iZXIpID0+XG4gICAgICAgICAgICAgICAgICAgICFyb3cuY2hpbGRyZW5bY29sdW1uSW5kZXhdLmhpZGRlbiAmJlxuICAgICAgICAgICAgICAgICAgICByb3dJbmRleCA8IGluc2VydFJvd0luZGV4ICYmXG4gICAgICAgICAgICAgICAgICAgIHJvdy5jaGlsZHJlbltjb2x1bW5JbmRleF0ucm93c3BhbiAmJlxuICAgICAgICAgICAgICAgICAgICByb3cuY2hpbGRyZW5bY29sdW1uSW5kZXhdLnJvd3NwYW4gKyByb3dJbmRleCA+IGluc2VydFJvd0luZGV4XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGRpcnR5Um93KSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB7IHJvd3NwYW46IGRpcnR5Um93LmNoaWxkcmVuW2NvbHVtbkluZGV4XS5yb3dzcGFuICsgMSB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogdGFibGVFbnRyeVsxXS5jb25jYXQodGFibGUuY2hpbGRyZW4uaW5kZXhPZihkaXJ0eVJvdykpLmNvbmNhdChjb2x1bW5JbmRleClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbmV3Um93O1xufVxuXG4vKipcbiAqIEluc2VydCBhIG5ldyByb3cgaW4gY3VycmVudCB0YWJsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0Um93KFxuICAgIG9wdHM6IFRhYmxlT3B0aW9ucyxcbiAgICBlZGl0b3I6IEVkaXRvcixcbiAgICBjb3VudCA9IDEsXG4gICAgYXQ/OiBudW1iZXIgLy8gcm93IGluZGV4XG4pIHtcbiAgICBjb25zdCB7IHRhYmxlRW50cnksIGluc2VydFJvd0luZGV4IH0gPSBnZXRJbnNlcnRSb3dTdGF0ZShvcHRzLCBlZGl0b3IsIGNvdW50LCBhdCk7XG4gICAgY29uc3QgbmV3Um93czogVGFibGVSb3dFbGVtZW50W10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgICAgICBjb25zdCBuZXdSb3cgPSBwYWNrTmV3Um93KG9wdHMsIGVkaXRvciwgY291bnQsIGF0KTtcbiAgICAgICAgbmV3Um93cy5wdXNoKG5ld1Jvdyk7XG4gICAgfVxuXG4gICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIG5ld1Jvd3MsIHtcbiAgICAgICAgYXQ6IHRhYmxlRW50cnlbMV0uY29uY2F0KGluc2VydFJvd0luZGV4KVxuICAgIH0pO1xufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TableOptions } from '../table.types';
|
|
2
|
-
export function addColumns(table, columnsCount, insertIndex) {
|
|
2
|
+
export function addColumns(table, columnsCount, insertIndex, canScroll) {
|
|
3
3
|
if (table.columns.length < columnsCount) {
|
|
4
4
|
if (!insertIndex && insertIndex !== 0) {
|
|
5
5
|
insertIndex = table.columns.length;
|
|
@@ -11,6 +11,20 @@ export function addColumns(table, columnsCount, insertIndex) {
|
|
|
11
11
|
const preTotalWidth = table.columns.reduce((prevValue, column) => {
|
|
12
12
|
return prevValue + column.width;
|
|
13
13
|
}, 0);
|
|
14
|
+
const isEqualColumns = table.columns.every(col => col.width === table.columns[0].width);
|
|
15
|
+
if (isEqualColumns) {
|
|
16
|
+
if (canScroll) {
|
|
17
|
+
columns.push(columns[0]);
|
|
18
|
+
return columns;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
const width = Math.round(preTotalWidth / columnsCount > opts.minWidthPx ? preTotalWidth / columnsCount : opts.minWidthPx);
|
|
22
|
+
columns.push({ width });
|
|
23
|
+
return columns.map(() => {
|
|
24
|
+
return { width };
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
14
28
|
for (let i = 0; i < columnsCount - table.columns.length; i++) {
|
|
15
29
|
columns.splice(insertIndex, 0, { width: opts.defaultWidth });
|
|
16
30
|
}
|
|
@@ -25,4 +39,4 @@ export function addColumns(table, columnsCount, insertIndex) {
|
|
|
25
39
|
}
|
|
26
40
|
return table.columns;
|
|
27
41
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9hZGQtY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFtQixFQUFFLFlBQW9CLEVBQUUsV0FBb0IsRUFBRSxTQUFtQjtJQUMzRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFlBQVksRUFBRTtRQUNyQyxJQUFJLENBQUMsV0FBVyxJQUFJLFdBQVcsS0FBSyxDQUFDLEVBQUU7WUFDbkMsV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3RDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDN0QsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNwQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFTixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4RixJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLFNBQVMsRUFBRTtnQkFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixPQUFPLE9BQU8sQ0FBQzthQUNsQjtpQkFBTTtnQkFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMxSCxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFFeEIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDcEIsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUNyQixDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0o7UUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFELE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztTQUNoRTtRQUNELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMzRCxPQUFPLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3BDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVOLE1BQU0sVUFBVSxHQUFHLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQztRQUNyRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BILE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztLQUNOO0lBQ0QsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkQ29sdW1ucyh0YWJsZTogVGFibGVFbGVtZW50LCBjb2x1bW5zQ291bnQ6IG51bWJlciwgaW5zZXJ0SW5kZXg/OiBudW1iZXIsIGNhblNjcm9sbD86IGJvb2xlYW4pIHtcbiAgICBpZiAodGFibGUuY29sdW1ucy5sZW5ndGggPCBjb2x1bW5zQ291bnQpIHtcbiAgICAgICAgaWYgKCFpbnNlcnRJbmRleCAmJiBpbnNlcnRJbmRleCAhPT0gMCkge1xuICAgICAgICAgICAgaW5zZXJ0SW5kZXggPSB0YWJsZS5jb2x1bW5zLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICBsZXQgY29sdW1ucyA9IHRhYmxlLmNvbHVtbnMuc2xpY2UoMCwgY29sdW1uc0NvdW50KS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICByZXR1cm4geyB3aWR0aDogaXRlbS53aWR0aCB9O1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcHJlVG90YWxXaWR0aCA9IHRhYmxlLmNvbHVtbnMucmVkdWNlKChwcmV2VmFsdWUsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHByZXZWYWx1ZSArIGNvbHVtbi53aWR0aDtcbiAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgY29uc3QgaXNFcXVhbENvbHVtbnMgPSB0YWJsZS5jb2x1bW5zLmV2ZXJ5KGNvbCA9PiBjb2wud2lkdGggPT09IHRhYmxlLmNvbHVtbnNbMF0ud2lkdGgpO1xuXG4gICAgICAgIGlmIChpc0VxdWFsQ29sdW1ucykge1xuICAgICAgICAgICAgaWYgKGNhblNjcm9sbCkge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChjb2x1bW5zWzBdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sdW1ucztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBNYXRoLnJvdW5kKHByZVRvdGFsV2lkdGggLyBjb2x1bW5zQ291bnQgPiBvcHRzLm1pbldpZHRoUHggPyBwcmVUb3RhbFdpZHRoIC8gY29sdW1uc0NvdW50IDogb3B0cy5taW5XaWR0aFB4KTtcbiAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2goeyB3aWR0aCB9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBjb2x1bW5zLm1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHdpZHRoIH07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbnNDb3VudCAtIHRhYmxlLmNvbHVtbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbHVtbnMuc3BsaWNlKGluc2VydEluZGV4LCAwLCB7IHdpZHRoOiBvcHRzLmRlZmF1bHRXaWR0aCB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50VG90YWxXaWR0aCA9IGNvbHVtbnMucmVkdWNlKChwcmV2VmFsdWUsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHByZXZWYWx1ZSArIGNvbHVtbi53aWR0aDtcbiAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IHByZVRvdGFsV2lkdGggLyBjdXJyZW50VG90YWxXaWR0aDtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnMubWFwKChjb2x1bW4sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IE1hdGgucm91bmQoY29sdW1uLndpZHRoICogcGVyY2VudGFnZSA+IG9wdHMubWluV2lkdGhQeCA/IGNvbHVtbi53aWR0aCAqIHBlcmNlbnRhZ2UgOiBvcHRzLm1pbldpZHRoUHgpO1xuICAgICAgICAgICAgcmV0dXJuIHsgd2lkdGggfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0YWJsZS5jb2x1bW5zO1xufVxuIl19
|
|
@@ -4,10 +4,12 @@ import { createRow } from './create-row';
|
|
|
4
4
|
*/
|
|
5
5
|
export function createTable(opts, columns, rows, getCellContent) {
|
|
6
6
|
const rowNodes = new Array(rows).fill(1).map(i => createRow(opts, columns, getCellContent ? getCellContent.bind(null, i) : undefined));
|
|
7
|
-
rowNodes[0].header = true;
|
|
8
7
|
return {
|
|
9
8
|
type: opts.typeTable,
|
|
10
|
-
children: rowNodes
|
|
9
|
+
children: rowNodes,
|
|
10
|
+
options: {
|
|
11
|
+
headerRow: true
|
|
12
|
+
}
|
|
11
13
|
};
|
|
12
14
|
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvY3JlYXRlLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN2QixJQUFrQixFQUNsQixPQUFlLEVBQ2YsSUFBWSxFQUNaLGNBQXdEO0lBRXhELE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXZJLE9BQU87UUFDSCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVM7UUFDcEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFO1lBQ0wsU0FBUyxFQUFFLElBQUk7U0FDbEI7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlUm93IH0gZnJvbSAnLi9jcmVhdGUtcm93JztcblxuLyoqXG4gKiBDcmVhdGUgYSB0YWJsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGFibGUoXG4gICAgb3B0czogVGFibGVPcHRpb25zLFxuICAgIGNvbHVtbnM6IG51bWJlcixcbiAgICByb3dzOiBudW1iZXIsXG4gICAgZ2V0Q2VsbENvbnRlbnQ/OiAocm93OiBudW1iZXIsIGNvbHVtbjogbnVtYmVyKSA9PiBOb2RlW11cbik6IFRhYmxlRWxlbWVudCB7XG4gICAgY29uc3Qgcm93Tm9kZXMgPSBuZXcgQXJyYXkocm93cykuZmlsbCgxKS5tYXAoaSA9PiBjcmVhdGVSb3cob3B0cywgY29sdW1ucywgZ2V0Q2VsbENvbnRlbnQgPyBnZXRDZWxsQ29udGVudC5iaW5kKG51bGwsIGkpIDogdW5kZWZpbmVkKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBvcHRzLnR5cGVUYWJsZSxcbiAgICAgICAgY2hpbGRyZW46IHJvd05vZGVzLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBoZWFkZXJSb3c6IHRydWVcbiAgICAgICAgfVxuICAgIH07XG59XG4iXX0=
|
|
@@ -4,5 +4,6 @@ import { createTable } from './create-table';
|
|
|
4
4
|
import { isRangeInTable } from './is-range-in-table';
|
|
5
5
|
import { isSelectionInTable } from './is-selection-in-table';
|
|
6
6
|
import { TablePosition } from './table-position';
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
import { calcSpanForRow, getOriginCell } from './calc-span';
|
|
8
|
+
export { isRangeInTable, isSelectionInTable, TablePosition, createCell, createRow, createTable, calcSpanForRow, getOriginCell };
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ2VsbCB9IGZyb20gJy4vY3JlYXRlLWNlbGwnO1xuaW1wb3J0IHsgY3JlYXRlUm93IH0gZnJvbSAnLi9jcmVhdGUtcm93JztcbmltcG9ydCB7IGNyZWF0ZVRhYmxlIH0gZnJvbSAnLi9jcmVhdGUtdGFibGUnO1xuaW1wb3J0IHsgaXNSYW5nZUluVGFibGUgfSBmcm9tICcuL2lzLXJhbmdlLWluLXRhYmxlJztcbmltcG9ydCB7IGlzU2VsZWN0aW9uSW5UYWJsZSB9IGZyb20gJy4vaXMtc2VsZWN0aW9uLWluLXRhYmxlJztcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24gfSBmcm9tICcuL3RhYmxlLXBvc2l0aW9uJztcbmltcG9ydCB7IGNhbGNTcGFuRm9yUm93LCBnZXRPcmlnaW5DZWxsIH0gZnJvbSAnLi9jYWxjLXNwYW4nO1xuXG5leHBvcnQgeyBpc1JhbmdlSW5UYWJsZSwgaXNTZWxlY3Rpb25JblRhYmxlLCBUYWJsZVBvc2l0aW9uLCBjcmVhdGVDZWxsLCBjcmVhdGVSb3csIGNyZWF0ZVRhYmxlLCBjYWxjU3BhbkZvclJvdywgZ2V0T3JpZ2luQ2VsbCB9O1xuIl19
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { TableOptions } from '../table.types';
|
|
1
2
|
import { isRangeInTable } from './is-range-in-table';
|
|
3
|
+
import { TablePosition } from './table-position';
|
|
2
4
|
/**
|
|
3
5
|
* Is the selection in a table
|
|
4
6
|
*/
|
|
@@ -8,4 +10,43 @@ export function isSelectionInTable(opts, editor) {
|
|
|
8
10
|
}
|
|
9
11
|
return isRangeInTable(opts, editor, editor.selection);
|
|
10
12
|
}
|
|
11
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Whether the cells passed in can form a rectangle
|
|
15
|
+
* @param editor
|
|
16
|
+
* @param cells
|
|
17
|
+
* @returns boolean
|
|
18
|
+
*/
|
|
19
|
+
export function isRectangularInTableCells(editor, cells) {
|
|
20
|
+
let selectCellSize = cells.length;
|
|
21
|
+
if (selectCellSize === 0) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
const { row, col } = cells[0];
|
|
25
|
+
let maxCol = col;
|
|
26
|
+
let minCol = col;
|
|
27
|
+
let maxRow = row;
|
|
28
|
+
let minRow = row;
|
|
29
|
+
const path = editor.selection.anchor.path;
|
|
30
|
+
const pos = TablePosition.create(new TableOptions(), editor, path);
|
|
31
|
+
for (let { row, col } of cells) {
|
|
32
|
+
const node = pos.findCellByPath({ row, col });
|
|
33
|
+
if (node.hidden) {
|
|
34
|
+
selectCellSize--;
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
const { rowspan, colspan } = pos.table.children[row].children[col];
|
|
38
|
+
if (rowspan && colspan) {
|
|
39
|
+
// 更新视觉选中的个数
|
|
40
|
+
selectCellSize = selectCellSize + (rowspan * colspan - 1);
|
|
41
|
+
// 纠正合并单元格下的 row 和 col 的真实值
|
|
42
|
+
col = col + colspan - 1;
|
|
43
|
+
row = row + rowspan - 1;
|
|
44
|
+
}
|
|
45
|
+
maxCol = col > maxCol ? col : maxCol;
|
|
46
|
+
minCol = col < minCol ? col : minCol;
|
|
47
|
+
maxRow = row > maxRow ? row : maxRow;
|
|
48
|
+
minRow = row < minRow ? row : minRow;
|
|
49
|
+
}
|
|
50
|
+
return (maxRow + 1 - minRow) * (maxCol + 1 - minCol) === selectCellSize;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VsZWN0aW9uLWluLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvaXMtc2VsZWN0aW9uLWluLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUFrQixFQUFFLE1BQWM7SUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDbkIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFDRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBYyxFQUFFLEtBQXFCO0lBQzNFLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDbEMsSUFBSSxjQUFjLEtBQUssQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsSUFBSSxNQUFNLEdBQVcsR0FBRyxDQUFDO0lBQ3pCLElBQUksTUFBTSxHQUFXLEdBQUcsQ0FBQztJQUN6QixJQUFJLE1BQU0sR0FBVyxHQUFHLENBQUM7SUFDekIsSUFBSSxNQUFNLEdBQVcsR0FBRyxDQUFDO0lBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQyxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLEtBQUssSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxLQUFLLEVBQUU7UUFDNUIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLFNBQVM7U0FDWjtRQUNELE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRTtZQUNwQixZQUFZO1lBQ1osY0FBYyxHQUFHLGNBQWMsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUQsMkJBQTJCO1lBQzNCLEdBQUcsR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQztZQUN4QixHQUFHLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFDRCxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDckMsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNyQyxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7S0FDeEM7SUFDRCxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssY0FBYyxDQUFDO0FBQzVFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBTZWxlY3RlZENlbGwsIFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IGlzUmFuZ2VJblRhYmxlIH0gZnJvbSAnLi9pcy1yYW5nZS1pbi10YWJsZSc7XG5pbXBvcnQgeyBUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi90YWJsZS1wb3NpdGlvbic7XG5cbi8qKlxuICogSXMgdGhlIHNlbGVjdGlvbiBpbiBhIHRhYmxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NlbGVjdGlvbkluVGFibGUob3B0czogVGFibGVPcHRpb25zLCBlZGl0b3I6IEVkaXRvcik6IGJvb2xlYW4ge1xuICAgIGlmICghZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBpc1JhbmdlSW5UYWJsZShvcHRzLCBlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIGNlbGxzIHBhc3NlZCBpbiBjYW4gZm9ybSBhIHJlY3RhbmdsZVxuICogQHBhcmFtIGVkaXRvclxuICogQHBhcmFtIGNlbGxzXG4gKiBAcmV0dXJucyBib29sZWFuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlY3Rhbmd1bGFySW5UYWJsZUNlbGxzKGVkaXRvcjogRWRpdG9yLCBjZWxsczogU2VsZWN0ZWRDZWxsW10pOiBib29sZWFuIHtcbiAgICBsZXQgc2VsZWN0Q2VsbFNpemUgPSBjZWxscy5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdENlbGxTaXplID09PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgeyByb3csIGNvbCB9ID0gY2VsbHNbMF07XG4gICAgbGV0IG1heENvbDogbnVtYmVyID0gY29sO1xuICAgIGxldCBtaW5Db2w6IG51bWJlciA9IGNvbDtcbiAgICBsZXQgbWF4Um93OiBudW1iZXIgPSByb3c7XG4gICAgbGV0IG1pblJvdzogbnVtYmVyID0gcm93O1xuICAgIGNvbnN0IHBhdGggPSBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoO1xuICAgIGNvbnN0IHBvcyA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG5ldyBUYWJsZU9wdGlvbnMoKSwgZWRpdG9yLCBwYXRoKTtcbiAgICBmb3IgKGxldCB7IHJvdywgY29sIH0gb2YgY2VsbHMpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHBvcy5maW5kQ2VsbEJ5UGF0aCh7IHJvdywgY29sIH0pO1xuICAgICAgICBpZiAobm9kZS5oaWRkZW4pIHtcbiAgICAgICAgICAgIHNlbGVjdENlbGxTaXplLS07XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHJvd3NwYW4sIGNvbHNwYW4gfSA9IHBvcy50YWJsZS5jaGlsZHJlbltyb3ddLmNoaWxkcmVuW2NvbF07XG4gICAgICAgIGlmIChyb3dzcGFuICYmIGNvbHNwYW4pIHtcbiAgICAgICAgICAgIC8vIOabtOaWsOinhuiniemAieS4reeahOS4quaVsFxuICAgICAgICAgICAgc2VsZWN0Q2VsbFNpemUgPSBzZWxlY3RDZWxsU2l6ZSArIChyb3dzcGFuICogY29sc3BhbiAtIDEpO1xuICAgICAgICAgICAgLy8g57qg5q2j5ZCI5bm25Y2V5YWD5qC85LiL55qEIHJvdyDlkowgY29sIOeahOecn+WunuWAvFxuICAgICAgICAgICAgY29sID0gY29sICsgY29sc3BhbiAtIDE7XG4gICAgICAgICAgICByb3cgPSByb3cgKyByb3dzcGFuIC0gMTtcbiAgICAgICAgfVxuICAgICAgICBtYXhDb2wgPSBjb2wgPiBtYXhDb2wgPyBjb2wgOiBtYXhDb2w7XG4gICAgICAgIG1pbkNvbCA9IGNvbCA8IG1pbkNvbCA/IGNvbCA6IG1pbkNvbDtcbiAgICAgICAgbWF4Um93ID0gcm93ID4gbWF4Um93ID8gcm93IDogbWF4Um93O1xuICAgICAgICBtaW5Sb3cgPSByb3cgPCBtaW5Sb3cgPyByb3cgOiBtaW5Sb3c7XG4gICAgfVxuICAgIHJldHVybiAobWF4Um93ICsgMSAtIG1pblJvdykgKiAobWF4Q29sICsgMSAtIG1pbkNvbCkgPT09IHNlbGVjdENlbGxTaXplO1xufVxuIl19
|
|
@@ -1,15 +1,45 @@
|
|
|
1
1
|
import { isSelectedCellMerged } from './merge-cell';
|
|
2
2
|
import { getSelectCellNode } from './get-select-cell-node';
|
|
3
|
-
|
|
3
|
+
import { isRectangularInTableCells } from './is-selection-in-table';
|
|
4
|
+
import { TableInsertType } from '../table.types';
|
|
5
|
+
import { TableEditor } from '../table.editor';
|
|
6
|
+
export function setCellMenuVisibility(editor, menuList, tableInfo) {
|
|
7
|
+
const { selectedCells, isFullscreen, selectedRowsIndex, selectedColumnsIndex } = tableInfo;
|
|
4
8
|
const isCellMerged = isSelectedCellMerged(editor);
|
|
5
9
|
const selectCellNodes = getSelectCellNode(editor, selectedCells).filter(item => !item.node.hidden);
|
|
10
|
+
const isRect = isRectangularInTableCells(editor, selectedCells);
|
|
6
11
|
menuList.forEach(item => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
switch (item.key) {
|
|
13
|
+
case 'merge-cells':
|
|
14
|
+
item.visibility = selectCellNodes && selectCellNodes.length > 1 && isRect;
|
|
15
|
+
break;
|
|
16
|
+
case 'split-cells':
|
|
17
|
+
item.visibility = selectCellNodes && selectCellNodes.length === 1 && isCellMerged;
|
|
18
|
+
break;
|
|
19
|
+
case 'delete-selection-rows':
|
|
20
|
+
item.visibility = !isFullscreen || !selectedColumnsIndex.length;
|
|
21
|
+
break;
|
|
22
|
+
case 'delete-selection-columns':
|
|
23
|
+
item.visibility = !isFullscreen || !selectedRowsIndex.length;
|
|
24
|
+
break;
|
|
25
|
+
case 'delete-table':
|
|
26
|
+
item.visibility = !isFullscreen;
|
|
27
|
+
break;
|
|
28
|
+
case TableInsertType.insertRowsUp:
|
|
29
|
+
const hasHeaderRowCell = TableEditor.hasHeaderRowCell(editor);
|
|
30
|
+
item.visibility = !hasHeaderRowCell && isRect;
|
|
31
|
+
break;
|
|
32
|
+
case TableInsertType.insertRowsDown:
|
|
33
|
+
item.visibility = isRect;
|
|
34
|
+
break;
|
|
35
|
+
case TableInsertType.insertColumnsLeft:
|
|
36
|
+
const hasHeaderColumnCell = TableEditor.hasHeaderColumnCell(editor);
|
|
37
|
+
item.visibility = !hasHeaderColumnCell && isRect;
|
|
38
|
+
break;
|
|
39
|
+
case TableInsertType.insertColumnsRight:
|
|
40
|
+
item.visibility = isRect;
|
|
41
|
+
break;
|
|
12
42
|
}
|
|
13
43
|
});
|
|
14
44
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW1lbnUtY2VsbC1pbnZpc2liaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9zZXQtbWVudS1jZWxsLWludmlzaWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUE0QixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsTUFBTSxVQUFVLHFCQUFxQixDQUNqQyxNQUFjLEVBQ2QsUUFBc0IsRUFDdEIsU0FBbUk7SUFFbkksTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDM0YsTUFBTSxZQUFZLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRyxNQUFNLE1BQU0sR0FBRyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNwQixRQUFRLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDZCxLQUFLLGFBQWE7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDO2dCQUMxRSxNQUFNO1lBQ1YsS0FBSyxhQUFhO2dCQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQztnQkFDbEYsTUFBTTtZQUNWLEtBQUssdUJBQXVCO2dCQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsWUFBWSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO2dCQUNoRSxNQUFNO1lBQ1YsS0FBSywwQkFBMEI7Z0JBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxZQUFZLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7Z0JBQzdELE1BQU07WUFDVixLQUFLLGNBQWM7Z0JBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLFlBQVksQ0FBQztnQkFDaEMsTUFBTTtZQUNWLEtBQUssZUFBZSxDQUFDLFlBQVk7Z0JBQzdCLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDO2dCQUM5QyxNQUFNO1lBQ1YsS0FBSyxlQUFlLENBQUMsY0FBYztnQkFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7Z0JBQ3pCLE1BQU07WUFDVixLQUFLLGVBQWUsQ0FBQyxpQkFBaUI7Z0JBQ2xDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsbUJBQW1CLElBQUksTUFBTSxDQUFDO2dCQUNqRCxNQUFNO1lBQ1YsS0FBSyxlQUFlLENBQUMsa0JBQWtCO2dCQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztnQkFDekIsTUFBTTtTQUNiO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgaXNTZWxlY3RlZENlbGxNZXJnZWQgfSBmcm9tICcuL21lcmdlLWNlbGwnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0Q2VsbE5vZGUgfSBmcm9tICcuL2dldC1zZWxlY3QtY2VsbC1ub2RlJztcbmltcG9ydCB7IGlzUmVjdGFuZ3VsYXJJblRhYmxlQ2VsbHMgfSBmcm9tICcuL2lzLXNlbGVjdGlvbi1pbi10YWJsZSc7XG5pbXBvcnQgeyBNZW51RW50aXR5LCBTZWxlY3RlZENlbGwsIFRhYmxlSW5zZXJ0VHlwZSB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vdGFibGUuZWRpdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldENlbGxNZW51VmlzaWJpbGl0eShcbiAgICBlZGl0b3I6IEVkaXRvcixcbiAgICBtZW51TGlzdDogTWVudUVudGl0eVtdLFxuICAgIHRhYmxlSW5mbzogeyBzZWxlY3RlZENlbGxzOiBTZWxlY3RlZENlbGxbXTsgaXNGdWxsc2NyZWVuPzogYm9vbGVhbjsgc2VsZWN0ZWRSb3dzSW5kZXg/OiBudW1iZXJbXTsgc2VsZWN0ZWRDb2x1bW5zSW5kZXg/OiBudW1iZXJbXSB9XG4pIHtcbiAgICBjb25zdCB7IHNlbGVjdGVkQ2VsbHMsIGlzRnVsbHNjcmVlbiwgc2VsZWN0ZWRSb3dzSW5kZXgsIHNlbGVjdGVkQ29sdW1uc0luZGV4IH0gPSB0YWJsZUluZm87XG4gICAgY29uc3QgaXNDZWxsTWVyZ2VkID0gaXNTZWxlY3RlZENlbGxNZXJnZWQoZWRpdG9yKTtcbiAgICBjb25zdCBzZWxlY3RDZWxsTm9kZXMgPSBnZXRTZWxlY3RDZWxsTm9kZShlZGl0b3IsIHNlbGVjdGVkQ2VsbHMpLmZpbHRlcihpdGVtID0+ICFpdGVtLm5vZGUuaGlkZGVuKTtcbiAgICBjb25zdCBpc1JlY3QgPSBpc1JlY3Rhbmd1bGFySW5UYWJsZUNlbGxzKGVkaXRvciwgc2VsZWN0ZWRDZWxscyk7XG4gICAgbWVudUxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgc3dpdGNoIChpdGVtLmtleSkge1xuICAgICAgICAgICAgY2FzZSAnbWVyZ2UtY2VsbHMnOlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9IHNlbGVjdENlbGxOb2RlcyAmJiBzZWxlY3RDZWxsTm9kZXMubGVuZ3RoID4gMSAmJiBpc1JlY3Q7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzcGxpdC1jZWxscyc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gc2VsZWN0Q2VsbE5vZGVzICYmIHNlbGVjdENlbGxOb2Rlcy5sZW5ndGggPT09IDEgJiYgaXNDZWxsTWVyZ2VkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlLXNlbGVjdGlvbi1yb3dzJzpcbiAgICAgICAgICAgICAgICBpdGVtLnZpc2liaWxpdHkgPSAhaXNGdWxsc2NyZWVuIHx8ICFzZWxlY3RlZENvbHVtbnNJbmRleC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdkZWxldGUtc2VsZWN0aW9uLWNvbHVtbnMnOlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9ICFpc0Z1bGxzY3JlZW4gfHwgIXNlbGVjdGVkUm93c0luZGV4Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZS10YWJsZSc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gIWlzRnVsbHNjcmVlbjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydFJvd3NVcDpcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNIZWFkZXJSb3dDZWxsID0gVGFibGVFZGl0b3IuaGFzSGVhZGVyUm93Q2VsbChlZGl0b3IpO1xuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9ICFoYXNIZWFkZXJSb3dDZWxsICYmIGlzUmVjdDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydFJvd3NEb3duOlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9IGlzUmVjdDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydENvbHVtbnNMZWZ0OlxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0hlYWRlckNvbHVtbkNlbGwgPSBUYWJsZUVkaXRvci5oYXNIZWFkZXJDb2x1bW5DZWxsKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gIWhhc0hlYWRlckNvbHVtbkNlbGwgJiYgaXNSZWN0O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Q29sdW1uc1JpZ2h0OlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9IGlzUmVjdDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuIl19
|
|
@@ -240,4 +240,4 @@ export class TablePosition {
|
|
|
240
240
|
return this.table.children[cell.row].children[cell.col];
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy90YWJsZS1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFtQixPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFJdkQsTUFBTSxPQUFPLGFBQWE7SUFhdEIsWUFDSSxPQUFPLEdBQUc7UUFDTixVQUFVLEVBQUUsSUFBSTtRQUNoQixRQUFRLEVBQUUsSUFBSTtRQUNkLFNBQVMsRUFBRSxJQUFJO1FBQ2YsWUFBWSxFQUFFLElBQUk7S0FDckI7UUFFRCxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQWtCLEVBQUUsYUFBbUIsRUFBRSxJQUFVO1FBQzdELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEcsTUFBTSxR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LENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFFSCxjQUFjLENBQUMsSUFBa0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXFCLENBQUM7SUFDaEYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSwgUGF0aCwgTm9kZUVudHJ5LCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGFibGVDZWxsRWxlbWVudCwgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFNlbGVjdGVkQ2VsbCwgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVGFibGVQb3NpdGlvbiB7XG4gICAgLy8gVGhlRWxlbWVudCBjb250YWluZXIgZm9yIHRoZSB0YWJsZVxuICAgIHRhYmxlRW50cnk/OiBOb2RlRW50cnk8VGFibGVFbGVtZW50PjtcblxuICAgIC8vIFRoZUVsZW1lbnQgZm9yIGN1cnJlbnQgcm93XG4gICAgcm93RW50cnk/OiBOb2RlRW50cnk8RWxlbWVudD47XG5cbiAgICAvLyBUaGVFbGVtZW50IGZvciBjdXJyZW50IGNlbGxcbiAgICBjZWxsRW50cnk/OiBOb2RlRW50cnk8VGFibGVDZWxsRWxlbWVudD47XG5cbiAgICAvLyBDdXJyZW50IGNvbnRlbnQgVGhlRWxlbWVudCBpbiB0aGUgY2VsbFxuICAgIGNvbnRlbnRFbnRyeT86IE5vZGVFbnRyeTxFbGVtZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgdGFibGVFbnRyeTogbnVsbCxcbiAgICAgICAgICAgIHJvd0VudHJ5OiBudWxsLFxuICAgICAgICAgICAgY2VsbEVudHJ5OiBudWxsLFxuICAgICAgICAgICAgY29udGVudEVudHJ5OiBudWxsXG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZUVudHJ5LCByb3dFbnRyeSwgY2VsbEVudHJ5LCBjb250ZW50RW50cnkgfSA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMudGFibGVFbnRyeSA9IHRhYmxlRW50cnk7XG4gICAgICAgIHRoaXMucm93RW50cnkgPSByb3dFbnRyeTtcbiAgICAgICAgdGhpcy5jZWxsRW50cnkgPSBjZWxsRW50cnk7XG4gICAgICAgIHRoaXMuY29udGVudEVudHJ5ID0gY29udGVudEVudHJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBhIFRhYmxlUG9zaXRpb24gZnJvbSBhIFNsYXRlIGRvY3VtZW50XG4gICAgICogYW5kIGEgbm9kZSBrZXkuXG4gICAgICovXG4gICAgc3RhdGljIGNyZWF0ZShvcHRzOiBUYWJsZU9wdGlvbnMsIGNvbnRhaW5lck5vZGU6IE5vZGUsIHBhdGg6IFBhdGgpOiBUYWJsZVBvc2l0aW9uIHtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzID0gQXJyYXkuZnJvbShOb2RlLmFuY2VzdG9ycyhjb250YWluZXJOb2RlLCBwYXRoKSk7XG4gICAgICAgIGNvbnN0IHRhYmxlRW50cnkgPSBhbmNlc3RvcnMuZmluZCgoW3BdKSA9PiBFbGVtZW50LmlzRWxlbWVudChwKSAmJiBwLnR5cGUgPT09IG9wdHMudHlwZVRhYmxlKSB8fCBbXTtcbiAgICAgICAgY29uc3Qgcm93RW50cnkgPSBhbmNlc3RvcnMuZmluZCgoW3BdKSA9PiBFbGVtZW50LmlzRWxlbWVudChwKSAmJiBwLnR5cGUgPT09IG9wdHMudHlwZVJvdykgfHwgW107XG4gICAgICAgIGNvbnN0IGNlbGxFbnRyeSA9IGFuY2VzdG9ycy5maW5kKChbcF0pID0+IEVsZW1lbnQuaXNFbGVtZW50KHApICYmIHAudHlwZSA9PT0gb3B0cy50eXBlQ2VsbCkgfHwgW107XG4gICAgICAgIGNvbnN0IGNvbnRlbnRFbnRyeSA9IGFuY2VzdG9ycy5maW5kKChbcF0pID0+IEVsZW1lbnQuaXNFbGVtZW50KHApICYmIHAudHlwZSA9PT0gb3B0cy50eXBlQ29udGVudCkgfHwgW107XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZVBvc2l0aW9uKHtcbiAgICAgICAgICAgIHRhYmxlRW50cnksXG4gICAgICAgICAgICByb3dFbnRyeSxcbiAgICAgICAgICAgIGNlbGxFbnRyeSxcbiAgICAgICAgICAgIGNvbnRlbnRFbnRyeVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgdGFibGUoKTogVGFibGVFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlRW50cnkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGluIGEgdGFibGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZUVudHJ5WzBdO1xuICAgIH1cblxuICAgIGdldCByb3coKTogRWxlbWVudCB7XG4gICAgICAgIGlmICghdGhpcy5yb3dFbnRyeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW4gYSByb3cnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5yb3dFbnRyeVswXTtcbiAgICB9XG5cbiAgICBnZXQgY2VsbCgpOiBUYWJsZUNlbGxFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLmNlbGxFbnRyeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW4gYSBjZWxsJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbEVudHJ5WzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIHdpdGhpbiBhIGNlbGxcbiAgICAgKi9cbiAgICBpc0luQ2VsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5jZWxsRW50cnkubGVuZ3RoID4gMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgdG8gc2VlIGlmIHRoaXMgcG9zaXRpb24gaXMgd2l0aGluIGEgcm93XG4gICAgICovXG4gICAgaXNJblJvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5yb3dFbnRyeS5sZW5ndGggPiAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayB0byBzZWUgaWYgdGhpcyBwb3NpdGlvbiBpcyB3aXRoaW4gYSB0YWJsZVxuICAgICAqL1xuICAgIGlzSW5UYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy50YWJsZUVudHJ5Lmxlbmd0aCA+IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIGF0IHRoZSB0b3Agb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgaXNUb3BPZkNlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudEVudHJ5LCBjZWxsRW50cnkgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250ZW50RW50cnkgfHwgIWNlbGxFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY2VsbEVudHJ5WzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNoaWxkcmVuLmZpbmRJbmRleChjb250ZW50ID0+IGNvbnRlbnQgPT09IGNvbnRlbnRFbnRyeVswXSk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgaXNCb3R0b21PZkNlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudEVudHJ5LCBjZWxsRW50cnkgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250ZW50RW50cnkgfHwgIWNlbGxFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY2VsbEVudHJ5WzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNoaWxkcmVuLmZpbmRJbmRleChjb250ZW50ID0+IGNvbnRlbnQgPT09IGNvbnRlbnRFbnRyeVswXSk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSBjaGlsZHJlbi5sZW5ndGggLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjb3VudCBvZiBjb2x1bW5zXG4gICAgICovXG4gICAgZ2V0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuICAgICAgICBjb25zdCBjZWxscyA9IHJvd3NbMF0uY2hpbGRyZW4gYXMgTm9kZVtdO1xuXG4gICAgICAgIHJldHVybiBjZWxscy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNvdW50IG9mIHJvd3NcbiAgICAgKi9cbiAgICBnZXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiByb3dzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaW5kZXggb2YgY3VycmVudCByb3cgaW4gdGhlIHRhYmxlLlxuICAgICAqL1xuICAgIGdldFJvd0luZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUsIHJvdyB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiByb3dzLmZpbmRJbmRleCh4ID0+IHggPT09IHJvdyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGluZGV4IG9mIGN1cnJlbnQgY29sdW1uIGluIHRoZSByb3cuXG4gICAgICovXG4gICAgZ2V0Q29sdW1uSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyByb3csIGNlbGwgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gcm93LmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiBjZWxscy5maW5kSW5kZXgoeCA9PiB4ID09PSBjZWxsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaW5kIGN1cnJlbnQgYWJvdmUgY29sdW1uIGluIHRoZSB0YWJsZVxuICAgICAqL1xuICAgIGZpbmRBYm92ZSgpIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93SW5kZXggPSB0aGlzLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbkluZGV4ID0gdGhpcy5nZXRDb2x1bW5JbmRleCgpO1xuICAgICAgICBsZXQgeSA9IDA7XG4gICAgICAgIGxldCB0ID0gdGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgd2hpbGUgKHQpIHtcbiAgICAgICAgICAgIHkrKztcbiAgICAgICAgICAgIGlmICh0YWJsZS5jaGlsZHJlbltyb3dJbmRleCAtIHldICYmIHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4IC0geV0uY2hpbGRyZW5bY29sdW1uSW5kZXhdKSB7XG4gICAgICAgICAgICAgICAgdCA9IHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4IC0geV0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgICAgIHJldHVybiB0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmluZE5leHQoKSB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGxldCByb3dJbmRleCA9IHRoaXMuZ2V0Um93SW5kZXgoKTtcbiAgICAgICAgbGV0IGNvbHVtbkluZGV4ID0gdGhpcy5nZXRDb2x1bW5JbmRleCgpO1xuICAgICAgICBsZXQgbmV4dENlbGwgPSB0aGlzLmNlbGw7XG4gICAgICAgIHdoaWxlIChuZXh0Q2VsbCAmJiBuZXh0Q2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgIGlmIChjb2x1bW5JbmRleCArIDEgPCB0aGlzLmdldFdpZHRoKCkpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleCsrO1xuICAgICAgICAgICAgICAgIG5leHRDZWxsID0gdGhpcy50YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyb3dJbmRleCArIDEgPCB0aGlzLmdldEhlaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uSW5kZXggPSAwO1xuICAgICAgICAgICAgICAgIHJvd0luZGV4Kys7XG4gICAgICAgICAgICAgICAgbmV4dENlbGwgPSB0aGlzLnRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4XS5jaGlsZHJlbltjb2x1bW5JbmRleF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5leHRDZWxsID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dENlbGw7XG4gICAgfVxuXG4gICAgZmluZFByZXZpb3VzKCkge1xuICAgICAgICBjb25zdCB7IHRhYmxlIH0gPSB0aGlzO1xuICAgICAgICBsZXQgcm93SW5kZXggPSB0aGlzLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGxldCBjb2x1bW5JbmRleCA9IHRoaXMuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICAgICAgbGV0IHByZXZpb3VzQ2VsbCA9IHRoaXMuY2VsbDtcbiAgICAgICAgd2hpbGUgKHByZXZpb3VzQ2VsbCAmJiBwcmV2aW91c0NlbGwuaGlkZGVuKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uSW5kZXggLSAxID49IDApIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleC0tO1xuICAgICAgICAgICAgICAgIHByZXZpb3VzQ2VsbCA9IHRoaXMudGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29sdW1uSW5kZXggPSB0aGlzLmdldFdpZHRoKCkgLSAxO1xuICAgICAgICAgICAgICAgIHJvd0luZGV4LS07XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDZWxsID0gdGhpcy50YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmV2aW91c0NlbGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmluZCBjdXJyZW50IGJlbG93IGNvbHVtbiBpbiB0aGUgdGFibGVcbiAgICAgKi9cbiAgICBmaW5kQmVsb3coKSB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5nZXRSb3dJbmRleCgpO1xuICAgICAgICBjb25zdCBjb2x1bW5JbmRleCA9IHRoaXMuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICAgICAgbGV0IHkgPSAwO1xuICAgICAgICBsZXQgdCA9IHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4XS5jaGlsZHJlbltjb2x1bW5JbmRleF07XG4gICAgICAgIHdoaWxlICh0KSB7XG4gICAgICAgICAgICB5Kys7XG4gICAgICAgICAgICBpZiAodGFibGUuY2hpbGRyZW5bcm93SW5kZXggKyB5XSAmJiB0YWJsZS5jaGlsZHJlbltyb3dJbmRleCArIHldLmNoaWxkcmVuW2NvbHVtbkluZGV4XSkge1xuICAgICAgICAgICAgICAgIHQgPSB0YWJsZS5jaGlsZHJlbltyb3dJbmRleCArIHldLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gZmlyc3QgY2VsbCBvZiB0aGUgdGFibGVcbiAgICAgKi9cbiAgICBpc0ZpcnN0Q2VsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGaXJzdFJvdygpICYmIHRoaXMuaXNGaXJzdENvbHVtbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gbGFzdCBjZWxsIG9mIHRoZSB0YWJsZVxuICAgICAqL1xuICAgIGlzTGFzdENlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTGFzdFJvdygpICYmIHRoaXMuaXNMYXN0Q29sdW1uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJ1ZSBpZiBvbiBmaXJzdCByb3dcbiAgICAgKi9cbiAgICBpc0ZpcnN0Um93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSb3dJbmRleCgpID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gbGFzdCByb3dcbiAgICAgKi9cbiAgICBpc0xhc3RSb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFJvd0luZGV4KCkgPT09IHRoaXMuZ2V0SGVpZ2h0KCkgLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gZmlyc3QgY29sdW1uXG4gICAgICovXG4gICAgaXNGaXJzdENvbHVtbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uSW5kZXgoKSA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcnVlIGlmIG9uIGxhc3QgY29sdW1uXG4gICAgICovXG4gICAgaXNMYXN0Q29sdW1uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW5JbmRleCgpID09PSB0aGlzLmdldFdpZHRoKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbmQgY2VsbCBkYXRhIHdpdGggY29sIGFuZCByb3dcbiAgICAgKi9cblxuICAgIGZpbmRDZWxsQnlQYXRoKGNlbGw6IFNlbGVjdGVkQ2VsbCk6IFRhYmxlQ2VsbEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZS5jaGlsZHJlbltjZWxsLnJvd10uY2hpbGRyZW5bY2VsbC5jb2xdIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgfVxufVxuIl19
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy90YWJsZS1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFtQixPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFJdkQsTUFBTSxPQUFPLGFBQWE7SUFhdEIsWUFDSSxPQUFPLEdBQUc7UUFDTixVQUFVLEVBQUUsSUFBSTtRQUNoQixRQUFRLEVBQUUsSUFBSTtRQUNkLFNBQVMsRUFBRSxJQUFJO1FBQ2YsWUFBWSxFQUFFLElBQUk7S0FDckI7UUFFRCxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQWtCLEVBQUUsYUFBbUIsRUFBRSxJQUFVO1FBQzdELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEcsTUFBTSxR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QyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDVCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBRUgsY0FBYyxDQUFDLElBQWtCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFxQixDQUFDO0lBQ2hGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGUsIFBhdGgsIE5vZGVFbnRyeSwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlRWxlbWVudCwgVGFibGVSb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFNlbGVjdGVkQ2VsbCwgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVGFibGVQb3NpdGlvbiB7XG4gICAgLy8gVGhlRWxlbWVudCBjb250YWluZXIgZm9yIHRoZSB0YWJsZVxuICAgIHRhYmxlRW50cnk/OiBOb2RlRW50cnk8VGFibGVFbGVtZW50PjtcblxuICAgIC8vIFRoZUVsZW1lbnQgZm9yIGN1cnJlbnQgcm93XG4gICAgcm93RW50cnk/OiBOb2RlRW50cnk8RWxlbWVudD47XG5cbiAgICAvLyBUaGVFbGVtZW50IGZvciBjdXJyZW50IGNlbGxcbiAgICBjZWxsRW50cnk/OiBOb2RlRW50cnk8VGFibGVDZWxsRWxlbWVudD47XG5cbiAgICAvLyBDdXJyZW50IGNvbnRlbnQgVGhlRWxlbWVudCBpbiB0aGUgY2VsbFxuICAgIGNvbnRlbnRFbnRyeT86IE5vZGVFbnRyeTxFbGVtZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgdGFibGVFbnRyeTogbnVsbCxcbiAgICAgICAgICAgIHJvd0VudHJ5OiBudWxsLFxuICAgICAgICAgICAgY2VsbEVudHJ5OiBudWxsLFxuICAgICAgICAgICAgY29udGVudEVudHJ5OiBudWxsXG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZUVudHJ5LCByb3dFbnRyeSwgY2VsbEVudHJ5LCBjb250ZW50RW50cnkgfSA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMudGFibGVFbnRyeSA9IHRhYmxlRW50cnk7XG4gICAgICAgIHRoaXMucm93RW50cnkgPSByb3dFbnRyeTtcbiAgICAgICAgdGhpcy5jZWxsRW50cnkgPSBjZWxsRW50cnk7XG4gICAgICAgIHRoaXMuY29udGVudEVudHJ5ID0gY29udGVudEVudHJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBhIFRhYmxlUG9zaXRpb24gZnJvbSBhIFNsYXRlIGRvY3VtZW50XG4gICAgICogYW5kIGEgbm9kZSBrZXkuXG4gICAgICovXG4gICAgc3RhdGljIGNyZWF0ZShvcHRzOiBUYWJsZU9wdGlvbnMsIGNvbnRhaW5lck5vZGU6IE5vZGUsIHBhdGg6IFBhdGgpOiBUYWJsZVBvc2l0aW9uIHtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzID0gQXJyYXkuZnJvbShOb2RlLmFuY2VzdG9ycyhjb250YWluZXJOb2RlLCBwYXRoKSk7XG4gICAgICAgIGNvbnN0IHRhYmxlRW50cnkgPSBhbmNlc3RvcnMuZmluZCgoW3BdKSA9PiBFbGVtZW50LmlzRWxlbWVudChwKSAmJiBwLnR5cGUgPT09IG9wdHMudHlwZVRhYmxlKSB8fCBbXTtcbiAgICAgICAgY29uc3Qgcm93RW50cnkgPSBhbmNlc3RvcnMuZmluZCgoW3BdKSA9PiBFbGVtZW50LmlzRWxlbWVudChwKSAmJiBwLnR5cGUgPT09IG9wdHMudHlwZVJvdykgfHwgW107XG4gICAgICAgIGNvbnN0IGNlbGxFbnRyeSA9IGFuY2VzdG9ycy5maW5kKChbcF0pID0+IEVsZW1lbnQuaXNFbGVtZW50KHApICYmIHAudHlwZSA9PT0gb3B0cy50eXBlQ2VsbCkgfHwgW107XG4gICAgICAgIGNvbnN0IGNvbnRlbnRFbnRyeSA9IGFuY2VzdG9ycy5maW5kKChbcF0pID0+IEVsZW1lbnQuaXNFbGVtZW50KHApICYmIHAudHlwZSA9PT0gb3B0cy50eXBlQ29udGVudCkgfHwgW107XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZVBvc2l0aW9uKHtcbiAgICAgICAgICAgIHRhYmxlRW50cnksXG4gICAgICAgICAgICByb3dFbnRyeSxcbiAgICAgICAgICAgIGNlbGxFbnRyeSxcbiAgICAgICAgICAgIGNvbnRlbnRFbnRyeVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgdGFibGUoKTogVGFibGVFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlRW50cnkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGluIGEgdGFibGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZUVudHJ5WzBdO1xuICAgIH1cblxuICAgIGdldCByb3coKTogVGFibGVSb3dFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLnJvd0VudHJ5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbiBhIHJvdycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJvd0VudHJ5WzBdIGFzIFRhYmxlUm93RWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgY2VsbCgpOiBUYWJsZUNlbGxFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLmNlbGxFbnRyeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW4gYSBjZWxsJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbEVudHJ5WzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIHdpdGhpbiBhIGNlbGxcbiAgICAgKi9cbiAgICBpc0luQ2VsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5jZWxsRW50cnkubGVuZ3RoID4gMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgdG8gc2VlIGlmIHRoaXMgcG9zaXRpb24gaXMgd2l0aGluIGEgcm93XG4gICAgICovXG4gICAgaXNJblJvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5yb3dFbnRyeS5sZW5ndGggPiAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayB0byBzZWUgaWYgdGhpcyBwb3NpdGlvbiBpcyB3aXRoaW4gYSB0YWJsZVxuICAgICAqL1xuICAgIGlzSW5UYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy50YWJsZUVudHJ5Lmxlbmd0aCA+IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIGF0IHRoZSB0b3Agb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgaXNUb3BPZkNlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudEVudHJ5LCBjZWxsRW50cnkgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250ZW50RW50cnkgfHwgIWNlbGxFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY2VsbEVudHJ5WzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNoaWxkcmVuLmZpbmRJbmRleChjb250ZW50ID0+IGNvbnRlbnQgPT09IGNvbnRlbnRFbnRyeVswXSk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgaXNCb3R0b21PZkNlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudEVudHJ5LCBjZWxsRW50cnkgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250ZW50RW50cnkgfHwgIWNlbGxFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY2VsbEVudHJ5WzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNoaWxkcmVuLmZpbmRJbmRleChjb250ZW50ID0+IGNvbnRlbnQgPT09IGNvbnRlbnRFbnRyeVswXSk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSBjaGlsZHJlbi5sZW5ndGggLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjb3VudCBvZiBjb2x1bW5zXG4gICAgICovXG4gICAgZ2V0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuICAgICAgICBjb25zdCBjZWxscyA9IHJvd3NbMF0uY2hpbGRyZW4gYXMgTm9kZVtdO1xuXG4gICAgICAgIHJldHVybiBjZWxscy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNvdW50IG9mIHJvd3NcbiAgICAgKi9cbiAgICBnZXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiByb3dzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaW5kZXggb2YgY3VycmVudCByb3cgaW4gdGhlIHRhYmxlLlxuICAgICAqL1xuICAgIGdldFJvd0luZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUsIHJvdyB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiByb3dzLmZpbmRJbmRleCh4ID0+IHggPT09IHJvdyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGluZGV4IG9mIGN1cnJlbnQgY29sdW1uIGluIHRoZSByb3cuXG4gICAgICovXG4gICAgZ2V0Q29sdW1uSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyByb3csIGNlbGwgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gcm93LmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiBjZWxscy5maW5kSW5kZXgoeCA9PiB4ID09PSBjZWxsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaW5kIGN1cnJlbnQgYWJvdmUgY29sdW1uIGluIHRoZSB0YWJsZVxuICAgICAqL1xuICAgIGZpbmRBYm92ZSgpIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93SW5kZXggPSB0aGlzLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbkluZGV4ID0gdGhpcy5nZXRDb2x1bW5JbmRleCgpO1xuICAgICAgICBsZXQgeSA9IDA7XG4gICAgICAgIGxldCB0ID0gdGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgd2hpbGUgKHQpIHtcbiAgICAgICAgICAgIHkrKztcbiAgICAgICAgICAgIGlmICh0YWJsZS5jaGlsZHJlbltyb3dJbmRleCAtIHldICYmIHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4IC0geV0uY2hpbGRyZW5bY29sdW1uSW5kZXhdKSB7XG4gICAgICAgICAgICAgICAgdCA9IHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4IC0geV0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgICAgIHJldHVybiB0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmluZE5leHQoKSB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGxldCByb3dJbmRleCA9IHRoaXMuZ2V0Um93SW5kZXgoKTtcbiAgICAgICAgbGV0IGNvbHVtbkluZGV4ID0gdGhpcy5nZXRDb2x1bW5JbmRleCgpO1xuICAgICAgICBsZXQgbmV4dENlbGwgPSB0aGlzLmNlbGw7XG4gICAgICAgIHdoaWxlIChuZXh0Q2VsbCAmJiBuZXh0Q2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgIGlmIChjb2x1bW5JbmRleCArIDEgPCB0aGlzLmdldFdpZHRoKCkpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleCsrO1xuICAgICAgICAgICAgICAgIG5leHRDZWxsID0gdGhpcy50YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyb3dJbmRleCArIDEgPCB0aGlzLmdldEhlaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uSW5kZXggPSAwO1xuICAgICAgICAgICAgICAgIHJvd0luZGV4Kys7XG4gICAgICAgICAgICAgICAgbmV4dENlbGwgPSB0aGlzLnRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4XS5jaGlsZHJlbltjb2x1bW5JbmRleF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5leHRDZWxsID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dENlbGw7XG4gICAgfVxuXG4gICAgZmluZFByZXZpb3VzKCkge1xuICAgICAgICBjb25zdCB7IHRhYmxlIH0gPSB0aGlzO1xuICAgICAgICBsZXQgcm93SW5kZXggPSB0aGlzLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGxldCBjb2x1bW5JbmRleCA9IHRoaXMuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICAgICAgbGV0IHByZXZpb3VzQ2VsbCA9IHRoaXMuY2VsbDtcbiAgICAgICAgd2hpbGUgKHByZXZpb3VzQ2VsbCAmJiBwcmV2aW91c0NlbGwuaGlkZGVuKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uSW5kZXggLSAxID49IDApIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleC0tO1xuICAgICAgICAgICAgICAgIHByZXZpb3VzQ2VsbCA9IHRoaXMudGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29sdW1uSW5kZXggPSB0aGlzLmdldFdpZHRoKCkgLSAxO1xuICAgICAgICAgICAgICAgIHJvd0luZGV4LS07XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDZWxsID0gdGhpcy50YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmV2aW91c0NlbGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmluZCBjdXJyZW50IGJlbG93IGNvbHVtbiBpbiB0aGUgdGFibGVcbiAgICAgKi9cbiAgICBmaW5kQmVsb3coKSB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5nZXRSb3dJbmRleCgpO1xuICAgICAgICBjb25zdCBjb2x1bW5JbmRleCA9IHRoaXMuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICAgICAgbGV0IHkgPSAwO1xuICAgICAgICBsZXQgdCA9IHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4XS5jaGlsZHJlbltjb2x1bW5JbmRleF07XG4gICAgICAgIHdoaWxlICh0KSB7XG4gICAgICAgICAgICB5Kys7XG4gICAgICAgICAgICBpZiAodGFibGUuY2hpbGRyZW5bcm93SW5kZXggKyB5XSAmJiB0YWJsZS5jaGlsZHJlbltyb3dJbmRleCArIHldLmNoaWxkcmVuW2NvbHVtbkluZGV4XSkge1xuICAgICAgICAgICAgICAgIHQgPSB0YWJsZS5jaGlsZHJlbltyb3dJbmRleCArIHldLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gZmlyc3QgY2VsbCBvZiB0aGUgdGFibGVcbiAgICAgKi9cbiAgICBpc0ZpcnN0Q2VsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGaXJzdFJvdygpICYmIHRoaXMuaXNGaXJzdENvbHVtbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gbGFzdCBjZWxsIG9mIHRoZSB0YWJsZVxuICAgICAqL1xuICAgIGlzTGFzdENlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTGFzdFJvdygpICYmIHRoaXMuaXNMYXN0Q29sdW1uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJ1ZSBpZiBvbiBmaXJzdCByb3dcbiAgICAgKi9cbiAgICBpc0ZpcnN0Um93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSb3dJbmRleCgpID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gbGFzdCByb3dcbiAgICAgKi9cbiAgICBpc0xhc3RSb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFJvd0luZGV4KCkgPT09IHRoaXMuZ2V0SGVpZ2h0KCkgLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gZmlyc3QgY29sdW1uXG4gICAgICovXG4gICAgaXNGaXJzdENvbHVtbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uSW5kZXgoKSA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcnVlIGlmIG9uIGxhc3QgY29sdW1uXG4gICAgICovXG4gICAgaXNMYXN0Q29sdW1uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW5JbmRleCgpID09PSB0aGlzLmdldFdpZHRoKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbmQgY2VsbCBkYXRhIHdpdGggY29sIGFuZCByb3dcbiAgICAgKi9cblxuICAgIGZpbmRDZWxsQnlQYXRoKGNlbGw6IFNlbGVjdGVkQ2VsbCk6IFRhYmxlQ2VsbEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZS5jaGlsZHJlbltjZWxsLnJvd10uY2hpbGRyZW5bY2VsbC5jb2xdIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgfVxufVxuIl19
|