@ai-table/grid 0.0.73 → 0.1.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/angular-konva/components/container.component.d.ts.map +1 -1
- package/angular-konva/components/shape.component.d.ts.map +1 -1
- package/angular-konva/components/stage.component.d.ts.map +1 -1
- package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
- package/components/cell-editors/date/date-editor.component.d.ts.map +1 -1
- package/components/cell-editors/link/edit-link/edit-link.component.d.ts.map +1 -1
- package/components/cell-editors/link/link-editor.component.d.ts.map +1 -1
- package/components/cell-editors/number/number-editor.component.d.ts.map +1 -1
- package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
- package/components/cell-editors/text/text-editor.component.d.ts.map +1 -1
- package/components/cell-views/select/option.component.d.ts.map +1 -1
- package/components/context-menu/context-menu.component.d.ts.map +1 -1
- package/components/drag/drag.component.d.ts.map +1 -1
- package/components/field-menu/field-menu.component.d.ts.map +1 -1
- package/components/field-setting/field-setting.component.d.ts.map +1 -1
- package/core/context.d.ts +2 -0
- package/core/context.d.ts.map +1 -1
- package/core/types/ai-table.d.ts.map +1 -1
- package/core/utils/field.d.ts.map +1 -1
- package/core/utils/queries.d.ts.map +1 -1
- package/core/utils/short-id.d.ts.map +1 -1
- package/dom-grid.component.d.ts.map +1 -1
- package/fesm2022/ai-table-grid.mjs +322 -310
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid-base.component.d.ts +3 -1
- package/grid-base.component.d.ts.map +1 -1
- package/grid.component.d.ts +1 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +3 -5
- package/pipes/grid.pipe.d.ts.map +1 -1
- package/renderer/components/action-icon.component.d.ts.map +1 -1
- package/renderer/components/add-field-column.component.d.ts.map +1 -1
- package/renderer/components/cells/attachment.component.d.ts.map +1 -1
- package/renderer/components/cells/link.component.d.ts.map +1 -1
- package/renderer/components/cells/progress.component.d.ts.map +1 -1
- package/renderer/components/cells/rate.component.d.ts.map +1 -1
- package/renderer/components/cells/rich-text.component.d.ts.map +1 -1
- package/renderer/components/cells.component.d.ts.map +1 -1
- package/renderer/components/field-head.component.d.ts +2 -2
- package/renderer/components/field-head.component.d.ts.map +1 -1
- package/renderer/components/field-icon.component.d.ts.map +1 -1
- package/renderer/components/frozen-cells.component.d.ts.map +1 -1
- package/renderer/components/frozen-heads.component.d.ts +1 -1
- package/renderer/components/frozen-heads.component.d.ts.map +1 -1
- package/renderer/components/frozen-placeholder-cells.component.d.ts.map +1 -1
- package/renderer/components/heads.component.d.ts +1 -1
- package/renderer/components/heads.component.d.ts.map +1 -1
- package/renderer/components/hover-cell.component.d.ts.map +1 -1
- package/renderer/components/hover-row-heads.component.d.ts.map +1 -1
- package/renderer/components/icon.component.d.ts.map +1 -1
- package/renderer/components/other-rows.component.d.ts.map +1 -1
- package/renderer/components/placeholder-cells.component.d.ts.map +1 -1
- package/renderer/components/text.component.d.ts.map +1 -1
- package/renderer/creations/create-active-cell-border.d.ts.map +1 -1
- package/renderer/creations/create-cells.d.ts.map +1 -1
- package/renderer/creations/create-heads.d.ts.map +1 -1
- package/renderer/drawers/add-row-layout-drawer.d.ts +1 -1
- package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -1
- package/renderer/drawers/cell-drawer.d.ts.map +1 -1
- package/renderer/drawers/drawer.d.ts +1 -1
- package/renderer/renderer.component.d.ts +5 -4
- package/renderer/renderer.component.d.ts.map +1 -1
- package/types/cell.d.ts +2 -0
- package/types/cell.d.ts.map +1 -1
- package/types/component-config.d.ts +2 -0
- package/types/component-config.d.ts.map +1 -1
- package/types/grid.d.ts +4 -0
- package/types/grid.d.ts.map +1 -1
- package/types/row.d.ts +1 -0
- package/types/row.d.ts.map +1 -1
- package/utils/build.d.ts.map +1 -1
- package/utils/clipboard/clipboard.d.ts.map +1 -1
- package/utils/clipboard/copy.d.ts.map +1 -1
- package/utils/clipboard/paste.d.ts +5 -1
- package/utils/clipboard/paste.d.ts.map +1 -1
- package/utils/common.d.ts.map +1 -1
- package/utils/field/model/date.d.ts.map +1 -1
- package/utils/field/model/link.d.ts.map +1 -1
- package/utils/field/model/progress.d.ts.map +1 -1
- package/utils/field/model/text.d.ts.map +1 -1
- package/utils/get-text-width.d.ts.map +1 -1
- package/utils/i18n.d.ts +2 -0
- package/utils/i18n.d.ts.map +1 -1
- package/utils/match-keywords.d.ts.map +1 -1
- package/utils/position.d.ts.map +1 -1
- package/utils/style.d.ts.map +1 -1
- package/utils/text-measure.d.ts.map +1 -1
- package/utils/visible-range.d.ts.map +1 -1
- package/esm2022/ai-table-grid.mjs +0 -5
- package/esm2022/angular-konva/components/container.component.mjs +0 -29
- package/esm2022/angular-konva/components/container.token.mjs +0 -3
- package/esm2022/angular-konva/components/index.mjs +0 -4
- package/esm2022/angular-konva/components/shape.component.mjs +0 -142
- package/esm2022/angular-konva/components/stage.component.mjs +0 -123
- package/esm2022/angular-konva/index.mjs +0 -5
- package/esm2022/angular-konva/interfaces/component.mjs +0 -4
- package/esm2022/angular-konva/interfaces/config.mjs +0 -2
- package/esm2022/angular-konva/interfaces/event-object.mjs +0 -2
- package/esm2022/angular-konva/interfaces/index.mjs +0 -5
- package/esm2022/angular-konva/interfaces/shape.mjs +0 -42
- package/esm2022/angular-konva/utils/apply-node-props.mjs +0 -67
- package/esm2022/angular-konva/utils/common.mjs +0 -48
- package/esm2022/angular-konva/utils/index.mjs +0 -5
- package/esm2022/angular-konva/utils/types.mjs +0 -2
- package/esm2022/angular-konva/utils/update-picture.mjs +0 -7
- package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +0 -56
- package/esm2022/components/cell-editors/date/date-editor.component.mjs +0 -87
- package/esm2022/components/cell-editors/link/edit-link/edit-link.component.mjs +0 -81
- package/esm2022/components/cell-editors/link/link-editor.component.mjs +0 -122
- package/esm2022/components/cell-editors/number/number-editor.component.mjs +0 -41
- package/esm2022/components/cell-editors/select/select-editor.component.mjs +0 -74
- package/esm2022/components/cell-editors/text/text-editor.component.mjs +0 -76
- package/esm2022/components/cell-views/select/option.component.mjs +0 -28
- package/esm2022/components/context-menu/context-menu.component.mjs +0 -42
- package/esm2022/components/drag/drag.component.mjs +0 -300
- package/esm2022/components/field-menu/field-menu.component.mjs +0 -47
- package/esm2022/components/field-setting/field-setting.component.mjs +0 -142
- package/esm2022/components/index.mjs +0 -10
- package/esm2022/constants/colors.mjs +0 -19
- package/esm2022/constants/editor.mjs +0 -11
- package/esm2022/constants/file-icon.mjs +0 -342
- package/esm2022/constants/grid.mjs +0 -35
- package/esm2022/constants/icon.mjs +0 -30
- package/esm2022/constants/index.mjs +0 -7
- package/esm2022/constants/table.mjs +0 -78
- package/esm2022/constants/text.mjs +0 -23
- package/esm2022/core/constants/field.mjs +0 -107
- package/esm2022/core/context.mjs +0 -29
- package/esm2022/core/coordinate.mjs +0 -222
- package/esm2022/core/index.mjs +0 -6
- package/esm2022/core/types/ai-table.mjs +0 -57
- package/esm2022/core/types/core.mjs +0 -2
- package/esm2022/core/types/index.mjs +0 -3
- package/esm2022/core/utils/common.mjs +0 -45
- package/esm2022/core/utils/field.mjs +0 -64
- package/esm2022/core/utils/id-creator.mjs +0 -21
- package/esm2022/core/utils/index.mjs +0 -5
- package/esm2022/core/utils/queries.mjs +0 -80
- package/esm2022/core/utils/short-id.mjs +0 -53
- package/esm2022/dom-grid.component.mjs +0 -80
- package/esm2022/grid-base.component.mjs +0 -145
- package/esm2022/grid.component.mjs +0 -649
- package/esm2022/index.mjs +0 -2
- package/esm2022/pipes/grid.pipe.mjs +0 -110
- package/esm2022/pipes/index.mjs +0 -2
- package/esm2022/public-api.mjs +0 -12
- package/esm2022/renderer/components/action-icon.component.mjs +0 -117
- package/esm2022/renderer/components/add-field-column.component.mjs +0 -88
- package/esm2022/renderer/components/cells/attachment.component.mjs +0 -107
- package/esm2022/renderer/components/cells/cells.mjs +0 -6
- package/esm2022/renderer/components/cells/index.mjs +0 -7
- package/esm2022/renderer/components/cells/link.component.mjs +0 -89
- package/esm2022/renderer/components/cells/progress.component.mjs +0 -268
- package/esm2022/renderer/components/cells/rate.component.mjs +0 -153
- package/esm2022/renderer/components/cells/rich-text.component.mjs +0 -95
- package/esm2022/renderer/components/cells.component.mjs +0 -35
- package/esm2022/renderer/components/field-head.component.mjs +0 -146
- package/esm2022/renderer/components/field-icon.component.mjs +0 -72
- package/esm2022/renderer/components/frozen-cells.component.mjs +0 -36
- package/esm2022/renderer/components/frozen-heads.component.mjs +0 -214
- package/esm2022/renderer/components/frozen-placeholder-cells.component.mjs +0 -38
- package/esm2022/renderer/components/heads.component.mjs +0 -38
- package/esm2022/renderer/components/hover-cell.component.mjs +0 -104
- package/esm2022/renderer/components/hover-row-heads.component.mjs +0 -132
- package/esm2022/renderer/components/icon.component.mjs +0 -84
- package/esm2022/renderer/components/index.mjs +0 -15
- package/esm2022/renderer/components/other-rows.component.mjs +0 -68
- package/esm2022/renderer/components/placeholder-cells.component.mjs +0 -33
- package/esm2022/renderer/components/text.component.mjs +0 -67
- package/esm2022/renderer/creations/create-active-cell-border.mjs +0 -70
- package/esm2022/renderer/creations/create-cells.mjs +0 -190
- package/esm2022/renderer/creations/create-heads.mjs +0 -51
- package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +0 -98
- package/esm2022/renderer/drawers/cell-drawer.mjs +0 -673
- package/esm2022/renderer/drawers/drawer.mjs +0 -947
- package/esm2022/renderer/drawers/layout-drawer.mjs +0 -64
- package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +0 -131
- package/esm2022/renderer/index.mjs +0 -4
- package/esm2022/renderer/interfaces/hover-cell.mjs +0 -4
- package/esm2022/renderer/interfaces/index.mjs +0 -2
- package/esm2022/renderer/renderer.component.mjs +0 -197
- package/esm2022/services/event.service.mjs +0 -241
- package/esm2022/services/field.service.mjs +0 -56
- package/esm2022/services/index.mjs +0 -4
- package/esm2022/services/selection.service.mjs +0 -151
- package/esm2022/types/avatar.mjs +0 -27
- package/esm2022/types/canvas.mjs +0 -2
- package/esm2022/types/cell.mjs +0 -2
- package/esm2022/types/clipboard.mjs +0 -2
- package/esm2022/types/component-config.mjs +0 -7
- package/esm2022/types/field.mjs +0 -2
- package/esm2022/types/grid.mjs +0 -17
- package/esm2022/types/index.mjs +0 -10
- package/esm2022/types/layout.mjs +0 -2
- package/esm2022/types/row.mjs +0 -6
- package/esm2022/utils/build.mjs +0 -39
- package/esm2022/utils/cell.mjs +0 -80
- package/esm2022/utils/clear-cells.mjs +0 -23
- package/esm2022/utils/clipboard/clipboard.mjs +0 -88
- package/esm2022/utils/clipboard/copy.mjs +0 -99
- package/esm2022/utils/clipboard/extract.mjs +0 -38
- package/esm2022/utils/clipboard/index.mjs +0 -5
- package/esm2022/utils/clipboard/paste.mjs +0 -188
- package/esm2022/utils/common.mjs +0 -50
- package/esm2022/utils/field/field-operable.mjs +0 -2
- package/esm2022/utils/field/field.mjs +0 -20
- package/esm2022/utils/field/index.mjs +0 -4
- package/esm2022/utils/field/model/attachment.mjs +0 -56
- package/esm2022/utils/field/model/date.mjs +0 -141
- package/esm2022/utils/field/model/index.mjs +0 -12
- package/esm2022/utils/field/model/link.mjs +0 -56
- package/esm2022/utils/field/model/member.mjs +0 -81
- package/esm2022/utils/field/model/number.mjs +0 -59
- package/esm2022/utils/field/model/progress.mjs +0 -69
- package/esm2022/utils/field/model/rate.mjs +0 -58
- package/esm2022/utils/field/model/rich-text.mjs +0 -39
- package/esm2022/utils/field/model/select.mjs +0 -131
- package/esm2022/utils/field/model/text.mjs +0 -32
- package/esm2022/utils/field/operate.mjs +0 -73
- package/esm2022/utils/file.mjs +0 -116
- package/esm2022/utils/get-placeholder-cells.mjs +0 -66
- package/esm2022/utils/get-text-width.mjs +0 -30
- package/esm2022/utils/hover-cell.mjs +0 -25
- package/esm2022/utils/i18n.mjs +0 -87
- package/esm2022/utils/image-cache.mjs +0 -57
- package/esm2022/utils/index.mjs +0 -19
- package/esm2022/utils/match-keywords.mjs +0 -15
- package/esm2022/utils/os.mjs +0 -16
- package/esm2022/utils/position.mjs +0 -48
- package/esm2022/utils/style.mjs +0 -37
- package/esm2022/utils/text-measure.mjs +0 -122
- package/esm2022/utils/visible-range.mjs +0 -42
@@ -1,84 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
2
|
-
import { KoContainer } from '../../angular-konva';
|
3
|
-
import { KoShape } from '../../angular-konva/components/shape.component';
|
4
|
-
import { Check, Colors, DEFAULT_ICON_SIZE, RowDragPath, Unchecked } from '../../constants';
|
5
|
-
import { AITableCheckType } from '../../types';
|
6
|
-
import { DragType } from '@ai-table/utils';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
export class AITableIcon {
|
9
|
-
constructor() {
|
10
|
-
this.config = input.required();
|
11
|
-
this.groupConfig = computed(() => {
|
12
|
-
const { x, y, listening } = this.config();
|
13
|
-
return { x, y, listening };
|
14
|
-
});
|
15
|
-
this.squareShapeConfig = computed(() => {
|
16
|
-
const { name, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, strokeWidth = 1, background, cornerRadius, opacity } = this.config();
|
17
|
-
return {
|
18
|
-
name,
|
19
|
-
width: backgroundWidth || size,
|
20
|
-
height: backgroundHeight || size,
|
21
|
-
strokeWidth: strokeWidth,
|
22
|
-
fill: background || Colors.transparent,
|
23
|
-
cornerRadius,
|
24
|
-
opacity
|
25
|
-
};
|
26
|
-
});
|
27
|
-
this.iconConfig = computed(() => {
|
28
|
-
const { type, data, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, stroke, strokeWidth = 1, scaleX, scaleY, offsetX, offsetY, rotation, fill = Colors.gray600, transformsEnabled = 'position' } = this.config();
|
29
|
-
let pathData = data;
|
30
|
-
switch (type) {
|
31
|
-
case AITableCheckType.checked:
|
32
|
-
pathData = Check;
|
33
|
-
break;
|
34
|
-
case AITableCheckType.unchecked:
|
35
|
-
pathData = Unchecked;
|
36
|
-
break;
|
37
|
-
case DragType.record:
|
38
|
-
pathData = RowDragPath;
|
39
|
-
break;
|
40
|
-
}
|
41
|
-
return {
|
42
|
-
x: backgroundWidth && (backgroundWidth - size * (scaleX || 1)) / 2,
|
43
|
-
y: backgroundHeight && (backgroundHeight - size * (scaleY || 1)) / 2,
|
44
|
-
data: pathData,
|
45
|
-
width: size,
|
46
|
-
height: size,
|
47
|
-
fill,
|
48
|
-
offsetX,
|
49
|
-
offsetY,
|
50
|
-
scaleX,
|
51
|
-
scaleY,
|
52
|
-
rotation,
|
53
|
-
stroke,
|
54
|
-
strokeWidth,
|
55
|
-
transformsEnabled,
|
56
|
-
perfectDrawEnabled: false,
|
57
|
-
listening: false
|
58
|
-
};
|
59
|
-
});
|
60
|
-
}
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AITableIcon, isStandalone: true, selector: "ai-table-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
63
|
-
<ko-group [config]="groupConfig()">
|
64
|
-
<ko-rect [config]="squareShapeConfig()"></ko-rect>
|
65
|
-
<ko-path [config]="iconConfig()"></ko-path>
|
66
|
-
</ko-group>
|
67
|
-
`, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
68
|
-
}
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableIcon, decorators: [{
|
70
|
-
type: Component,
|
71
|
-
args: [{
|
72
|
-
selector: 'ai-table-icon',
|
73
|
-
template: `
|
74
|
-
<ko-group [config]="groupConfig()">
|
75
|
-
<ko-rect [config]="squareShapeConfig()"></ko-rect>
|
76
|
-
<ko-path [config]="iconConfig()"></ko-path>
|
77
|
-
</ko-group>
|
78
|
-
`,
|
79
|
-
standalone: true,
|
80
|
-
imports: [KoContainer, KoShape],
|
81
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
82
|
-
}]
|
83
|
-
}] });
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQXFCLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFjM0MsTUFBTSxPQUFPLFdBQVc7SUFaeEI7UUFhSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQztRQUU3QyxnQkFBVyxHQUFHLFFBQVEsQ0FBdUIsR0FBRyxFQUFFO1lBQzlDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUVILHNCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsTUFBTSxFQUNGLElBQUksRUFDSixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLElBQUksR0FBRyxpQkFBaUIsRUFDeEIsV0FBVyxHQUFHLENBQUMsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLE9BQU8sRUFDVixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixPQUFPO2dCQUNILElBQUk7Z0JBQ0osS0FBSyxFQUFFLGVBQWUsSUFBSSxJQUFJO2dCQUM5QixNQUFNLEVBQUUsZ0JBQWdCLElBQUksSUFBSTtnQkFDaEMsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLElBQUksRUFBRSxVQUFVLElBQUksTUFBTSxDQUFDLFdBQVc7Z0JBQ3RDLFlBQVk7Z0JBQ1osT0FBTzthQUNWLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sRUFDRixJQUFJLEVBQ0osSUFBSSxFQUNKLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsSUFBSSxHQUFHLGlCQUFpQixFQUN4QixNQUFNLEVBQ04sV0FBVyxHQUFHLENBQUMsRUFDZixNQUFNLEVBQ04sTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxFQUNyQixpQkFBaUIsR0FBRyxVQUFVLEVBQ2pDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRWxCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztZQUVwQixRQUFRLElBQUksRUFBRSxDQUFDO2dCQUNYLEtBQUssZ0JBQWdCLENBQUMsT0FBTztvQkFDekIsUUFBUSxHQUFHLEtBQUssQ0FBQztvQkFDakIsTUFBTTtnQkFDVixLQUFLLGdCQUFnQixDQUFDLFNBQVM7b0JBQzNCLFFBQVEsR0FBRyxTQUFTLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1YsS0FBSyxRQUFRLENBQUMsTUFBTTtvQkFDaEIsUUFBUSxHQUFHLFdBQVcsQ0FBQztvQkFDdkIsTUFBTTtZQUNkLENBQUM7WUFFRCxPQUFPO2dCQUNILENBQUMsRUFBRSxlQUFlLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDbEUsQ0FBQyxFQUFFLGdCQUFnQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDcEUsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsTUFBTSxFQUFFLElBQUk7Z0JBQ1osSUFBSTtnQkFDSixPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsTUFBTTtnQkFDTixNQUFNO2dCQUNOLFFBQVE7Z0JBQ1IsTUFBTTtnQkFDTixXQUFXO2dCQUNYLGlCQUFpQjtnQkFDakIsa0JBQWtCLEVBQUUsS0FBSztnQkFDekIsU0FBUyxFQUFFLEtBQUs7YUFDbkIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047K0dBakZZLFdBQVc7bUdBQVgsV0FBVywrTUFWVjs7Ozs7S0FLVCw0REFFUyxXQUFXLDZFQUFFLE9BQU87OzRGQUdyQixXQUFXO2tCQVp2QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7Ozs7O0tBS1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7b0JBQy9CLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhZ2VDb25maWcgfSBmcm9tICdrb252YS9saWIvU3RhZ2UnO1xuaW1wb3J0IHsgS29Db250YWluZXIgfSBmcm9tICcuLi8uLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7IEtvU2hhcGUgfSBmcm9tICcuLi8uLi9hbmd1bGFyLWtvbnZhL2NvbXBvbmVudHMvc2hhcGUuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrLCBDb2xvcnMsIERFRkFVTFRfSUNPTl9TSVpFLCBSb3dEcmFnUGF0aCwgVW5jaGVja2VkIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFJVGFibGVDaGVja1R5cGUsIEFJVGFibGVJY29uQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRHJhZ1R5cGUgfSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWljb24nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cImdyb3VwQ29uZmlnKClcIj5cbiAgICAgICAgICAgIDxrby1yZWN0IFtjb25maWddPVwic3F1YXJlU2hhcGVDb25maWcoKVwiPjwva28tcmVjdD5cbiAgICAgICAgICAgIDxrby1wYXRoIFtjb25maWddPVwiaWNvbkNvbmZpZygpXCI+PC9rby1wYXRoPlxuICAgICAgICA8L2tvLWdyb3VwPlxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS29Db250YWluZXIsIEtvU2hhcGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVJY29uIHtcbiAgICBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxBSVRhYmxlSWNvbkNvbmZpZz4oKTtcblxuICAgIGdyb3VwQ29uZmlnID0gY29tcHV0ZWQ8UGFydGlhbDxTdGFnZUNvbmZpZz4+KCgpID0+IHtcbiAgICAgICAgY29uc3QgeyB4LCB5LCBsaXN0ZW5pbmcgfSA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIHJldHVybiB7IHgsIHksIGxpc3RlbmluZyB9O1xuICAgIH0pO1xuXG4gICAgc3F1YXJlU2hhcGVDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kV2lkdGgsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kSGVpZ2h0LFxuICAgICAgICAgICAgc2l6ZSA9IERFRkFVTFRfSUNPTl9TSVpFLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGggPSAxLFxuICAgICAgICAgICAgYmFja2dyb3VuZCxcbiAgICAgICAgICAgIGNvcm5lclJhZGl1cyxcbiAgICAgICAgICAgIG9wYWNpdHlcbiAgICAgICAgfSA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgd2lkdGg6IGJhY2tncm91bmRXaWR0aCB8fCBzaXplLFxuICAgICAgICAgICAgaGVpZ2h0OiBiYWNrZ3JvdW5kSGVpZ2h0IHx8IHNpemUsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogc3Ryb2tlV2lkdGgsXG4gICAgICAgICAgICBmaWxsOiBiYWNrZ3JvdW5kIHx8IENvbG9ycy50cmFuc3BhcmVudCxcbiAgICAgICAgICAgIGNvcm5lclJhZGl1cyxcbiAgICAgICAgICAgIG9wYWNpdHlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGljb25Db25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgYmFja2dyb3VuZFdpZHRoLFxuICAgICAgICAgICAgYmFja2dyb3VuZEhlaWdodCxcbiAgICAgICAgICAgIHNpemUgPSBERUZBVUxUX0lDT05fU0laRSxcbiAgICAgICAgICAgIHN0cm9rZSxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoID0gMSxcbiAgICAgICAgICAgIHNjYWxlWCxcbiAgICAgICAgICAgIHNjYWxlWSxcbiAgICAgICAgICAgIG9mZnNldFgsXG4gICAgICAgICAgICBvZmZzZXRZLFxuICAgICAgICAgICAgcm90YXRpb24sXG4gICAgICAgICAgICBmaWxsID0gQ29sb3JzLmdyYXk2MDAsXG4gICAgICAgICAgICB0cmFuc2Zvcm1zRW5hYmxlZCA9ICdwb3NpdGlvbidcbiAgICAgICAgfSA9IHRoaXMuY29uZmlnKCk7XG5cbiAgICAgICAgbGV0IHBhdGhEYXRhID0gZGF0YTtcblxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUNoZWNrVHlwZS5jaGVja2VkOlxuICAgICAgICAgICAgICAgIHBhdGhEYXRhID0gQ2hlY2s7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVDaGVja1R5cGUudW5jaGVja2VkOlxuICAgICAgICAgICAgICAgIHBhdGhEYXRhID0gVW5jaGVja2VkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEcmFnVHlwZS5yZWNvcmQ6XG4gICAgICAgICAgICAgICAgcGF0aERhdGEgPSBSb3dEcmFnUGF0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiBiYWNrZ3JvdW5kV2lkdGggJiYgKGJhY2tncm91bmRXaWR0aCAtIHNpemUgKiAoc2NhbGVYIHx8IDEpKSAvIDIsXG4gICAgICAgICAgICB5OiBiYWNrZ3JvdW5kSGVpZ2h0ICYmIChiYWNrZ3JvdW5kSGVpZ2h0IC0gc2l6ZSAqIChzY2FsZVkgfHwgMSkpIC8gMixcbiAgICAgICAgICAgIGRhdGE6IHBhdGhEYXRhLFxuICAgICAgICAgICAgd2lkdGg6IHNpemUsXG4gICAgICAgICAgICBoZWlnaHQ6IHNpemUsXG4gICAgICAgICAgICBmaWxsLFxuICAgICAgICAgICAgb2Zmc2V0WCxcbiAgICAgICAgICAgIG9mZnNldFksXG4gICAgICAgICAgICBzY2FsZVgsXG4gICAgICAgICAgICBzY2FsZVksXG4gICAgICAgICAgICByb3RhdGlvbixcbiAgICAgICAgICAgIHN0cm9rZSxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgdHJhbnNmb3Jtc0VuYWJsZWQsXG4gICAgICAgICAgICBwZXJmZWN0RHJhd0VuYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbGlzdGVuaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0pO1xufVxuIl19
|
@@ -1,15 +0,0 @@
|
|
1
|
-
export * from './add-field-column.component';
|
2
|
-
export * from './cells.component';
|
3
|
-
export * from './field-head.component';
|
4
|
-
export * from './field-icon.component';
|
5
|
-
export * from './frozen-cells.component';
|
6
|
-
export * from './frozen-heads.component';
|
7
|
-
export * from './frozen-placeholder-cells.component';
|
8
|
-
export * from './heads.component';
|
9
|
-
export * from './hover-row-heads.component';
|
10
|
-
export * from './icon.component';
|
11
|
-
export * from './other-rows.component';
|
12
|
-
export * from './placeholder-cells.component';
|
13
|
-
export * from './text.component';
|
14
|
-
export * from './cells';
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZC1maWVsZC1jb2x1bW4uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQtaGVhZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Zyb3plbi1jZWxscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mcm96ZW4taGVhZHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZnJvemVuLXBsYWNlaG9sZGVyLWNlbGxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hlYWRzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hvdmVyLXJvdy1oZWFkcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL290aGVyLXJvd3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItY2VsbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jZWxscyc7XG4iXX0=
|
@@ -1,68 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
2
|
-
import { KoShape } from '../../angular-konva';
|
3
|
-
import { AI_TABLE_ROW_ADD_BUTTON } from '../../constants';
|
4
|
-
import { AITableRowType } from '../../types';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
export class AITableOtherRows {
|
7
|
-
constructor() {
|
8
|
-
this.config = input.required();
|
9
|
-
this.AITableRowType = AITableRowType;
|
10
|
-
this.otherConfigs = computed(() => {
|
11
|
-
return this.createOtherRows(this.config());
|
12
|
-
});
|
13
|
-
this.createOtherRows = (config) => {
|
14
|
-
const { coordinate, rowStartIndex, rowStopIndex, aiTable } = config;
|
15
|
-
const otherRowConfigs = [];
|
16
|
-
for (let rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) {
|
17
|
-
if (rowIndex > coordinate.rowCount - 1)
|
18
|
-
break;
|
19
|
-
const { _id, type } = aiTable.context.linearRows()[rowIndex];
|
20
|
-
if (type === AITableRowType.record)
|
21
|
-
continue;
|
22
|
-
const y = coordinate.getRowOffset(rowIndex);
|
23
|
-
const curHeight = coordinate.getRowHeight(rowIndex);
|
24
|
-
otherRowConfigs.push({
|
25
|
-
type,
|
26
|
-
addBtnConfig: {
|
27
|
-
key: `row-add-${_id}`,
|
28
|
-
y: y + 1,
|
29
|
-
name: AI_TABLE_ROW_ADD_BUTTON,
|
30
|
-
width: coordinate.containerWidth,
|
31
|
-
height: curHeight - 1,
|
32
|
-
fill: 'transparent'
|
33
|
-
}
|
34
|
-
});
|
35
|
-
}
|
36
|
-
return otherRowConfigs;
|
37
|
-
};
|
38
|
-
}
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableOtherRows, isStandalone: true, selector: "ai-table-other-rows", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
41
|
-
@for (config of otherConfigs(); track $index) {
|
42
|
-
@switch (config.type) {
|
43
|
-
@case (AITableRowType.add) {
|
44
|
-
<ko-rect [config]="config.addBtnConfig"></ko-rect>
|
45
|
-
}
|
46
|
-
}
|
47
|
-
}
|
48
|
-
`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
49
|
-
}
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableOtherRows, decorators: [{
|
51
|
-
type: Component,
|
52
|
-
args: [{
|
53
|
-
selector: 'ai-table-other-rows',
|
54
|
-
template: `
|
55
|
-
@for (config of otherConfigs(); track $index) {
|
56
|
-
@switch (config.type) {
|
57
|
-
@case (AITableRowType.add) {
|
58
|
-
<ko-rect [config]="config.addBtnConfig"></ko-rect>
|
59
|
-
}
|
60
|
-
}
|
61
|
-
}
|
62
|
-
`,
|
63
|
-
standalone: true,
|
64
|
-
imports: [KoShape],
|
65
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
66
|
-
}]
|
67
|
-
}] });
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItcm93cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL290aGVyLXJvd3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUF5QixjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBaUJwRSxNQUFNLE9BQU8sZ0JBQWdCO0lBZjdCO1FBZ0JJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QixDQUFDO1FBRWpELG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxvQkFBZSxHQUFHLENBQUMsTUFBNkIsRUFBRSxFQUFFO1lBQ2hELE1BQU0sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUM7WUFDcEUsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1lBQzNCLEtBQUssSUFBSSxRQUFRLEdBQUcsYUFBYSxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDdEUsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDO29CQUFFLE1BQU07Z0JBQzlDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUksT0FBTyxDQUFDLE9BQTJCLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xGLElBQUksSUFBSSxLQUFLLGNBQWMsQ0FBQyxNQUFNO29CQUFFLFNBQVM7Z0JBQzdDLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRXBELGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUk7b0JBQ0osWUFBWSxFQUFFO3dCQUNWLEdBQUcsRUFBRSxXQUFXLEdBQUcsRUFBRTt3QkFDckIsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO3dCQUNSLElBQUksRUFBRSx1QkFBdUI7d0JBQzdCLEtBQUssRUFBRSxVQUFVLENBQUMsY0FBYzt3QkFDaEMsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDO3dCQUNyQixJQUFJLEVBQUUsYUFBYTtxQkFDdEI7aUJBQ0osQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELE9BQU8sZUFBZSxDQUFDO1FBQzNCLENBQUMsQ0FBQztLQUNMOytHQWpDWSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixxTkFiZjs7Ozs7Ozs7S0FRVCw0REFFUyxPQUFPOzs0RkFHUixnQkFBZ0I7a0JBZjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7OztLQVFUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS29TaGFwZSB9IGZyb20gJy4uLy4uL2FuZ3VsYXIta29udmEnO1xuaW1wb3J0IHsgQUlfVEFCTEVfUk9XX0FERF9CVVRUT04gfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUmVuZGVyZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlUm93SGVhZHNDb25maWcsIEFJVGFibGVSb3dUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLW90aGVyLXJvd3MnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBmb3IgKGNvbmZpZyBvZiBvdGhlckNvbmZpZ3MoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICBAc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgICAgICAgICAgICAgIEBjYXNlIChBSVRhYmxlUm93VHlwZS5hZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJjb25maWcuYWRkQnRuQ29uZmlnXCI+PC9rby1yZWN0PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS29TaGFwZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQUlUYWJsZU90aGVyUm93cyB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZVJvd0hlYWRzQ29uZmlnPigpO1xuXG4gICAgQUlUYWJsZVJvd1R5cGUgPSBBSVRhYmxlUm93VHlwZTtcblxuICAgIG90aGVyQ29uZmlncyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlT3RoZXJSb3dzKHRoaXMuY29uZmlnKCkpO1xuICAgIH0pO1xuXG4gICAgY3JlYXRlT3RoZXJSb3dzID0gKGNvbmZpZzogQUlUYWJsZVJvd0hlYWRzQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZSwgcm93U3RhcnRJbmRleCwgcm93U3RvcEluZGV4LCBhaVRhYmxlIH0gPSBjb25maWc7XG4gICAgICAgIGNvbnN0IG90aGVyUm93Q29uZmlncyA9IFtdO1xuICAgICAgICBmb3IgKGxldCByb3dJbmRleCA9IHJvd1N0YXJ0SW5kZXg7IHJvd0luZGV4IDw9IHJvd1N0b3BJbmRleDsgcm93SW5kZXgrKykge1xuICAgICAgICAgICAgaWYgKHJvd0luZGV4ID4gY29vcmRpbmF0ZS5yb3dDb3VudCAtIDEpIGJyZWFrO1xuICAgICAgICAgICAgY29uc3QgeyBfaWQsIHR5cGUgfSA9IChhaVRhYmxlLmNvbnRleHQgYXMgUmVuZGVyZXJDb250ZXh0KS5saW5lYXJSb3dzKClbcm93SW5kZXhdO1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09IEFJVGFibGVSb3dUeXBlLnJlY29yZCkgY29udGludWU7XG4gICAgICAgICAgICBjb25zdCB5ID0gY29vcmRpbmF0ZS5nZXRSb3dPZmZzZXQocm93SW5kZXgpO1xuICAgICAgICAgICAgY29uc3QgY3VySGVpZ2h0ID0gY29vcmRpbmF0ZS5nZXRSb3dIZWlnaHQocm93SW5kZXgpO1xuXG4gICAgICAgICAgICBvdGhlclJvd0NvbmZpZ3MucHVzaCh7XG4gICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICBhZGRCdG5Db25maWc6IHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBgcm93LWFkZC0ke19pZH1gLFxuICAgICAgICAgICAgICAgICAgICB5OiB5ICsgMSxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogQUlfVEFCTEVfUk9XX0FERF9CVVRUT04sXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjb29yZGluYXRlLmNvbnRhaW5lcldpZHRoLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGN1ckhlaWdodCAtIDEsXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICd0cmFuc3BhcmVudCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3RoZXJSb3dDb25maWdzO1xuICAgIH07XG59XG4iXX0=
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
2
|
-
import { KoShape } from '../../angular-konva';
|
3
|
-
import { getPlaceHolderCellsConfigs } from '../../utils';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class AITablePlaceholderCells {
|
6
|
-
constructor() {
|
7
|
-
this.config = input.required();
|
8
|
-
this.frozenPlaceHolderCellsConfig = computed(() => {
|
9
|
-
return getPlaceHolderCellsConfigs(this.config());
|
10
|
-
});
|
11
|
-
}
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITablePlaceholderCells, isStandalone: true, selector: "ai-table-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
14
|
-
@for (item of frozenPlaceHolderCellsConfig(); track $index) {
|
15
|
-
<ko-rect [config]="item"></ko-rect>
|
16
|
-
}
|
17
|
-
`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
18
|
-
}
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITablePlaceholderCells, decorators: [{
|
20
|
-
type: Component,
|
21
|
-
args: [{
|
22
|
-
selector: 'ai-table-placeholder-cells',
|
23
|
-
template: `
|
24
|
-
@for (item of frozenPlaceHolderCellsConfig(); track $index) {
|
25
|
-
<ko-rect [config]="item"></ko-rect>
|
26
|
-
}
|
27
|
-
`,
|
28
|
-
standalone: true,
|
29
|
-
imports: [KoShape],
|
30
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
31
|
-
}]
|
32
|
-
}] });
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXItY2VsbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvY29tcG9uZW50cy9wbGFjZWhvbGRlci1jZWxscy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBYXpELE1BQU0sT0FBTyx1QkFBdUI7SUFYcEM7UUFZSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0IsQ0FBQztRQUU5QyxpQ0FBNEIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pDLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7S0FDTjsrR0FOWSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw0TkFUdEI7Ozs7S0FJVCw0REFFUyxPQUFPOzs0RkFHUix1QkFBdUI7a0JBWG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFOzs7O0tBSVQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLb1NoYXBlIH0gZnJvbSAnLi4vLi4vYW5ndWxhci1rb252YSc7XG5pbXBvcnQgeyBBSVRhYmxlQ2VsbHNDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRQbGFjZUhvbGRlckNlbGxzQ29uZmlncyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1wbGFjZWhvbGRlci1jZWxscycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGZvciAoaXRlbSBvZiBmcm96ZW5QbGFjZUhvbGRlckNlbGxzQ29uZmlnKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJpdGVtXCI+PC9rby1yZWN0PlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb1NoYXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlUGxhY2Vob2xkZXJDZWxscyB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZUNlbGxzQ29uZmlnPigpO1xuXG4gICAgZnJvemVuUGxhY2VIb2xkZXJDZWxsc0NvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIGdldFBsYWNlSG9sZGVyQ2VsbHNDb25maWdzKHRoaXMuY29uZmlnKCkpO1xuICAgIH0pO1xufVxuIl19
|
@@ -1,67 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';
|
2
|
-
import Konva from 'konva';
|
3
|
-
import { KoShape } from '../../angular-konva/components/shape.component';
|
4
|
-
import { AI_TABLE_OFFSET, DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE, DEFAULT_FONT_STYLE, DEFAULT_TEXT_ALIGN_LEFT, DEFAULT_TEXT_ELLIPSIS, DEFAULT_TEXT_FILL, DEFAULT_TEXT_LISTENING, DEFAULT_TEXT_TRANSFORMS_ENABLED, DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE, DEFAULT_TEXT_WRAP } from '../../constants';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
export class AITableText {
|
7
|
-
constructor() {
|
8
|
-
this.config = input.required();
|
9
|
-
// @Output() koClick = new EventEmitter<KoEventObject<MouseEvent>>();
|
10
|
-
this.koClick = output();
|
11
|
-
this.koMouseMove = output();
|
12
|
-
this.textConfig = computed(() => {
|
13
|
-
const { x, y, width, height, text, padding, align = DEFAULT_TEXT_ALIGN_LEFT, verticalAlign = DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE, fill = DEFAULT_TEXT_FILL, textDecoration, fontSize = DEFAULT_FONT_SIZE, fontStyle = DEFAULT_FONT_STYLE, ellipsis = DEFAULT_TEXT_ELLIPSIS, wrap = DEFAULT_TEXT_WRAP, transformsEnabled = DEFAULT_TEXT_TRANSFORMS_ENABLED, listening = DEFAULT_TEXT_LISTENING, fontFamily = DEFAULT_FONT_FAMILY, ...rest } = this.config();
|
14
|
-
const tmpText = new Konva.Text({
|
15
|
-
text,
|
16
|
-
fontSize,
|
17
|
-
fontFamily
|
18
|
-
});
|
19
|
-
const textBounds = tmpText.getClientRect();
|
20
|
-
return {
|
21
|
-
x,
|
22
|
-
y,
|
23
|
-
width,
|
24
|
-
height,
|
25
|
-
text,
|
26
|
-
padding,
|
27
|
-
align,
|
28
|
-
verticalAlign,
|
29
|
-
fill,
|
30
|
-
textDecoration,
|
31
|
-
fontSize,
|
32
|
-
fontStyle,
|
33
|
-
ellipsis,
|
34
|
-
wrap,
|
35
|
-
transformsEnabled,
|
36
|
-
listening,
|
37
|
-
fontFamily,
|
38
|
-
hitFunc: function (context) {
|
39
|
-
context.beginPath();
|
40
|
-
context.rect(AI_TABLE_OFFSET, (height - textBounds.height) / 2 - AI_TABLE_OFFSET, textBounds.width, textBounds.height);
|
41
|
-
context.closePath();
|
42
|
-
context.fillStrokeShape(this);
|
43
|
-
},
|
44
|
-
...rest
|
45
|
-
};
|
46
|
-
});
|
47
|
-
}
|
48
|
-
onClick(e) {
|
49
|
-
this.koClick.emit(e);
|
50
|
-
}
|
51
|
-
onMousemove(e) {
|
52
|
-
this.koMouseMove.emit(e);
|
53
|
-
}
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AITableText, isStandalone: true, selector: "ai-table-text", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick", koMouseMove: "koMouseMove" }, ngImport: i0, template: ` <ko-text [config]="textConfig()" (koClick)="onClick($event)" (koMousemove)="onMousemove($event)"></ko-text> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
56
|
-
}
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableText, decorators: [{
|
58
|
-
type: Component,
|
59
|
-
args: [{
|
60
|
-
selector: 'ai-table-text',
|
61
|
-
template: ` <ko-text [config]="textConfig()" (koClick)="onClick($event)" (koMousemove)="onMousemove($event)"></ko-text> `,
|
62
|
-
standalone: true,
|
63
|
-
imports: [KoShape],
|
64
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
65
|
-
}]
|
66
|
-
}] });
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL3RleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RSxPQUFPLEVBQ0gsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QiwrQkFBK0IsRUFDL0Isa0NBQWtDLEVBQ2xDLGlCQUFpQixFQUNwQixNQUFNLGlCQUFpQixDQUFDOztBQVl6QixNQUFNLE9BQU8sV0FBVztJQVB4QjtRQVFJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFxQixDQUFDO1FBRTdDLHFFQUFxRTtRQUNyRSxZQUFPLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBRTlDLGdCQUFXLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBRWxELGVBQVUsR0FBRyxRQUFRLENBQWEsR0FBRyxFQUFFO1lBQ25DLE1BQU0sRUFDRixDQUFDLEVBQ0QsQ0FBQyxFQUNELEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUNKLE9BQU8sRUFDUCxLQUFLLEdBQUcsdUJBQXVCLEVBQy9CLGFBQWEsR0FBRyxrQ0FBa0MsRUFDbEQsSUFBSSxHQUFHLGlCQUFpQixFQUN4QixjQUFjLEVBQ2QsUUFBUSxHQUFHLGlCQUFpQixFQUM1QixTQUFTLEdBQUcsa0JBQWtCLEVBQzlCLFFBQVEsR0FBRyxxQkFBcUIsRUFDaEMsSUFBSSxHQUFHLGlCQUFpQixFQUN4QixpQkFBaUIsR0FBRywrQkFBK0IsRUFDbkQsU0FBUyxHQUFHLHNCQUFzQixFQUNsQyxVQUFVLEdBQUcsbUJBQW1CLEVBQ2hDLEdBQUcsSUFBSSxFQUNWLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDM0IsSUFBSTtnQkFDSixRQUFRO2dCQUNSLFVBQVU7YUFDYixDQUFDLENBQUM7WUFDSCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0MsT0FBTztnQkFDSCxDQUFDO2dCQUNELENBQUM7Z0JBQ0QsS0FBSztnQkFDTCxNQUFNO2dCQUNOLElBQUk7Z0JBQ0osT0FBTztnQkFDUCxLQUFLO2dCQUNMLGFBQWE7Z0JBQ2IsSUFBSTtnQkFDSixjQUFjO2dCQUNkLFFBQVE7Z0JBQ1IsU0FBUztnQkFDVCxRQUFRO2dCQUNSLElBQUk7Z0JBQ0osaUJBQWlCO2dCQUNqQixTQUFTO2dCQUNULFVBQVU7Z0JBQ1YsT0FBTyxFQUFFLFVBQVUsT0FBZ0I7b0JBQy9CLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFPLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFlLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hILE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFXLENBQUMsQ0FBQztnQkFDekMsQ0FBQztnQkFDRCxHQUFHLElBQUk7YUFDVixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7S0FRTjtJQU5HLE9BQU8sQ0FBQyxDQUE0QjtRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQTRCO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBcEVRLFdBQVc7bUdBQVgsV0FBVyw0UUFMViwrR0FBK0csNERBRS9HLE9BQU87OzRGQUdSLFdBQVc7a0JBUHZCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSwrR0FBK0c7b0JBQ3pILFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgS29udmEgZnJvbSAna29udmEnO1xuaW1wb3J0IHsgS29TaGFwZSB9IGZyb20gJy4uLy4uL2FuZ3VsYXIta29udmEvY29tcG9uZW50cy9zaGFwZS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBBSV9UQUJMRV9PRkZTRVQsXG4gICAgREVGQVVMVF9GT05UX0ZBTUlMWSxcbiAgICBERUZBVUxUX0ZPTlRfU0laRSxcbiAgICBERUZBVUxUX0ZPTlRfU1RZTEUsXG4gICAgREVGQVVMVF9URVhUX0FMSUdOX0xFRlQsXG4gICAgREVGQVVMVF9URVhUX0VMTElQU0lTLFxuICAgIERFRkFVTFRfVEVYVF9GSUxMLFxuICAgIERFRkFVTFRfVEVYVF9MSVNURU5JTkcsXG4gICAgREVGQVVMVF9URVhUX1RSQU5TRk9STVNfRU5BQkxFRCxcbiAgICBERUZBVUxUX1RFWFRfVkVSVElDQUxfQUxJR05fTUlERExFLFxuICAgIERFRkFVTFRfVEVYVF9XUkFQXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBLb0V2ZW50T2JqZWN0IH0gZnJvbSAnLi4vLi4vYW5ndWxhci1rb252YSc7XG5pbXBvcnQgeyBUZXh0Q29uZmlnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9UZXh0JztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICdrb252YS9saWIvQ29udGV4dCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWktdGFibGUtdGV4dCcsXG4gICAgdGVtcGxhdGU6IGAgPGtvLXRleHQgW2NvbmZpZ109XCJ0ZXh0Q29uZmlnKClcIiAoa29DbGljayk9XCJvbkNsaWNrKCRldmVudClcIiAoa29Nb3VzZW1vdmUpPVwib25Nb3VzZW1vdmUoJGV2ZW50KVwiPjwva28tdGV4dD4gYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb1NoYXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlVGV4dCB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8S29udmEuU2hhcGVDb25maWc+KCk7XG5cbiAgICAvLyBAT3V0cHV0KCkga29DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcbiAgICBrb0NsaWNrID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBrb01vdXNlTW92ZSA9IG91dHB1dDxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgdGV4dENvbmZpZyA9IGNvbXB1dGVkPFRleHRDb25maWc+KCgpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgeCxcbiAgICAgICAgICAgIHksXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICBwYWRkaW5nLFxuICAgICAgICAgICAgYWxpZ24gPSBERUZBVUxUX1RFWFRfQUxJR05fTEVGVCxcbiAgICAgICAgICAgIHZlcnRpY2FsQWxpZ24gPSBERUZBVUxUX1RFWFRfVkVSVElDQUxfQUxJR05fTUlERExFLFxuICAgICAgICAgICAgZmlsbCA9IERFRkFVTFRfVEVYVF9GSUxMLFxuICAgICAgICAgICAgdGV4dERlY29yYXRpb24sXG4gICAgICAgICAgICBmb250U2l6ZSA9IERFRkFVTFRfRk9OVF9TSVpFLFxuICAgICAgICAgICAgZm9udFN0eWxlID0gREVGQVVMVF9GT05UX1NUWUxFLFxuICAgICAgICAgICAgZWxsaXBzaXMgPSBERUZBVUxUX1RFWFRfRUxMSVBTSVMsXG4gICAgICAgICAgICB3cmFwID0gREVGQVVMVF9URVhUX1dSQVAsXG4gICAgICAgICAgICB0cmFuc2Zvcm1zRW5hYmxlZCA9IERFRkFVTFRfVEVYVF9UUkFOU0ZPUk1TX0VOQUJMRUQsXG4gICAgICAgICAgICBsaXN0ZW5pbmcgPSBERUZBVUxUX1RFWFRfTElTVEVOSU5HLFxuICAgICAgICAgICAgZm9udEZhbWlseSA9IERFRkFVTFRfRk9OVF9GQU1JTFksXG4gICAgICAgICAgICAuLi5yZXN0XG4gICAgICAgIH0gPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICBjb25zdCB0bXBUZXh0ID0gbmV3IEtvbnZhLlRleHQoe1xuICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgIGZvbnRTaXplLFxuICAgICAgICAgICAgZm9udEZhbWlseVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGV4dEJvdW5kcyA9IHRtcFRleHQuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeCxcbiAgICAgICAgICAgIHksXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICBwYWRkaW5nLFxuICAgICAgICAgICAgYWxpZ24sXG4gICAgICAgICAgICB2ZXJ0aWNhbEFsaWduLFxuICAgICAgICAgICAgZmlsbCxcbiAgICAgICAgICAgIHRleHREZWNvcmF0aW9uLFxuICAgICAgICAgICAgZm9udFNpemUsXG4gICAgICAgICAgICBmb250U3R5bGUsXG4gICAgICAgICAgICBlbGxpcHNpcyxcbiAgICAgICAgICAgIHdyYXAsXG4gICAgICAgICAgICB0cmFuc2Zvcm1zRW5hYmxlZCxcbiAgICAgICAgICAgIGxpc3RlbmluZyxcbiAgICAgICAgICAgIGZvbnRGYW1pbHksXG4gICAgICAgICAgICBoaXRGdW5jOiBmdW5jdGlvbiAoY29udGV4dDogQ29udGV4dCkge1xuICAgICAgICAgICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XG4gICAgICAgICAgICAgICAgY29udGV4dC5yZWN0KEFJX1RBQkxFX09GRlNFVCwgKGhlaWdodCEgLSB0ZXh0Qm91bmRzLmhlaWdodCkgLyAyIC0gQUlfVEFCTEVfT0ZGU0VULCB0ZXh0Qm91bmRzLndpZHRoLCB0ZXh0Qm91bmRzLmhlaWdodCk7XG4gICAgICAgICAgICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmZpbGxTdHJva2VTaGFwZSh0aGlzIGFzIGFueSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgb25DbGljayhlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIHRoaXMua29DbGljay5lbWl0KGUpO1xuICAgIH1cbiAgICBvbk1vdXNlbW92ZShlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIHRoaXMua29Nb3VzZU1vdmUuZW1pdChlKTtcbiAgICB9XG59XG4iXX0=
|
@@ -1,70 +0,0 @@
|
|
1
|
-
import { AI_TABLE_CELL_BORDER, AI_TABLE_OFFSET } from '../../constants';
|
2
|
-
import { AITable } from '../../core';
|
3
|
-
import { AITableRowType } from '../../types';
|
4
|
-
import { getCellHorizontalPosition } from '../../utils';
|
5
|
-
export const createActiveCellBorder = (config) => {
|
6
|
-
const { aiTable, coordinate, columnStartIndex, columnStopIndex, rowStartIndex, rowStopIndex } = config;
|
7
|
-
const { linearRows } = aiTable.context;
|
8
|
-
const { rowHeight, frozenColumnCount } = coordinate;
|
9
|
-
const colors = AITable.getColors();
|
10
|
-
const visibleColumns = AITable.getVisibleFields(aiTable);
|
11
|
-
const activeCell = AITable.getActiveCell(aiTable);
|
12
|
-
const totalColumnCount = visibleColumns.length;
|
13
|
-
let activeCellBorder = null;
|
14
|
-
let frozenActiveCellBorder = null;
|
15
|
-
if (Array.isArray(activeCell) &&
|
16
|
-
!!activeCell.length &&
|
17
|
-
aiTable.context.visibleRowsIndexMap().has(activeCell[0]) &&
|
18
|
-
aiTable.context.visibleColumnsIndexMap().has(activeCell[1])) {
|
19
|
-
const fieldId = activeCell[1];
|
20
|
-
const { rowIndex, columnIndex } = AITable.getCellIndex(aiTable, activeCell);
|
21
|
-
const checkIsVisible = (rowIndex, columnIndex) => {
|
22
|
-
if (columnIndex < frozenColumnCount) {
|
23
|
-
return true;
|
24
|
-
}
|
25
|
-
return (rowIndex >= rowStartIndex && rowIndex <= rowStopIndex && columnIndex >= columnStartIndex && columnIndex <= columnStopIndex);
|
26
|
-
};
|
27
|
-
if (rowIndex != null && columnIndex != null && checkIsVisible(rowIndex, columnIndex)) {
|
28
|
-
const { type } = linearRows()[rowIndex];
|
29
|
-
if (type === AITableRowType.record) {
|
30
|
-
const activeField = visibleColumns.find((field) => field._id === fieldId);
|
31
|
-
if (activeField == null) {
|
32
|
-
return {
|
33
|
-
activeCellBorder,
|
34
|
-
frozenActiveCellBorder
|
35
|
-
};
|
36
|
-
}
|
37
|
-
const x = coordinate.getColumnOffset(columnIndex);
|
38
|
-
const y = coordinate.getRowOffset(rowIndex);
|
39
|
-
const columnWidth = coordinate.getColumnWidth(columnIndex);
|
40
|
-
const isFrozenColumn = columnIndex < frozenColumnCount;
|
41
|
-
const { offset, width } = getCellHorizontalPosition({
|
42
|
-
columnWidth,
|
43
|
-
columnIndex,
|
44
|
-
columnCount: totalColumnCount
|
45
|
-
});
|
46
|
-
const currentConfig = {
|
47
|
-
x: x + offset + AI_TABLE_OFFSET,
|
48
|
-
y: y + AI_TABLE_OFFSET,
|
49
|
-
width: width - AI_TABLE_CELL_BORDER / 2,
|
50
|
-
height: rowHeight - AI_TABLE_CELL_BORDER / 2,
|
51
|
-
strokeWidth: AI_TABLE_CELL_BORDER,
|
52
|
-
stroke: colors.primary,
|
53
|
-
fillEnabled: false,
|
54
|
-
listening: false
|
55
|
-
};
|
56
|
-
if (isFrozenColumn) {
|
57
|
-
frozenActiveCellBorder = currentConfig;
|
58
|
-
}
|
59
|
-
else {
|
60
|
-
activeCellBorder = currentConfig;
|
61
|
-
}
|
62
|
-
}
|
63
|
-
}
|
64
|
-
}
|
65
|
-
return {
|
66
|
-
activeCellBorder,
|
67
|
-
frozenActiveCellBorder
|
68
|
-
};
|
69
|
-
};
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjdGl2ZS1jZWxsLWJvcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NyZWF0aW9ucy9jcmVhdGUtYWN0aXZlLWNlbGwtYm9yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBc0IsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtJQUNqRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUN2RyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQztJQUN4QyxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxDQUFDO0lBQ3BELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFFL0MsSUFBSSxnQkFBZ0IsR0FBc0IsSUFBSSxDQUFDO0lBQy9DLElBQUksc0JBQXNCLEdBQXNCLElBQUksQ0FBQztJQUVyRCxJQUNJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTTtRQUNuQixPQUFPLENBQUMsT0FBUSxDQUFDLG1CQUFtQixFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxPQUFPLENBQUMsT0FBUSxDQUFDLHNCQUFzQixFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM5RCxDQUFDO1FBQ0MsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFFLENBQUM7UUFFN0UsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFnQixFQUFFLFdBQW1CLEVBQUUsRUFBRTtZQUM3RCxJQUFJLFdBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBQ0QsT0FBTyxDQUNILFFBQVEsSUFBSSxhQUFhLElBQUksUUFBUSxJQUFJLFlBQVksSUFBSSxXQUFXLElBQUksZ0JBQWdCLElBQUksV0FBVyxJQUFJLGVBQWUsQ0FDN0gsQ0FBQztRQUNOLENBQUMsQ0FBQztRQUVGLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxXQUFXLElBQUksSUFBSSxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNuRixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFeEMsSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDdEIsT0FBTzt3QkFDSCxnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDekIsQ0FBQztnQkFDTixDQUFDO2dCQUVELE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzNELE1BQU0sY0FBYyxHQUFHLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztnQkFDdkQsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyx5QkFBeUIsQ0FBQztvQkFDaEQsV0FBVztvQkFDWCxXQUFXO29CQUNYLFdBQVcsRUFBRSxnQkFBZ0I7aUJBQ2hDLENBQUMsQ0FBQztnQkFDSCxNQUFNLGFBQWEsR0FBRztvQkFDbEIsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEdBQUcsZUFBZTtvQkFDL0IsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlO29CQUN0QixLQUFLLEVBQUUsS0FBSyxHQUFHLG9CQUFvQixHQUFHLENBQUM7b0JBQ3ZDLE1BQU0sRUFBRSxTQUFTLEdBQUcsb0JBQW9CLEdBQUcsQ0FBQztvQkFDNUMsV0FBVyxFQUFFLG9CQUFvQjtvQkFDakMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPO29CQUN0QixXQUFXLEVBQUUsS0FBSztvQkFDbEIsU0FBUyxFQUFFLEtBQUs7aUJBQ25CLENBQUM7Z0JBRUYsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDakIsc0JBQXNCLEdBQUcsYUFBYSxDQUFDO2dCQUMzQyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO2dCQUNyQyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILGdCQUFnQjtRQUNoQixzQkFBc0I7S0FDekIsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY3RDb25maWcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1JlY3QnO1xuaW1wb3J0IHsgQUlfVEFCTEVfQ0VMTF9CT1JERVIsIEFJX1RBQkxFX09GRlNFVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBSVRhYmxlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlQ2VsbHNDb25maWcsIEFJVGFibGVSb3dUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0Q2VsbEhvcml6b250YWxQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFjdGl2ZUNlbGxCb3JkZXIgPSAoY29uZmlnOiBBSVRhYmxlQ2VsbHNDb25maWcpID0+IHtcbiAgICBjb25zdCB7IGFpVGFibGUsIGNvb3JkaW5hdGUsIGNvbHVtblN0YXJ0SW5kZXgsIGNvbHVtblN0b3BJbmRleCwgcm93U3RhcnRJbmRleCwgcm93U3RvcEluZGV4IH0gPSBjb25maWc7XG4gICAgY29uc3QgeyBsaW5lYXJSb3dzIH0gPSBhaVRhYmxlLmNvbnRleHQhO1xuICAgIGNvbnN0IHsgcm93SGVpZ2h0LCBmcm96ZW5Db2x1bW5Db3VudCB9ID0gY29vcmRpbmF0ZTtcbiAgICBjb25zdCBjb2xvcnMgPSBBSVRhYmxlLmdldENvbG9ycygpO1xuICAgIGNvbnN0IHZpc2libGVDb2x1bW5zID0gQUlUYWJsZS5nZXRWaXNpYmxlRmllbGRzKGFpVGFibGUpO1xuICAgIGNvbnN0IGFjdGl2ZUNlbGwgPSBBSVRhYmxlLmdldEFjdGl2ZUNlbGwoYWlUYWJsZSk7XG4gICAgY29uc3QgdG90YWxDb2x1bW5Db3VudCA9IHZpc2libGVDb2x1bW5zLmxlbmd0aDtcblxuICAgIGxldCBhY3RpdmVDZWxsQm9yZGVyOiBSZWN0Q29uZmlnIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGZyb3plbkFjdGl2ZUNlbGxCb3JkZXI6IFJlY3RDb25maWcgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChcbiAgICAgICAgQXJyYXkuaXNBcnJheShhY3RpdmVDZWxsKSAmJlxuICAgICAgICAhIWFjdGl2ZUNlbGwubGVuZ3RoICYmXG4gICAgICAgIGFpVGFibGUuY29udGV4dCEudmlzaWJsZVJvd3NJbmRleE1hcCgpLmhhcyhhY3RpdmVDZWxsWzBdKSAmJlxuICAgICAgICBhaVRhYmxlLmNvbnRleHQhLnZpc2libGVDb2x1bW5zSW5kZXhNYXAoKS5oYXMoYWN0aXZlQ2VsbFsxXSlcbiAgICApIHtcbiAgICAgICAgY29uc3QgZmllbGRJZCA9IGFjdGl2ZUNlbGxbMV07XG4gICAgICAgIGNvbnN0IHsgcm93SW5kZXgsIGNvbHVtbkluZGV4IH0gPSBBSVRhYmxlLmdldENlbGxJbmRleChhaVRhYmxlLCBhY3RpdmVDZWxsKSE7XG5cbiAgICAgICAgY29uc3QgY2hlY2tJc1Zpc2libGUgPSAocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbHVtbkluZGV4IDwgZnJvemVuQ29sdW1uQ291bnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgcm93SW5kZXggPj0gcm93U3RhcnRJbmRleCAmJiByb3dJbmRleCA8PSByb3dTdG9wSW5kZXggJiYgY29sdW1uSW5kZXggPj0gY29sdW1uU3RhcnRJbmRleCAmJiBjb2x1bW5JbmRleCA8PSBjb2x1bW5TdG9wSW5kZXhcbiAgICAgICAgICAgICk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHJvd0luZGV4ICE9IG51bGwgJiYgY29sdW1uSW5kZXggIT0gbnVsbCAmJiBjaGVja0lzVmlzaWJsZShyb3dJbmRleCwgY29sdW1uSW5kZXgpKSB7XG4gICAgICAgICAgICBjb25zdCB7IHR5cGUgfSA9IGxpbmVhclJvd3MoKVtyb3dJbmRleF07XG5cbiAgICAgICAgICAgIGlmICh0eXBlID09PSBBSVRhYmxlUm93VHlwZS5yZWNvcmQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVGaWVsZCA9IHZpc2libGVDb2x1bW5zLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5faWQgPT09IGZpZWxkSWQpO1xuICAgICAgICAgICAgICAgIGlmIChhY3RpdmVGaWVsZCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDZWxsQm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvemVuQWN0aXZlQ2VsbEJvcmRlclxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb2x1bW5JbmRleCk7XG4gICAgICAgICAgICAgICAgY29uc3QgeSA9IGNvb3JkaW5hdGUuZ2V0Um93T2Zmc2V0KHJvd0luZGV4KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5XaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoY29sdW1uSW5kZXgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRnJvemVuQ29sdW1uID0gY29sdW1uSW5kZXggPCBmcm96ZW5Db2x1bW5Db3VudDtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG9mZnNldCwgd2lkdGggfSA9IGdldENlbGxIb3Jpem9udGFsUG9zaXRpb24oe1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uSW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbkNvdW50OiB0b3RhbENvbHVtbkNvdW50XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudENvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgeDogeCArIG9mZnNldCArIEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgICAgICAgICAgeTogeSArIEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoIC0gQUlfVEFCTEVfQ0VMTF9CT1JERVIgLyAyLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJvd0hlaWdodCAtIEFJX1RBQkxFX0NFTExfQk9SREVSIC8gMixcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IEFJX1RBQkxFX0NFTExfQk9SREVSLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IGNvbG9ycy5wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICBmaWxsRW5hYmxlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2VcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzRnJvemVuQ29sdW1uKSB7XG4gICAgICAgICAgICAgICAgICAgIGZyb3plbkFjdGl2ZUNlbGxCb3JkZXIgPSBjdXJyZW50Q29uZmlnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNlbGxCb3JkZXIgPSBjdXJyZW50Q29uZmlnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGFjdGl2ZUNlbGxCb3JkZXIsXG4gICAgICAgIGZyb3plbkFjdGl2ZUNlbGxCb3JkZXJcbiAgICB9O1xufTtcbiJdfQ==
|