@ai-table/grid 0.0.33 → 0.0.35
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/core/context.d.ts +2 -1
- package/core/context.d.ts.map +1 -1
- package/core/utils/common.d.ts.map +1 -1
- package/esm2022/core/context.mjs +3 -2
- package/esm2022/core/utils/common.mjs +4 -2
- package/esm2022/grid.component.mjs +23 -4
- package/esm2022/renderer/components/frozen-heads.component.mjs +4 -4
- package/esm2022/renderer/creations/create-heads.mjs +7 -2
- package/esm2022/renderer/drawers/cell-drawer.mjs +13 -9
- package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +17 -12
- package/esm2022/services/event.service.mjs +6 -2
- package/esm2022/services/selection.service.mjs +33 -10
- package/esm2022/types/grid.mjs +7 -1
- package/fesm2022/ai-table-grid.mjs +101 -34
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/renderer/components/frozen-heads.component.d.ts.map +1 -1
- package/renderer/creations/create-heads.d.ts.map +1 -1
- package/renderer/drawers/cell-drawer.d.ts.map +1 -1
- package/renderer/drawers/record-row-layout-drawer.d.ts +1 -0
- package/renderer/drawers/record-row-layout-drawer.d.ts.map +1 -1
- package/services/event.service.d.ts.map +1 -1
- package/services/selection.service.d.ts +2 -0
- package/services/selection.service.d.ts.map +1 -1
- package/types/grid.d.ts +7 -0
- package/types/grid.d.ts.map +1 -1
@@ -3,7 +3,7 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
3
|
import { ThyPopover } from 'ngx-tethys/popover';
|
4
4
|
import { debounceTime, fromEvent, Subject } from 'rxjs';
|
5
5
|
import { GRID_CELL_EDITOR_MAP } from '../constants';
|
6
|
-
import { AITable } from '../core';
|
6
|
+
import { AITable, AITableFieldType } from '../core';
|
7
7
|
import { getCellHorizontalPosition, getEditorBoxOffset, getEditorSpace, getHoverEditorBoxOffset, getHoverEditorSpace } from '../utils';
|
8
8
|
import { AITableContextMenu } from '../components/context-menu/context-menu.component';
|
9
9
|
import * as i0 from "@angular/core";
|
@@ -157,6 +157,10 @@ export class AITableGridEventService {
|
|
157
157
|
});
|
158
158
|
if (this.cellEditorPopoverRef) {
|
159
159
|
const wheelEvent = fromEvent(this.cellEditorPopoverRef.componentInstance.elementRef.nativeElement, 'wheel').subscribe((event) => {
|
160
|
+
const field = aiTable.fieldsMap()[fieldId];
|
161
|
+
if (field.type === AITableFieldType.text || field.type === AITableFieldType.richText) {
|
162
|
+
return;
|
163
|
+
}
|
160
164
|
event.preventDefault();
|
161
165
|
this.aiTable.context?.scrollAction({
|
162
166
|
deltaX: event.deltaX,
|
@@ -225,4 +229,4 @@ export class AITableGridEventService {
|
|
225
229
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableGridEventService, decorators: [{
|
226
230
|
type: Injectable
|
227
231
|
}] });
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxVQUFVLEVBQWlCLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQXVCLE9BQU8sRUFBb0IsTUFBTSxTQUFTLENBQUM7QUFFekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUFHdkYsTUFBTSxPQUFPLHVCQUF1QjtJQURwQztRQU1JLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUUzQyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFFNUMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRTVDLDBCQUFxQixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFFbEQsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUkxQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWhDLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0E2TjNDO0lBM05HLFVBQVUsQ0FBQyxPQUFnQixFQUFFLGdCQUFpRjtRQUMxRyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFvQjtRQUMvQixTQUFTLENBQWEsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUN4RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRVAsU0FBUyxDQUFhLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDM0QsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFFUCxTQUFTLENBQWEsUUFBUSxFQUFFLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUMxRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFFUCxTQUFTLENBQWEsT0FBTyxFQUFFLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUN6RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBRVAsU0FBUyxDQUFhLFFBQVEsRUFBRSxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDMUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQW1CLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUFzQjtRQUM3QyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0UsSUFBSSxpQkFBaUIsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoRCxPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQW9CO1FBQ3pCLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNoRSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBRSxDQUFDO1FBQ2pELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFFLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hDLE1BQU0sRUFBRSxPQUFPO1lBQ2YsY0FBYyxFQUFFO2dCQUNaLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztnQkFDUixDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDO2dCQUNoQixNQUFNLEVBQUUsTUFBTSxHQUFHLENBQUM7YUFDckI7WUFDRCxLQUFLLEVBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJO1lBQ3ZCLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUk7WUFDekIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsWUFBWSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3hCO1lBQ0QsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixlQUFlLEVBQUUsS0FBSztZQUN0QixXQUFXLEVBQUUsS0FBSztZQUNsQixhQUFhLEVBQUUsSUFBSTtZQUNuQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFlBQVksRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQWdCLEVBQUUsT0FBK0I7UUFDL0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDMUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFRLENBQUM7UUFDekMsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDOUMsTUFBTSxJQUFJLEdBQXdCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFFLENBQUM7UUFDdkUsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0QsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLHlCQUF5QixDQUFDO1lBQzNFLFdBQVc7WUFDWCxXQUFXO1lBQ1gsV0FBVztTQUNkLENBQUMsQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFHLFNBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3RELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDakUsTUFBTSxTQUFTLEdBQUcsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQzFDLE1BQU0sY0FBYyxHQUFHO1lBQ25CLENBQUMsRUFBRSxPQUFPLEdBQUcsWUFBWSxHQUFHLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQztZQUNyRCxDQUFDLEVBQUUsT0FBTyxHQUFHLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FBQztZQUNyQyxLQUFLLEVBQUUsV0FBVztZQUNsQixNQUFNLEVBQUUsU0FBUztTQUNwQixDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztRQUNoRCxJQUFJLEtBQUssR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksTUFBTSxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsZ0JBQWdCO1FBQ2hCLElBQUksV0FBVyxFQUFFLENBQUM7WUFDZCxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsR0FBRyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2pELENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxHQUFHLHVCQUF1QixFQUFFLENBQUM7WUFDakQsS0FBSyxHQUFHLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxNQUFNLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPO1lBQ0gsR0FBRyxjQUFjO1lBQ2pCLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxNQUFNO1NBQ2pCLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWdCLEVBQUUsT0FBK0I7UUFDNUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDMUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEYsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDeEQsTUFBTSxFQUFFLFNBQVU7WUFDbEIsY0FBYyxFQUFFLG9CQUFvQjtZQUNwQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsS0FBSyxHQUFHLElBQUk7WUFDeEMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxJQUFJO1lBQzFDLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsSUFBSTtZQUMzQyxTQUFTLEVBQUUsUUFBUTtZQUNuQixNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNO1lBQ3BDLFlBQVksRUFBRTtnQkFDVixPQUFPLEVBQUUsT0FBTztnQkFDaEIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFVBQVU7Z0JBQ1YsT0FBTyxFQUFFLE9BQU87YUFDbkI7WUFDRCxVQUFVLEVBQUUsa0JBQWtCO1lBQzlCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsWUFBWSxFQUFFLElBQUk7U0FDckIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQ3hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUNwRSxPQUFPLENBQ1YsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQzlCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDO29CQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQ3BCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDcEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO29CQUN4QixRQUFRLEVBQUUsR0FBRyxFQUFFO3dCQUNYLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7d0JBQ2hFLE1BQU0sZ0JBQWdCLEdBQUksSUFBSSxDQUFDLG9CQUFxRTs2QkFDL0YsYUFBYSxFQUFFOzZCQUNmLFNBQVMsRUFBRSxDQUFDLGdCQUFxRCxDQUFDO3dCQUN2RSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7d0JBQzNDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO29CQUM3QixDQUFDO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25ELFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUQsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDOUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztZQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDO1lBRXJFLElBQUksUUFBUSxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUN0QixPQUFPO29CQUNILFFBQVE7b0JBQ1IsT0FBTztpQkFDVixDQUFDO1lBQ04sQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWdCLEVBQUUsT0FBa0M7UUFDaEUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM5RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNqRCxNQUFNLEVBQUUsTUFBcUI7WUFDN0IsY0FBYyxFQUFFLFFBQVE7WUFDeEIsU0FBUyxFQUFFLFlBQVk7WUFDdkIsY0FBYyxFQUFFLElBQUk7WUFDcEIsZ0JBQWdCO1lBQ2hCLFlBQVksRUFBRTtnQkFDVixPQUFPO2dCQUNQLFNBQVM7Z0JBQ1QsVUFBVTtnQkFDVixRQUFRO2FBQ1g7U0FDSixDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7K0dBL09RLHVCQUF1QjttSEFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUaHlBYnN0cmFjdEludGVybmFsT3ZlcmxheVJlZiB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEVkaXRDZWxsRWRpdG9yIH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBHUklEX0NFTExfRURJVE9SX01BUCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBSVJlY29yZEZpZWxkSWRQYXRoLCBBSVRhYmxlLCBBSVRhYmxlRmllbGRUeXBlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlQ29udGV4dE1lbnVPcHRpb25zLCBBSVRhYmxlR3JpZENlbGxSZW5kZXJTY2hlbWEsIEFJVGFibGVPcGVuRWRpdE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRDZWxsSG9yaXpvbnRhbFBvc2l0aW9uLCBnZXRFZGl0b3JCb3hPZmZzZXQsIGdldEVkaXRvclNwYWNlLCBnZXRIb3ZlckVkaXRvckJveE9mZnNldCwgZ2V0SG92ZXJFZGl0b3JTcGFjZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEFJVGFibGVDb250ZXh0TWVudSB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQUlUYWJsZUdyaWRFdmVudFNlcnZpY2Uge1xuICAgIGFpVGFibGUhOiBBSVRhYmxlO1xuXG4gICAgYWlGaWVsZFJlbmRlcmVycz86IFBhcnRpYWw8UmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIEFJVGFibGVHcmlkQ2VsbFJlbmRlclNjaGVtYT4+O1xuXG4gICAgZGJsQ2xpY2tFdmVudCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50PigpO1xuXG4gICAgbW91c2Vkb3duRXZlbnQkID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuICAgIG1vdXNlb3ZlckV2ZW50JCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgICBnbG9iYWxNb3VzZW92ZXJFdmVudCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50PigpO1xuXG4gICAgZ2xvYmFsTW91c2Vkb3duRXZlbnQkID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuICAgIHByaXZhdGUgY2VsbEVkaXRvclBvcG92ZXJSZWYhOiBUaHlQb3BvdmVyUmVmPEFic3RyYWN0RWRpdENlbGxFZGl0b3I8YW55Pj4gfCBudWxsO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgcHJpdmF0ZSB0aHlQb3BvdmVyID0gaW5qZWN0KFRoeVBvcG92ZXIpO1xuXG4gICAgaW5pdGlhbGl6ZShhaVRhYmxlOiBBSVRhYmxlLCBhaUZpZWxkUmVuZGVyZXJzPzogUGFydGlhbDxSZWNvcmQ8QUlUYWJsZUZpZWxkVHlwZSwgQUlUYWJsZUdyaWRDZWxsUmVuZGVyU2NoZW1hPj4pIHtcbiAgICAgICAgdGhpcy5haVRhYmxlID0gYWlUYWJsZTtcbiAgICAgICAgdGhpcy5haUZpZWxkUmVuZGVyZXJzID0gYWlGaWVsZFJlbmRlcmVycztcbiAgICB9XG5cbiAgICByZWdpc3RlckV2ZW50cyhlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZWxlbWVudCwgJ2RibGNsaWNrJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYmxDbGlja0V2ZW50JC5uZXh0KGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihlbGVtZW50LCAnbW91c2VvdmVyJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoODApLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3VzZW92ZXJFdmVudCQubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW92ZXInLCB7IHBhc3NpdmU6IHRydWUgfSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdsb2JhbE1vdXNlb3ZlckV2ZW50JC5uZXh0KGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihlbGVtZW50LCAnbW91c2Vkb3duJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3VzZWRvd25FdmVudCQubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZWRvd24nLCB7IHBhc3NpdmU6IHRydWUgfSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdsb2JhbE1vdXNlZG93bkV2ZW50JC5uZXh0KGV2ZW50IGFzIE1vdXNlRXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFZGl0b3JDb21wb25lbnQodHlwZTogQUlUYWJsZUZpZWxkVHlwZSkge1xuICAgICAgICBjb25zdCBmaWxlZFJlbmRlclNjaGVtYSA9IHRoaXMuYWlGaWVsZFJlbmRlcmVycyAmJiB0aGlzLmFpRmllbGRSZW5kZXJlcnNbdHlwZV07XG4gICAgICAgIGlmIChmaWxlZFJlbmRlclNjaGVtYSAmJiBmaWxlZFJlbmRlclNjaGVtYS5lZGl0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmaWxlZFJlbmRlclNjaGVtYS5lZGl0b3I7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEdSSURfQ0VMTF9FRElUT1JfTUFQW3R5cGVdO1xuICAgIH1cblxuICAgIG9wZW5FZGl0KGNlbGxEb206IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHsgeCwgeSwgd2lkdGgsIGhlaWdodCB9ID0gY2VsbERvbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgZmllbGRJZCA9IGNlbGxEb20uZ2V0QXR0cmlidXRlKCdmaWVsZElkJykhO1xuICAgICAgICBjb25zdCByZWNvcmRJZCA9IGNlbGxEb20uZ2V0QXR0cmlidXRlKCdyZWNvcmRJZCcpITtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5nZXRFZGl0b3JDb21wb25lbnQodGhpcy5haVRhYmxlLmZpZWxkc01hcCgpW2ZpZWxkSWRdLnR5cGUpO1xuICAgICAgICBjb25zdCByZWYgPSB0aGlzLnRoeVBvcG92ZXIub3Blbihjb21wb25lbnQsIHtcbiAgICAgICAgICAgIG9yaWdpbjogY2VsbERvbSxcbiAgICAgICAgICAgIG9yaWdpblBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgeDogeCAtIDEsXG4gICAgICAgICAgICAgICAgeTogeSArIDEsXG4gICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoICsgMixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGhlaWdodCArIDJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB3aWR0aDogd2lkdGggKyAxICsgJ3B4JyxcbiAgICAgICAgICAgIGhlaWdodDogaGVpZ2h0ICsgMiArICdweCcsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgICAgICAgICAgb2Zmc2V0OiAtKGhlaWdodCArIDQpLFxuICAgICAgICAgICAgbWluV2lkdGg6IHdpZHRoLFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGRJZCxcbiAgICAgICAgICAgICAgICByZWNvcmRJZDogcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgYWlUYWJsZTogdGhpcy5haVRhYmxlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ2dyaWQtY2VsbC1lZGl0b3InLFxuICAgICAgICAgICAgb3V0c2lkZUNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG1hbnVhbENsb3N1cmU6IHRydWUsXG4gICAgICAgICAgICBhbmltYXRpb25EaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGF1dG9BZGFwdGl2ZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlZjtcbiAgICB9XG5cbiAgICBnZXRPcmlnaW5Qb3NpdGlvbihhaVRhYmxlOiBBSVRhYmxlLCBvcHRpb25zOiBBSVRhYmxlT3BlbkVkaXRPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgY29udGFpbmVyLCBjb29yZGluYXRlLCByZWNvcmRJZCwgZmllbGRJZCwgaXNIb3ZlckVkaXQgfSA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHsgc2Nyb2xsU3RhdGUgfSA9IGFpVGFibGUuY29udGV4dCE7XG4gICAgICAgIGNvbnN0IHsgcm93SGVpZ2h0LCBjb2x1bW5Db3VudCB9ID0gY29vcmRpbmF0ZTtcbiAgICAgICAgY29uc3QgY2VsbDogQUlSZWNvcmRGaWVsZElkUGF0aCA9IFtyZWNvcmRJZCwgZmllbGRJZF07XG4gICAgICAgIGNvbnN0IHsgcm93SW5kZXgsIGNvbHVtbkluZGV4IH0gPSBBSVRhYmxlLmdldENlbGxJbmRleChhaVRhYmxlLCBjZWxsKSE7XG4gICAgICAgIGNvbnN0IG9yaWdpblggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IG9yaWdpblkgPSBjb29yZGluYXRlLmdldFJvd09mZnNldChyb3dJbmRleCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbldpZHRoID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5XaWR0aChjb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IG9yaWdpbldpZHRoLCBvZmZzZXQ6IG9yaWdpbk9mZnNldCB9ID0gZ2V0Q2VsbEhvcml6b250YWxQb3NpdGlvbih7XG4gICAgICAgICAgICBjb2x1bW5XaWR0aCxcbiAgICAgICAgICAgIGNvbHVtbkluZGV4LFxuICAgICAgICAgICAgY29sdW1uQ291bnRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IG9yaWdpblJlY3QgPSBjb250YWluZXIhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBpc0Zyb3plbkNvbHVtbiA9IEFJVGFibGUuaXNGcm96ZW5Db2x1bW4oYWlUYWJsZSwgY29sdW1uSW5kZXgpO1xuICAgICAgICBjb25zdCBzY3JvbGxMZWZ0ID0gaXNGcm96ZW5Db2x1bW4gPyAwIDogc2Nyb2xsU3RhdGUoKS5zY3JvbGxMZWZ0O1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSBzY3JvbGxTdGF0ZSgpLnNjcm9sbFRvcDtcbiAgICAgICAgY29uc3Qgb3JpZ2luUG9zaXRpb24gPSB7XG4gICAgICAgICAgICB4OiBvcmlnaW5YICsgb3JpZ2luT2Zmc2V0IC0gc2Nyb2xsTGVmdCArIG9yaWdpblJlY3QueCxcbiAgICAgICAgICAgIHk6IG9yaWdpblkgLSBzY3JvbGxUb3AgKyBvcmlnaW5SZWN0LnksXG4gICAgICAgICAgICB3aWR0aDogb3JpZ2luV2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHJvd0hlaWdodFxuICAgICAgICB9O1xuICAgICAgICBsZXQgeCA9IG9yaWdpblBvc2l0aW9uLnggKyBnZXRFZGl0b3JCb3hPZmZzZXQoKTtcbiAgICAgICAgbGV0IHkgPSBvcmlnaW5Qb3NpdGlvbi55ICsgZ2V0RWRpdG9yQm94T2Zmc2V0KCk7XG4gICAgICAgIGxldCB3aWR0aCA9IGdldEVkaXRvclNwYWNlKG9yaWdpblBvc2l0aW9uLndpZHRoKTtcbiAgICAgICAgbGV0IGhlaWdodCA9IGdldEVkaXRvclNwYWNlKG9yaWdpblBvc2l0aW9uLmhlaWdodCk7XG4gICAgICAgIC8vIGhvdmVyIOe8lui+kee7hOS7tuaXoOi+ueahhlxuICAgICAgICBpZiAoaXNIb3ZlckVkaXQpIHtcbiAgICAgICAgICAgIHggPSBvcmlnaW5Qb3NpdGlvbi54ICsgZ2V0SG92ZXJFZGl0b3JCb3hPZmZzZXQoKTtcbiAgICAgICAgICAgIHkgPSBvcmlnaW5Qb3NpdGlvbi55ICsgZ2V0SG92ZXJFZGl0b3JCb3hPZmZzZXQoKTtcbiAgICAgICAgICAgIHdpZHRoID0gZ2V0SG92ZXJFZGl0b3JTcGFjZShvcmlnaW5Qb3NpdGlvbi53aWR0aCk7XG4gICAgICAgICAgICBoZWlnaHQgPSBnZXRIb3ZlckVkaXRvclNwYWNlKG9yaWdpblBvc2l0aW9uLmhlaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLm9yaWdpblBvc2l0aW9uLFxuICAgICAgICAgICAgeDogeCxcbiAgICAgICAgICAgIHk6IHksXG4gICAgICAgICAgICB3aWR0aDogd2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IGhlaWdodFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9wZW5DZWxsRWRpdG9yKGFpVGFibGU6IEFJVGFibGUsIG9wdGlvbnM6IEFJVGFibGVPcGVuRWRpdE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBjb250YWluZXIsIHJlY29yZElkLCBmaWVsZElkLCBpc0hvdmVyRWRpdCwgcmVmZXJlbmNlcyB9ID0gb3B0aW9ucztcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5nZXRFZGl0b3JDb21wb25lbnQodGhpcy5haVRhYmxlLmZpZWxkc01hcCgpW2ZpZWxkSWRdLnR5cGUpO1xuICAgICAgICBjb25zdCBvZmZzZXRPcmlnaW5Qb3NpdGlvbiA9IHRoaXMuZ2V0T3JpZ2luUG9zaXRpb24oYWlUYWJsZSwgb3B0aW9ucyk7XG4gICAgICAgIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3Blbihjb21wb25lbnQsIHtcbiAgICAgICAgICAgIG9yaWdpbjogY29udGFpbmVyISxcbiAgICAgICAgICAgIG9yaWdpblBvc2l0aW9uOiBvZmZzZXRPcmlnaW5Qb3NpdGlvbixcbiAgICAgICAgICAgIHdpZHRoOiBvZmZzZXRPcmlnaW5Qb3NpdGlvbi53aWR0aCArICdweCcsXG4gICAgICAgICAgICBoZWlnaHQ6IG9mZnNldE9yaWdpblBvc2l0aW9uLmhlaWdodCArICdweCcsXG4gICAgICAgICAgICBtaW5XaWR0aDogb2Zmc2V0T3JpZ2luUG9zaXRpb24ud2lkdGggKyAncHgnLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgICAgICAgIG9mZnNldDogLW9mZnNldE9yaWdpblBvc2l0aW9uLmhlaWdodCxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkSWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWQ6IHJlY29yZElkLFxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXMsXG4gICAgICAgICAgICAgICAgYWlUYWJsZTogYWlUYWJsZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICdncmlkLWNlbGwtZWRpdG9yJyxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlLFxuICAgICAgICAgICAgYW5pbWF0aW9uRGlzYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBhdXRvQWRhcHRpdmU6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IHdoZWVsRXZlbnQgPSBmcm9tRXZlbnQ8V2hlZWxFdmVudD4oXG4gICAgICAgICAgICAgICAgdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZi5jb21wb25lbnRJbnN0YW5jZS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ3doZWVsJ1xuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKGV2ZW50OiBXaGVlbEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFpVGFibGUuY29udGV4dD8uc2Nyb2xsQWN0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgZGVsdGFYOiBldmVudC5kZWx0YVgsXG4gICAgICAgICAgICAgICAgICAgIGRlbHRhWTogZXZlbnQuZGVsdGFZLFxuICAgICAgICAgICAgICAgICAgICBzaGlmdEtleTogZXZlbnQuc2hpZnRLZXksXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5Qb3NpdGlvbiA9IHRoaXMuZ2V0T3JpZ2luUG9zaXRpb24oYWlUYWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gKHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYgYXMgVGh5QWJzdHJhY3RJbnRlcm5hbE92ZXJsYXlSZWY8YW55LCBhbnksIGFueT4pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldE92ZXJsYXlSZWYoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRDb25maWcoKS5wb3NpdGlvblN0cmF0ZWd5IGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kuc2V0T3JpZ2luKG9yaWdpblBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kuYXBwbHkoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB3aGVlbEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZiA9IG51bGw7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICh0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlIGFzIEFic3RyYWN0RWRpdENlbGxFZGl0b3I8YW55PikudXBkYXRlRmllbGRWYWx1ZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy51cGRhdGVGaWVsZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmO1xuICAgIH1cblxuICAgIGNsb3NlQ2VsbEVkaXRvcigpIHtcbiAgICAgICAgaWYgKHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q3VycmVudEVkaXRDZWxsKCkge1xuICAgICAgICBpZiAodGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZikge1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkSWQgPSB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlPy5yZWNvcmRJZDtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlPy5maWVsZElkO1xuXG4gICAgICAgICAgICBpZiAocmVjb3JkSWQgJiYgZmllbGRJZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZElkLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZElkXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIG9wZW5Db250ZXh0TWVudShhaVRhYmxlOiBBSVRhYmxlLCBvcHRpb25zOiBBSVRhYmxlQ29udGV4dE1lbnVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgb3JpZ2luLCBwb3NpdGlvbiwgbWVudUl0ZW1zLCB0YXJnZXROYW1lLCB2aWV3Q29udGFpbmVyUmVmIH0gPSBvcHRpb25zO1xuICAgICAgICBjb25zdCByZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihBSVRhYmxlQ29udGV4dE1lbnUsIHtcbiAgICAgICAgICAgIG9yaWdpbjogb3JpZ2luIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgb3JpZ2luUG9zaXRpb246IHBvc2l0aW9uLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICBhaVRhYmxlLFxuICAgICAgICAgICAgICAgIG1lbnVJdGVtcyxcbiAgICAgICAgICAgICAgICB0YXJnZXROYW1lLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVmO1xuICAgIH1cbn1cbiJdfQ==
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxVQUFVLEVBQWlCLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQXVCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQUd2RixNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBTUksbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRTNDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUU1QyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFFNUMsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUVsRCwwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBSTFDLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWlPM0M7SUEvTkcs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b250ZW50IjpbImltcG9ydCB7IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVGh5QWJzdHJhY3RJbnRlcm5hbE92ZXJsYXlSZWYgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RFZGl0Q2VsbEVkaXRvciB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgR1JJRF9DRUxMX0VESVRPUl9NQVAgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQUlSZWNvcmRGaWVsZElkUGF0aCwgQUlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUNvbnRleHRNZW51T3B0aW9ucywgQUlUYWJsZUdyaWRDZWxsUmVuZGVyU2NoZW1hLCBBSVRhYmxlT3BlbkVkaXRPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0Q2VsbEhvcml6b250YWxQb3NpdGlvbiwgZ2V0RWRpdG9yQm94T2Zmc2V0LCBnZXRFZGl0b3JTcGFjZSwgZ2V0SG92ZXJFZGl0b3JCb3hPZmZzZXQsIGdldEhvdmVyRWRpdG9yU3BhY2UgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBBSVRhYmxlQ29udGV4dE1lbnUgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFJVGFibGVHcmlkRXZlbnRTZXJ2aWNlIHtcbiAgICBhaVRhYmxlITogQUlUYWJsZTtcblxuICAgIGFpRmllbGRSZW5kZXJlcnM/OiBQYXJ0aWFsPFJlY29yZDxBSVRhYmxlRmllbGRUeXBlLCBBSVRhYmxlR3JpZENlbGxSZW5kZXJTY2hlbWE+PjtcblxuICAgIGRibENsaWNrRXZlbnQkID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuICAgIG1vdXNlZG93bkV2ZW50JCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgICBtb3VzZW92ZXJFdmVudCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50PigpO1xuXG4gICAgZ2xvYmFsTW91c2VvdmVyRXZlbnQkID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuICAgIGdsb2JhbE1vdXNlZG93bkV2ZW50JCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgICBwcml2YXRlIGNlbGxFZGl0b3JQb3BvdmVyUmVmITogVGh5UG9wb3ZlclJlZjxBYnN0cmFjdEVkaXRDZWxsRWRpdG9yPGFueT4+IHwgbnVsbDtcblxuICAgIHByaXZhdGUgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHByaXZhdGUgdGh5UG9wb3ZlciA9IGluamVjdChUaHlQb3BvdmVyKTtcblxuICAgIGluaXRpYWxpemUoYWlUYWJsZTogQUlUYWJsZSwgYWlGaWVsZFJlbmRlcmVycz86IFBhcnRpYWw8UmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIEFJVGFibGVHcmlkQ2VsbFJlbmRlclNjaGVtYT4+KSB7XG4gICAgICAgIHRoaXMuYWlUYWJsZSA9IGFpVGFibGU7XG4gICAgICAgIHRoaXMuYWlGaWVsZFJlbmRlcmVycyA9IGFpRmllbGRSZW5kZXJlcnM7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJFdmVudHMoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGVsZW1lbnQsICdkYmxjbGljaycsIHsgcGFzc2l2ZTogdHJ1ZSB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGJsQ2xpY2tFdmVudCQubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZWxlbWVudCwgJ21vdXNlb3ZlcicsIHsgcGFzc2l2ZTogdHJ1ZSB9KVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDgwKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubW91c2VvdmVyRXZlbnQkLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2VvdmVyJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nbG9iYWxNb3VzZW92ZXJFdmVudCQubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZWxlbWVudCwgJ21vdXNlZG93bicsIHsgcGFzc2l2ZTogdHJ1ZSB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubW91c2Vkb3duRXZlbnQkLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vkb3duJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nbG9iYWxNb3VzZWRvd25FdmVudCQubmV4dChldmVudCBhcyBNb3VzZUV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RWRpdG9yQ29tcG9uZW50KHR5cGU6IEFJVGFibGVGaWVsZFR5cGUpIHtcbiAgICAgICAgY29uc3QgZmlsZWRSZW5kZXJTY2hlbWEgPSB0aGlzLmFpRmllbGRSZW5kZXJlcnMgJiYgdGhpcy5haUZpZWxkUmVuZGVyZXJzW3R5cGVdO1xuICAgICAgICBpZiAoZmlsZWRSZW5kZXJTY2hlbWEgJiYgZmlsZWRSZW5kZXJTY2hlbWEuZWRpdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gZmlsZWRSZW5kZXJTY2hlbWEuZWRpdG9yO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBHUklEX0NFTExfRURJVE9SX01BUFt0eXBlXTtcbiAgICB9XG5cbiAgICBvcGVuRWRpdChjZWxsRG9tOiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IGNlbGxEb20uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGZpZWxkSWQgPSBjZWxsRG9tLmdldEF0dHJpYnV0ZSgnZmllbGRJZCcpITtcbiAgICAgICAgY29uc3QgcmVjb3JkSWQgPSBjZWxsRG9tLmdldEF0dHJpYnV0ZSgncmVjb3JkSWQnKSE7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuZ2V0RWRpdG9yQ29tcG9uZW50KHRoaXMuYWlUYWJsZS5maWVsZHNNYXAoKVtmaWVsZElkXS50eXBlKTtcbiAgICAgICAgY29uc3QgcmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oY29tcG9uZW50LCB7XG4gICAgICAgICAgICBvcmlnaW46IGNlbGxEb20sXG4gICAgICAgICAgICBvcmlnaW5Qb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgIHg6IHggLSAxLFxuICAgICAgICAgICAgICAgIHk6IHkgKyAxLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCArIDIsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBoZWlnaHQgKyAyXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgd2lkdGg6IHdpZHRoICsgMSArICdweCcsXG4gICAgICAgICAgICBoZWlnaHQ6IGhlaWdodCArIDIgKyAncHgnLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAndG9wJyxcbiAgICAgICAgICAgIG9mZnNldDogLShoZWlnaHQgKyA0KSxcbiAgICAgICAgICAgIG1pbldpZHRoOiB3aWR0aCxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkSWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWQ6IHJlY29yZElkLFxuICAgICAgICAgICAgICAgIGFpVGFibGU6IHRoaXMuYWlUYWJsZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICdncmlkLWNlbGwtZWRpdG9yJyxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlLFxuICAgICAgICAgICAgYW5pbWF0aW9uRGlzYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBhdXRvQWRhcHRpdmU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZWY7XG4gICAgfVxuXG4gICAgZ2V0T3JpZ2luUG9zaXRpb24oYWlUYWJsZTogQUlUYWJsZSwgb3B0aW9uczogQUlUYWJsZU9wZW5FZGl0T3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IGNvbnRhaW5lciwgY29vcmRpbmF0ZSwgcmVjb3JkSWQsIGZpZWxkSWQsIGlzSG92ZXJFZGl0IH0gPSBvcHRpb25zO1xuICAgICAgICBjb25zdCB7IHNjcm9sbFN0YXRlIH0gPSBhaVRhYmxlLmNvbnRleHQhO1xuICAgICAgICBjb25zdCB7IHJvd0hlaWdodCwgY29sdW1uQ291bnQgfSA9IGNvb3JkaW5hdGU7XG4gICAgICAgIGNvbnN0IGNlbGw6IEFJUmVjb3JkRmllbGRJZFBhdGggPSBbcmVjb3JkSWQsIGZpZWxkSWRdO1xuICAgICAgICBjb25zdCB7IHJvd0luZGV4LCBjb2x1bW5JbmRleCB9ID0gQUlUYWJsZS5nZXRDZWxsSW5kZXgoYWlUYWJsZSwgY2VsbCkhO1xuICAgICAgICBjb25zdCBvcmlnaW5YID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQoY29sdW1uSW5kZXgpO1xuICAgICAgICBjb25zdCBvcmlnaW5ZID0gY29vcmRpbmF0ZS5nZXRSb3dPZmZzZXQocm93SW5kZXgpO1xuICAgICAgICBjb25zdCBjb2x1bW5XaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoY29sdW1uSW5kZXgpO1xuICAgICAgICBjb25zdCB7IHdpZHRoOiBvcmlnaW5XaWR0aCwgb2Zmc2V0OiBvcmlnaW5PZmZzZXQgfSA9IGdldENlbGxIb3Jpem9udGFsUG9zaXRpb24oe1xuICAgICAgICAgICAgY29sdW1uV2lkdGgsXG4gICAgICAgICAgICBjb2x1bW5JbmRleCxcbiAgICAgICAgICAgIGNvbHVtbkNvdW50XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBvcmlnaW5SZWN0ID0gY29udGFpbmVyIS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgaXNGcm96ZW5Db2x1bW4gPSBBSVRhYmxlLmlzRnJvemVuQ29sdW1uKGFpVGFibGUsIGNvbHVtbkluZGV4KTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsTGVmdCA9IGlzRnJvemVuQ29sdW1uID8gMCA6IHNjcm9sbFN0YXRlKCkuc2Nyb2xsTGVmdDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gc2Nyb2xsU3RhdGUoKS5zY3JvbGxUb3A7XG4gICAgICAgIGNvbnN0IG9yaWdpblBvc2l0aW9uID0ge1xuICAgICAgICAgICAgeDogb3JpZ2luWCArIG9yaWdpbk9mZnNldCAtIHNjcm9sbExlZnQgKyBvcmlnaW5SZWN0LngsXG4gICAgICAgICAgICB5OiBvcmlnaW5ZIC0gc2Nyb2xsVG9wICsgb3JpZ2luUmVjdC55LFxuICAgICAgICAgICAgd2lkdGg6IG9yaWdpbldpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiByb3dIZWlnaHRcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IHggPSBvcmlnaW5Qb3NpdGlvbi54ICsgZ2V0RWRpdG9yQm94T2Zmc2V0KCk7XG4gICAgICAgIGxldCB5ID0gb3JpZ2luUG9zaXRpb24ueSArIGdldEVkaXRvckJveE9mZnNldCgpO1xuICAgICAgICBsZXQgd2lkdGggPSBnZXRFZGl0b3JTcGFjZShvcmlnaW5Qb3NpdGlvbi53aWR0aCk7XG4gICAgICAgIGxldCBoZWlnaHQgPSBnZXRFZGl0b3JTcGFjZShvcmlnaW5Qb3NpdGlvbi5oZWlnaHQpO1xuICAgICAgICAvLyBob3ZlciDnvJbovpHnu4Tku7bml6DovrnmoYZcbiAgICAgICAgaWYgKGlzSG92ZXJFZGl0KSB7XG4gICAgICAgICAgICB4ID0gb3JpZ2luUG9zaXRpb24ueCArIGdldEhvdmVyRWRpdG9yQm94T2Zmc2V0KCk7XG4gICAgICAgICAgICB5ID0gb3JpZ2luUG9zaXRpb24ueSArIGdldEhvdmVyRWRpdG9yQm94T2Zmc2V0KCk7XG4gICAgICAgICAgICB3aWR0aCA9IGdldEhvdmVyRWRpdG9yU3BhY2Uob3JpZ2luUG9zaXRpb24ud2lkdGgpO1xuICAgICAgICAgICAgaGVpZ2h0ID0gZ2V0SG92ZXJFZGl0b3JTcGFjZShvcmlnaW5Qb3NpdGlvbi5oZWlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5vcmlnaW5Qb3NpdGlvbixcbiAgICAgICAgICAgIHg6IHgsXG4gICAgICAgICAgICB5OiB5LFxuICAgICAgICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiBoZWlnaHRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvcGVuQ2VsbEVkaXRvcihhaVRhYmxlOiBBSVRhYmxlLCBvcHRpb25zOiBBSVRhYmxlT3BlbkVkaXRPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgY29udGFpbmVyLCByZWNvcmRJZCwgZmllbGRJZCwgaXNIb3ZlckVkaXQsIHJlZmVyZW5jZXMgfSA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuZ2V0RWRpdG9yQ29tcG9uZW50KHRoaXMuYWlUYWJsZS5maWVsZHNNYXAoKVtmaWVsZElkXS50eXBlKTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0T3JpZ2luUG9zaXRpb24gPSB0aGlzLmdldE9yaWdpblBvc2l0aW9uKGFpVGFibGUsIG9wdGlvbnMpO1xuICAgICAgICB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oY29tcG9uZW50LCB7XG4gICAgICAgICAgICBvcmlnaW46IGNvbnRhaW5lciEsXG4gICAgICAgICAgICBvcmlnaW5Qb3NpdGlvbjogb2Zmc2V0T3JpZ2luUG9zaXRpb24sXG4gICAgICAgICAgICB3aWR0aDogb2Zmc2V0T3JpZ2luUG9zaXRpb24ud2lkdGggKyAncHgnLFxuICAgICAgICAgICAgaGVpZ2h0OiBvZmZzZXRPcmlnaW5Qb3NpdGlvbi5oZWlnaHQgKyAncHgnLFxuICAgICAgICAgICAgbWluV2lkdGg6IG9mZnNldE9yaWdpblBvc2l0aW9uLndpZHRoICsgJ3B4JyxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gICAgICAgICAgICBvZmZzZXQ6IC1vZmZzZXRPcmlnaW5Qb3NpdGlvbi5oZWlnaHQsXG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZElkLFxuICAgICAgICAgICAgICAgIHJlY29yZElkOiByZWNvcmRJZCxcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzLFxuICAgICAgICAgICAgICAgIGFpVGFibGU6IGFpVGFibGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAnZ3JpZC1jZWxsLWVkaXRvcicsXG4gICAgICAgICAgICBvdXRzaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgbWFudWFsQ2xvc3VyZTogdHJ1ZSxcbiAgICAgICAgICAgIGFuaW1hdGlvbkRpc2FibGVkOiB0cnVlLFxuICAgICAgICAgICAgYXV0b0FkYXB0aXZlOiB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmKSB7XG4gICAgICAgICAgICBjb25zdCB3aGVlbEV2ZW50ID0gZnJvbUV2ZW50PFdoZWVsRXZlbnQ+KFxuICAgICAgICAgICAgICAgIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYuY29tcG9uZW50SW5zdGFuY2UuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICd3aGVlbCdcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKChldmVudDogV2hlZWxFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gYWlUYWJsZS5maWVsZHNNYXAoKVtmaWVsZElkXTtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS50ZXh0IHx8IGZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUucmljaFRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWlUYWJsZS5jb250ZXh0Py5zY3JvbGxBY3Rpb24oe1xuICAgICAgICAgICAgICAgICAgICBkZWx0YVg6IGV2ZW50LmRlbHRhWCxcbiAgICAgICAgICAgICAgICAgICAgZGVsdGFZOiBldmVudC5kZWx0YVksXG4gICAgICAgICAgICAgICAgICAgIHNoaWZ0S2V5OiBldmVudC5zaGlmdEtleSxcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpblBvc2l0aW9uID0gdGhpcy5nZXRPcmlnaW5Qb3NpdGlvbihhaVRhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSAodGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZiBhcyBUaHlBYnN0cmFjdEludGVybmFsT3ZlcmxheVJlZjxhbnksIGFueSwgYW55PilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0T3ZlcmxheVJlZigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldENvbmZpZygpLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneS5zZXRPcmlnaW4ob3JpZ2luUG9zaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneS5hcHBseSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHdoZWVsRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmID0gbnVsbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgKHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYuY29tcG9uZW50SW5zdGFuY2UgYXMgQWJzdHJhY3RFZGl0Q2VsbEVkaXRvcjxhbnk+KS51cGRhdGVGaWVsZFZhbHVlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnVwZGF0ZUZpZWxkVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWY7XG4gICAgfVxuXG4gICAgY2xvc2VDZWxsRWRpdG9yKCkge1xuICAgICAgICBpZiAodGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZikge1xuICAgICAgICAgICAgdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDdXJyZW50RWRpdENlbGwoKSB7XG4gICAgICAgIGlmICh0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmKSB7XG4gICAgICAgICAgICBjb25zdCByZWNvcmRJZCA9IHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYuY29tcG9uZW50SW5zdGFuY2U/LnJlY29yZElkO1xuICAgICAgICAgICAgY29uc3QgZmllbGRJZCA9IHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYuY29tcG9uZW50SW5zdGFuY2U/LmZpZWxkSWQ7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmRJZCAmJiBmaWVsZElkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkSWRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgb3BlbkNvbnRleHRNZW51KGFpVGFibGU6IEFJVGFibGUsIG9wdGlvbnM6IEFJVGFibGVDb250ZXh0TWVudU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBvcmlnaW4sIHBvc2l0aW9uLCBtZW51SXRlbXMsIHRhcmdldE5hbWUsIHZpZXdDb250YWluZXJSZWYgfSA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKEFJVGFibGVDb250ZXh0TWVudSwge1xuICAgICAgICAgICAgb3JpZ2luOiBvcmlnaW4gYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICBvcmlnaW5Qb3NpdGlvbjogcG9zaXRpb24sXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICAgICAgbWVudUl0ZW1zLFxuICAgICAgICAgICAgICAgIHRhcmdldE5hbWUsXG4gICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZWY7XG4gICAgfVxufVxuIl19
|
@@ -1,7 +1,17 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
1
|
+
import { computed, Injectable } from '@angular/core';
|
2
|
+
import { AITableSelectAllState } from '../types';
|
2
3
|
import * as i0 from "@angular/core";
|
3
4
|
export class AITableGridSelectionService {
|
4
|
-
constructor() {
|
5
|
+
constructor() {
|
6
|
+
this.selectAllState = computed(() => {
|
7
|
+
const selectedRecords = this.aiTable.selection().selectedRecords;
|
8
|
+
return selectedRecords.size === this.aiTable.records().length
|
9
|
+
? AITableSelectAllState.all
|
10
|
+
: selectedRecords.size === 0
|
11
|
+
? AITableSelectAllState.none
|
12
|
+
: AITableSelectAllState.partial;
|
13
|
+
});
|
14
|
+
}
|
5
15
|
initialize(aiTable) {
|
6
16
|
this.aiTable = aiTable;
|
7
17
|
}
|
@@ -10,7 +20,8 @@ export class AITableGridSelectionService {
|
|
10
20
|
selectedRecords: new Set(),
|
11
21
|
selectedFields: new Set(),
|
12
22
|
selectedCells: new Set(),
|
13
|
-
activeCell: null
|
23
|
+
activeCell: null,
|
24
|
+
selectAllState: AITableSelectAllState.none
|
14
25
|
});
|
15
26
|
}
|
16
27
|
setActiveCell(activeCell) {
|
@@ -30,19 +41,31 @@ export class AITableGridSelectionService {
|
|
30
41
|
else {
|
31
42
|
this.aiTable.selection().selectedRecords.add(recordId);
|
32
43
|
}
|
44
|
+
const selectedRecords = this.aiTable.selection().selectedRecords;
|
33
45
|
this.aiTable.selection.set({
|
34
|
-
selectedRecords:
|
46
|
+
selectedRecords: selectedRecords,
|
35
47
|
selectedFields: new Set(),
|
36
48
|
selectedCells: new Set(),
|
37
|
-
activeCell: null
|
49
|
+
activeCell: null,
|
50
|
+
selectAllState: this.selectAllState()
|
38
51
|
});
|
39
52
|
}
|
40
53
|
toggleSelectAll(checked) {
|
41
|
-
this.clearSelection();
|
42
54
|
if (checked) {
|
43
|
-
this.aiTable.records().
|
44
|
-
this.
|
45
|
-
|
55
|
+
if (this.aiTable.records().length === 0) {
|
56
|
+
this.aiTable.selection.set({
|
57
|
+
...this.aiTable.selection(),
|
58
|
+
selectAllState: AITableSelectAllState.all
|
59
|
+
});
|
60
|
+
}
|
61
|
+
else {
|
62
|
+
this.aiTable.records().forEach((item) => {
|
63
|
+
this.selectRecord(item._id);
|
64
|
+
});
|
65
|
+
}
|
66
|
+
}
|
67
|
+
else {
|
68
|
+
this.clearSelection();
|
46
69
|
}
|
47
70
|
}
|
48
71
|
updateSelect(event) {
|
@@ -101,4 +124,4 @@ export class AITableGridSelectionService {
|
|
101
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableGridSelectionService, decorators: [{
|
102
125
|
type: Injectable
|
103
126
|
}], ctorParameters: () => [] });
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9zZXJ2aWNlcy9zZWxlY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQU8sMkJBQTJCO0lBR3BDLGdCQUFlLENBQUM7SUFFaEIsVUFBVSxDQUFDLE9BQWdCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLGVBQWUsRUFBRSxJQUFJLEdBQUcsRUFBRTtZQUMxQixjQUFjLEVBQUUsSUFBSSxHQUFHLEVBQUU7WUFDekIsYUFBYSxFQUFFLElBQUksR0FBRyxFQUFFO1lBQ3hCLFVBQVUsRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhLENBQUMsVUFBK0I7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ3JELENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN2QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3ZELE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdCO1FBQ3pCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsZUFBZTtZQUN6RCxjQUFjLEVBQUUsSUFBSSxHQUFHLEVBQUU7WUFDekIsYUFBYSxFQUFFLElBQUksR0FBRyxFQUFFO1lBQ3hCLFVBQVUsRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZ0I7UUFDNUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWlCO1FBQzFCLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxNQUFxQixDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTyxJQUFLLE1BQTJCLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDcEksTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbEQsT0FBTyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELElBQUksTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUE4QixFQUFFLE9BQTZCO1FBQ3JFLE1BQU0sQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQyxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBRXhDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBRTFDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssYUFBYSxDQUFDLENBQUM7WUFDbEYsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxXQUFXLENBQUMsQ0FBQztZQUM5RSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFlBQVksQ0FBQyxDQUFDO1lBQzlFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDLENBQUM7WUFFMUUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDekQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDekQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDekQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFFekQsS0FBSyxJQUFJLENBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM5QyxLQUFLLElBQUksQ0FBQyxHQUFHLFdBQVcsRUFBRSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQzlDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDM0QsQ0FBQzsrR0EzR1EsMkJBQTJCO21IQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVJlY29yZEZpZWxkSWRQYXRoLCBBSVRhYmxlIH0gZnJvbSAnLi4vY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2Uge1xuICAgIGFpVGFibGUhOiBBSVRhYmxlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgaW5pdGlhbGl6ZShhaVRhYmxlOiBBSVRhYmxlKSB7XG4gICAgICAgIHRoaXMuYWlUYWJsZSA9IGFpVGFibGU7XG4gICAgfVxuXG4gICAgY2xlYXJTZWxlY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuYWlUYWJsZS5zZWxlY3Rpb24uc2V0KHtcbiAgICAgICAgICAgIHNlbGVjdGVkUmVjb3JkczogbmV3IFNldCgpLFxuICAgICAgICAgICAgc2VsZWN0ZWRGaWVsZHM6IG5ldyBTZXQoKSxcbiAgICAgICAgICAgIHNlbGVjdGVkQ2VsbHM6IG5ldyBTZXQoKSxcbiAgICAgICAgICAgIGFjdGl2ZUNlbGw6IG51bGxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0QWN0aXZlQ2VsbChhY3RpdmVDZWxsOiBBSVJlY29yZEZpZWxkSWRQYXRoKSB7XG4gICAgICAgIHRoaXMuYWlUYWJsZS5zZWxlY3Rpb24oKS5hY3RpdmVDZWxsID0gYWN0aXZlQ2VsbDtcbiAgICB9XG5cbiAgICBzZWxlY3RGaWVsZChmaWVsZElkOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZEZpZWxkcy5oYXMoZmllbGRJZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMuYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZEZpZWxkcy5hZGQoZmllbGRJZCk7XG4gICAgfVxuXG4gICAgc2VsZWN0UmVjb3JkKHJlY29yZElkOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZFJlY29yZHMuaGFzKHJlY29yZElkKSkge1xuICAgICAgICAgICAgdGhpcy5haVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkUmVjb3Jkcy5kZWxldGUocmVjb3JkSWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5haVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkUmVjb3Jkcy5hZGQocmVjb3JkSWQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWlUYWJsZS5zZWxlY3Rpb24uc2V0KHtcbiAgICAgICAgICAgIHNlbGVjdGVkUmVjb3JkczogdGhpcy5haVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkUmVjb3JkcyxcbiAgICAgICAgICAgIHNlbGVjdGVkRmllbGRzOiBuZXcgU2V0KCksXG4gICAgICAgICAgICBzZWxlY3RlZENlbGxzOiBuZXcgU2V0KCksXG4gICAgICAgICAgICBhY3RpdmVDZWxsOiBudWxsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRvZ2dsZVNlbGVjdEFsbChjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWlUYWJsZS5yZWNvcmRzKCkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0UmVjb3JkKGl0ZW0uX2lkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlU2VsZWN0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50Py50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2VsbERvbSA9IHRhcmdldC5jbG9zZXN0KCcuZ3JpZC1jZWxsJyk7XG4gICAgICAgIGNvbnN0IGNvbERvbSA9IHRhcmdldC5jbG9zZXN0KCcuZ3JpZC1maWVsZCcpO1xuICAgICAgICBjb25zdCBjaGVja2JveCA9IHRhcmdldC50YWdOYW1lID09PSAnSU5QVVQnICYmICh0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudHlwZSA9PT0gJ2NoZWNrYm94JyAmJiB0YXJnZXQuY2xvc2VzdCgnLmdyaWQtY2hlY2tib3gnKTtcbiAgICAgICAgY29uc3QgZmllbGRBY3Rpb24gPSB0YXJnZXQuY2xvc2VzdCgnLmdyaWQtZmllbGQtYWN0aW9uJyk7XG4gICAgICAgIGlmIChjZWxsRG9tKSB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZElkID0gY2VsbERvbS5nZXRBdHRyaWJ1dGUoJ2ZpZWxkSWQnKTtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZElkID0gY2VsbERvbS5nZXRBdHRyaWJ1dGUoJ3JlY29yZElkJyk7XG4gICAgICAgICAgICBmaWVsZElkICYmIHJlY29yZElkICYmIHRoaXMuc2VsZWN0Q2VsbHMoW3JlY29yZElkLCBmaWVsZElkXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbERvbSAmJiAhZmllbGRBY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSBjb2xEb20uZ2V0QXR0cmlidXRlKCdmaWVsZElkJyk7XG4gICAgICAgICAgICBmaWVsZElkICYmIHRoaXMuc2VsZWN0RmllbGQoZmllbGRJZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjZWxsRG9tICYmICFjb2xEb20gJiYgIWNoZWNrYm94KSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RDZWxscyhzdGFydENlbGw6IEFJUmVjb3JkRmllbGRJZFBhdGgsIGVuZENlbGw/OiBBSVJlY29yZEZpZWxkSWRQYXRoKSB7XG4gICAgICAgIGNvbnN0IFtzdGFydFJlY29yZElkLCBzdGFydEZpZWxkSWRdID0gc3RhcnRDZWxsO1xuICAgICAgICBjb25zdCByZWNvcmRzID0gdGhpcy5haVRhYmxlLnJlY29yZHMoKTtcbiAgICAgICAgY29uc3QgZmllbGRzID0gdGhpcy5haVRhYmxlLmZpZWxkcygpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZENlbGxzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICAgICAgaWYgKCFlbmRDZWxsKSB7XG4gICAgICAgICAgICBzZWxlY3RlZENlbGxzLmFkZChgJHtzdGFydFJlY29yZElkfToke3N0YXJ0RmllbGRJZH1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IFtlbmRSZWNvcmRJZCwgZW5kRmllbGRJZF0gPSBlbmRDZWxsO1xuXG4gICAgICAgICAgICBjb25zdCBzdGFydFJvd0luZGV4ID0gcmVjb3Jkcy5maW5kSW5kZXgoKHJlY29yZCkgPT4gcmVjb3JkLl9pZCA9PT0gc3RhcnRSZWNvcmRJZCk7XG4gICAgICAgICAgICBjb25zdCBlbmRSb3dJbmRleCA9IHJlY29yZHMuZmluZEluZGV4KChyZWNvcmQpID0+IHJlY29yZC5faWQgPT09IGVuZFJlY29yZElkKTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0Q29sSW5kZXggPSBmaWVsZHMuZmluZEluZGV4KChmaWVsZCkgPT4gZmllbGQuX2lkID09PSBzdGFydEZpZWxkSWQpO1xuICAgICAgICAgICAgY29uc3QgZW5kQ29sSW5kZXggPSBmaWVsZHMuZmluZEluZGV4KChmaWVsZCkgPT4gZmllbGQuX2lkID09PSBlbmRGaWVsZElkKTtcblxuICAgICAgICAgICAgY29uc3QgbWluUm93SW5kZXggPSBNYXRoLm1pbihzdGFydFJvd0luZGV4LCBlbmRSb3dJbmRleCk7XG4gICAgICAgICAgICBjb25zdCBtYXhSb3dJbmRleCA9IE1hdGgubWF4KHN0YXJ0Um93SW5kZXgsIGVuZFJvd0luZGV4KTtcbiAgICAgICAgICAgIGNvbnN0IG1pbkNvbEluZGV4ID0gTWF0aC5taW4oc3RhcnRDb2xJbmRleCwgZW5kQ29sSW5kZXgpO1xuICAgICAgICAgICAgY29uc3QgbWF4Q29sSW5kZXggPSBNYXRoLm1heChzdGFydENvbEluZGV4LCBlbmRDb2xJbmRleCk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSBtaW5Sb3dJbmRleDsgaSA8PSBtYXhSb3dJbmRleDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IG1pbkNvbEluZGV4OyBqIDw9IG1heENvbEluZGV4OyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRDZWxscy5hZGQoYCR7cmVjb3Jkc1tpXS5faWR9OiR7ZmllbGRzW2pdLl9pZH1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMuc2V0QWN0aXZlQ2VsbChzdGFydENlbGwpO1xuICAgICAgICB0aGlzLmFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRDZWxscyA9IHNlbGVjdGVkQ2VsbHM7XG4gICAgfVxufVxuIl19
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9zZXJ2aWNlcy9zZWxlY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR2pELE1BQU0sT0FBTywyQkFBMkI7SUFZcEM7UUFUQSxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDakUsT0FBTyxlQUFlLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTTtnQkFDekQsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEdBQUc7Z0JBQzNCLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLENBQUM7b0JBQzFCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJO29CQUM1QixDQUFDLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBRVksQ0FBQztJQUVoQixVQUFVLENBQUMsT0FBZ0I7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsZUFBZSxFQUFFLElBQUksR0FBRyxFQUFFO1lBQzFCLGNBQWMsRUFBRSxJQUFJLEdBQUcsRUFBRTtZQUN6QixhQUFhLEVBQUUsSUFBSSxHQUFHLEVBQUU7WUFDeEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsY0FBYyxFQUFFLHFCQUFxQixDQUFDLElB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QUFDLENBQUMsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQzVELENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUMzRCxDQUFDOytHQS9IUSwyQkFBMkI7bUhBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVJlY29yZEZpZWxkSWRQYXRoLCBBSVRhYmxlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlU2VsZWN0QWxsU3RhdGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2Uge1xuICAgIGFpVGFibGUhOiBBSVRhYmxlO1xuXG4gICAgc2VsZWN0QWxsU3RhdGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUmVjb3JkcyA9IHRoaXMuYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZFJlY29yZHM7XG4gICAgICAgIHJldHVybiBzZWxlY3RlZFJlY29yZHMuc2l6ZSA9PT0gdGhpcy5haVRhYmxlLnJlY29yZHMoKS5sZW5ndGhcbiAgICAgICAgICAgID8gQUlUYWJsZVNlbGVjdEFsbFN0YXRlLmFsbFxuICAgICAgICAgICAgOiBzZWxlY3RlZFJlY29yZHMuc2l6ZSA9PT0gMFxuICAgICAgICAgICAgICA/IEFJVGFibGVTZWxlY3RBbGxTdGF0ZS5ub25lXG4gICAgICAgICAgICAgIDogQUlUYWJsZVNlbGVjdEFsbFN0YXRlLnBhcnRpYWw7XG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBpbml0aWFsaXplKGFpVGFibGU6IEFJVGFibGUpIHtcbiAgICAgICAgdGhpcy5haVRhYmxlID0gYWlUYWJsZTtcbiAgICB9XG5cbiAgICBjbGVhclNlbGVjdGlvbigpIHtcbiAgICAgICAgdGhpcy5haVRhYmxlLnNlbGVjdGlvbi5zZXQoe1xuICAgICAgICAgICAgc2VsZWN0ZWRSZWNvcmRzOiBuZXcgU2V0KCksXG4gICAgICAgICAgICBzZWxlY3RlZEZpZWxkczogbmV3IFNldCgpLFxuICAgICAgICAgICAgc2VsZWN0ZWRDZWxsczogbmV3IFNldCgpLFxuICAgICAgICAgICAgYWN0aXZlQ2VsbDogbnVsbCxcbiAgICAgICAgICAgIHNlbGVjdEFsbFN0YXRlOiBBSVRhYmxlU2VsZWN0QWxsU3RhdGUubm9uZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRBY3RpdmVDZWxsKGFjdGl2ZUNlbGw6IEFJUmVjb3JkRmllbGRJZFBhdGgpIHtcbiAgICAgICAgdGhpcy5haVRhYmxlLnNlbGVjdGlvbigpLmFjdGl2ZUNlbGwgPSBhY3RpdmVDZWxsO1xuICAgIH1cblxuICAgIHNlbGVjdEZpZWxkKGZpZWxkSWQ6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5haVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkRmllbGRzLmhhcyhmaWVsZElkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgdGhpcy5haVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkRmllbGRzLmFkZChmaWVsZElkKTtcbiAgICB9XG5cbiAgICBzZWxlY3RSZWNvcmQocmVjb3JkSWQ6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5haVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkUmVjb3Jkcy5oYXMocmVjb3JkSWQpKSB7XG4gICAgICAgICAgICB0aGlzLmFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRSZWNvcmRzLmRlbGV0ZShyZWNvcmRJZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRSZWNvcmRzLmFkZChyZWNvcmRJZCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRSZWNvcmRzID0gdGhpcy5haVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkUmVjb3JkcztcbiAgICAgICAgdGhpcy5haVRhYmxlLnNlbGVjdGlvbi5zZXQoe1xuICAgICAgICAgICAgc2VsZWN0ZWRSZWNvcmRzOiBzZWxlY3RlZFJlY29yZHMsXG4gICAgICAgICAgICBzZWxlY3RlZEZpZWxkczogbmV3IFNldCgpLFxuICAgICAgICAgICAgc2VsZWN0ZWRDZWxsczogbmV3IFNldCgpLFxuICAgICAgICAgICAgYWN0aXZlQ2VsbDogbnVsbCxcbiAgICAgICAgICAgIHNlbGVjdEFsbFN0YXRlOiB0aGlzLnNlbGVjdEFsbFN0YXRlKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlU2VsZWN0QWxsKGNoZWNrZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFpVGFibGUucmVjb3JkcygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWlUYWJsZS5zZWxlY3Rpb24uc2V0KHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5haVRhYmxlLnNlbGVjdGlvbigpLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RBbGxTdGF0ZTogQUlUYWJsZVNlbGVjdEFsbFN0YXRlLmFsbFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFpVGFibGUucmVjb3JkcygpLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RSZWNvcmQoaXRlbS5faWQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlU2VsZWN0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50Py50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2VsbERvbSA9IHRhcmdldC5jbG9zZXN0KCcuZ3JpZC1jZWxsJyk7XG4gICAgICAgIGNvbnN0IGNvbERvbSA9IHRhcmdldC5jbG9zZXN0KCcuZ3JpZC1maWVsZCcpO1xuICAgICAgICBjb25zdCBjaGVja2JveCA9IHRhcmdldC50YWdOYW1lID09PSAnSU5QVVQnICYmICh0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudHlwZSA9PT0gJ2NoZWNrYm94JyAmJiB0YXJnZXQuY2xvc2VzdCgnLmdyaWQtY2hlY2tib3gnKTtcbiAgICAgICAgY29uc3QgZmllbGRBY3Rpb24gPSB0YXJnZXQuY2xvc2VzdCgnLmdyaWQtZmllbGQtYWN0aW9uJyk7XG4gICAgICAgIGlmIChjZWxsRG9tKSB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZElkID0gY2VsbERvbS5nZXRBdHRyaWJ1dGUoJ2ZpZWxkSWQnKTtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZElkID0gY2VsbERvbS5nZXRBdHRyaWJ1dGUoJ3JlY29yZElkJyk7XG4gICAgICAgICAgICBmaWVsZElkICYmIHJlY29yZElkICYmIHRoaXMuc2VsZWN0Q2VsbHMoW3JlY29yZElkLCBmaWVsZElkXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbERvbSAmJiAhZmllbGRBY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSBjb2xEb20uZ2V0QXR0cmlidXRlKCdmaWVsZElkJyk7XG4gICAgICAgICAgICBmaWVsZElkICYmIHRoaXMuc2VsZWN0RmllbGQoZmllbGRJZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjZWxsRG9tICYmICFjb2xEb20gJiYgIWNoZWNrYm94KSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RDZWxscyhzdGFydENlbGw6IEFJUmVjb3JkRmllbGRJZFBhdGgsIGVuZENlbGw/OiBBSVJlY29yZEZpZWxkSWRQYXRoKSB7XG4gICAgICAgIGNvbnN0IFtzdGFydFJlY29yZElkLCBzdGFydEZpZWxkSWRdID0gc3RhcnRDZWxsO1xuICAgICAgICBjb25zdCByZWNvcmRzID0gdGhpcy5haVRhYmxlLnJlY29yZHMoKTtcbiAgICAgICAgY29uc3QgZmllbGRzID0gdGhpcy5haVRhYmxlLmZpZWxkcygpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZENlbGxzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICAgICAgaWYgKCFlbmRDZWxsKSB7XG4gICAgICAgICAgICBzZWxlY3RlZENlbGxzLmFkZChgJHtzdGFydFJlY29yZElkfToke3N0YXJ0RmllbGRJZH1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IFtlbmRSZWNvcmRJZCwgZW5kRmllbGRJZF0gPSBlbmRDZWxsO1xuXG4gICAgICAgICAgICBjb25zdCBzdGFydFJvd0luZGV4ID0gcmVjb3Jkcy5maW5kSW5kZXgoKHJlY29yZCkgPT4gcmVjb3JkLl9pZCA9PT0gc3RhcnRSZWNvcmRJZCk7XG4gICAgICAgICAgICBjb25zdCBlbmRSb3dJbmRleCA9IHJlY29yZHMuZmluZEluZGV4KChyZWNvcmQpID0+IHJlY29yZC5faWQgPT09IGVuZFJlY29yZElkKTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0Q29sSW5kZXggPSBmaWVsZHMuZmluZEluZGV4KChmaWVsZCkgPT4gZmllbGQuX2lkID09PSBzdGFydEZpZWxkSWQpO1xuICAgICAgICAgICAgY29uc3QgZW5kQ29sSW5kZXggPSBmaWVsZHMuZmluZEluZGV4KChmaWVsZCkgPT4gZmllbGQuX2lkID09PSBlbmRGaWVsZElkKTtcblxuICAgICAgICAgICAgY29uc3QgbWluUm93SW5kZXggPSBNYXRoLm1pbihzdGFydFJvd0luZGV4LCBlbmRSb3dJbmRleCk7XG4gICAgICAgICAgICBjb25zdCBtYXhSb3dJbmRleCA9IE1hdGgubWF4KHN0YXJ0Um93SW5kZXgsIGVuZFJvd0luZGV4KTtcbiAgICAgICAgICAgIGNvbnN0IG1pbkNvbEluZGV4ID0gTWF0aC5taW4oc3RhcnRDb2xJbmRleCwgZW5kQ29sSW5kZXgpO1xuICAgICAgICAgICAgY29uc3QgbWF4Q29sSW5kZXggPSBNYXRoLm1heChzdGFydENvbEluZGV4LCBlbmRDb2xJbmRleCk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSBtaW5Sb3dJbmRleDsgaSA8PSBtYXhSb3dJbmRleDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IG1pbkNvbEluZGV4OyBqIDw9IG1heENvbEluZGV4OyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRDZWxscy5hZGQoYCR7cmVjb3Jkc1tpXS5faWR9OiR7ZmllbGRzW2pdLl9pZH1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMuc2V0QWN0aXZlQ2VsbChzdGFydENlbGwpO1xuICAgICAgICB0aGlzLmFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRDZWxscyA9IHNlbGVjdGVkQ2VsbHM7XG4gICAgfVxufVxuIl19
|
package/esm2022/types/grid.mjs
CHANGED
@@ -13,4 +13,10 @@ export var AITableAreaType;
|
|
13
13
|
AITableAreaType["grid"] = "grid";
|
14
14
|
AITableAreaType["none"] = "none";
|
15
15
|
})(AITableAreaType || (AITableAreaType = {}));
|
16
|
-
|
16
|
+
export var AITableSelectAllState;
|
17
|
+
(function (AITableSelectAllState) {
|
18
|
+
AITableSelectAllState["all"] = "all";
|
19
|
+
AITableSelectAllState["partial"] = "partial";
|
20
|
+
AITableSelectAllState["none"] = "none";
|
21
|
+
})(AITableSelectAllState || (AITableSelectAllState = {}));
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3R5cGVzL2dyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkRBLE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDNUIsbUNBQVcsQ0FBQTtJQUNYLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBZ0JELE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDeEIsdUNBQW1CLENBQUE7SUFDbkIsMkNBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFlRCxNQUFNLENBQU4sSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3ZCLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQjtBQTJDRCxNQUFNLENBQU4sSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQzdCLG9DQUFXLENBQUE7SUFDWCw0Q0FBbUIsQ0FBQTtJQUNuQixzQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBSWhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBBSVJlY29yZEZpZWxkSWRQYXRoLFxuICAgIEFJVGFibGUsXG4gICAgQUlUYWJsZUZpZWxkLFxuICAgIEFJVGFibGVGaWVsZFR5cGUsXG4gICAgQUlUYWJsZVJlY29yZCxcbiAgICBDb29yZGluYXRlLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgVXBkYXRlRmllbGRWYWx1ZU9wdGlvbnNcbn0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGRNZW51SXRlbSB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgQUlUYWJsZUxpbmVhclJvdyB9IGZyb20gJy4vcm93JztcblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlR3JpZENlbGxSZW5kZXJTY2hlbWEge1xuICAgIGVkaXRvcj86IGFueTtcbiAgICB0cmFuc2Zvcm0/OiAoZmllbGQ6IEFJVGFibGVGaWVsZCwgdmFsdWU6IEZpZWxkVmFsdWUpID0+IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlR3JpZERhdGEge1xuICAgIHR5cGU6ICdncmlkJztcbiAgICBmaWVsZHM6IEFJVGFibGVGaWVsZFtdO1xuICAgIHJlY29yZHM6IEFJVGFibGVSZWNvcmRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlU2VsZWN0aW9uIHtcbiAgICBzZWxlY3RlZFJlY29yZHM6IFNldDxzdHJpbmc+OyAvLyBgJHtyZWNvcmRJZH1gXG4gICAgc2VsZWN0ZWRGaWVsZHM6IFNldDxzdHJpbmc+OyAvLyBgJHtmaWVsZElkfWBcbiAgICBzZWxlY3RlZENlbGxzOiBTZXQ8c3RyaW5nPjsgLy8gYCR7cmVjb3JkSWR9OiR7ZmllbGRJZH1gXG4gICAgYWN0aXZlQ2VsbDogQUlSZWNvcmRGaWVsZElkUGF0aCB8IG51bGw7XG4gICAgc2VsZWN0QWxsU3RhdGU6IEFJVGFibGVTZWxlY3RBbGxTdGF0ZTsgLy8gJ2FsbCcsJ3BhcnRpYWwnLCdub25lJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJRmllbGRDb25maWcge1xuICAgIGZpZWxkUmVuZGVyZXJzPzogUGFydGlhbDxSZWNvcmQ8QUlUYWJsZUZpZWxkVHlwZSwgQUlUYWJsZUdyaWRDZWxsUmVuZGVyU2NoZW1hPj47XG4gICAgZmllbGRTZXR0aW5nQ29tcG9uZW50PzogYW55O1xuICAgIGZpZWxkTWVudXM/OiBBSVRhYmxlRmllbGRNZW51SXRlbVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVVc2VySW5mbyB7XG4gICAgdWlkPzogc3RyaW5nO1xuICAgIGRpc3BsYXlfbmFtZT86IHN0cmluZztcbiAgICBhdmF0YXI/OiBzdHJpbmc7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVSZWZlcmVuY2VzIHtcbiAgICBtZW1iZXJzOiBEaWN0aW9uYXJ5PEFJVGFibGVVc2VySW5mbz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVJlbmRlcmVyQ29uZmlnIHtcbiAgICBhaVRhYmxlOiBBSVRhYmxlO1xuICAgIGNvbnRhaW5lcjogSFRNTERpdkVsZW1lbnQ7XG4gICAgY29vcmRpbmF0ZTogQ29vcmRpbmF0ZTtcbiAgICBjb250YWluZXJXaWR0aDogbnVtYmVyO1xuICAgIGNvbnRhaW5lckhlaWdodDogbnVtYmVyO1xuICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzO1xuICAgIHJlYWRvbmx5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gQUlUYWJsZVJvd0NvbHVtblR5cGUge1xuICAgIHJvdyA9ICdyb3cnLFxuICAgIGNvbHVtbiA9ICdjb2x1bW4nXG59XG5cbmV4cG9ydCB0eXBlIEFJVGFibGVTaXplTWFwID0gUmVjb3JkPG51bWJlciwgbnVtYmVyPjtcblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlQ29vcmRpbmF0ZSB7XG4gICAgcm93Q291bnQ6IG51bWJlcjtcbiAgICBjb2x1bW5Db3VudDogbnVtYmVyO1xuICAgIGNvbnRhaW5lcjogSFRNTERpdkVsZW1lbnQ7XG4gICAgcm93SGVpZ2h0OiBudW1iZXI7XG4gICAgcm93SW5pdFNpemU/OiBudW1iZXI7XG4gICAgcm93SW5kaWNlc1NpemVNYXA6IEFJVGFibGVTaXplTWFwO1xuICAgIGNvbHVtbkluZGljZXNTaXplTWFwOiBBSVRhYmxlU2l6ZU1hcDtcbiAgICBjb2x1bW5Jbml0U2l6ZT86IG51bWJlcjtcbiAgICBmcm96ZW5Db2x1bW5Db3VudD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gQUlUYWJsZUNoZWNrVHlwZSB7XG4gICAgY2hlY2tlZCA9ICdjaGVja2VkJyxcbiAgICB1bmNoZWNrZWQgPSAndW5jaGVja2VkJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVTY3JvbGxTdGF0ZSB7XG4gICAgc2Nyb2xsVG9wOiBudW1iZXI7XG4gICAgc2Nyb2xsTGVmdDogbnVtYmVyO1xuICAgIGlzU2Nyb2xsaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcm9sbEFjdGlvbk9wdGlvbnMge1xuICAgIGRlbHRhWDogbnVtYmVyO1xuICAgIGRlbHRhWTogbnVtYmVyO1xuICAgIHNoaWZ0S2V5OiBib29sZWFuO1xuICAgIGNhbGxiYWNrPzogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGVudW0gQUlUYWJsZUFyZWFUeXBlIHtcbiAgICBncmlkID0gJ2dyaWQnLFxuICAgIG5vbmUgPSAnbm9uZSdcbn1cblxuZXhwb3J0IHR5cGUgQUlUYWJsZVBvaW50UG9zaXRpb24gPSB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICBhcmVhVHlwZTogQUlUYWJsZUFyZWFUeXBlO1xuICAgIHRhcmdldE5hbWU6IHN0cmluZztcbiAgICByZWFsVGFyZ2V0TmFtZTogc3RyaW5nO1xuICAgIHJvd0luZGV4OiBudW1iZXI7XG4gICAgY29sdW1uSW5kZXg6IG51bWJlcjtcbiAgICBvZmZzZXRUb3A6IG51bWJlcjtcbiAgICBvZmZzZXRMZWZ0OiBudW1iZXI7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVFZGl0UG9zaXRpb24ge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlT3BlbkVkaXRPcHRpb25zIHtcbiAgICByZWNvcmRJZDogc3RyaW5nO1xuICAgIGZpZWxkSWQ6IHN0cmluZztcbiAgICBjb29yZGluYXRlOiBDb29yZGluYXRlO1xuICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzO1xuICAgIGNvbnRhaW5lcj86IEhUTUxEaXZFbGVtZW50O1xuICAgIGlzSG92ZXJFZGl0PzogYm9vbGVhbjtcbiAgICB1cGRhdGVGaWVsZFZhbHVlOiAob3B0aW9uczogVXBkYXRlRmllbGRWYWx1ZU9wdGlvbnM8YW55PikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlQ29udGV4dCB7XG4gICAgbGluZWFyUm93czogU2lnbmFsPEFJVGFibGVMaW5lYXJSb3dbXT47XG4gICAgcG9pbnRQb3NpdGlvbjogV3JpdGFibGVTaWduYWw8QUlUYWJsZVBvaW50UG9zaXRpb24+O1xuICAgIHNjcm9sbFN0YXRlOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlU2Nyb2xsU3RhdGU+O1xuICAgIHNjcm9sbEFjdGlvbjogKG9wdGlvbnM6IFNjcm9sbEFjdGlvbk9wdGlvbnMpID0+IHZvaWQ7XG4gICAgdmlzaWJsZUNvbHVtbnNJbmRleE1hcDogU2lnbmFsPE1hcDxzdHJpbmcsIG51bWJlcj4+O1xuICAgIHZpc2libGVSb3dzSW5kZXhNYXA6IFNpZ25hbDxNYXA8c3RyaW5nLCBudW1iZXI+PjtcbiAgICBmcm96ZW5Db2x1bW5Db3VudDogU2lnbmFsPG51bWJlcj47XG4gICAgcmVmZXJlbmNlczogU2lnbmFsPEFJVGFibGVSZWZlcmVuY2VzPjtcbiAgICBhaUZpZWxkQ29uZmlnOiBTaWduYWw8QUlGaWVsZENvbmZpZyB8IHVuZGVmaW5lZD47XG59XG5cbmV4cG9ydCBlbnVtIEFJVGFibGVTZWxlY3RBbGxTdGF0ZSB7XG4gICAgYWxsID0gJ2FsbCcsXG4gICAgcGFydGlhbCA9ICdwYXJ0aWFsJyxcbiAgICBub25lID0gJ25vbmUnXG59XG4iXX0=
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { signal, computed, output, inject, ElementRef, Component, ChangeDetectionStrategy, Input, EventEmitter, Output, ChangeDetectorRef, ViewChild, HostListener, Pipe, input, Renderer2, model, booleanAttribute, Injectable, DestroyRef, NgZone, InjectionToken, effect, ViewContainerRef, viewChild, afterNextRender } from '@angular/core';
|
2
|
+
import { signal, computed, output, inject, ElementRef, Component, ChangeDetectionStrategy, Input, EventEmitter, Output, ChangeDetectorRef, ViewChild, HostListener, Pipe, input, Renderer2, model, booleanAttribute, Injectable, DestroyRef, NgZone, InjectionToken, effect, ViewContainerRef, viewChild, afterNextRender, untracked } from '@angular/core';
|
3
3
|
import * as i1$1 from 'ngx-tethys/popover';
|
4
4
|
import { ThyPopoverRef, ThyPopover, ThyPopoverModule } from 'ngx-tethys/popover';
|
5
5
|
import ObjectID from 'bson-objectid';
|
@@ -340,6 +340,12 @@ var AITableAreaType;
|
|
340
340
|
AITableAreaType["grid"] = "grid";
|
341
341
|
AITableAreaType["none"] = "none";
|
342
342
|
})(AITableAreaType || (AITableAreaType = {}));
|
343
|
+
var AITableSelectAllState;
|
344
|
+
(function (AITableSelectAllState) {
|
345
|
+
AITableSelectAllState["all"] = "all";
|
346
|
+
AITableSelectAllState["partial"] = "partial";
|
347
|
+
AITableSelectAllState["none"] = "none";
|
348
|
+
})(AITableSelectAllState || (AITableSelectAllState = {}));
|
343
349
|
|
344
350
|
var AITableRowType;
|
345
351
|
(function (AITableRowType) {
|
@@ -707,7 +713,8 @@ function createAITable(records, fields) {
|
|
707
713
|
selectedRecords: new Set(),
|
708
714
|
selectedFields: new Set(),
|
709
715
|
selectedCells: new Set(),
|
710
|
-
activeCell: null
|
716
|
+
activeCell: null,
|
717
|
+
selectAllState: AITableSelectAllState.none
|
711
718
|
}),
|
712
719
|
keywordsMatchedCells: signal(new Set()),
|
713
720
|
recordsMap: computed(() => {
|
@@ -801,7 +808,7 @@ const AITableQueries = {
|
|
801
808
|
|
802
809
|
class RendererContext {
|
803
810
|
constructor(options) {
|
804
|
-
const { linearRows, pointPosition, scrollState, visibleColumnsIndexMap, visibleRowsIndexMap, frozenColumnCount, references, scrollAction } = options;
|
811
|
+
const { linearRows, pointPosition, scrollState, visibleColumnsIndexMap, visibleRowsIndexMap, frozenColumnCount, references, aiFieldConfig, scrollAction } = options;
|
805
812
|
this.linearRows = linearRows;
|
806
813
|
this.pointPosition = pointPosition;
|
807
814
|
this.scrollState = scrollState;
|
@@ -810,6 +817,7 @@ class RendererContext {
|
|
810
817
|
this.visibleRowsIndexMap = visibleRowsIndexMap;
|
811
818
|
this.frozenColumnCount = frozenColumnCount;
|
812
819
|
this.references = references;
|
820
|
+
this.aiFieldConfig = aiFieldConfig;
|
813
821
|
}
|
814
822
|
setPointPosition(position) {
|
815
823
|
const oldPosition = this.pointPosition();
|
@@ -1565,7 +1573,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
1565
1573
|
}] } });
|
1566
1574
|
|
1567
1575
|
class AITableGridSelectionService {
|
1568
|
-
constructor() {
|
1576
|
+
constructor() {
|
1577
|
+
this.selectAllState = computed(() => {
|
1578
|
+
const selectedRecords = this.aiTable.selection().selectedRecords;
|
1579
|
+
return selectedRecords.size === this.aiTable.records().length
|
1580
|
+
? AITableSelectAllState.all
|
1581
|
+
: selectedRecords.size === 0
|
1582
|
+
? AITableSelectAllState.none
|
1583
|
+
: AITableSelectAllState.partial;
|
1584
|
+
});
|
1585
|
+
}
|
1569
1586
|
initialize(aiTable) {
|
1570
1587
|
this.aiTable = aiTable;
|
1571
1588
|
}
|
@@ -1574,7 +1591,8 @@ class AITableGridSelectionService {
|
|
1574
1591
|
selectedRecords: new Set(),
|
1575
1592
|
selectedFields: new Set(),
|
1576
1593
|
selectedCells: new Set(),
|
1577
|
-
activeCell: null
|
1594
|
+
activeCell: null,
|
1595
|
+
selectAllState: AITableSelectAllState.none
|
1578
1596
|
});
|
1579
1597
|
}
|
1580
1598
|
setActiveCell(activeCell) {
|
@@ -1594,19 +1612,31 @@ class AITableGridSelectionService {
|
|
1594
1612
|
else {
|
1595
1613
|
this.aiTable.selection().selectedRecords.add(recordId);
|
1596
1614
|
}
|
1615
|
+
const selectedRecords = this.aiTable.selection().selectedRecords;
|
1597
1616
|
this.aiTable.selection.set({
|
1598
|
-
selectedRecords:
|
1617
|
+
selectedRecords: selectedRecords,
|
1599
1618
|
selectedFields: new Set(),
|
1600
1619
|
selectedCells: new Set(),
|
1601
|
-
activeCell: null
|
1620
|
+
activeCell: null,
|
1621
|
+
selectAllState: this.selectAllState()
|
1602
1622
|
});
|
1603
1623
|
}
|
1604
1624
|
toggleSelectAll(checked) {
|
1605
|
-
this.clearSelection();
|
1606
1625
|
if (checked) {
|
1607
|
-
this.aiTable.records().
|
1608
|
-
this.
|
1609
|
-
|
1626
|
+
if (this.aiTable.records().length === 0) {
|
1627
|
+
this.aiTable.selection.set({
|
1628
|
+
...this.aiTable.selection(),
|
1629
|
+
selectAllState: AITableSelectAllState.all
|
1630
|
+
});
|
1631
|
+
}
|
1632
|
+
else {
|
1633
|
+
this.aiTable.records().forEach((item) => {
|
1634
|
+
this.selectRecord(item._id);
|
1635
|
+
});
|
1636
|
+
}
|
1637
|
+
}
|
1638
|
+
else {
|
1639
|
+
this.clearSelection();
|
1610
1640
|
}
|
1611
1641
|
}
|
1612
1642
|
updateSelect(event) {
|
@@ -3042,6 +3072,10 @@ class AITableGridEventService {
|
|
3042
3072
|
});
|
3043
3073
|
if (this.cellEditorPopoverRef) {
|
3044
3074
|
const wheelEvent = fromEvent(this.cellEditorPopoverRef.componentInstance.elementRef.nativeElement, 'wheel').subscribe((event) => {
|
3075
|
+
const field = aiTable.fieldsMap()[fieldId];
|
3076
|
+
if (field.type === AITableFieldType.text || field.type === AITableFieldType.richText) {
|
3077
|
+
return;
|
3078
|
+
}
|
3045
3079
|
event.preventDefault();
|
3046
3080
|
this.aiTable.context?.scrollAction({
|
3047
3081
|
deltaX: event.deltaX,
|
@@ -5404,20 +5438,21 @@ class CellDrawer extends Drawer {
|
|
5404
5438
|
renderCellRate(render, ctx) {
|
5405
5439
|
const { x, y, transformValue: _cellValue } = render;
|
5406
5440
|
const max = 5;
|
5407
|
-
const cellValue = _cellValue
|
5441
|
+
const cellValue = _cellValue;
|
5408
5442
|
const size = AI_TABLE_CELL_EMOJI_SIZE;
|
5443
|
+
const isEmpty = isNil(cellValue);
|
5409
5444
|
return [...Array(max).keys()].map((item, index) => {
|
5410
5445
|
const value = index + 1;
|
5411
5446
|
const checked = value <= cellValue;
|
5412
5447
|
const iconX = index * size + AI_TABLE_CELL_PADDING + index * AI_TABLE_CELL_EMOJI_PADDING;
|
5413
5448
|
const iconY = (AI_TABLE_ROW_BLANK_HEIGHT - size) / 2;
|
5414
|
-
if (ctx && checked) {
|
5449
|
+
if (ctx && (checked || isEmpty)) {
|
5415
5450
|
this.path({
|
5416
5451
|
x: x + iconX,
|
5417
5452
|
y: y + iconY,
|
5418
5453
|
size: 22,
|
5419
5454
|
data: StarFill,
|
5420
|
-
fill: this.colors.waring,
|
5455
|
+
fill: isEmpty ? this.colors.gray100 : this.colors.waring,
|
5421
5456
|
scaleX: 1.14,
|
5422
5457
|
scaleY: 1.14
|
5423
5458
|
});
|
@@ -5427,8 +5462,11 @@ class CellDrawer extends Drawer {
|
|
5427
5462
|
renderCellProgress(render, ctx) {
|
5428
5463
|
const { x, y, transformValue, columnWidth, style } = render;
|
5429
5464
|
const colors = AITable.getColors();
|
5430
|
-
|
5431
|
-
if (
|
5465
|
+
let cellValue = transformValue;
|
5466
|
+
if (isNil(cellValue)) {
|
5467
|
+
cellValue = 0;
|
5468
|
+
}
|
5469
|
+
if (!___default.isNumber(cellValue)) {
|
5432
5470
|
return;
|
5433
5471
|
}
|
5434
5472
|
const width = columnWidth - 2 * AI_TABLE_CELL_PADDING - AI_TABLE_PROGRESS_TEXT_Width;
|
@@ -5447,7 +5485,7 @@ class CellDrawer extends Drawer {
|
|
5447
5485
|
fill: colors.gray200
|
5448
5486
|
});
|
5449
5487
|
// 计算并绘制进度
|
5450
|
-
const progressWidth = (
|
5488
|
+
const progressWidth = (cellValue / 100) * width;
|
5451
5489
|
this.rect({
|
5452
5490
|
x: x + offsetX,
|
5453
5491
|
y: y + offsetY,
|
@@ -5459,7 +5497,7 @@ class CellDrawer extends Drawer {
|
|
5459
5497
|
this.text({
|
5460
5498
|
x: x + offsetX + width + AI_TABLE_TEXT_GAP,
|
5461
5499
|
y: y + textOffsetY,
|
5462
|
-
text: `${
|
5500
|
+
text: `${cellValue}%`,
|
5463
5501
|
fillStyle: colors.gray800
|
5464
5502
|
});
|
5465
5503
|
}
|
@@ -5563,6 +5601,18 @@ const cellDrawer = new CellDrawer();
|
|
5563
5601
|
* 它继承自 Layout 类,包含了用于绘制行中单元格(尤其是首列和尾列)的几个方法
|
5564
5602
|
*/
|
5565
5603
|
class RecordRowLayout extends Layout {
|
5604
|
+
renderAddFieldBlank({ isHoverRow, isCheckedRow }) {
|
5605
|
+
super.renderAddFieldBlank({ isHoverRow, isCheckedRow });
|
5606
|
+
const rowHeight = this.rowHeight;
|
5607
|
+
const startX = this.x + this.columnWidth;
|
5608
|
+
const lineWidth = this.containerWidth - startX < AI_TABLE_FIELD_ADD_BUTTON_WIDTH ? AI_TABLE_FIELD_ADD_BUTTON_WIDTH : this.containerWidth - startX;
|
5609
|
+
this.line({
|
5610
|
+
x: startX,
|
5611
|
+
y: this.y,
|
5612
|
+
points: [0, rowHeight, lineWidth, rowHeight],
|
5613
|
+
stroke: this.colors.gray200
|
5614
|
+
});
|
5615
|
+
}
|
5566
5616
|
// 首列
|
5567
5617
|
renderFirstCell({ row, style, isHoverRow, isCheckedRow }) {
|
5568
5618
|
if (!this.isFirst)
|
@@ -5611,6 +5661,9 @@ class RecordRowLayout extends Layout {
|
|
5611
5661
|
verticalAlign: DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE
|
5612
5662
|
});
|
5613
5663
|
}
|
5664
|
+
if (this.isLast) {
|
5665
|
+
this.renderAddFieldBlank({ isHoverRow, isCheckedRow });
|
5666
|
+
}
|
5614
5667
|
}
|
5615
5668
|
// 尾列
|
5616
5669
|
renderLastCell({ style, isHoverRow, isCheckedRow }) {
|
@@ -5627,17 +5680,7 @@ class RecordRowLayout extends Layout {
|
|
5627
5680
|
fill: fill || colors.white,
|
5628
5681
|
stroke: stroke || colors.gray200
|
5629
5682
|
});
|
5630
|
-
|
5631
|
-
super.renderAddFieldBlank({ isHoverRow, isCheckedRow });
|
5632
|
-
const rowHeight = this.rowHeight;
|
5633
|
-
const startX = this.x + this.columnWidth;
|
5634
|
-
const lineWidth = this.containerWidth - startX < AI_TABLE_FIELD_ADD_BUTTON_WIDTH ? AI_TABLE_FIELD_ADD_BUTTON_WIDTH : this.containerWidth - startX;
|
5635
|
-
this.line({
|
5636
|
-
x: startX,
|
5637
|
-
y: this.y,
|
5638
|
-
points: [0, rowHeight, lineWidth, rowHeight],
|
5639
|
-
stroke: this.colors.gray200
|
5640
|
-
});
|
5683
|
+
this.renderAddFieldBlank({ isHoverRow, isCheckedRow });
|
5641
5684
|
}
|
5642
5685
|
// 绘制中间的普通单元格
|
5643
5686
|
renderCommonCell({ style }) {
|
@@ -6140,6 +6183,11 @@ const createColumnHeads = (config) => {
|
|
6140
6183
|
};
|
6141
6184
|
};
|
6142
6185
|
const fieldHeads = [];
|
6186
|
+
const fieldMenus = config.aiTable.context?.aiFieldConfig()?.fieldMenus || [];
|
6187
|
+
let noMoreIcon = false;
|
6188
|
+
if (fieldMenus.length === 0) {
|
6189
|
+
noMoreIcon = true;
|
6190
|
+
}
|
6143
6191
|
for (let columnIndex = columnStartIndex; columnIndex <= columnStopIndex; columnIndex++) {
|
6144
6192
|
if (columnIndex > columnCount - 1)
|
6145
6193
|
break;
|
@@ -6158,7 +6206,7 @@ const createColumnHeads = (config) => {
|
|
6158
6206
|
height: fieldHeadHeight,
|
6159
6207
|
field,
|
6160
6208
|
stroke: columnIndex === 0 ? colors.transparent : undefined,
|
6161
|
-
iconVisible,
|
6209
|
+
iconVisible: noMoreIcon ? false : iconVisible,
|
6162
6210
|
isSelected,
|
6163
6211
|
isHoverIcon
|
6164
6212
|
};
|
@@ -6174,8 +6222,8 @@ class AITableFrozenColumnHeads {
|
|
6174
6222
|
return this.config().coordinate;
|
6175
6223
|
});
|
6176
6224
|
this.isChecked = computed(() => {
|
6177
|
-
|
6178
|
-
return selection().
|
6225
|
+
// 目前只需要展示全部选中和空的状态
|
6226
|
+
return this.config().aiTable.selection().selectAllState === AITableSelectAllState.all;
|
6179
6227
|
});
|
6180
6228
|
this.fieldHeadHeight = computed(() => {
|
6181
6229
|
return this.coordinate().rowInitSize;
|
@@ -6889,6 +6937,24 @@ class AITableGrid extends AITableGridBase {
|
|
6889
6937
|
effect(() => {
|
6890
6938
|
this.setKeywordsMatchedCells();
|
6891
6939
|
}, { allowSignalWrites: true });
|
6940
|
+
effect(() => {
|
6941
|
+
const recordIdSet = new Set(this.aiTable.records().map((item) => item._id));
|
6942
|
+
untracked(() => {
|
6943
|
+
const selectedRecords = this.aiTable.selection().selectedRecords;
|
6944
|
+
for (const selectedRecordId of selectedRecords.values()) {
|
6945
|
+
if (!recordIdSet.has(selectedRecordId)) {
|
6946
|
+
selectedRecords.delete(selectedRecordId);
|
6947
|
+
}
|
6948
|
+
}
|
6949
|
+
this.aiTable.selection.update((item) => {
|
6950
|
+
return {
|
6951
|
+
...item,
|
6952
|
+
selectedRecords,
|
6953
|
+
selectAllState: this.aiTableGridSelectionService.selectAllState()
|
6954
|
+
};
|
6955
|
+
});
|
6956
|
+
});
|
6957
|
+
}, { allowSignalWrites: true });
|
6892
6958
|
}
|
6893
6959
|
ngOnInit() {
|
6894
6960
|
super.ngOnInit();
|
@@ -6906,6 +6972,7 @@ class AITableGrid extends AITableGridBase {
|
|
6906
6972
|
scrollState: signal(DEFAULT_SCROLL_STATE),
|
6907
6973
|
frozenColumnCount: this.frozenColumnCount,
|
6908
6974
|
references: this.aiReferences,
|
6975
|
+
aiFieldConfig: this.aiFieldConfig,
|
6909
6976
|
scrollAction: this.scrollAction
|
6910
6977
|
});
|
6911
6978
|
}
|
@@ -7034,7 +7101,7 @@ class AITableGrid extends AITableGridBase {
|
|
7034
7101
|
return;
|
7035
7102
|
}
|
7036
7103
|
case AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX: {
|
7037
|
-
const isChecked = this.aiTable.selection().
|
7104
|
+
const isChecked = this.aiTable.selection().selectAllState === AITableSelectAllState.all;
|
7038
7105
|
this.toggleSelectAll(!isChecked);
|
7039
7106
|
return;
|
7040
7107
|
}
|
@@ -7223,5 +7290,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
7223
7290
|
* Generated bundle index. Do not edit.
|
7224
7291
|
*/
|
7225
7292
|
|
7226
|
-
export { AITable, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableCheckType, AITableContextMenu, AITableDomGrid, AITableFieldIsMultiplePipe, AITableFieldSetting, AITableFieldType, AITableFilterOperation, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridSelectionService, AITableMemberType, AITableMouseDownType, AITableQueries, AITableRenderer, AITableRowColumnType, AITableRowType, AITableSelectOptionStyle, AITableStatType, AI_TABLE_ACTION_COMMON_SIZE, AI_TABLE_BLANK, AI_TABLE_CELL, AI_TABLE_CELL_ACTIVE_BORDER_WIDTH, AI_TABLE_CELL_ADD_ITEM_BUTTON_SIZE, AI_TABLE_CELL_BORDER, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE_OFFSET, AI_TABLE_CELL_EMOJI_PADDING, AI_TABLE_CELL_EMOJI_SIZE, AI_TABLE_CELL_MAX_ROW_COUNT, AI_TABLE_CELL_MEMBER_ITEM_HEIGHT, AI_TABLE_CELL_MEMBER_ITEM_PADDING, AI_TABLE_CELL_MEMBER_MAX_HEIGHT, AI_TABLE_CELL_MULTI_DOT_RADIUS, AI_TABLE_CELL_MULTI_ITEM_MARGIN_LEFT, AI_TABLE_CELL_MULTI_ITEM_MARGIN_TOP, AI_TABLE_CELL_MULTI_ITEM_MIN_WIDTH, AI_TABLE_CELL_MULTI_PADDING_LEFT, AI_TABLE_CELL_MULTI_PADDING_TOP, AI_TABLE_CELL_PADDING, AI_TABLE_COMMON_FONT_SIZE, AI_TABLE_DEFAULT_COLUMN_WIDTH, AI_TABLE_DOT_RADIUS, AI_TABLE_FIELD_ADD_BUTTON, AI_TABLE_FIELD_ADD_BUTTON_WIDTH, AI_TABLE_FIELD_HEAD, AI_TABLE_FIELD_HEAD_HEIGHT, AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE, AI_TABLE_FIELD_HEAD_MORE, AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX, AI_TABLE_FIELD_HEAD_TEXT_MIN_WIDTH, AI_TABLE_GRID_FIELD_SERVICE_MAP, AI_TABLE_ICON_COMMON_SIZE, AI_TABLE_MEMBER_AVATAR_SIZE, AI_TABLE_MEMBER_ITEM_AVATAR_MARGIN_RIGHT, AI_TABLE_MEMBER_ITEM_PADDING_RIGHT, AI_TABLE_MIN_TEXT_WIDTH, AI_TABLE_OFFSET, AI_TABLE_OPTION_ITEM_FONT_SIZE, AI_TABLE_OPTION_ITEM_HEIGHT, AI_TABLE_OPTION_ITEM_PADDING, AI_TABLE_OPTION_ITEM_RADIUS, AI_TABLE_PIECE_RADIUS, AI_TABLE_PIECE_WIDTH, AI_TABLE_POPOVER_LEFT_OFFSET, AI_TABLE_PREVENT_CLEAR_SELECTION_CLASS, AI_TABLE_PROGRESS_BAR_HEIGHT, AI_TABLE_PROGRESS_BAR_RADIUS, AI_TABLE_PROGRESS_TEXT_Width, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, AI_TABLE_ROW_HEAD, AI_TABLE_ROW_HEAD_SIZE, AI_TABLE_ROW_HEAD_WIDTH, AI_TABLE_ROW_HEIGHT, AI_TABLE_ROW_SELECT_CHECKBOX, AI_TABLE_SCROLL_BAR_PADDING, AI_TABLE_TAG_FONT_SIZE, AI_TABLE_TAG_PADDING, AI_TABLE_TEXT_GAP, AbstractEditCellEditor, AddOutlinedPath, Check, Colors, ColumnCalendarFilledPath, ColumnLinkOutlinedPath, ColumnMemberFilledPath, ColumnMultipleFillPath, ColumnNumberFilledPath, ColumnProgressFilledPath, ColumnRatingFilledPath, ColumnSelectFilledPath, ColumnTextFilledPath, Coordinate, DBL_CLICK_EDIT_TYPE, DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE, DEFAULT_FONT_STYLE, DEFAULT_FONT_WEIGHT, DEFAULT_ICON_SHAPE, DEFAULT_ICON_SIZE, DEFAULT_POINT_POSITION, DEFAULT_SCROLL_STATE, DEFAULT_TEXT_ALIGN_CENTER, DEFAULT_TEXT_ALIGN_LEFT, DEFAULT_TEXT_ALIGN_RIGHT, DEFAULT_TEXT_DECORATION, DEFAULT_TEXT_ELLIPSIS, DEFAULT_TEXT_FILL, DEFAULT_TEXT_LINE_HEIGHT, DEFAULT_TEXT_LISTENING, DEFAULT_TEXT_MAX_CACHE, DEFAULT_TEXT_MAX_HEIGHT, DEFAULT_TEXT_SCALE, DEFAULT_TEXT_TRANSFORMS_ENABLED, DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE, DEFAULT_TEXT_VERTICAL_ALIGN_TOP, DEFAULT_TEXT_WRAP, DEFAULT_WRAP_TEXT_MAX_ROW, DateCellEditorComponent, DepartmentOutlinedPath, Direction, FONT_SIZE_SM, FieldOptions, GRID_CELL_EDITOR_MAP, IsSelectRecordPipe, LinkCellEditorComponent, MIN_COLUMN_WIDTH, MOUSEOVER_EDIT_TYPE, MemberSettingPipe, MoreStandOutlinedPath, NumberCellEditorComponent, ProgressEditorComponent, RatingCellEditorComponent, RendererContext, RowHeight, SelectCellEditorComponent, SelectOptionComponent, SelectOptionPipe, SelectOptionsPipe, SelectSettingPipe, StarFill, TextCellEditorComponent, TextMeasure, Unchecked, UserPipe, ViewOperationMap, WebOutlinedPath, buildGridData, buildGridLinearRows, castToString, compareNumber, compareString, createAITable, createActiveCellBorder, createCells, createDefaultField, createDefaultFieldName, generateTargetName, getAvatarBgColor, getAvatarShortName, getCellEditorBorderSpace, getCellHorizontalPosition, getColumnIndicesSizeMap, getDefaultFieldValue, getDetailByTargetName, getEditorBoxOffset, getEditorSpace, getFieldOptionByField, getHoverEditorBoxOffset, getHoverEditorSpace, getMousePosition, getPlaceHolderCellsConfigs, getTargetName, getTextWidth, getVisibleRangeInfo, handleMouseStyle, hasIntersect, idCreator, idsCreator, imageCache, isArrayField, isCellMatchKeywords, isEmpty, isMac, isNumberFiled, isSameFieldOption, isSystemField, isWindows, isWindowsOS, isWithinFrozenColumnBoundary, scrollMax, setMouseStyle, shortIdCreator, shortIdsCreator, stringInclude, textDataCache, transformCellValue, zhIntlCollator };
|
7293
|
+
export { AITable, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableCheckType, AITableContextMenu, AITableDomGrid, AITableFieldIsMultiplePipe, AITableFieldSetting, AITableFieldType, AITableFilterOperation, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridSelectionService, AITableMemberType, AITableMouseDownType, AITableQueries, AITableRenderer, AITableRowColumnType, AITableRowType, AITableSelectAllState, AITableSelectOptionStyle, AITableStatType, AI_TABLE_ACTION_COMMON_SIZE, AI_TABLE_BLANK, AI_TABLE_CELL, AI_TABLE_CELL_ACTIVE_BORDER_WIDTH, AI_TABLE_CELL_ADD_ITEM_BUTTON_SIZE, AI_TABLE_CELL_BORDER, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE_OFFSET, AI_TABLE_CELL_EMOJI_PADDING, AI_TABLE_CELL_EMOJI_SIZE, AI_TABLE_CELL_MAX_ROW_COUNT, AI_TABLE_CELL_MEMBER_ITEM_HEIGHT, AI_TABLE_CELL_MEMBER_ITEM_PADDING, AI_TABLE_CELL_MEMBER_MAX_HEIGHT, AI_TABLE_CELL_MULTI_DOT_RADIUS, AI_TABLE_CELL_MULTI_ITEM_MARGIN_LEFT, AI_TABLE_CELL_MULTI_ITEM_MARGIN_TOP, AI_TABLE_CELL_MULTI_ITEM_MIN_WIDTH, AI_TABLE_CELL_MULTI_PADDING_LEFT, AI_TABLE_CELL_MULTI_PADDING_TOP, AI_TABLE_CELL_PADDING, AI_TABLE_COMMON_FONT_SIZE, AI_TABLE_DEFAULT_COLUMN_WIDTH, AI_TABLE_DOT_RADIUS, AI_TABLE_FIELD_ADD_BUTTON, AI_TABLE_FIELD_ADD_BUTTON_WIDTH, AI_TABLE_FIELD_HEAD, AI_TABLE_FIELD_HEAD_HEIGHT, AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE, AI_TABLE_FIELD_HEAD_MORE, AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX, AI_TABLE_FIELD_HEAD_TEXT_MIN_WIDTH, AI_TABLE_GRID_FIELD_SERVICE_MAP, AI_TABLE_ICON_COMMON_SIZE, AI_TABLE_MEMBER_AVATAR_SIZE, AI_TABLE_MEMBER_ITEM_AVATAR_MARGIN_RIGHT, AI_TABLE_MEMBER_ITEM_PADDING_RIGHT, AI_TABLE_MIN_TEXT_WIDTH, AI_TABLE_OFFSET, AI_TABLE_OPTION_ITEM_FONT_SIZE, AI_TABLE_OPTION_ITEM_HEIGHT, AI_TABLE_OPTION_ITEM_PADDING, AI_TABLE_OPTION_ITEM_RADIUS, AI_TABLE_PIECE_RADIUS, AI_TABLE_PIECE_WIDTH, AI_TABLE_POPOVER_LEFT_OFFSET, AI_TABLE_PREVENT_CLEAR_SELECTION_CLASS, AI_TABLE_PROGRESS_BAR_HEIGHT, AI_TABLE_PROGRESS_BAR_RADIUS, AI_TABLE_PROGRESS_TEXT_Width, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, AI_TABLE_ROW_HEAD, AI_TABLE_ROW_HEAD_SIZE, AI_TABLE_ROW_HEAD_WIDTH, AI_TABLE_ROW_HEIGHT, AI_TABLE_ROW_SELECT_CHECKBOX, AI_TABLE_SCROLL_BAR_PADDING, AI_TABLE_TAG_FONT_SIZE, AI_TABLE_TAG_PADDING, AI_TABLE_TEXT_GAP, AbstractEditCellEditor, AddOutlinedPath, Check, Colors, ColumnCalendarFilledPath, ColumnLinkOutlinedPath, ColumnMemberFilledPath, ColumnMultipleFillPath, ColumnNumberFilledPath, ColumnProgressFilledPath, ColumnRatingFilledPath, ColumnSelectFilledPath, ColumnTextFilledPath, Coordinate, DBL_CLICK_EDIT_TYPE, DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE, DEFAULT_FONT_STYLE, DEFAULT_FONT_WEIGHT, DEFAULT_ICON_SHAPE, DEFAULT_ICON_SIZE, DEFAULT_POINT_POSITION, DEFAULT_SCROLL_STATE, DEFAULT_TEXT_ALIGN_CENTER, DEFAULT_TEXT_ALIGN_LEFT, DEFAULT_TEXT_ALIGN_RIGHT, DEFAULT_TEXT_DECORATION, DEFAULT_TEXT_ELLIPSIS, DEFAULT_TEXT_FILL, DEFAULT_TEXT_LINE_HEIGHT, DEFAULT_TEXT_LISTENING, DEFAULT_TEXT_MAX_CACHE, DEFAULT_TEXT_MAX_HEIGHT, DEFAULT_TEXT_SCALE, DEFAULT_TEXT_TRANSFORMS_ENABLED, DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE, DEFAULT_TEXT_VERTICAL_ALIGN_TOP, DEFAULT_TEXT_WRAP, DEFAULT_WRAP_TEXT_MAX_ROW, DateCellEditorComponent, DepartmentOutlinedPath, Direction, FONT_SIZE_SM, FieldOptions, GRID_CELL_EDITOR_MAP, IsSelectRecordPipe, LinkCellEditorComponent, MIN_COLUMN_WIDTH, MOUSEOVER_EDIT_TYPE, MemberSettingPipe, MoreStandOutlinedPath, NumberCellEditorComponent, ProgressEditorComponent, RatingCellEditorComponent, RendererContext, RowHeight, SelectCellEditorComponent, SelectOptionComponent, SelectOptionPipe, SelectOptionsPipe, SelectSettingPipe, StarFill, TextCellEditorComponent, TextMeasure, Unchecked, UserPipe, ViewOperationMap, WebOutlinedPath, buildGridData, buildGridLinearRows, castToString, compareNumber, compareString, createAITable, createActiveCellBorder, createCells, createDefaultField, createDefaultFieldName, generateTargetName, getAvatarBgColor, getAvatarShortName, getCellEditorBorderSpace, getCellHorizontalPosition, getColumnIndicesSizeMap, getDefaultFieldValue, getDetailByTargetName, getEditorBoxOffset, getEditorSpace, getFieldOptionByField, getHoverEditorBoxOffset, getHoverEditorSpace, getMousePosition, getPlaceHolderCellsConfigs, getTargetName, getTextWidth, getVisibleRangeInfo, handleMouseStyle, hasIntersect, idCreator, idsCreator, imageCache, isArrayField, isCellMatchKeywords, isEmpty, isMac, isNumberFiled, isSameFieldOption, isSystemField, isWindows, isWindowsOS, isWithinFrozenColumnBoundary, scrollMax, setMouseStyle, shortIdCreator, shortIdsCreator, stringInclude, textDataCache, transformCellValue, zhIntlCollator };
|
7227
7294
|
//# sourceMappingURL=ai-table-grid.mjs.map
|