@acorex/platform 21.0.0-next.7 → 21.0.0-next.8
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/auth/index.d.ts +228 -3
- package/fesm2022/acorex-platform-auth.mjs +162 -2
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common.mjs +1 -1
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +7 -7
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +54 -23
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +213 -80
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.mjs → acorex-platform-themes-default-entity-master-list-view.component-D3qZa5fM.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.mjs.map → acorex-platform-themes-default-entity-master-list-view.component-D3qZa5fM.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +2 -2
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-Dz0cylyQ.mjs} +8 -8
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Dz0cylyQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +27 -21
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/components/index.d.ts +4 -3
- package/layout/entity/index.d.ts +7 -0
- package/layout/widgets/index.d.ts +12 -7
- package/package.json +5 -5
- package/workflow/index.d.ts +117 -469
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
|
@@ -35,11 +35,11 @@ import { AXColorUtil } from '@acorex/core/utils';
|
|
|
35
35
|
import { AXPClipBoardService, AXPSettingsService, AXPRegionalSetting, AXPFilterOperatorMiddlewareService, AXPCleanNestedFilters, AXPFileStorageService, AXPFileTypeProviderService, AXPStatusDefinitionProviderService, AXPRefreshEvent, AXPCommonSettings, ALL_DEFAULT_OPERATORS, DATE_OPERATORS, BOOLEAN_OPERATORS, NUMBER_OPERATORS, STRING_OPERATORS } from '@acorex/platform/common';
|
|
36
36
|
import * as i2$2 from '@acorex/components/color-box';
|
|
37
37
|
import { AXColorBoxModule } from '@acorex/components/color-box';
|
|
38
|
+
import { isNil, isNull, isEmpty, isNumber, castArray, set, get, isEqual, cloneDeep } from 'lodash-es';
|
|
38
39
|
import { AXPColorPalettePickerComponent, AXPDragDropListComponent, AXPColumnItemListComponent, AXPImageEditorService, AXPStateMessageComponent, AXPComponentSlotModule, AXPStopwatchComponent, AXPWidgetFieldConfiguratorComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryColumnsComponent } from '@acorex/platform/layout/components';
|
|
39
40
|
import * as i2$3 from '@acorex/components/select-box';
|
|
40
41
|
import { AXSelectBoxModule, AXSelectBoxComponent } from '@acorex/components/select-box';
|
|
41
42
|
import { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
|
|
42
|
-
import { isNull, isEmpty, isNumber, castArray, isNil, set, get, isEqual, cloneDeep } from 'lodash-es';
|
|
43
43
|
import { AXFormatService } from '@acorex/core/format';
|
|
44
44
|
import * as i3$3 from '@acorex/components/datetime-box';
|
|
45
45
|
import { AXDateTimeBoxModule } from '@acorex/components/datetime-box';
|
|
@@ -1884,7 +1884,7 @@ const AXPCheckBoxWidget = {
|
|
|
1884
1884
|
class AXPColorBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
1885
1885
|
constructor() {
|
|
1886
1886
|
super(...arguments);
|
|
1887
|
-
this.rgba =
|
|
1887
|
+
this.rgba = () => AXColorUtil.toString(this.rawValue, 'rgba');
|
|
1888
1888
|
this.clipboard = inject(AXPClipBoardService);
|
|
1889
1889
|
}
|
|
1890
1890
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPColorBoxWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -2111,31 +2111,47 @@ const AXPColorBoxWidget = {
|
|
|
2111
2111
|
class AXPColorPaletteWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
2112
2112
|
constructor() {
|
|
2113
2113
|
super(...arguments);
|
|
2114
|
-
|
|
2114
|
+
//#region ---- Computed Properties ----
|
|
2115
|
+
this.hasValue = () => !isNil(this.rawValue);
|
|
2116
|
+
this.rgba = () => AXColorUtil.toString(this.rawValue, 'rgba');
|
|
2117
|
+
//#endregion
|
|
2118
|
+
//#region ---- Services & Dependencies ----
|
|
2115
2119
|
this.clipboard = inject(AXPClipBoardService);
|
|
2116
2120
|
}
|
|
2117
2121
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPColorPaletteWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2122
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPColorPaletteWidgetColumnComponent, isStandalone: true, selector: "axp-color-palette-widget-column", inputs: { rawValue: "rawValue", rowData: "rowData" }, usesInheritance: true, ngImport: i0, template: `
|
|
2123
|
+
@if (hasValue()) {
|
|
2124
|
+
<div class="ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit">
|
|
2125
|
+
<div class="ax-size-4 ax-rounded-full ax-border" [style.backgroundColor]="rgba()"></div>
|
|
2126
|
+
<span>{{ rawValue }}</span>
|
|
2127
|
+
<i
|
|
2128
|
+
(click)="clipboard.copy('Color', rawValue)"
|
|
2129
|
+
class="fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible"
|
|
2130
|
+
></i>
|
|
2131
|
+
</div>
|
|
2132
|
+
} @else {
|
|
2133
|
+
<span class="ax-text-muted">---</span>
|
|
2134
|
+
}
|
|
2135
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2126
2136
|
}
|
|
2127
2137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPColorPaletteWidgetColumnComponent, decorators: [{
|
|
2128
2138
|
type: Component,
|
|
2129
2139
|
args: [{
|
|
2130
2140
|
selector: 'axp-color-palette-widget-column',
|
|
2131
|
-
template:
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2141
|
+
template: `
|
|
2142
|
+
@if (hasValue()) {
|
|
2143
|
+
<div class="ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit">
|
|
2144
|
+
<div class="ax-size-4 ax-rounded-full ax-border" [style.backgroundColor]="rgba()"></div>
|
|
2145
|
+
<span>{{ rawValue }}</span>
|
|
2146
|
+
<i
|
|
2147
|
+
(click)="clipboard.copy('Color', rawValue)"
|
|
2148
|
+
class="fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible"
|
|
2149
|
+
></i>
|
|
2150
|
+
</div>
|
|
2151
|
+
} @else {
|
|
2152
|
+
<span class="ax-text-muted">---</span>
|
|
2153
|
+
}
|
|
2154
|
+
`,
|
|
2139
2155
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2140
2156
|
imports: [],
|
|
2141
2157
|
inputs: ['rawValue', 'rowData'],
|
|
@@ -2361,31 +2377,47 @@ var colorPaletteWidgetEdit_component = /*#__PURE__*/Object.freeze({
|
|
|
2361
2377
|
class AXPColorPaletteWidgetViewComponent extends AXPValueWidgetComponent {
|
|
2362
2378
|
constructor() {
|
|
2363
2379
|
super(...arguments);
|
|
2380
|
+
//#region ---- Computed Properties ----
|
|
2381
|
+
this.hasValue = computed(() => !isNil(this.getValue()), ...(ngDevMode ? [{ debugName: "hasValue" }] : []));
|
|
2364
2382
|
this.rgba = computed(() => AXColorUtil.toString(this.getValue(), 'rgba'), ...(ngDevMode ? [{ debugName: "rgba" }] : []));
|
|
2383
|
+
//#endregion
|
|
2384
|
+
//#region ---- Services & Dependencies ----
|
|
2365
2385
|
this.clipboard = inject(AXPClipBoardService);
|
|
2366
2386
|
}
|
|
2367
2387
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPColorPaletteWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2368
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2388
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPColorPaletteWidgetViewComponent, isStandalone: true, selector: "axp-color-palette-widget-view", usesInheritance: true, ngImport: i0, template: `
|
|
2389
|
+
@if (hasValue()) {
|
|
2390
|
+
<div class="ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit">
|
|
2391
|
+
<div class="ax-size-4 ax-rounded-full ax-border" [style.backgroundColor]="rgba()"></div>
|
|
2392
|
+
<span>{{ getValue() }}</span>
|
|
2393
|
+
<i
|
|
2394
|
+
(click)="clipboard.copy('Color', getValue())"
|
|
2395
|
+
class="fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible"
|
|
2396
|
+
></i>
|
|
2397
|
+
</div>
|
|
2398
|
+
} @else {
|
|
2399
|
+
<span class="ax-text-muted">---</span>
|
|
2400
|
+
}
|
|
2401
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2376
2402
|
}
|
|
2377
2403
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPColorPaletteWidgetViewComponent, decorators: [{
|
|
2378
2404
|
type: Component,
|
|
2379
2405
|
args: [{
|
|
2380
2406
|
selector: 'axp-color-palette-widget-view',
|
|
2381
|
-
template:
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2407
|
+
template: `
|
|
2408
|
+
@if (hasValue()) {
|
|
2409
|
+
<div class="ax-flex ax-justify-start ax-items-center ax-gap-2 ax-group ax-w-fit">
|
|
2410
|
+
<div class="ax-size-4 ax-rounded-full ax-border" [style.backgroundColor]="rgba()"></div>
|
|
2411
|
+
<span>{{ getValue() }}</span>
|
|
2412
|
+
<i
|
|
2413
|
+
(click)="clipboard.copy('Color', getValue())"
|
|
2414
|
+
class="fa-solid fa-copy ax-text-neutral-400 dark:hover:ax-text-neutral-100 hover:ax-text-neutral-900 group-hover:ax-visible ax-invisible"
|
|
2415
|
+
></i>
|
|
2416
|
+
</div>
|
|
2417
|
+
} @else {
|
|
2418
|
+
<span class="ax-text-muted">---</span>
|
|
2419
|
+
}
|
|
2420
|
+
`,
|
|
2389
2421
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2390
2422
|
}]
|
|
2391
2423
|
}] });
|
|
@@ -2609,7 +2641,7 @@ var connectedListsWidgetView_component = /*#__PURE__*/Object.freeze({
|
|
|
2609
2641
|
class AXPConnectedListsWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
2610
2642
|
constructor() {
|
|
2611
2643
|
super(...arguments);
|
|
2612
|
-
this.allItems =
|
|
2644
|
+
this.allItems = () => this.rawValue ?? [];
|
|
2613
2645
|
}
|
|
2614
2646
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPConnectedListsWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2615
2647
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: AXPConnectedListsWidgetColumnComponent, isStandalone: true, selector: "axp-connected-drag-drop-lists-widget-column", inputs: { rawValue: "rawValue", rowData: "rowData" }, usesInheritance: true, ngImport: i0, template: `<axp-column-item-list [items]="allItems()" />`, isInline: true, styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: AXPColumnItemListComponent, selector: "axp-column-item-list", inputs: ["items"], outputs: ["itemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -4245,7 +4277,7 @@ var listWidgetView_component = /*#__PURE__*/Object.freeze({
|
|
|
4245
4277
|
class AXPListWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
4246
4278
|
constructor() {
|
|
4247
4279
|
super(...arguments);
|
|
4248
|
-
this.allItems =
|
|
4280
|
+
this.allItems = () => this.rawValue ?? [];
|
|
4249
4281
|
}
|
|
4250
4282
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPListWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
4251
4283
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: AXPListWidgetColumnComponent, isStandalone: true, selector: "axp-drag-drop-list-widget-column", inputs: { rawValue: "rawValue", rowData: "rowData" }, usesInheritance: true, ngImport: i0, template: `<axp-column-item-list [items]="allItems()" />`, isInline: true, styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: AXPColumnItemListComponent, selector: "axp-column-item-list", inputs: ["items"], outputs: ["itemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -7426,14 +7458,14 @@ class AXPTextBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
7426
7458
|
constructor() {
|
|
7427
7459
|
super(...arguments);
|
|
7428
7460
|
this.translationService = inject(AXTranslationService);
|
|
7429
|
-
this.displayText =
|
|
7461
|
+
this.displayText = () => {
|
|
7430
7462
|
const v = this.rawValue;
|
|
7431
7463
|
if (typeof v === 'string' || v === undefined) {
|
|
7432
7464
|
return v ?? '';
|
|
7433
7465
|
}
|
|
7434
7466
|
const lang = this.translationService.getActiveLang();
|
|
7435
7467
|
return v?.[lang] ?? '';
|
|
7436
|
-
}
|
|
7468
|
+
};
|
|
7437
7469
|
}
|
|
7438
7470
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPTextBoxWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7439
7471
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPTextBoxWidgetColumnComponent, isStandalone: true, selector: "axp-text-box-widget-column", inputs: { rawValue: "rawValue", rowData: "rowData" }, usesInheritance: true, ngImport: i0, template: `
|
|
@@ -7442,7 +7474,7 @@ class AXPTextBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
7442
7474
|
} @else {
|
|
7443
7475
|
<span class="ax-text-muted">---</span>
|
|
7444
7476
|
}
|
|
7445
|
-
|
|
7477
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7446
7478
|
}
|
|
7447
7479
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPTextBoxWidgetColumnComponent, decorators: [{
|
|
7448
7480
|
type: Component,
|
|
@@ -7454,10 +7486,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
7454
7486
|
} @else {
|
|
7455
7487
|
<span class="ax-text-muted">---</span>
|
|
7456
7488
|
}
|
|
7457
|
-
|
|
7489
|
+
`,
|
|
7458
7490
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7459
7491
|
imports: [],
|
|
7460
|
-
inputs: ['rawValue', 'rowData']
|
|
7492
|
+
inputs: ['rawValue', 'rowData'],
|
|
7461
7493
|
}]
|
|
7462
7494
|
}] });
|
|
7463
7495
|
|
|
@@ -10879,7 +10911,7 @@ class AXPImageMarkerWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
10879
10911
|
super();
|
|
10880
10912
|
this.layoutBuilder = inject(AXPLayoutBuilderService);
|
|
10881
10913
|
this.rawImage = computed(() => this.options?.image, ...(ngDevMode ? [{ debugName: "rawImage" }] : []));
|
|
10882
|
-
this.rawPoints =
|
|
10914
|
+
this.rawPoints = () => this.rawValue;
|
|
10883
10915
|
this.imageUrl = signal(null, ...(ngDevMode ? [{ debugName: "imageUrl" }] : []));
|
|
10884
10916
|
effect(() => {
|
|
10885
10917
|
const imageSource = this.rawImage();
|
|
@@ -12030,35 +12062,63 @@ var qrcodeWidgetEdit_component = /*#__PURE__*/Object.freeze({
|
|
|
12030
12062
|
AXPQrcodeWidgetEditComponent: AXPQrcodeWidgetEditComponent
|
|
12031
12063
|
});
|
|
12032
12064
|
|
|
12065
|
+
//#region ---- Imports ----
|
|
12066
|
+
//#endregion
|
|
12067
|
+
//#region ---- Component ----
|
|
12033
12068
|
class AXPSchedulerPickerWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
12034
12069
|
constructor() {
|
|
12035
12070
|
super(...arguments);
|
|
12071
|
+
//#region ---- Services & Dependencies ----
|
|
12036
12072
|
this.schedulerPickerService = inject(AXSchedulerPickerService);
|
|
12073
|
+
//#endregion
|
|
12074
|
+
//#region ---- Computed Properties ----
|
|
12037
12075
|
this.summary = signal('', ...(ngDevMode ? [{ debugName: "summary" }] : []));
|
|
12038
12076
|
this.#summaryEffect = effect(async () => {
|
|
12039
12077
|
const value = this.rawValue;
|
|
12040
|
-
if (
|
|
12041
|
-
this.summary.set(
|
|
12078
|
+
if (typeof value === 'string') {
|
|
12079
|
+
this.summary.set(value);
|
|
12042
12080
|
return;
|
|
12043
12081
|
}
|
|
12044
|
-
|
|
12045
|
-
|
|
12046
|
-
|
|
12047
|
-
|
|
12048
|
-
|
|
12049
|
-
|
|
12082
|
+
if (this.isSchedulerValue(value)) {
|
|
12083
|
+
try {
|
|
12084
|
+
const text = await this.schedulerPickerService.toNaturalLanguage(value);
|
|
12085
|
+
this.summary.set(text);
|
|
12086
|
+
}
|
|
12087
|
+
catch (err) {
|
|
12088
|
+
console.error(err);
|
|
12089
|
+
this.summary.set('');
|
|
12090
|
+
}
|
|
12091
|
+
return;
|
|
12050
12092
|
}
|
|
12093
|
+
this.summary.set('');
|
|
12051
12094
|
}, ...(ngDevMode ? [{ debugName: "#summaryEffect" }] : []));
|
|
12052
12095
|
}
|
|
12096
|
+
//#endregion
|
|
12097
|
+
//#region ---- Effects ----
|
|
12098
|
+
isSchedulerValue(value) {
|
|
12099
|
+
return !!value && typeof value === 'object' && 'mode' in value;
|
|
12100
|
+
}
|
|
12053
12101
|
#summaryEffect;
|
|
12054
12102
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPSchedulerPickerWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12055
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
12103
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPSchedulerPickerWidgetColumnComponent, isStandalone: true, selector: "axp-scheduler-picker-widget-column", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: `
|
|
12104
|
+
@if (summary()) {
|
|
12105
|
+
<span class="ax-text-sm" [title]="summary()">{{ summary() }}</span>
|
|
12106
|
+
} @else {
|
|
12107
|
+
<span class="ax-text-sm ax-text-muted">---</span>
|
|
12108
|
+
}
|
|
12109
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12056
12110
|
}
|
|
12057
12111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPSchedulerPickerWidgetColumnComponent, decorators: [{
|
|
12058
12112
|
type: Component,
|
|
12059
12113
|
args: [{
|
|
12060
12114
|
selector: 'axp-scheduler-picker-widget-column',
|
|
12061
|
-
template: `
|
|
12115
|
+
template: `
|
|
12116
|
+
@if (summary()) {
|
|
12117
|
+
<span class="ax-text-sm" [title]="summary()">{{ summary() }}</span>
|
|
12118
|
+
} @else {
|
|
12119
|
+
<span class="ax-text-sm ax-text-muted">---</span>
|
|
12120
|
+
}
|
|
12121
|
+
`,
|
|
12062
12122
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12063
12123
|
inputs: ['rawValue'],
|
|
12064
12124
|
}]
|
|
@@ -12069,32 +12129,73 @@ var schedulerPickerWidgetColumn_component = /*#__PURE__*/Object.freeze({
|
|
|
12069
12129
|
AXPSchedulerPickerWidgetColumnComponent: AXPSchedulerPickerWidgetColumnComponent
|
|
12070
12130
|
});
|
|
12071
12131
|
|
|
12132
|
+
//#region ---- Imports ----
|
|
12133
|
+
//#endregion
|
|
12134
|
+
//#region ---- Component ----
|
|
12072
12135
|
class AXPSchedulerPickerWidgetEditComponent extends AXPValueWidgetComponent {
|
|
12073
12136
|
constructor() {
|
|
12074
12137
|
super(...arguments);
|
|
12075
|
-
|
|
12076
|
-
this.
|
|
12138
|
+
//#region ---- Services & Dependencies ----
|
|
12139
|
+
this.schedulerPickerService = inject(AXSchedulerPickerService);
|
|
12140
|
+
//#endregion
|
|
12141
|
+
//#region ---- Computed Properties ----
|
|
12142
|
+
this.internalValue = computed(() => this.getValue() ?? {
|
|
12143
|
+
mode: 'daily',
|
|
12144
|
+
interval: 1,
|
|
12145
|
+
startCondition: { type: 'now', startDate: new Date() },
|
|
12146
|
+
recurrence: {}, // Daily doesn't require specific recurrence data
|
|
12147
|
+
endCondition: { type: 'never' },
|
|
12148
|
+
}, ...(ngDevMode ? [{ debugName: "internalValue" }] : []));
|
|
12149
|
+
this.settings = computed(() => this.options()['config'] ?? {
|
|
12150
|
+
mode: 'daily',
|
|
12151
|
+
showStartCondition: true,
|
|
12152
|
+
showEndConditions: true,
|
|
12153
|
+
showExclusions: false,
|
|
12154
|
+
showInclusions: false,
|
|
12155
|
+
options: { showInterval: true, showWeekdaysOnly: false },
|
|
12156
|
+
}, ...(ngDevMode ? [{ debugName: "settings" }] : []));
|
|
12077
12157
|
this.disabled = computed(() => this.options()['disabled'] ?? false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
12078
12158
|
this.summary = signal('', ...(ngDevMode ? [{ debugName: "summary" }] : []));
|
|
12159
|
+
//#endregion
|
|
12160
|
+
//#region ---- Effects ----
|
|
12161
|
+
this.#summaryEffect = effect(async () => {
|
|
12162
|
+
const value = this.internalValue();
|
|
12163
|
+
if (!value) {
|
|
12164
|
+
this.summary.set('');
|
|
12165
|
+
return;
|
|
12166
|
+
}
|
|
12167
|
+
try {
|
|
12168
|
+
const data = await this.schedulerPickerService.toNaturalLanguage(value);
|
|
12169
|
+
this.summary.set(data);
|
|
12170
|
+
}
|
|
12171
|
+
catch (error) {
|
|
12172
|
+
this.summary.set('');
|
|
12173
|
+
}
|
|
12174
|
+
}, ...(ngDevMode ? [{ debugName: "#summaryEffect" }] : []));
|
|
12079
12175
|
}
|
|
12080
|
-
|
|
12081
|
-
|
|
12082
|
-
|
|
12083
|
-
|
|
12176
|
+
//#endregion
|
|
12177
|
+
//#region ---- Effects ----
|
|
12178
|
+
#summaryEffect;
|
|
12179
|
+
//#endregion
|
|
12180
|
+
//#region ---- Event Handlers ----
|
|
12084
12181
|
onValueChange(val) {
|
|
12085
12182
|
this.setValue(val);
|
|
12086
12183
|
}
|
|
12087
12184
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPSchedulerPickerWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12088
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
12089
|
-
<div class="ax-p-2">
|
|
12185
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPSchedulerPickerWidgetEditComponent, isStandalone: true, selector: "axp-scheduler-picker-widget-edit", host: { classAttribute: "ax-block ax-flex-1" }, usesInheritance: true, ngImport: i0, template: `
|
|
12186
|
+
<div class="ax-p-2 ax-flex ax-flex-col ax-gap-2">
|
|
12090
12187
|
<ax-scheduler-picker
|
|
12091
12188
|
[config]="settings()"
|
|
12092
12189
|
[ngModel]="internalValue()"
|
|
12093
12190
|
[disabled]="disabled()"
|
|
12094
12191
|
(ngModelChange)="onValueChange($event)"
|
|
12095
|
-
(summaryChange)="onSummary($event)"
|
|
12096
12192
|
/>
|
|
12097
|
-
|
|
12193
|
+
@if (summary()) {
|
|
12194
|
+
<div class="ax-mt-2">
|
|
12195
|
+
<ax-label class="ax-text-sm ax-font-medium">Summary:</ax-label>
|
|
12196
|
+
<ax-label class="ax-text-sm ax-text-muted">{{ summary() }}</ax-label>
|
|
12197
|
+
</div>
|
|
12198
|
+
}
|
|
12098
12199
|
</div>
|
|
12099
12200
|
`, isInline: true, dependencies: [{ kind: "component", type: AXSchedulerPickerComponent, selector: "ax-scheduler-picker", inputs: ["disabled", "readonly", "tabIndex", "value", "state", "name", "id", "config"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "summaryChange"] }, { 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: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12100
12201
|
}
|
|
@@ -12103,15 +12204,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
12103
12204
|
args: [{
|
|
12104
12205
|
selector: 'axp-scheduler-picker-widget-edit',
|
|
12105
12206
|
template: `
|
|
12106
|
-
<div class="ax-p-2">
|
|
12207
|
+
<div class="ax-p-2 ax-flex ax-flex-col ax-gap-2">
|
|
12107
12208
|
<ax-scheduler-picker
|
|
12108
12209
|
[config]="settings()"
|
|
12109
12210
|
[ngModel]="internalValue()"
|
|
12110
12211
|
[disabled]="disabled()"
|
|
12111
12212
|
(ngModelChange)="onValueChange($event)"
|
|
12112
|
-
(summaryChange)="onSummary($event)"
|
|
12113
12213
|
/>
|
|
12114
|
-
|
|
12214
|
+
@if (summary()) {
|
|
12215
|
+
<div class="ax-mt-2">
|
|
12216
|
+
<ax-label class="ax-text-sm ax-font-medium">Summary:</ax-label>
|
|
12217
|
+
<ax-label class="ax-text-sm ax-text-muted">{{ summary() }}</ax-label>
|
|
12218
|
+
</div>
|
|
12219
|
+
}
|
|
12115
12220
|
</div>
|
|
12116
12221
|
`,
|
|
12117
12222
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -12125,39 +12230,67 @@ var schedulerPickerWidgetEdit_component = /*#__PURE__*/Object.freeze({
|
|
|
12125
12230
|
AXPSchedulerPickerWidgetEditComponent: AXPSchedulerPickerWidgetEditComponent
|
|
12126
12231
|
});
|
|
12127
12232
|
|
|
12233
|
+
//#region ---- Imports ----
|
|
12234
|
+
//#endregion
|
|
12235
|
+
//#region ---- Component ----
|
|
12128
12236
|
class AXPSchedulerPickerWidgetViewComponent extends AXPValueWidgetComponent {
|
|
12129
12237
|
constructor() {
|
|
12130
12238
|
super(...arguments);
|
|
12239
|
+
//#region ---- Services & Dependencies ----
|
|
12131
12240
|
this.schedulerPickerService = inject(AXSchedulerPickerService);
|
|
12241
|
+
//#endregion
|
|
12242
|
+
//#region ---- Computed Properties ----
|
|
12132
12243
|
this.summary = signal('', ...(ngDevMode ? [{ debugName: "summary" }] : []));
|
|
12133
12244
|
this.#summaryEffect = effect(async () => {
|
|
12134
12245
|
const value = this.getValue();
|
|
12135
|
-
if (
|
|
12136
|
-
this.summary.set(
|
|
12246
|
+
if (typeof value === 'string') {
|
|
12247
|
+
this.summary.set(value);
|
|
12137
12248
|
return;
|
|
12138
12249
|
}
|
|
12139
|
-
|
|
12140
|
-
|
|
12141
|
-
|
|
12142
|
-
|
|
12143
|
-
|
|
12144
|
-
|
|
12250
|
+
if (this.isSchedulerValue(value)) {
|
|
12251
|
+
try {
|
|
12252
|
+
const text = await this.schedulerPickerService.toNaturalLanguage(value);
|
|
12253
|
+
this.summary.set(text);
|
|
12254
|
+
}
|
|
12255
|
+
catch (err) {
|
|
12256
|
+
console.error(err);
|
|
12257
|
+
this.summary.set('');
|
|
12258
|
+
}
|
|
12259
|
+
return;
|
|
12145
12260
|
}
|
|
12261
|
+
this.summary.set('');
|
|
12146
12262
|
}, ...(ngDevMode ? [{ debugName: "#summaryEffect" }] : []));
|
|
12147
12263
|
}
|
|
12264
|
+
//#endregion
|
|
12265
|
+
//#region ---- Effects ----
|
|
12266
|
+
isSchedulerValue(value) {
|
|
12267
|
+
return !!value && typeof value === 'object' && 'mode' in value;
|
|
12268
|
+
}
|
|
12148
12269
|
#summaryEffect;
|
|
12149
12270
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPSchedulerPickerWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12150
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
12151
|
-
<
|
|
12152
|
-
|
|
12271
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXPSchedulerPickerWidgetViewComponent, isStandalone: true, selector: "axp-scheduler-picker-widget-view", host: { classAttribute: "ax-inline-block" }, usesInheritance: true, ngImport: i0, template: `
|
|
12272
|
+
<div class="ax-p-2">
|
|
12273
|
+
@if (summary()) {
|
|
12274
|
+
<ax-label class="ax-text-sm">{{ summary() }}</ax-label>
|
|
12275
|
+
} @else {
|
|
12276
|
+
<ax-label class="ax-text-sm ax-text-muted">---</ax-label>
|
|
12277
|
+
}
|
|
12278
|
+
</div>
|
|
12279
|
+
`, isInline: true, dependencies: [{ kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12153
12280
|
}
|
|
12154
12281
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXPSchedulerPickerWidgetViewComponent, decorators: [{
|
|
12155
12282
|
type: Component,
|
|
12156
12283
|
args: [{
|
|
12157
12284
|
selector: 'axp-scheduler-picker-widget-view',
|
|
12158
|
-
template:
|
|
12159
|
-
<
|
|
12160
|
-
|
|
12285
|
+
template: `
|
|
12286
|
+
<div class="ax-p-2">
|
|
12287
|
+
@if (summary()) {
|
|
12288
|
+
<ax-label class="ax-text-sm">{{ summary() }}</ax-label>
|
|
12289
|
+
} @else {
|
|
12290
|
+
<ax-label class="ax-text-sm ax-text-muted">---</ax-label>
|
|
12291
|
+
}
|
|
12292
|
+
</div>
|
|
12293
|
+
`,
|
|
12161
12294
|
imports: [AXLabelComponent],
|
|
12162
12295
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12163
12296
|
host: { class: 'ax-inline-block' },
|