@acorex/platform 19.2.9 → 19.2.11
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/lib/app/application.types.d.ts +3 -2
- package/common/lib/settings/settings.service.d.ts +1 -0
- package/common/lib/utils/expression-evaluator.service.d.ts +3 -1
- package/fesm2022/acorex-platform-common.mjs +49 -15
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +25 -6
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +31 -12
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +102 -86
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-BK8BItxL.mjs → acorex-platform-themes-default-entity-master-create-view.component-Bvwr0PVk.mjs} +8 -4
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Bvwr0PVk.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-De61n012.mjs → acorex-platform-themes-default-entity-master-list-view.component-7KY7G6qo.mjs} +9 -16
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7KY7G6qo.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-U8aBv1Ql.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BAU_s90_.mjs} +8 -4
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BAU_s90_.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-setting-page.component-CN2NCgUv.mjs → acorex-platform-themes-default-setting-page.component-DYumYm5k.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-setting-page.component-CN2NCgUv.mjs.map → acorex-platform-themes-default-setting-page.component-DYumYm5k.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +15 -16
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +546 -341
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/builder/lib/builder/widget-column-renderer.d.ts +2 -1
- package/layout/builder/lib/builder/widget-map.d.ts +2 -0
- package/layout/builder/lib/builder/widget.types.d.ts +13 -0
- package/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.d.ts +3 -0
- package/layout/entity/lib/entity-master-create.viewmodel.d.ts +2 -1
- package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -2
- package/layout/entity/lib/entity-master-update.viewmodel.d.ts +4 -3
- package/layout/entity/lib/entity.viewmodel.d.ts +3 -0
- package/package.json +5 -5
- package/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.d.ts +2 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +2 -1
- package/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.d.ts +2 -0
- package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +0 -1
- package/widgets/lib/widgets/advance/file/file-box-widget-edit.component.d.ts +6 -4
- package/widgets/lib/widgets/advance/file/file-box-widget-view.component.d.ts +9 -7
- package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget-edit.component.d.ts +21 -14
- package/widgets/lib/widgets/charts/bar-chart/bar-chart.type.d.ts +4 -12
- package/widgets/lib/widgets/charts/gauge-chart/gauge-chart-widget-edit.component.d.ts +42 -0
- package/widgets/lib/widgets/charts/gauge-chart/gauge-chart-widget.config.d.ts +7 -0
- package/widgets/lib/widgets/charts/gauge-chart/gauge-chart.type.d.ts +21 -0
- package/widgets/lib/widgets/charts/gauge-chart/index.d.ts +2 -0
- package/widgets/lib/widgets/charts/sticky-note/index.d.ts +2 -0
- package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget-edit.component.d.ts +9 -0
- package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget.config.d.ts +7 -0
- package/widgets/lib/widgets/editors/tabular-data/index.d.ts +3 -3
- package/widgets/lib/widgets/editors/tabular-data/{table-widget-column.component.d.ts → tabular-data-column.component.d.ts} +3 -3
- package/widgets/lib/widgets/editors/tabular-data/tabular-data-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/tabular-data/tabular-data-widget-edit.component.d.ts +3 -3
- package/widgets/lib/widgets/editors/tabular-data/{table-widget-print.component.d.ts → tabular-data-widget-print.component.d.ts} +3 -3
- package/widgets/lib/widgets/index.d.ts +2 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BK8BItxL.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-De61n012.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-U8aBv1Ql.mjs.map +0 -1
- package/widgets/lib/widgets/editors/tabular-data/table-widget-filter.component.d.ts +0 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i1$6 from '@acorex/platform/layout/builder';
|
|
2
|
-
import { AXPWidgetsCatalog, createStringProperty, createBooleanProperty, createSelectProperty, cloneProperty, AXPWidgetComponent, AXP_WIDGETS_ACTION_GROUP, AXP_WIDGETS_EDITOR_GROUP, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPWidgetStatus, AXPPageStatus, AXP_WIDGETS_ADVANCE_GROUP, AXPLayoutBuilderModule, AXP_WIDGETS_LAYOUT_GROUP, AXP_WIDGETS_VALIDATION_GROUP, AXP_WIDGETS_CHART_GROUP, AXP_WIDGETS_FILTER_GROUP } from '@acorex/platform/layout/builder';
|
|
2
|
+
import { AXPWidgetsCatalog, createStringProperty, createBooleanProperty, createSelectProperty, cloneProperty, AXPWidgetComponent, AXP_WIDGETS_ACTION_GROUP, AXP_WIDGETS_EDITOR_GROUP, AXPColumnWidgetComponent, createNumberProperty, AXPDataListWidgetComponent, AXPWidgetStatus, AXPPageStatus, AXP_WIDGETS_ADVANCE_GROUP, AXPLayoutBuilderModule, AXP_WIDGETS_LAYOUT_GROUP, AXP_WIDGETS_VALIDATION_GROUP, AXP_WIDGETS_CHART_GROUP, AXP_WIDGETS_FILTER_GROUP } from '@acorex/platform/layout/builder';
|
|
3
3
|
import { AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES, AXDataSource } from '@acorex/components/common';
|
|
4
4
|
import * as i1$2 from '@acorex/components/badge';
|
|
5
5
|
import { AXBadgeModule } from '@acorex/components/badge';
|
|
@@ -22,7 +22,7 @@ import { AXLabelModule } from '@acorex/components/label';
|
|
|
22
22
|
import { AXValidationModule, AXValidationService } from '@acorex/core/validation';
|
|
23
23
|
import * as i2 from '@angular/forms';
|
|
24
24
|
import { FormsModule } from '@angular/forms';
|
|
25
|
-
import { AXPClipBoardService, AXPFileStorageService, ALL_DEFAULT_OPERATORS, DATE_OPERATORS, BOOLEAN_OPERATORS, NUMBER_OPERATORS, STRING_OPERATORS } from '@acorex/platform/common';
|
|
25
|
+
import { AXPClipBoardService, AXPFileStorageService, AXPDataGenerator, ALL_DEFAULT_OPERATORS, DATE_OPERATORS, BOOLEAN_OPERATORS, NUMBER_OPERATORS, STRING_OPERATORS } from '@acorex/platform/common';
|
|
26
26
|
import { AXPopupService } from '@acorex/components/popup';
|
|
27
27
|
import * as i3$2 from '@acorex/components/select-box';
|
|
28
28
|
import { AXSelectBoxModule, AXSelectBoxComponent } from '@acorex/components/select-box';
|
|
@@ -107,7 +107,7 @@ const AXP_WIDGET_PROPERTY_GROUP = {
|
|
|
107
107
|
const AXP_VALIDATION_PROPERTY_GROUP = {
|
|
108
108
|
name: 'validation',
|
|
109
109
|
order: 4,
|
|
110
|
-
title: '
|
|
110
|
+
title: 'Validation',
|
|
111
111
|
};
|
|
112
112
|
|
|
113
113
|
const AXP_DATA_SOURCE_PROPERTY = {
|
|
@@ -3788,6 +3788,7 @@ const AXPNumberBoxWidget = {
|
|
|
3788
3788
|
numberDefaultProperty(),
|
|
3789
3789
|
numberMinValueProperty(),
|
|
3790
3790
|
numberMaxValueProperty(),
|
|
3791
|
+
createNumberProperty({ defaultValue: 0, name: 'decimals', title: "Decimals", path: "options.decimals", group: AXP_BEHAVIOR_PROPERTY_GROUP }),
|
|
3791
3792
|
cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),
|
|
3792
3793
|
//
|
|
3793
3794
|
AXP_REQUIRED_VALIDATION_PROPERTY,
|
|
@@ -4813,7 +4814,6 @@ const AXPRichTextWidget = {
|
|
|
4813
4814
|
properties: [
|
|
4814
4815
|
AXP_NAME_PROPERTY,
|
|
4815
4816
|
AXP_DATA_PATH_PROPERTY,
|
|
4816
|
-
AXP_ALLOW_MULTIPLE_PROPERTY,
|
|
4817
4817
|
AXP_DISABLED_PROPERTY,
|
|
4818
4818
|
AXP_PLACEHOLDER_PROPERTY,
|
|
4819
4819
|
//cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '300px' } }),
|
|
@@ -5723,11 +5723,11 @@ var textBoxWidgetEdit_component = /*#__PURE__*/Object.freeze({
|
|
|
5723
5723
|
AXPTextBoxWidgetEditComponent: AXPTextBoxWidgetEditComponent
|
|
5724
5724
|
});
|
|
5725
5725
|
|
|
5726
|
-
|
|
5726
|
+
class AXPTextBoxWidgetFilterComponent extends AXPWidgetComponent {
|
|
5727
5727
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5728
5728
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTextBoxWidgetFilterComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5729
|
-
}
|
|
5730
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent
|
|
5729
|
+
}
|
|
5730
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent, decorators: [{
|
|
5731
5731
|
type: Component,
|
|
5732
5732
|
args: [{
|
|
5733
5733
|
template: ``,
|
|
@@ -5739,7 +5739,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
5739
5739
|
|
|
5740
5740
|
var textBoxWidgetFilter_component = /*#__PURE__*/Object.freeze({
|
|
5741
5741
|
__proto__: null,
|
|
5742
|
-
AXPTextBoxWidgetFilterComponent: AXPTextBoxWidgetFilterComponent
|
|
5742
|
+
AXPTextBoxWidgetFilterComponent: AXPTextBoxWidgetFilterComponent
|
|
5743
5743
|
});
|
|
5744
5744
|
|
|
5745
5745
|
class AXPTextBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
@@ -6346,29 +6346,36 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
|
|
|
6346
6346
|
return [];
|
|
6347
6347
|
return this.getValue() ? (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]) : [{}];
|
|
6348
6348
|
});
|
|
6349
|
+
this.files = signal([]);
|
|
6349
6350
|
this.markedListAsCommitted = null;
|
|
6350
6351
|
this.markedListAsDeleted = null;
|
|
6351
|
-
|
|
6352
|
-
|
|
6353
|
-
|
|
6354
|
-
|
|
6355
|
-
|
|
6356
|
-
|
|
6357
|
-
|
|
6358
|
-
this.markedListAsCommitted = null;
|
|
6352
|
+
}
|
|
6353
|
+
async ngOnDestroy() {
|
|
6354
|
+
const status = this.layoutService.status();
|
|
6355
|
+
if (status == AXPPageStatus.Submitted) {
|
|
6356
|
+
if (this.markedListAsCommitted) {
|
|
6357
|
+
for (const fileId of this.markedListAsCommitted) {
|
|
6358
|
+
await this.fileStorage.commit(fileId);
|
|
6359
6359
|
}
|
|
6360
|
-
|
|
6361
|
-
|
|
6362
|
-
|
|
6363
|
-
|
|
6364
|
-
this.
|
|
6360
|
+
this.markedListAsCommitted = null;
|
|
6361
|
+
}
|
|
6362
|
+
if (this.markedListAsDeleted) {
|
|
6363
|
+
for (const fileId of this.markedListAsDeleted) {
|
|
6364
|
+
await this.fileStorage.markForDeletion(fileId);
|
|
6365
6365
|
}
|
|
6366
|
+
this.markedListAsDeleted = null;
|
|
6366
6367
|
}
|
|
6367
|
-
}
|
|
6368
|
+
}
|
|
6369
|
+
}
|
|
6370
|
+
handleOnFileRemove(file) {
|
|
6371
|
+
debugger;
|
|
6372
|
+
this.files.update((files) => files.filter((f) => f !== file));
|
|
6368
6373
|
}
|
|
6369
|
-
#effect2;
|
|
6370
6374
|
handleOnFileUploadComplete(e) { }
|
|
6371
|
-
handleOnFilesUploadComplete(e) {
|
|
6375
|
+
handleOnFilesUploadComplete(e) {
|
|
6376
|
+
this.files.set(e.uploadedFiles);
|
|
6377
|
+
console.log(e.uploadedFiles[0].onComplete);
|
|
6378
|
+
}
|
|
6372
6379
|
async handleChanged(e) {
|
|
6373
6380
|
const results = [];
|
|
6374
6381
|
for (var i = 0; i < e.requests.length; i++) {
|
|
@@ -6379,7 +6386,9 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
|
|
|
6379
6386
|
refType: this.refType(),
|
|
6380
6387
|
isPrimary: true,
|
|
6381
6388
|
}));
|
|
6382
|
-
e.requests[i].finish(
|
|
6389
|
+
e.requests[i].finish({
|
|
6390
|
+
id: results[i].fileId,
|
|
6391
|
+
});
|
|
6383
6392
|
}
|
|
6384
6393
|
if (!this.multiple()) {
|
|
6385
6394
|
this.setValue(results[0].fileId);
|
|
@@ -6394,45 +6403,45 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
|
|
|
6394
6403
|
const extension = fileName?.split('.')?.pop()?.toLowerCase();
|
|
6395
6404
|
switch (extension) {
|
|
6396
6405
|
case 'txt':
|
|
6397
|
-
return { icon: 'fa-file-alt', color: 'ax-bg-blue-100 ax-text-blue-500' };
|
|
6406
|
+
return { icon: ' far fa-file-alt', color: 'ax-bg-blue-100 ax-text-blue-500' };
|
|
6398
6407
|
case 'pdf':
|
|
6399
|
-
return { icon: 'fa-file-pdf', color: 'ax-bg-red-100 ax-text-red-500' };
|
|
6408
|
+
return { icon: ' far fa-file-pdf', color: 'ax-bg-red-100 ax-text-red-500' };
|
|
6400
6409
|
case 'doc':
|
|
6401
6410
|
case 'docx':
|
|
6402
|
-
return { icon: 'fa-file-word', color: 'ax-bg-blue-200 ax-text-blue-600' };
|
|
6411
|
+
return { icon: ' far fa-file-word', color: 'ax-bg-blue-200 ax-text-blue-600' };
|
|
6403
6412
|
case 'xls':
|
|
6404
6413
|
case 'xlsx':
|
|
6405
|
-
return { icon: 'fa-file-excel', color: 'ax-bg-green-100 ax-text-green-500' };
|
|
6414
|
+
return { icon: ' far fa-file-excel', color: 'ax-bg-green-100 ax-text-green-500' };
|
|
6406
6415
|
case 'ppt':
|
|
6407
6416
|
case 'pptx':
|
|
6408
|
-
return { icon: 'fa-file-powerpoint', color: 'ax-bg-orange-100 ax-text-orange-500' };
|
|
6417
|
+
return { icon: ' far fa-file-powerpoint', color: 'ax-bg-orange-100 ax-text-orange-500' };
|
|
6409
6418
|
case 'jpg':
|
|
6410
6419
|
case 'jpeg':
|
|
6411
6420
|
case 'png':
|
|
6412
6421
|
case 'gif':
|
|
6413
6422
|
case 'bmp':
|
|
6414
|
-
return { icon: 'fa-file-image', color: 'ax-bg-purple-100 ax-text-purple-500' };
|
|
6423
|
+
return { icon: ' far fa-file-image', color: 'ax-bg-purple-100 ax-text-purple-500' };
|
|
6415
6424
|
case 'zip':
|
|
6416
6425
|
case 'rar':
|
|
6417
6426
|
case '7z':
|
|
6418
|
-
return { icon: 'fa-file-archive', color: 'ax-bg-yellow-100 ax-text-yellow-500' };
|
|
6427
|
+
return { icon: ' far fa-file-archive', color: 'ax-bg-yellow-100 ax-text-yellow-500' };
|
|
6419
6428
|
case 'mp3':
|
|
6420
6429
|
case 'wav':
|
|
6421
6430
|
case 'ogg':
|
|
6422
|
-
return { icon: 'fa-file-audio', color: 'ax-bg-pink-100 ax-text-pink-500' };
|
|
6431
|
+
return { icon: ' far fa-file-audio', color: 'ax-bg-pink-100 ax-text-pink-500' };
|
|
6423
6432
|
case 'mp4':
|
|
6424
6433
|
case 'avi':
|
|
6425
6434
|
case 'mkv':
|
|
6426
6435
|
case 'mov':
|
|
6427
|
-
return { icon: 'fa-file-video', color: 'ax-bg-blue-100 ax-text-blue-500' };
|
|
6436
|
+
return { icon: ' far fa-file-video', color: 'ax-bg-blue-100 ax-text-blue-500' };
|
|
6428
6437
|
case 'js':
|
|
6429
6438
|
case 'jsx':
|
|
6430
6439
|
case 'ts':
|
|
6431
6440
|
case 'tsx':
|
|
6432
|
-
return { icon: 'fa-file-code', color: 'ax-bg-yellow-100 ax-text-yellow-500' };
|
|
6441
|
+
return { icon: ' far fa-file-code', color: 'ax-bg-yellow-100 ax-text-yellow-500' };
|
|
6433
6442
|
// Add more cases as needed for other file types
|
|
6434
6443
|
default:
|
|
6435
|
-
return { icon: 'fa-file', color: 'ax-bg-gray-100 ax-text-gray-500' };
|
|
6444
|
+
return { icon: ' far fa-file', color: 'ax-bg-gray-100 ax-text-gray-500' };
|
|
6436
6445
|
}
|
|
6437
6446
|
}
|
|
6438
6447
|
get __class() {
|
|
@@ -6442,7 +6451,7 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
|
|
|
6442
6451
|
return cls;
|
|
6443
6452
|
}
|
|
6444
6453
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6445
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
6454
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPFileBoxWidgetEditComponent, isStandalone: true, selector: "axp-file-widget-edit", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
|
|
6446
6455
|
<div class="ax-grid ax-grid-cols-12">
|
|
6447
6456
|
<div class="ax-col-span-12">
|
|
6448
6457
|
<ax-uploader-drop-zone
|
|
@@ -6456,7 +6465,17 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
|
|
|
6456
6465
|
></ax-uploader-drop-zone>
|
|
6457
6466
|
</div>
|
|
6458
6467
|
</div>
|
|
6459
|
-
|
|
6468
|
+
@for(file of files(); track $index){
|
|
6469
|
+
<div class="ax-grid ax-mt-10 ax-grid-cols-12 ax-gap-1 ax-px-4">
|
|
6470
|
+
<ax-icon class="{{ getFileInfo(file.file.name).icon }} {{ getFileInfo(file.file.name).color }}"></ax-icon>
|
|
6471
|
+
<ax-text class="ax-col-span-10" [textContent]="file.file.name"></ax-text>
|
|
6472
|
+
<div>
|
|
6473
|
+
<ax-icon class="fa-light fa-download ax-px-2"></ax-icon>
|
|
6474
|
+
<ax-icon (click)="handleOnFileRemove(file)" class="fa-light fa-xmark"></ax-icon>
|
|
6475
|
+
</div>
|
|
6476
|
+
</div>
|
|
6477
|
+
}
|
|
6478
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.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: AXUploaderModule }, { kind: "component", type: i5$3.AXUploaderDropZoneComponent, selector: "ax-uploader-drop-zone", inputs: ["description"] }, { kind: "directive", type: i5$3.AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: ["multiple", "accept"], outputs: ["onChanged", "onFileUploadComplete", "onFilesUploadComplete"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6460
6479
|
}
|
|
6461
6480
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetEditComponent, decorators: [{
|
|
6462
6481
|
type: Component,
|
|
@@ -6476,6 +6495,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
6476
6495
|
></ax-uploader-drop-zone>
|
|
6477
6496
|
</div>
|
|
6478
6497
|
</div>
|
|
6498
|
+
@for(file of files(); track $index){
|
|
6499
|
+
<div class="ax-grid ax-mt-10 ax-grid-cols-12 ax-gap-1 ax-px-4">
|
|
6500
|
+
<ax-icon class="{{ getFileInfo(file.file.name).icon }} {{ getFileInfo(file.file.name).color }}"></ax-icon>
|
|
6501
|
+
<ax-text class="ax-col-span-10" [textContent]="file.file.name"></ax-text>
|
|
6502
|
+
<div>
|
|
6503
|
+
<ax-icon class="fa-light fa-download ax-px-2"></ax-icon>
|
|
6504
|
+
<ax-icon (click)="handleOnFileRemove(file)" class="fa-light fa-xmark"></ax-icon>
|
|
6505
|
+
</div>
|
|
6506
|
+
</div>
|
|
6507
|
+
}
|
|
6479
6508
|
`,
|
|
6480
6509
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6481
6510
|
imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXUploaderModule],
|
|
@@ -6529,24 +6558,21 @@ var fileBoxWidgetPrint_component = /*#__PURE__*/Object.freeze({
|
|
|
6529
6558
|
AXPFileBoxWidgetPrintComponent: AXPFileBoxWidgetPrintComponent
|
|
6530
6559
|
});
|
|
6531
6560
|
|
|
6532
|
-
class AXPFileManagementService {
|
|
6533
|
-
}
|
|
6534
|
-
|
|
6535
6561
|
class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
|
|
6536
6562
|
constructor() {
|
|
6537
6563
|
super(...arguments);
|
|
6538
|
-
this.
|
|
6564
|
+
this.fileStorageService = inject(AXPFileStorageService);
|
|
6539
6565
|
this.loadingDialog = inject(AXLoadingDialogService);
|
|
6540
6566
|
this.translateService = inject(AXTranslationService);
|
|
6541
6567
|
this.multiple = computed(() => this.options()['multiple']);
|
|
6542
6568
|
this.downloadable = computed(() => this.options()['downloadable']);
|
|
6543
|
-
this.internalValue =
|
|
6544
|
-
if (!this.getValue())
|
|
6545
|
-
return [];
|
|
6546
|
-
return Array.isArray(this.getValue()) ? this.getValue().map((item) => this.extractItem(item)) : [this.extractItem(this.getValue())];
|
|
6547
|
-
});
|
|
6569
|
+
this.internalValue = signal([]);
|
|
6548
6570
|
this.downloadSubscription = new Subscription();
|
|
6549
6571
|
}
|
|
6572
|
+
ngOnInit() {
|
|
6573
|
+
this.updateInternalValue();
|
|
6574
|
+
super.ngOnInit();
|
|
6575
|
+
}
|
|
6550
6576
|
async handleDownload(item) {
|
|
6551
6577
|
const d = this.loadingDialog.show({
|
|
6552
6578
|
title: await this.translateService.translateAsync('downloader.dialog.downloading'), // Downloading File
|
|
@@ -6565,23 +6591,6 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
|
|
|
6565
6591
|
},
|
|
6566
6592
|
],
|
|
6567
6593
|
});
|
|
6568
|
-
this.downloadSubscription = this.fileService.get(item.value, item.name || 'download').subscribe((event) => {
|
|
6569
|
-
d.setProgressText(event.status);
|
|
6570
|
-
d.setProgressStatus(`${event.progress}%`);
|
|
6571
|
-
d.setProgressValue(event.progress);
|
|
6572
|
-
if (event.progress === 100) {
|
|
6573
|
-
this.triggerDownload(event.data, item.name);
|
|
6574
|
-
setTimeout(() => {
|
|
6575
|
-
d.close();
|
|
6576
|
-
}, 1000);
|
|
6577
|
-
}
|
|
6578
|
-
}, async (error) => {
|
|
6579
|
-
d.setProgressText(error.statusText);
|
|
6580
|
-
d.setProgressStatus(await this.translateService.translateSync('downloader.dialog.downloadFailed')); //Downloading Failed
|
|
6581
|
-
setTimeout(() => {
|
|
6582
|
-
d.close();
|
|
6583
|
-
}, 1000);
|
|
6584
|
-
});
|
|
6585
6594
|
}
|
|
6586
6595
|
cancelDownload() {
|
|
6587
6596
|
this.downloadSubscription.unsubscribe();
|
|
@@ -6596,8 +6605,7 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
|
|
|
6596
6605
|
document.body.removeChild(link);
|
|
6597
6606
|
URL.revokeObjectURL(url);
|
|
6598
6607
|
}
|
|
6599
|
-
getFileInfo(
|
|
6600
|
-
const extension = fileName.split('.').pop()?.toLowerCase();
|
|
6608
|
+
getFileInfo(extension) {
|
|
6601
6609
|
switch (extension) {
|
|
6602
6610
|
case 'txt':
|
|
6603
6611
|
return { icon: 'fa-file-alt', color: 'ax-bg-blue-100 ax-text-blue-500' };
|
|
@@ -6641,28 +6649,33 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
|
|
|
6641
6649
|
return { icon: 'fa-file', color: 'ax-bg-gray-100 ax-text-gray-500' };
|
|
6642
6650
|
}
|
|
6643
6651
|
}
|
|
6644
|
-
|
|
6645
|
-
|
|
6646
|
-
|
|
6647
|
-
|
|
6648
|
-
|
|
6649
|
-
|
|
6650
|
-
|
|
6652
|
+
async updateInternalValue() {
|
|
6653
|
+
if (!this.getValue()) {
|
|
6654
|
+
this.internalValue.set([]);
|
|
6655
|
+
}
|
|
6656
|
+
else {
|
|
6657
|
+
if (Array.isArray(this.getValue())) {
|
|
6658
|
+
this.internalValue.set(await Promise.all(this.getValue().map(async (item) => await this.fileStorageService.getInfo(item))));
|
|
6651
6659
|
}
|
|
6652
|
-
|
|
6653
|
-
|
|
6654
|
-
|
|
6655
|
-
|
|
6656
|
-
|
|
6657
|
-
|
|
6660
|
+
else {
|
|
6661
|
+
this.internalValue.set([await this.fileStorageService.getInfo(this.getValue())]);
|
|
6662
|
+
}
|
|
6663
|
+
}
|
|
6664
|
+
console.log(this.internalValue());
|
|
6665
|
+
console.log(this.getValue());
|
|
6658
6666
|
}
|
|
6659
6667
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6660
6668
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPFileBoxWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
6661
6669
|
<div class="ax-grid ax-grid-cols-12 ax-gap-2">
|
|
6662
|
-
@if(multiple()){ @for(item of internalValue();
|
|
6670
|
+
@if (multiple()) { @for (item of internalValue(); track item.fileId) {
|
|
6663
6671
|
<ng-template [ngTemplateOutlet]="itemTemplate" ] [ngTemplateOutletContext]="{ data: item }" ]></ng-template>
|
|
6664
|
-
} }@else {
|
|
6665
|
-
<ng-template
|
|
6672
|
+
} } @else {
|
|
6673
|
+
<ng-template
|
|
6674
|
+
[ngTemplateOutlet]="itemTemplate"
|
|
6675
|
+
]
|
|
6676
|
+
[ngTemplateOutletContext]="{ data: internalValue()[0] }"
|
|
6677
|
+
]
|
|
6678
|
+
></ng-template>
|
|
6666
6679
|
}
|
|
6667
6680
|
<ng-template #itemTemplate let-item="data">
|
|
6668
6681
|
<div
|
|
@@ -6670,18 +6683,25 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
|
|
|
6670
6683
|
class="ax-flex ax-items-center ax-justify-between ax-p-2 ax-border ax-rounded-lg ax-bg-surface ax-col-start-1 ax-col-end-13"
|
|
6671
6684
|
>
|
|
6672
6685
|
<div class="ax-flex ax-items-center ax-gap-3">
|
|
6673
|
-
<ng-container *ngIf="getFileInfo(item.
|
|
6674
|
-
<div
|
|
6686
|
+
<ng-container *ngIf="getFileInfo(item.mimeType) as fileInfo">
|
|
6687
|
+
<div
|
|
6688
|
+
class="ax-w-10 ax-h-10 ax-rounded-lg ax-flex ax-items-center ax-justify-center"
|
|
6689
|
+
[ngClass]="[fileInfo.color]"
|
|
6690
|
+
>
|
|
6675
6691
|
<i [ngClass]="['fa-solid', 'ax-text-xl', fileInfo.icon]"></i>
|
|
6676
6692
|
</div>
|
|
6677
6693
|
</ng-container>
|
|
6678
6694
|
<div>
|
|
6679
|
-
<div class="ax-leading-6">{{ item.
|
|
6695
|
+
<div class="ax-leading-6">{{ item.fileId }}</div>
|
|
6680
6696
|
<p class="ax-text-sm ax-text-neutral-400">{{ item.size }}</p>
|
|
6681
6697
|
</div>
|
|
6682
6698
|
</div>
|
|
6683
|
-
@if(downloadable()){
|
|
6684
|
-
<ax-button
|
|
6699
|
+
@if (downloadable()) {
|
|
6700
|
+
<ax-button
|
|
6701
|
+
(onClick)="handleDownload(item)"
|
|
6702
|
+
look="blank"
|
|
6703
|
+
class="!ax-text-neutral-400 hover:!ax-text-neutral-600"
|
|
6704
|
+
>
|
|
6685
6705
|
<ax-icon>
|
|
6686
6706
|
<i class="fa-solid fa-download"></i>
|
|
6687
6707
|
</ax-icon>
|
|
@@ -6697,10 +6717,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
6697
6717
|
args: [{
|
|
6698
6718
|
template: `
|
|
6699
6719
|
<div class="ax-grid ax-grid-cols-12 ax-gap-2">
|
|
6700
|
-
@if(multiple()){ @for(item of internalValue();
|
|
6720
|
+
@if (multiple()) { @for (item of internalValue(); track item.fileId) {
|
|
6701
6721
|
<ng-template [ngTemplateOutlet]="itemTemplate" ] [ngTemplateOutletContext]="{ data: item }" ]></ng-template>
|
|
6702
|
-
} }@else {
|
|
6703
|
-
<ng-template
|
|
6722
|
+
} } @else {
|
|
6723
|
+
<ng-template
|
|
6724
|
+
[ngTemplateOutlet]="itemTemplate"
|
|
6725
|
+
]
|
|
6726
|
+
[ngTemplateOutletContext]="{ data: internalValue()[0] }"
|
|
6727
|
+
]
|
|
6728
|
+
></ng-template>
|
|
6704
6729
|
}
|
|
6705
6730
|
<ng-template #itemTemplate let-item="data">
|
|
6706
6731
|
<div
|
|
@@ -6708,18 +6733,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
6708
6733
|
class="ax-flex ax-items-center ax-justify-between ax-p-2 ax-border ax-rounded-lg ax-bg-surface ax-col-start-1 ax-col-end-13"
|
|
6709
6734
|
>
|
|
6710
6735
|
<div class="ax-flex ax-items-center ax-gap-3">
|
|
6711
|
-
<ng-container *ngIf="getFileInfo(item.
|
|
6712
|
-
<div
|
|
6736
|
+
<ng-container *ngIf="getFileInfo(item.mimeType) as fileInfo">
|
|
6737
|
+
<div
|
|
6738
|
+
class="ax-w-10 ax-h-10 ax-rounded-lg ax-flex ax-items-center ax-justify-center"
|
|
6739
|
+
[ngClass]="[fileInfo.color]"
|
|
6740
|
+
>
|
|
6713
6741
|
<i [ngClass]="['fa-solid', 'ax-text-xl', fileInfo.icon]"></i>
|
|
6714
6742
|
</div>
|
|
6715
6743
|
</ng-container>
|
|
6716
6744
|
<div>
|
|
6717
|
-
<div class="ax-leading-6">{{ item.
|
|
6745
|
+
<div class="ax-leading-6">{{ item.fileId }}</div>
|
|
6718
6746
|
<p class="ax-text-sm ax-text-neutral-400">{{ item.size }}</p>
|
|
6719
6747
|
</div>
|
|
6720
6748
|
</div>
|
|
6721
|
-
@if(downloadable()){
|
|
6722
|
-
<ax-button
|
|
6749
|
+
@if (downloadable()) {
|
|
6750
|
+
<ax-button
|
|
6751
|
+
(onClick)="handleDownload(item)"
|
|
6752
|
+
look="blank"
|
|
6753
|
+
class="!ax-text-neutral-400 hover:!ax-text-neutral-600"
|
|
6754
|
+
>
|
|
6723
6755
|
<ax-icon>
|
|
6724
6756
|
<i class="fa-solid fa-download"></i>
|
|
6725
6757
|
</ax-icon>
|
|
@@ -6731,7 +6763,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
6731
6763
|
`,
|
|
6732
6764
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6733
6765
|
imports: [CommonModule, AXButtonModule, AXDecoratorModule],
|
|
6734
|
-
inputs: []
|
|
6766
|
+
inputs: [],
|
|
6735
6767
|
}]
|
|
6736
6768
|
}] });
|
|
6737
6769
|
|
|
@@ -6790,6 +6822,9 @@ const AXPFileBoxWidget = {
|
|
|
6790
6822
|
},
|
|
6791
6823
|
};
|
|
6792
6824
|
|
|
6825
|
+
class AXPFileManagementService {
|
|
6826
|
+
}
|
|
6827
|
+
|
|
6793
6828
|
class AXPGalleryWidgetViewComponent extends AXPWidgetComponent {
|
|
6794
6829
|
constructor() {
|
|
6795
6830
|
super(...arguments);
|
|
@@ -7407,6 +7442,7 @@ const AXPMapBoxWidget = {
|
|
|
7407
7442
|
options: {
|
|
7408
7443
|
minValue: -90,
|
|
7409
7444
|
maxValue: 90,
|
|
7445
|
+
decimals: 5
|
|
7410
7446
|
},
|
|
7411
7447
|
},
|
|
7412
7448
|
},
|
|
@@ -7426,6 +7462,7 @@ const AXPMapBoxWidget = {
|
|
|
7426
7462
|
options: {
|
|
7427
7463
|
minValue: -180,
|
|
7428
7464
|
maxValue: 180,
|
|
7465
|
+
decimals: 5
|
|
7429
7466
|
},
|
|
7430
7467
|
},
|
|
7431
7468
|
},
|
|
@@ -11581,19 +11618,27 @@ class AXPBarChartWidgetEditComponent extends AXPWidgetComponent {
|
|
|
11581
11618
|
this.chartEl = viewChild.required('chart');
|
|
11582
11619
|
this.data = linkedSignal(() => this.getValue());
|
|
11583
11620
|
this.isRendered = false;
|
|
11621
|
+
// Constants
|
|
11622
|
+
this.DEFAULT_COLOR = 'steelblue';
|
|
11623
|
+
this.DEFAULT_MARGIN = { top: 10, right: 0, bottom: 20, left: 20 };
|
|
11624
|
+
this.BAR_TRANSITION_DELAY = 10;
|
|
11625
|
+
// After the next render, load D3, create the chart, and mark rendering complete
|
|
11584
11626
|
this.#af = afterNextRender(async () => {
|
|
11585
11627
|
await this.loadD3();
|
|
11586
|
-
this.
|
|
11628
|
+
this.createChart();
|
|
11587
11629
|
this.isRendered = true;
|
|
11630
|
+
//(window as any).chart = this; // Debug purpose only
|
|
11588
11631
|
});
|
|
11632
|
+
// Reactively update the chart when the data signal changes
|
|
11589
11633
|
this.#eff = effect(() => {
|
|
11590
|
-
this.data()
|
|
11591
|
-
if (this.isRendered) {
|
|
11634
|
+
if (this.isRendered && this.data()) {
|
|
11592
11635
|
this.updateChart(this.data());
|
|
11593
11636
|
}
|
|
11594
11637
|
});
|
|
11595
11638
|
}
|
|
11639
|
+
// After the next render, load D3, create the chart, and mark rendering complete
|
|
11596
11640
|
#af;
|
|
11641
|
+
// Reactively update the chart when the data signal changes
|
|
11597
11642
|
#eff;
|
|
11598
11643
|
async loadD3() {
|
|
11599
11644
|
try {
|
|
@@ -11603,226 +11648,99 @@ class AXPBarChartWidgetEditComponent extends AXPWidgetComponent {
|
|
|
11603
11648
|
console.error('Failed to load D3.js:', error);
|
|
11604
11649
|
}
|
|
11605
11650
|
}
|
|
11606
|
-
|
|
11607
|
-
const
|
|
11608
|
-
|
|
11609
|
-
|
|
11610
|
-
|
|
11611
|
-
this.
|
|
11612
|
-
|
|
11613
|
-
|
|
11614
|
-
this.
|
|
11615
|
-
this.
|
|
11616
|
-
|
|
11617
|
-
|
|
11618
|
-
|
|
11619
|
-
|
|
11620
|
-
|
|
11621
|
-
|
|
11622
|
-
this.
|
|
11623
|
-
|
|
11624
|
-
|
|
11625
|
-
|
|
11626
|
-
|
|
11627
|
-
|
|
11628
|
-
this.addLegend(data, width, height, margin, options);
|
|
11629
|
-
}
|
|
11630
|
-
if (options.enableExport) {
|
|
11631
|
-
this.addExportButton();
|
|
11632
|
-
}
|
|
11633
|
-
}
|
|
11634
|
-
updateChart(chartValue) {
|
|
11635
|
-
const { data, options } = chartValue;
|
|
11636
|
-
// Clear existing chart content
|
|
11637
|
-
this.svg.selectAll('*').remove();
|
|
11638
|
-
// Re-render chart with new options
|
|
11639
|
-
this.drawChart(chartValue);
|
|
11640
|
-
}
|
|
11641
|
-
getChartDimensions(options) {
|
|
11642
|
-
const baseWidth = options.width || 400;
|
|
11643
|
-
const baseHeight = options.height || 200;
|
|
11644
|
-
const margin = options.margin || { top: 20, right: 20, bottom: 30, left: 40 };
|
|
11645
|
-
// Reserve space for legend
|
|
11646
|
-
const legendSpace = 100; // 100px reserved for legend
|
|
11647
|
-
let width = baseWidth;
|
|
11648
|
-
let height = baseHeight;
|
|
11649
|
-
if (options.enableLegend) {
|
|
11650
|
-
switch (options.legendPosition) {
|
|
11651
|
-
case 'top-right':
|
|
11652
|
-
case 'top-left':
|
|
11653
|
-
height -= legendSpace; // Reserve space at the top
|
|
11654
|
-
margin.top += legendSpace;
|
|
11655
|
-
break;
|
|
11656
|
-
case 'bottom-right':
|
|
11657
|
-
case 'bottom-left':
|
|
11658
|
-
height -= legendSpace; // Reserve space at the bottom
|
|
11659
|
-
margin.bottom += legendSpace;
|
|
11660
|
-
break;
|
|
11661
|
-
}
|
|
11662
|
-
}
|
|
11663
|
-
return { width, height, margin };
|
|
11664
|
-
}
|
|
11665
|
-
createXScale(data, width, margin) {
|
|
11666
|
-
return this.d3
|
|
11667
|
-
.scaleBand()
|
|
11668
|
-
.domain(data.map((d) => d.name))
|
|
11669
|
-
.range([margin.left, width - margin.right])
|
|
11670
|
-
.padding(0.1);
|
|
11671
|
-
}
|
|
11672
|
-
createYScale(data, height, margin) {
|
|
11673
|
-
return this.d3
|
|
11674
|
-
.scaleLinear()
|
|
11675
|
-
.domain([0, this.d3.max(data, (d) => d.value)])
|
|
11676
|
-
.nice()
|
|
11677
|
-
.range([height - margin.bottom, margin.top]);
|
|
11678
|
-
}
|
|
11679
|
-
drawBars(data, x, y, height, margin, options) {
|
|
11680
|
-
this.svg
|
|
11681
|
-
.selectAll('rect')
|
|
11682
|
-
.data(data)
|
|
11683
|
-
.enter()
|
|
11684
|
-
.append('rect')
|
|
11685
|
-
.attr('x', (d) => x(d.name) || 0)
|
|
11686
|
-
.attr('y', height - margin.bottom)
|
|
11687
|
-
.attr('width', x.bandwidth())
|
|
11688
|
-
.attr('height', 0)
|
|
11689
|
-
.attr('fill', (d) => d.color || options.color || 'teal')
|
|
11690
|
-
.transition()
|
|
11691
|
-
.duration(500)
|
|
11692
|
-
.attr('y', (d) => y(d.value))
|
|
11693
|
-
.attr('height', (d) => y(0) - y(d.value));
|
|
11694
|
-
}
|
|
11695
|
-
drawAxes(x, y, height, margin, options) {
|
|
11696
|
-
const axisColor = options.axisColor || '#000';
|
|
11697
|
-
const axisFontSize = options.axisFontSize || 12;
|
|
11698
|
-
// Draw X axis
|
|
11699
|
-
this.svg
|
|
11651
|
+
createChart(dataValue = this.data()) {
|
|
11652
|
+
const element = this.chartEl().nativeElement;
|
|
11653
|
+
this.margin = {
|
|
11654
|
+
top: (dataValue?.options?.margin?.top ?? 0) + this.DEFAULT_MARGIN.top,
|
|
11655
|
+
bottom: (dataValue?.options?.margin?.bottom ?? 0) + this.DEFAULT_MARGIN.bottom,
|
|
11656
|
+
left: (dataValue?.options?.margin?.left ?? 0) + this.DEFAULT_MARGIN.left,
|
|
11657
|
+
right: (dataValue?.options?.margin?.right ?? 0) + this.DEFAULT_MARGIN.right,
|
|
11658
|
+
};
|
|
11659
|
+
this.width = (dataValue?.options?.width ?? element.offsetWidth) - (this.margin.left + this.margin.right);
|
|
11660
|
+
this.height = (dataValue?.options?.height ?? element.offsetHeight) - (this.margin.top + this.margin.bottom);
|
|
11661
|
+
this.initializeSVG(element);
|
|
11662
|
+
this.initializeScales(dataValue);
|
|
11663
|
+
this.initializeAxes();
|
|
11664
|
+
this.updateChart();
|
|
11665
|
+
}
|
|
11666
|
+
initializeSVG(element) {
|
|
11667
|
+
this.svg = this.d3
|
|
11668
|
+
.select(element)
|
|
11669
|
+
.append('svg')
|
|
11670
|
+
.attr('width', this.width + this.margin.left + this.margin.right)
|
|
11671
|
+
.attr('height', this.height + this.margin.top + this.margin.bottom);
|
|
11672
|
+
this.chart = this.svg
|
|
11700
11673
|
.append('g')
|
|
11701
|
-
.attr('class', '
|
|
11702
|
-
.attr('transform', `translate(
|
|
11703
|
-
|
|
11704
|
-
|
|
11705
|
-
|
|
11706
|
-
|
|
11707
|
-
this.
|
|
11674
|
+
.attr('class', 'axp-bar-chart-bars')
|
|
11675
|
+
.attr('transform', `translate(${this.margin.left}, ${this.margin.top})`);
|
|
11676
|
+
}
|
|
11677
|
+
initializeScales(dataValue) {
|
|
11678
|
+
const xDomain = dataValue.data.map((d) => d.label);
|
|
11679
|
+
const yDomain = [0, this.d3.max(dataValue.data, (d) => d.value) ?? 100];
|
|
11680
|
+
this.xScale = this.d3.scaleBand().padding(0.1).domain(xDomain).rangeRound([0, this.width]);
|
|
11681
|
+
this.yScale = this.d3.scaleLinear().domain(yDomain).range([this.height, 0]);
|
|
11682
|
+
this.colors = this.createColorScale(dataValue);
|
|
11683
|
+
}
|
|
11684
|
+
createColorScale(dataValue) {
|
|
11685
|
+
const { data, options } = dataValue;
|
|
11686
|
+
const colors = options.color || [this.DEFAULT_COLOR];
|
|
11687
|
+
const domain = data.length === 1 ? [0, data.length - 1] : data.map((_, i) => (i / (data.length - 1)) * (data.length - 1));
|
|
11688
|
+
const range = !Array.isArray(colors) ? [colors, colors] : [colors[0], colors[colors.length - 1]];
|
|
11689
|
+
return this.d3.scaleLinear().domain(domain).range(range);
|
|
11690
|
+
}
|
|
11691
|
+
initializeAxes() {
|
|
11692
|
+
this.xAxis = this.chart
|
|
11708
11693
|
.append('g')
|
|
11709
|
-
.attr('class', '
|
|
11710
|
-
.attr('transform', `translate(${
|
|
11711
|
-
.call(this.d3.
|
|
11712
|
-
|
|
11713
|
-
|
|
11714
|
-
|
|
11715
|
-
|
|
11716
|
-
this.
|
|
11717
|
-
this.
|
|
11718
|
-
|
|
11719
|
-
|
|
11720
|
-
|
|
11721
|
-
|
|
11722
|
-
|
|
11723
|
-
|
|
11724
|
-
|
|
11725
|
-
|
|
11726
|
-
|
|
11727
|
-
|
|
11728
|
-
|
|
11729
|
-
|
|
11730
|
-
|
|
11731
|
-
|
|
11732
|
-
.
|
|
11733
|
-
.
|
|
11734
|
-
|
|
11735
|
-
|
|
11736
|
-
|
|
11737
|
-
|
|
11738
|
-
|
|
11739
|
-
.on('mouseout', () => {
|
|
11740
|
-
this.tooltip.style('opacity', 0);
|
|
11741
|
-
});
|
|
11742
|
-
}
|
|
11743
|
-
addLegend(data, width, height, margin, options) {
|
|
11744
|
-
const legendPosition = options.legendPosition || 'top-right';
|
|
11745
|
-
const legend = this.svg.append('g').attr('class', 'legend');
|
|
11746
|
-
const legendItems = legend
|
|
11747
|
-
.selectAll('.legend-item')
|
|
11748
|
-
.data(data)
|
|
11694
|
+
.attr('class', 'axp-bar-chart-axis-x')
|
|
11695
|
+
.attr('transform', `translate(0, ${this.height})`)
|
|
11696
|
+
.call(this.d3.axisBottom(this.xScale));
|
|
11697
|
+
this.yAxis = this.chart.append('g').attr('class', 'axp-bar-chart-axis-y').call(this.d3.axisLeft(this.yScale));
|
|
11698
|
+
}
|
|
11699
|
+
updateChart(dataValue = this.data()) {
|
|
11700
|
+
this.updateScales(dataValue);
|
|
11701
|
+
this.updateAxes();
|
|
11702
|
+
this.updateBars(dataValue);
|
|
11703
|
+
}
|
|
11704
|
+
updateScales(dataValue) {
|
|
11705
|
+
this.xScale.domain(dataValue.data.map((d) => d.label));
|
|
11706
|
+
this.yScale.domain([0, this.d3.max(dataValue.data, (d) => d.value) ?? 100]);
|
|
11707
|
+
this.colors.domain([0, dataValue.data.length]);
|
|
11708
|
+
}
|
|
11709
|
+
updateAxes() {
|
|
11710
|
+
this.xAxis.transition().call(this.d3.axisBottom(this.xScale));
|
|
11711
|
+
this.yAxis.transition().call(this.d3.axisLeft(this.yScale));
|
|
11712
|
+
}
|
|
11713
|
+
updateBars(dataValue) {
|
|
11714
|
+
const bars = this.chart.selectAll('.axp-bar-chart-bar').data(dataValue.data);
|
|
11715
|
+
bars.exit().remove();
|
|
11716
|
+
bars
|
|
11717
|
+
.transition()
|
|
11718
|
+
.attr('x', (d) => this.xScale(d.label))
|
|
11719
|
+
.attr('y', (d) => this.yScale(d.value))
|
|
11720
|
+
.attr('width', this.xScale.bandwidth())
|
|
11721
|
+
.attr('height', (d) => this.height - this.yScale(d.value))
|
|
11722
|
+
.style('fill', (d, i) => d.color ?? this.colors(i));
|
|
11723
|
+
bars
|
|
11749
11724
|
.enter()
|
|
11750
|
-
.append('g')
|
|
11751
|
-
.attr('class', 'legend-item')
|
|
11752
|
-
.attr('transform', (d, i) => `translate(0, ${i * 20})`);
|
|
11753
|
-
legendItems
|
|
11754
11725
|
.append('rect')
|
|
11755
|
-
.attr('
|
|
11756
|
-
.attr('
|
|
11757
|
-
.attr('
|
|
11758
|
-
|
|
11759
|
-
.
|
|
11760
|
-
.attr('
|
|
11761
|
-
.
|
|
11762
|
-
.
|
|
11763
|
-
.
|
|
11764
|
-
.
|
|
11765
|
-
|
|
11766
|
-
switch (legendPosition) {
|
|
11767
|
-
case 'top-right':
|
|
11768
|
-
legend.attr('transform', `translate(${width - margin.right - 100}, ${margin.top - 80})`);
|
|
11769
|
-
break;
|
|
11770
|
-
case 'top-left':
|
|
11771
|
-
legend.attr('transform', `translate(${margin.left}, ${margin.top - 80})`);
|
|
11772
|
-
break;
|
|
11773
|
-
case 'bottom-right':
|
|
11774
|
-
legend.attr('transform', `translate(${width - margin.right - 100}, ${height - margin.bottom + 20})`);
|
|
11775
|
-
break;
|
|
11776
|
-
case 'bottom-left':
|
|
11777
|
-
legend.attr('transform', `translate(${margin.left}, ${height - margin.bottom + 20})`);
|
|
11778
|
-
break;
|
|
11779
|
-
}
|
|
11780
|
-
}
|
|
11781
|
-
addExportButton() {
|
|
11782
|
-
const exportButton = this.d3
|
|
11783
|
-
.select(this.chartEl().nativeElement)
|
|
11784
|
-
.append('button')
|
|
11785
|
-
.text('Export to PNG')
|
|
11786
|
-
.style('position', 'absolute')
|
|
11787
|
-
.style('top', '10px')
|
|
11788
|
-
.style('right', '10px')
|
|
11789
|
-
.style('z-index', '1000')
|
|
11790
|
-
.on('click', () => {
|
|
11791
|
-
const svgElement = this.svg.node();
|
|
11792
|
-
if (svgElement) {
|
|
11793
|
-
const serializer = new XMLSerializer();
|
|
11794
|
-
const svgString = serializer.serializeToString(svgElement);
|
|
11795
|
-
const canvas = document.createElement('canvas');
|
|
11796
|
-
const ctx = canvas.getContext('2d');
|
|
11797
|
-
const img = new Image();
|
|
11798
|
-
img.onload = () => {
|
|
11799
|
-
canvas.width = img.width;
|
|
11800
|
-
canvas.height = img.height;
|
|
11801
|
-
ctx?.drawImage(img, 0, 0);
|
|
11802
|
-
const link = document.createElement('a');
|
|
11803
|
-
link.download = 'chart.png';
|
|
11804
|
-
link.href = canvas.toDataURL('image/png');
|
|
11805
|
-
link.click();
|
|
11806
|
-
};
|
|
11807
|
-
img.src = 'data:image/svg+xml;base64,' + btoa(svgString);
|
|
11808
|
-
}
|
|
11809
|
-
});
|
|
11810
|
-
}
|
|
11811
|
-
ngOnDestroy() {
|
|
11812
|
-
if (this.svg) {
|
|
11813
|
-
this.svg.selectAll('*').remove();
|
|
11814
|
-
}
|
|
11726
|
+
.attr('class', 'axp-bar-chart-bar')
|
|
11727
|
+
.attr('x', (d) => this.xScale(d.label))
|
|
11728
|
+
.attr('y', (d) => this.yScale(0))
|
|
11729
|
+
.attr('width', this.xScale.bandwidth())
|
|
11730
|
+
.attr('height', 0)
|
|
11731
|
+
.attr('data-id', (d) => d.id ?? AXPDataGenerator.uuid())
|
|
11732
|
+
.style('fill', (d, i) => d.color ?? this.colors(i))
|
|
11733
|
+
.transition()
|
|
11734
|
+
.delay((d, i) => i * (this.getValue().options.transitionDelayMs ?? this.BAR_TRANSITION_DELAY))
|
|
11735
|
+
.attr('y', (d) => this.yScale(d.value) - 0.5)
|
|
11736
|
+
.attr('height', (d) => this.height - this.yScale(d.value));
|
|
11815
11737
|
}
|
|
11816
11738
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBarChartWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
11817
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPBarChartWidgetEditComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "chartEl", first: true, predicate: ["chart"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `<div class="
|
|
11739
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPBarChartWidgetEditComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "chartEl", first: true, predicate: ["chart"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `<div class="axp-bar-chart" #chart></div>`, isInline: true, styles: [".axp-bar-chart{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11818
11740
|
}
|
|
11819
11741
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBarChartWidgetEditComponent, decorators: [{
|
|
11820
11742
|
type: Component,
|
|
11821
|
-
args: [{
|
|
11822
|
-
template: `<div class="ax-flex ax-justify-center ax-items-center" #chart></div>`,
|
|
11823
|
-
standalone: true,
|
|
11824
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11825
|
-
}]
|
|
11743
|
+
args: [{ template: `<div class="axp-bar-chart" #chart></div>`, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".axp-bar-chart{width:100%;height:100%}\n"] }]
|
|
11826
11744
|
}] });
|
|
11827
11745
|
|
|
11828
11746
|
var barChartWidgetEdit_component = /*#__PURE__*/Object.freeze({
|
|
@@ -11948,6 +11866,289 @@ const AXPDonutChartWidget = {
|
|
|
11948
11866
|
},
|
|
11949
11867
|
};
|
|
11950
11868
|
|
|
11869
|
+
class AXPGaugeChartWidgetEditComponent extends AXPWidgetComponent {
|
|
11870
|
+
constructor() {
|
|
11871
|
+
super(...arguments);
|
|
11872
|
+
this.chartContainerEl = viewChild.required('chartContainer');
|
|
11873
|
+
this.chartEl = viewChild.required('chart');
|
|
11874
|
+
this.#af = afterNextRender(async () => {
|
|
11875
|
+
await this.loadD3();
|
|
11876
|
+
this.createChart();
|
|
11877
|
+
});
|
|
11878
|
+
}
|
|
11879
|
+
#af;
|
|
11880
|
+
async loadD3() {
|
|
11881
|
+
try {
|
|
11882
|
+
this.d3 = await import('d3');
|
|
11883
|
+
}
|
|
11884
|
+
catch (error) {
|
|
11885
|
+
console.error('Failed to load D3.js:', error);
|
|
11886
|
+
}
|
|
11887
|
+
}
|
|
11888
|
+
createChart() {
|
|
11889
|
+
const chartValue = this.getValue(); // Get the AXPGaugeChartValue
|
|
11890
|
+
if (!chartValue || !chartValue.data || !chartValue.options) {
|
|
11891
|
+
console.error('Invalid chart data or options');
|
|
11892
|
+
return;
|
|
11893
|
+
}
|
|
11894
|
+
const { data, options } = chartValue;
|
|
11895
|
+
const { width, height, minValue, maxValue, thresholds, label, animationDuration } = options;
|
|
11896
|
+
// Clear any existing chart
|
|
11897
|
+
this.d3.select(this.chartEl().nativeElement).selectAll('*').remove();
|
|
11898
|
+
// Set up SVG dimensions
|
|
11899
|
+
const svg = this.d3.select(this.chartEl().nativeElement).attr('width', width).attr('height', height);
|
|
11900
|
+
// Create a group for the chart
|
|
11901
|
+
const chartGroup = svg.append('g').attr('transform', `translate(${width / 2}, ${height / 2})`);
|
|
11902
|
+
// Draw the background arc
|
|
11903
|
+
this.drawBackgroundArc(chartGroup, width);
|
|
11904
|
+
// Draw the threshold arcs and labels
|
|
11905
|
+
this.drawThresholds(chartGroup, width, minValue, maxValue, thresholds);
|
|
11906
|
+
// Draw the dial/needle
|
|
11907
|
+
this.drawDial(chartGroup, width, data.value, minValue, maxValue);
|
|
11908
|
+
// Add the label
|
|
11909
|
+
this.drawLabel(chartGroup, label);
|
|
11910
|
+
}
|
|
11911
|
+
/**
|
|
11912
|
+
* Draw the background arc.
|
|
11913
|
+
*/
|
|
11914
|
+
drawBackgroundArc(chartGroup, width) {
|
|
11915
|
+
const backgroundArc = this.d3
|
|
11916
|
+
.arc()
|
|
11917
|
+
.innerRadius(width * 0.3)
|
|
11918
|
+
.outerRadius(width * 0.4)
|
|
11919
|
+
.startAngle(-Math.PI / 2)
|
|
11920
|
+
.endAngle(Math.PI / 2);
|
|
11921
|
+
chartGroup
|
|
11922
|
+
.append('path')
|
|
11923
|
+
.attr('d', backgroundArc({
|
|
11924
|
+
innerRadius: width * 0.3,
|
|
11925
|
+
outerRadius: width * 0.4,
|
|
11926
|
+
startAngle: -Math.PI / 2,
|
|
11927
|
+
endAngle: Math.PI / 2,
|
|
11928
|
+
}))
|
|
11929
|
+
.attr('fill', '#eee');
|
|
11930
|
+
}
|
|
11931
|
+
/**
|
|
11932
|
+
* Draw the threshold arcs and labels.
|
|
11933
|
+
*/
|
|
11934
|
+
drawThresholds(chartGroup, width, minValue, maxValue, thresholds) {
|
|
11935
|
+
const arc = this.d3
|
|
11936
|
+
.arc()
|
|
11937
|
+
.innerRadius(width * 0.3)
|
|
11938
|
+
.outerRadius(width * 0.4);
|
|
11939
|
+
let previousEndAngle = -Math.PI / 2;
|
|
11940
|
+
thresholds.forEach((threshold) => {
|
|
11941
|
+
const range = threshold.range;
|
|
11942
|
+
const endAngle = this.scaleValueToAngle(range, minValue, maxValue);
|
|
11943
|
+
// Draw the threshold arc
|
|
11944
|
+
chartGroup
|
|
11945
|
+
.append('path')
|
|
11946
|
+
.attr('d', arc({
|
|
11947
|
+
innerRadius: width * 0.3,
|
|
11948
|
+
outerRadius: width * 0.4,
|
|
11949
|
+
startAngle: previousEndAngle,
|
|
11950
|
+
endAngle,
|
|
11951
|
+
}))
|
|
11952
|
+
.attr('fill', threshold.color);
|
|
11953
|
+
// Draw the threshold label
|
|
11954
|
+
this.drawThresholdLabel(chartGroup, width, endAngle, range.toString());
|
|
11955
|
+
previousEndAngle = endAngle;
|
|
11956
|
+
});
|
|
11957
|
+
}
|
|
11958
|
+
/**
|
|
11959
|
+
* Draw a threshold label.
|
|
11960
|
+
*/
|
|
11961
|
+
drawThresholdLabel(chartGroup, width, angle, text) {
|
|
11962
|
+
const labelRadius = width * 0.45; // Position outside the arc
|
|
11963
|
+
const labelX = labelRadius * Math.cos(angle);
|
|
11964
|
+
const labelY = labelRadius * Math.sin(angle);
|
|
11965
|
+
// Calculate the rotation angle in degrees
|
|
11966
|
+
const rotationAngle = this.radiansToDegrees(angle);
|
|
11967
|
+
chartGroup
|
|
11968
|
+
.append('text')
|
|
11969
|
+
.attr('x', labelX)
|
|
11970
|
+
.attr('y', labelY)
|
|
11971
|
+
.attr('text-anchor', 'middle') // Center the text
|
|
11972
|
+
.attr('dy', '0.35em')
|
|
11973
|
+
.attr('transform', `rotate(${rotationAngle}, ${labelX}, ${labelY})`) // Rotate label
|
|
11974
|
+
.text(text)
|
|
11975
|
+
.style('font-size', '12px')
|
|
11976
|
+
.style('fill', '#000');
|
|
11977
|
+
}
|
|
11978
|
+
/**
|
|
11979
|
+
* Draw the dial/needle.
|
|
11980
|
+
*/
|
|
11981
|
+
drawDial(chartGroup, width, value, minValue, maxValue) {
|
|
11982
|
+
const valueAngle = this.scaleValueToAngle(value, minValue, maxValue);
|
|
11983
|
+
chartGroup
|
|
11984
|
+
.append('line')
|
|
11985
|
+
.attr('x1', 0)
|
|
11986
|
+
.attr('y1', 0)
|
|
11987
|
+
.attr('x2', width * 0.35 * Math.cos(valueAngle))
|
|
11988
|
+
.attr('y2', width * 0.35 * Math.sin(valueAngle))
|
|
11989
|
+
.attr('stroke', '#000')
|
|
11990
|
+
.attr('stroke-width', 2);
|
|
11991
|
+
}
|
|
11992
|
+
/**
|
|
11993
|
+
* Draw the chart label.
|
|
11994
|
+
*/
|
|
11995
|
+
drawLabel(chartGroup, label) {
|
|
11996
|
+
chartGroup
|
|
11997
|
+
.append('text')
|
|
11998
|
+
.attr('text-anchor', 'middle')
|
|
11999
|
+
.attr('dy', '0.35em')
|
|
12000
|
+
.text(label || '')
|
|
12001
|
+
.style('font-size', '16px')
|
|
12002
|
+
.style('fill', '#000');
|
|
12003
|
+
}
|
|
12004
|
+
/**
|
|
12005
|
+
* Scale a value to an angle for the gauge chart.
|
|
12006
|
+
*/
|
|
12007
|
+
scaleValueToAngle(value, min, max) {
|
|
12008
|
+
const scaledValue = (value - min) / (max - min);
|
|
12009
|
+
return -Math.PI / 2 + scaledValue * Math.PI;
|
|
12010
|
+
}
|
|
12011
|
+
/**
|
|
12012
|
+
* Convert radians to degrees.
|
|
12013
|
+
*/
|
|
12014
|
+
radiansToDegrees(radians) {
|
|
12015
|
+
return radians * (180 / Math.PI);
|
|
12016
|
+
}
|
|
12017
|
+
ngOnDestroy() {
|
|
12018
|
+
this.d3.select(this.chartEl().nativeElement).selectAll('*').remove();
|
|
12019
|
+
}
|
|
12020
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGaugeChartWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12021
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPGaugeChartWidgetEditComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "chartContainerEl", first: true, predicate: ["chartContainer"], descendants: true, isSignal: true }, { propertyName: "chartEl", first: true, predicate: ["chart"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
12022
|
+
<div class="ax-flex ax-justify-center ax-items-center" #chartContainer>
|
|
12023
|
+
<svg #chart></svg>
|
|
12024
|
+
</div>
|
|
12025
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12026
|
+
}
|
|
12027
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGaugeChartWidgetEditComponent, decorators: [{
|
|
12028
|
+
type: Component,
|
|
12029
|
+
args: [{
|
|
12030
|
+
template: `
|
|
12031
|
+
<div class="ax-flex ax-justify-center ax-items-center" #chartContainer>
|
|
12032
|
+
<svg #chart></svg>
|
|
12033
|
+
</div>
|
|
12034
|
+
`,
|
|
12035
|
+
standalone: true,
|
|
12036
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12037
|
+
}]
|
|
12038
|
+
}] });
|
|
12039
|
+
|
|
12040
|
+
var gaugeChartWidgetEdit_component = /*#__PURE__*/Object.freeze({
|
|
12041
|
+
__proto__: null,
|
|
12042
|
+
AXPGaugeChartWidgetEditComponent: AXPGaugeChartWidgetEditComponent
|
|
12043
|
+
});
|
|
12044
|
+
|
|
12045
|
+
const AXPGaugeChartWidget = {
|
|
12046
|
+
name: 'gauge-chart',
|
|
12047
|
+
title: 'Gauge Chart Widget',
|
|
12048
|
+
group: AXP_WIDGETS_CHART_GROUP,
|
|
12049
|
+
type: 'chart',
|
|
12050
|
+
icon: 'fa-solid fa-gauge',
|
|
12051
|
+
visible: false,
|
|
12052
|
+
properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],
|
|
12053
|
+
components: {
|
|
12054
|
+
edit: {
|
|
12055
|
+
component: () => Promise.resolve().then(function () { return gaugeChartWidgetEdit_component; }).then((c) => c.AXPGaugeChartWidgetEditComponent),
|
|
12056
|
+
},
|
|
12057
|
+
},
|
|
12058
|
+
};
|
|
12059
|
+
|
|
12060
|
+
class AXPStickyNoteWidgetEditComponent extends AXPWidgetComponent {
|
|
12061
|
+
constructor() {
|
|
12062
|
+
super(...arguments);
|
|
12063
|
+
this.value = linkedSignal(() => this.getValue());
|
|
12064
|
+
}
|
|
12065
|
+
valueChange(event) {
|
|
12066
|
+
if (event.isUserInteraction) {
|
|
12067
|
+
this.value.set(event.value);
|
|
12068
|
+
}
|
|
12069
|
+
}
|
|
12070
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPStickyNoteWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12071
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPStickyNoteWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
12072
|
+
<div class="ax-size-full ax-border">
|
|
12073
|
+
<div class="axp-sticky-note-container ax-flex ax-flex-col">
|
|
12074
|
+
<div
|
|
12075
|
+
class="axp-sticky-note-header ax-flex ax-justify-between ax-items-center ax-p-2 ax-border ax-bg-yellow-300 ax-text-gray-500"
|
|
12076
|
+
>
|
|
12077
|
+
<div><i class="fa-solid fa-plus"></i></div>
|
|
12078
|
+
<div class="ax-flex ax-gap-3"><i class="fa-solid fa-ellipsis"></i> <i class="fa-solid fa-xmark"></i></div>
|
|
12079
|
+
</div>
|
|
12080
|
+
<ax-wysiwyg-container
|
|
12081
|
+
class="ax-size-full"
|
|
12082
|
+
placeHolder="enter your note here"
|
|
12083
|
+
look="none"
|
|
12084
|
+
(onValueChanged)="valueChange($event)"
|
|
12085
|
+
[ngModel]="value()"
|
|
12086
|
+
>
|
|
12087
|
+
<ax-wysiwyg-view class="ax-min-h-10"></ax-wysiwyg-view>
|
|
12088
|
+
<ax-toolbar class="ax-min-h-10">
|
|
12089
|
+
<ax-prefix>
|
|
12090
|
+
<ax-wysiwyg-font-style></ax-wysiwyg-font-style>
|
|
12091
|
+
</ax-prefix>
|
|
12092
|
+
</ax-toolbar>
|
|
12093
|
+
</ax-wysiwyg-container>
|
|
12094
|
+
<div class="axp-sticky-note-body ax-bg-yellow-200"></div>
|
|
12095
|
+
<div class="axp-sticky-note-footer ax-p-2"></div>
|
|
12096
|
+
</div>
|
|
12097
|
+
</div>
|
|
12098
|
+
`, isInline: true, styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: AXWysiwygModule }, { kind: "component", type: i2$2.AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: ["look", "placeHolder"], outputs: ["onValueChanged"] }, { kind: "component", type: i2$2.AXWysiwygViewComponent, selector: "ax-wysiwyg-view", inputs: ["class"] }, { kind: "component", type: i2$2.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.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: AXToolBarModule }, { kind: "component", type: i3$5.AXToolBarComponent, selector: "ax-toolbar" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12099
|
+
}
|
|
12100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPStickyNoteWidgetEditComponent, decorators: [{
|
|
12101
|
+
type: Component,
|
|
12102
|
+
args: [{ template: `
|
|
12103
|
+
<div class="ax-size-full ax-border">
|
|
12104
|
+
<div class="axp-sticky-note-container ax-flex ax-flex-col">
|
|
12105
|
+
<div
|
|
12106
|
+
class="axp-sticky-note-header ax-flex ax-justify-between ax-items-center ax-p-2 ax-border ax-bg-yellow-300 ax-text-gray-500"
|
|
12107
|
+
>
|
|
12108
|
+
<div><i class="fa-solid fa-plus"></i></div>
|
|
12109
|
+
<div class="ax-flex ax-gap-3"><i class="fa-solid fa-ellipsis"></i> <i class="fa-solid fa-xmark"></i></div>
|
|
12110
|
+
</div>
|
|
12111
|
+
<ax-wysiwyg-container
|
|
12112
|
+
class="ax-size-full"
|
|
12113
|
+
placeHolder="enter your note here"
|
|
12114
|
+
look="none"
|
|
12115
|
+
(onValueChanged)="valueChange($event)"
|
|
12116
|
+
[ngModel]="value()"
|
|
12117
|
+
>
|
|
12118
|
+
<ax-wysiwyg-view class="ax-min-h-10"></ax-wysiwyg-view>
|
|
12119
|
+
<ax-toolbar class="ax-min-h-10">
|
|
12120
|
+
<ax-prefix>
|
|
12121
|
+
<ax-wysiwyg-font-style></ax-wysiwyg-font-style>
|
|
12122
|
+
</ax-prefix>
|
|
12123
|
+
</ax-toolbar>
|
|
12124
|
+
</ax-wysiwyg-container>
|
|
12125
|
+
<div class="axp-sticky-note-body ax-bg-yellow-200"></div>
|
|
12126
|
+
<div class="axp-sticky-note-footer ax-p-2"></div>
|
|
12127
|
+
</div>
|
|
12128
|
+
</div>
|
|
12129
|
+
`, standalone: true, imports: [AXWysiwygModule, AXDecoratorModule, AXToolBarModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%}\n"] }]
|
|
12130
|
+
}] });
|
|
12131
|
+
|
|
12132
|
+
var stickyNoteWidgetEdit_component = /*#__PURE__*/Object.freeze({
|
|
12133
|
+
__proto__: null,
|
|
12134
|
+
AXPStickyNoteWidgetEditComponent: AXPStickyNoteWidgetEditComponent
|
|
12135
|
+
});
|
|
12136
|
+
|
|
12137
|
+
const AXPStickyNoteWidget = {
|
|
12138
|
+
name: 'sticky-note',
|
|
12139
|
+
title: 'Sticky Note Widget',
|
|
12140
|
+
group: AXP_WIDGETS_CHART_GROUP,
|
|
12141
|
+
type: 'chart',
|
|
12142
|
+
icon: 'fa-solid fa-sticky-note',
|
|
12143
|
+
visible: false,
|
|
12144
|
+
properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],
|
|
12145
|
+
components: {
|
|
12146
|
+
edit: {
|
|
12147
|
+
component: () => Promise.resolve().then(function () { return stickyNoteWidgetEdit_component; }).then((c) => c.AXPStickyNoteWidgetEditComponent),
|
|
12148
|
+
},
|
|
12149
|
+
},
|
|
12150
|
+
};
|
|
12151
|
+
|
|
11951
12152
|
class AXPCronJobWidgetViewComponent extends AXPWidgetComponent {
|
|
11952
12153
|
constructor() {
|
|
11953
12154
|
super(...arguments);
|
|
@@ -12420,11 +12621,11 @@ const AXPColorBoxWidget = {
|
|
|
12420
12621
|
},
|
|
12421
12622
|
};
|
|
12422
12623
|
|
|
12423
|
-
class
|
|
12424
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
12425
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type:
|
|
12624
|
+
class AXPTabularDataWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
12625
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12626
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTabularDataWidgetColumnComponent, isStandalone: true, selector: "axp-tabular-editor-widget-column", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: `{{ rawValue }}`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12426
12627
|
}
|
|
12427
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
12628
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetColumnComponent, decorators: [{
|
|
12428
12629
|
type: Component,
|
|
12429
12630
|
args: [{
|
|
12430
12631
|
selector: 'axp-tabular-editor-widget-column',
|
|
@@ -12435,12 +12636,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
12435
12636
|
}]
|
|
12436
12637
|
}] });
|
|
12437
12638
|
|
|
12438
|
-
var
|
|
12639
|
+
var tabularDataColumn_component = /*#__PURE__*/Object.freeze({
|
|
12439
12640
|
__proto__: null,
|
|
12440
|
-
|
|
12641
|
+
AXPTabularDataWidgetColumnComponent: AXPTabularDataWidgetColumnComponent
|
|
12441
12642
|
});
|
|
12442
12643
|
|
|
12443
|
-
class
|
|
12644
|
+
class AXPTabularDataWidgetEditComponent extends AXPWidgetComponent {
|
|
12444
12645
|
constructor() {
|
|
12445
12646
|
super(...arguments);
|
|
12446
12647
|
this.columns = computed(() => this.options()['columns']);
|
|
@@ -12465,10 +12666,10 @@ class AXPTabularDataEditorWidgetEditComponent extends AXPWidgetComponent {
|
|
|
12465
12666
|
});
|
|
12466
12667
|
this.setValue(popupData.data?.context);
|
|
12467
12668
|
}
|
|
12468
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
12469
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type:
|
|
12669
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12670
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTabularDataWidgetEditComponent, isStandalone: true, selector: "axp-tabular-data-editor-widget", usesInheritance: true, ngImport: i0, template: ` <span class="ax-truncate ax-underline ax-cursor-pointer" (click)="openPopup()"> Click To Edit</span> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "ngmodule", type: AXDataTableModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12470
12671
|
}
|
|
12471
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
12672
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetEditComponent, decorators: [{
|
|
12472
12673
|
type: Component,
|
|
12473
12674
|
args: [{
|
|
12474
12675
|
selector: 'axp-tabular-data-editor-widget',
|
|
@@ -12491,14 +12692,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
12491
12692
|
|
|
12492
12693
|
var tabularDataWidgetEdit_component = /*#__PURE__*/Object.freeze({
|
|
12493
12694
|
__proto__: null,
|
|
12494
|
-
|
|
12695
|
+
AXPTabularDataWidgetEditComponent: AXPTabularDataWidgetEditComponent
|
|
12495
12696
|
});
|
|
12496
12697
|
|
|
12497
|
-
class
|
|
12498
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
12499
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type:
|
|
12698
|
+
class AXPTabulaDataWidgetFilterComponent extends AXPWidgetComponent {
|
|
12699
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabulaDataWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12700
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTabulaDataWidgetFilterComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12500
12701
|
}
|
|
12501
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
12702
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabulaDataWidgetFilterComponent, decorators: [{
|
|
12502
12703
|
type: Component,
|
|
12503
12704
|
args: [{
|
|
12504
12705
|
template: ``,
|
|
@@ -12508,16 +12709,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
12508
12709
|
}]
|
|
12509
12710
|
}] });
|
|
12510
12711
|
|
|
12511
|
-
var
|
|
12712
|
+
var tabularDataFilter_component = /*#__PURE__*/Object.freeze({
|
|
12512
12713
|
__proto__: null,
|
|
12513
|
-
|
|
12714
|
+
AXPTabulaDataWidgetFilterComponent: AXPTabulaDataWidgetFilterComponent
|
|
12514
12715
|
});
|
|
12515
12716
|
|
|
12516
|
-
class
|
|
12517
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
12518
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type:
|
|
12717
|
+
class AXPTabularDataWidgetPrintComponent extends AXPWidgetComponent {
|
|
12718
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetPrintComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12719
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTabularDataWidgetPrintComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12519
12720
|
}
|
|
12520
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
12721
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetPrintComponent, decorators: [{
|
|
12521
12722
|
type: Component,
|
|
12522
12723
|
args: [{
|
|
12523
12724
|
template: ``,
|
|
@@ -12527,9 +12728,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
12527
12728
|
}]
|
|
12528
12729
|
}] });
|
|
12529
12730
|
|
|
12530
|
-
var
|
|
12731
|
+
var tabularDataWidgetPrint_component = /*#__PURE__*/Object.freeze({
|
|
12531
12732
|
__proto__: null,
|
|
12532
|
-
|
|
12733
|
+
AXPTabularDataWidgetPrintComponent: AXPTabularDataWidgetPrintComponent
|
|
12533
12734
|
});
|
|
12534
12735
|
|
|
12535
12736
|
class AXPTabularDataEditorWidgetViewComponent extends AXPWidgetComponent {
|
|
@@ -12575,7 +12776,7 @@ var tabularDataWidgetView_component = /*#__PURE__*/Object.freeze({
|
|
|
12575
12776
|
|
|
12576
12777
|
const AXPTableEditorWidget = {
|
|
12577
12778
|
name: 'table-editor',
|
|
12578
|
-
title: 'Table Editor
|
|
12779
|
+
title: 'Table Editor',
|
|
12579
12780
|
icon: 'fa-solid fa-input-text',
|
|
12580
12781
|
description: 'Inputs single-line text',
|
|
12581
12782
|
group: AXP_WIDGETS_EDITOR_GROUP,
|
|
@@ -12595,21 +12796,22 @@ const AXPTableEditorWidget = {
|
|
|
12595
12796
|
component: () => Promise.resolve().then(function () { return tabularDataWidgetView_component; }).then((c) => c.AXPTabularDataEditorWidgetViewComponent),
|
|
12596
12797
|
},
|
|
12597
12798
|
edit: {
|
|
12598
|
-
component: () => Promise.resolve().then(function () { return tabularDataWidgetEdit_component; }).then((c) => c.
|
|
12799
|
+
component: () => Promise.resolve().then(function () { return tabularDataWidgetEdit_component; }).then((c) => c.AXPTabularDataWidgetEditComponent),
|
|
12599
12800
|
},
|
|
12600
12801
|
filter: {
|
|
12601
|
-
component: () => Promise.resolve().then(function () { return
|
|
12802
|
+
component: () => Promise.resolve().then(function () { return tabularDataFilter_component; }).then((c) => c.AXPTabulaDataWidgetFilterComponent),
|
|
12602
12803
|
},
|
|
12603
12804
|
column: {
|
|
12604
|
-
component: () => Promise.resolve().then(function () { return
|
|
12805
|
+
component: () => Promise.resolve().then(function () { return tabularDataColumn_component; }).then((c) => c.AXPTabularDataWidgetColumnComponent),
|
|
12605
12806
|
},
|
|
12606
12807
|
print: {
|
|
12607
|
-
component: () => Promise.resolve().then(function () { return
|
|
12808
|
+
component: () => Promise.resolve().then(function () { return tabularDataWidgetPrint_component; }).then((c) => c.AXPTabularDataWidgetPrintComponent),
|
|
12608
12809
|
},
|
|
12609
12810
|
designer: {
|
|
12610
|
-
component: () => Promise.resolve().then(function () { return tabularDataWidgetEdit_component; }).then((c) => c.
|
|
12811
|
+
component: () => Promise.resolve().then(function () { return tabularDataWidgetEdit_component; }).then((c) => c.AXPTabularDataWidgetEditComponent),
|
|
12611
12812
|
},
|
|
12612
12813
|
},
|
|
12814
|
+
visible: false
|
|
12613
12815
|
};
|
|
12614
12816
|
|
|
12615
12817
|
class AXPBooleanFilterWidgetEditComponent extends AXPWidgetComponent {
|
|
@@ -13494,7 +13696,6 @@ const AXPFormFieldWidget = {
|
|
|
13494
13696
|
icon: 'fa-solid fa-pen-field',
|
|
13495
13697
|
properties: [
|
|
13496
13698
|
AXP_NAME_PROPERTY,
|
|
13497
|
-
AXP_DATA_PATH_PROPERTY,
|
|
13498
13699
|
AXP_LABEL_PROPERTY
|
|
13499
13700
|
],
|
|
13500
13701
|
components: {
|
|
@@ -14293,6 +14494,8 @@ class AXPWidgetsModule {
|
|
|
14293
14494
|
//charts
|
|
14294
14495
|
AXPDonutChartWidget,
|
|
14295
14496
|
AXPBarChartWidget,
|
|
14497
|
+
AXPGaugeChartWidget,
|
|
14498
|
+
AXPStickyNoteWidget,
|
|
14296
14499
|
],
|
|
14297
14500
|
})] }); }
|
|
14298
14501
|
}
|
|
@@ -14362,6 +14565,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
14362
14565
|
//charts
|
|
14363
14566
|
AXPDonutChartWidget,
|
|
14364
14567
|
AXPBarChartWidget,
|
|
14568
|
+
AXPGaugeChartWidget,
|
|
14569
|
+
AXPStickyNoteWidget,
|
|
14365
14570
|
],
|
|
14366
14571
|
}),
|
|
14367
14572
|
],
|
|
@@ -14375,5 +14580,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
14375
14580
|
* Generated bundle index. Do not edit.
|
|
14376
14581
|
*/
|
|
14377
14582
|
|
|
14378
|
-
export { AXPAdvancedGridItemWidget, AXPAdvancedGridItemWidgetDesignerComponent, AXPAdvancedGridItemWidgetPrintComponent, AXPAdvancedGridItemWidgetViewComponent, AXPAdvancedGridOptionsWidget, AXPAdvancedGridOptionsWidgetEditComponent, AXPAdvancedGridWidget, AXPAdvancedGridWidgetDesignerComponent, AXPAdvancedGridWidgetViewComponent, AXPAvatarWidget, AXPAvatarWidgetColumnComponent, AXPAvatarWidgetDesignerComponent, AXPAvatarWidgetEditComponent, AXPAvatarWidgetPrintComponent, AXPAvatarWidgetViewComponent, AXPBarChartWidget, AXPBarChartWidgetEditComponent, AXPBetweenExpressionValidationWidget, AXPBetweenValidationWidgetEditComponent, AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPBorderWidget, AXPBorderWidgetEditComponent, AXPButtonWidget, AXPButtonWidgetViewComponent, AXPCallbackValidationWidget, AXPCallbackValidationWidgetEditComponent, AXPCheckBoxWidget, AXPCheckBoxWidgetEditComponent, AXPContactWidget, AXPContactWidgetColumnComponent, AXPContactWidgetEditComponent, AXPContactWidgetPrintComponent, AXPContactWidgetViewComponent, AXPDateTimeBoxWidget, AXPDateTimeBoxWidgetColumnComponent, AXPDateTimeBoxWidgetEditComponent, AXPDateTimeBoxWidgetFilterComponent, AXPDateTimeBoxWidgetPrintComponent, AXPDateTimeBoxWidgetViewComponent, AXPDonutChartWidget, AXPDonutChartWidgetEditComponent, AXPEmailBoxWidget, AXPEmailBoxWidgetColumnComponent, AXPEmailBoxWidgetEditComponent, AXPEmailBoxWidgetFilterComponent, AXPEmailBoxWidgetPrintComponent, AXPEmailBoxWidgetViewComponent, AXPEqualValidationWidget, AXPEqualValidationWidgetEditComponent, AXPFileBoxWidget, AXPFileBoxWidgetColumnComponent, AXPFileBoxWidgetEditComponent, AXPFileBoxWidgetFilterComponent, AXPFileBoxWidgetPrintComponent, AXPFileBoxWidgetViewComponent, AXPFileManagementService, AXPFlexOptionsWidget, AXPFlexOptionsWidgetEditComponent, AXPGalleryWidget, AXPGalleryWidgetColumnComponent, AXPGalleryWidgetEditComponent, AXPGalleryWidgetFilterComponent, AXPGalleryWidgetPrintComponent, AXPGalleryWidgetViewComponent, AXPGreaterThanExpressionValidationWidget, AXPGreaterThanValidationWidgetEditComponent, AXPGridOptionsWidget, AXPGridOptionsWidgetEditComponent, AXPLargeTextWidget, AXPLargeTextWidgetColumnComponent, AXPLargeTextWidgetEditComponent, AXPLargeTextWidgetFilterComponent, AXPLargeTextWidgetPrintComponent, AXPLargeTextWidgetViewComponent, AXPLessThanExpressionValidationWidget, AXPLessThanValidationWidgetEditComponent, AXPLinkWidget, AXPLinkWidgetColumnComponent, AXPLinkWidgetEditComponent, AXPLinkWidgetFilterComponent, AXPLinkWidgetPrintComponent, AXPLinkWidgetViewComponent, AXPMapBoxWidget, AXPMapBoxWidgetEditComponent, AXPMapBoxWidgetViewComponent, AXPMaxLengthExpressionValidationWidget, AXPMaxLengthValidationWidgetEditComponent, AXPMinLengthExpressionValidationWidget, AXPMinLengthValidationWidgetEditComponent, AXPNumberBoxWidget, AXPNumberBoxWidgetColumnComponent, AXPNumberBoxWidgetEditComponent, AXPNumberBoxWidgetFilterComponent, AXPNumberBoxWidgetPrintComponent, AXPNumberBoxWidgetViewComponent, AXPPageWidget, AXPPageWidgetViewComponent, AXPPasswordBoxWidget, AXPPasswordBoxWidgetColumnComponent, AXPPasswordBoxWidgetEditComponent, AXPPasswordBoxWidgetFilterComponent, AXPPasswordBoxWidgetPrintComponent, AXPPasswordBoxWidgetViewComponent, AXPPhoneBoxWidget, AXPPhoneBoxWidgetColumnComponent, AXPPhoneBoxWidgetEditComponent, AXPPhoneBoxWidgetFilterComponent, AXPPhoneBoxWidgetPrintComponent, AXPPhoneBoxWidgetViewComponent, AXPPropertyEditorHelper, AXPRegularExpressionValidationWidget, AXPRegularExpressionValidationWidgetEditComponent, AXPRepeaterWidget, AXPRepeaterWidgetDesignerComponent, AXPRepeaterWidgetEditComponent, AXPRepeaterWidgetPrintComponent, AXPRepeaterWidgetViewComponent, AXPRequiredValidationWidget, AXPRequiredValidationWidgetEditComponent, AXPRichTextWidget, AXPRichTextWidgetColumnComponent, AXPRichTextWidgetEditComponent, AXPRichTextWidgetFilterComponent, AXPRichTextWidgetPrintComponent, AXPRichTextWidgetViewComponent, AXPSelectBoxWidget, AXPSelectBoxWidgetColumnComponent, AXPSelectBoxWidgetEditComponent, AXPSelectBoxWidgetFilterComponent, AXPSelectBoxWidgetPrintComponent, AXPSelectBoxWidgetViewComponent, AXPSelectionListWidget, AXPSelectionListWidgetColumnComponent, AXPSelectionListWidgetDesignerComponent, AXPSelectionListWidgetEditComponent, AXPSelectionListWidgetFilterComponent, AXPSelectionListWidgetPrintComponent, AXPSelectionListWidgetViewComponent, AXPSignatureWidget, AXPSignatureWidgetColumnComponent, AXPSignatureWidgetEditComponent, AXPSignatureWidgetFilterComponent, AXPSignatureWidgetPrintComponent, AXPSignatureWidgetViewComponent, AXPSpacingWidget, AXPSpacingWidgetEditComponent, AXPTextBoxWidget, AXPTextBoxWidgetColumnComponent, AXPTextBoxWidgetEditComponent, AXPTextBoxWidgetFilterComponent
|
|
14583
|
+
export { AXPAdvancedGridItemWidget, AXPAdvancedGridItemWidgetDesignerComponent, AXPAdvancedGridItemWidgetPrintComponent, AXPAdvancedGridItemWidgetViewComponent, AXPAdvancedGridOptionsWidget, AXPAdvancedGridOptionsWidgetEditComponent, AXPAdvancedGridWidget, AXPAdvancedGridWidgetDesignerComponent, AXPAdvancedGridWidgetViewComponent, AXPAvatarWidget, AXPAvatarWidgetColumnComponent, AXPAvatarWidgetDesignerComponent, AXPAvatarWidgetEditComponent, AXPAvatarWidgetPrintComponent, AXPAvatarWidgetViewComponent, AXPBarChartWidget, AXPBarChartWidgetEditComponent, AXPBetweenExpressionValidationWidget, AXPBetweenValidationWidgetEditComponent, AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPBorderWidget, AXPBorderWidgetEditComponent, AXPButtonWidget, AXPButtonWidgetViewComponent, AXPCallbackValidationWidget, AXPCallbackValidationWidgetEditComponent, AXPCheckBoxWidget, AXPCheckBoxWidgetEditComponent, AXPContactWidget, AXPContactWidgetColumnComponent, AXPContactWidgetEditComponent, AXPContactWidgetPrintComponent, AXPContactWidgetViewComponent, AXPDateTimeBoxWidget, AXPDateTimeBoxWidgetColumnComponent, AXPDateTimeBoxWidgetEditComponent, AXPDateTimeBoxWidgetFilterComponent, AXPDateTimeBoxWidgetPrintComponent, AXPDateTimeBoxWidgetViewComponent, AXPDonutChartWidget, AXPDonutChartWidgetEditComponent, AXPEmailBoxWidget, AXPEmailBoxWidgetColumnComponent, AXPEmailBoxWidgetEditComponent, AXPEmailBoxWidgetFilterComponent, AXPEmailBoxWidgetPrintComponent, AXPEmailBoxWidgetViewComponent, AXPEqualValidationWidget, AXPEqualValidationWidgetEditComponent, AXPFileBoxWidget, AXPFileBoxWidgetColumnComponent, AXPFileBoxWidgetEditComponent, AXPFileBoxWidgetFilterComponent, AXPFileBoxWidgetPrintComponent, AXPFileBoxWidgetViewComponent, AXPFileManagementService, AXPFlexOptionsWidget, AXPFlexOptionsWidgetEditComponent, AXPGalleryWidget, AXPGalleryWidgetColumnComponent, AXPGalleryWidgetEditComponent, AXPGalleryWidgetFilterComponent, AXPGalleryWidgetPrintComponent, AXPGalleryWidgetViewComponent, AXPGaugeChartWidget, AXPGaugeChartWidgetEditComponent, AXPGreaterThanExpressionValidationWidget, AXPGreaterThanValidationWidgetEditComponent, AXPGridOptionsWidget, AXPGridOptionsWidgetEditComponent, AXPLargeTextWidget, AXPLargeTextWidgetColumnComponent, AXPLargeTextWidgetEditComponent, AXPLargeTextWidgetFilterComponent, AXPLargeTextWidgetPrintComponent, AXPLargeTextWidgetViewComponent, AXPLessThanExpressionValidationWidget, AXPLessThanValidationWidgetEditComponent, AXPLinkWidget, AXPLinkWidgetColumnComponent, AXPLinkWidgetEditComponent, AXPLinkWidgetFilterComponent, AXPLinkWidgetPrintComponent, AXPLinkWidgetViewComponent, AXPMapBoxWidget, AXPMapBoxWidgetEditComponent, AXPMapBoxWidgetViewComponent, AXPMaxLengthExpressionValidationWidget, AXPMaxLengthValidationWidgetEditComponent, AXPMinLengthExpressionValidationWidget, AXPMinLengthValidationWidgetEditComponent, AXPNumberBoxWidget, AXPNumberBoxWidgetColumnComponent, AXPNumberBoxWidgetEditComponent, AXPNumberBoxWidgetFilterComponent, AXPNumberBoxWidgetPrintComponent, AXPNumberBoxWidgetViewComponent, AXPPageWidget, AXPPageWidgetViewComponent, AXPPasswordBoxWidget, AXPPasswordBoxWidgetColumnComponent, AXPPasswordBoxWidgetEditComponent, AXPPasswordBoxWidgetFilterComponent, AXPPasswordBoxWidgetPrintComponent, AXPPasswordBoxWidgetViewComponent, AXPPhoneBoxWidget, AXPPhoneBoxWidgetColumnComponent, AXPPhoneBoxWidgetEditComponent, AXPPhoneBoxWidgetFilterComponent, AXPPhoneBoxWidgetPrintComponent, AXPPhoneBoxWidgetViewComponent, AXPPropertyEditorHelper, AXPRegularExpressionValidationWidget, AXPRegularExpressionValidationWidgetEditComponent, AXPRepeaterWidget, AXPRepeaterWidgetDesignerComponent, AXPRepeaterWidgetEditComponent, AXPRepeaterWidgetPrintComponent, AXPRepeaterWidgetViewComponent, AXPRequiredValidationWidget, AXPRequiredValidationWidgetEditComponent, AXPRichTextWidget, AXPRichTextWidgetColumnComponent, AXPRichTextWidgetEditComponent, AXPRichTextWidgetFilterComponent, AXPRichTextWidgetPrintComponent, AXPRichTextWidgetViewComponent, AXPSelectBoxWidget, AXPSelectBoxWidgetColumnComponent, AXPSelectBoxWidgetEditComponent, AXPSelectBoxWidgetFilterComponent, AXPSelectBoxWidgetPrintComponent, AXPSelectBoxWidgetViewComponent, AXPSelectionListWidget, AXPSelectionListWidgetColumnComponent, AXPSelectionListWidgetDesignerComponent, AXPSelectionListWidgetEditComponent, AXPSelectionListWidgetFilterComponent, AXPSelectionListWidgetPrintComponent, AXPSelectionListWidgetViewComponent, AXPSignatureWidget, AXPSignatureWidgetColumnComponent, AXPSignatureWidgetEditComponent, AXPSignatureWidgetFilterComponent, AXPSignatureWidgetPrintComponent, AXPSignatureWidgetViewComponent, AXPSpacingWidget, AXPSpacingWidgetEditComponent, AXPStickyNoteWidget, AXPStickyNoteWidgetEditComponent, AXPTextBoxWidget, AXPTextBoxWidgetColumnComponent, AXPTextBoxWidgetEditComponent, AXPTextBoxWidgetFilterComponent, AXPTextBoxWidgetPrintComponent, AXPTextBoxWidgetViewComponent, AXPToggleWidget, AXPToggleWidgetColumnComponent, AXPToggleWidgetEditComponent, AXPToggleWidgetFilterComponent, AXPToggleWidgetPrintComponent, AXPToggleWidgetViewComponent, AXPWidgetsModule, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_ALLOW_SEARCH_PROPERTY, 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_PROPERTIES, AXP_DATA_SOURCE_PROPERTY, AXP_DATA_SOURCE_TEXT_FIELD, AXP_DATA_SOURCE_VALUE_FIELD, AXP_DATE_FORMAT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_EQUAL_VALIDATION_PROPERTY, AXP_FALSY_TEXT_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_ALIGN_CONTENT_PROPERTY, AXP_LAYOUT_BORDER_PROPERTY, AXP_LAYOUT_COLUMNS_PROPERTY, AXP_LAYOUT_COL_END_PROPERTY, AXP_LAYOUT_COL_SPAN_PROPERTY, AXP_LAYOUT_COL_START_PROPERTY, AXP_LAYOUT_FLEX_ALIGN_PROPERTY, AXP_LAYOUT_FLEX_DIRECTION_PROPERTY, AXP_LAYOUT_FLEX_JUSTIFY_PROPERTY, AXP_LAYOUT_FLEX_PROPERTIES, AXP_LAYOUT_FLEX_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY_GROUP, AXP_LAYOUT_FLEX_WRAP_PROPERTY, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTIES, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_LESS_THAN_VALIDATION_PROPERTY, AXP_MAX_LENGTH_VALIDATION_PROPERTY, AXP_MIN_LENGTH_VALIDATION_PROPERTY, AXP_NAME_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_PROPERTY, AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY, AXP_REQUIRED_VALIDATION_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMN_HEIGHT_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_TEXT_FIELD_PROPERTY, AXP_TEXT_PROPERTY, AXP_THEME_PROPERTY, AXP_TITLE_PROPERTY, AXP_TRULY_TEXT_PROPERTY, AXP_VALIDATION_PROPERTY_GROUP, AXP_VALUE_FIELD_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, findNonEmptyBreakpoints, largeTextDefaultProperty, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, plainTextDefaultProperty };
|
|
14379
14584
|
//# sourceMappingURL=acorex-platform-widgets.mjs.map
|