@ai-table/grid 0.0.43 → 0.0.44
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/interfaces/event-object.d.ts +4 -0
- package/angular-konva/interfaces/event-object.d.ts.map +1 -1
- package/components/field-menu/field-menu.component.d.ts +3 -2
- package/components/field-menu/field-menu.component.d.ts.map +1 -1
- package/constants/grid.d.ts.map +1 -1
- package/constants/table.d.ts +5 -1
- package/constants/table.d.ts.map +1 -1
- package/esm2022/angular-konva/interfaces/event-object.mjs +1 -1
- package/esm2022/components/field-menu/field-menu.component.mjs +9 -3
- package/esm2022/constants/grid.mjs +1 -2
- package/esm2022/constants/table.mjs +6 -2
- package/esm2022/grid-base.component.mjs +4 -2
- package/esm2022/grid.component.mjs +38 -22
- package/esm2022/renderer/components/action-icon.component.mjs +117 -0
- package/esm2022/renderer/components/cells/attachment.component.mjs +117 -0
- package/esm2022/renderer/components/cells/index.mjs +3 -1
- package/esm2022/renderer/components/hover-cell.component.mjs +7 -7
- package/esm2022/renderer/drawers/cell-drawer.mjs +4 -7
- package/esm2022/types/cell.mjs +1 -1
- package/esm2022/types/component-config.mjs +1 -1
- package/esm2022/types/field.mjs +1 -1
- package/esm2022/utils/clipboard/paste.mjs +3 -2
- package/esm2022/utils/common.mjs +6 -5
- package/esm2022/utils/field/model/date.mjs +6 -12
- package/esm2022/utils/field/model/progress.mjs +11 -4
- package/esm2022/utils/file.mjs +1 -93
- package/esm2022/utils/hover-cell.mjs +1 -8
- package/fesm2022/ai-table-grid.mjs +1322 -1252
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid-base.component.d.ts +4 -1
- package/grid-base.component.d.ts.map +1 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/renderer/components/action-icon.component.d.ts +47 -0
- package/renderer/components/action-icon.component.d.ts.map +1 -0
- package/renderer/components/cells/attachment.component.d.ts +16 -0
- package/renderer/components/cells/attachment.component.d.ts.map +1 -0
- package/renderer/components/cells/index.d.ts +1 -0
- package/renderer/components/cells/index.d.ts.map +1 -1
- package/renderer/drawers/cell-drawer.d.ts.map +1 -1
- package/types/cell.d.ts +1 -0
- package/types/cell.d.ts.map +1 -1
- package/types/component-config.d.ts +13 -1
- package/types/component-config.d.ts.map +1 -1
- package/types/field.d.ts +1 -1
- package/types/field.d.ts.map +1 -1
- package/utils/clipboard/paste.d.ts.map +1 -1
- package/utils/common.d.ts +1 -1
- package/utils/common.d.ts.map +1 -1
- package/utils/field/model/date.d.ts.map +1 -1
- package/utils/field/model/progress.d.ts.map +1 -1
- package/utils/file.d.ts +0 -9
- package/utils/file.d.ts.map +1 -1
- package/utils/hover-cell.d.ts.map +1 -1
- package/esm2022/utils/icon.mjs +0 -48
- package/utils/icon.d.ts +0 -19
- package/utils/icon.d.ts.map +0 -1
@@ -0,0 +1,117 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
2
|
+
import { KoShape } from '../../../angular-konva/components/shape.component';
|
3
|
+
import { AddOutlinedPath, AI_TABLE_ACTION_COMMON_RADIUS, AI_TABLE_ACTION_COMMON_RIGHT_PADDING, AI_TABLE_ACTION_COMMON_SIZE, AI_TABLE_CELL, AI_TABLE_CELL_ATTACHMENT_ADD, AI_TABLE_CELL_PADDING, AI_TABLE_FIELD_ITEM_MARGIN_RIGHT, AI_TABLE_FILE_ICON_SIZE, AI_TABLE_OFFSET, AI_TABLE_ROW_BLANK_HEIGHT, Colors } from '../../../constants';
|
4
|
+
import { KoContainer } from '../../../angular-konva/components/container.component';
|
5
|
+
import { generateTargetName } from '../../../utils';
|
6
|
+
import { AITableFieldType } from '../../../core';
|
7
|
+
import { getFileThumbnailSvgString } from '../../../utils/file';
|
8
|
+
import { AITableActionIcon } from '../action-icon.component';
|
9
|
+
import * as i0 from "@angular/core";
|
10
|
+
export class AITableCellAttachment {
|
11
|
+
constructor() {
|
12
|
+
this.config = input();
|
13
|
+
this.attachments = computed(() => {
|
14
|
+
const { render, aiTable, coordinate, field, recordId, readonly } = this.config();
|
15
|
+
if (render) {
|
16
|
+
const {} = aiTable;
|
17
|
+
const { transformValue, references, columnWidth, rowHeight, style, zIndex } = render;
|
18
|
+
if (!transformValue?.length) {
|
19
|
+
return [];
|
20
|
+
}
|
21
|
+
const result = transformValue?.map((attachmentId, index) => {
|
22
|
+
const itemWidth = AI_TABLE_FILE_ICON_SIZE + AI_TABLE_FIELD_ITEM_MARGIN_RIGHT;
|
23
|
+
const currentX = AI_TABLE_CELL_PADDING + index * itemWidth + AI_TABLE_OFFSET;
|
24
|
+
let currentY = (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_FILE_ICON_SIZE) / 2 + AI_TABLE_OFFSET;
|
25
|
+
if (columnWidth != null) {
|
26
|
+
// 当超出列宽时,不会渲染后续内容
|
27
|
+
if (currentX >= columnWidth - AI_TABLE_ACTION_COMMON_SIZE - 2 * AI_TABLE_CELL_PADDING) {
|
28
|
+
return null;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
const attachmentInfo = references.attachments[attachmentId];
|
32
|
+
if (attachmentInfo) {
|
33
|
+
const svgString = getFileThumbnailSvgString(attachmentInfo.addition.ext);
|
34
|
+
const image = new Image();
|
35
|
+
image.src = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgString)}`;
|
36
|
+
return {
|
37
|
+
// coordinate,
|
38
|
+
// readonly,
|
39
|
+
attachmentInfo,
|
40
|
+
name: generateTargetName({
|
41
|
+
targetName: AI_TABLE_CELL,
|
42
|
+
fieldId: field._id,
|
43
|
+
recordId,
|
44
|
+
mouseStyle: readonly ? 'default' : 'pointer',
|
45
|
+
source: attachmentInfo._id
|
46
|
+
}),
|
47
|
+
x: currentX,
|
48
|
+
y: currentY,
|
49
|
+
width: AI_TABLE_FILE_ICON_SIZE,
|
50
|
+
height: AI_TABLE_FILE_ICON_SIZE,
|
51
|
+
image,
|
52
|
+
listening: true
|
53
|
+
};
|
54
|
+
}
|
55
|
+
return null;
|
56
|
+
}) || [];
|
57
|
+
return result.filter((item) => !!item);
|
58
|
+
}
|
59
|
+
return [];
|
60
|
+
});
|
61
|
+
this.iconConfig = computed(() => {
|
62
|
+
const { coordinate, render, field, recordId, readonly } = this.config();
|
63
|
+
const offsetX = render.columnWidth - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_ACTION_COMMON_RIGHT_PADDING;
|
64
|
+
const offsetY = (coordinate.rowInitSize - AI_TABLE_ACTION_COMMON_SIZE) / 2;
|
65
|
+
return {
|
66
|
+
coordinate,
|
67
|
+
readonly,
|
68
|
+
name: generateTargetName({
|
69
|
+
targetName: AI_TABLE_CELL,
|
70
|
+
fieldId: field._id,
|
71
|
+
recordId,
|
72
|
+
source: AI_TABLE_CELL_ATTACHMENT_ADD,
|
73
|
+
mouseStyle: readonly ? 'default' : 'pointer'
|
74
|
+
}),
|
75
|
+
x: offsetX,
|
76
|
+
y: offsetY,
|
77
|
+
data: AddOutlinedPath,
|
78
|
+
fill: Colors.gray600,
|
79
|
+
hoverFill: Colors.primary,
|
80
|
+
backgroundWidth: AI_TABLE_ACTION_COMMON_SIZE,
|
81
|
+
backgroundHeight: AI_TABLE_ACTION_COMMON_SIZE,
|
82
|
+
cornerRadius: AI_TABLE_ACTION_COMMON_RADIUS,
|
83
|
+
listening: true
|
84
|
+
};
|
85
|
+
});
|
86
|
+
}
|
87
|
+
static { this.fieldType = AITableFieldType.attachment; }
|
88
|
+
addClick(e) {
|
89
|
+
// e.event.cancelBubble = true;
|
90
|
+
}
|
91
|
+
attachmentClick(e) {
|
92
|
+
// e.event.cancelBubble = true;
|
93
|
+
}
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableCellAttachment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
95
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableCellAttachment, isStandalone: true, selector: "ai-table-attachments", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
96
|
+
@for (attachment of attachments(); track attachment.attachmentInfo._id) {
|
97
|
+
<ko-image [config]="attachment" (koClick)="attachmentClick($event)"></ko-image>
|
98
|
+
}
|
99
|
+
<ai-table-action-icon [config]="iconConfig()" (onClick)="addClick($event)"></ai-table-action-icon>
|
100
|
+
`, 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"] }, { kind: "component", type: AITableActionIcon, selector: "ai-table-action-icon", inputs: ["config"], outputs: ["onClick", "onMousemove", "onMouseenter", "onMouseleave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
101
|
+
}
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableCellAttachment, decorators: [{
|
103
|
+
type: Component,
|
104
|
+
args: [{
|
105
|
+
selector: 'ai-table-attachments',
|
106
|
+
template: `
|
107
|
+
@for (attachment of attachments(); track attachment.attachmentInfo._id) {
|
108
|
+
<ko-image [config]="attachment" (koClick)="attachmentClick($event)"></ko-image>
|
109
|
+
}
|
110
|
+
<ai-table-action-icon [config]="iconConfig()" (onClick)="addClick($event)"></ai-table-action-icon>
|
111
|
+
`,
|
112
|
+
standalone: true,
|
113
|
+
imports: [KoContainer, KoShape, AITableActionIcon],
|
114
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
115
|
+
}]
|
116
|
+
}] });
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2NlbGxzL2F0dGFjaG1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUUsT0FBTyxFQUNILGVBQWUsRUFDZiw2QkFBNkIsRUFDN0Isb0NBQW9DLEVBQ3BDLDJCQUEyQixFQUMzQixhQUFhLEVBQ2IsNEJBQTRCLEVBRTVCLHFCQUFxQixFQUVyQixnQ0FBZ0MsRUFDaEMsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsTUFBTSxFQUNULE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFjN0QsTUFBTSxPQUFPLHFCQUFxQjtJQVpsQztRQWVJLFdBQU0sR0FBRyxLQUFLLEVBQTBCLENBQUM7UUFFekMsZ0JBQVcsR0FBRyxRQUFRLENBQTRCLEdBQUcsRUFBRTtZQUNuRCxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFHLENB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b21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS29TaGFwZSB9IGZyb20gJy4uLy4uLy4uL2FuZ3VsYXIta29udmEvY29tcG9uZW50cy9zaGFwZS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBBZGRPdXRsaW5lZFBhdGgsXG4gICAgQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9SQURJVVMsXG4gICAgQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9SSUdIVF9QQURESU5HLFxuICAgIEFJX1RBQkxFX0FDVElPTl9DT01NT05fU0laRSxcbiAgICBBSV9UQUJMRV9DRUxMLFxuICAgIEFJX1RBQkxFX0NFTExfQVRUQUNITUVOVF9BREQsXG4gICAgQUlfVEFCTEVfQ0VMTF9BVFRBQ0hNRU5UX0ZJTEUsXG4gICAgQUlfVEFCTEVfQ0VMTF9QQURESU5HLFxuICAgIEFJX1RBQkxFX0ZJRUxEX0hFQURfTU9SRSxcbiAgICBBSV9UQUJMRV9GSUVMRF9JVEVNX01BUkdJTl9SSUdIVCxcbiAgICBBSV9UQUJMRV9GSUxFX0lDT05fU0laRSxcbiAgICBBSV9UQUJMRV9PRkZTRVQsXG4gICAgQUlfVEFCTEVfUk9XX0JMQU5LX0hFSUdIVCxcbiAgICBDb2xvcnNcbn0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEtvQ29udGFpbmVyIH0gZnJvbSAnLi4vLi4vLi4vYW5ndWxhci1rb252YS9jb21wb25lbnRzL2NvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2VuZXJhdGVUYXJnZXROYW1lIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQUlUYWJsZUFjdGlvbkljb25Db25maWcsIEFJVGFibGVBdHRhY2htZW50Q29uZmlnLCBBSVRhYmxlSG92ZXJDZWxsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgS29FdmVudE9iamVjdCB9IGZyb20gJy4uLy4uLy4uL2FuZ3VsYXIta29udmEnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkVHlwZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgSG92ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRGaWxlVGh1bWJuYWlsU3ZnU3RyaW5nIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZmlsZSc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBSVRhYmxlQWN0aW9uSWNvbiB9IGZyb20gJy4uL2FjdGlvbi1pY29uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWktdGFibGUtYXR0YWNobWVudHMnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBmb3IgKGF0dGFjaG1lbnQgb2YgYXR0YWNobWVudHMoKTsgdHJhY2sgYXR0YWNobWVudC5hdHRhY2htZW50SW5mby5faWQpIHtcbiAgICAgICAgICAgIDxrby1pbWFnZSBbY29uZmlnXT1cImF0dGFjaG1lbnRcIiAoa29DbGljayk9XCJhdHRhY2htZW50Q2xpY2soJGV2ZW50KVwiPjwva28taW1hZ2U+XG4gICAgICAgIH1cbiAgICAgICAgPGFpLXRhYmxlLWFjdGlvbi1pY29uIFtjb25maWddPVwiaWNvbkNvbmZpZygpXCIgKG9uQ2xpY2spPVwiYWRkQ2xpY2soJGV2ZW50KVwiPjwvYWktdGFibGUtYWN0aW9uLWljb24+XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb0NvbnRhaW5lciwgS29TaGFwZSwgQUlUYWJsZUFjdGlvbkljb25dLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVDZWxsQXR0YWNobWVudCBpbXBsZW1lbnRzIEhvdmVyQ2VsbENvbXBvbmVudCB7XG4gICAgc3RhdGljIGZpZWxkVHlwZSA9IEFJVGFibGVGaWVsZFR5cGUuYXR0YWNobWVudDtcblxuICAgIGNvbmZpZyA9IGlucHV0PEFJVGFibGVIb3ZlckNlbGxDb25maWc+KCk7XG5cbiAgICBhdHRhY2htZW50cyA9IGNvbXB1dGVkPEFJVGFibGVBdHRhY2htZW50Q29uZmlnW10+KCgpID0+IHtcbiAgICAgICAgY29uc3QgeyByZW5kZXIsIGFpVGFibGUsIGNvb3JkaW5hdGUsIGZpZWxkLCByZWNvcmRJZCwgcmVhZG9ubHkgfSA9IHRoaXMuY29uZmlnKCkhO1xuXG4gICAgICAgIGlmIChyZW5kZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHt9ID0gYWlUYWJsZTtcbiAgICAgICAgICAgIGNvbnN0IHsgdHJhbnNmb3JtVmFsdWUsIHJlZmVyZW5jZXMsIGNvbHVtbldpZHRoLCByb3dIZWlnaHQsIHN0eWxlLCB6SW5kZXggfSA9IHJlbmRlcjtcbiAgICAgICAgICAgIGlmICghdHJhbnNmb3JtVmFsdWU/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtVmFsdWU/Lm1hcCgoYXR0YWNobWVudElkOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbVdpZHRoID0gQUlfVEFCTEVfRklMRV9JQ09OX1NJWkUgKyBBSV9UQUJMRV9GSUVMRF9JVEVNX01BUkdJTl9SSUdIVDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFggPSBBSV9UQUJMRV9DRUxMX1BBRERJTkcgKyBpbmRleCAqIGl0ZW1XaWR0aCArIEFJX1RBQkxFX09GRlNFVDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRZID0gKEFJX1RBQkxFX1JPV19CTEFOS19IRUlHSFQgLSBBSV9UQUJMRV9GSUxFX0lDT05fU0laRSkgLyAyICsgQUlfVEFCTEVfT0ZGU0VUO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uV2lkdGggIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8g5b2T6LaF5Ye65YiX5a695pe277yM5LiN5Lya5riy5p+T5ZCO57ut5YaF5a65XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudFggPj0gY29sdW1uV2lkdGggLSBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1NJWkUgLSAyICogQUlfVEFCTEVfQ0VMTF9QQURESU5HKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhdHRhY2htZW50SW5mbyA9IHJlZmVyZW5jZXMhLmF0dGFjaG1lbnRzW2F0dGFjaG1lbnRJZF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChhdHRhY2htZW50SW5mbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3ZnU3RyaW5nID0gZ2V0RmlsZVRodW1ibmFpbFN2Z1N0cmluZyhhdHRhY2htZW50SW5mby5hZGRpdGlvbi5leHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlLnNyYyA9IGBkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwke2VuY29kZVVSSUNvbXBvbmVudChzdmdTdHJpbmcpfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvb3JkaW5hdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVhZG9ubHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudEluZm8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZ2VuZXJhdGVUYXJnZXROYW1lKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfQ0VMTCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGQuX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VTdHlsZTogcmVhZG9ubHkgPyAnZGVmYXVsdCcgOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZTogYXR0YWNobWVudEluZm8uX2lkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeDogY3VycmVudFgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeTogY3VycmVudFksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IEFJX1RBQkxFX0ZJTEVfSUNPTl9TSVpFLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogQUlfVEFCTEVfRklMRV9JQ09OX1NJWkUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGVuaW5nOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH0pIHx8IFtdO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5maWx0ZXIoKGl0ZW06IEFJVGFibGVBdHRhY2htZW50Q29uZmlnKSA9PiAhIWl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH0pO1xuXG4gICAgaWNvbkNvbmZpZyA9IGNvbXB1dGVkPEFJVGFibGVBY3Rpb25JY29uQ29uZmlnPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZSwgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQsIHJlYWRvbmx5IH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IHJlbmRlci5jb2x1bW5XaWR0aCAtIEFJX1RBQkxFX0FDVElPTl9DT01NT05fU0laRSAtIEFJX1RBQkxFX0FDVElPTl9DT01NT05fUklHSFRfUEFERElORztcbiAgICAgICAgY29uc3Qgb2Zmc2V0WSA9IChjb29yZGluYXRlLnJvd0luaXRTaXplIC0gQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9TSVpFKSAvIDI7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvb3JkaW5hdGUsXG4gICAgICAgICAgICByZWFkb25seSxcbiAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfQ0VMTCxcbiAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZC5faWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgc291cmNlOiBBSV9UQUJMRV9DRUxMX0FUVEFDSE1FTlRfQURELFxuICAgICAgICAgICAgICAgIG1vdXNlU3R5bGU6IHJlYWRvbmx5ID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHg6IG9mZnNldFgsXG4gICAgICAgICAgICB5OiBvZmZzZXRZLFxuICAgICAgICAgICAgZGF0YTogQWRkT3V0bGluZWRQYXRoLFxuICAgICAgICAgICAgZmlsbDogQ29sb3JzLmdyYXk2MDAsXG4gICAgICAgICAgICBob3ZlckZpbGw6IENvbG9ycy5wcmltYXJ5LFxuICAgICAgICAgICAgYmFja2dyb3VuZFdpZHRoOiBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1NJWkUsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kSGVpZ2h0OiBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1NJWkUsXG4gICAgICAgICAgICBjb3JuZXJSYWRpdXM6IEFJX1RBQkxFX0FDVElPTl9DT01NT05fUkFESVVTLFxuICAgICAgICAgICAgbGlzdGVuaW5nOiB0cnVlXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBhZGRDbGljayhlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIC8vIGUuZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBhdHRhY2htZW50Q2xpY2soZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICAvLyBlLmV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7XG4gICAgfVxufVxuIl19
|
@@ -1,2 +1,4 @@
|
|
1
|
+
// TODO: components下的cells组件考虑移出 components ,这些组件都属于
|
1
2
|
export * from './link.component';
|
2
|
-
|
3
|
+
export * from './attachment.component';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2NlbGxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBjb21wb25lbnRz5LiL55qEY2VsbHPnu4Tku7bogIPomZHnp7vlh7ogY29tcG9uZW50cyDvvIzov5nkupvnu4Tku7bpg73lsZ7kuo5cbmV4cG9ydCAqIGZyb20gJy4vbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdHRhY2htZW50LmNvbXBvbmVudCc7XG4iXX0=
|
@@ -18,7 +18,7 @@ export class AITableHoverCells {
|
|
18
18
|
};
|
19
19
|
});
|
20
20
|
this.hoverCellConfig = computed(() => {
|
21
|
-
const { aiTable, coordinate } = this.config();
|
21
|
+
const { aiTable, coordinate, references, readonly } = this.config();
|
22
22
|
const pointPosition = aiTable.context.pointPosition();
|
23
23
|
const hoverCell = this.hoverCell();
|
24
24
|
if (!hoverCell) {
|
@@ -26,10 +26,7 @@ export class AITableHoverCells {
|
|
26
26
|
}
|
27
27
|
const { field, recordId, fieldId, renderComponentDefinition } = hoverCell;
|
28
28
|
const cellValue = AITableQueries.getFieldValue(aiTable, [recordId, field._id]);
|
29
|
-
const transformValue = transformCellValue(aiTable, field, cellValue)
|
30
|
-
if (Object.keys(transformValue).length === 0) {
|
31
|
-
return;
|
32
|
-
}
|
29
|
+
const transformValue = transformCellValue(aiTable, field, cellValue);
|
33
30
|
const { rowHeight, columnCount, rowCount } = coordinate;
|
34
31
|
const columnIndex = pointPosition.columnIndex;
|
35
32
|
const rowIndex = pointPosition.rowIndex;
|
@@ -51,10 +48,12 @@ export class AITableHoverCells {
|
|
51
48
|
const renderY = 0 - AI_TABLE_OFFSET * 2;
|
52
49
|
const result = {
|
53
50
|
field,
|
51
|
+
recordId,
|
54
52
|
aiTable,
|
55
53
|
coordinate,
|
56
54
|
x,
|
57
55
|
y,
|
56
|
+
readonly,
|
58
57
|
render: {
|
59
58
|
aiTable,
|
60
59
|
recordId,
|
@@ -66,7 +65,8 @@ export class AITableHoverCells {
|
|
66
65
|
rowHeight,
|
67
66
|
cellValue,
|
68
67
|
transformValue,
|
69
|
-
style
|
68
|
+
style,
|
69
|
+
references
|
70
70
|
}
|
71
71
|
};
|
72
72
|
return result;
|
@@ -100,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
100
100
|
changeDetection: ChangeDetectionStrategy.OnPush
|
101
101
|
}]
|
102
102
|
}] });
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2hvdmVyLWNlbGwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQWtDLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVILHFCQUFxQixFQUNyQixlQUFlLEVBRWYsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUMzQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFxQjVELE1BQU0sT0FBTyxpQkFBaUI7SUFkOUI7UUFlSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0IsQ0FBQztRQUU5QyxpQkFBWSxHQUF1RSxFQUFFLENBQUM7UUFFdEYsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE9BQU87Z0JBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO2dCQUM1QixDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7YUFDL0IsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsb0JBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzVCLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNiLE9BQU87WUFDWCxDQUFDO1lBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLEdBQUcsU0FBUyxDQUFDO1lBQzFFLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9FLE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFckUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsVUFBVSxDQUFDO1lBQ3hELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7WUFDOUMsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztZQUV4QyxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLGVBQWUsQ0FBQztZQUNwRSxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNELE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsZUFBZSxDQUFDO1lBQzlELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyx5QkFBeUIsQ0FBQztnQkFDeEMsV0FBVztnQkFDWCxXQUFXO2dCQUNYLFdBQVc7YUFDZCxDQUFDLENBQUM7WUFFSCxNQUFNLEtBQUssR0FBRztnQkFDVixTQUFTLEVBQUUsdUJBQXVCO2FBQzlCLENBQUM7WUFDVCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQ2xDLE1BQU0sT0FBTyxHQUNULFNBQVMsS0FBSyx3QkFBd0I7Z0JBQ2xDLENBQUMsQ0FBQyxXQUFXLEdBQUcscUJBQXFCLEdBQUcsZUFBZTtnQkFDdkQsQ0FBQyxDQUFDLHFCQUFxQixHQUFHLGVBQWUsQ0FBQztZQUNsRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsZUFBZSxHQUFHLENBQUMsQ0FBQztZQUV4QyxNQUFNLE1BQU0sR0FBMkI7Z0JBQ25DLEtBQUs7Z0JBQ0wsUUFBUTtnQkFDUixPQUFPO2dCQUNQLFVBQVU7Z0JBQ1YsQ0FBQztnQkFDRCxDQUFDO2dCQUNELFFBQVE7Z0JBQ1IsTUFBTSxFQUFFO29CQUNKLE9BQU87b0JBQ1AsUUFBUTtvQkFDUixLQUFLO29CQUNMLFFBQVEsRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7b0JBQzdDLENBQUMsRUFBRSxPQUFPO29CQUNWLENBQUMsRUFBRSxPQUFPO29CQUNWLFdBQVcsRUFBRSxLQUFLO29CQUNsQixTQUFTO29CQUNULFNBQVM7b0JBQ1QsY0FBYztvQkFDZCxLQUFLO29CQUNMLFVBQVU7aUJBQ2I7YUFDSixDQUFDO1lBRUYsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUNuRTsrR0ExRVksaUJBQWlCO21HQUFqQixpQkFBaUIscU5BWmhCOzs7Ozs7O0tBT1QsNERBRWtCLFdBQVcsNEVBQUUsWUFBWTs7NEZBR25DLGlCQUFpQjtrQkFkN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7S0FPVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUM7b0JBQzdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGlucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLb0NvbnRhaW5lciwgS29TaGFwZSB9IGZyb20gJy4uLy4uL2FuZ3VsYXIta29udmEnO1xuaW1wb3J0IHsgQUlUYWJsZUNlbGxzQ29uZmlnLCBBSVRhYmxlSG92ZXJDZWxsQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRUeXBlLCBBSVRhYmxlUXVlcmllcyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUNlbGxMaW5rIH0gZnJvbSAnLi9jZWxscy9saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBSV9UQUJMRV9DRUxMX0JPUkRFUixcbiAgICBBSV9UQUJMRV9DRUxMX1BBRERJTkcsXG4gICAgQUlfVEFCTEVfT0ZGU0VULFxuICAgIENvbG9ycyxcbiAgICBERUZBVUxUX1RFWFRfQUxJR05fTEVGVCxcbiAgICBERUZBVUxUX1RFWFRfQUxJR05fUklHSFRcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldENlbGxIb3Jpem9udGFsUG9zaXRpb24sIGdldEhvdmVyQ2VsbCwgdHJhbnNmb3JtQ2VsbFZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgaXNTZWxlY3RlZEZpZWxkIH0gZnJvbSAnLi4vY3JlYXRpb25zL2NyZWF0ZS1jZWxscyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgKiBhcyBjZWxsQ29tcG9uZW50cyBmcm9tICcuL2NlbGxzJztcbmltcG9ydCB7IEhvdmVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWhvdmVyLWNlbGwnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoaG92ZXJDZWxsKCkpIHtcbiAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cImdyb3VwQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImhvdmVyQ2VsbCgpIS5yZW5kZXJDb21wb25lbnREZWZpbml0aW9uOyBpbnB1dHM6IHsgY29uZmlnOiBob3ZlckNlbGxDb25maWcoKSB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb1NoYXBlLCBLb0NvbnRhaW5lciwgQ29tbW9uTW9kdWxlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlSG92ZXJDZWxscyB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZUNlbGxzQ29uZmlnPigpO1xuXG4gICAgY29tcG9uZW50TWFwOiBQYXJ0aWFsPFJlY29yZDxBSVRhYmxlRmllbGRUeXBlLCBDb25zdHJ1Y3RvcjxIb3ZlckNlbGxDb21wb25lbnQ+Pj4gPSB7fTtcblxuICAgIGdyb3VwQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogdGhpcy5ob3ZlckNlbGxDb25maWcoKT8ueCxcbiAgICAgICAgICAgIHk6IHRoaXMuaG92ZXJDZWxsQ29uZmlnKCk/LnlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGhvdmVyQ2VsbENvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBhaVRhYmxlLCBjb29yZGluYXRlLCByZWZlcmVuY2VzLCByZWFkb25seSB9ID0gdGhpcy5jb25maWcoKTtcbiAgICAgICAgY29uc3QgcG9pbnRQb3NpdGlvbiA9IGFpVGFibGUuY29udGV4dCEucG9pbnRQb3NpdGlvbigpO1xuICAgICAgICBjb25zdCBob3ZlckNlbGwgPSB0aGlzLmhvdmVyQ2VsbCgpO1xuICAgICAgICBpZiAoIWhvdmVyQ2VsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgZmllbGQsIHJlY29yZElkLCBmaWVsZElkLCByZW5kZXJDb21wb25lbnREZWZpbml0aW9uIH0gPSBob3ZlckNlbGw7XG4gICAgICAgIGNvbnN0IGNlbGxWYWx1ZSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgW3JlY29yZElkLCBmaWVsZC5faWRdKTtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtVmFsdWUgPSB0cmFuc2Zvcm1DZWxsVmFsdWUoYWlUYWJsZSwgZmllbGQsIGNlbGxWYWx1ZSk7XG5cbiAgICAgICAgY29uc3QgeyByb3dIZWlnaHQsIGNvbHVtbkNvdW50LCByb3dDb3VudCB9ID0gY29vcmRpbmF0ZTtcbiAgICAgICAgY29uc3QgY29sdW1uSW5kZXggPSBwb2ludFBvc2l0aW9uLmNvbHVtbkluZGV4O1xuICAgICAgICBjb25zdCByb3dJbmRleCA9IHBvaW50UG9zaXRpb24ucm93SW5kZXg7XG5cbiAgICAgICAgY29uc3QgeCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uT2Zmc2V0KGNvbHVtbkluZGV4KSArIEFJX1RBQkxFX09GRlNFVDtcbiAgICAgICAgY29uc3QgY29sdW1uV2lkdGggPSBjb29yZGluYXRlLmdldENvbHVtbldpZHRoKGNvbHVtbkluZGV4KTtcbiAgICAgICAgY29uc3QgeSA9IGNvb3JkaW5hdGUuZ2V0Um93T2Zmc2V0KHJvd0luZGV4KSArIEFJX1RBQkxFX09GRlNFVDtcbiAgICAgICAgY29uc3QgeyB3aWR0aCB9ID0gZ2V0Q2VsbEhvcml6b250YWxQb3NpdGlvbih7XG4gICAgICAgICAgICBjb2x1bW5XaWR0aCxcbiAgICAgICAgICAgIGNvbHVtbkluZGV4LFxuICAgICAgICAgICAgY29sdW1uQ291bnRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgc3R5bGUgPSB7XG4gICAgICAgICAgICB0ZXh0QWxpZ246IERFRkFVTFRfVEVYVF9BTElHTl9MRUZUXG4gICAgICAgIH0gYXMgYW55O1xuICAgICAgICBjb25zdCB0ZXh0QWxpZ24gPSBzdHlsZS50ZXh0QWxpZ247XG4gICAgICAgIGNvbnN0IHJlbmRlclggPVxuICAgICAgICAgICAgdGV4dEFsaWduID09PSBERUZBVUxUX1RFWFRfQUxJR05fUklHSFRcbiAgICAgICAgICAgICAgICA/IGNvbHVtbldpZHRoIC0gQUlfVEFCTEVfQ0VMTF9QQURESU5HICsgQUlfVEFCTEVfT0ZGU0VUXG4gICAgICAgICAgICAgICAgOiBBSV9UQUJMRV9DRUxMX1BBRERJTkcgKyBBSV9UQUJMRV9PRkZTRVQ7XG4gICAgICAgIGNvbnN0IHJlbmRlclkgPSAwIC0gQUlfVEFCTEVfT0ZGU0VUICogMjtcblxuICAgICAgICBjb25zdCByZXN1bHQ6IEFJVGFibGVIb3ZlckNlbGxDb25maWcgPSB7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJlY29yZElkLFxuICAgICAgICAgICAgYWlUYWJsZSxcbiAgICAgICAgICAgIGNvb3JkaW5hdGUsXG4gICAgICAgICAgICB4LFxuICAgICAgICAgICAgeSxcbiAgICAgICAgICAgIHJlYWRvbmx5LFxuICAgICAgICAgICAgcmVuZGVyOiB7XG4gICAgICAgICAgICAgICAgYWlUYWJsZSxcbiAgICAgICAgICAgICAgICByZWNvcmRJZCxcbiAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICBpc0FjdGl2ZTogaXNTZWxlY3RlZEZpZWxkKGZpZWxkLl9pZCwgYWlUYWJsZSksXG4gICAgICAgICAgICAgICAgeDogcmVuZGVyWCxcbiAgICAgICAgICAgICAgICB5OiByZW5kZXJZLFxuICAgICAgICAgICAgICAgIGNvbHVtbldpZHRoOiB3aWR0aCxcbiAgICAgICAgICAgICAgICByb3dIZWlnaHQsXG4gICAgICAgICAgICAgICAgY2VsbFZhbHVlLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybVZhbHVlLFxuICAgICAgICAgICAgICAgIHN0eWxlLFxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgaG92ZXJDZWxsID0gY29tcHV0ZWQoKCkgPT4gZ2V0SG92ZXJDZWxsKHRoaXMuY29uZmlnKCkuYWlUYWJsZSkpO1xufVxuIl19
|