@acorex-platform/framework-client 2.0.0-next.15 → 2.0.0-next.17
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/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs → acorex-platform-framework-client-common-common-settings.provider-Cyr1DaiD.mjs} +19 -2
- package/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs.map → acorex-platform-framework-client-common-common-settings.provider-Cyr1DaiD.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-common.mjs +126 -26
- package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs +221 -98
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-RG1FLjoP.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-o8SLSxU-.mjs} +147 -41
- package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-o8SLSxU-.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-Bh8YRyxV.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-B2v5VFlL.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-Bh8YRyxV.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-B2v5VFlL.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-CSfoFx99.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-DiB2ZLpg.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-CSfoFx99.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-DiB2ZLpg.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-Z2N8JZ3_.mjs → acorex-platform-framework-client-layout-entity-file-list-popup.component-C9esa6dp.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-Z2N8JZ3_.mjs.map → acorex-platform-framework-client-layout-entity-file-list-popup.component-C9esa6dp.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-ZEGLkwzi.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-CKxYno2v.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-ZEGLkwzi.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-CKxYno2v.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs +59 -10
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +175 -172
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CzhP4_OE.mjs → acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-DZMgisgf.mjs} +80 -75
- package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-DZMgisgf.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BIl416zF.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BejeCu5q.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BIl416zF.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BejeCu5q.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DK8XXQuT.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-C2XsTtkl.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DK8XXQuT.mjs.map → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-C2XsTtkl.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -1
- package/fesm2022/acorex-platform-framework-client-realtime.mjs +49 -7
- package/fesm2022/acorex-platform-framework-client-realtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-create-view.component-DwCoz2Du.mjs → acorex-platform-framework-client-themes-default-entity-master-create-view.component-DPU6jTDk.mjs} +8 -2
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DPU6jTDk.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BCyFK60f.mjs → acorex-platform-framework-client-themes-default-entity-master-modify-view.component-CLdQJ8e8.mjs} +8 -2
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-CLdQJ8e8.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs +18 -11
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
- package/i18n/en-AU/general.json +16 -4
- package/i18n/en-AU/layout.json +2 -1
- package/i18n/en-US/general.json +16 -4
- package/i18n/en-US/layout.json +2 -1
- package/i18n/fa-IR/general.json +16 -4
- package/i18n/fa-IR/layout.json +2 -1
- package/package.json +2 -2
- package/types/acorex-platform-framework-client-common.d.ts +40 -5
- package/types/acorex-platform-framework-client-layout-components.d.ts +9 -3
- package/types/acorex-platform-framework-client-layout-entity.d.ts +18 -1
- package/types/acorex-platform-framework-client-layout-views.d.ts +15 -0
- package/types/acorex-platform-framework-client-layout-widget-core.d.ts +39 -14
- package/types/acorex-platform-framework-client-layout-widgets.d.ts +12 -0
- package/types/acorex-platform-framework-client-realtime.d.ts +5 -0
- package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-RG1FLjoP.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CzhP4_OE.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DwCoz2Du.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BCyFK60f.mjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, signal, computed, effect, untracked, Injectable, inject, ElementRef, DestroyRef, PLATFORM_ID, EventEmitter, Injector, ChangeDetectorRef, ViewChild, Input, Output, ChangeDetectionStrategy, Component, input, output, ViewContainerRef, Directive, NgModule } from '@angular/core';
|
|
3
|
-
import { AXPContextStore,
|
|
3
|
+
import { AXPContextStore, AXPExpressionEvaluatorService, AXPDeviceService, AXPDebugService, FORM_DIRTY_TRACE_NS, OVERLAY_WIDGET_SETTLE_TRACE_NS } from '@acorex-platform/framework-client/core';
|
|
4
4
|
import { AXPPageStatus, AXPWidgetStatus, AXP_WIDGET_TOKEN, AXP_WIDGET_COLUMN_TOKEN, layoutProfileMediumFromRenderMode, resolveLayoutProfile, createStringProperty, createBooleanProperty, createSelectProperty, createNumberProperty, cloneProperty } from '@acorex-platform/framework-shared/widget-core';
|
|
5
5
|
import { cloneDeep, get, isEqual, set, isNil, isUndefined, isObjectLike, merge, sum, isEmpty, isString } from 'lodash-es';
|
|
6
6
|
import { AXPWidgetsList, isSelectionValueEqual, isFormValueEqual, runtimeQueryPayloadData, runtimeQueryCollectionData, extractValue, axpGridItemPlacementClassMap, getSmart, summarizeFormContextDirtyDiff, AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
|
|
@@ -678,6 +678,103 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
678
678
|
type: Injectable
|
|
679
679
|
}], ctorParameters: () => [] });
|
|
680
680
|
|
|
681
|
+
//#region ----- Authored rules -----
|
|
682
|
+
function collectAuthoredValidationRules(validationsRaw) {
|
|
683
|
+
if (validationsRaw == null) {
|
|
684
|
+
return [];
|
|
685
|
+
}
|
|
686
|
+
const values = Array.isArray(validationsRaw)
|
|
687
|
+
? validationsRaw
|
|
688
|
+
: Object.values(validationsRaw);
|
|
689
|
+
const rules = [];
|
|
690
|
+
for (const item of values) {
|
|
691
|
+
if (item == null || typeof item !== 'object') {
|
|
692
|
+
continue;
|
|
693
|
+
}
|
|
694
|
+
const candidate = item;
|
|
695
|
+
if (typeof candidate.rule !== 'string' || candidate.rule.length === 0) {
|
|
696
|
+
continue;
|
|
697
|
+
}
|
|
698
|
+
rules.push({
|
|
699
|
+
rule: candidate.rule,
|
|
700
|
+
message: candidate.message,
|
|
701
|
+
options: candidate.options,
|
|
702
|
+
disabled: candidate.disabled,
|
|
703
|
+
});
|
|
704
|
+
}
|
|
705
|
+
return rules;
|
|
706
|
+
}
|
|
707
|
+
//#endregion
|
|
708
|
+
//#region ----- Disabled resolution -----
|
|
709
|
+
function assumedValidationDisabled(disabled, isExpression) {
|
|
710
|
+
if (disabled === true) {
|
|
711
|
+
return true;
|
|
712
|
+
}
|
|
713
|
+
return typeof disabled === 'string' && isExpression(disabled);
|
|
714
|
+
}
|
|
715
|
+
function resolveValidationContextPath(path, parentPath) {
|
|
716
|
+
if (!path.startsWith('>')) {
|
|
717
|
+
return path;
|
|
718
|
+
}
|
|
719
|
+
const rest = path.slice(1);
|
|
720
|
+
return parentPath ? `${parentPath}.${rest}` : rest;
|
|
721
|
+
}
|
|
722
|
+
function validationExpressionScope(readPath) {
|
|
723
|
+
return {
|
|
724
|
+
context: {
|
|
725
|
+
eval: (path) => readPath(path),
|
|
726
|
+
},
|
|
727
|
+
};
|
|
728
|
+
}
|
|
729
|
+
async function resolveValidationDisabledFlags(rules, isExpression, evaluate) {
|
|
730
|
+
return Promise.all(rules.map(async (rule) => {
|
|
731
|
+
const disabled = rule.disabled;
|
|
732
|
+
if (typeof disabled === 'boolean') {
|
|
733
|
+
return disabled;
|
|
734
|
+
}
|
|
735
|
+
if (typeof disabled !== 'string' || !isExpression(disabled)) {
|
|
736
|
+
return false;
|
|
737
|
+
}
|
|
738
|
+
try {
|
|
739
|
+
return (await evaluate(disabled)) === true;
|
|
740
|
+
}
|
|
741
|
+
catch {
|
|
742
|
+
return false;
|
|
743
|
+
}
|
|
744
|
+
}));
|
|
745
|
+
}
|
|
746
|
+
//#endregion
|
|
747
|
+
async function isRequiredRuleActive(disabledSources, isExpression, evaluate) {
|
|
748
|
+
if (disabledSources.length === 0) {
|
|
749
|
+
return false;
|
|
750
|
+
}
|
|
751
|
+
const flags = await resolveValidationDisabledFlags(disabledSources.map((disabled) => ({ rule: 'required', disabled })), isExpression, evaluate);
|
|
752
|
+
return flags.some((disabled) => disabled !== true);
|
|
753
|
+
}
|
|
754
|
+
/**
|
|
755
|
+
* Live required indicator: a `required` rule counts only while its `disabled` flag is not true.
|
|
756
|
+
* Expression `disabled` stays off until the expression resolves.
|
|
757
|
+
*/
|
|
758
|
+
function syncRequiredIndicator(args) {
|
|
759
|
+
const required = signal(false, /* @ts-ignore */
|
|
760
|
+
...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
|
|
761
|
+
let generation = 0;
|
|
762
|
+
effect(() => {
|
|
763
|
+
const rules = args.nodes().flatMap((node) => collectAuthoredValidationRules(node.options?.['validations']));
|
|
764
|
+
args.trackContext();
|
|
765
|
+
const generationId = ++generation;
|
|
766
|
+
required.set(rules.some((rule) => rule.rule === 'required' && !assumedValidationDisabled(rule.disabled, args.isExpression)));
|
|
767
|
+
void resolveValidationDisabledFlags(rules, args.isExpression, args.evaluate).then((flags) => {
|
|
768
|
+
if (generationId !== generation) {
|
|
769
|
+
return;
|
|
770
|
+
}
|
|
771
|
+
required.set(rules.some((rule, index) => rule.rule === 'required' && flags[index] !== true));
|
|
772
|
+
});
|
|
773
|
+
});
|
|
774
|
+
return required.asReadonly();
|
|
775
|
+
}
|
|
776
|
+
//#endregion
|
|
777
|
+
|
|
681
778
|
//#region ----- Imports -----
|
|
682
779
|
//#endregion
|
|
683
780
|
//#region ----- Constants -----
|
|
@@ -1163,30 +1260,52 @@ class AXPValueWidgetComponent extends AXPLayoutBaseWidgetComponent {
|
|
|
1163
1260
|
...(ngDevMode ? [{ debugName: "fullPath" }] : /* istanbul ignore next */ []));
|
|
1164
1261
|
this.parentPath = signal(null, /* @ts-ignore */
|
|
1165
1262
|
...(ngDevMode ? [{ debugName: "parentPath" }] : /* istanbul ignore next */ []));
|
|
1263
|
+
this.validationExpressionEvaluator = inject(AXPExpressionEvaluatorService);
|
|
1264
|
+
this.validationDisabledByIndex = signal([], /* @ts-ignore */
|
|
1265
|
+
...(ngDevMode ? [{ debugName: "validationDisabledByIndex" }] : /* istanbul ignore next */ []));
|
|
1266
|
+
this.validationDisabledGeneration = 0;
|
|
1267
|
+
this.#syncValidationDisabled = effect(() => {
|
|
1268
|
+
const rules = collectAuthoredValidationRules(this.options()['validations']);
|
|
1269
|
+
this.contextService.data();
|
|
1270
|
+
const parent = this.parentPath();
|
|
1271
|
+
const generation = ++this.validationDisabledGeneration;
|
|
1272
|
+
void resolveValidationDisabledFlags(rules, (value) => this.validationExpressionEvaluator.isExpression(value), (expression) => this.validationExpressionEvaluator.evaluate(expression, validationExpressionScope((path) => this.contextService.getValue(resolveValidationContextPath(path, parent))))).then((flags) => {
|
|
1273
|
+
if (generation !== this.validationDisabledGeneration) {
|
|
1274
|
+
return;
|
|
1275
|
+
}
|
|
1276
|
+
const current = this.validationDisabledByIndex();
|
|
1277
|
+
if (current.length === flags.length && current.every((flag, index) => flag === flags[index])) {
|
|
1278
|
+
return;
|
|
1279
|
+
}
|
|
1280
|
+
this.validationDisabledByIndex.set(flags);
|
|
1281
|
+
});
|
|
1282
|
+
}, /* @ts-ignore */
|
|
1283
|
+
...(ngDevMode ? [{ debugName: "#syncValidationDisabled" }] : /* istanbul ignore next */ []));
|
|
1166
1284
|
this.getValue = computed(() => {
|
|
1167
1285
|
return this.fullPath() ? this.extractValue(this.fullPath()) : null;
|
|
1168
1286
|
}, { ...(ngDevMode ? { debugName: "getValue" } : /* istanbul ignore next */ {}), equal: isEqual });
|
|
1169
|
-
this.
|
|
1170
|
-
const
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
.
|
|
1176
|
-
.
|
|
1177
|
-
|
|
1178
|
-
message: c.message,
|
|
1179
|
-
options: c.options,
|
|
1287
|
+
this.validationRulesWithDisabled = computed(() => {
|
|
1288
|
+
const rules = collectAuthoredValidationRules(this.options()['validations']);
|
|
1289
|
+
const flags = this.validationDisabledByIndex();
|
|
1290
|
+
const isExpression = (value) => this.validationExpressionEvaluator.isExpression(value);
|
|
1291
|
+
return rules.map((rule, index) => ({
|
|
1292
|
+
rule: rule.rule,
|
|
1293
|
+
message: rule.message,
|
|
1294
|
+
options: rule.options,
|
|
1295
|
+
disabled: flags[index] ?? assumedValidationDisabled(rule.disabled, isExpression),
|
|
1180
1296
|
}));
|
|
1181
1297
|
}, /* @ts-ignore */
|
|
1298
|
+
...(ngDevMode ? [{ debugName: "validationRulesWithDisabled" }] : /* istanbul ignore next */ []));
|
|
1299
|
+
this.validationRules = computed(() => this.validationRulesWithDisabled(), /* @ts-ignore */
|
|
1182
1300
|
...(ngDevMode ? [{ debugName: "validationRules" }] : /* istanbul ignore next */ []));
|
|
1183
|
-
this.hasRequiredValidation = computed(() => this.validationRules().some((rule) => rule.rule === 'required'), /* @ts-ignore */
|
|
1301
|
+
this.hasRequiredValidation = computed(() => this.validationRules().some((rule) => rule.rule === 'required' && rule.disabled !== true), /* @ts-ignore */
|
|
1184
1302
|
...(ngDevMode ? [{ debugName: "hasRequiredValidation" }] : /* istanbul ignore next */ []));
|
|
1185
1303
|
this.hasClearButton = computed(() => this.resolveClearButtonOption('hasClearButton'), /* @ts-ignore */
|
|
1186
1304
|
...(ngDevMode ? [{ debugName: "hasClearButton" }] : /* istanbul ignore next */ []));
|
|
1187
1305
|
this.clearButton = computed(() => this.resolveClearButtonOption('clearButton'), /* @ts-ignore */
|
|
1188
1306
|
...(ngDevMode ? [{ debugName: "clearButton" }] : /* istanbul ignore next */ []));
|
|
1189
1307
|
}
|
|
1308
|
+
#syncValidationDisabled;
|
|
1190
1309
|
ngOnInit() {
|
|
1191
1310
|
this._isValueWidget = this.config.properties?.some((c) => c.name == 'path') ?? false;
|
|
1192
1311
|
if (this.isValueWidget()) {
|
|
@@ -2115,6 +2234,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
2115
2234
|
type: Injectable
|
|
2116
2235
|
}] });
|
|
2117
2236
|
|
|
2237
|
+
const AXP_WIDGET_COLUMN_AUTO_FIT = new InjectionToken('AXP_WIDGET_COLUMN_AUTO_FIT');
|
|
2238
|
+
|
|
2118
2239
|
//#region ---- Imports ----
|
|
2119
2240
|
/**
|
|
2120
2241
|
* Injection token for widget definition providers.
|
|
@@ -2200,8 +2321,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
2200
2321
|
}]
|
|
2201
2322
|
}] });
|
|
2202
2323
|
|
|
2203
|
-
const AXP_WIDGET_COLUMN_AUTO_FIT = new InjectionToken('AXP_WIDGET_COLUMN_AUTO_FIT');
|
|
2204
|
-
|
|
2205
2324
|
class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
2206
2325
|
constructor() {
|
|
2207
2326
|
super(...arguments);
|
|
@@ -2277,6 +2396,9 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
2277
2396
|
this.loadingRow.set(row);
|
|
2278
2397
|
await this.grid.expandRow(row);
|
|
2279
2398
|
this.loadingRow.set(null);
|
|
2399
|
+
this.contentAutoFitSettled = false;
|
|
2400
|
+
this.contentAutoFitShouldSettle = false;
|
|
2401
|
+
this.scheduleContentAutoFit();
|
|
2280
2402
|
// if (row.data?.__meta__?.expanded === undefined) {
|
|
2281
2403
|
// this.width = `${parseInt(this.width as string) + 24}px`;
|
|
2282
2404
|
// }
|
|
@@ -2333,9 +2455,7 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
2333
2455
|
return this.normalizeColumnAlignment(align);
|
|
2334
2456
|
}
|
|
2335
2457
|
if (typeof align === 'object' && !Array.isArray(align)) {
|
|
2336
|
-
const raw = side === 'header'
|
|
2337
|
-
? align.header
|
|
2338
|
-
: align.cell;
|
|
2458
|
+
const raw = side === 'header' ? align.header : align.cell;
|
|
2339
2459
|
return this.normalizeColumnAlignment(raw);
|
|
2340
2460
|
}
|
|
2341
2461
|
return 'start';
|
|
@@ -2391,12 +2511,7 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
2391
2511
|
},
|
|
2392
2512
|
],
|
|
2393
2513
|
});
|
|
2394
|
-
this.width =
|
|
2395
|
-
this.mergedOptions().width === 'auto'
|
|
2396
|
-
? 'auto'
|
|
2397
|
-
: this.customWidth
|
|
2398
|
-
? this.customWidth
|
|
2399
|
-
: (this.mergedOptions().width ?? '200px');
|
|
2514
|
+
this.width = this.mergedOptions().width === 'auto' ? 'auto' : this.customWidth ? this.customWidth : (this.mergedOptions().width ?? '200px');
|
|
2400
2515
|
this.allowResizing = this.mergedOptions().allowResizing !== false;
|
|
2401
2516
|
this.allowSorting = this.sortEnabled;
|
|
2402
2517
|
this.syncAutoWidthIntent();
|
|
@@ -2460,9 +2575,7 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
2460
2575
|
return;
|
|
2461
2576
|
}
|
|
2462
2577
|
this.bandLocaleWatchStarted = true;
|
|
2463
|
-
this.translation.langChanges
|
|
2464
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
2465
|
-
.subscribe(() => {
|
|
2578
|
+
this.translation.langChanges$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
2466
2579
|
if (this.isBand && this.bandCaptionI18nKey) {
|
|
2467
2580
|
this.resolveBandCaption();
|
|
2468
2581
|
}
|
|
@@ -2473,8 +2586,7 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
2473
2586
|
return;
|
|
2474
2587
|
}
|
|
2475
2588
|
this.caption = text;
|
|
2476
|
-
const topLevel = this.grid
|
|
2477
|
-
.topLevelColumnsList;
|
|
2589
|
+
const topLevel = this.grid.topLevelColumnsList;
|
|
2478
2590
|
if (topLevel) {
|
|
2479
2591
|
topLevel.set([...topLevel()]);
|
|
2480
2592
|
}
|
|
@@ -2506,9 +2618,7 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
2506
2618
|
// Use a hash of key properties instead of full JSON.stringify
|
|
2507
2619
|
// This is much faster for large objects
|
|
2508
2620
|
const keyProps = ['id', 'code', 'name', 'title'];
|
|
2509
|
-
const keyValues = keyProps
|
|
2510
|
-
.map((prop) => data?.[prop])
|
|
2511
|
-
.filter((v) => v != null);
|
|
2621
|
+
const keyValues = keyProps.map((prop) => data?.[prop]).filter((v) => v != null);
|
|
2512
2622
|
if (keyValues.length > 0) {
|
|
2513
2623
|
return `row-${keyValues.join('-')}`;
|
|
2514
2624
|
}
|
|
@@ -2559,7 +2669,8 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
2559
2669
|
if (!isPlatformBrowser(this.platformId) || !this.autoWidthColumn || this.contentAutoFitSettled) {
|
|
2560
2670
|
return;
|
|
2561
2671
|
}
|
|
2562
|
-
|
|
2672
|
+
const allowSettle = this.expandHandler !== true;
|
|
2673
|
+
this.contentAutoFitShouldSettle = this.contentAutoFitShouldSettle || (request?.settle === true && allowSettle);
|
|
2563
2674
|
if (this.contentAutoFitTimer != null) {
|
|
2564
2675
|
clearTimeout(this.contentAutoFitTimer);
|
|
2565
2676
|
}
|
|
@@ -2731,23 +2842,13 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
2731
2842
|
[class.flex]="!sortEnabled"
|
|
2732
2843
|
[class.items-center]="!sortEnabled"
|
|
2733
2844
|
[class.axp-widget-column-header--sortable]="sortEnabled"
|
|
2734
|
-
[class.axp-widget-column-header--sort-at-start]="
|
|
2735
|
-
|
|
2736
|
-
"
|
|
2737
|
-
[class.axp-widget-column-header--sort-active]="
|
|
2738
|
-
headerSortDirection === 'asc' || headerSortDirection === 'desc'
|
|
2739
|
-
"
|
|
2845
|
+
[class.axp-widget-column-header--sort-at-start]="sortEnabled && getHeaderTextAlign() === 'end'"
|
|
2846
|
+
[class.axp-widget-column-header--sort-active]="headerSortDirection === 'asc' || headerSortDirection === 'desc'"
|
|
2740
2847
|
[class.gap-1]="!sortEnabled"
|
|
2741
|
-
[style.justify-content]="
|
|
2742
|
-
sortEnabled ? 'flex-start' : getHeaderJustifyContent()
|
|
2743
|
-
"
|
|
2848
|
+
[style.justify-content]="sortEnabled ? 'flex-start' : getHeaderJustifyContent()"
|
|
2744
2849
|
(click)="onHeaderClick($event)"
|
|
2745
2850
|
>
|
|
2746
|
-
<span
|
|
2747
|
-
class="axp-widget-column-header__caption truncate"
|
|
2748
|
-
[class.axp-widget-column-header__caption--with-sort]="sortEnabled"
|
|
2749
|
-
[style.text-align]="sortEnabled ? getHeaderTextAlign() : null"
|
|
2750
|
-
>
|
|
2851
|
+
<span class="axp-widget-column-header__caption truncate" [class.axp-widget-column-header__caption--with-sort]="sortEnabled" [style.text-align]="sortEnabled ? getHeaderTextAlign() : null">
|
|
2751
2852
|
@if (isBand) {
|
|
2752
2853
|
{{ caption }}
|
|
2753
2854
|
} @else {
|
|
@@ -2757,84 +2858,40 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
2757
2858
|
@if (sortEnabled) {
|
|
2758
2859
|
<span class="axp-widget-column-header__sort">
|
|
2759
2860
|
@if (headerSortPriority !== undefined && headerSortPriority > 1) {
|
|
2760
|
-
<span
|
|
2761
|
-
class="axp-widget-column-header__sort-priority text-xs opacity-70"
|
|
2762
|
-
>{{ headerSortPriority }}</span
|
|
2763
|
-
>
|
|
2861
|
+
<span class="axp-widget-column-header__sort-priority text-xs opacity-70">{{ headerSortPriority }}</span>
|
|
2764
2862
|
}
|
|
2765
|
-
<i
|
|
2766
|
-
|
|
2767
|
-
[class.text-primary]="headerSortDirection === 'asc'"
|
|
2768
|
-
></i>
|
|
2769
|
-
<i
|
|
2770
|
-
class="fa-solid fa-arrow-down-long text-neutral-400"
|
|
2771
|
-
[class.text-primary]="headerSortDirection === 'desc'"
|
|
2772
|
-
></i>
|
|
2863
|
+
<i class="fa-solid fa-arrow-up-long text-neutral-400" [class.text-primary]="headerSortDirection === 'asc'"></i>
|
|
2864
|
+
<i class="fa-solid fa-arrow-down-long text-neutral-400" [class.text-primary]="headerSortDirection === 'desc'"></i>
|
|
2773
2865
|
</span>
|
|
2774
2866
|
}
|
|
2775
2867
|
</div>
|
|
2776
2868
|
</ng-template>
|
|
2777
2869
|
<ng-template #cell let-row>
|
|
2778
2870
|
@if (expandHandler) {
|
|
2779
|
-
<div
|
|
2780
|
-
class="ax-data-table-nested-indent w-full"
|
|
2781
|
-
[attr.data-level]="row.data?.__meta__?.level || 0"
|
|
2782
|
-
>
|
|
2871
|
+
<div class="ax-data-table-nested-indent w-full" [attr.data-level]="row.data?.__meta__?.level || 0">
|
|
2783
2872
|
@if (hasExpandableRow(row)) {
|
|
2784
|
-
<div
|
|
2785
|
-
(click)="handleExpandRow(row, $event)"
|
|
2786
|
-
class="ax-expand-handler"
|
|
2787
|
-
id="ax-expand-handler-container"
|
|
2788
|
-
>
|
|
2873
|
+
<div (click)="handleExpandRow(row, $event)" class="ax-expand-handler" id="ax-expand-handler-container">
|
|
2789
2874
|
@if (loadingRow() === row) {
|
|
2790
|
-
<i
|
|
2791
|
-
class="fas fa-spinner-third animate-twSpin animate-infinite"
|
|
2792
|
-
></i>
|
|
2875
|
+
<i class="fas fa-spinner-third animate-twSpin animate-infinite"></i>
|
|
2793
2876
|
} @else {
|
|
2794
2877
|
@if (row.data?.__meta__?.expanded) {
|
|
2795
|
-
<i
|
|
2796
|
-
[class]="
|
|
2797
|
-
customCollapseIcon ||
|
|
2798
|
-
'far fa-minus-square text-md opacity-75'
|
|
2799
|
-
"
|
|
2800
|
-
></i>
|
|
2878
|
+
<i [class]="customCollapseIcon || 'far fa-minus-square text-md opacity-75'"></i>
|
|
2801
2879
|
} @else {
|
|
2802
|
-
<i
|
|
2803
|
-
[class]="
|
|
2804
|
-
customExpandIcon || 'far fa-plus-square text-md opacity-75'
|
|
2805
|
-
"
|
|
2806
|
-
></i>
|
|
2880
|
+
<i [class]="customExpandIcon || 'far fa-plus-square text-md opacity-75'"></i>
|
|
2807
2881
|
}
|
|
2808
2882
|
}
|
|
2809
2883
|
</div>
|
|
2810
2884
|
}
|
|
2811
2885
|
@if (component && row?.data) {
|
|
2812
2886
|
<div class="ax-data-table-cell-text min-w-0 flex-1">
|
|
2813
|
-
<ng-container
|
|
2814
|
-
*ngComponentOutlet="
|
|
2815
|
-
component;
|
|
2816
|
-
injector: getRowInjector(row.data);
|
|
2817
|
-
inputs: getInputs(row.data)
|
|
2818
|
-
"
|
|
2819
|
-
></ng-container>
|
|
2887
|
+
<ng-container *ngComponentOutlet="component; injector: getRowInjector(row.data); inputs: getInputs(row.data)"></ng-container>
|
|
2820
2888
|
</div>
|
|
2821
2889
|
}
|
|
2822
2890
|
</div>
|
|
2823
2891
|
} @else {
|
|
2824
|
-
<div
|
|
2825
|
-
class="w-full min-w-0 max-w-full"
|
|
2826
|
-
[class.flex]="getCellUseFlexLayout()"
|
|
2827
|
-
[class.items-center]="getCellUseFlexLayout()"
|
|
2828
|
-
[style.justify-content]="getCellJustifyContent()"
|
|
2829
|
-
>
|
|
2892
|
+
<div class="w-full min-w-0 max-w-full" [class.flex]="getCellUseFlexLayout()" [class.items-center]="getCellUseFlexLayout()" [style.justify-content]="getCellJustifyContent()">
|
|
2830
2893
|
@if (component && row?.data) {
|
|
2831
|
-
<ng-container
|
|
2832
|
-
*ngComponentOutlet="
|
|
2833
|
-
component;
|
|
2834
|
-
injector: getRowInjector(row.data);
|
|
2835
|
-
inputs: getInputs(row.data)
|
|
2836
|
-
"
|
|
2837
|
-
></ng-container>
|
|
2894
|
+
<ng-container *ngComponentOutlet="component; injector: getRowInjector(row.data); inputs: getInputs(row.data)"></ng-container>
|
|
2838
2895
|
}
|
|
2839
2896
|
</div>
|
|
2840
2897
|
}
|
|
@@ -2852,23 +2909,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
2852
2909
|
[class.flex]="!sortEnabled"
|
|
2853
2910
|
[class.items-center]="!sortEnabled"
|
|
2854
2911
|
[class.axp-widget-column-header--sortable]="sortEnabled"
|
|
2855
|
-
[class.axp-widget-column-header--sort-at-start]="
|
|
2856
|
-
|
|
2857
|
-
"
|
|
2858
|
-
[class.axp-widget-column-header--sort-active]="
|
|
2859
|
-
headerSortDirection === 'asc' || headerSortDirection === 'desc'
|
|
2860
|
-
"
|
|
2912
|
+
[class.axp-widget-column-header--sort-at-start]="sortEnabled && getHeaderTextAlign() === 'end'"
|
|
2913
|
+
[class.axp-widget-column-header--sort-active]="headerSortDirection === 'asc' || headerSortDirection === 'desc'"
|
|
2861
2914
|
[class.gap-1]="!sortEnabled"
|
|
2862
|
-
[style.justify-content]="
|
|
2863
|
-
sortEnabled ? 'flex-start' : getHeaderJustifyContent()
|
|
2864
|
-
"
|
|
2915
|
+
[style.justify-content]="sortEnabled ? 'flex-start' : getHeaderJustifyContent()"
|
|
2865
2916
|
(click)="onHeaderClick($event)"
|
|
2866
2917
|
>
|
|
2867
|
-
<span
|
|
2868
|
-
class="axp-widget-column-header__caption truncate"
|
|
2869
|
-
[class.axp-widget-column-header__caption--with-sort]="sortEnabled"
|
|
2870
|
-
[style.text-align]="sortEnabled ? getHeaderTextAlign() : null"
|
|
2871
|
-
>
|
|
2918
|
+
<span class="axp-widget-column-header__caption truncate" [class.axp-widget-column-header__caption--with-sort]="sortEnabled" [style.text-align]="sortEnabled ? getHeaderTextAlign() : null">
|
|
2872
2919
|
@if (isBand) {
|
|
2873
2920
|
{{ caption }}
|
|
2874
2921
|
} @else {
|
|
@@ -2878,84 +2925,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
2878
2925
|
@if (sortEnabled) {
|
|
2879
2926
|
<span class="axp-widget-column-header__sort">
|
|
2880
2927
|
@if (headerSortPriority !== undefined && headerSortPriority > 1) {
|
|
2881
|
-
<span
|
|
2882
|
-
class="axp-widget-column-header__sort-priority text-xs opacity-70"
|
|
2883
|
-
>{{ headerSortPriority }}</span
|
|
2884
|
-
>
|
|
2928
|
+
<span class="axp-widget-column-header__sort-priority text-xs opacity-70">{{ headerSortPriority }}</span>
|
|
2885
2929
|
}
|
|
2886
|
-
<i
|
|
2887
|
-
|
|
2888
|
-
[class.text-primary]="headerSortDirection === 'asc'"
|
|
2889
|
-
></i>
|
|
2890
|
-
<i
|
|
2891
|
-
class="fa-solid fa-arrow-down-long text-neutral-400"
|
|
2892
|
-
[class.text-primary]="headerSortDirection === 'desc'"
|
|
2893
|
-
></i>
|
|
2930
|
+
<i class="fa-solid fa-arrow-up-long text-neutral-400" [class.text-primary]="headerSortDirection === 'asc'"></i>
|
|
2931
|
+
<i class="fa-solid fa-arrow-down-long text-neutral-400" [class.text-primary]="headerSortDirection === 'desc'"></i>
|
|
2894
2932
|
</span>
|
|
2895
2933
|
}
|
|
2896
2934
|
</div>
|
|
2897
2935
|
</ng-template>
|
|
2898
2936
|
<ng-template #cell let-row>
|
|
2899
2937
|
@if (expandHandler) {
|
|
2900
|
-
<div
|
|
2901
|
-
class="ax-data-table-nested-indent w-full"
|
|
2902
|
-
[attr.data-level]="row.data?.__meta__?.level || 0"
|
|
2903
|
-
>
|
|
2938
|
+
<div class="ax-data-table-nested-indent w-full" [attr.data-level]="row.data?.__meta__?.level || 0">
|
|
2904
2939
|
@if (hasExpandableRow(row)) {
|
|
2905
|
-
<div
|
|
2906
|
-
(click)="handleExpandRow(row, $event)"
|
|
2907
|
-
class="ax-expand-handler"
|
|
2908
|
-
id="ax-expand-handler-container"
|
|
2909
|
-
>
|
|
2940
|
+
<div (click)="handleExpandRow(row, $event)" class="ax-expand-handler" id="ax-expand-handler-container">
|
|
2910
2941
|
@if (loadingRow() === row) {
|
|
2911
|
-
<i
|
|
2912
|
-
class="fas fa-spinner-third animate-twSpin animate-infinite"
|
|
2913
|
-
></i>
|
|
2942
|
+
<i class="fas fa-spinner-third animate-twSpin animate-infinite"></i>
|
|
2914
2943
|
} @else {
|
|
2915
2944
|
@if (row.data?.__meta__?.expanded) {
|
|
2916
|
-
<i
|
|
2917
|
-
[class]="
|
|
2918
|
-
customCollapseIcon ||
|
|
2919
|
-
'far fa-minus-square text-md opacity-75'
|
|
2920
|
-
"
|
|
2921
|
-
></i>
|
|
2945
|
+
<i [class]="customCollapseIcon || 'far fa-minus-square text-md opacity-75'"></i>
|
|
2922
2946
|
} @else {
|
|
2923
|
-
<i
|
|
2924
|
-
[class]="
|
|
2925
|
-
customExpandIcon || 'far fa-plus-square text-md opacity-75'
|
|
2926
|
-
"
|
|
2927
|
-
></i>
|
|
2947
|
+
<i [class]="customExpandIcon || 'far fa-plus-square text-md opacity-75'"></i>
|
|
2928
2948
|
}
|
|
2929
2949
|
}
|
|
2930
2950
|
</div>
|
|
2931
2951
|
}
|
|
2932
2952
|
@if (component && row?.data) {
|
|
2933
2953
|
<div class="ax-data-table-cell-text min-w-0 flex-1">
|
|
2934
|
-
<ng-container
|
|
2935
|
-
*ngComponentOutlet="
|
|
2936
|
-
component;
|
|
2937
|
-
injector: getRowInjector(row.data);
|
|
2938
|
-
inputs: getInputs(row.data)
|
|
2939
|
-
"
|
|
2940
|
-
></ng-container>
|
|
2954
|
+
<ng-container *ngComponentOutlet="component; injector: getRowInjector(row.data); inputs: getInputs(row.data)"></ng-container>
|
|
2941
2955
|
</div>
|
|
2942
2956
|
}
|
|
2943
2957
|
</div>
|
|
2944
2958
|
} @else {
|
|
2945
|
-
<div
|
|
2946
|
-
class="w-full min-w-0 max-w-full"
|
|
2947
|
-
[class.flex]="getCellUseFlexLayout()"
|
|
2948
|
-
[class.items-center]="getCellUseFlexLayout()"
|
|
2949
|
-
[style.justify-content]="getCellJustifyContent()"
|
|
2950
|
-
>
|
|
2959
|
+
<div class="w-full min-w-0 max-w-full" [class.flex]="getCellUseFlexLayout()" [class.items-center]="getCellUseFlexLayout()" [style.justify-content]="getCellJustifyContent()">
|
|
2951
2960
|
@if (component && row?.data) {
|
|
2952
|
-
<ng-container
|
|
2953
|
-
*ngComponentOutlet="
|
|
2954
|
-
component;
|
|
2955
|
-
injector: getRowInjector(row.data);
|
|
2956
|
-
inputs: getInputs(row.data)
|
|
2957
|
-
"
|
|
2958
|
-
></ng-container>
|
|
2961
|
+
<ng-container *ngComponentOutlet="component; injector: getRowInjector(row.data); inputs: getInputs(row.data)"></ng-container>
|
|
2959
2962
|
}
|
|
2960
2963
|
</div>
|
|
2961
2964
|
}
|
|
@@ -6097,5 +6100,5 @@ const AXP_CALLBACK_VALIDATION_PROPERTY = {
|
|
|
6097
6100
|
* Generated bundle index. Do not edit.
|
|
6098
6101
|
*/
|
|
6099
6102
|
|
|
6100
|
-
export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnTruncatedTextComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnCellComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, 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_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_DEPTH_PROPERTY, AXP_DATE_FORMAT_PROPERTY, AXP_DATE_RANGE_LIMIT_PROPERTY, AXP_DEFAULT_ROW_COUNT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_EMPTY_SPACING_BOX, AXP_EQUAL_VALIDATION_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FIT_LINE_COUNT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_GREATER_THAN_VALIDATION_PROPERTY, 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_PROFILE, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SHOW_HEADER_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_LAYOUT_TABLE_PROPERTY_GROUP, AXP_LESS_THAN_VALIDATION_PROPERTY, AXP_LOCAL_DATA_SOURCES_OPTION, AXP_LOCAL_DATA_SOURCE_PREFIX, AXP_LOCAL_DATA_SOURCE_STORE, 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_PREFETCH_PROPERTY, AXP_QUERY_OPTIONS_PROPERTY, AXP_READONLY_PROPERTY, AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY, AXP_REQUIRED_VALIDATION_PROPERTY, AXP_SHOW_PASSWORD_PROPERTY, AXP_SPIN_BUTTON_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMNS_PROPERTY, AXP_TABLE_COLUMN_ALIGNMENT_PROPERTIES, AXP_TABLE_COLUMN_CELL_ALIGN_PROPERTY, AXP_TABLE_COLUMN_HEADER_ALIGN_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_DEFINITION_PROVIDER, AXP_WIDGET_PROPERTY_GROUP, LOCAL_DATA_SOURCE_SHEET_BUFFER_ROWS, LOCAL_DATA_SOURCE_SHEET_MIN_ROWS, WIDGET_CASCADE_TRACE_NS, booleanDefaultProperty, buildLocalDataSourceListRows, buildQuerySelectorNode, buildQueryTabsNode, buildWidgetRegistryMapFromProviders, coerceGridProfile, coerceSpacingProfile, createDefaultLocalDataSourceColumns, createQueryOptionsProperty, createReadonlyLocalDataSourceStore, createWritableLocalDataSourceStore, ensureLocalDataSourceRowValues, findNonEmptyBreakpoints, isFlatSpacingBox, isLocalDataSourceRef, isLocalDataSourceRowEmpty, largeTextDefaultProperty, layoutSizeFromDevice, mapAXPPropertyToWidgetProperty, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, padLocalDataSourceSheetRows, parseLocalDataSourceId, plainTextDefaultProperty, readLocalDataSourcesFromNode, resolveWidgetExposeHydrateWrites, resolveWidgetModeComponent, richTextDefaultProperty, selectEditorDefaultValueProperty, selectionListEditorDefaultValueProperty, spacingBoxOrEmpty, toLocalDataSourceRef, toLocalDataSourceSheet };
|
|
6103
|
+
export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnTruncatedTextComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnCellComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, 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_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_DEPTH_PROPERTY, AXP_DATE_FORMAT_PROPERTY, AXP_DATE_RANGE_LIMIT_PROPERTY, AXP_DEFAULT_ROW_COUNT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_EMPTY_SPACING_BOX, AXP_EQUAL_VALIDATION_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FIT_LINE_COUNT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_GREATER_THAN_VALIDATION_PROPERTY, 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_PROFILE, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SHOW_HEADER_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_LAYOUT_TABLE_PROPERTY_GROUP, AXP_LESS_THAN_VALIDATION_PROPERTY, AXP_LOCAL_DATA_SOURCES_OPTION, AXP_LOCAL_DATA_SOURCE_PREFIX, AXP_LOCAL_DATA_SOURCE_STORE, 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_PREFETCH_PROPERTY, AXP_QUERY_OPTIONS_PROPERTY, AXP_READONLY_PROPERTY, AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY, AXP_REQUIRED_VALIDATION_PROPERTY, AXP_SHOW_PASSWORD_PROPERTY, AXP_SPIN_BUTTON_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMNS_PROPERTY, AXP_TABLE_COLUMN_ALIGNMENT_PROPERTIES, AXP_TABLE_COLUMN_CELL_ALIGN_PROPERTY, AXP_TABLE_COLUMN_HEADER_ALIGN_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_DEFINITION_PROVIDER, AXP_WIDGET_PROPERTY_GROUP, LOCAL_DATA_SOURCE_SHEET_BUFFER_ROWS, LOCAL_DATA_SOURCE_SHEET_MIN_ROWS, WIDGET_CASCADE_TRACE_NS, assumedValidationDisabled, booleanDefaultProperty, buildLocalDataSourceListRows, buildQuerySelectorNode, buildQueryTabsNode, buildWidgetRegistryMapFromProviders, coerceGridProfile, coerceSpacingProfile, collectAuthoredValidationRules, createDefaultLocalDataSourceColumns, createQueryOptionsProperty, createReadonlyLocalDataSourceStore, createWritableLocalDataSourceStore, ensureLocalDataSourceRowValues, findNonEmptyBreakpoints, isFlatSpacingBox, isLocalDataSourceRef, isLocalDataSourceRowEmpty, isRequiredRuleActive, largeTextDefaultProperty, layoutSizeFromDevice, mapAXPPropertyToWidgetProperty, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, padLocalDataSourceSheetRows, parseLocalDataSourceId, plainTextDefaultProperty, readLocalDataSourcesFromNode, resolveValidationContextPath, resolveValidationDisabledFlags, resolveWidgetExposeHydrateWrites, resolveWidgetModeComponent, richTextDefaultProperty, selectEditorDefaultValueProperty, selectionListEditorDefaultValueProperty, spacingBoxOrEmpty, syncRequiredIndicator, toLocalDataSourceRef, toLocalDataSourceSheet, validationExpressionScope };
|
|
6101
6104
|
//# sourceMappingURL=acorex-platform-framework-client-layout-widget-core.mjs.map
|