@ai-table/grid 0.0.73 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular-konva/components/container.component.d.ts.map +1 -1
- package/angular-konva/components/shape.component.d.ts.map +1 -1
- package/angular-konva/components/stage.component.d.ts.map +1 -1
- package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
- package/components/cell-editors/date/date-editor.component.d.ts.map +1 -1
- package/components/cell-editors/link/edit-link/edit-link.component.d.ts.map +1 -1
- package/components/cell-editors/link/link-editor.component.d.ts.map +1 -1
- package/components/cell-editors/number/number-editor.component.d.ts.map +1 -1
- package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
- package/components/cell-editors/text/text-editor.component.d.ts.map +1 -1
- package/components/cell-views/select/option.component.d.ts.map +1 -1
- package/components/context-menu/context-menu.component.d.ts.map +1 -1
- package/components/drag/drag.component.d.ts.map +1 -1
- package/components/field-menu/field-menu.component.d.ts.map +1 -1
- package/components/field-setting/field-setting.component.d.ts.map +1 -1
- package/core/context.d.ts +2 -0
- package/core/context.d.ts.map +1 -1
- package/core/types/ai-table.d.ts.map +1 -1
- package/core/utils/field.d.ts.map +1 -1
- package/core/utils/queries.d.ts.map +1 -1
- package/core/utils/short-id.d.ts.map +1 -1
- package/dom-grid.component.d.ts.map +1 -1
- package/fesm2022/ai-table-grid.mjs +347 -317
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid-base.component.d.ts +3 -1
- package/grid-base.component.d.ts.map +1 -1
- package/grid.component.d.ts +1 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +3 -5
- package/pipes/grid.pipe.d.ts.map +1 -1
- package/renderer/components/action-icon.component.d.ts.map +1 -1
- package/renderer/components/add-field-column.component.d.ts.map +1 -1
- package/renderer/components/cells/attachment.component.d.ts.map +1 -1
- package/renderer/components/cells/link.component.d.ts.map +1 -1
- package/renderer/components/cells/progress.component.d.ts.map +1 -1
- package/renderer/components/cells/rate.component.d.ts.map +1 -1
- package/renderer/components/cells/rich-text.component.d.ts.map +1 -1
- package/renderer/components/cells.component.d.ts.map +1 -1
- package/renderer/components/field-head.component.d.ts +2 -2
- package/renderer/components/field-head.component.d.ts.map +1 -1
- package/renderer/components/field-icon.component.d.ts.map +1 -1
- package/renderer/components/frozen-cells.component.d.ts.map +1 -1
- package/renderer/components/frozen-heads.component.d.ts +1 -1
- package/renderer/components/frozen-heads.component.d.ts.map +1 -1
- package/renderer/components/frozen-placeholder-cells.component.d.ts.map +1 -1
- package/renderer/components/heads.component.d.ts +1 -1
- package/renderer/components/heads.component.d.ts.map +1 -1
- package/renderer/components/hover-cell.component.d.ts.map +1 -1
- package/renderer/components/hover-row-heads.component.d.ts.map +1 -1
- package/renderer/components/icon.component.d.ts.map +1 -1
- package/renderer/components/other-rows.component.d.ts.map +1 -1
- package/renderer/components/placeholder-cells.component.d.ts.map +1 -1
- package/renderer/components/text.component.d.ts.map +1 -1
- package/renderer/creations/create-active-cell-border.d.ts.map +1 -1
- package/renderer/creations/create-cells.d.ts.map +1 -1
- package/renderer/creations/create-heads.d.ts.map +1 -1
- package/renderer/drawers/add-row-layout-drawer.d.ts +1 -1
- package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -1
- package/renderer/drawers/cell-drawer.d.ts.map +1 -1
- package/renderer/drawers/drawer.d.ts +1 -1
- package/renderer/renderer.component.d.ts +7 -4
- package/renderer/renderer.component.d.ts.map +1 -1
- package/types/cell.d.ts +2 -0
- package/types/cell.d.ts.map +1 -1
- package/types/component-config.d.ts +2 -0
- package/types/component-config.d.ts.map +1 -1
- package/types/grid.d.ts +4 -0
- package/types/grid.d.ts.map +1 -1
- package/types/row.d.ts +1 -0
- package/types/row.d.ts.map +1 -1
- package/utils/build.d.ts.map +1 -1
- package/utils/clipboard/clipboard.d.ts.map +1 -1
- package/utils/clipboard/copy.d.ts.map +1 -1
- package/utils/clipboard/paste.d.ts +5 -1
- package/utils/clipboard/paste.d.ts.map +1 -1
- package/utils/common.d.ts.map +1 -1
- package/utils/field/model/date.d.ts.map +1 -1
- package/utils/field/model/link.d.ts.map +1 -1
- package/utils/field/model/progress.d.ts.map +1 -1
- package/utils/field/model/select.d.ts +4 -1
- package/utils/field/model/select.d.ts.map +1 -1
- package/utils/field/model/text.d.ts.map +1 -1
- package/utils/get-text-width.d.ts.map +1 -1
- package/utils/i18n.d.ts +2 -0
- package/utils/i18n.d.ts.map +1 -1
- package/utils/match-keywords.d.ts.map +1 -1
- package/utils/position.d.ts.map +1 -1
- package/utils/style.d.ts.map +1 -1
- package/utils/text-measure.d.ts.map +1 -1
- package/utils/visible-range.d.ts.map +1 -1
- package/esm2022/ai-table-grid.mjs +0 -5
- package/esm2022/angular-konva/components/container.component.mjs +0 -29
- package/esm2022/angular-konva/components/container.token.mjs +0 -3
- package/esm2022/angular-konva/components/index.mjs +0 -4
- package/esm2022/angular-konva/components/shape.component.mjs +0 -142
- package/esm2022/angular-konva/components/stage.component.mjs +0 -123
- package/esm2022/angular-konva/index.mjs +0 -5
- package/esm2022/angular-konva/interfaces/component.mjs +0 -4
- package/esm2022/angular-konva/interfaces/config.mjs +0 -2
- package/esm2022/angular-konva/interfaces/event-object.mjs +0 -2
- package/esm2022/angular-konva/interfaces/index.mjs +0 -5
- package/esm2022/angular-konva/interfaces/shape.mjs +0 -42
- package/esm2022/angular-konva/utils/apply-node-props.mjs +0 -67
- package/esm2022/angular-konva/utils/common.mjs +0 -48
- package/esm2022/angular-konva/utils/index.mjs +0 -5
- package/esm2022/angular-konva/utils/types.mjs +0 -2
- package/esm2022/angular-konva/utils/update-picture.mjs +0 -7
- package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +0 -56
- package/esm2022/components/cell-editors/date/date-editor.component.mjs +0 -87
- package/esm2022/components/cell-editors/link/edit-link/edit-link.component.mjs +0 -81
- package/esm2022/components/cell-editors/link/link-editor.component.mjs +0 -122
- package/esm2022/components/cell-editors/number/number-editor.component.mjs +0 -41
- package/esm2022/components/cell-editors/select/select-editor.component.mjs +0 -74
- package/esm2022/components/cell-editors/text/text-editor.component.mjs +0 -76
- package/esm2022/components/cell-views/select/option.component.mjs +0 -28
- package/esm2022/components/context-menu/context-menu.component.mjs +0 -42
- package/esm2022/components/drag/drag.component.mjs +0 -300
- package/esm2022/components/field-menu/field-menu.component.mjs +0 -47
- package/esm2022/components/field-setting/field-setting.component.mjs +0 -142
- package/esm2022/components/index.mjs +0 -10
- package/esm2022/constants/colors.mjs +0 -19
- package/esm2022/constants/editor.mjs +0 -11
- package/esm2022/constants/file-icon.mjs +0 -342
- package/esm2022/constants/grid.mjs +0 -35
- package/esm2022/constants/icon.mjs +0 -30
- package/esm2022/constants/index.mjs +0 -7
- package/esm2022/constants/table.mjs +0 -78
- package/esm2022/constants/text.mjs +0 -23
- package/esm2022/core/constants/field.mjs +0 -107
- package/esm2022/core/context.mjs +0 -29
- package/esm2022/core/coordinate.mjs +0 -222
- package/esm2022/core/index.mjs +0 -6
- package/esm2022/core/types/ai-table.mjs +0 -57
- package/esm2022/core/types/core.mjs +0 -2
- package/esm2022/core/types/index.mjs +0 -3
- package/esm2022/core/utils/common.mjs +0 -45
- package/esm2022/core/utils/field.mjs +0 -64
- package/esm2022/core/utils/id-creator.mjs +0 -21
- package/esm2022/core/utils/index.mjs +0 -5
- package/esm2022/core/utils/queries.mjs +0 -80
- package/esm2022/core/utils/short-id.mjs +0 -53
- package/esm2022/dom-grid.component.mjs +0 -80
- package/esm2022/grid-base.component.mjs +0 -145
- package/esm2022/grid.component.mjs +0 -649
- package/esm2022/index.mjs +0 -2
- package/esm2022/pipes/grid.pipe.mjs +0 -110
- package/esm2022/pipes/index.mjs +0 -2
- package/esm2022/public-api.mjs +0 -12
- package/esm2022/renderer/components/action-icon.component.mjs +0 -117
- package/esm2022/renderer/components/add-field-column.component.mjs +0 -88
- package/esm2022/renderer/components/cells/attachment.component.mjs +0 -107
- package/esm2022/renderer/components/cells/cells.mjs +0 -6
- package/esm2022/renderer/components/cells/index.mjs +0 -7
- package/esm2022/renderer/components/cells/link.component.mjs +0 -89
- package/esm2022/renderer/components/cells/progress.component.mjs +0 -268
- package/esm2022/renderer/components/cells/rate.component.mjs +0 -153
- package/esm2022/renderer/components/cells/rich-text.component.mjs +0 -95
- package/esm2022/renderer/components/cells.component.mjs +0 -35
- package/esm2022/renderer/components/field-head.component.mjs +0 -146
- package/esm2022/renderer/components/field-icon.component.mjs +0 -72
- package/esm2022/renderer/components/frozen-cells.component.mjs +0 -36
- package/esm2022/renderer/components/frozen-heads.component.mjs +0 -214
- package/esm2022/renderer/components/frozen-placeholder-cells.component.mjs +0 -38
- package/esm2022/renderer/components/heads.component.mjs +0 -38
- package/esm2022/renderer/components/hover-cell.component.mjs +0 -104
- package/esm2022/renderer/components/hover-row-heads.component.mjs +0 -132
- package/esm2022/renderer/components/icon.component.mjs +0 -84
- package/esm2022/renderer/components/index.mjs +0 -15
- package/esm2022/renderer/components/other-rows.component.mjs +0 -68
- package/esm2022/renderer/components/placeholder-cells.component.mjs +0 -33
- package/esm2022/renderer/components/text.component.mjs +0 -67
- package/esm2022/renderer/creations/create-active-cell-border.mjs +0 -70
- package/esm2022/renderer/creations/create-cells.mjs +0 -190
- package/esm2022/renderer/creations/create-heads.mjs +0 -51
- package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +0 -98
- package/esm2022/renderer/drawers/cell-drawer.mjs +0 -673
- package/esm2022/renderer/drawers/drawer.mjs +0 -947
- package/esm2022/renderer/drawers/layout-drawer.mjs +0 -64
- package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +0 -131
- package/esm2022/renderer/index.mjs +0 -4
- package/esm2022/renderer/interfaces/hover-cell.mjs +0 -4
- package/esm2022/renderer/interfaces/index.mjs +0 -2
- package/esm2022/renderer/renderer.component.mjs +0 -197
- package/esm2022/services/event.service.mjs +0 -241
- package/esm2022/services/field.service.mjs +0 -56
- package/esm2022/services/index.mjs +0 -4
- package/esm2022/services/selection.service.mjs +0 -151
- package/esm2022/types/avatar.mjs +0 -27
- package/esm2022/types/canvas.mjs +0 -2
- package/esm2022/types/cell.mjs +0 -2
- package/esm2022/types/clipboard.mjs +0 -2
- package/esm2022/types/component-config.mjs +0 -7
- package/esm2022/types/field.mjs +0 -2
- package/esm2022/types/grid.mjs +0 -17
- package/esm2022/types/index.mjs +0 -10
- package/esm2022/types/layout.mjs +0 -2
- package/esm2022/types/row.mjs +0 -6
- package/esm2022/utils/build.mjs +0 -39
- package/esm2022/utils/cell.mjs +0 -80
- package/esm2022/utils/clear-cells.mjs +0 -23
- package/esm2022/utils/clipboard/clipboard.mjs +0 -88
- package/esm2022/utils/clipboard/copy.mjs +0 -99
- package/esm2022/utils/clipboard/extract.mjs +0 -38
- package/esm2022/utils/clipboard/index.mjs +0 -5
- package/esm2022/utils/clipboard/paste.mjs +0 -188
- package/esm2022/utils/common.mjs +0 -50
- package/esm2022/utils/field/field-operable.mjs +0 -2
- package/esm2022/utils/field/field.mjs +0 -20
- package/esm2022/utils/field/index.mjs +0 -4
- package/esm2022/utils/field/model/attachment.mjs +0 -56
- package/esm2022/utils/field/model/date.mjs +0 -141
- package/esm2022/utils/field/model/index.mjs +0 -12
- package/esm2022/utils/field/model/link.mjs +0 -56
- package/esm2022/utils/field/model/member.mjs +0 -81
- package/esm2022/utils/field/model/number.mjs +0 -59
- package/esm2022/utils/field/model/progress.mjs +0 -69
- package/esm2022/utils/field/model/rate.mjs +0 -58
- package/esm2022/utils/field/model/rich-text.mjs +0 -39
- package/esm2022/utils/field/model/select.mjs +0 -131
- package/esm2022/utils/field/model/text.mjs +0 -32
- package/esm2022/utils/field/operate.mjs +0 -73
- package/esm2022/utils/file.mjs +0 -116
- package/esm2022/utils/get-placeholder-cells.mjs +0 -66
- package/esm2022/utils/get-text-width.mjs +0 -30
- package/esm2022/utils/hover-cell.mjs +0 -25
- package/esm2022/utils/i18n.mjs +0 -87
- package/esm2022/utils/image-cache.mjs +0 -57
- package/esm2022/utils/index.mjs +0 -19
- package/esm2022/utils/match-keywords.mjs +0 -15
- package/esm2022/utils/os.mjs +0 -16
- package/esm2022/utils/position.mjs +0 -48
- package/esm2022/utils/style.mjs +0 -37
- package/esm2022/utils/text-measure.mjs +0 -122
- package/esm2022/utils/visible-range.mjs +0 -42
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, input, EventEmitter, inject, ElementRef, effect,
|
|
2
|
+
import { InjectionToken, input, EventEmitter, inject, ElementRef, effect, Output, ChangeDetectionStrategy, Component, signal, computed, output, Input, ChangeDetectorRef, ViewChild, Renderer2, Pipe, model, booleanAttribute, Injectable, DestroyRef, NgZone, ViewContainerRef, viewChild, afterNextRender, untracked } from '@angular/core';
|
|
3
3
|
import Konva from 'konva';
|
|
4
4
|
import { Shape } from 'konva/lib/Shape';
|
|
5
5
|
import { Sprite } from 'konva/lib/shapes/Sprite';
|
|
@@ -12,7 +12,7 @@ import { Arrow } from 'konva/lib/shapes/Arrow';
|
|
|
12
12
|
import { Circle } from 'konva/lib/shapes/Circle';
|
|
13
13
|
import { Ellipse } from 'konva/lib/shapes/Ellipse';
|
|
14
14
|
import { Image as Image$1 } from 'konva/lib/shapes/Image';
|
|
15
|
-
import {
|
|
15
|
+
import { Tag, Label } from 'konva/lib/shapes/Label';
|
|
16
16
|
import { Line } from 'konva/lib/shapes/Line';
|
|
17
17
|
import { Path } from 'konva/lib/shapes/Path';
|
|
18
18
|
import { Rect } from 'konva/lib/shapes/Rect';
|
|
@@ -25,12 +25,11 @@ import { Transformer } from 'konva/lib/shapes/Transformer';
|
|
|
25
25
|
import { Wedge } from 'konva/lib/shapes/Wedge';
|
|
26
26
|
import * as i1$1 from 'ngx-tethys/popover';
|
|
27
27
|
import { ThyPopoverRef, ThyPopover, ThyPopoverModule } from 'ngx-tethys/popover';
|
|
28
|
-
import { AITableFieldType, AITableRowColumnType, AITableSelectOptionStyle, DragType, isEmpty, AITableFilterOperation, AttachmentFieldBase, DateFieldBase, isDateValid, SelectFieldBase, LinkFieldBase, MemberFieldBase, NumberFieldBase, ProgressFieldBase, RateFieldBase, RichTextFieldBase, TextFieldBase, FieldModelBaseMap } from '@ai-table/utils';
|
|
28
|
+
import { AITableFieldType, AITableRowColumnType, isUndefinedOrNull, AITableSelectOptionStyle, DragType, isEmpty, AITableFilterOperation, AttachmentFieldBase, DateFieldBase, isDateValid, SelectFieldBase, LinkFieldBase, MemberFieldBase, NumberFieldBase, ProgressFieldBase, RateFieldBase, RichTextFieldBase, TextFieldBase, FieldModelBaseMap } from '@ai-table/utils';
|
|
29
29
|
import ObjectID from 'bson-objectid';
|
|
30
30
|
import { customAlphabet } from 'nanoid';
|
|
31
31
|
import * as _ from 'lodash';
|
|
32
|
-
import { isNumber, includes, values, isString
|
|
33
|
-
import { isUndefinedOrNull, isArray, TinyDate, helpers, isEmpty as isEmpty$1 } from 'ngx-tethys/util';
|
|
32
|
+
import { isNumber, includes, values, isString } from 'lodash';
|
|
34
33
|
import * as i1 from '@angular/forms';
|
|
35
34
|
import { FormsModule } from '@angular/forms';
|
|
36
35
|
import { ThyDatePicker, ThyDatePickerFormatPipe } from 'ngx-tethys/date-picker';
|
|
@@ -48,7 +47,7 @@ import { ThyFormSubmitDirective, ThyFormModule, ThyUniqueCheckValidator } from '
|
|
|
48
47
|
import { ThyNotifyService } from 'ngx-tethys/notify';
|
|
49
48
|
import { ThyInputNumber } from 'ngx-tethys/input-number';
|
|
50
49
|
import * as i1$2 from '@angular/common';
|
|
51
|
-
import { CommonModule, NgClass, NgTemplateOutlet
|
|
50
|
+
import { CommonModule, NgClass, NgTemplateOutlet } from '@angular/common';
|
|
52
51
|
import { ThyEmptyModule } from 'ngx-tethys/empty';
|
|
53
52
|
import { ThySelect, ThySelectModule } from 'ngx-tethys/select';
|
|
54
53
|
import { ThyDot } from 'ngx-tethys/dot';
|
|
@@ -66,6 +65,7 @@ import { ThyProgress } from 'ngx-tethys/progress';
|
|
|
66
65
|
import { ThyRate } from 'ngx-tethys/rate';
|
|
67
66
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
68
67
|
import { fromUnixTime, subDays } from 'date-fns';
|
|
68
|
+
import { isArray, TinyDate, helpers } from 'ngx-tethys/util';
|
|
69
69
|
import { DEFAULT_COLORS } from 'ngx-tethys/color-picker';
|
|
70
70
|
import { LRUCache } from 'lru-cache';
|
|
71
71
|
import GraphemeSplitter from 'grapheme-splitter';
|
|
@@ -274,14 +274,13 @@ class KoShape {
|
|
|
274
274
|
ngOnDestroy() {
|
|
275
275
|
this._node?.destroy();
|
|
276
276
|
}
|
|
277
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
278
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
277
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoShape, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
278
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: KoShape, isStandalone: true, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
279
279
|
}
|
|
280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoShape, decorators: [{
|
|
281
281
|
type: Component,
|
|
282
282
|
args: [{
|
|
283
283
|
selector: 'ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer',
|
|
284
|
-
standalone: true,
|
|
285
284
|
template: `<ng-content></ng-content>`,
|
|
286
285
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
287
286
|
}]
|
|
@@ -326,19 +325,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
326
325
|
}] } });
|
|
327
326
|
|
|
328
327
|
class KoContainer extends KoShape {
|
|
329
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
330
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
328
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
329
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: KoContainer, isStandalone: true, selector: "ko-layer, ko-fastlayer, ko-group", providers: [
|
|
331
330
|
{
|
|
332
331
|
provide: KO_CONTAINER_TOKEN,
|
|
333
332
|
useExisting: KoContainer
|
|
334
333
|
}
|
|
335
334
|
], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
336
335
|
}
|
|
337
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
336
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoContainer, decorators: [{
|
|
338
337
|
type: Component,
|
|
339
338
|
args: [{
|
|
340
339
|
selector: 'ko-layer, ko-fastlayer, ko-group',
|
|
341
|
-
standalone: true,
|
|
342
340
|
template: `<ng-content></ng-content>`,
|
|
343
341
|
providers: [
|
|
344
342
|
{
|
|
@@ -406,19 +404,18 @@ class KoStage {
|
|
|
406
404
|
ngOnDestroy() {
|
|
407
405
|
this._stage?.destroy();
|
|
408
406
|
}
|
|
409
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
410
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
407
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
408
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: KoStage, isStandalone: true, selector: "ko-stage", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, providers: [
|
|
411
409
|
{
|
|
412
410
|
provide: KO_CONTAINER_TOKEN,
|
|
413
411
|
useExisting: KoStage
|
|
414
412
|
}
|
|
415
413
|
], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
416
414
|
}
|
|
417
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
415
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoStage, decorators: [{
|
|
418
416
|
type: Component,
|
|
419
417
|
args: [{
|
|
420
418
|
selector: 'ko-stage',
|
|
421
|
-
standalone: true,
|
|
422
419
|
template: `<ng-content></ng-content>`,
|
|
423
420
|
providers: [
|
|
424
421
|
{
|
|
@@ -515,6 +512,8 @@ var AITableGridI18nKey;
|
|
|
515
512
|
AITableGridI18nKey["confirm"] = "confirm";
|
|
516
513
|
AITableGridI18nKey["copiedCells"] = "copiedCells";
|
|
517
514
|
AITableGridI18nKey["invalidPasteContent"] = "invalidPasteContent";
|
|
515
|
+
AITableGridI18nKey["pasteOverMaxRecords"] = "pasteOverMaxRecords";
|
|
516
|
+
AITableGridI18nKey["pasteOverMaxFields"] = "pasteOverMaxFields";
|
|
518
517
|
AITableGridI18nKey["fieldTypeText"] = "fieldTypeText";
|
|
519
518
|
AITableGridI18nKey["fieldTypeRichText"] = "fieldTypeRichText";
|
|
520
519
|
AITableGridI18nKey["fieldTypeSelect"] = "fieldTypeSelect";
|
|
@@ -550,7 +549,9 @@ const AITableI18nText = {
|
|
|
550
549
|
[AITableGridI18nKey.fieldNameDuplicate]: '列名已存在',
|
|
551
550
|
[AITableGridI18nKey.confirm]: '确定',
|
|
552
551
|
[AITableGridI18nKey.copiedCells]: '已复制 {count} 个单元格',
|
|
553
|
-
[AITableGridI18nKey.invalidPasteContent]: '粘贴内容不符合当前类型',
|
|
552
|
+
[AITableGridI18nKey.invalidPasteContent]: '粘贴内容不符合当前类型',
|
|
553
|
+
[AITableGridI18nKey.pasteOverMaxRecords]: '粘贴数据超过最大行数',
|
|
554
|
+
[AITableGridI18nKey.pasteOverMaxFields]: '粘贴数据超过最大列数',
|
|
554
555
|
[AITableGridI18nKey.fieldTypeText]: '单行文本',
|
|
555
556
|
[AITableGridI18nKey.fieldTypeRichText]: '多行文本',
|
|
556
557
|
[AITableGridI18nKey.fieldTypeSelect]: '单选',
|
|
@@ -1022,7 +1023,7 @@ function shortId(alphabet = AlphabetType.url, size = 6, quantity) {
|
|
|
1022
1023
|
else {
|
|
1023
1024
|
throw new Error(`Invalid alphabet "${alphabet}", alphabet type must be AlphabetType or string`);
|
|
1024
1025
|
}
|
|
1025
|
-
if (!
|
|
1026
|
+
if (!isUndefinedOrNull(quantity)) {
|
|
1026
1027
|
if (!isNumber(quantity)) {
|
|
1027
1028
|
throw new Error(`Invalid quantity "${quantity}", quantity type must be number`);
|
|
1028
1029
|
}
|
|
@@ -1291,7 +1292,7 @@ const AITableQueries = {
|
|
|
1291
1292
|
|
|
1292
1293
|
class RendererContext {
|
|
1293
1294
|
constructor(options) {
|
|
1294
|
-
const { rowHeadWidth, linearRows, pointPosition, scrollState, visibleColumnsIndexMap, visibleRowsIndexMap, frozenColumnCount, references, aiFieldConfig, scrollAction } = options;
|
|
1295
|
+
const { rowHeadWidth, linearRows, pointPosition, scrollState, visibleColumnsIndexMap, visibleRowsIndexMap, frozenColumnCount, references, aiFieldConfig, scrollAction, maxFields, maxRecords } = options;
|
|
1295
1296
|
this.rowHeadWidth = rowHeadWidth;
|
|
1296
1297
|
this.linearRows = linearRows;
|
|
1297
1298
|
this.pointPosition = pointPosition;
|
|
@@ -1302,6 +1303,8 @@ class RendererContext {
|
|
|
1302
1303
|
this.frozenColumnCount = frozenColumnCount;
|
|
1303
1304
|
this.references = references;
|
|
1304
1305
|
this.aiFieldConfig = aiFieldConfig;
|
|
1306
|
+
this.maxFields = maxFields;
|
|
1307
|
+
this.maxRecords = maxRecords;
|
|
1305
1308
|
}
|
|
1306
1309
|
setPointPosition(position) {
|
|
1307
1310
|
const oldPosition = this.pointPosition();
|
|
@@ -1345,15 +1348,14 @@ class AbstractEditCellEditor {
|
|
|
1345
1348
|
closePopover() {
|
|
1346
1349
|
this.thyPopoverRef?.close();
|
|
1347
1350
|
}
|
|
1348
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1349
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1351
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AbstractEditCellEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1352
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: AbstractEditCellEditor, isStandalone: true, selector: "abstract-edit-cell", inputs: { aiTable: "aiTable", fieldId: "fieldId", recordId: "recordId", references: "references" }, outputs: { updateFieldValue: "updateFieldValue" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1350
1353
|
}
|
|
1351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1354
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AbstractEditCellEditor, decorators: [{
|
|
1352
1355
|
type: Component,
|
|
1353
1356
|
args: [{
|
|
1354
1357
|
selector: 'abstract-edit-cell',
|
|
1355
1358
|
template: ``,
|
|
1356
|
-
standalone: true,
|
|
1357
1359
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
1358
1360
|
}]
|
|
1359
1361
|
}], propDecorators: { aiTable: [{
|
|
@@ -1399,8 +1401,8 @@ class DateCellEditorComponent extends AbstractEditCellEditor {
|
|
|
1399
1401
|
this.closePopover();
|
|
1400
1402
|
}
|
|
1401
1403
|
}
|
|
1402
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1403
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1404
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DateCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1405
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: DateCellEditorComponent, isStandalone: true, selector: "date-cell-editor", host: { classAttribute: "date-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
|
|
1404
1406
|
<thy-date-picker
|
|
1405
1407
|
class="h-100"
|
|
1406
1408
|
thyTimestampPrecision="seconds"
|
|
@@ -1418,7 +1420,7 @@ class DateCellEditorComponent extends AbstractEditCellEditor {
|
|
|
1418
1420
|
</thy-date-picker>
|
|
1419
1421
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyDatePicker, selector: "thy-date-picker", exportAs: ["thyDatePicker"] }, { kind: "ngmodule", type: ThyTimePickerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1420
1422
|
}
|
|
1421
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1423
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DateCellEditorComponent, decorators: [{
|
|
1422
1424
|
type: Component,
|
|
1423
1425
|
args: [{
|
|
1424
1426
|
selector: 'date-cell-editor',
|
|
@@ -1439,7 +1441,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1439
1441
|
>
|
|
1440
1442
|
</thy-date-picker>
|
|
1441
1443
|
`,
|
|
1442
|
-
standalone: true,
|
|
1443
1444
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1444
1445
|
imports: [FormsModule, ThyDatePicker, ThyTimePickerModule],
|
|
1445
1446
|
host: {
|
|
@@ -1480,8 +1481,7 @@ class LinkEditComponent {
|
|
|
1480
1481
|
};
|
|
1481
1482
|
});
|
|
1482
1483
|
}
|
|
1483
|
-
ngOnInit() {
|
|
1484
|
-
}
|
|
1484
|
+
ngOnInit() { }
|
|
1485
1485
|
close() {
|
|
1486
1486
|
this.thyPopoverRef.close();
|
|
1487
1487
|
}
|
|
@@ -1496,20 +1496,12 @@ class LinkEditComponent {
|
|
|
1496
1496
|
const link = url ? { text: text || url, url: url } : undefined;
|
|
1497
1497
|
this.confirm.emit(link);
|
|
1498
1498
|
}
|
|
1499
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1500
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
1499
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: LinkEditComponent, deps: [{ token: i1$1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1500
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: LinkEditComponent, isStandalone: true, selector: "link-edit", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { confirm: "confirm" }, ngImport: i0, template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" [pattern]=\"URLRegex\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "directive", type: ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }] }); }
|
|
1501
1501
|
}
|
|
1502
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1502
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: LinkEditComponent, decorators: [{
|
|
1503
1503
|
type: Component,
|
|
1504
|
-
args: [{ selector: 'link-edit',
|
|
1505
|
-
FormsModule,
|
|
1506
|
-
ThyStopPropagationDirective,
|
|
1507
|
-
ThyInputDirective,
|
|
1508
|
-
ThyAutofocusDirective,
|
|
1509
|
-
ThyButton,
|
|
1510
|
-
ThyFormSubmitDirective,
|
|
1511
|
-
ThyFormModule
|
|
1512
|
-
], template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" [pattern]=\"URLRegex\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n" }]
|
|
1504
|
+
args: [{ selector: 'link-edit', imports: [FormsModule, ThyStopPropagationDirective, ThyInputDirective, ThyButton, ThyFormSubmitDirective, ThyFormModule], template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" [pattern]=\"URLRegex\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n" }]
|
|
1513
1505
|
}], ctorParameters: () => [{ type: i1$1.ThyPopoverRef }], propDecorators: { url: [{
|
|
1514
1506
|
type: Input
|
|
1515
1507
|
}], text: [{
|
|
@@ -1601,12 +1593,12 @@ class LinkCellEditorComponent extends AbstractEditCellEditor {
|
|
|
1601
1593
|
});
|
|
1602
1594
|
}
|
|
1603
1595
|
}
|
|
1604
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1605
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1596
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: LinkCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1597
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: LinkCellEditorComponent, isStandalone: true, selector: "link-cell-editor", host: { classAttribute: "ai-table-link-editor" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<thy-input-group class=\"link-input-group h-100\" thySize=\"lg\">\n <input\n #inputElement\n class=\"h-100\"\n class=\"link-input\"\n thyInput\n thySize=\"md\"\n [thyAutofocus]=\"true\"\n [(ngModel)]=\"text\"\n (blur)=\"blur($event)\"\n (thyEnter)=\"updateValue()\"\n />\n <ng-template #suffix>\n <a\n thyAction\n thyIcon=\"link-insert\"\n [thyTooltip]=\"linkTooltip()\"\n class=\"font-size-base edit-icon\"\n [class.active]=\"isOpened\"\n href=\"javascript:;\"\n (click)=\"openEdit()\"\n ></a>\n </ng-template>\n</thy-input-group>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "directive", type: i2$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyInputModule }, { kind: "directive", type: i3.ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: ThyFlexibleTextModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1606
1598
|
}
|
|
1607
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1599
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: LinkCellEditorComponent, decorators: [{
|
|
1608
1600
|
type: Component,
|
|
1609
|
-
args: [{ selector: 'link-cell-editor',
|
|
1601
|
+
args: [{ selector: 'link-cell-editor', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
1610
1602
|
FormsModule,
|
|
1611
1603
|
ThyAutofocusDirective,
|
|
1612
1604
|
ThyEnterDirective,
|
|
@@ -1628,8 +1620,8 @@ class NumberCellEditorComponent extends AbstractEditCellEditor {
|
|
|
1628
1620
|
super.update();
|
|
1629
1621
|
this.closePopover();
|
|
1630
1622
|
}
|
|
1631
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1632
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1623
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NumberCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1624
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: NumberCellEditorComponent, isStandalone: true, selector: "number-cell-editor", host: { classAttribute: "number-cell-editor" }, usesInheritance: true, ngImport: i0, template: `<thy-input-number
|
|
1633
1625
|
class="h-100"
|
|
1634
1626
|
[thyAutoFocus]="true"
|
|
1635
1627
|
[(ngModel)]="modelValue"
|
|
@@ -1637,7 +1629,7 @@ class NumberCellEditorComponent extends AbstractEditCellEditor {
|
|
|
1637
1629
|
(thyBlur)="updateValue()"
|
|
1638
1630
|
/> `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "component", type: ThyInputNumber, selector: "thy-input-number", inputs: ["thyAutoFocus", "thyPlaceholder", "thyDisabled", "thyMax", "thyMin", "thyStep", "thyStepDelay", "thySize", "thyPrecision", "thySuffix"], outputs: ["thyBlur", "thyFocus", "thyStepChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1639
1631
|
}
|
|
1640
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1632
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NumberCellEditorComponent, decorators: [{
|
|
1641
1633
|
type: Component,
|
|
1642
1634
|
args: [{
|
|
1643
1635
|
selector: 'number-cell-editor',
|
|
@@ -1648,9 +1640,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1648
1640
|
(thyEnter)="updateValue()"
|
|
1649
1641
|
(thyBlur)="updateValue()"
|
|
1650
1642
|
/> `,
|
|
1651
|
-
standalone: true,
|
|
1652
1643
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1653
|
-
imports: [FormsModule,
|
|
1644
|
+
imports: [FormsModule, ThyEnterDirective, ThyInputNumber],
|
|
1654
1645
|
host: {
|
|
1655
1646
|
class: 'number-cell-editor'
|
|
1656
1647
|
}
|
|
@@ -1666,12 +1657,12 @@ class SelectOptionComponent {
|
|
|
1666
1657
|
});
|
|
1667
1658
|
this.AITableSelectOptionStyle = AITableSelectOptionStyle;
|
|
1668
1659
|
}
|
|
1669
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1670
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1660
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1661
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: SelectOptionComponent, isStandalone: true, selector: "select-option", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, displayOption: { classPropertyName: "displayOption", publicName: "displayOption", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.select-option-tag": "optionStyle === AITableSelectOptionStyle.tag" }, classAttribute: "select-option thy-text" }, ngImport: i0, template: "@if (displayOption(); as displayOption) {\n @switch (optionStyle()) {\n @case (AITableSelectOptionStyle.dot) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @case (AITableSelectOptionStyle.tag) {\n @if (displayOption.bg_color || displayOption.color || 'default'; as color) {\n <thy-tag thyTheme=\"fill\" thyShape=\"pill\" [thyColor]=\"color\">\n @if (displayOption['icon']) {\n <thy-icon class=\"text-white\" [thyIconName]=\"displayOption['icon']\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n </thy-tag>\n }\n }\n @case (AITableSelectOptionStyle.piece) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot thyShape=\"square\" [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @default {\n @if (displayOption['icon']) {\n <thy-icon [thyIconName]=\"displayOption['icon']\" [style.color]=\"displayOption.color\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1671
1662
|
}
|
|
1672
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionComponent, decorators: [{
|
|
1673
1664
|
type: Component,
|
|
1674
|
-
args: [{ selector: 'select-option',
|
|
1665
|
+
args: [{ selector: 'select-option', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1675
1666
|
class: 'select-option thy-text',
|
|
1676
1667
|
'[class.select-option-tag]': 'optionStyle === AITableSelectOptionStyle.tag'
|
|
1677
1668
|
}, imports: [ThyTag, ThyIcon, ThyTooltipModule, ThyDot, ThyFlexibleText], template: "@if (displayOption(); as displayOption) {\n @switch (optionStyle()) {\n @case (AITableSelectOptionStyle.dot) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @case (AITableSelectOptionStyle.tag) {\n @if (displayOption.bg_color || displayOption.color || 'default'; as color) {\n <thy-tag thyTheme=\"fill\" thyShape=\"pill\" [thyColor]=\"color\">\n @if (displayOption['icon']) {\n <thy-icon class=\"text-white\" [thyIconName]=\"displayOption['icon']\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n </thy-tag>\n }\n }\n @case (AITableSelectOptionStyle.piece) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot thyShape=\"square\" [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @default {\n @if (displayOption['icon']) {\n <thy-icon [thyIconName]=\"displayOption['icon']\" [style.color]=\"displayOption.color\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n }\n}\n" }]
|
|
@@ -1717,12 +1708,12 @@ class SelectCellEditorComponent extends AbstractEditCellEditor {
|
|
|
1717
1708
|
});
|
|
1718
1709
|
}
|
|
1719
1710
|
}
|
|
1720
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1721
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1711
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1712
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: SelectCellEditorComponent, isStandalone: true, selector: "select-cell-editor", host: { classAttribute: "d-block h-100 select-cell-editor" }, usesInheritance: true, ngImport: i0, template: "<thy-select\n [(ngModel)]=\"modelValue\"\n [thyAutoExpand]=\"true\"\n [thyAllowClear]=\"true\"\n [thyPlaceHolder]=\"''\"\n [thyPreset]=\"preset()\"\n [thyMode]=\"field().settings.is_multiple ? 'multiple' : ''\"\n (ngModelChange)=\"onModelChange($event)\"\n (thyOnExpandStatusChange)=\"onOpenChange($event)\"\n>\n <ng-template #selectedDisplay let-option>\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </ng-template>\n @for (option of selectOptions(); track option._id) {\n <thy-option [thyValue]=\"option._id\" [thyRawValue]=\"option\" [thyShowOptionCustom]=\"true\" [thyLabelText]=\"option.text\">\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </thy-option>\n }\n</thy-select>\n", dependencies: [{ kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange", "visibleChange"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ThyEmptyModule }, { kind: "ngmodule", type: ThyFormModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThySelectModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1722
1713
|
}
|
|
1723
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1714
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
|
|
1724
1715
|
type: Component,
|
|
1725
|
-
args: [{ selector: 'select-cell-editor',
|
|
1716
|
+
args: [{ selector: 'select-cell-editor', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1726
1717
|
class: 'd-block h-100 select-cell-editor'
|
|
1727
1718
|
}, imports: [
|
|
1728
1719
|
ThySelect,
|
|
@@ -1767,8 +1758,8 @@ class TextCellEditorComponent extends AbstractEditCellEditor {
|
|
|
1767
1758
|
super.update();
|
|
1768
1759
|
this.closePopover();
|
|
1769
1760
|
}
|
|
1770
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1771
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1761
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: TextCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1762
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: TextCellEditorComponent, isStandalone: true, selector: "text-cell-editor", host: { classAttribute: "text-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
|
|
1772
1763
|
<textarea
|
|
1773
1764
|
placeholder=""
|
|
1774
1765
|
rows="1"
|
|
@@ -1781,7 +1772,7 @@ class TextCellEditorComponent extends AbstractEditCellEditor {
|
|
|
1781
1772
|
></textarea>
|
|
1782
1773
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1783
1774
|
}
|
|
1784
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1775
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: TextCellEditorComponent, decorators: [{
|
|
1785
1776
|
type: Component,
|
|
1786
1777
|
args: [{
|
|
1787
1778
|
selector: 'text-cell-editor',
|
|
@@ -1797,7 +1788,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1797
1788
|
(blur)="updateValue()"
|
|
1798
1789
|
></textarea>
|
|
1799
1790
|
`,
|
|
1800
|
-
standalone: true,
|
|
1801
1791
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1802
1792
|
imports: [FormsModule, ThyAutofocusDirective, ThyInputDirective, ThyEnterDirective],
|
|
1803
1793
|
host: {
|
|
@@ -1810,14 +1800,13 @@ class SelectOptionPipe {
|
|
|
1810
1800
|
transform(_id, options) {
|
|
1811
1801
|
return options?.length && options.find((item) => item._id === _id);
|
|
1812
1802
|
}
|
|
1813
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1814
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
1803
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1804
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionPipe, isStandalone: true, name: "selectOption" }); }
|
|
1815
1805
|
}
|
|
1816
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1806
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionPipe, decorators: [{
|
|
1817
1807
|
type: Pipe,
|
|
1818
1808
|
args: [{
|
|
1819
|
-
name: 'selectOption'
|
|
1820
|
-
standalone: true
|
|
1809
|
+
name: 'selectOption'
|
|
1821
1810
|
}]
|
|
1822
1811
|
}] });
|
|
1823
1812
|
class SelectOptionsPipe {
|
|
@@ -1828,28 +1817,26 @@ class SelectOptionsPipe {
|
|
|
1828
1817
|
})) ||
|
|
1829
1818
|
[]);
|
|
1830
1819
|
}
|
|
1831
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1832
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
1820
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1821
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionsPipe, isStandalone: true, name: "selectOptions" }); }
|
|
1833
1822
|
}
|
|
1834
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1823
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionsPipe, decorators: [{
|
|
1835
1824
|
type: Pipe,
|
|
1836
1825
|
args: [{
|
|
1837
|
-
name: 'selectOptions'
|
|
1838
|
-
standalone: true
|
|
1826
|
+
name: 'selectOptions'
|
|
1839
1827
|
}]
|
|
1840
1828
|
}] });
|
|
1841
1829
|
class IsSelectRecordPipe {
|
|
1842
1830
|
transform(recordId, selection) {
|
|
1843
1831
|
return selection.selectedRecords.has(recordId);
|
|
1844
1832
|
}
|
|
1845
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1846
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
1833
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: IsSelectRecordPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1834
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: IsSelectRecordPipe, isStandalone: true, name: "isSelectRecord" }); }
|
|
1847
1835
|
}
|
|
1848
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1836
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: IsSelectRecordPipe, decorators: [{
|
|
1849
1837
|
type: Pipe,
|
|
1850
1838
|
args: [{
|
|
1851
|
-
name: 'isSelectRecord'
|
|
1852
|
-
standalone: true
|
|
1839
|
+
name: 'isSelectRecord'
|
|
1853
1840
|
}]
|
|
1854
1841
|
}] });
|
|
1855
1842
|
class UserPipe {
|
|
@@ -1860,56 +1847,52 @@ class UserPipe {
|
|
|
1860
1847
|
})) ||
|
|
1861
1848
|
[]);
|
|
1862
1849
|
}
|
|
1863
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1864
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
1850
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: UserPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1851
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: UserPipe, isStandalone: true, name: "user" }); }
|
|
1865
1852
|
}
|
|
1866
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1853
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: UserPipe, decorators: [{
|
|
1867
1854
|
type: Pipe,
|
|
1868
1855
|
args: [{
|
|
1869
|
-
name: 'user'
|
|
1870
|
-
standalone: true
|
|
1856
|
+
name: 'user'
|
|
1871
1857
|
}]
|
|
1872
1858
|
}] });
|
|
1873
1859
|
class SelectSettingPipe {
|
|
1874
1860
|
transform(settings) {
|
|
1875
1861
|
return settings;
|
|
1876
1862
|
}
|
|
1877
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1878
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
1863
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1864
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: SelectSettingPipe, isStandalone: true, name: "selectSetting" }); }
|
|
1879
1865
|
}
|
|
1880
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1866
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectSettingPipe, decorators: [{
|
|
1881
1867
|
type: Pipe,
|
|
1882
1868
|
args: [{
|
|
1883
|
-
name: 'selectSetting'
|
|
1884
|
-
standalone: true
|
|
1869
|
+
name: 'selectSetting'
|
|
1885
1870
|
}]
|
|
1886
1871
|
}] });
|
|
1887
1872
|
class MemberSettingPipe {
|
|
1888
1873
|
transform(settings) {
|
|
1889
1874
|
return settings;
|
|
1890
1875
|
}
|
|
1891
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1892
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
1876
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MemberSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1877
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: MemberSettingPipe, isStandalone: true, name: "memberSetting" }); }
|
|
1893
1878
|
}
|
|
1894
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1879
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MemberSettingPipe, decorators: [{
|
|
1895
1880
|
type: Pipe,
|
|
1896
1881
|
args: [{
|
|
1897
|
-
name: 'memberSetting'
|
|
1898
|
-
standalone: true
|
|
1882
|
+
name: 'memberSetting'
|
|
1899
1883
|
}]
|
|
1900
1884
|
}] });
|
|
1901
1885
|
class AITableFieldIsSameOptionPipe {
|
|
1902
1886
|
transform(fieldOption, field) {
|
|
1903
1887
|
return isSameFieldOption(fieldOption, field);
|
|
1904
1888
|
}
|
|
1905
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1906
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
1889
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldIsSameOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1890
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldIsSameOptionPipe, isStandalone: true, name: "fieldIsSameOption" }); }
|
|
1907
1891
|
}
|
|
1908
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1892
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldIsSameOptionPipe, decorators: [{
|
|
1909
1893
|
type: Pipe,
|
|
1910
1894
|
args: [{
|
|
1911
|
-
name: 'fieldIsSameOption'
|
|
1912
|
-
standalone: true
|
|
1895
|
+
name: 'fieldIsSameOption'
|
|
1913
1896
|
}]
|
|
1914
1897
|
}] });
|
|
1915
1898
|
|
|
@@ -2006,12 +1989,12 @@ class AITableFieldSetting {
|
|
|
2006
1989
|
cancel() {
|
|
2007
1990
|
this.thyPopoverRef.close();
|
|
2008
1991
|
}
|
|
2009
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2010
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1992
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldSetting, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1993
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFieldSetting, isStandalone: true, selector: "ai-table-field-setting", inputs: { aiEditField: { classPropertyName: "aiEditField", publicName: "aiEditField", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, aiExternalTemplate: { classPropertyName: "aiExternalTemplate", publicName: "aiExternalTemplate", isSignal: true, isRequired: false, transformFunction: null }, isUpdate: { classPropertyName: "isUpdate", publicName: "isUpdate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiEditField: "aiEditFieldChange", addField: "addField", setField: "setField" }, host: { classAttribute: "field-setting d-block pl-5 pr-5 pb-5 pt-4" }, ngImport: i0, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig()\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired [thyLabelText]=\"i18nTexts().columnName\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"aiEditField().name\"\n (ngModelChange)=\"nameChange($event)\"\n required\n [placeholder]=\"i18nTexts().columnNamePlaceholder\"\n [thyUniqueCheck]=\"checkUniqueName\"\n />\n <ng-template #suffix>\n <thy-input-count></thy-input-count>\n </ng-template>\n </thy-input-group>\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().fieldType\">\n <div class=\"thy-dropdown-menu py-0\">\n <div class=\"ml-n5 mr-n5\">\n <span\n thyDropdownMenuItem\n [thyDropdown]=\"menu\"\n [thyDisabled]=\"isUpdate()\"\n thyTrigger=\"hover\"\n thyPlacement=\"right\"\n (click)=\"fieldTypeClick($event)\"\n >\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"selectedFieldOption().icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ selectedFieldOption().name }}</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\" class=\"text-desc\"></thy-icon>\n </span>\n </div>\n </div>\n\n @if (selectedFieldOption().type === aITableFieldType.member) {\n <div class=\"d-flex justify-content-between mt-3\">\n {{ i18nTexts().allowMultipleMembers }}\n <thy-switch\n name=\"isMultipleMember\"\n [thyDisabled]=\"isUpdate()\"\n [(ngModel)]=\"isMultipleMember\"\n (ngModelChange)=\"multipleMemberChange()\"\n thySize=\"sm\"\n ></thy-switch>\n </div>\n }\n </thy-form-group>\n @if (aiExternalTemplate()) {\n <ng-container *ngTemplateOutlet=\"aiExternalTemplate()\"></ng-container>\n }\n <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">{{ i18nTexts().cancel }}</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"editFieldProperty()\" thySize=\"sm\">{{ i18nTexts().confirm }}</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n @for (item of fieldOptions(); track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n</thy-dropdown-menu>\n", styles: [":host{width:350px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "component", type: ThyInputCount, selector: "thy-input-count", inputs: ["thyInput"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyUniqueCheckValidator, selector: "[thyUniqueCheck]", inputs: ["thyUniqueCheck"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemExtendIconDirective, selector: "[thyDropdownMenuItemExtendIcon]" }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "directive", type: i2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "pipe", type: AITableFieldIsSameOptionPipe, name: "fieldIsSameOption" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2011
1994
|
}
|
|
2012
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1995
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldSetting, decorators: [{
|
|
2013
1996
|
type: Component,
|
|
2014
|
-
args: [{ selector: 'ai-table-field-setting',
|
|
1997
|
+
args: [{ selector: 'ai-table-field-setting', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
2015
1998
|
NgClass,
|
|
2016
1999
|
FormsModule,
|
|
2017
2000
|
ThyIcon,
|
|
@@ -2175,10 +2158,10 @@ class AITableGridSelectionService {
|
|
|
2175
2158
|
this.setActiveCell(startCell);
|
|
2176
2159
|
this.aiTable.selection().selectedCells = selectedCells;
|
|
2177
2160
|
}
|
|
2178
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2179
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2162
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridSelectionService }); }
|
|
2180
2163
|
}
|
|
2181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridSelectionService, decorators: [{
|
|
2182
2165
|
type: Injectable
|
|
2183
2166
|
}], ctorParameters: () => [] });
|
|
2184
2167
|
|
|
@@ -2198,12 +2181,12 @@ class AITableContextMenu extends ThyDropdownAbstractMenu {
|
|
|
2198
2181
|
menu.exec(this.aiTable(), this.targetName(), this.position(), this.aiTableGridSelectionService, this.notifyService);
|
|
2199
2182
|
}
|
|
2200
2183
|
}
|
|
2201
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2202
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2184
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableContextMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2185
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableContextMenu, isStandalone: true, selector: "ai-table-context-menu", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: true, transformFunction: null }, targetName: { classPropertyName: "targetName", publicName: "targetName", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "context-menu" }, usesInheritance: true, ngImport: i0, template: "@for (menu of menuItems(); track $index) {\n @if ((menu.hidden && !menu.hidden(aiTable(), targetName(), position())) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider thyStyle=\"solid\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable(), targetName(), position()));\n @let isRemoveRecords = menu.type === 'removeRecords';\n @let isPreventClearSelection = menu.type === 'copyCells' || menu.type === 'pasteCells' || menu.type === 'removeRecords';\n\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n 'remove-record': isRemoveRecords && !disabled,\n 'ai-table-prevent-clear-selection': isPreventClearSelection && !disabled\n }\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ menu.name }}</span>\n <span thyDropdownMenuItemMeta class=\"text-desc\">{{ menu.shortcutKey }}</span>\n </a>\n }\n }\n}\n", dependencies: [{ kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemMetaDirective, selector: "[thyDropdownMenuItemMeta]" }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2203
2186
|
}
|
|
2204
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableContextMenu, decorators: [{
|
|
2205
2188
|
type: Component,
|
|
2206
|
-
args: [{ selector: 'ai-table-context-menu',
|
|
2189
|
+
args: [{ selector: 'ai-table-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
2207
2190
|
class: 'context-menu'
|
|
2208
2191
|
}, imports: [
|
|
2209
2192
|
ThyDropdownMenuItemDirective,
|
|
@@ -2387,47 +2370,6 @@ const DEFAULT_TEXT_SCALE = 1;
|
|
|
2387
2370
|
const DEFAULT_TEXT_MAX_CACHE = 500;
|
|
2388
2371
|
const FONT_SIZE_SM = 12;
|
|
2389
2372
|
|
|
2390
|
-
class AITableFieldMenu extends ThyDropdownAbstractMenu {
|
|
2391
|
-
constructor() {
|
|
2392
|
-
super(...arguments);
|
|
2393
|
-
this.field = computed(() => {
|
|
2394
|
-
return this.aiTable.fields().find((item) => item._id === this.fieldId);
|
|
2395
|
-
});
|
|
2396
|
-
}
|
|
2397
|
-
execute(menu) {
|
|
2398
|
-
if ((menu.disabled && !menu.disabled(this.aiTable, this.field)) || !menu.disabled) {
|
|
2399
|
-
menu.exec && menu.exec(this.aiTable, this.field, this.origin, this.position);
|
|
2400
|
-
}
|
|
2401
|
-
}
|
|
2402
|
-
getMenuName(menu, field) {
|
|
2403
|
-
if (typeof menu.name === 'function') {
|
|
2404
|
-
return menu.name(field);
|
|
2405
|
-
}
|
|
2406
|
-
return menu.name || '';
|
|
2407
|
-
}
|
|
2408
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFieldMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2409
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableFieldMenu, isStandalone: true, selector: "ai-table-field-menu", inputs: { fieldId: "fieldId", aiTable: "aiTable", fieldMenus: "fieldMenus", origin: "origin", position: "position" }, host: { classAttribute: "field-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of fieldMenus; track index; let index = $index) {\n @if ((menu.hidden && !menu.hidden(aiTable, field)) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider [thyStyle]=\"'solid'\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable, field));\n @let isRemoveField = menu.type === 'removeField';\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{ 'remove-field': isRemoveField && !disabled }\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span>{{ getMenuName(menu, field()) }}</span>\n </a>\n }\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2410
|
-
}
|
|
2411
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFieldMenu, decorators: [{
|
|
2412
|
-
type: Component,
|
|
2413
|
-
args: [{ selector: 'ai-table-field-menu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
2414
|
-
class: 'field-menu'
|
|
2415
|
-
}, imports: [ThyIcon, ThyDivider, ThyDropdownMenuItemDirective, NgClass], template: "@if (field()) {\n @for (menu of fieldMenus; track index; let index = $index) {\n @if ((menu.hidden && !menu.hidden(aiTable, field)) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider [thyStyle]=\"'solid'\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable, field));\n @let isRemoveField = menu.type === 'removeField';\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{ 'remove-field': isRemoveField && !disabled }\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span>{{ getMenuName(menu, field()) }}</span>\n </a>\n }\n }\n }\n}\n" }]
|
|
2416
|
-
}], propDecorators: { fieldId: [{
|
|
2417
|
-
type: Input,
|
|
2418
|
-
args: [{ required: true }]
|
|
2419
|
-
}], aiTable: [{
|
|
2420
|
-
type: Input,
|
|
2421
|
-
args: [{ required: true }]
|
|
2422
|
-
}], fieldMenus: [{
|
|
2423
|
-
type: Input,
|
|
2424
|
-
args: [{ required: true }]
|
|
2425
|
-
}], origin: [{
|
|
2426
|
-
type: Input
|
|
2427
|
-
}], position: [{
|
|
2428
|
-
type: Input
|
|
2429
|
-
}] } });
|
|
2430
|
-
|
|
2431
2373
|
const buildGridLinearRows = (visibleRecords, isAddingVisible = true) => {
|
|
2432
2374
|
const linearRows = [];
|
|
2433
2375
|
let displayRowIndex = 0;
|
|
@@ -2465,6 +2407,47 @@ const buildGridData = (aiTable, recordValue, fieldsValue) => {
|
|
|
2465
2407
|
};
|
|
2466
2408
|
};
|
|
2467
2409
|
|
|
2410
|
+
class AITableFieldMenu extends ThyDropdownAbstractMenu {
|
|
2411
|
+
constructor() {
|
|
2412
|
+
super(...arguments);
|
|
2413
|
+
this.field = computed(() => {
|
|
2414
|
+
return this.aiTable.fields().find((item) => item._id === this.fieldId);
|
|
2415
|
+
});
|
|
2416
|
+
}
|
|
2417
|
+
execute(menu) {
|
|
2418
|
+
if ((menu.disabled && !menu.disabled(this.aiTable, this.field)) || !menu.disabled) {
|
|
2419
|
+
menu.exec && menu.exec(this.aiTable, this.field, this.origin, this.position);
|
|
2420
|
+
}
|
|
2421
|
+
}
|
|
2422
|
+
getMenuName(menu, field) {
|
|
2423
|
+
if (typeof menu.name === 'function') {
|
|
2424
|
+
return menu.name(field);
|
|
2425
|
+
}
|
|
2426
|
+
return menu.name || '';
|
|
2427
|
+
}
|
|
2428
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2429
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFieldMenu, isStandalone: true, selector: "ai-table-field-menu", inputs: { fieldId: "fieldId", aiTable: "aiTable", fieldMenus: "fieldMenus", origin: "origin", position: "position" }, host: { classAttribute: "field-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of fieldMenus; track index; let index = $index) {\n @if ((menu.hidden && !menu.hidden(aiTable, field)) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider [thyStyle]=\"'solid'\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable, field));\n @let isRemoveField = menu.type === 'removeField';\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{ 'remove-field': isRemoveField && !disabled }\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span>{{ getMenuName(menu, field()) }}</span>\n </a>\n }\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2430
|
+
}
|
|
2431
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldMenu, decorators: [{
|
|
2432
|
+
type: Component,
|
|
2433
|
+
args: [{ selector: 'ai-table-field-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
2434
|
+
class: 'field-menu'
|
|
2435
|
+
}, imports: [ThyIcon, ThyDivider, ThyDropdownMenuItemDirective, NgClass], template: "@if (field()) {\n @for (menu of fieldMenus; track index; let index = $index) {\n @if ((menu.hidden && !menu.hidden(aiTable, field)) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider [thyStyle]=\"'solid'\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable, field));\n @let isRemoveField = menu.type === 'removeField';\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{ 'remove-field': isRemoveField && !disabled }\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span>{{ getMenuName(menu, field()) }}</span>\n </a>\n }\n }\n }\n}\n" }]
|
|
2436
|
+
}], propDecorators: { fieldId: [{
|
|
2437
|
+
type: Input,
|
|
2438
|
+
args: [{ required: true }]
|
|
2439
|
+
}], aiTable: [{
|
|
2440
|
+
type: Input,
|
|
2441
|
+
args: [{ required: true }]
|
|
2442
|
+
}], fieldMenus: [{
|
|
2443
|
+
type: Input,
|
|
2444
|
+
args: [{ required: true }]
|
|
2445
|
+
}], origin: [{
|
|
2446
|
+
type: Input
|
|
2447
|
+
}], position: [{
|
|
2448
|
+
type: Input
|
|
2449
|
+
}] } });
|
|
2450
|
+
|
|
2468
2451
|
const AI_TABLE_GRID_FIELD_SERVICE_MAP = new WeakMap();
|
|
2469
2452
|
class AITableGridFieldService {
|
|
2470
2453
|
constructor(thyPopover) {
|
|
@@ -2509,10 +2492,10 @@ class AITableGridFieldService {
|
|
|
2509
2492
|
});
|
|
2510
2493
|
return ref;
|
|
2511
2494
|
}
|
|
2512
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2513
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2495
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridFieldService, deps: [{ token: i1$1.ThyPopover }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2496
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridFieldService }); }
|
|
2514
2497
|
}
|
|
2515
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2498
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridFieldService, decorators: [{
|
|
2516
2499
|
type: Injectable
|
|
2517
2500
|
}], ctorParameters: () => [{ type: i1$1.ThyPopover }] });
|
|
2518
2501
|
|
|
@@ -2648,7 +2631,7 @@ class DateField extends DateFieldBase {
|
|
|
2648
2631
|
}
|
|
2649
2632
|
isMeetFilter(condition, cellValue) {
|
|
2650
2633
|
const [left, right] = this.getTimeRange(condition.value);
|
|
2651
|
-
if (
|
|
2634
|
+
if (isUndefinedOrNull(cellValue)) {
|
|
2652
2635
|
return condition.operation === AITableFilterOperation.empty;
|
|
2653
2636
|
}
|
|
2654
2637
|
switch (condition.operation) {
|
|
@@ -2731,7 +2714,7 @@ function toDateFieldValue(plainText, targetField, originData) {
|
|
|
2731
2714
|
return null;
|
|
2732
2715
|
}
|
|
2733
2716
|
function cellValueToSortValue$4(cellValue) {
|
|
2734
|
-
if (
|
|
2717
|
+
if (isUndefinedOrNull(cellValue) || !isDateValid(cellValue)) {
|
|
2735
2718
|
return 0;
|
|
2736
2719
|
}
|
|
2737
2720
|
return cellValue?.timestamp ?? 0;
|
|
@@ -3003,18 +2986,20 @@ class SelectField extends SelectFieldBase {
|
|
|
3003
2986
|
isValid(cellValue) {
|
|
3004
2987
|
return Array.isArray(cellValue) || cellValue === null;
|
|
3005
2988
|
}
|
|
3006
|
-
isMeetFilter(condition, cellValue) {
|
|
2989
|
+
isMeetFilter(condition, cellValue, options) {
|
|
2990
|
+
const optionsMap = helpers.keyBy(options?.field?.settings?.options || [], '_id');
|
|
2991
|
+
const validCellValue = cellValue.filter((optionId) => !!optionsMap[optionId]);
|
|
3007
2992
|
switch (condition.operation) {
|
|
3008
2993
|
case AITableFilterOperation.empty:
|
|
3009
|
-
return isEmpty(
|
|
2994
|
+
return isEmpty(validCellValue);
|
|
3010
2995
|
case AITableFilterOperation.exists:
|
|
3011
|
-
return !isEmpty(
|
|
2996
|
+
return !isEmpty(validCellValue);
|
|
3012
2997
|
case AITableFilterOperation.in:
|
|
3013
|
-
return Array.isArray(condition.value) && hasIntersect(
|
|
2998
|
+
return Array.isArray(condition.value) && hasIntersect(validCellValue, condition.value);
|
|
3014
2999
|
case AITableFilterOperation.nin:
|
|
3015
|
-
return Array.isArray(condition.value) && !hasIntersect(
|
|
3000
|
+
return Array.isArray(condition.value) && !hasIntersect(validCellValue, condition.value);
|
|
3016
3001
|
default:
|
|
3017
|
-
return isMeetFilter(condition,
|
|
3002
|
+
return isMeetFilter(condition, validCellValue);
|
|
3018
3003
|
}
|
|
3019
3004
|
}
|
|
3020
3005
|
compare(cellValue1, cellValue2, references, sortKey, options) {
|
|
@@ -3253,18 +3238,29 @@ function appendField(aiTable, originField, actions) {
|
|
|
3253
3238
|
}
|
|
3254
3239
|
const writeToAITable = async (aiTable, actions) => {
|
|
3255
3240
|
const selectedCells = Array.from(aiTable.selection().selectedCells);
|
|
3241
|
+
const result = {
|
|
3242
|
+
isPasteSuccess: false,
|
|
3243
|
+
isPasteOverMaxRecords: false,
|
|
3244
|
+
isPasteOverMaxFields: false
|
|
3245
|
+
};
|
|
3256
3246
|
if (!selectedCells.length) {
|
|
3257
|
-
return;
|
|
3247
|
+
return result;
|
|
3258
3248
|
}
|
|
3259
3249
|
const { clipboardContent, aiTableContent } = await readClipboardData();
|
|
3260
3250
|
if (!clipboardContent.length) {
|
|
3261
|
-
return;
|
|
3251
|
+
return result;
|
|
3262
3252
|
}
|
|
3263
3253
|
const [firstCell] = selectedCells;
|
|
3264
3254
|
const [startRecordId, startFieldId] = firstCell.split(':');
|
|
3255
|
+
const maxFields = aiTable.context.maxFields();
|
|
3256
|
+
const maxRecords = aiTable.context.maxRecords();
|
|
3265
3257
|
const startRowIndex = aiTable.context.visibleRowsIndexMap().get(startRecordId) ?? 0;
|
|
3266
3258
|
const lastRowIndex = aiTable.context.linearRows().length - 1;
|
|
3267
|
-
|
|
3259
|
+
let appendRowCount = clipboardContent.length - (lastRowIndex - startRowIndex);
|
|
3260
|
+
if (maxRecords && lastRowIndex + appendRowCount > maxRecords) {
|
|
3261
|
+
appendRowCount = maxRecords - lastRowIndex;
|
|
3262
|
+
result.isPasteOverMaxRecords = true;
|
|
3263
|
+
}
|
|
3268
3264
|
actions.addRecord({ count: appendRowCount });
|
|
3269
3265
|
const startColIndex = aiTable.context.visibleColumnsIndexMap().get(startFieldId) ?? 0;
|
|
3270
3266
|
const lastColIndex = aiTable.context.visibleColumnsIndexMap().size - 1;
|
|
@@ -3272,17 +3268,27 @@ const writeToAITable = async (aiTable, actions) => {
|
|
|
3272
3268
|
const appendColCount = copiedFieldLength - (lastColIndex - startColIndex) - 1;
|
|
3273
3269
|
const appendOffeset = copiedFieldLength - appendColCount;
|
|
3274
3270
|
for (let i = 0; i < appendColCount; i++) {
|
|
3275
|
-
|
|
3276
|
-
|
|
3271
|
+
if (maxFields && lastColIndex + i + 1 < maxFields) {
|
|
3272
|
+
const originField = aiTableContent?.fields[appendOffeset + i] || null;
|
|
3273
|
+
appendField(aiTable, originField, actions);
|
|
3274
|
+
}
|
|
3275
|
+
else {
|
|
3276
|
+
result.isPasteOverMaxFields = true;
|
|
3277
|
+
}
|
|
3277
3278
|
}
|
|
3278
3279
|
const linearRows = aiTable.context.linearRows();
|
|
3279
3280
|
const references = aiTable.context.references();
|
|
3280
|
-
let isPasteSuccess = false;
|
|
3281
3281
|
let visibleFields = AITable.getVisibleFields(aiTable);
|
|
3282
3282
|
clipboardContent.forEach((row, i) => {
|
|
3283
3283
|
const targetRowIndex = startRowIndex + i;
|
|
3284
|
+
if (maxRecords && targetRowIndex >= maxRecords) {
|
|
3285
|
+
return;
|
|
3286
|
+
}
|
|
3284
3287
|
row.forEach((plainText, j) => {
|
|
3285
3288
|
const targetColIndex = startColIndex + j;
|
|
3289
|
+
if (maxFields && targetColIndex >= maxFields) {
|
|
3290
|
+
return;
|
|
3291
|
+
}
|
|
3286
3292
|
const targetRecord = linearRows[targetRowIndex];
|
|
3287
3293
|
const targetField = visibleFields[targetColIndex];
|
|
3288
3294
|
const recordIndex = i;
|
|
@@ -3297,7 +3303,7 @@ const writeToAITable = async (aiTable, actions) => {
|
|
|
3297
3303
|
value,
|
|
3298
3304
|
path: [targetRecord._id, targetField._id]
|
|
3299
3305
|
});
|
|
3300
|
-
isPasteSuccess = true;
|
|
3306
|
+
result.isPasteSuccess = true;
|
|
3301
3307
|
}
|
|
3302
3308
|
catch (error) {
|
|
3303
3309
|
console.error('Failed to paste value:', error);
|
|
@@ -3305,7 +3311,7 @@ const writeToAITable = async (aiTable, actions) => {
|
|
|
3305
3311
|
}
|
|
3306
3312
|
});
|
|
3307
3313
|
});
|
|
3308
|
-
return
|
|
3314
|
+
return result;
|
|
3309
3315
|
};
|
|
3310
3316
|
|
|
3311
3317
|
class LinkField extends LinkFieldBase {
|
|
@@ -3325,7 +3331,7 @@ class LinkField extends LinkFieldBase {
|
|
|
3325
3331
|
case AITableFilterOperation.exists:
|
|
3326
3332
|
return !isEmpty(cellTextValue);
|
|
3327
3333
|
case AITableFilterOperation.contain:
|
|
3328
|
-
return !
|
|
3334
|
+
return !isUndefinedOrNull(cellTextValue) && stringInclude(cellTextValue, condition.value);
|
|
3329
3335
|
default:
|
|
3330
3336
|
return isMeetFilter(condition, cellTextValue);
|
|
3331
3337
|
}
|
|
@@ -3499,9 +3505,9 @@ class ProgressField extends ProgressFieldBase {
|
|
|
3499
3505
|
isMeetFilter(condition, cellValue) {
|
|
3500
3506
|
switch (condition.operation) {
|
|
3501
3507
|
case AITableFilterOperation.empty:
|
|
3502
|
-
return isEmpty
|
|
3508
|
+
return isEmpty(cellValue);
|
|
3503
3509
|
case AITableFilterOperation.exists:
|
|
3504
|
-
return !isEmpty
|
|
3510
|
+
return !isEmpty(cellValue);
|
|
3505
3511
|
case AITableFilterOperation.eq:
|
|
3506
3512
|
return !Number.isNaN(condition.value) && cellValue != null && condition.value === cellValue;
|
|
3507
3513
|
case AITableFilterOperation.gte:
|
|
@@ -3549,7 +3555,7 @@ function toProgressFieldValue(plainText, targetField, originData) {
|
|
|
3549
3555
|
if (progressRegex.test(value)) {
|
|
3550
3556
|
value = parseFloat(value);
|
|
3551
3557
|
}
|
|
3552
|
-
if (!isEmpty
|
|
3558
|
+
if (!isEmpty(value)) {
|
|
3553
3559
|
let progressValue = Number(value);
|
|
3554
3560
|
if (!Number.isNaN(progressValue)) {
|
|
3555
3561
|
progressValue = Math.round(progressValue);
|
|
@@ -3659,7 +3665,7 @@ class TextField extends TextFieldBase {
|
|
|
3659
3665
|
case AITableFilterOperation.exists:
|
|
3660
3666
|
return !isEmpty(cellValue);
|
|
3661
3667
|
case AITableFilterOperation.contain:
|
|
3662
|
-
return !
|
|
3668
|
+
return !isUndefinedOrNull(cellValue) && stringInclude(cellValue, condition.value);
|
|
3663
3669
|
default:
|
|
3664
3670
|
return isMeetFilter(condition, cellValue);
|
|
3665
3671
|
}
|
|
@@ -4285,15 +4291,14 @@ class AITableText {
|
|
|
4285
4291
|
onMousemove(e) {
|
|
4286
4292
|
this.koMouseMove.emit(e);
|
|
4287
4293
|
}
|
|
4288
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4289
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
4294
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4295
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableText, isStandalone: true, selector: "ai-table-text", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick", koMouseMove: "koMouseMove" }, ngImport: i0, template: ` <ko-text [config]="textConfig()" (koClick)="onClick($event)" (koMousemove)="onMousemove($event)"></ko-text> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4290
4296
|
}
|
|
4291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableText, decorators: [{
|
|
4292
4298
|
type: Component,
|
|
4293
4299
|
args: [{
|
|
4294
4300
|
selector: 'ai-table-text',
|
|
4295
4301
|
template: ` <ko-text [config]="textConfig()" (koClick)="onClick($event)" (koMousemove)="onMousemove($event)"></ko-text> `,
|
|
4296
|
-
standalone: true,
|
|
4297
4302
|
imports: [KoShape],
|
|
4298
4303
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4299
4304
|
}]
|
|
@@ -5301,14 +5306,14 @@ class AITableCellLink {
|
|
|
5301
5306
|
const curMousePosition = getMousePosition(aiTable, x, y, coordinate, AITable.getVisibleFields(aiTable), context, targetName);
|
|
5302
5307
|
handleMouseStyle(AI_TABLE_FIELD_HEAD_MORE, curMousePosition.areaType, coordinate.container);
|
|
5303
5308
|
}
|
|
5304
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5305
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
5309
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellLink, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5310
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellLink, isStandalone: true, selector: "ai-table-link", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
5306
5311
|
@if (showLink()) {
|
|
5307
5312
|
<ai-table-text [config]="textConfig()!" (koClick)="linkClick($event)" (koMouseMove)="linkMouseMove($event)"></ai-table-text>
|
|
5308
5313
|
}
|
|
5309
5314
|
`, isInline: true, dependencies: [{ kind: "component", type: AITableText, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5310
5315
|
}
|
|
5311
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5316
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellLink, decorators: [{
|
|
5312
5317
|
type: Component,
|
|
5313
5318
|
args: [{
|
|
5314
5319
|
selector: 'ai-table-link',
|
|
@@ -5317,7 +5322,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5317
5322
|
<ai-table-text [config]="textConfig()!" (koClick)="linkClick($event)" (koMouseMove)="linkMouseMove($event)"></ai-table-text>
|
|
5318
5323
|
}
|
|
5319
5324
|
`,
|
|
5320
|
-
standalone: true,
|
|
5321
5325
|
imports: [AITableText],
|
|
5322
5326
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5323
5327
|
}]
|
|
@@ -5397,8 +5401,8 @@ class AITableActionIcon {
|
|
|
5397
5401
|
const { coordinate } = this.config();
|
|
5398
5402
|
setMouseStyle('default', coordinate.container);
|
|
5399
5403
|
}
|
|
5400
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5401
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
5404
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableActionIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5405
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableActionIcon, isStandalone: true, selector: "ai-table-action-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClick: "onClick", onMousemove: "onMousemove", onMouseenter: "onMouseenter", onMouseleave: "onMouseleave" }, ngImport: i0, template: `
|
|
5402
5406
|
<ko-group
|
|
5403
5407
|
[config]="groupConfig()"
|
|
5404
5408
|
(koClick)="koClick($event)"
|
|
@@ -5411,7 +5415,7 @@ class AITableActionIcon {
|
|
|
5411
5415
|
</ko-group>
|
|
5412
5416
|
`, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5413
5417
|
}
|
|
5414
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableActionIcon, decorators: [{
|
|
5415
5419
|
type: Component,
|
|
5416
5420
|
args: [{
|
|
5417
5421
|
selector: 'ai-table-action-icon',
|
|
@@ -5427,7 +5431,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5427
5431
|
<ko-path [config]="iconConfig()"></ko-path>
|
|
5428
5432
|
</ko-group>
|
|
5429
5433
|
`,
|
|
5430
|
-
standalone: true,
|
|
5431
5434
|
imports: [KoContainer, KoShape],
|
|
5432
5435
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5433
5436
|
}]
|
|
@@ -5509,15 +5512,15 @@ class AITableCellAttachment {
|
|
|
5509
5512
|
});
|
|
5510
5513
|
}
|
|
5511
5514
|
static { this.fieldType = AITableFieldType.attachment; }
|
|
5512
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5513
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
5515
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellAttachment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5516
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellAttachment, isStandalone: true, selector: "ai-table-attachments", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
5514
5517
|
@for (attachment of attachments(); track attachment.attachmentInfo._id) {
|
|
5515
5518
|
<ko-image [config]="attachment"></ko-image>
|
|
5516
5519
|
}
|
|
5517
5520
|
<ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
|
|
5518
5521
|
`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableActionIcon, selector: "ai-table-action-icon", inputs: ["config"], outputs: ["onClick", "onMousemove", "onMouseenter", "onMouseleave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5519
5522
|
}
|
|
5520
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5523
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellAttachment, decorators: [{
|
|
5521
5524
|
type: Component,
|
|
5522
5525
|
args: [{
|
|
5523
5526
|
selector: 'ai-table-attachments',
|
|
@@ -5527,7 +5530,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5527
5530
|
}
|
|
5528
5531
|
<ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
|
|
5529
5532
|
`,
|
|
5530
|
-
standalone: true,
|
|
5531
5533
|
imports: [KoShape, AITableActionIcon],
|
|
5532
5534
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5533
5535
|
}]
|
|
@@ -5541,7 +5543,7 @@ class AITableCellRichText {
|
|
|
5541
5543
|
if (render) {
|
|
5542
5544
|
const { x, y, transformValue, field, columnWidth, rowHeight, style, zIndex } = render;
|
|
5543
5545
|
let textRender = transformValue;
|
|
5544
|
-
if (
|
|
5546
|
+
if (isUndefinedOrNull(textRender)) {
|
|
5545
5547
|
return;
|
|
5546
5548
|
}
|
|
5547
5549
|
textRender = textRender.replace(/\r|\n/g, ' ');
|
|
@@ -5595,15 +5597,15 @@ class AITableCellRichText {
|
|
|
5595
5597
|
});
|
|
5596
5598
|
}
|
|
5597
5599
|
static { this.fieldType = AITableFieldType.richText; }
|
|
5598
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5599
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
5600
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellRichText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5601
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellRichText, isStandalone: true, selector: "ai-table-rich-text", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
5600
5602
|
@if (textConfig()) {
|
|
5601
5603
|
<ai-table-text [config]="textConfig()!"></ai-table-text>
|
|
5602
5604
|
}
|
|
5603
5605
|
<ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
|
|
5604
5606
|
`, isInline: true, dependencies: [{ kind: "component", type: AITableText, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: AITableActionIcon, selector: "ai-table-action-icon", inputs: ["config"], outputs: ["onClick", "onMousemove", "onMouseenter", "onMouseleave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5605
5607
|
}
|
|
5606
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5608
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellRichText, decorators: [{
|
|
5607
5609
|
type: Component,
|
|
5608
5610
|
args: [{
|
|
5609
5611
|
selector: 'ai-table-rich-text',
|
|
@@ -5613,7 +5615,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5613
5615
|
}
|
|
5614
5616
|
<ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
|
|
5615
5617
|
`,
|
|
5616
|
-
standalone: true,
|
|
5617
5618
|
imports: [AITableText, AITableActionIcon],
|
|
5618
5619
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5619
5620
|
}]
|
|
@@ -5779,7 +5780,7 @@ class AddRowLayout extends Layout {
|
|
|
5779
5780
|
stroke: this.colors.gray200
|
|
5780
5781
|
});
|
|
5781
5782
|
}
|
|
5782
|
-
renderFirstCell({ isHoverRow }) {
|
|
5783
|
+
renderFirstCell({ isHoverRow, disabled }) {
|
|
5783
5784
|
if (!this.isFirst)
|
|
5784
5785
|
return;
|
|
5785
5786
|
const y = this.y;
|
|
@@ -5805,7 +5806,7 @@ class AddRowLayout extends Layout {
|
|
|
5805
5806
|
y: y + (rowHeight - AI_TABLE_ICON_COMMON_SIZE) / 2 - AI_TABLE_OFFSET,
|
|
5806
5807
|
data: AddOutlinedPath,
|
|
5807
5808
|
size: AI_TABLE_ROW_HEAD_SIZE,
|
|
5808
|
-
fill: this.colors.gray600
|
|
5809
|
+
fill: disabled ? this.colors.gray300 : this.colors.gray600
|
|
5809
5810
|
});
|
|
5810
5811
|
}
|
|
5811
5812
|
renderLastCell({ isHoverRow, isCheckedRow }) {
|
|
@@ -5828,9 +5829,10 @@ class AddRowLayout extends Layout {
|
|
|
5828
5829
|
isHoverRow
|
|
5829
5830
|
});
|
|
5830
5831
|
}
|
|
5831
|
-
render({ isHoverRow, isCheckedRow }) {
|
|
5832
|
+
render({ isHoverRow, isCheckedRow, disabled }) {
|
|
5832
5833
|
this.renderFirstCell({
|
|
5833
|
-
isHoverRow
|
|
5834
|
+
isHoverRow,
|
|
5835
|
+
disabled
|
|
5834
5836
|
});
|
|
5835
5837
|
this.renderCommonCell({
|
|
5836
5838
|
isHoverRow
|
|
@@ -6359,7 +6361,7 @@ class CellDrawer extends Drawer {
|
|
|
6359
6361
|
}
|
|
6360
6362
|
renderCellText(render, ctx) {
|
|
6361
6363
|
const { x, y, transformValue, field, columnWidth, style } = render;
|
|
6362
|
-
if (
|
|
6364
|
+
if (isUndefinedOrNull(transformValue)) {
|
|
6363
6365
|
return;
|
|
6364
6366
|
}
|
|
6365
6367
|
const fieldType = field.type;
|
|
@@ -6725,7 +6727,7 @@ class CellDrawer extends Drawer {
|
|
|
6725
6727
|
renderCellDate(render, ctx) {
|
|
6726
6728
|
const { x, y, transformValue, columnWidth, style } = render;
|
|
6727
6729
|
const colors = AITable.getColors();
|
|
6728
|
-
if (
|
|
6730
|
+
if (isUndefinedOrNull(transformValue)) {
|
|
6729
6731
|
return;
|
|
6730
6732
|
}
|
|
6731
6733
|
const textMaxWidth = columnWidth - 2 * AI_TABLE_CELL_PADDING;
|
|
@@ -6771,7 +6773,7 @@ class CellDrawer extends Drawer {
|
|
|
6771
6773
|
const { x, y, transformValue, columnWidth, style } = render;
|
|
6772
6774
|
const colors = AITable.getColors();
|
|
6773
6775
|
let validateTransformValue = transformValue;
|
|
6774
|
-
if (
|
|
6776
|
+
if (isUndefinedOrNull(validateTransformValue)) {
|
|
6775
6777
|
validateTransformValue = 0;
|
|
6776
6778
|
}
|
|
6777
6779
|
const width = columnWidth - 2 * AI_TABLE_CELL_PADDING - AI_TABLE_PROGRESS_TEXT_WIDTH;
|
|
@@ -6915,7 +6917,7 @@ class CellDrawer extends Drawer {
|
|
|
6915
6917
|
}
|
|
6916
6918
|
renderCellAttachment(render, ctx) {
|
|
6917
6919
|
const { references, x, y, field, transformValue, rowHeight, columnWidth, isActive } = render;
|
|
6918
|
-
if (
|
|
6920
|
+
if (isUndefinedOrNull(transformValue)) {
|
|
6919
6921
|
return;
|
|
6920
6922
|
}
|
|
6921
6923
|
const fileIconSize = AI_TABLE_FILE_ICON_SIZE;
|
|
@@ -7097,7 +7099,7 @@ const recordRowLayout = new RecordRowLayout();
|
|
|
7097
7099
|
* @param config
|
|
7098
7100
|
*/
|
|
7099
7101
|
const createCells = (config) => {
|
|
7100
|
-
const { aiTable, coordinate, references, ctx, rowStartIndex, rowStopIndex, columnStartIndex, columnStopIndex } = config;
|
|
7102
|
+
const { aiTable, coordinate, references, ctx, rowStartIndex, rowStopIndex, columnStartIndex, columnStopIndex, maxRecords } = config;
|
|
7101
7103
|
const context = aiTable.context;
|
|
7102
7104
|
const { rowHeight, columnCount, rowCount } = coordinate;
|
|
7103
7105
|
const colors = AITable.getColors();
|
|
@@ -7149,7 +7151,8 @@ const createCells = (config) => {
|
|
|
7149
7151
|
});
|
|
7150
7152
|
addRowLayout.render({
|
|
7151
7153
|
isHoverRow,
|
|
7152
|
-
isCheckedRow
|
|
7154
|
+
isCheckedRow,
|
|
7155
|
+
disabled: maxRecords ? rowIndex >= maxRecords : false
|
|
7153
7156
|
});
|
|
7154
7157
|
break;
|
|
7155
7158
|
}
|
|
@@ -7294,7 +7297,7 @@ class AITableIcon {
|
|
|
7294
7297
|
};
|
|
7295
7298
|
});
|
|
7296
7299
|
this.iconConfig = computed(() => {
|
|
7297
|
-
const { type, data, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, stroke, strokeWidth = 1, scaleX, scaleY, offsetX, offsetY, rotation, fill = Colors.gray600, transformsEnabled = 'position' } = this.config();
|
|
7300
|
+
const { type, data, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, stroke, strokeWidth = 1, scaleX, scaleY, offsetX, offsetY, rotation, fill = Colors.gray600, transformsEnabled = 'position', disabled } = this.config();
|
|
7298
7301
|
let pathData = data;
|
|
7299
7302
|
switch (type) {
|
|
7300
7303
|
case AITableCheckType.checked:
|
|
@@ -7313,7 +7316,7 @@ class AITableIcon {
|
|
|
7313
7316
|
data: pathData,
|
|
7314
7317
|
width: size,
|
|
7315
7318
|
height: size,
|
|
7316
|
-
fill,
|
|
7319
|
+
fill: disabled ? Colors.gray300 : fill,
|
|
7317
7320
|
offsetX,
|
|
7318
7321
|
offsetY,
|
|
7319
7322
|
scaleX,
|
|
@@ -7327,15 +7330,15 @@ class AITableIcon {
|
|
|
7327
7330
|
};
|
|
7328
7331
|
});
|
|
7329
7332
|
}
|
|
7330
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7331
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
7333
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7334
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableIcon, isStandalone: true, selector: "ai-table-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
7332
7335
|
<ko-group [config]="groupConfig()">
|
|
7333
7336
|
<ko-rect [config]="squareShapeConfig()"></ko-rect>
|
|
7334
7337
|
<ko-path [config]="iconConfig()"></ko-path>
|
|
7335
7338
|
</ko-group>
|
|
7336
7339
|
`, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7337
7340
|
}
|
|
7338
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7341
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableIcon, decorators: [{
|
|
7339
7342
|
type: Component,
|
|
7340
7343
|
args: [{
|
|
7341
7344
|
selector: 'ai-table-icon',
|
|
@@ -7345,7 +7348,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7345
7348
|
<ko-path [config]="iconConfig()"></ko-path>
|
|
7346
7349
|
</ko-group>
|
|
7347
7350
|
`,
|
|
7348
|
-
standalone: true,
|
|
7349
7351
|
imports: [KoContainer, KoShape],
|
|
7350
7352
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
7351
7353
|
}]
|
|
@@ -7361,16 +7363,17 @@ class AITableAddField {
|
|
|
7361
7363
|
return lastColumnWidth + lastColumnOffset;
|
|
7362
7364
|
});
|
|
7363
7365
|
this.rectConfig = computed(() => {
|
|
7364
|
-
const { pointPosition: { targetName }, readonly } = this.config();
|
|
7366
|
+
const { pointPosition: { targetName }, readonly, maxFields, aiTable } = this.config();
|
|
7365
7367
|
const fill = targetName === AI_TABLE_FIELD_ADD_BUTTON ? Colors.gray80 : Colors.white;
|
|
7366
7368
|
const fields = this.config().fields || [];
|
|
7367
7369
|
const index = this.config().columnStopIndex;
|
|
7368
7370
|
const fieldId = fields.length && index < fields.length ? fields[index]._id : '';
|
|
7371
|
+
const disabled = maxFields && aiTable.gridData().fields.length >= maxFields;
|
|
7369
7372
|
return {
|
|
7370
7373
|
name: generateTargetName({
|
|
7371
7374
|
targetName: AI_TABLE_FIELD_ADD_BUTTON,
|
|
7372
7375
|
fieldId,
|
|
7373
|
-
mouseStyle: readonly ? 'default' : 'pointer'
|
|
7376
|
+
mouseStyle: readonly || disabled ? 'default' : 'pointer'
|
|
7374
7377
|
}),
|
|
7375
7378
|
x: AI_TABLE_OFFSET,
|
|
7376
7379
|
y: AI_TABLE_OFFSET,
|
|
@@ -7385,7 +7388,7 @@ class AITableAddField {
|
|
|
7385
7388
|
};
|
|
7386
7389
|
});
|
|
7387
7390
|
this.addIconConfig = computed(() => {
|
|
7388
|
-
const { readonly } = this.config();
|
|
7391
|
+
const { readonly, maxFields, aiTable } = this.config();
|
|
7389
7392
|
const offsetY = (this.config().coordinate.rowInitSize - AI_TABLE_ICON_COMMON_SIZE) / 2;
|
|
7390
7393
|
return {
|
|
7391
7394
|
x: AI_TABLE_CELL_PADDING,
|
|
@@ -7393,12 +7396,13 @@ class AITableAddField {
|
|
|
7393
7396
|
data: AddOutlinedPath,
|
|
7394
7397
|
fill: Colors.gray600,
|
|
7395
7398
|
listening: false,
|
|
7396
|
-
visible: !readonly
|
|
7399
|
+
visible: !readonly,
|
|
7400
|
+
disabled: maxFields ? aiTable.gridData().fields.length >= maxFields : false
|
|
7397
7401
|
};
|
|
7398
7402
|
});
|
|
7399
7403
|
}
|
|
7400
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7401
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
7404
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableAddField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7405
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableAddField, isStandalone: true, selector: "ai-table-add-field", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
7402
7406
|
<ko-group [config]="{ x: x() }">
|
|
7403
7407
|
<ko-group>
|
|
7404
7408
|
<ko-rect [config]="rectConfig()"></ko-rect>
|
|
@@ -7411,7 +7415,7 @@ class AITableAddField {
|
|
|
7411
7415
|
</ko-group>
|
|
7412
7416
|
`, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7413
7417
|
}
|
|
7414
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableAddField, decorators: [{
|
|
7415
7419
|
type: Component,
|
|
7416
7420
|
args: [{
|
|
7417
7421
|
selector: 'ai-table-add-field',
|
|
@@ -7427,7 +7431,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7427
7431
|
</ko-group>
|
|
7428
7432
|
</ko-group>
|
|
7429
7433
|
`,
|
|
7430
|
-
standalone: true,
|
|
7431
7434
|
imports: [KoContainer, KoShape, AITableIcon],
|
|
7432
7435
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
7433
7436
|
}]
|
|
@@ -7450,15 +7453,14 @@ class AITableCells {
|
|
|
7450
7453
|
};
|
|
7451
7454
|
});
|
|
7452
7455
|
}
|
|
7453
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7454
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
7456
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7457
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableCells, isStandalone: true, selector: "ai-table-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ko-shape [config]="cellsShapeConfig()"></ko-shape> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7455
7458
|
}
|
|
7456
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7459
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCells, decorators: [{
|
|
7457
7460
|
type: Component,
|
|
7458
7461
|
args: [{
|
|
7459
7462
|
selector: 'ai-table-cells',
|
|
7460
7463
|
template: ` <ko-shape [config]="cellsShapeConfig()"></ko-shape> `,
|
|
7461
|
-
standalone: true,
|
|
7462
7464
|
imports: [KoShape],
|
|
7463
7465
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
7464
7466
|
}]
|
|
@@ -7517,15 +7519,14 @@ class AITableFieldIcon {
|
|
|
7517
7519
|
};
|
|
7518
7520
|
});
|
|
7519
7521
|
}
|
|
7520
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7521
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
7522
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7523
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableFieldIcon, isStandalone: true, selector: "ai-table-field-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ai-table-icon [config]="iconConfig()"></ai-table-icon> `, isInline: true, dependencies: [{ kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7522
7524
|
}
|
|
7523
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldIcon, decorators: [{
|
|
7524
7526
|
type: Component,
|
|
7525
7527
|
args: [{
|
|
7526
7528
|
selector: 'ai-table-field-icon',
|
|
7527
7529
|
template: ` <ai-table-icon [config]="iconConfig()"></ai-table-icon> `,
|
|
7528
|
-
standalone: true,
|
|
7529
7530
|
imports: [AITableIcon],
|
|
7530
7531
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
7531
7532
|
}]
|
|
@@ -7631,8 +7632,8 @@ class AITableFieldHead {
|
|
|
7631
7632
|
};
|
|
7632
7633
|
});
|
|
7633
7634
|
}
|
|
7634
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7635
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
7635
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7636
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFieldHead, isStandalone: true, selector: "ai-table-field-head", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
7636
7637
|
<ko-group [config]="groupConfig()">
|
|
7637
7638
|
<ko-rect [config]="bgConfig()"></ko-rect>
|
|
7638
7639
|
<ko-group>
|
|
@@ -7646,7 +7647,7 @@ class AITableFieldHead {
|
|
|
7646
7647
|
</ko-group>
|
|
7647
7648
|
`, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableFieldIcon, selector: "ai-table-field-icon", inputs: ["config"] }, { kind: "component", type: AITableText, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7648
7649
|
}
|
|
7649
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7650
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldHead, decorators: [{
|
|
7650
7651
|
type: Component,
|
|
7651
7652
|
args: [{
|
|
7652
7653
|
selector: 'ai-table-field-head',
|
|
@@ -7663,7 +7664,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7663
7664
|
<ko-line [config]="fieldOpacityLineConfig()"></ko-line>
|
|
7664
7665
|
</ko-group>
|
|
7665
7666
|
`,
|
|
7666
|
-
standalone: true,
|
|
7667
7667
|
imports: [KoContainer, KoShape, AITableFieldIcon, AITableText, AITableIcon],
|
|
7668
7668
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
7669
7669
|
}]
|
|
@@ -7687,15 +7687,14 @@ class AITableFrozenCells {
|
|
|
7687
7687
|
};
|
|
7688
7688
|
});
|
|
7689
7689
|
}
|
|
7690
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7691
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
7690
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7691
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableFrozenCells, isStandalone: true, selector: "ai-table-frozen-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-shape [config]="frozenCellsConfig()"></ko-shape>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7692
7692
|
}
|
|
7693
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7693
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenCells, decorators: [{
|
|
7694
7694
|
type: Component,
|
|
7695
7695
|
args: [{
|
|
7696
7696
|
selector: 'ai-table-frozen-cells',
|
|
7697
7697
|
template: `<ko-shape [config]="frozenCellsConfig()"></ko-shape>`,
|
|
7698
|
-
standalone: true,
|
|
7699
7698
|
imports: [KoShape],
|
|
7700
7699
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
7701
7700
|
}]
|
|
@@ -7907,8 +7906,8 @@ class AITableFrozenColumnHeads {
|
|
|
7907
7906
|
];
|
|
7908
7907
|
});
|
|
7909
7908
|
}
|
|
7910
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7911
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
7909
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7910
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFrozenColumnHeads, isStandalone: true, selector: "ai-table-frozen-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
7912
7911
|
<ko-rect [config]="headBgConfig()"></ko-rect>
|
|
7913
7912
|
@if (!hiddenIndexColumn()) {
|
|
7914
7913
|
<ko-rect [config]="dragHeadBgConfig()"></ko-rect>
|
|
@@ -7928,7 +7927,7 @@ class AITableFrozenColumnHeads {
|
|
|
7928
7927
|
}
|
|
7929
7928
|
`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7930
7929
|
}
|
|
7931
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7930
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenColumnHeads, decorators: [{
|
|
7932
7931
|
type: Component,
|
|
7933
7932
|
args: [{
|
|
7934
7933
|
selector: 'ai-table-frozen-column-heads',
|
|
@@ -7951,7 +7950,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7951
7950
|
<ai-table-field-head [config]="config"></ai-table-field-head>
|
|
7952
7951
|
}
|
|
7953
7952
|
`,
|
|
7954
|
-
standalone: true,
|
|
7955
7953
|
imports: [KoShape, AITableFieldHead, AITableIcon, KoContainer],
|
|
7956
7954
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
7957
7955
|
}]
|
|
@@ -7969,14 +7967,14 @@ class AITableFrozenPlaceholderCells {
|
|
|
7969
7967
|
});
|
|
7970
7968
|
});
|
|
7971
7969
|
}
|
|
7972
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7973
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
7970
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenPlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7971
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFrozenPlaceholderCells, isStandalone: true, selector: "ai-table-frozen-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
7974
7972
|
@for (item of frozenPlaceHolderCellsConfig(); track $index) {
|
|
7975
7973
|
<ko-rect [config]="item"></ko-rect>
|
|
7976
7974
|
}
|
|
7977
7975
|
`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7978
7976
|
}
|
|
7979
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7977
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenPlaceholderCells, decorators: [{
|
|
7980
7978
|
type: Component,
|
|
7981
7979
|
args: [{
|
|
7982
7980
|
selector: 'ai-table-frozen-placeholder-cells',
|
|
@@ -7985,7 +7983,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7985
7983
|
<ko-rect [config]="item"></ko-rect>
|
|
7986
7984
|
}
|
|
7987
7985
|
`,
|
|
7988
|
-
standalone: true,
|
|
7989
7986
|
imports: [KoShape],
|
|
7990
7987
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
7991
7988
|
}]
|
|
@@ -8003,14 +8000,14 @@ class AITableColumnHeads {
|
|
|
8003
8000
|
});
|
|
8004
8001
|
});
|
|
8005
8002
|
}
|
|
8006
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8007
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
8003
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8004
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableColumnHeads, isStandalone: true, selector: "ai-table-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
8008
8005
|
@for (config of headConfigs(); track $index) {
|
|
8009
8006
|
<ai-table-field-head [config]="config"></ai-table-field-head>
|
|
8010
8007
|
}
|
|
8011
8008
|
`, isInline: true, dependencies: [{ kind: "component", type: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8012
8009
|
}
|
|
8013
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8010
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableColumnHeads, decorators: [{
|
|
8014
8011
|
type: Component,
|
|
8015
8012
|
args: [{
|
|
8016
8013
|
selector: 'ai-table-column-heads',
|
|
@@ -8019,7 +8016,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8019
8016
|
<ai-table-field-head [config]="config"></ai-table-field-head>
|
|
8020
8017
|
}
|
|
8021
8018
|
`,
|
|
8022
|
-
standalone: true,
|
|
8023
8019
|
imports: [AITableFieldHead],
|
|
8024
8020
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
8025
8021
|
}]
|
|
@@ -8107,8 +8103,8 @@ class AITableHoverRowHeads {
|
|
|
8107
8103
|
return headConfigs;
|
|
8108
8104
|
};
|
|
8109
8105
|
}
|
|
8110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8111
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
8106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableHoverRowHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8107
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableHoverRowHeads, isStandalone: true, selector: "ai-table-hover-row-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
8112
8108
|
@for (config of headConfigs(); track config.recordId) {
|
|
8113
8109
|
<ko-group [config]="{ x: 0, y: config.y, name: 'hover-heads' }">
|
|
8114
8110
|
@if (config.bgConfig) {
|
|
@@ -8124,7 +8120,7 @@ class AITableHoverRowHeads {
|
|
|
8124
8120
|
}
|
|
8125
8121
|
`, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8126
8122
|
}
|
|
8127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableHoverRowHeads, decorators: [{
|
|
8128
8124
|
type: Component,
|
|
8129
8125
|
args: [{
|
|
8130
8126
|
selector: 'ai-table-hover-row-heads',
|
|
@@ -8143,7 +8139,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8143
8139
|
</ko-group>
|
|
8144
8140
|
}
|
|
8145
8141
|
`,
|
|
8146
|
-
standalone: true,
|
|
8147
8142
|
imports: [KoContainer, KoShape, AITableIcon],
|
|
8148
8143
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
8149
8144
|
}]
|
|
@@ -8157,11 +8152,13 @@ class AITableOtherRows {
|
|
|
8157
8152
|
return this.createOtherRows(this.config());
|
|
8158
8153
|
});
|
|
8159
8154
|
this.createOtherRows = (config) => {
|
|
8160
|
-
const { coordinate, rowStartIndex, rowStopIndex, aiTable } = config;
|
|
8155
|
+
const { coordinate, rowStartIndex, rowStopIndex, aiTable, maxRecords } = config;
|
|
8161
8156
|
const otherRowConfigs = [];
|
|
8162
8157
|
for (let rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) {
|
|
8163
8158
|
if (rowIndex > coordinate.rowCount - 1)
|
|
8164
8159
|
break;
|
|
8160
|
+
if (maxRecords && rowIndex >= maxRecords)
|
|
8161
|
+
break;
|
|
8165
8162
|
const { _id, type } = aiTable.context.linearRows()[rowIndex];
|
|
8166
8163
|
if (type === AITableRowType.record)
|
|
8167
8164
|
continue;
|
|
@@ -8182,8 +8179,8 @@ class AITableOtherRows {
|
|
|
8182
8179
|
return otherRowConfigs;
|
|
8183
8180
|
};
|
|
8184
8181
|
}
|
|
8185
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8186
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
8182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8183
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableOtherRows, isStandalone: true, selector: "ai-table-other-rows", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
8187
8184
|
@for (config of otherConfigs(); track $index) {
|
|
8188
8185
|
@switch (config.type) {
|
|
8189
8186
|
@case (AITableRowType.add) {
|
|
@@ -8193,7 +8190,7 @@ class AITableOtherRows {
|
|
|
8193
8190
|
}
|
|
8194
8191
|
`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8195
8192
|
}
|
|
8196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableOtherRows, decorators: [{
|
|
8197
8194
|
type: Component,
|
|
8198
8195
|
args: [{
|
|
8199
8196
|
selector: 'ai-table-other-rows',
|
|
@@ -8206,7 +8203,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8206
8203
|
}
|
|
8207
8204
|
}
|
|
8208
8205
|
`,
|
|
8209
|
-
standalone: true,
|
|
8210
8206
|
imports: [KoShape],
|
|
8211
8207
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
8212
8208
|
}]
|
|
@@ -8219,14 +8215,14 @@ class AITablePlaceholderCells {
|
|
|
8219
8215
|
return getPlaceHolderCellsConfigs(this.config());
|
|
8220
8216
|
});
|
|
8221
8217
|
}
|
|
8222
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8223
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
8218
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8219
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITablePlaceholderCells, isStandalone: true, selector: "ai-table-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
8224
8220
|
@for (item of frozenPlaceHolderCellsConfig(); track $index) {
|
|
8225
8221
|
<ko-rect [config]="item"></ko-rect>
|
|
8226
8222
|
}
|
|
8227
8223
|
`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8228
8224
|
}
|
|
8229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITablePlaceholderCells, decorators: [{
|
|
8230
8226
|
type: Component,
|
|
8231
8227
|
args: [{
|
|
8232
8228
|
selector: 'ai-table-placeholder-cells',
|
|
@@ -8235,7 +8231,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8235
8231
|
<ko-rect [config]="item"></ko-rect>
|
|
8236
8232
|
}
|
|
8237
8233
|
`,
|
|
8238
|
-
standalone: true,
|
|
8239
8234
|
imports: [KoShape],
|
|
8240
8235
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
8241
8236
|
}]
|
|
@@ -8309,17 +8304,17 @@ class AITableHoverCells {
|
|
|
8309
8304
|
});
|
|
8310
8305
|
this.hoverCell = computed(() => getHoverCell(this.config().aiTable));
|
|
8311
8306
|
}
|
|
8312
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8313
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
8307
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableHoverCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8308
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableHoverCells, isStandalone: true, selector: "ai-table-hover-cell", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
8314
8309
|
@if (hoverCell()) {
|
|
8315
8310
|
<ko-group [config]="groupConfig()">
|
|
8316
8311
|
<ng-container *ngComponentOutlet="hoverCell()!.renderComponentDefinition; inputs: { config: hoverCellConfig() }">
|
|
8317
8312
|
</ng-container>
|
|
8318
8313
|
</ko-group>
|
|
8319
8314
|
}
|
|
8320
|
-
`, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8315
|
+
`, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8321
8316
|
}
|
|
8322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableHoverCells, decorators: [{
|
|
8323
8318
|
type: Component,
|
|
8324
8319
|
args: [{
|
|
8325
8320
|
selector: 'ai-table-hover-cell',
|
|
@@ -8331,7 +8326,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8331
8326
|
</ko-group>
|
|
8332
8327
|
}
|
|
8333
8328
|
`,
|
|
8334
|
-
standalone: true,
|
|
8335
8329
|
imports: [KoContainer, CommonModule],
|
|
8336
8330
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
8337
8331
|
}]
|
|
@@ -8420,6 +8414,14 @@ class AITableRenderer {
|
|
|
8420
8414
|
clipHeight: this.containerHeight() - this.coordinate().rowInitSize
|
|
8421
8415
|
};
|
|
8422
8416
|
});
|
|
8417
|
+
this.hoverAttachGroupConfig = computed(() => {
|
|
8418
|
+
return {
|
|
8419
|
+
clipX: this.frozenAreaWidth() + 1,
|
|
8420
|
+
clipY: this.coordinate().rowInitSize + 1,
|
|
8421
|
+
clipWidth: this.containerWidth() - this.frozenAreaWidth(),
|
|
8422
|
+
clipHeight: this.containerHeight() - this.coordinate().rowInitSize
|
|
8423
|
+
};
|
|
8424
|
+
});
|
|
8423
8425
|
this.frozenAttachGroupConfig = computed(() => {
|
|
8424
8426
|
return {
|
|
8425
8427
|
clipX: 0,
|
|
@@ -8428,6 +8430,14 @@ class AITableRenderer {
|
|
|
8428
8430
|
clipHeight: this.containerHeight() - this.coordinate().rowInitSize
|
|
8429
8431
|
};
|
|
8430
8432
|
});
|
|
8433
|
+
this.frozenHoverAttachGroupConfig = computed(() => {
|
|
8434
|
+
return {
|
|
8435
|
+
clipX: 0,
|
|
8436
|
+
clipY: this.coordinate().rowInitSize + 1,
|
|
8437
|
+
clipWidth: this.frozenAreaWidth() + 4,
|
|
8438
|
+
clipHeight: this.containerHeight() - this.coordinate().rowInitSize
|
|
8439
|
+
};
|
|
8440
|
+
});
|
|
8431
8441
|
this.offsetYConfig = computed(() => {
|
|
8432
8442
|
const { scrollTop } = this.scrollState();
|
|
8433
8443
|
return {
|
|
@@ -8449,7 +8459,7 @@ class AITableRenderer {
|
|
|
8449
8459
|
});
|
|
8450
8460
|
this.columnHeadOrAddFieldConfig = computed(() => {
|
|
8451
8461
|
const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
|
|
8452
|
-
const { aiTable, coordinate, readonly } = this.config();
|
|
8462
|
+
const { aiTable, coordinate, readonly, maxFields } = this.config();
|
|
8453
8463
|
const { pointPosition } = aiTable.context;
|
|
8454
8464
|
const fields = this.fields();
|
|
8455
8465
|
return {
|
|
@@ -8459,11 +8469,12 @@ class AITableRenderer {
|
|
|
8459
8469
|
columnStartIndex,
|
|
8460
8470
|
columnStopIndex,
|
|
8461
8471
|
pointPosition: pointPosition(),
|
|
8462
|
-
readonly
|
|
8472
|
+
readonly,
|
|
8473
|
+
maxFields
|
|
8463
8474
|
};
|
|
8464
8475
|
});
|
|
8465
8476
|
this.cellsConfig = computed(() => {
|
|
8466
|
-
const { aiTable, readonly, coordinate, references, actions, rowDragDisabled } = this.config();
|
|
8477
|
+
const { aiTable, readonly, coordinate, references, actions, rowDragDisabled, maxRecords } = this.config();
|
|
8467
8478
|
const { rowStartIndex, rowStopIndex, columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
|
|
8468
8479
|
return {
|
|
8469
8480
|
aiTable,
|
|
@@ -8475,7 +8486,8 @@ class AITableRenderer {
|
|
|
8475
8486
|
columnStartIndex,
|
|
8476
8487
|
columnStopIndex,
|
|
8477
8488
|
actions,
|
|
8478
|
-
rowDragDisabled
|
|
8489
|
+
rowDragDisabled,
|
|
8490
|
+
maxRecords
|
|
8479
8491
|
};
|
|
8480
8492
|
});
|
|
8481
8493
|
this.activeCellBorderConfig = computed(() => {
|
|
@@ -8503,12 +8515,12 @@ class AITableRenderer {
|
|
|
8503
8515
|
stageMouseleave(e) {
|
|
8504
8516
|
this.koMouseleave.emit(e);
|
|
8505
8517
|
}
|
|
8506
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8507
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
8518
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8519
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"hoverAttachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenHoverAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableHoverCells, selector: "ai-table-hover-cell", inputs: ["config"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8508
8520
|
}
|
|
8509
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8521
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableRenderer, decorators: [{
|
|
8510
8522
|
type: Component,
|
|
8511
|
-
args: [{ selector: 'ai-table-renderer',
|
|
8523
|
+
args: [{ selector: 'ai-table-renderer', imports: [
|
|
8512
8524
|
KoContainer,
|
|
8513
8525
|
KoStage,
|
|
8514
8526
|
KoShape,
|
|
@@ -8522,7 +8534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8522
8534
|
AITableAddField,
|
|
8523
8535
|
AITableHoverRowHeads,
|
|
8524
8536
|
AITableOtherRows
|
|
8525
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
|
|
8537
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"hoverAttachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenHoverAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-hover-cell [config]=\"cellsConfig()\"></ai-table-hover-cell>\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
|
|
8526
8538
|
}] });
|
|
8527
8539
|
|
|
8528
8540
|
class AITableCellRate {
|
|
@@ -8642,8 +8654,8 @@ class AITableCellRate {
|
|
|
8642
8654
|
});
|
|
8643
8655
|
}
|
|
8644
8656
|
}
|
|
8645
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8646
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
8657
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellRate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8658
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellRate, isStandalone: true, selector: "ai-table-rate", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
8647
8659
|
@if (!readonly()) {
|
|
8648
8660
|
<ko-rect [config]="whiteBgConfig()" (koMousemove)="koMousemove($event)"></ko-rect>
|
|
8649
8661
|
}
|
|
@@ -8652,7 +8664,7 @@ class AITableCellRate {
|
|
|
8652
8664
|
}
|
|
8653
8665
|
`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8654
8666
|
}
|
|
8655
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8667
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellRate, decorators: [{
|
|
8656
8668
|
type: Component,
|
|
8657
8669
|
args: [{
|
|
8658
8670
|
selector: 'ai-table-rate',
|
|
@@ -8664,7 +8676,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8664
8676
|
<ko-path [config]="config" (koClick)="koClick($event, index)"></ko-path>
|
|
8665
8677
|
}
|
|
8666
8678
|
`,
|
|
8667
|
-
standalone: true,
|
|
8668
8679
|
imports: [KoShape],
|
|
8669
8680
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
8670
8681
|
}]
|
|
@@ -8694,7 +8705,7 @@ class AITableCellProgress {
|
|
|
8694
8705
|
}
|
|
8695
8706
|
const { render } = this.config();
|
|
8696
8707
|
const { transformValue } = render;
|
|
8697
|
-
if (
|
|
8708
|
+
if (isUndefinedOrNull(transformValue)) {
|
|
8698
8709
|
return 0;
|
|
8699
8710
|
}
|
|
8700
8711
|
return transformValue;
|
|
@@ -8889,8 +8900,8 @@ class AITableCellProgress {
|
|
|
8889
8900
|
});
|
|
8890
8901
|
}
|
|
8891
8902
|
}
|
|
8892
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8893
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
8903
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellProgress, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8904
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellProgress, isStandalone: true, selector: "ai-table-progress", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
8894
8905
|
@if (!readonly()) {
|
|
8895
8906
|
<ko-rect [config]="whiteBgConfig()"></ko-rect>
|
|
8896
8907
|
}
|
|
@@ -8905,7 +8916,7 @@ class AITableCellProgress {
|
|
|
8905
8916
|
<ko-text [config]="textConfig()"></ko-text>
|
|
8906
8917
|
`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8907
8918
|
}
|
|
8908
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8919
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellProgress, decorators: [{
|
|
8909
8920
|
type: Component,
|
|
8910
8921
|
args: [{
|
|
8911
8922
|
selector: 'ai-table-progress',
|
|
@@ -8923,7 +8934,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8923
8934
|
></ko-rect>
|
|
8924
8935
|
<ko-text [config]="textConfig()"></ko-text>
|
|
8925
8936
|
`,
|
|
8926
|
-
standalone: true,
|
|
8927
8937
|
imports: [KoShape],
|
|
8928
8938
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
8929
8939
|
}]
|
|
@@ -9214,10 +9224,10 @@ class AITableGridEventService {
|
|
|
9214
9224
|
});
|
|
9215
9225
|
return ref;
|
|
9216
9226
|
}
|
|
9217
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9218
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
9227
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9228
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridEventService }); }
|
|
9219
9229
|
}
|
|
9220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridEventService, decorators: [{
|
|
9221
9231
|
type: Injectable
|
|
9222
9232
|
}] });
|
|
9223
9233
|
|
|
@@ -9231,6 +9241,8 @@ class AITableGridBase {
|
|
|
9231
9241
|
this.aiReadonly = input(false);
|
|
9232
9242
|
this.aiRowDragDisabled = input(false);
|
|
9233
9243
|
this.aiPlugins = input();
|
|
9244
|
+
this.aiMaxFields = input();
|
|
9245
|
+
this.aiMaxRecords = input();
|
|
9234
9246
|
this.aiReferences = input.required();
|
|
9235
9247
|
this.aiBuildRenderDataFn = input();
|
|
9236
9248
|
this.aiGetI18nTextByKey = input();
|
|
@@ -9297,6 +9309,11 @@ class AITableGridBase {
|
|
|
9297
9309
|
AI_TABLE_GRID_FIELD_SERVICE_MAP.set(this.aiTable, this.aiTableGridFieldService);
|
|
9298
9310
|
}
|
|
9299
9311
|
addRecord(options) {
|
|
9312
|
+
const records = this.aiTable.gridData().records;
|
|
9313
|
+
const recordCount = records.length;
|
|
9314
|
+
if (this.aiMaxRecords() && recordCount >= this.aiMaxRecords()) {
|
|
9315
|
+
return;
|
|
9316
|
+
}
|
|
9300
9317
|
this.aiAddRecord.emit(options || {});
|
|
9301
9318
|
}
|
|
9302
9319
|
selectRecord(recordId) {
|
|
@@ -9306,6 +9323,9 @@ class AITableGridBase {
|
|
|
9306
9323
|
this.aiTableGridSelectionService.toggleSelectAll(checked);
|
|
9307
9324
|
}
|
|
9308
9325
|
addField(gridColumnBlank, position) {
|
|
9326
|
+
if (this.aiMaxFields() && this.aiTable.gridData().fields.length >= this.aiMaxFields()) {
|
|
9327
|
+
return;
|
|
9328
|
+
}
|
|
9309
9329
|
const field = createDefaultField(this.aiTable, AITableFieldType.text);
|
|
9310
9330
|
const popoverRef = this.aiTableGridFieldService.editFieldProperty(this.aiTable, {
|
|
9311
9331
|
field,
|
|
@@ -9343,15 +9363,14 @@ class AITableGridBase {
|
|
|
9343
9363
|
this.aiTableGridEventService.openEdit(cellDom);
|
|
9344
9364
|
}
|
|
9345
9365
|
}
|
|
9346
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9347
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
9366
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9367
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableGridBase, isStandalone: true, selector: "ai-table-grid-base", inputs: { aiRecords: { classPropertyName: "aiRecords", publicName: "aiRecords", isSignal: true, isRequired: true, transformFunction: null }, aiFields: { classPropertyName: "aiFields", publicName: "aiFields", isSignal: true, isRequired: true, transformFunction: null }, aiFieldsSizeMap: { classPropertyName: "aiFieldsSizeMap", publicName: "aiFieldsSizeMap", isSignal: true, isRequired: true, transformFunction: null }, aiContextMenuItems: { classPropertyName: "aiContextMenuItems", publicName: "aiContextMenuItems", isSignal: true, isRequired: false, transformFunction: null }, aiFieldConfig: { classPropertyName: "aiFieldConfig", publicName: "aiFieldConfig", isSignal: true, isRequired: false, transformFunction: null }, aiReadonly: { classPropertyName: "aiReadonly", publicName: "aiReadonly", isSignal: true, isRequired: false, transformFunction: null }, aiRowDragDisabled: { classPropertyName: "aiRowDragDisabled", publicName: "aiRowDragDisabled", isSignal: true, isRequired: false, transformFunction: null }, aiPlugins: { classPropertyName: "aiPlugins", publicName: "aiPlugins", isSignal: true, isRequired: false, transformFunction: null }, aiMaxFields: { classPropertyName: "aiMaxFields", publicName: "aiMaxFields", isSignal: true, isRequired: false, transformFunction: null }, aiMaxRecords: { classPropertyName: "aiMaxRecords", publicName: "aiMaxRecords", isSignal: true, isRequired: false, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: true, transformFunction: null }, aiBuildRenderDataFn: { classPropertyName: "aiBuildRenderDataFn", publicName: "aiBuildRenderDataFn", isSignal: true, isRequired: false, transformFunction: null }, aiGetI18nTextByKey: { classPropertyName: "aiGetI18nTextByKey", publicName: "aiGetI18nTextByKey", isSignal: true, isRequired: false, transformFunction: null }, aiKeywords: { classPropertyName: "aiKeywords", publicName: "aiKeywords", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiRecords: "aiRecordsChange", aiFields: "aiFieldsChange", aiFieldsSizeMap: "aiFieldsSizeMapChange", aiTableInitialized: "aiTableInitialized", aiAddRecord: "aiAddRecord", aiAddField: "aiAddField", aiMoveField: "aiMoveField", aiUpdateFieldValue: "aiUpdateFieldValue", aiSetField: "aiSetField", aiSetFieldWidth: "aiSetFieldWidth", aiMoveRecords: "aiMoveRecords", aiClick: "aiClick", aiDbClick: "aiDbClick" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9348
9368
|
}
|
|
9349
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9369
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridBase, decorators: [{
|
|
9350
9370
|
type: Component,
|
|
9351
9371
|
args: [{
|
|
9352
9372
|
selector: 'ai-table-grid-base',
|
|
9353
9373
|
template: '',
|
|
9354
|
-
standalone: true,
|
|
9355
9374
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
9356
9375
|
}]
|
|
9357
9376
|
}] });
|
|
@@ -9370,16 +9389,15 @@ class AITableDomGrid extends AITableGridBase {
|
|
|
9370
9389
|
fieldMenus: this.fieldMenus()
|
|
9371
9390
|
});
|
|
9372
9391
|
}
|
|
9373
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9374
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableDomGrid, isStandalone: true, selector: "ai-table-dom-grid", host: { classAttribute: "ai-table-grid ai-table-dom-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], usesInheritance: true, ngImport: i0, template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\"\n >\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n href=\"javascript:;\"\n class=\"grid-field-action\"\n thyAction\n thyIcon=\"more-vertical\"\n (click)=\"openFieldMenu($event, field, fieldAction)\"\n >\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"selectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <!-- [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\" -->\n <div\n #cell\n class=\"grid-cell\"\n [attr.type]=\"[field.type]\"\n [attr.fieldId]=\"[field._id]\"\n [attr.recordId]=\"[record._id]\"\n [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\"\n >\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @let fieldValue = record.values[field._id];\n @let settings = field.settings! | selectSetting;\n @let options = settings['options'];\n @let optionStyle = settings['option_style'] || AITableSelectOptionStyle.tag;\n @let isTagStyle = optionStyle === AITableSelectOptionStyle.tag;\n\n @if (!settings['is_multiple'] && fieldValue | selectOption: options; as selectedOption) {\n @if (isTagStyle) {\n <select-option class=\"mb-1 mr-1\" [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n </div>\n }\n } @else {\n @let maxShowCount = 2;\n\n <div class=\"d-flex\">\n @if (fieldValue | selectOptions: options; as selectedOptions) {\n @for (option of selectedOptions; track option!._id; let i = $index) {\n @if (i + 1 <= maxShowCount) {\n @if (isTagStyle) {\n <select-option\n class=\"mb-1 mr-1\"\n [field]=\"field\"\n [displayOption]=\"option!\"\n ></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"option!\"></select-option>\n </div>\n }\n }\n }\n\n @let selectedLength = selectedOptions.length || 0;\n @if (selectedOptions && maxShowCount < selectedLength) {\n @let shape = isTagStyle ? 'pill' : 'rectangle';\n @let isHidden = maxShowCount >= selectedLength;\n\n <thy-tag\n class=\"cursor-pointer\"\n [class.multi-property-value-hidden]=\"isHidden\"\n [thyShape]=\"shape\"\n >\n <span class=\"text-truncate\"> +{{ selectedLength - maxShowCount }} </span>\n </thy-tag>\n }\n }\n </div>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id].timestamp | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"record.values[field._id]?.url\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"record.values[field._id]?.text\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id] || 0\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] || 0 }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @let settings = field.settings! | memberSetting;\n\n @if (!settings!['is_multiple']) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of recordValues; track $index) {\n <thy-avatar [thyName]=\"item.display_name!\" [thySrc]=\"item.avatar!\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: SelectOptionPipe, name: "selectOption" }, { kind: "pipe", type: SelectOptionsPipe, name: "selectOptions" }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyRate, selector: "thy-rate", inputs: ["thyCount", "thyDisabled", "thyAllowHalf", "thyAllowClear", "thyTooltips", "thyIconTemplate"], outputs: ["thyItemHoverChange"] }, { kind: "component", type: ThyProgress, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }, { kind: "pipe", type: ThyDatePickerFormatPipe, name: "thyDatePickerFormat" }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyCheckboxModule }, { kind: "component", type: i3$1.ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "ngmodule", type: ThyAvatarModule }, { kind: "component", type: i4.ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError"] }, { kind: "component", type: i4.ThyAvatarList, selector: "thy-avatar-list", inputs: ["thyMode", "thyAvatarSize"] }, { kind: "pipe", type: IsSelectRecordPipe, name: "isSelectRecord" }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "pipe", type: UserPipe, name: "user" }, { kind: "pipe", type: SelectSettingPipe, name: "selectSetting" }, { kind: "pipe", type: MemberSettingPipe, name: "memberSetting" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9392
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableDomGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
9393
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableDomGrid, isStandalone: true, selector: "ai-table-dom-grid", host: { classAttribute: "ai-table-grid ai-table-dom-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], usesInheritance: true, ngImport: i0, template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\"\n >\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n href=\"javascript:;\"\n class=\"grid-field-action\"\n thyAction\n thyIcon=\"more-vertical\"\n (click)=\"openFieldMenu($event, field, fieldAction)\"\n >\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"selectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <!-- [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\" -->\n <div\n #cell\n class=\"grid-cell\"\n [attr.type]=\"[field.type]\"\n [attr.fieldId]=\"[field._id]\"\n [attr.recordId]=\"[record._id]\"\n [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\"\n >\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @let fieldValue = record.values[field._id];\n @let settings = field.settings! | selectSetting;\n @let options = settings['options'];\n @let optionStyle = settings['option_style'] || AITableSelectOptionStyle.tag;\n @let isTagStyle = optionStyle === AITableSelectOptionStyle.tag;\n\n @if (!settings['is_multiple'] && fieldValue | selectOption: options; as selectedOption) {\n @if (isTagStyle) {\n <select-option class=\"mb-1 mr-1\" [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n </div>\n }\n } @else {\n @let maxShowCount = 2;\n\n <div class=\"d-flex\">\n @if (fieldValue | selectOptions: options; as selectedOptions) {\n @for (option of selectedOptions; track option!._id; let i = $index) {\n @if (i + 1 <= maxShowCount) {\n @if (isTagStyle) {\n <select-option\n class=\"mb-1 mr-1\"\n [field]=\"field\"\n [displayOption]=\"option!\"\n ></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"option!\"></select-option>\n </div>\n }\n }\n }\n\n @let selectedLength = selectedOptions.length || 0;\n @if (selectedOptions && maxShowCount < selectedLength) {\n @let shape = isTagStyle ? 'pill' : 'rectangle';\n @let isHidden = maxShowCount >= selectedLength;\n\n <thy-tag\n class=\"cursor-pointer\"\n [class.multi-property-value-hidden]=\"isHidden\"\n [thyShape]=\"shape\"\n >\n <span class=\"text-truncate\"> +{{ selectedLength - maxShowCount }} </span>\n </thy-tag>\n }\n }\n </div>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id].timestamp | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"record.values[field._id]?.url\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"record.values[field._id]?.text\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id] || 0\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] || 0 }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @let settings = field.settings! | memberSetting;\n\n @if (!settings!['is_multiple']) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of recordValues; track $index) {\n <thy-avatar [thyName]=\"item.display_name!\" [thySrc]=\"item.avatar!\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: SelectOptionPipe, name: "selectOption" }, { kind: "pipe", type: SelectOptionsPipe, name: "selectOptions" }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyRate, selector: "thy-rate", inputs: ["thyCount", "thyDisabled", "thyAllowHalf", "thyAllowClear", "thyTooltips", "thyIconTemplate"], outputs: ["thyItemHoverChange"] }, { kind: "component", type: ThyProgress, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }, { kind: "pipe", type: ThyDatePickerFormatPipe, name: "thyDatePickerFormat" }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyCheckboxModule }, { kind: "component", type: i3$1.ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "ngmodule", type: ThyAvatarModule }, { kind: "component", type: i4.ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError", "thySizeChange"] }, { kind: "component", type: i4.ThyAvatarList, selector: "thy-avatar-list", inputs: ["thyMode", "thyAvatarSize"] }, { kind: "pipe", type: IsSelectRecordPipe, name: "isSelectRecord" }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "pipe", type: UserPipe, name: "user" }, { kind: "pipe", type: SelectSettingPipe, name: "selectSetting" }, { kind: "pipe", type: MemberSettingPipe, name: "memberSetting" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9375
9394
|
}
|
|
9376
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9395
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableDomGrid, decorators: [{
|
|
9377
9396
|
type: Component,
|
|
9378
|
-
args: [{ selector: 'ai-table-dom-grid',
|
|
9397
|
+
args: [{ selector: 'ai-table-dom-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
9379
9398
|
class: 'ai-table-grid ai-table-dom-grid'
|
|
9380
9399
|
}, imports: [
|
|
9381
9400
|
NgClass,
|
|
9382
|
-
NgComponentOutlet,
|
|
9383
9401
|
CommonModule,
|
|
9384
9402
|
FormsModule,
|
|
9385
9403
|
SelectOptionPipe,
|
|
@@ -9389,17 +9407,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
9389
9407
|
ThyIcon,
|
|
9390
9408
|
ThyRate,
|
|
9391
9409
|
ThyProgress,
|
|
9392
|
-
AITableFieldSetting,
|
|
9393
9410
|
ThyDatePickerFormatPipe,
|
|
9394
9411
|
ThyFlexibleText,
|
|
9395
9412
|
ThyStopPropagationDirective,
|
|
9396
|
-
AITableFieldMenu,
|
|
9397
9413
|
ThyAction,
|
|
9398
|
-
ThyDropdownDirective,
|
|
9399
|
-
ThyDropdownMenuComponent,
|
|
9400
9414
|
ThyCheckboxModule,
|
|
9401
9415
|
ThyAvatarModule,
|
|
9402
|
-
NgTemplateOutlet,
|
|
9403
9416
|
IsSelectRecordPipe,
|
|
9404
9417
|
SelectOptionComponent,
|
|
9405
9418
|
UserPipe,
|
|
@@ -9692,12 +9705,12 @@ class AITableDragComponent {
|
|
|
9692
9705
|
this.timer = null;
|
|
9693
9706
|
}
|
|
9694
9707
|
}
|
|
9695
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9696
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
9708
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9709
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "ai-table-drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9697
9710
|
}
|
|
9698
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9711
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableDragComponent, decorators: [{
|
|
9699
9712
|
type: Component,
|
|
9700
|
-
args: [{ selector: 'ai-table-drag',
|
|
9713
|
+
args: [{ selector: 'ai-table-drag', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
9701
9714
|
class: 'ai-table-drag-container'
|
|
9702
9715
|
}, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>" }]
|
|
9703
9716
|
}], ctorParameters: () => [] });
|
|
@@ -9755,7 +9768,9 @@ class AITableGrid extends AITableGridBase {
|
|
|
9755
9768
|
references: this.aiReferences(),
|
|
9756
9769
|
readonly: this.aiReadonly(),
|
|
9757
9770
|
rowDragDisabled: this.aiRowDragDisabled(),
|
|
9758
|
-
actions: this.actions
|
|
9771
|
+
actions: this.actions,
|
|
9772
|
+
maxFields: this.aiMaxFields(),
|
|
9773
|
+
maxRecords: this.aiMaxRecords()
|
|
9759
9774
|
};
|
|
9760
9775
|
});
|
|
9761
9776
|
this.coordinate = computed(() => {
|
|
@@ -9828,7 +9843,7 @@ class AITableGrid extends AITableGridBase {
|
|
|
9828
9843
|
});
|
|
9829
9844
|
effect(() => {
|
|
9830
9845
|
this.setKeywordsMatchedCells();
|
|
9831
|
-
}
|
|
9846
|
+
});
|
|
9832
9847
|
effect(() => {
|
|
9833
9848
|
// 当新增行选中的cell,编辑后,activeCell 不在新增的行中时,根据筛选 过滤行数据,触发重新渲染
|
|
9834
9849
|
const activeCellPath = this.aiTable.selection().activeCell;
|
|
@@ -9839,7 +9854,7 @@ class AITableGrid extends AITableGridBase {
|
|
|
9839
9854
|
}
|
|
9840
9855
|
}
|
|
9841
9856
|
});
|
|
9842
|
-
}
|
|
9857
|
+
});
|
|
9843
9858
|
effect(() => {
|
|
9844
9859
|
const recordIdSet = new Set(this.aiTable.records().map((item) => item._id));
|
|
9845
9860
|
untracked(() => {
|
|
@@ -9857,7 +9872,7 @@ class AITableGrid extends AITableGridBase {
|
|
|
9857
9872
|
};
|
|
9858
9873
|
});
|
|
9859
9874
|
});
|
|
9860
|
-
}
|
|
9875
|
+
});
|
|
9861
9876
|
}
|
|
9862
9877
|
ngOnInit() {
|
|
9863
9878
|
super.ngOnInit();
|
|
@@ -9877,7 +9892,9 @@ class AITableGrid extends AITableGridBase {
|
|
|
9877
9892
|
frozenColumnCount: this.frozenColumnCount,
|
|
9878
9893
|
references: this.aiReferences,
|
|
9879
9894
|
aiFieldConfig: this.aiFieldConfig,
|
|
9880
|
-
scrollAction: this.scrollAction
|
|
9895
|
+
scrollAction: this.scrollAction,
|
|
9896
|
+
maxFields: this.aiMaxFields,
|
|
9897
|
+
maxRecords: this.aiMaxRecords
|
|
9881
9898
|
});
|
|
9882
9899
|
}
|
|
9883
9900
|
setKeywordsMatchedCells() {
|
|
@@ -10038,7 +10055,7 @@ class AITableGrid extends AITableGridBase {
|
|
|
10038
10055
|
mouseEvent.preventDefault();
|
|
10039
10056
|
this.aiTableGridEventService.closeCellEditor();
|
|
10040
10057
|
const { context } = this.aiTable;
|
|
10041
|
-
const
|
|
10058
|
+
const targetName = targetNameDetail.targetName;
|
|
10042
10059
|
if (mouseEvent.button !== AITableMouseDownType.Left || (targetName !== AI_TABLE_FIELD_HEAD_MORE && this.aiReadonly()))
|
|
10043
10060
|
return;
|
|
10044
10061
|
switch (targetName) {
|
|
@@ -10050,6 +10067,7 @@ class AITableGrid extends AITableGridBase {
|
|
|
10050
10067
|
break;
|
|
10051
10068
|
}
|
|
10052
10069
|
case AI_TABLE_ROW_SELECT_CHECKBOX: {
|
|
10070
|
+
const { rowIndex: pointRowIndex } = context.pointPosition();
|
|
10053
10071
|
const pointRecordId = context.linearRows()[pointRowIndex]?._id;
|
|
10054
10072
|
this.selectRecord(pointRecordId);
|
|
10055
10073
|
break;
|
|
@@ -10245,12 +10263,24 @@ class AITableGrid extends AITableGridBase {
|
|
|
10245
10263
|
}
|
|
10246
10264
|
}
|
|
10247
10265
|
pasteCells() {
|
|
10248
|
-
writeToAITable(this.aiTable, this.actions).then((
|
|
10249
|
-
if (!isPasteSuccess) {
|
|
10266
|
+
writeToAITable(this.aiTable, this.actions).then((result) => {
|
|
10267
|
+
if (!result.isPasteSuccess) {
|
|
10250
10268
|
this.notifyService.error(getI18nTextByKey(this.aiTable, AITableGridI18nKey.invalidPasteContent), undefined, {
|
|
10251
10269
|
placement: 'bottomLeft'
|
|
10252
10270
|
});
|
|
10253
10271
|
}
|
|
10272
|
+
if (result.isPasteOverMaxRecords) {
|
|
10273
|
+
this.notifyService.error(getI18nTextByKey(this.aiTable, AITableGridI18nKey.pasteOverMaxRecords), undefined, {
|
|
10274
|
+
placement: 'bottomLeft'
|
|
10275
|
+
});
|
|
10276
|
+
console.warn('Pasting exceeds maximum records limit');
|
|
10277
|
+
}
|
|
10278
|
+
if (result.isPasteOverMaxFields) {
|
|
10279
|
+
this.notifyService.error(getI18nTextByKey(this.aiTable, AITableGridI18nKey.pasteOverMaxFields), undefined, {
|
|
10280
|
+
placement: 'bottomLeft'
|
|
10281
|
+
});
|
|
10282
|
+
console.warn('Pasting exceeds maximum fields limit');
|
|
10283
|
+
}
|
|
10254
10284
|
});
|
|
10255
10285
|
}
|
|
10256
10286
|
handleFieldDragStart() {
|
|
@@ -10322,12 +10352,12 @@ class AITableGrid extends AITableGridBase {
|
|
|
10322
10352
|
}
|
|
10323
10353
|
this.aiTableGridSelectionService.clearDrag();
|
|
10324
10354
|
}
|
|
10325
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10326
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
10355
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10356
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "verticalBarRef", first: true, predicate: ["verticalBar"], descendants: true, isSignal: true }, { propertyName: "horizontalBarRef", first: true, predicate: ["horizontalBar"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n >\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koMouseup", "koContextmenu", "koWheel", "koClick", "koDblclick", "koMouseleave"] }, { kind: "component", type: AITableDragComponent, selector: "ai-table-drag", outputs: ["dragEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10327
10357
|
}
|
|
10328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGrid, decorators: [{
|
|
10329
10359
|
type: Component,
|
|
10330
|
-
args: [{ selector: 'ai-table-grid',
|
|
10360
|
+
args: [{ selector: 'ai-table-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
10331
10361
|
class: 'ai-table-grid'
|
|
10332
10362
|
}, imports: [AITableRenderer, AITableDragComponent], providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n >\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n" }]
|
|
10333
10363
|
}], ctorParameters: () => [] });
|