@acorex/layout 1.3.90

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. package/README.md +2 -0
  2. package/acorex-layout.d.ts +6 -0
  3. package/acorex-layout.metadata.json +1 -0
  4. package/bundles/acorex-layout.umd.js +1479 -0
  5. package/bundles/acorex-layout.umd.js.map +1 -0
  6. package/bundles/acorex-layout.umd.min.js +16 -0
  7. package/bundles/acorex-layout.umd.min.js.map +1 -0
  8. package/esm2015/acorex-layout.js +7 -0
  9. package/esm2015/lib/widget-board/editors/widget-size-editor/widget-size.editor.js +49 -0
  10. package/esm2015/lib/widget-board/editors/widget-size-editor/widget-size.module.js +22 -0
  11. package/esm2015/lib/widget-board/widget-board.component.js +468 -0
  12. package/esm2015/lib/widget-board/widget-board.module.js +69 -0
  13. package/esm2015/lib/widget-board/widget-config.component.js +86 -0
  14. package/esm2015/lib/widget-board/widget-host.component.js +313 -0
  15. package/esm2015/lib/widget-board/widget-save.component.js +79 -0
  16. package/esm2015/lib/widget-board/widget.class.js +123 -0
  17. package/esm2015/public-api.js +7 -0
  18. package/esm5/acorex-layout.js +7 -0
  19. package/esm5/lib/widget-board/editors/widget-size-editor/widget-size.editor.js +52 -0
  20. package/esm5/lib/widget-board/editors/widget-size-editor/widget-size.module.js +23 -0
  21. package/esm5/lib/widget-board/widget-board.component.js +494 -0
  22. package/esm5/lib/widget-board/widget-board.module.js +70 -0
  23. package/esm5/lib/widget-board/widget-config.component.js +90 -0
  24. package/esm5/lib/widget-board/widget-host.component.js +349 -0
  25. package/esm5/lib/widget-board/widget-save.component.js +83 -0
  26. package/esm5/lib/widget-board/widget.class.js +134 -0
  27. package/esm5/public-api.js +7 -0
  28. package/fesm2015/acorex-layout.js +1171 -0
  29. package/fesm2015/acorex-layout.js.map +1 -0
  30. package/fesm5/acorex-layout.js +1256 -0
  31. package/fesm5/acorex-layout.js.map +1 -0
  32. package/lib/widget-board/editors/widget-size-editor/widget-size.editor.d.ts +16 -0
  33. package/lib/widget-board/editors/widget-size-editor/widget-size.module.d.ts +3 -0
  34. package/lib/widget-board/widget-board.component.d.ts +58 -0
  35. package/lib/widget-board/widget-board.module.d.ts +6 -0
  36. package/lib/widget-board/widget-config.component.d.ts +20 -0
  37. package/lib/widget-board/widget-host.component.d.ts +48 -0
  38. package/lib/widget-board/widget-save.component.d.ts +16 -0
  39. package/lib/widget-board/widget.class.d.ts +53 -0
  40. package/package.json +21 -0
  41. package/public-api.d.ts +6 -0
