@acorex/platform 20.7.8 → 20.7.9
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/common/index.d.ts +8 -4
- package/fesm2022/acorex-platform-common.mjs +5 -1
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +31 -4
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-ZnTG7wlJ.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-Cb6Lk4Ch.mjs} +5 -5
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-ZnTG7wlJ.mjs.map → acorex-platform-layout-components-binding-expression-editor-popup.component-Cb6Lk4Ch.mjs.map} +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +913 -36
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +392 -746
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +105 -192
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/layout/builder/index.d.ts +25 -14
- package/layout/components/index.d.ts +295 -2
- package/layout/entity/index.d.ts +33 -55
- package/layout/widgets/index.d.ts +32 -31
- package/package.json +5 -5
|
@@ -21,7 +21,7 @@ import * as i1$6 from '@acorex/components/text-box';
|
|
|
21
21
|
import { AXTextBoxModule } from '@acorex/components/text-box';
|
|
22
22
|
import * as i5 from '@acorex/core/translation';
|
|
23
23
|
import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
|
|
24
|
-
import { AXPDeviceService, AXPColorPaletteService, extractValue, setSmart, AXPTagService, AXPExpressionEvaluatorService, AXPHookService, AXPDataGenerator, AXPDataSourceDefinitionProviderService, objectKeyValueTransforms } from '@acorex/platform/core';
|
|
24
|
+
import { AXPDeviceService, AXPColorPaletteService, extractValue, setSmart, AXPTagService, AXPExpressionEvaluatorService, AXPHookService, AXPDataGenerator, AXPDataSourceDefinitionProviderService, applyQueryArray, objectKeyValueTransforms } from '@acorex/platform/core';
|
|
25
25
|
import * as i1$3 from '@angular/common';
|
|
26
26
|
import { CommonModule, AsyncPipe } from '@angular/common';
|
|
27
27
|
import * as i0 from '@angular/core';
|
|
@@ -36,7 +36,7 @@ import { AXPClipBoardService, AXPSettingsService, AXPRegionalSetting, AXPFilterO
|
|
|
36
36
|
import * as i2$2 from '@acorex/components/color-box';
|
|
37
37
|
import { AXColorBoxModule } from '@acorex/components/color-box';
|
|
38
38
|
import { isNil, isNull, isEmpty, isNumber, castArray, set, get, isEqual, cloneDeep } from 'lodash-es';
|
|
39
|
-
import { AXPColorPalettePickerComponent, AXPDragDropListComponent, AXPColumnItemListComponent, AXPImageEditorService, AXPStateMessageComponent, AXPComponentSlotModule, AXPStopwatchComponent, AXPWidgetFieldConfiguratorComponent,
|
|
39
|
+
import { AXPColorPalettePickerComponent, AXPDragDropListComponent, AXPColumnItemListComponent, AXPImageEditorService, AXPStateMessageComponent, AXPComponentSlotModule, AXPStopwatchComponent, AXPWidgetFieldConfiguratorComponent, AXPTableColumnsEditorService, AXPTableDataEditorService, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryColumnsComponent } from '@acorex/platform/layout/components';
|
|
40
40
|
import * as i3$3 from '@acorex/components/select-box';
|
|
41
41
|
import { AXSelectBoxModule, AXSelectBoxComponent } from '@acorex/components/select-box';
|
|
42
42
|
import { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
|
|
@@ -11427,9 +11427,11 @@ class AXPGalleryWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
11427
11427
|
this.fileService = inject(AXFileService);
|
|
11428
11428
|
this.hooks = inject(AXPHookService);
|
|
11429
11429
|
this.fileActionsService = inject(AXPFileActionsService);
|
|
11430
|
+
this.fileStorageService = inject(AXPFileStorageService);
|
|
11430
11431
|
this.gallery = viewChild('c', ...(ngDevMode ? [{ debugName: "gallery" }] : []));
|
|
11431
11432
|
/**
|
|
11432
|
-
* Convert AXPFileListItem[] to AXMediaViewerData[] for display in media viewer
|
|
11433
|
+
* Convert AXPFileListItem[] to AXMediaViewerData[] for display in media viewer.
|
|
11434
|
+
* Uses lazy-loading callbacks for URL resolution.
|
|
11433
11435
|
*/
|
|
11434
11436
|
this.mediaViewerData = computed(() => {
|
|
11435
11437
|
const fileItems = this.getValue() ?? [];
|
|
@@ -11533,22 +11535,54 @@ class AXPGalleryWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
11533
11535
|
return `${roundedValue} ${units[unitIndex]}`;
|
|
11534
11536
|
}
|
|
11535
11537
|
/**
|
|
11536
|
-
* Convert AXPFileListItem to AXMediaViewerData for display in media viewer
|
|
11538
|
+
* Convert AXPFileListItem to AXMediaViewerData for display in media viewer.
|
|
11539
|
+
* Uses lazy-loading callbacks for URL and thumbnail resolution.
|
|
11537
11540
|
*/
|
|
11538
11541
|
fileItemToMediaViewerData(file) {
|
|
11539
|
-
|
|
11540
|
-
|
|
11541
|
-
|
|
11542
|
-
|
|
11543
|
-
: '';
|
|
11542
|
+
// Create a lazy-loading URL callback
|
|
11543
|
+
const urlCallback = () => this.resolveFileUrl(file);
|
|
11544
|
+
// Create a lazy-loading thumbnail callback (uses same URL for now)
|
|
11545
|
+
const thumbnailCallback = () => this.resolveFileUrl(file);
|
|
11544
11546
|
return {
|
|
11545
11547
|
id: file.id ?? `media-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,
|
|
11546
11548
|
name: file.name,
|
|
11547
11549
|
type: 'image',
|
|
11548
|
-
url:
|
|
11550
|
+
url: urlCallback,
|
|
11551
|
+
thumbnailUrl: thumbnailCallback,
|
|
11549
11552
|
size: this.formatFileSize(file.size),
|
|
11550
11553
|
};
|
|
11551
11554
|
}
|
|
11555
|
+
/**
|
|
11556
|
+
* Resolve the URL for a file item.
|
|
11557
|
+
* Returns a promise that resolves to the file URL.
|
|
11558
|
+
*/
|
|
11559
|
+
async resolveFileUrl(file) {
|
|
11560
|
+
// Blob source - create object URL
|
|
11561
|
+
if (file.source?.kind === 'blob' && file.source.value instanceof Blob) {
|
|
11562
|
+
return URL.createObjectURL(file.source.value);
|
|
11563
|
+
}
|
|
11564
|
+
// File ID source - fetch from storage service
|
|
11565
|
+
if (file.source?.kind === 'fileId' && typeof file.source.value === 'string') {
|
|
11566
|
+
const fileInfo = await this.fileStorageService.getInfo(file.source.value);
|
|
11567
|
+
return fileInfo?.url ?? '';
|
|
11568
|
+
}
|
|
11569
|
+
// URL source - return directly
|
|
11570
|
+
if (file.source?.kind === 'url' && typeof file.source.value === 'string') {
|
|
11571
|
+
return file.source.value;
|
|
11572
|
+
}
|
|
11573
|
+
// String value - check if it's already a URL or needs resolution
|
|
11574
|
+
if (typeof file.source?.value === 'string') {
|
|
11575
|
+
const value = file.source.value;
|
|
11576
|
+
// Already a blob URL or data URL - use directly
|
|
11577
|
+
if (value.startsWith('blob:') || value.startsWith('data:') || value.startsWith('http')) {
|
|
11578
|
+
return value;
|
|
11579
|
+
}
|
|
11580
|
+
// Assume it's a file ID - fetch from storage service
|
|
11581
|
+
const fileInfo = await this.fileStorageService.getInfo(value);
|
|
11582
|
+
return fileInfo?.url ?? '';
|
|
11583
|
+
}
|
|
11584
|
+
return '';
|
|
11585
|
+
}
|
|
11552
11586
|
/**
|
|
11553
11587
|
* Process files from various sources (file picker, drag-drop, etc.)
|
|
11554
11588
|
* This method is called by drag-and-drop handler
|
|
@@ -19633,6 +19667,10 @@ const DATA_SOURCE_OPTIONS_I18N = {
|
|
|
19633
19667
|
dataSource: '@general:widgets.data-source-options.data-source',
|
|
19634
19668
|
dataSourcePlaceholder: '@general:widgets.data-source-options.data-source-placeholder',
|
|
19635
19669
|
inlineData: '@general:widgets.data-source-options.inline-data',
|
|
19670
|
+
columns: '@general:widgets.data-source-options.columns',
|
|
19671
|
+
columnsWithCount: '@general:widgets.data-source-options.columns-with-count',
|
|
19672
|
+
rows: '@general:widgets.data-source-options.rows',
|
|
19673
|
+
rowsWithCount: '@general:widgets.data-source-options.rows-with-count',
|
|
19636
19674
|
editArray: '@general:widgets.data-source-options.edit-array',
|
|
19637
19675
|
valueField: '@general:widgets.data-source-options.value-field',
|
|
19638
19676
|
valueFieldPlaceholder: '@general:widgets.data-source-options.value-field-placeholder',
|
|
@@ -19644,7 +19682,6 @@ const DATA_SOURCE_OPTIONS_I18N = {
|
|
|
19644
19682
|
filtersButtonEmpty: '@general:widgets.data-source-options.filters-button-empty',
|
|
19645
19683
|
filtersButtonWithCount: '@general:widgets.data-source-options.filters-button-with-count',
|
|
19646
19684
|
filtersModalTitle: '@general:widgets.data-source-options.filters-modal-title',
|
|
19647
|
-
inlineArrayEditorTitle: '@general:widgets.data-source-options.inline-array-editor.title',
|
|
19648
19685
|
};
|
|
19649
19686
|
//#region ---- Component ----
|
|
19650
19687
|
class AXPDataSourceOptionsWidgetEditComponent extends AXPValueWidgetComponent {
|
|
@@ -19655,6 +19692,8 @@ class AXPDataSourceOptionsWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
19655
19692
|
this.dataSourceDefinitionService = inject(AXPDataSourceDefinitionProviderService);
|
|
19656
19693
|
this.layoutBuilder = inject(AXPLayoutBuilderService);
|
|
19657
19694
|
this.popupService = inject(AXPopupService);
|
|
19695
|
+
this.tableColumnsEditorService = inject(AXPTableColumnsEditorService);
|
|
19696
|
+
this.tableDataEditorService = inject(AXPTableDataEditorService);
|
|
19658
19697
|
this.translationService = inject(AXTranslationService);
|
|
19659
19698
|
//#endregion
|
|
19660
19699
|
//#region ---- State ----
|
|
@@ -19671,10 +19710,10 @@ class AXPDataSourceOptionsWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
19671
19710
|
//#region ---- DataSources for selects ----
|
|
19672
19711
|
this.definitionsDataSource = new AXDataSource({
|
|
19673
19712
|
pageSize: 99,
|
|
19674
|
-
load: async () => {
|
|
19675
|
-
const
|
|
19676
|
-
this.definitions.set(
|
|
19677
|
-
return
|
|
19713
|
+
load: async (query) => {
|
|
19714
|
+
const allItems = await this.dataSourceDefinitionService.items();
|
|
19715
|
+
this.definitions.set(allItems);
|
|
19716
|
+
return applyQueryArray(allItems, query);
|
|
19678
19717
|
},
|
|
19679
19718
|
byKey: async (key) => {
|
|
19680
19719
|
const name = String(key);
|
|
@@ -19700,6 +19739,16 @@ class AXPDataSourceOptionsWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
19700
19739
|
this.fieldSelectsKey = signal(true, ...(ngDevMode ? [{ debugName: "fieldSelectsKey" }] : []));
|
|
19701
19740
|
/** Whether value/text field selects should be disabled (no data source selected in 'exists' mode). */
|
|
19702
19741
|
this.valueTextFieldDisabled = computed(() => this.dataSourceMode() === 'exists' && this.selectedDefinition() === null, ...(ngDevMode ? [{ debugName: "valueTextFieldDisabled" }] : []));
|
|
19742
|
+
/** Inline array mode: number of columns (from stored columns or default). */
|
|
19743
|
+
this.inlineColumnsCount = computed(() => this.getInlineColumns().length, ...(ngDevMode ? [{ debugName: "inlineColumnsCount" }] : []));
|
|
19744
|
+
/** Inline array mode: number of rows (dataSource array length). */
|
|
19745
|
+
this.inlineRowsCount = computed(() => {
|
|
19746
|
+
const options = this.getValue() ?? {};
|
|
19747
|
+
const dataSource = options['dataSource'];
|
|
19748
|
+
return Array.isArray(dataSource) ? dataSource.length : 0;
|
|
19749
|
+
}, ...(ngDevMode ? [{ debugName: "inlineRowsCount" }] : []));
|
|
19750
|
+
/** Inline array mode: Rows editor is enabled only when at least one column is defined. */
|
|
19751
|
+
this.canOpenRowsEditor = computed(() => this.inlineColumnsCount() > 0, ...(ngDevMode ? [{ debugName: "canOpenRowsEditor" }] : []));
|
|
19703
19752
|
/** Number of filters that have a non-empty value (for empty vs non-empty button text). */
|
|
19704
19753
|
this.filterCount = computed(() => {
|
|
19705
19754
|
const def = this.selectedDefinition();
|
|
@@ -19754,8 +19803,14 @@ class AXPDataSourceOptionsWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
19754
19803
|
//#region ---- UI Handlers ----
|
|
19755
19804
|
setDataSourceMode(mode) {
|
|
19756
19805
|
this.dataSourceMode.set(mode);
|
|
19806
|
+
this.selectedDefinition.set(null);
|
|
19807
|
+
this.valueFieldOptions.set([]);
|
|
19808
|
+
this.textFieldOptions.set([]);
|
|
19809
|
+
this.revalidateFieldSelects();
|
|
19757
19810
|
this.saveValue({
|
|
19758
19811
|
dataSource: mode === 'exists' ? undefined : [],
|
|
19812
|
+
valueField: undefined,
|
|
19813
|
+
textField: undefined,
|
|
19759
19814
|
filters: {},
|
|
19760
19815
|
});
|
|
19761
19816
|
}
|
|
@@ -19786,27 +19841,44 @@ class AXPDataSourceOptionsWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
19786
19841
|
onTextFieldChange(event) {
|
|
19787
19842
|
this.saveValue({ textField: event.value ?? undefined });
|
|
19788
19843
|
}
|
|
19789
|
-
|
|
19844
|
+
/** Default columns for inline array (value + text). */
|
|
19845
|
+
static getDefaultColumns() {
|
|
19846
|
+
return [
|
|
19847
|
+
{ name: 'value', title: 'Value', widget: { type: 'text-box', options: {} } },
|
|
19848
|
+
{ name: 'text', title: 'Text', widget: { type: 'text-box', options: {} } },
|
|
19849
|
+
];
|
|
19850
|
+
}
|
|
19851
|
+
/** Current columns for inline array (from value or default). */
|
|
19852
|
+
getInlineColumns() {
|
|
19853
|
+
const options = this.getValue() ?? {};
|
|
19854
|
+
const columns = options['columns'];
|
|
19855
|
+
return Array.isArray(columns) && columns.length > 0
|
|
19856
|
+
? columns
|
|
19857
|
+
: AXPDataSourceOptionsWidgetEditComponent.getDefaultColumns();
|
|
19858
|
+
}
|
|
19859
|
+
async openColumnsEditor() {
|
|
19860
|
+
const columns = await this.tableColumnsEditorService.open({
|
|
19861
|
+
columns: this.getInlineColumns(),
|
|
19862
|
+
});
|
|
19863
|
+
if (columns) {
|
|
19864
|
+
const valueField = columns[0]?.name ?? 'value';
|
|
19865
|
+
const textField = columns[1]?.name ?? 'text';
|
|
19866
|
+
this.saveValue({ columns, valueField, textField });
|
|
19867
|
+
}
|
|
19868
|
+
}
|
|
19869
|
+
async openRowsEditor() {
|
|
19790
19870
|
const options = this.getValue() ?? {};
|
|
19791
|
-
const
|
|
19792
|
-
const textField = options['textField'] ?? 'text';
|
|
19871
|
+
const columns = this.getInlineColumns();
|
|
19793
19872
|
const dataSource = options['dataSource'];
|
|
19794
19873
|
const rows = Array.isArray(dataSource)
|
|
19795
19874
|
? dataSource.map((row) => ({ ...row }))
|
|
19796
19875
|
: [];
|
|
19797
|
-
const
|
|
19798
|
-
|
|
19799
|
-
|
|
19800
|
-
title,
|
|
19801
|
-
size: 'lg',
|
|
19802
|
-
data: {
|
|
19803
|
-
valueField,
|
|
19804
|
-
textField,
|
|
19805
|
-
rows,
|
|
19806
|
-
},
|
|
19876
|
+
const result = await this.tableDataEditorService.open({
|
|
19877
|
+
columns,
|
|
19878
|
+
rows,
|
|
19807
19879
|
});
|
|
19808
|
-
if (result
|
|
19809
|
-
this.saveValue({ dataSource: result
|
|
19880
|
+
if (result) {
|
|
19881
|
+
this.saveValue({ dataSource: result });
|
|
19810
19882
|
}
|
|
19811
19883
|
}
|
|
19812
19884
|
async openFilterEditor() {
|
|
@@ -19911,7 +19983,7 @@ class AXPDataSourceOptionsWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
19911
19983
|
//#region ---- Lifecycle ----
|
|
19912
19984
|
#init;
|
|
19913
19985
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPDataSourceOptionsWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
19914
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXPDataSourceOptionsWidgetEditComponent, isStandalone: true, selector: "axp-data-source-options-widget-editor", usesInheritance: true, ngImport: i0, template: "<div class=\"axp-data-source-options ax-flex ax-flex-col ax-gap-3 ax-py-2\">\n <!-- 1. Mode: exists vs array -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.source | translate | async }}</span>\n <ax-selection-list [items]=\"modeItems()\" [ngModel]=\"dataSourceMode()\"\n (onValueChanged)=\"setDataSourceMode($event.value)\" direction=\"horizontal\" [multiple]=\"false\" [showControl]=\"true\"\n
|
|
19986
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXPDataSourceOptionsWidgetEditComponent, isStandalone: true, selector: "axp-data-source-options-widget-editor", usesInheritance: true, ngImport: i0, template: "<div class=\"axp-data-source-options ax-flex ax-flex-col ax-gap-3 ax-py-2\">\n <!-- 1. Mode: exists vs array -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.source | translate | async }}</span>\n <ax-selection-list [items]=\"modeItems()\" [ngModel]=\"dataSourceMode()\"\n (onValueChanged)=\"setDataSourceMode($event.value)\" direction=\"horizontal\" [multiple]=\"false\" [showControl]=\"true\"\n valueField=\"value\" textField=\"text\" />\n </div>\n\n <!-- 2. Select existing data source (only when mode is exists) -->\n @if (dataSourceMode() === 'exists') {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.dataSource | translate | async }}</span>\n <ax-select-box [dataSource]=\"definitionsDataSource\" [ngModel]=\"getValue()['dataSource']\"\n (onValueChanged)=\"onDefinitionChange($event)\" valueField=\"name\" textField=\"title\"\n [placeholder]=\"(I18N.dataSourcePlaceholder | translate | async) ?? ''\">\n <ax-search-box></ax-search-box>\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </div>\n }\n\n <!-- 3. Columns and Rows buttons (only when mode is array) -->\n @if (dataSourceMode() === 'array') {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.inlineData | translate | async }}</span>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-w-full\">\n <ax-button look=\"twotone\" color=\"primary\" size=\"sm\" class=\"ax-w-full\"\n [text]=\"((I18N.columnsWithCount | translate: { params: { count: inlineColumnsCount() } }) | async) ?? ''\"\n (onClick)=\"openColumnsEditor()\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-columns\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button look=\"twotone\" color=\"primary\" size=\"sm\" class=\"ax-w-full\"\n [text]=\"((I18N.rowsWithCount | translate: { params: { count: inlineRowsCount() } }) | async) ?? ''\"\n [disabled]=\"!canOpenRowsEditor()\" (onClick)=\"openRowsEditor()\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-table-list\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </div>\n }\n\n <!-- 4. valueField select (wrapped with key to re-render when dataSource changes) -->\n @if (fieldSelectsKey()) {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.valueField | translate | async }}</span>\n <ax-select-box [dataSource]=\"valueFieldDataSource()\" [ngModel]=\"getValue()['valueField']\"\n (onValueChanged)=\"onValueFieldChange($event)\" valueField=\"value\" textField=\"text\"\n [disabled]=\"valueTextFieldDisabled()\"\n [placeholder]=\"((valueTextFieldDisabled() ? I18N.valueFieldPlaceholderDisabled : I18N.valueFieldPlaceholder) | translate | async) ?? ''\">\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </div>\n\n <!-- 5. textField select (wrapped with key to re-render when dataSource changes) -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.textField | translate | async }}</span>\n <ax-select-box [dataSource]=\"textFieldDataSource()\" [ngModel]=\"getValue()['textField']\"\n (onValueChanged)=\"onTextFieldChange($event)\" valueField=\"value\" textField=\"text\"\n [disabled]=\"valueTextFieldDisabled()\"\n [placeholder]=\"((valueTextFieldDisabled() ? I18N.textFieldPlaceholderDisabled : I18N.textFieldPlaceholder) | translate | async) ?? ''\">\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </div>\n }\n\n <!-- 6. Filter editor button (only when mode is exists and referenced definition has filters) -->\n @if (dataSourceMode() === 'exists' && (selectedDefinition()?.filters?.length ?? 0) > 0) {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.filters | translate | async }}</span>\n @if (filterCount() === 0) {\n <ax-button look=\"twotone\" color=\"default\" size=\"sm\" [text]=\"(I18N.filtersButtonEmpty | translate | async) ?? ''\"\n (onClick)=\"openFilterEditor()\" class=\"ax-w-full\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-filter\"></ax-icon>\n </ax-prefix>\n </ax-button>\n } @else {\n <ax-button look=\"twotone\" color=\"default\" size=\"sm\"\n [text]=\"((I18N.filtersButtonWithCount | translate: { params: { count: filterCount() } }) | async) ?? ''\"\n (onClick)=\"openFilterEditor()\" class=\"ax-w-full\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-filter\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div>\n }\n</div>", styles: [".axp-data-source-options{min-width:0}\n"], dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i4$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3$3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i2$4.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19915
19987
|
}
|
|
19916
19988
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPDataSourceOptionsWidgetEditComponent, decorators: [{
|
|
19917
19989
|
type: Component,
|
|
@@ -19924,7 +19996,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
19924
19996
|
AXSelectionListModule,
|
|
19925
19997
|
AXTranslationModule,
|
|
19926
19998
|
FormsModule,
|
|
19927
|
-
], template: "<div class=\"axp-data-source-options ax-flex ax-flex-col ax-gap-3 ax-py-2\">\n <!-- 1. Mode: exists vs array -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.source | translate | async }}</span>\n <ax-selection-list [items]=\"modeItems()\" [ngModel]=\"dataSourceMode()\"\n (onValueChanged)=\"setDataSourceMode($event.value)\" direction=\"horizontal\" [multiple]=\"false\" [showControl]=\"true\"\n
|
|
19999
|
+
], template: "<div class=\"axp-data-source-options ax-flex ax-flex-col ax-gap-3 ax-py-2\">\n <!-- 1. Mode: exists vs array -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.source | translate | async }}</span>\n <ax-selection-list [items]=\"modeItems()\" [ngModel]=\"dataSourceMode()\"\n (onValueChanged)=\"setDataSourceMode($event.value)\" direction=\"horizontal\" [multiple]=\"false\" [showControl]=\"true\"\n valueField=\"value\" textField=\"text\" />\n </div>\n\n <!-- 2. Select existing data source (only when mode is exists) -->\n @if (dataSourceMode() === 'exists') {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.dataSource | translate | async }}</span>\n <ax-select-box [dataSource]=\"definitionsDataSource\" [ngModel]=\"getValue()['dataSource']\"\n (onValueChanged)=\"onDefinitionChange($event)\" valueField=\"name\" textField=\"title\"\n [placeholder]=\"(I18N.dataSourcePlaceholder | translate | async) ?? ''\">\n <ax-search-box></ax-search-box>\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </div>\n }\n\n <!-- 3. Columns and Rows buttons (only when mode is array) -->\n @if (dataSourceMode() === 'array') {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.inlineData | translate | async }}</span>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-w-full\">\n <ax-button look=\"twotone\" color=\"primary\" size=\"sm\" class=\"ax-w-full\"\n [text]=\"((I18N.columnsWithCount | translate: { params: { count: inlineColumnsCount() } }) | async) ?? ''\"\n (onClick)=\"openColumnsEditor()\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-columns\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button look=\"twotone\" color=\"primary\" size=\"sm\" class=\"ax-w-full\"\n [text]=\"((I18N.rowsWithCount | translate: { params: { count: inlineRowsCount() } }) | async) ?? ''\"\n [disabled]=\"!canOpenRowsEditor()\" (onClick)=\"openRowsEditor()\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-table-list\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </div>\n }\n\n <!-- 4. valueField select (wrapped with key to re-render when dataSource changes) -->\n @if (fieldSelectsKey()) {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.valueField | translate | async }}</span>\n <ax-select-box [dataSource]=\"valueFieldDataSource()\" [ngModel]=\"getValue()['valueField']\"\n (onValueChanged)=\"onValueFieldChange($event)\" valueField=\"value\" textField=\"text\"\n [disabled]=\"valueTextFieldDisabled()\"\n [placeholder]=\"((valueTextFieldDisabled() ? I18N.valueFieldPlaceholderDisabled : I18N.valueFieldPlaceholder) | translate | async) ?? ''\">\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </div>\n\n <!-- 5. textField select (wrapped with key to re-render when dataSource changes) -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.textField | translate | async }}</span>\n <ax-select-box [dataSource]=\"textFieldDataSource()\" [ngModel]=\"getValue()['textField']\"\n (onValueChanged)=\"onTextFieldChange($event)\" valueField=\"value\" textField=\"text\"\n [disabled]=\"valueTextFieldDisabled()\"\n [placeholder]=\"((valueTextFieldDisabled() ? I18N.textFieldPlaceholderDisabled : I18N.textFieldPlaceholder) | translate | async) ?? ''\">\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </div>\n }\n\n <!-- 6. Filter editor button (only when mode is exists and referenced definition has filters) -->\n @if (dataSourceMode() === 'exists' && (selectedDefinition()?.filters?.length ?? 0) > 0) {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <span class=\"ax-font-medium ax-text-sm\">{{ I18N.filters | translate | async }}</span>\n @if (filterCount() === 0) {\n <ax-button look=\"twotone\" color=\"default\" size=\"sm\" [text]=\"(I18N.filtersButtonEmpty | translate | async) ?? ''\"\n (onClick)=\"openFilterEditor()\" class=\"ax-w-full\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-filter\"></ax-icon>\n </ax-prefix>\n </ax-button>\n } @else {\n <ax-button look=\"twotone\" color=\"default\" size=\"sm\"\n [text]=\"((I18N.filtersButtonWithCount | translate: { params: { count: filterCount() } }) | async) ?? ''\"\n (onClick)=\"openFilterEditor()\" class=\"ax-w-full\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-filter\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div>\n }\n</div>", styles: [".axp-data-source-options{min-width:0}\n"] }]
|
|
19928
20000
|
}] });
|
|
19929
20001
|
|
|
19930
20002
|
var dataSourceOptionsWidgetEditor_component = /*#__PURE__*/Object.freeze({
|
|
@@ -19947,164 +20019,6 @@ const AXPDataSourceOptionsWidget = {
|
|
|
19947
20019
|
},
|
|
19948
20020
|
};
|
|
19949
20021
|
|
|
19950
|
-
const INLINE_ARRAY_EDITOR_I18N = {
|
|
19951
|
-
title: '@general:widgets.data-source-options.inline-array-editor.title',
|
|
19952
|
-
cancel: '@general:actions.cancel.title',
|
|
19953
|
-
save: '@general:actions.save.title',
|
|
19954
|
-
};
|
|
19955
|
-
//#region ---- Component ----
|
|
19956
|
-
class AXPInlineArrayEditorPopupComponent extends AXBasePageComponent {
|
|
19957
|
-
constructor() {
|
|
19958
|
-
super(...arguments);
|
|
19959
|
-
this.INLINE_ARRAY_EDITOR_I18N = INLINE_ARRAY_EDITOR_I18N;
|
|
19960
|
-
//#endregion
|
|
19961
|
-
//#region ---- State ----
|
|
19962
|
-
/** Two-way editable rows (copy of initial rows, with _id for dynamic mode). */
|
|
19963
|
-
this.rowsModel = model([], ...(ngDevMode ? [{ debugName: "rowsModel" }] : []));
|
|
19964
|
-
}
|
|
19965
|
-
get valueField() {
|
|
19966
|
-
return this._valueField ?? 'value';
|
|
19967
|
-
}
|
|
19968
|
-
set valueField(v) {
|
|
19969
|
-
this._valueField = v;
|
|
19970
|
-
}
|
|
19971
|
-
get textField() {
|
|
19972
|
-
return this._textField ?? 'text';
|
|
19973
|
-
}
|
|
19974
|
-
set textField(v) {
|
|
19975
|
-
this._textField = v;
|
|
19976
|
-
}
|
|
19977
|
-
/** Set by popup when opening; setter copies into rowsModel. */
|
|
19978
|
-
set rows(v) {
|
|
19979
|
-
const copy = Array.isArray(v) ? v.map((row) => ({ ...row })) : [];
|
|
19980
|
-
this.rowsModel.set(copy);
|
|
19981
|
-
}
|
|
19982
|
-
/** Column definitions for value and text, built from valueField/textField. */
|
|
19983
|
-
get columns() {
|
|
19984
|
-
const valueField = this.valueField;
|
|
19985
|
-
const textField = this.textField;
|
|
19986
|
-
return [
|
|
19987
|
-
{
|
|
19988
|
-
name: valueField,
|
|
19989
|
-
title: valueField,
|
|
19990
|
-
path: valueField,
|
|
19991
|
-
widget: {
|
|
19992
|
-
type: AXPWidgetsCatalog.text,
|
|
19993
|
-
path: valueField,
|
|
19994
|
-
options: { placeholder: valueField },
|
|
19995
|
-
},
|
|
19996
|
-
},
|
|
19997
|
-
{
|
|
19998
|
-
name: textField,
|
|
19999
|
-
title: textField,
|
|
20000
|
-
path: textField,
|
|
20001
|
-
widget: {
|
|
20002
|
-
type: AXPWidgetsCatalog.text,
|
|
20003
|
-
path: textField,
|
|
20004
|
-
options: { placeholder: textField },
|
|
20005
|
-
},
|
|
20006
|
-
},
|
|
20007
|
-
];
|
|
20008
|
-
}
|
|
20009
|
-
//#endregion
|
|
20010
|
-
//#region ---- UI Handlers ----
|
|
20011
|
-
handleCancel() {
|
|
20012
|
-
this.close();
|
|
20013
|
-
}
|
|
20014
|
-
handleSave() {
|
|
20015
|
-
const rows = this.rowsModel();
|
|
20016
|
-
const cleaned = rows.map((row) => {
|
|
20017
|
-
const { _id, ...rest } = row;
|
|
20018
|
-
return rest;
|
|
20019
|
-
});
|
|
20020
|
-
this.close({ rows: cleaned });
|
|
20021
|
-
}
|
|
20022
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPInlineArrayEditorPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20023
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: AXPInlineArrayEditorPopupComponent, isStandalone: true, selector: "axp-inline-array-editor-popup", inputs: { rowsModel: { classPropertyName: "rowsModel", publicName: "rowsModel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rowsModel: "rowsModelChange" }, usesInheritance: true, ngImport: i0, template: `
|
|
20024
|
-
<div class="ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-overflow-hidden">
|
|
20025
|
-
<div class="ax-flex-1 ax-min-h-0 ax-overflow-auto ax-p-2">
|
|
20026
|
-
<axp-spreadsheet
|
|
20027
|
-
[title]="''"
|
|
20028
|
-
[columns]="columns"
|
|
20029
|
-
[(rowsModel)]="rowsModel"
|
|
20030
|
-
[rowMode]="'dynamic'"
|
|
20031
|
-
[readonly]="false"
|
|
20032
|
-
[allowAddRows]="true"
|
|
20033
|
-
[allowRemoveRows]="true"
|
|
20034
|
-
[emptyCellPlaceholder]="'–'"
|
|
20035
|
-
[rowTitlePath]="textField"
|
|
20036
|
-
/>
|
|
20037
|
-
</div>
|
|
20038
|
-
</div>
|
|
20039
|
-
|
|
20040
|
-
<ax-footer>
|
|
20041
|
-
<ax-suffix>
|
|
20042
|
-
<ax-button
|
|
20043
|
-
look="solid"
|
|
20044
|
-
[text]="(INLINE_ARRAY_EDITOR_I18N.cancel | translate | async) ?? ''"
|
|
20045
|
-
(onClick)="handleCancel()"
|
|
20046
|
-
>
|
|
20047
|
-
</ax-button>
|
|
20048
|
-
<ax-button
|
|
20049
|
-
look="solid"
|
|
20050
|
-
color="primary"
|
|
20051
|
-
[text]="(INLINE_ARRAY_EDITOR_I18N.save | translate | async) ?? ''"
|
|
20052
|
-
(onClick)="handleSave()"
|
|
20053
|
-
>
|
|
20054
|
-
</ax-button>
|
|
20055
|
-
</ax-suffix>
|
|
20056
|
-
</ax-footer>
|
|
20057
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXPSpreadsheetComponent, selector: "axp-spreadsheet", inputs: ["title", "columns", "rowMode", "rowsInput", "rowsModel", "readonly", "emptyCellPlaceholder", "rowTitlePath", "rowDescriptionPath", "allowAddRows", "allowRemoveRows"], outputs: ["rowsModelChange", "cellChange", "rowChange", "spreadsheetChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20058
|
-
}
|
|
20059
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPInlineArrayEditorPopupComponent, decorators: [{
|
|
20060
|
-
type: Component,
|
|
20061
|
-
args: [{
|
|
20062
|
-
selector: 'axp-inline-array-editor-popup',
|
|
20063
|
-
template: `
|
|
20064
|
-
<div class="ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-overflow-hidden">
|
|
20065
|
-
<div class="ax-flex-1 ax-min-h-0 ax-overflow-auto ax-p-2">
|
|
20066
|
-
<axp-spreadsheet
|
|
20067
|
-
[title]="''"
|
|
20068
|
-
[columns]="columns"
|
|
20069
|
-
[(rowsModel)]="rowsModel"
|
|
20070
|
-
[rowMode]="'dynamic'"
|
|
20071
|
-
[readonly]="false"
|
|
20072
|
-
[allowAddRows]="true"
|
|
20073
|
-
[allowRemoveRows]="true"
|
|
20074
|
-
[emptyCellPlaceholder]="'–'"
|
|
20075
|
-
[rowTitlePath]="textField"
|
|
20076
|
-
/>
|
|
20077
|
-
</div>
|
|
20078
|
-
</div>
|
|
20079
|
-
|
|
20080
|
-
<ax-footer>
|
|
20081
|
-
<ax-suffix>
|
|
20082
|
-
<ax-button
|
|
20083
|
-
look="solid"
|
|
20084
|
-
[text]="(INLINE_ARRAY_EDITOR_I18N.cancel | translate | async) ?? ''"
|
|
20085
|
-
(onClick)="handleCancel()"
|
|
20086
|
-
>
|
|
20087
|
-
</ax-button>
|
|
20088
|
-
<ax-button
|
|
20089
|
-
look="solid"
|
|
20090
|
-
color="primary"
|
|
20091
|
-
[text]="(INLINE_ARRAY_EDITOR_I18N.save | translate | async) ?? ''"
|
|
20092
|
-
(onClick)="handleSave()"
|
|
20093
|
-
>
|
|
20094
|
-
</ax-button>
|
|
20095
|
-
</ax-suffix>
|
|
20096
|
-
</ax-footer>
|
|
20097
|
-
`,
|
|
20098
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
20099
|
-
imports: [AsyncPipe, AXButtonModule, AXDecoratorModule, AXPSpreadsheetComponent, AXTranslationModule],
|
|
20100
|
-
}]
|
|
20101
|
-
}], propDecorators: { rowsModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowsModel", required: false }] }, { type: i0.Output, args: ["rowsModelChange"] }] } });
|
|
20102
|
-
|
|
20103
|
-
var inlineArrayEditorPopup_component = /*#__PURE__*/Object.freeze({
|
|
20104
|
-
__proto__: null,
|
|
20105
|
-
AXPInlineArrayEditorPopupComponent: AXPInlineArrayEditorPopupComponent
|
|
20106
|
-
});
|
|
20107
|
-
|
|
20108
20022
|
class AXPDirectionWidgetEditComponent extends AXPValueWidgetComponent {
|
|
20109
20023
|
constructor() {
|
|
20110
20024
|
super(...arguments);
|
|
@@ -22164,7 +22078,6 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
22164
22078
|
AXPImageMarkerWidgetColumnComponent: AXPImageMarkerWidgetColumnComponent,
|
|
22165
22079
|
AXPImageMarkerWidgetEditComponent: AXPImageMarkerWidgetEditComponent,
|
|
22166
22080
|
AXPImageMarkerWidgetViewComponent: AXPImageMarkerWidgetViewComponent,
|
|
22167
|
-
AXPInlineArrayEditorPopupComponent: AXPInlineArrayEditorPopupComponent,
|
|
22168
22081
|
AXPJsonViewerWidget: AXPJsonViewerWidget,
|
|
22169
22082
|
AXPJsonViewerWidgetEditComponent: AXPJsonViewerWidgetEditComponent,
|
|
22170
22083
|
AXPJsonViewerWidgetViewComponent: AXPJsonViewerWidgetViewComponent,
|
|
@@ -27792,5 +27705,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
27792
27705
|
* Generated bundle index. Do not edit.
|
|
27793
27706
|
*/
|
|
27794
27707
|
|
|
27795
|
-
export { AXPAddressWidget, AXPAddressWidgetColumnComponent, AXPAddressWidgetEditComponent, AXPAddressWidgetService, AXPAddressWidgetViewComponent, AXPAdvancedGridItemWidget, AXPAdvancedGridItemWidgetDesignerComponent, AXPAdvancedGridItemWidgetViewComponent, AXPAdvancedGridOptionsWidget, AXPAdvancedGridOptionsWidgetEditComponent, AXPAdvancedGridWidget, AXPAdvancedGridWidgetDesignerComponent, AXPAdvancedGridWidgetViewComponent, AXPAvatarWidget, AXPAvatarWidgetColumnComponent, AXPAvatarWidgetDesignerComponent, AXPAvatarWidgetEditComponent, AXPAvatarWidgetViewComponent, AXPBetweenExpressionValidationWidget, AXPBetweenValidationWidgetEditComponent, AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPBorderWidget, AXPBorderWidgetEditComponent, AXPButtonWidget, AXPButtonWidgetColumnComponent, AXPButtonWidgetViewComponent, AXPCallbackValidationWidget, AXPCallbackValidationWidgetEditComponent, AXPCheckBoxWidget, AXPCheckBoxWidgetColumnComponent, AXPCheckBoxWidgetDesignerComponent, AXPCheckBoxWidgetEditComponent, AXPCheckBoxWidgetViewComponent, AXPCodeEditorWidget, AXPCodeEditorWidgetColumnComponent, AXPCodeEditorWidgetEditComponent, AXPCodeEditorWidgetViewComponent, AXPColorBoxWidget, AXPColorBoxWidgetColumnComponent, AXPColorBoxWidgetDesignerComponent, AXPColorBoxWidgetEditComponent, AXPColorBoxWidgetViewComponent, AXPColorPaletteWidget, AXPColorPaletteWidgetColumnComponent, AXPColorPaletteWidgetDesignerComponent, AXPColorPaletteWidgetEditComponent, AXPColorPaletteWidgetViewComponent, AXPConnectedDragDropListsWidget, AXPConnectedListsWidgetColumnComponent, AXPConnectedListsWidgetEditComponent, AXPConnectedListsWidgetViewComponent, AXPContactWidget, AXPContactWidgetColumnComponent, AXPContactWidgetEditComponent, AXPContactWidgetViewComponent, AXPDataListWidget, AXPDataListWidgetViewComponent, AXPDataSourceOptionsWidget, AXPDataSourceOptionsWidgetEditComponent, AXPDateTimeBoxWidget, AXPDateTimeBoxWidgetColumnComponent, AXPDateTimeBoxWidgetEditComponent, AXPDateTimeBoxWidgetViewComponent, AXPDirectionWidget, AXPDirectionWidgetEditComponent, AXPDragDropListWidget, AXPEditFileUploaderCommand, AXPEditorJsWidget, AXPEditorJsWidgetColumnComponent, AXPEditorJsWidgetEditComponent, AXPEditorJsWidgetViewComponent, AXPEqualValidationWidget, AXPEqualValidationWidgetEditComponent, AXPFieldsetWidget, AXPFieldsetWidgetDesignerComponent, AXPFieldsetWidgetViewComponent, AXPFileListComponent, AXPFileUploaderWidget, AXPFileUploaderWidgetColumnComponent, AXPFileUploaderWidgetEditComponent, AXPFileUploaderWidgetService, AXPFileUploaderWidgetViewComponent, AXPFlexItemOptionsWidget, AXPFlexItemOptionsWidgetEditComponent, AXPFlexItemWidget, AXPFlexItemWidgetDesignerComponent, AXPFlexItemWidgetViewComponent, AXPFlexOptionsWidget, AXPFlexOptionsWidgetEditComponent, AXPFlexWidget, AXPFlexWidgetDesignerComponent, AXPFlexWidgetViewComponent, AXPGalleryWidget, AXPGalleryWidgetEditComponent, AXPGalleryWidgetViewComponent, AXPGreaterThanExpressionValidationWidget, AXPGreaterThanValidationWidgetEditComponent, AXPGridItemOptionsWidget, AXPGridItemOptionsWidgetEditComponent, AXPGridOptionsWidget, AXPGridOptionsWidgetEditComponent, AXPImageMarkerPopupComponent, AXPImageMarkerWidget, AXPImageMarkerWidgetColumnComponent, AXPImageMarkerWidgetEditComponent, AXPImageMarkerWidgetViewComponent,
|
|
27708
|
+
export { AXPAddressWidget, AXPAddressWidgetColumnComponent, AXPAddressWidgetEditComponent, AXPAddressWidgetService, AXPAddressWidgetViewComponent, AXPAdvancedGridItemWidget, AXPAdvancedGridItemWidgetDesignerComponent, AXPAdvancedGridItemWidgetViewComponent, AXPAdvancedGridOptionsWidget, AXPAdvancedGridOptionsWidgetEditComponent, AXPAdvancedGridWidget, AXPAdvancedGridWidgetDesignerComponent, AXPAdvancedGridWidgetViewComponent, AXPAvatarWidget, AXPAvatarWidgetColumnComponent, AXPAvatarWidgetDesignerComponent, AXPAvatarWidgetEditComponent, AXPAvatarWidgetViewComponent, AXPBetweenExpressionValidationWidget, AXPBetweenValidationWidgetEditComponent, AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPBorderWidget, AXPBorderWidgetEditComponent, AXPButtonWidget, AXPButtonWidgetColumnComponent, AXPButtonWidgetViewComponent, AXPCallbackValidationWidget, AXPCallbackValidationWidgetEditComponent, AXPCheckBoxWidget, AXPCheckBoxWidgetColumnComponent, AXPCheckBoxWidgetDesignerComponent, AXPCheckBoxWidgetEditComponent, AXPCheckBoxWidgetViewComponent, AXPCodeEditorWidget, AXPCodeEditorWidgetColumnComponent, AXPCodeEditorWidgetEditComponent, AXPCodeEditorWidgetViewComponent, AXPColorBoxWidget, AXPColorBoxWidgetColumnComponent, AXPColorBoxWidgetDesignerComponent, AXPColorBoxWidgetEditComponent, AXPColorBoxWidgetViewComponent, AXPColorPaletteWidget, AXPColorPaletteWidgetColumnComponent, AXPColorPaletteWidgetDesignerComponent, AXPColorPaletteWidgetEditComponent, AXPColorPaletteWidgetViewComponent, AXPConnectedDragDropListsWidget, AXPConnectedListsWidgetColumnComponent, AXPConnectedListsWidgetEditComponent, AXPConnectedListsWidgetViewComponent, AXPContactWidget, AXPContactWidgetColumnComponent, AXPContactWidgetEditComponent, AXPContactWidgetViewComponent, AXPDataListWidget, AXPDataListWidgetViewComponent, AXPDataSourceOptionsWidget, AXPDataSourceOptionsWidgetEditComponent, AXPDateTimeBoxWidget, AXPDateTimeBoxWidgetColumnComponent, AXPDateTimeBoxWidgetEditComponent, AXPDateTimeBoxWidgetViewComponent, AXPDirectionWidget, AXPDirectionWidgetEditComponent, AXPDragDropListWidget, AXPEditFileUploaderCommand, AXPEditorJsWidget, AXPEditorJsWidgetColumnComponent, AXPEditorJsWidgetEditComponent, AXPEditorJsWidgetViewComponent, AXPEqualValidationWidget, AXPEqualValidationWidgetEditComponent, AXPFieldsetWidget, AXPFieldsetWidgetDesignerComponent, AXPFieldsetWidgetViewComponent, AXPFileListComponent, AXPFileUploaderWidget, AXPFileUploaderWidgetColumnComponent, AXPFileUploaderWidgetEditComponent, AXPFileUploaderWidgetService, AXPFileUploaderWidgetViewComponent, AXPFlexItemOptionsWidget, AXPFlexItemOptionsWidgetEditComponent, AXPFlexItemWidget, AXPFlexItemWidgetDesignerComponent, AXPFlexItemWidgetViewComponent, AXPFlexOptionsWidget, AXPFlexOptionsWidgetEditComponent, AXPFlexWidget, AXPFlexWidgetDesignerComponent, AXPFlexWidgetViewComponent, AXPGalleryWidget, AXPGalleryWidgetEditComponent, AXPGalleryWidgetViewComponent, AXPGreaterThanExpressionValidationWidget, AXPGreaterThanValidationWidgetEditComponent, AXPGridItemOptionsWidget, AXPGridItemOptionsWidgetEditComponent, AXPGridOptionsWidget, AXPGridOptionsWidgetEditComponent, AXPImageMarkerPopupComponent, AXPImageMarkerWidget, AXPImageMarkerWidgetColumnComponent, AXPImageMarkerWidgetEditComponent, AXPImageMarkerWidgetViewComponent, AXPJsonViewerWidget, AXPJsonViewerWidgetEditComponent, AXPJsonViewerWidgetViewComponent, AXPLargeTextWidget, AXPLargeTextWidgetColumnComponent, AXPLargeTextWidgetEditComponent, AXPLargeTextWidgetViewComponent, AXPLessThanExpressionValidationWidget, AXPLessThanValidationWidgetEditComponent, AXPListWidgetColumnComponent, AXPListWidgetEditComponent, AXPListWidgetViewComponent, AXPMapWidgetEditComponent, AXPMapWidgetViewComponent, AXPMaxLengthExpressionValidationWidget, AXPMaxLengthValidationWidgetEditComponent, AXPMinLengthExpressionValidationWidget, AXPMinLengthValidationWidgetEditComponent, AXPNumberBoxWidget, AXPNumberBoxWidgetColumnComponent, AXPNumberBoxWidgetEditComponent, AXPNumberBoxWidgetViewComponent, AXPPageWidget, AXPPageWidgetViewComponent, AXPPasswordBoxWidget, AXPPasswordBoxWidgetColumnComponent, AXPPasswordBoxWidgetEditComponent, AXPPasswordBoxWidgetViewComponent, AXPProgressBarWidget, AXPProgressBarWidgetColumnComponent, AXPProgressBarWidgetEditComponent, AXPProgressBarWidgetViewComponent, AXPQrcodeWidget, AXPQrcodeWidgetColumnComponent, AXPQrcodeWidgetEditComponent, AXPQrcodeWidgetViewComponent, AXPRatePickerWidget, AXPRatePickerWidgetColumnComponent, AXPRatePickerWidgetEditComponent, AXPRatePickerWidgetViewComponent, AXPRegularExpressionValidationWidget, AXPRegularExpressionValidationWidgetEditComponent, AXPRepeaterWidget, AXPRepeaterWidgetDesignerComponent, AXPRepeaterWidgetEditComponent, AXPRepeaterWidgetViewComponent, AXPRequiredValidationWidget, AXPRequiredValidationWidgetEditComponent, AXPRichTextWidget, AXPRichTextWidgetColumnComponent, AXPRichTextWidgetEditComponent, AXPRichTextWidgetViewComponent, AXPSchedulerPickerWidget, AXPSchedulerPickerWidgetColumnComponent, AXPSchedulerPickerWidgetEditComponent, AXPSchedulerPickerWidgetViewComponent, AXPSelectBoxWidget, AXPSelectBoxWidgetColumnComponent, AXPSelectBoxWidgetEditComponent, AXPSelectBoxWidgetViewComponent, AXPSelectLanguagePopup, AXPSelectionListWidget, AXPSelectionListWidgetColumnComponent, AXPSelectionListWidgetDesignerComponent, AXPSelectionListWidgetEditComponent, AXPSelectionListWidgetViewComponent, AXPSignatureWidget, AXPSignatureWidgetColumnComponent, AXPSignatureWidgetEditComponent, AXPSignatureWidgetViewComponent, AXPSpacingWidget, AXPSpacingWidgetEditComponent, AXPStatusChipComponent, AXPStatusWidget, AXPStatusWidgetColumnComponent, AXPStatusWidgetEditComponent, AXPStatusWidgetViewComponent, AXPStepWizardWidget, AXPStepWizardWidgetViewComponent, AXPStopwatchWidget, AXPStopwatchWidgetViewComponent, AXPTableItemWidget, AXPTableItemWidgetDesignerComponent, AXPTableItemWidgetViewComponent, AXPTableWidget, AXPTableWidgetDesignerComponent, AXPTableWidgetViewComponent, AXPTagEditorWidget, AXPTagEditorWidgetColumnComponent, AXPTagEditorWidgetEditComponent, AXPTagEditorWidgetViewComponent, AXPTemplateBoxWidget, AXPTemplateBoxWidgetColumnComponent, AXPTemplateBoxWidgetEditComponent, AXPTemplateBoxWidgetPrintComponent, AXPTemplateBoxWidgetViewComponent, AXPTextBoxWidget, AXPTextBoxWidgetColumnComponent, AXPTextBoxWidgetEditComponent, AXPTextBoxWidgetViewComponent, AXPToggleWidget, AXPToggleWidgetColumnComponent, AXPToggleWidgetEditComponent, AXPToggleWidgetViewComponent, AXPWidgetFieldConfiguratorWidget, AXPWidgetFieldConfiguratorWidgetColumnComponent, AXPWidgetFieldConfiguratorWidgetEditComponent, AXPWidgetsModule, AXP_ABSOLUTE_UNITS, AXP_ALLOW_CLEAR_PROPERTY, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_ALLOW_SEARCH_PROPERTY, AXP_ANIMATION_PROPERTY_GROUP, AXP_APPEARANCE_PROPERTY_GROUP, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BETWEEN_VALIDATION_PROPERTY, AXP_BG_COLOR_PROPERTY, AXP_BORDER_RADIUS_UNITS, AXP_BORDER_WIDTH_UNITS, AXP_BOX_MODEL_PROPERTY_GROUP, AXP_CALLBACK_VALIDATION_PROPERTY, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_OPTIONS_PROPERTY, AXP_DATE_FORMAT_PROPERTY, AXP_DEFAULT_ROW_COUNT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_EQUAL_VALIDATION_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FIT_LINE_COUNT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_Flex_Box_Align_Options, AXP_Flex_Box_Alignments, AXP_Flex_Box_Justify_Options, AXP_GREATER_THAN_VALIDATION_PROPERTY, AXP_Grid_Box_Align_Items_Options, AXP_Grid_Box_Alignments, AXP_Grid_Box_Justify_Items_Options, AXP_HAS_CLEAR_BUTTON_PROPERTY, AXP_HAS_COPY_ICON_PROPERTY, AXP_HAS_EYE_ICON_PROPERTY, AXP_HAS_ICON_PROPERTY, AXP_HAS_LABEL_PROPERTY, AXP_ICON_PROPERTY, AXP_IS_LOADING_PROPERTY, AXP_LABEL_PROPERTY, AXP_LAYOUT_ADVANCED_GRID_PROPERTY, AXP_LAYOUT_BORDER_PROPERTY, AXP_LAYOUT_COLUMNS_PROPERTY, AXP_LAYOUT_DIRECTION_PROPERTY, AXP_LAYOUT_FLEX_ITEM_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY_GROUP, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTY, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SHOW_HEADER_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_LAYOUT_TABLE_PROPERTY_GROUP, AXP_LESS_THAN_VALIDATION_PROPERTY, AXP_MAX_LENGTH_VALIDATION_PROPERTY, AXP_MAX_LINE_COUNT_PROPERTY, AXP_MIN_LENGTH_VALIDATION_PROPERTY, AXP_MIN_LINE_COUNT_PROPERTY, AXP_MULTI_LANGUAGE_PROPERTY, AXP_NAME_PROPERTY, AXP_NUMBER_SEPARATOR_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_PROPERTY, AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY, AXP_RELATIVE_UNITS, AXP_RELATIVE_UNITS_NO_PERCENT, AXP_REQUIRED_VALIDATION_PROPERTY, AXP_SHOW_PASSWORD_PROPERTY, AXP_SPACING_UNITS, AXP_SPIN_BUTTON_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMNS_PROPERTY, AXP_TABLE_COLUMN_HEIGHT_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_TABLE_ITEM_COLSPAN_PROPERTY, AXP_TABLE_ITEM_ROWSPAN_PROPERTY, AXP_TEXT_ALIGN_PROPERTY, AXP_TEXT_FIELD_PROPERTY, AXP_TEXT_PROPERTY, AXP_THEME_PROPERTY, AXP_TITLE_PROPERTY, AXP_TRIGGERS_PROPERTY, AXP_TRIGGERS_PROPERTY_GROUP, AXP_TRULY_TEXT_PROPERTY, AXP_VALIDATION_PROPERTY_GROUP, AXP_VALUE_FIELD_PROPERTY, AXP_VERTICAL_ALIGN_PROPERTY, AXP_WIDGET_PROPERTY_GROUP, AXP_default_Border_Box_Units, AXP_default_Border_Box_Value, AXP_default_Spacing_Box_Units, AXP_default_Spacing_Box_Value, DEFAULT_STRATEGY_CONFIG, STRATEGY_CONFIG_TOKEN, booleanDefaultProperty, largeTextDefaultProperty, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, plainTextDefaultProperty };
|
|
27796
27709
|
//# sourceMappingURL=acorex-platform-layout-widgets.mjs.map
|