@@ -0,0 +1,86 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild } from '@angular/core';
3
+ import { AXBasePopupPageComponent, AXValidationFormComponent } from '@acorex/components';
4
+ import { AXTranslator } from '@acorex/core';
5
+ let AXWidgetConfigComponent = class AXWidgetConfigComponent extends AXBasePopupPageComponent {
6
+ constructor(cdr) {
7
+ super();
8
+ this.cdr = cdr;
9
+ this.props = [];
10
+ this.displayProps = [];
11
+ this.changes = [];
12
+ this.context = {};
13
+ }
14
+ getFooterButtons() {
15
+ return [
16
+ {
17
+ name: 'okay',
18
+ submitBehavior: true,
19
+ text: AXTranslator.get('common.confirm'),
20
+ style: 'success'
21
+ },
22
+ {
23
+ name: 'cancel',
24
+ cancelBehavior: true,
25
+ text: AXTranslator.get('common.cancel'),
26
+ style: 'danger blank'
27
+ }
28
+ ];
29
+ }
30
+ onFooterButtonClick(e) {
31
+ if (e.name === 'cancel') {
32
+ this.close();
33
+ }
34
+ if (e.name === 'okay') {
35
+ this.form.validate().then(c => {
36
+ if (c.result) {
37
+ this.close(this.changes);
38
+ }
39
+ });
40
+ }
41
+ }
42
+ handleValueChange(e) {
43
+ const prop = this.changes.find(c => c.property.name === e.property.name);
44
+ if (prop) {
45
+ prop.value = e.value;
46
+ }
47
+ else {
48
+ this.changes.push({ property: e.property, value: e.value });
49
+ }
50
+ this.updateContext();
51
+ }
52
+ ngOnInit() {
53
+ this.displayProps = this.props.filter(c => c.property.visible !== false).sort((a, b) => a.property.order - b.property.order);
54
+ this.updateContext();
55
+ }
56
+ updateContext() {
57
+ const ctx = {};
58
+ this.props.forEach(p => {
59
+ ctx[p.property.name] = p.value;
60
+ });
61
+ this.changes.forEach(p => {
62
+ ctx[p.property.name] = p.value;
63
+ });
64
+ this.context = ctx;
65
+ }
66
+ identify(index, item) {
67
+ return item.property.name;
68
+ }
69
+ };
70
+ AXWidgetConfigComponent.ctorParameters = () => [
71
+ { type: ChangeDetectorRef }
72
+ ];
73
+ __decorate([
74
+ ViewChild(AXValidationFormComponent),
75
+ __metadata("design:type", AXValidationFormComponent)
76
+ ], AXWidgetConfigComponent.prototype, "form", void 0);
77
+ AXWidgetConfigComponent = __decorate([
78
+ Component({
79
+ template: "<ax-page>\r\n <ax-page-content>\r\n <div class=\"container\">\r\n <ax-validation-form #form>\r\n <div class=\"row\" *ngFor=\"let p of displayProps; trackBy: identify\">\r\n <div class=\"col-12\">\r\n <ax-label>{{p.property.title | trans}}</ax-label>\r\n <ng-container ax-property-editor-renderer [property]=\"p\" [context]=\"context\" [host]=\"widget\" [validationForm]=\"form\"\r\n (onValueChange)=\"handleValueChange($event)\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ax-validation-form>\r\n </div>\r\n </ax-page-content>\r\n</ax-page>",
80
+ encapsulation: ViewEncapsulation.None,
81
+ changeDetection: ChangeDetectionStrategy.OnPush
82
+ }),
83
+ __metadata("design:paramtypes", [ChangeDetectorRef])
84
+ ], AXWidgetConfigComponent);
85
+ export { AXWidgetConfigComponent };
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2xheW91dC8iLCJzb3VyY2VzIjpbImxpYi93aWRnZXQtYm9hcmQvd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBb0Isd0JBQXdCLEVBQXlELHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEssT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFVMUQsSUFBYSx1QkFBdUIsR0FBcEMsTUFBYSx1QkFBd0IsU0FBUSx3QkFBd0I7SUFJakUsWUFBb0IsR0FBc0I7UUFDdEMsS0FBSyxFQUFFLENBQUM7UUFEUSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQU0xQyxVQUFLLEdBQXVCLEVBQUUsQ0FBQztRQUMvQixpQkFBWSxHQUF1QixFQUFFLENBQUM7UUFHdEMsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFFakMsWUFBTyxHQUFRLEVBQUUsQ0FBQztJQVZsQixDQUFDO0lBYUQsZ0JBQWdCO1FBQ1osT0FBTztZQUNIO2dCQUNJLElBQUksRUFBRSxNQUFNO2dCQUNaLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDeEMsS0FBSyxFQUFFLFNBQVM7YUFDbkI7WUFDRDtnQkFDSSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxjQUFjLEVBQUUsSUFBSTtnQkFDcEIsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDO2dCQUN2QyxLQUFLLEVBQUUsY0FBYzthQUN4QjtTQUNKLENBQUM7SUFDTixDQUFDO0lBTUQsbUJBQW1CLENBQUMsQ0FBdUI7UUFDdkMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEI7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUU7b0JBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzVCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxDQUFrQztRQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDeEI7YUFDSTtZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFHTyxhQUFhO1FBQ2pCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNyQixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDdkIsQ0FBQztJQUdELFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBc0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0NBRUosQ0FBQTs7WUFsRjRCLGlCQUFpQjs7QUFGSjtJQUFyQyxTQUFTLENBQUMseUJBQXlCLENBQUM7OEJBQU8seUJBQXlCO3FEQUFDO0FBRjdELHVCQUF1QjtJQU5uQyxTQUFTLENBQUM7UUFDUCw0dkJBQTZDO1FBQzdDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1FBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0tBQ2xELENBQUM7cUNBTTJCLGlCQUFpQjtHQUpqQyx1QkFBdUIsQ0FzRm5DO1NBdEZZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUHJvcGVydHlDb25maWcsIEFYQmFzZVBvcHVwUGFnZUNvbXBvbmVudCwgQVhNZW51SXRlbUNsaWNrRXZlbnQsIEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQsIEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBBWEJ1dHRvbkl0ZW0sIEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEFYV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXQuY2xhc3MnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3dpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQVhXaWRnZXRDb25maWdDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQge1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCkgZm9ybTogQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICB3aWRnZXQ6IEFYV2lkZ2V0Q29tcG9uZW50O1xyXG4gICAgcHJvcHM6IEFYUHJvcGVydHlDb25maWdbXSA9IFtdO1xyXG4gICAgZGlzcGxheVByb3BzOiBBWFByb3BlcnR5Q29uZmlnW10gPSBbXTtcclxuXHJcblxyXG4gICAgY2hhbmdlczogQVhQcm9wZXJ0eUNvbmZpZ1tdID0gW107XHJcblxyXG4gICAgY29udGV4dDogYW55ID0ge307XHJcblxyXG5cclxuICAgIGdldEZvb3RlckJ1dHRvbnMoKTogQVhCdXR0b25JdGVtW10ge1xyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdva2F5JyxcclxuICAgICAgICAgICAgICAgIHN1Ym1pdEJlaGF2aW9yOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNvbmZpcm0nKSxcclxuICAgICAgICAgICAgICAgIHN0eWxlOiAnc3VjY2VzcydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2NhbmNlbCcsXHJcbiAgICAgICAgICAgICAgICBjYW5jZWxCZWhhdmlvcjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5jYW5jZWwnKSxcclxuICAgICAgICAgICAgICAgIHN0eWxlOiAnZGFuZ2VyIGJsYW5rJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgb25Gb290ZXJCdXR0b25DbGljayhlOiBBWE1lbnVJdGVtQ2xpY2tFdmVudCkge1xyXG4gICAgICAgIGlmIChlLm5hbWUgPT09ICdjYW5jZWwnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGUubmFtZSA9PT0gJ29rYXknKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybS52YWxpZGF0ZSgpLnRoZW4oYyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYy5yZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKHRoaXMuY2hhbmdlcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVWYWx1ZUNoYW5nZShlOiBBWFByb3BlcnlFZGl0b3JWYWx1ZUNoYW5nZUV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgcHJvcCA9IHRoaXMuY2hhbmdlcy5maW5kKGMgPT4gYy5wcm9wZXJ0eS5uYW1lID09PSBlLnByb3BlcnR5Lm5hbWUpO1xyXG4gICAgICAgIGlmIChwcm9wKSB7XHJcbiAgICAgICAgICAgIHByb3AudmFsdWUgPSBlLnZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VzLnB1c2goeyBwcm9wZXJ0eTogZS5wcm9wZXJ0eSwgdmFsdWU6IGUudmFsdWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBkYXRlQ29udGV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheVByb3BzID0gdGhpcy5wcm9wcy5maWx0ZXIoYyA9PiBjLnByb3BlcnR5LnZpc2libGUgIT09IGZhbHNlKS5zb3J0KChhLCBiKSA9PiBhLnByb3BlcnR5Lm9yZGVyIC0gYi5wcm9wZXJ0eS5vcmRlcik7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZXh0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQ29udGV4dCgpIHtcclxuICAgICAgICBjb25zdCBjdHggPSB7fTtcclxuICAgICAgICB0aGlzLnByb3BzLmZvckVhY2gocCA9PiB7XHJcbiAgICAgICAgICAgIGN0eFtwLnByb3BlcnR5Lm5hbWVdID0gcC52YWx1ZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNoYW5nZXMuZm9yRWFjaChwID0+IHtcclxuICAgICAgICAgICAgY3R4W3AucHJvcGVydHkubmFtZV0gPSBwLnZhbHVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29udGV4dCA9IGN0eDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWRlbnRpZnkoaW5kZXgsIGl0ZW06IEFYUHJvcGVydHlDb25maWcpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5wcm9wZXJ0eS5uYW1lO1xyXG4gICAgfVxyXG5cclxufSJdfQ==
@@ -0,0 +1,313 @@
1
+ import { __awaiter, __decorate, __metadata } from "tslib";
2
+ import { Component, ViewEncapsulation, Input, ElementRef, HostBinding, ComponentFactoryResolver, ViewChild, ViewContainerRef, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef, ComponentRef } from '@angular/core';
3
+ import { AXObjectUtil, AXRenderService } from '@acorex/core';
4
+ import { AXPopupService, AXPropertyDecorators, AXPropertyDecorator, AXLoadingService } from '@acorex/components';
5
+ import { AXWidgetConfigComponent } from './widget-config.component';
6
+ import { AXTranslator } from '@acorex/core';
7
+ import { AXWidgetSaveComponent } from './widget-save.component';
8
+ let AXWidgetHostComponent = class AXWidgetHostComponent {
9
+ constructor(ref, componentFactoryResolver, rendererService, cdr, popup, loadingService) {
10
+ this.ref = ref;
11
+ this.componentFactoryResolver = componentFactoryResolver;
12
+ this.rendererService = rendererService;
13
+ this.cdr = cdr;
14
+ this.popup = popup;
15
+ this.loadingService = loadingService;
16
+ this._hasProps = false;
17
+ this._hasMenu = false;
18
+ this.configMenuItem = [
19
+ {
20
+ icon: 'far fa-ellipsis-h',
21
+ items: []
22
+ }
23
+ ];
24
+ this.onRemove = new EventEmitter();
25
+ this.onConfigChanged = new EventEmitter();
26
+ this.onResized = new EventEmitter();
27
+ this.onSave = new EventEmitter();
28
+ this._isLoading = false;
29
+ this.sizeX = 1;
30
+ this.sizeY = 1;
31
+ this.col = 1;
32
+ this.row = 1;
33
+ }
34
+ get widget() {
35
+ return this._widget;
36
+ }
37
+ get element() {
38
+ return this.ref.nativeElement;
39
+ }
40
+ get isLoading() {
41
+ return this._isLoading;
42
+ }
43
+ set isLoading(v) {
44
+ this._isLoading = v;
45
+ if (this._loadingId && !v) {
46
+ this.loadingService.hide(this._loadingId);
47
+ this._loadingId = null;
48
+ }
49
+ if (v) {
50
+ this._loadingId = this.loadingService.show(this.ref.nativeElement);
51
+ }
52
+ }
53
+ get isConfigured() {
54
+ var _a;
55
+ return ((_a = this._widget) === null || _a === void 0 ? void 0 : _a.isConfigured) || false;
56
+ }
57
+ ngOnInit() {
58
+ this.isLoading = true;
59
+ }
60
+ ngAfterViewInit() {
61
+ var _a;
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ let component;
64
+ if (typeof this.config.component === 'string') {
65
+ const route = yield this.rendererService.findLoadedComponentByRoute(this.config.component, 20);
66
+ component = (_a = route) === null || _a === void 0 ? void 0 : _a.component;
67
+ }
68
+ else if (typeof this.config.component === 'function') {
69
+ component = this.config.component;
70
+ }
71
+ if (component == null) {
72
+ console.error(`Invalid Widget Component!`, this.config);
73
+ this.onRemove.emit(this);
74
+ return;
75
+ }
76
+ const widgetFactory = this.componentFactoryResolver.resolveComponentFactory(component);
77
+ this.componentRef = this.vc.createComponent(widgetFactory);
78
+ this._widget = this.componentRef.instance;
79
+ this._widget.provideValue = this.provideValue;
80
+ if (this._widget.onBusyChanged) {
81
+ this._widget.onBusyChanged.subscribe((d) => {
82
+ if (!this._widget.widgetSize) {
83
+ this._widget.setValue('widgetSize', [this.sizeX, this.sizeY]);
84
+ }
85
+ else {
86
+ this.setSizeFromOptions();
87
+ }
88
+ this.isLoading = d.value;
89
+ this.cdr.detectChanges();
90
+ });
91
+ }
92
+ if (this._widget.onConfiguredChanged) {
93
+ this._widget.onConfiguredChanged.subscribe(() => {
94
+ this.setSizeFromOptions();
95
+ });
96
+ }
97
+ //
98
+ if (this.config.options) {
99
+ Object.assign(this._widget, this.config.options);
100
+ }
101
+ this._hasProps = AXPropertyDecorators.getProperties(this._widget).length > 0;
102
+ this.isLoading = false;
103
+ this.config['__meta__'].instance = this;
104
+ this._widget['__meta__'] = {};
105
+ this._widget['__meta__'].config = this.config;
106
+ //
107
+ if (this._hasProps) {
108
+ this.configMenuItem[0].items.push({
109
+ name: 'configs',
110
+ icon: 'far fa-cogs',
111
+ text: AXTranslator.get('common.configs'),
112
+ onClick: () => {
113
+ this.openConfigDialog();
114
+ }
115
+ });
116
+ }
117
+ this.configMenuItem[0].items.push({
118
+ name: 'save',
119
+ icon: 'far fa-save',
120
+ text: AXTranslator.get('common.save-as'),
121
+ onClick: () => {
122
+ this.openSaveDialog();
123
+ }
124
+ });
125
+ if (true) {
126
+ this.configMenuItem[0].items.push({
127
+ name: 'remove',
128
+ icon: 'far fa-times',
129
+ style: 'ax danger blank',
130
+ text: AXTranslator.get('common.remove'),
131
+ onClick: () => {
132
+ this.onRemove.emit(this);
133
+ }
134
+ });
135
+ }
136
+ this._hasMenu = this.configMenuItem[0].items.length > 0;
137
+ this.cdr.detectChanges();
138
+ });
139
+ }
140
+ setSizeFromOptions() {
141
+ this._widget.getValue('widgetSize').then(c => {
142
+ const oldSizeX = this.sizeX;
143
+ const oldSizeY = this.sizeY;
144
+ if (c && Array.isArray(c) && (oldSizeX !== c[0] || oldSizeY !== c[1])) {
145
+ this.config.sizeX = this.sizeX = c[0];
146
+ this.config.sizeY = this.sizeY = c[1];
147
+ this.onResized.emit({
148
+ component: this._widget,
149
+ config: this.config
150
+ });
151
+ }
152
+ this.cdr.detectChanges();
153
+ });
154
+ }
155
+ remove(e) {
156
+ e.preventDefault();
157
+ e.stopPropagation();
158
+ this.onRemove.emit(this);
159
+ return false;
160
+ }
161
+ handleConfig(e) {
162
+ e.preventDefault();
163
+ e.stopPropagation();
164
+ this.openConfigDialog();
165
+ return false;
166
+ }
167
+ openConfigDialog() {
168
+ const ppp = this.getMergedProps();
169
+ this.popup.open(AXWidgetConfigComponent, {
170
+ title: AXTranslator.get('common.configs'),
171
+ size: 'sm',
172
+ data: {
173
+ props: ppp.map(c => ({ property: c.options, value: this._widget[c.options.name] })),
174
+ widget: this.widget
175
+ }
176
+ }).then(c => {
177
+ if (c.data) {
178
+ if (!this.config.options) {
179
+ this.config.options = {};
180
+ }
181
+ c.data.forEach(p => {
182
+ this._widget.setValue(p.property.name, p.value);
183
+ this.config.options[p.property.name] = p.value;
184
+ });
185
+ this.emitConfigChanged();
186
+ this._widget.redraw();
187
+ this.cdr.detectChanges();
188
+ }
189
+ });
190
+ }
191
+ openSaveDialog() {
192
+ const ppp = this.getMergedProps();
193
+ this.popup.open(AXWidgetSaveComponent, {
194
+ title: AXTranslator.get('common.save-as'),
195
+ size: 'sm',
196
+ data: {
197
+ config: this.config,
198
+ props: ppp.map(c => ({ property: c.options, value: this._widget[c.options.name] }))
199
+ }
200
+ }).then(c => {
201
+ if (c.data) {
202
+ this.onSave.emit({
203
+ component: this._widget,
204
+ data: c.data
205
+ });
206
+ }
207
+ });
208
+ }
209
+ handleOptionClick(e) {
210
+ e.preventDefault();
211
+ e.stopPropagation();
212
+ this.openConfigDialog();
213
+ return false;
214
+ }
215
+ ngOnDestroy() {
216
+ this.vc.clear();
217
+ if (this.componentRef) {
218
+ this.componentRef.destroy();
219
+ }
220
+ }
221
+ getMergedProps() {
222
+ const ppp = AXObjectUtil.deepCopy(AXPropertyDecorators.getProperties(this._widget));
223
+ for (const key in this.config.props) {
224
+ if (Object.prototype.hasOwnProperty.call(this.config.props, key)) {
225
+ const newP = this.config.props[key];
226
+ const existPropDec = ppp.find(p => p.property === key);
227
+ if (existPropDec) {
228
+ Object.assign(existPropDec.options, newP);
229
+ }
230
+ }
231
+ }
232
+ return ppp;
233
+ }
234
+ emitConfigChanged() {
235
+ this.onConfigChanged.emit({
236
+ component: this._widget,
237
+ config: this.config
238
+ });
239
+ }
240
+ };
241
+ AXWidgetHostComponent.ctorParameters = () => [
242
+ { type: ElementRef },
243
+ { type: ComponentFactoryResolver },
244
+ { type: AXRenderService },
245
+ { type: ChangeDetectorRef },
246
+ { type: AXPopupService },
247
+ { type: AXLoadingService }
248
+ ];
249
+ __decorate([
250
+ Input(),
251
+ __metadata("design:type", Function)
252
+ ], AXWidgetHostComponent.prototype, "provideValue", void 0);
253
+ __decorate([
254
+ Output(),
255
+ __metadata("design:type", EventEmitter)
256
+ ], AXWidgetHostComponent.prototype, "onRemove", void 0);
257
+ __decorate([
258
+ Output(),
259
+ __metadata("design:type", EventEmitter)
260
+ ], AXWidgetHostComponent.prototype, "onConfigChanged", void 0);
261
+ __decorate([
262
+ Output(),
263
+ __metadata("design:type", EventEmitter)
264
+ ], AXWidgetHostComponent.prototype, "onResized", void 0);
265
+ __decorate([
266
+ Output(),
267
+ __metadata("design:type", EventEmitter)
268
+ ], AXWidgetHostComponent.prototype, "onSave", void 0);
269
+ __decorate([
270
+ Input(),
271
+ __metadata("design:type", Object)
272
+ ], AXWidgetHostComponent.prototype, "config", void 0);
273
+ __decorate([
274
+ ViewChild('vc', { read: ViewContainerRef }),
275
+ __metadata("design:type", ViewContainerRef)
276
+ ], AXWidgetHostComponent.prototype, "vc", void 0);
277
+ __decorate([
278
+ HostBinding('attr.data-size-x'),
279
+ Input(),
280
+ __metadata("design:type", Number)
281
+ ], AXWidgetHostComponent.prototype, "sizeX", void 0);
282
+ __decorate([
283
+ HostBinding('attr.data-size-y'),
284
+ Input(),
285
+ __metadata("design:type", Number)
286
+ ], AXWidgetHostComponent.prototype, "sizeY", void 0);
287
+ __decorate([
288
+ HostBinding('attr.data-col'),
289
+ Input(),
290
+ __metadata("design:type", Number)
291
+ ], AXWidgetHostComponent.prototype, "col", void 0);
292
+ __decorate([
293
+ HostBinding('attr.data-row'),
294
+ Input(),
295
+ __metadata("design:type", Number)
296
+ ], AXWidgetHostComponent.prototype, "row", void 0);
297
+ AXWidgetHostComponent = __decorate([
298
+ Component({
299
+ selector: 'ax-widget-host',
300
+ template: "<div class='widget-container'>\r\n <div class=\"widget-config-overlay\" *ngIf=\"!isConfigured\" (click)=\"handleConfig($event)\">\r\n <div class=\"widget-title\">{{config.title}}</div>\r\n <div class=\"widget-config-box\">\r\n <div class=\"config-title\">{{ 'widget-board.configure' | trans}}</div>\r\n <div class=\"config-icon\"><i class=\"fas fa-cogs fa-5x\"></i></div>\r\n </div>\r\n </div>\r\n <div class='widget-edit-overlay'>\r\n <div class='widget-edit-menu'>\r\n <button class=\"widget-edit-menu-button\" (click)=\"handleConfig($event)\"\r\n (mousedown)=\"$event.stopPropagation()\" *ngIf=\"_hasProps\" (mouseup)=\"$event.stopPropagation()\">\r\n <i class=\"far fa-cogs\"></i>\r\n </button>\r\n <button class=\"widget-edit-menu-button\" (click)=\"remove($event)\" (mousedown)=\"$event.stopPropagation()\"\r\n (mouseup)=\"$event.stopPropagation()\">\r\n <i class=\"far fa-times\"></i>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n <div class=\"widget-options-menu\" *ngIf=\"_hasMenu\">\r\n <ax-menu [items]='configMenuItem' direction=\"horizontal\"></ax-menu>\r\n </div>\r\n <!-- <ax-loading-panel [visible]=\"isBusy\">\r\n </ax-loading-panel> -->\r\n <div class=\"widget-content\">\r\n <ng-container #vc></ng-container>\r\n </div>\r\n</div>",
301
+ host: { class: 'ax widget-host', tabindex: '0' },
302
+ encapsulation: ViewEncapsulation.None,
303
+ changeDetection: ChangeDetectionStrategy.OnPush
304
+ }),
305
+ __metadata("design:paramtypes", [ElementRef,
306
+ ComponentFactoryResolver,
307
+ AXRenderService,
308
+ ChangeDetectorRef,
309
+ AXPopupService,
310
+ AXLoadingService])
311
+ ], AXWidgetHostComponent);
312
+ export { AXWidgetHostComponent };
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWhvc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9sYXlvdXQvIiwic291cmNlcyI6WyJsaWIvd2lkZ2V0LWJvYXJkL3dpZGdldC1ob3N0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxpQkFBaUIsRUFBRSxLQUFLLEVBQ3hCLFVBQVUsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUM1RCxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUMvRCxpQkFBaUIsRUFBRSxZQUFZLEVBQ2xDLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBY2hFLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBK0U5QixZQUNZLEdBQStCLEVBQy9CLHdCQUFrRCxFQUNsRCxlQUFnQyxFQUNoQyxHQUFzQixFQUN0QixLQUFxQixFQUNyQixjQUFnQztRQUxoQyxRQUFHLEdBQUgsR0FBRyxDQUE0QjtRQUMvQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUE5RTVDLGNBQVMsR0FBWSxL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QUUsR0FBRyxFQUFFO1FBQ2hELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1FBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0tBQ2xELENBQUM7cUNBa0ZtQixVQUFVO1FBQ1csd0JBQXdCO1FBQ2pDLGVBQWU7UUFDM0IsaUJBQWlCO1FBQ2YsY0FBYztRQUNMLGdCQUFnQjtHQXJGbkMscUJBQXFCLENBa1RqQztTQWxUWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sIElucHV0LFxyXG4gICAgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgVmlld0NoaWxkLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFdpZGdldENvbmZpZywgQVhXaWRnZXRDb21wb25lbnQsIEFYV2lkZ2V0Q29uZmlnQ2hhbmdlZCwgQVhXaWRnZXRDb25maWdTYXZlZEV2ZW50IH0gZnJvbSAnLi93aWRnZXQuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWE9iamVjdFV0aWwsIEFYUmVuZGVyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlLCBBWFByb3BlcnR5RGVjb3JhdG9ycywgQVhQcm9wZXJ0eURlY29yYXRvciwgQVhMb2FkaW5nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEFYV2lkZ2V0Q29uZmlnQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXQtY29uZmlnLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYTWVudUl0ZW0gfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWFdpZGdldFNhdmVDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldC1zYXZlLmNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LXdpZGdldC1ob3N0JyxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vd2lkZ2V0LWhvc3QuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheCB3aWRnZXQtaG9zdCcsIHRhYmluZGV4OiAnMCcgfSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEFYV2lkZ2V0SG9zdENvbXBvbmVudCB7XHJcblxyXG4gICAgcHJpdmF0ZSBfd2lkZ2V0OiBBWFdpZGdldENvbXBvbmVudDtcclxuICAgIHB1YmxpYyBnZXQgd2lkZ2V0KCk6IEFYV2lkZ2V0Q29tcG9uZW50IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fd2lkZ2V0O1xyXG4gICAgfVxyXG5cclxuICAgIF9oYXNQcm9wczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgICBfaGFzTWVudTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwcm92aWRlVmFsdWU6IChlOiBhbnkpID0+IGFueTtcclxuXHJcblxyXG4gICAgZ2V0IGVsZW1lbnQoKTogSFRNTERpdkVsZW1lbnQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjb25maWdNZW51SXRlbTogQVhNZW51SXRlbVtdID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgaWNvbjogJ2ZhciBmYS1lbGxpcHNpcy1oJyxcclxuICAgICAgICAgICAgaXRlbXM6IFtdXHJcbiAgICAgICAgfVxyXG4gICAgXTtcclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvblJlbW92ZTogRXZlbnRFbWl0dGVyPEFYV2lkZ2V0SG9zdENvbXBvbmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYV2lkZ2V0SG9zdENvbXBvbmVudD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uQ29uZmlnQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYV2lkZ2V0Q29uZmlnQ2hhbmdlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYV2lkZ2V0Q29uZmlnQ2hhbmdlZD4oKTtcclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvblJlc2l6ZWQ6IEV2ZW50RW1pdHRlcjxBWFdpZGdldENvbmZpZ0NoYW5nZWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFdpZGdldENvbmZpZ0NoYW5nZWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvblNhdmU6IEV2ZW50RW1pdHRlcjxBWFdpZGdldENvbmZpZ1NhdmVkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFdpZGdldENvbmZpZ1NhdmVkRXZlbnQ+KCk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGNvbmZpZzogQVhXaWRnZXRDb25maWc7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgndmMnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcclxuICAgIHZjOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICAgIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcclxuICAgIC8vcHJpdmF0ZSBpc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8vIGdldCBpc0J1c3koKSB7XHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuX3dpZGdldD8uaXNCdXN5IHx8IHRoaXMuaXNMb2FkaW5nO1xyXG4gICAgLy8gfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9sb2FkaW5nSWQ6IG51bWJlcjtcclxuXHJcbiAgICBwcml2YXRlIF9pc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0xvYWRpbmc7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGlzTG9hZGluZyh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNMb2FkaW5nID0gdjtcclxuICAgICAgICBpZiAodGhpcy5fbG9hZGluZ0lkICYmICF2KSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UuaGlkZSh0aGlzLl9sb2FkaW5nSWQpO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nSWQgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodikge1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nSWQgPSB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNob3codGhpcy5yZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBnZXQgaXNDb25maWd1cmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl93aWRnZXQ/LmlzQ29uZmlndXJlZCB8fCBmYWxzZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxyXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlclNlcnZpY2U6IEFYUmVuZGVyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBwb3B1cDogQVhQb3B1cFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2FkaW5nU2VydmljZTogQVhMb2FkaW5nU2VydmljZVxyXG5cclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgbGV0IGNvbXBvbmVudDogYW55O1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcuY29tcG9uZW50ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBjb25zdCByb3V0ZSA9IGF3YWl0IHRoaXMucmVuZGVyZXJTZXJ2aWNlLmZpbmRMb2FkZWRDb21wb25lbnRCeVJvdXRlKHRoaXMuY29uZmlnLmNvbXBvbmVudCwgMjApO1xyXG4gICAgICAgICAgICBjb21wb25lbnQgPSByb3V0ZT8uY29tcG9uZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdGhpcy5jb25maWcuY29tcG9uZW50ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudCA9IHRoaXMuY29uZmlnLmNvbXBvbmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNvbXBvbmVudCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgV2lkZ2V0IENvbXBvbmVudCFgLCB0aGlzLmNvbmZpZyk7XHJcbiAgICAgICAgICAgIHRoaXMub25SZW1vdmUuZW1pdCh0aGlzKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgd2lkZ2V0RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLnZjLmNyZWF0ZUNvbXBvbmVudCh3aWRnZXRGYWN0b3J5KTtcclxuICAgICAgICB0aGlzLl93aWRnZXQgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBBWFdpZGdldENvbXBvbmVudDtcclxuICAgICAgICB0aGlzLl93aWRnZXQucHJvdmlkZVZhbHVlID0gdGhpcy5wcm92aWRlVmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMuX3dpZGdldC5vbkJ1c3lDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3dpZGdldC5vbkJ1c3lDaGFuZ2VkLnN1YnNjcmliZSgoZCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl93aWRnZXQud2lkZ2V0U2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3dpZGdldC5zZXRWYWx1ZSgnd2lkZ2V0U2l6ZScsIFt0aGlzLnNpemVYLCB0aGlzLnNpemVZXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFNpemVGcm9tT3B0aW9ucygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBkLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX3dpZGdldC5vbkNvbmZpZ3VyZWRDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3dpZGdldC5vbkNvbmZpZ3VyZWRDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFNpemVGcm9tT3B0aW9ucygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICBpZiAodGhpcy5jb25maWcub3B0aW9ucykge1xyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3dpZGdldCwgdGhpcy5jb25maWcub3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2hhc1Byb3BzID0gQVhQcm9wZXJ0eURlY29yYXRvcnMuZ2V0UHJvcGVydGllcyh0aGlzLl93aWRnZXQpLmxlbmd0aCA+IDA7XHJcblxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jb25maWdbJ19fbWV0YV9fJ10uaW5zdGFuY2UgPSB0aGlzO1xyXG4gICAgICAgIHRoaXMuX3dpZGdldFsnX19tZXRhX18nXSA9IHt9O1xyXG4gICAgICAgIHRoaXMuX3dpZGdldFsnX19tZXRhX18nXS5jb25maWcgPSB0aGlzLmNvbmZpZztcclxuICAgICAgICAvL1xyXG4gICAgICAgIGlmICh0aGlzLl9oYXNQcm9wcykge1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ01lbnVJdGVtWzBdLml0ZW1zLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2NvbmZpZ3MnLFxyXG4gICAgICAgICAgICAgICAgaWNvbjogJ2ZhciBmYS1jb2dzJyxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5jb25maWdzJyksXHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuQ29uZmlnRGlhbG9nKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNvbmZpZ01lbnVJdGVtWzBdLml0ZW1zLnB1c2goe1xyXG4gICAgICAgICAgICBuYW1lOiAnc2F2ZScsXHJcbiAgICAgICAgICAgIGljb246ICdmYXIgZmEtc2F2ZScsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5zYXZlLWFzJyksXHJcbiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3BlblNhdmVEaWFsb2coKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmICh0cnVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlnTWVudUl0ZW1bMF0uaXRlbXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAncmVtb3ZlJyxcclxuICAgICAgICAgICAgICAgIGljb246ICdmYXIgZmEtdGltZXMnLFxyXG4gICAgICAgICAgICAgICAgc3R5bGU6ICdheCBkYW5nZXIgYmxhbmsnLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLnJlbW92ZScpLFxyXG4gICAgICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25SZW1vdmUuZW1pdCh0aGlzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2hhc01lbnUgPSB0aGlzLmNvbmZpZ01lbnVJdGVtWzBdLml0ZW1zLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUteCcpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2l6ZVg6IG51bWJlciA9IDE7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZS15JylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzaXplWTogbnVtYmVyID0gMTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1jb2wnKVxyXG4gICAgQElucHV0KClcclxuICAgIGNvbDogbnVtYmVyID0gMTtcclxuXHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtcm93JylcclxuICAgIEBJbnB1dCgpXHJcbiAgICByb3c6IG51bWJlciA9IDE7XHJcblxyXG5cclxuICAgIHByaXZhdGUgc2V0U2l6ZUZyb21PcHRpb25zKCkge1xyXG4gICAgICAgIHRoaXMuX3dpZGdldC5nZXRWYWx1ZSgnd2lkZ2V0U2l6ZScpLnRoZW4oYyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9sZFNpemVYID0gdGhpcy5zaXplWDtcclxuICAgICAgICAgICAgY29uc3Qgb2xkU2l6ZVkgPSB0aGlzLnNpemVZO1xyXG4gICAgICAgICAgICBpZiAoYyAmJiBBcnJheS5pc0FycmF5KGMpICYmIChvbGRTaXplWCAhPT0gY1swXSB8fCBvbGRTaXplWSAhPT0gY1sxXSkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLnNpemVYID0gdGhpcy5zaXplWCA9IGNbMF07XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5zaXplWSA9IHRoaXMuc2l6ZVkgPSBjWzFdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vblJlc2l6ZWQuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLl93aWRnZXQsXHJcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZ1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZShlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5vblJlbW92ZS5lbWl0KHRoaXMpO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVDb25maWcoZTogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIHRoaXMub3BlbkNvbmZpZ0RpYWxvZygpO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9wZW5Db25maWdEaWFsb2coKSB7XHJcbiAgICAgICAgY29uc3QgcHBwID0gdGhpcy5nZXRNZXJnZWRQcm9wcygpO1xyXG4gICAgICAgIHRoaXMucG9wdXAub3BlbihBWFdpZGdldENvbmZpZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICB0aXRsZTogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNvbmZpZ3MnKSxcclxuICAgICAgICAgICAgc2l6ZTogJ3NtJyxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgcHJvcHM6IHBwcC5tYXAoYyA9PiAoeyBwcm9wZXJ0eTogYy5vcHRpb25zLCB2YWx1ZTogdGhpcy5fd2lkZ2V0W2Mub3B0aW9ucy5uYW1lXSB9KSksXHJcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IHRoaXMud2lkZ2V0XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYy5kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29uZmlnLm9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5vcHRpb25zID0ge307XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjLmRhdGEuZm9yRWFjaChwID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl93aWRnZXQuc2V0VmFsdWUocC5wcm9wZXJ0eS5uYW1lLCBwLnZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5vcHRpb25zW3AucHJvcGVydHkubmFtZV0gPSBwLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVtaXRDb25maWdDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl93aWRnZXQucmVkcmF3KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9wZW5TYXZlRGlhbG9nKCkge1xyXG4gICAgICAgIGNvbnN0IHBwcCA9IHRoaXMuZ2V0TWVyZ2VkUHJvcHMoKTtcclxuICAgICAgICB0aGlzLnBvcHVwLm9wZW4oQVhXaWRnZXRTYXZlQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uc2F2ZS1hcycpLFxyXG4gICAgICAgICAgICBzaXplOiAnc20nLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBjb25maWc6IHRoaXMuY29uZmlnLFxyXG4gICAgICAgICAgICAgICAgcHJvcHM6IHBwcC5tYXAoYyA9PiAoeyBwcm9wZXJ0eTogYy5vcHRpb25zLCB2YWx1ZTogdGhpcy5fd2lkZ2V0W2Mub3B0aW9ucy5uYW1lXSB9KSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pLnRoZW4oYyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjLmRhdGEpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub25TYXZlLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcy5fd2lkZ2V0LFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGMuZGF0YVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGhhbmRsZU9wdGlvbkNsaWNrKGU6IE1vdXNlRXZlbnQpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLm9wZW5Db25maWdEaWFsb2coKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy52Yy5jbGVhcigpO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TWVyZ2VkUHJvcHMoKTogQVhQcm9wZXJ0eURlY29yYXRvcltdIHtcclxuICAgICAgICBjb25zdCBwcHAgPSBBWE9iamVjdFV0aWwuZGVlcENvcHkoQVhQcm9wZXJ0eURlY29yYXRvcnMuZ2V0UHJvcGVydGllcyh0aGlzLl93aWRnZXQpKSBhcyBBWFByb3BlcnR5RGVjb3JhdG9yW107XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jb25maWcucHJvcHMpIHtcclxuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmNvbmZpZy5wcm9wcywga2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UCA9IHRoaXMuY29uZmlnLnByb3BzW2tleV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCBleGlzdFByb3BEZWMgPSBwcHAuZmluZChwID0+IHAucHJvcGVydHkgPT09IGtleSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXhpc3RQcm9wRGVjKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihleGlzdFByb3BEZWMub3B0aW9ucywgbmV3UCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBwcDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGVtaXRDb25maWdDaGFuZ2VkKCkge1xyXG4gICAgICAgIHRoaXMub25Db25maWdDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMuX3dpZGdldCxcclxuICAgICAgICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxufSJdfQ==
@@ -0,0 +1,79 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, } from '@angular/core';
3
+ import { AXHtmlUtil, AXObjectUtil, AXTranslator } from '@acorex/core';
4
+ import { AXBasePopupPageComponent } from '@acorex/components';
5
+ let AXWidgetSaveComponent = class AXWidgetSaveComponent extends AXBasePopupPageComponent {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.props = [];
9
+ }
10
+ getFooterButtons() {
11
+ return [
12
+ {
13
+ name: 'okay',
14
+ submitBehavior: true,
15
+ text: AXTranslator.get('common.confirm'),
16
+ style: 'ax success'
17
+ },
18
+ {
19
+ name: 'cancel',
20
+ cancelBehavior: true,
21
+ text: AXTranslator.get('common.cancel'),
22
+ style: 'ax light'
23
+ }
24
+ ];
25
+ }
26
+ ngOnInit() {
27
+ var _a, _b;
28
+ const titleProp = this.props.find(c => c.property.name === 'title' || c.property.name === 'name');
29
+ const title = ((_a = titleProp) === null || _a === void 0 ? void 0 : _a.value) || this.config.title;
30
+ const pp = {};
31
+ (_b = this.props) === null || _b === void 0 ? void 0 : _b.forEach(c => {
32
+ pp[c.property.name] = c.property;
33
+ });
34
+ this.data = {
35
+ component: this.config.component,
36
+ title,
37
+ uniqueName: `${this.config.uniqueName}-${AXHtmlUtil.getUID()}`,
38
+ options: AXObjectUtil.deepJSONClone(this.config.options),
39
+ props: AXObjectUtil.deepJSONClone(pp)
40
+ };
41
+ this.displayProps = this.props
42
+ .filter(c => c.property.visible !== false)
43
+ .sort((a, b) => a.property.order - b.property.order)
44
+ .map(c => ({
45
+ name: c.property.name,
46
+ title: c.property.title,
47
+ allow: true
48
+ }));
49
+ }
50
+ onFooterButtonClick(e) {
51
+ if (e.name === 'cancel') {
52
+ this.close();
53
+ }
54
+ if (e.name === 'okay') {
55
+ this.props.forEach(p => {
56
+ const pp = this.displayProps.find(c => c.name === p.property.name);
57
+ if (pp == null || !pp.allow) {
58
+ let ppp = this.data.props[p.property.name];
59
+ if (ppp) {
60
+ ppp.visible = false;
61
+ }
62
+ else {
63
+ ppp = { visible: false };
64
+ }
65
+ }
66
+ });
67
+ this.close(this.data);
68
+ }
69
+ }
70
+ };
71
+ AXWidgetSaveComponent = __decorate([
72
+ Component({
73
+ template: "<ax-page>\r\n <ax-page-content>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-form-group>\r\n <ax-label>{{'common.title' | trans}}</ax-label>\r\n <ax-text-box [(value)]=\"data.title\"></ax-text-box>\r\n </ax-form-group>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-form-group>\r\n <ax-label>{{'common.description' | trans}}</ax-label>\r\n <ax-text-area [(value)]=\"data.description\"></ax-text-area>\r\n </ax-form-group>\r\n </div>\r\n </div>\r\n <!-- <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ax-form-group>\r\n <ax-label>{{'common.uniquename' | trans}}</ax-label>\r\n <ax-text-box></ax-text-box>\r\n </ax-form-group>\r\n </div>\r\n </div> -->\r\n <div class=\"row\" style=\"margin-block-end: var(--ax-size-md);margin-block-start: var(--ax-size-md);\">\r\n <div class=\"col-12\">\r\n <ax-fieldset caption=\"{{'widget-board.configurable-props' | trans}}\">\r\n <div class=\"row\" *ngFor=\"let prop of displayProps\">\r\n <div class=\"col-12\" style=\"margin-block-end: var(--ax-size-sm)\">\r\n <ax-check-box [(value)]=\"prop.allow\" label=\"{{ prop.title | trans }}\">\r\n\r\n </ax-check-box>\r\n </div>\r\n </div>\r\n </ax-fieldset>\r\n </div>\r\n </div>\r\n </div>\r\n </ax-page-content>\r\n</ax-page>",
74
+ encapsulation: ViewEncapsulation.None,
75
+ changeDetection: ChangeDetectionStrategy.OnPush
76
+ })
77
+ ], AXWidgetSaveComponent);
78
+ export { AXWidgetSaveComponent };
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXNhdmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9sYXlvdXQvIiwic291cmNlcyI6WyJsaWIvd2lkZ2V0LWJvYXJkL3dpZGdldC1zYXZlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEdBRTFCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEYsT0FBTyxFQUEwQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBU3RHLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXNCLFNBQVEsd0JBQXdCO0lBQW5FOztRQUVJLFVBQUssR0FBdUIsRUFBRSxDQUFDO0lBb0VuQyxDQUFDO0lBL0RHLGdCQUFnQjtRQUNaLE9BQU87WUFDSDtnQkFDSSxJQUFJLEVBQUUsTUFBTTtnQkFDWixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ3hDLEtBQUssRUFBRSxZQUFZO2FBQ3RCO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdkMsS0FBSyxFQUFFLFVBQVU7YUFDcEI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVE7O1FBQ0osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUM7UUFDbEcsTUFBTSxLQUFL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biAgICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG5cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhXaWRnZXRDb25maWcsIEFYV2lkZ2V0U2F2ZUFzRGF0YSB9IGZyb20gJy4vd2lkZ2V0LmNsYXNzJztcclxuaW1wb3J0IHsgQVhCdXR0b25JdGVtLCBBWEh0bWxVdGlsLCBBWE9iamVjdFV0aWwsIEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEFYUHJvcGVydHlDb25maWcsIEFYTWVudUl0ZW1DbGlja0V2ZW50LCBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMnO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vd2lkZ2V0LXNhdmUuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYV2lkZ2V0U2F2ZUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBvcHVwUGFnZUNvbXBvbmVudCB7XHJcbiAgICBjb25maWc6IEFYV2lkZ2V0Q29uZmlnO1xyXG4gICAgcHJvcHM6IEFYUHJvcGVydHlDb25maWdbXSA9IFtdO1xyXG4gICAgZGlzcGxheVByb3BzOiB7IG5hbWU6IHN0cmluZywgdGl0bGU6IHN0cmluZywgYWxsb3c6IGJvb2xlYW4gfVtdO1xyXG5cclxuICAgIGRhdGE6IEFYV2lkZ2V0U2F2ZUFzRGF0YTtcclxuXHJcbiAgICBnZXRGb290ZXJCdXR0b25zKCk6IEFYQnV0dG9uSXRlbVtdIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnb2theScsXHJcbiAgICAgICAgICAgICAgICBzdWJtaXRCZWhhdmlvcjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5jb25maXJtJyksXHJcbiAgICAgICAgICAgICAgICBzdHlsZTogJ2F4IHN1Y2Nlc3MnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdjYW5jZWwnLFxyXG4gICAgICAgICAgICAgICAgY2FuY2VsQmVoYXZpb3I6IHRydWUsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uY2FuY2VsJyksXHJcbiAgICAgICAgICAgICAgICBzdHlsZTogJ2F4IGxpZ2h0J1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBjb25zdCB0aXRsZVByb3AgPSB0aGlzLnByb3BzLmZpbmQoYyA9PiBjLnByb3BlcnR5Lm5hbWUgPT09ICd0aXRsZScgfHwgYy5wcm9wZXJ0eS5uYW1lID09PSAnbmFtZScpO1xyXG4gICAgICAgIGNvbnN0IHRpdGxlID0gdGl0bGVQcm9wPy52YWx1ZSB8fCB0aGlzLmNvbmZpZy50aXRsZTtcclxuICAgICAgICBjb25zdCBwcDogYW55ID0ge307XHJcbiAgICAgICAgdGhpcy5wcm9wcz8uZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgcHBbYy5wcm9wZXJ0eS5uYW1lXSA9IGMucHJvcGVydHk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5kYXRhID0ge1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMuY29uZmlnLmNvbXBvbmVudCxcclxuICAgICAgICAgICAgdGl0bGUsXHJcbiAgICAgICAgICAgIHVuaXF1ZU5hbWU6IGAke3RoaXMuY29uZmlnLnVuaXF1ZU5hbWV9LSR7QVhIdG1sVXRpbC5nZXRVSUQoKX1gLFxyXG4gICAgICAgICAgICBvcHRpb25zOiBBWE9iamVjdFV0aWwuZGVlcEpTT05DbG9uZSh0aGlzLmNvbmZpZy5vcHRpb25zKSxcclxuICAgICAgICAgICAgcHJvcHM6IEFYT2JqZWN0VXRpbC5kZWVwSlNPTkNsb25lKHBwKVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5UHJvcHMgPSB0aGlzLnByb3BzXHJcbiAgICAgICAgICAgIC5maWx0ZXIoYyA9PiBjLnByb3BlcnR5LnZpc2libGUgIT09IGZhbHNlKVxyXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5wcm9wZXJ0eS5vcmRlciAtIGIucHJvcGVydHkub3JkZXIpXHJcbiAgICAgICAgICAgIC5tYXAoYyA9PiAoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogYy5wcm9wZXJ0eS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGMucHJvcGVydHkudGl0bGUsXHJcbiAgICAgICAgICAgICAgICBhbGxvdzogdHJ1ZVxyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBvbkZvb3RlckJ1dHRvbkNsaWNrKGU6IEFYTWVudUl0ZW1DbGlja0V2ZW50KSB7XHJcbiAgICAgICAgaWYgKGUubmFtZSA9PT0gJ2NhbmNlbCcpIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZS5uYW1lID09PSAnb2theScpIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcHAgPSB0aGlzLmRpc3BsYXlQcm9wcy5maW5kKGMgPT4gYy5uYW1lID09PSBwLnByb3BlcnR5Lm5hbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHBwID09IG51bGwgfHwgIXBwLmFsbG93KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBwcCA9IHRoaXMuZGF0YS5wcm9wc1twLnByb3BlcnR5Lm5hbWVdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcHApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHBwLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBwcCA9IHsgdmlzaWJsZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKHRoaXMuZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19