@acorex/layout 16.18.50 → 16.19.2

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.
@@ -1,79 +0,0 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, } from '@angular/core';
2
- import { AXHtmlUtil, AXObjectUtil, AXTranslator } from '@acorex/core';
3
- import { AXBasePopupPageComponent } from '@acorex/components';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@acorex/components";
7
- import * as i3 from "@acorex/core";
8
- export class AXWidgetSaveComponent extends AXBasePopupPageComponent {
9
- config;
10
- props = [];
11
- displayProps;
12
- data;
13
- getFooterButtons() {
14
- return [
15
- {
16
- name: 'okay',
17
- submitBehavior: true,
18
- text: AXTranslator.get('common.confirm'),
19
- style: 'ax success'
20
- },
21
- {
22
- name: 'cancel',
23
- cancelBehavior: true,
24
- text: AXTranslator.get('common.cancel'),
25
- style: 'ax light'
26
- }
27
- ];
28
- }
29
- ngOnInit() {
30
- const titleProp = this.props.find(c => c.property.name === 'title' || c.property.name === 'name');
31
- const title = titleProp?.value || this.config.title;
32
- const pp = {};
33
- this.props?.forEach(c => {
34
- pp[c.property.name] = c.property;
35
- });
36
- this.data = {
37
- component: this.config.component,
38
- title,
39
- uniqueName: `${this.config.uniqueName}-${AXHtmlUtil.getUID()}`,
40
- options: AXObjectUtil.deepJSONClone(this.config.options),
41
- props: AXObjectUtil.deepJSONClone(pp)
42
- };
43
- this.displayProps = this.props
44
- .filter(c => c.property.visible !== false)
45
- .sort((a, b) => a.property.order - b.property.order)
46
- .map(c => ({
47
- name: c.property.name,
48
- title: c.property.title,
49
- allow: true
50
- }));
51
- }
52
- onFooterButtonClick(e) {
53
- if (e.name === 'cancel') {
54
- this.close();
55
- }
56
- if (e.name === 'okay') {
57
- this.props.forEach(p => {
58
- const pp = this.displayProps.find(c => c.name === p.property.name);
59
- if (pp == null || !pp.allow) {
60
- let ppp = this.data.props[p.property.name];
61
- if (ppp) {
62
- ppp.visible = false;
63
- }
64
- else {
65
- ppp = { visible: false };
66
- }
67
- }
68
- });
69
- this.close(this.data);
70
- }
71
- }
72
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXWidgetSaveComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
73
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXWidgetSaveComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ax-page>\n <ax-page-content>\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-form-group>\n <ax-label>{{'common.title' | trans}}</ax-label>\n <ax-text-box [(value)]=\"data.title\"></ax-text-box>\n </ax-form-group>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-form-group>\n <ax-label>{{'common.description' | trans}}</ax-label>\n <ax-text-area [(value)]=\"data.description\"></ax-text-area>\n </ax-form-group>\n </div>\n </div>\n <!-- <div class=\"row\">\n <div class=\"col-12\">\n <ax-form-group>\n <ax-label>{{'common.uniquename' | trans}}</ax-label>\n <ax-text-box></ax-text-box>\n </ax-form-group>\n </div>\n </div> -->\n <div class=\"row\" style=\"margin-block-end: var(--ax-size-md);margin-block-start: var(--ax-size-md);\">\n <div class=\"col-12\">\n <ax-fieldset caption=\"{{'widget-board.configurable-props' | trans}}\">\n <div class=\"row\" *ngFor=\"let prop of displayProps\">\n <div class=\"col-12\" style=\"margin-block-end: var(--ax-size-sm)\">\n <ax-check-box [(value)]=\"prop.allow\" label=\"{{ prop.title | trans }}\">\n\n </ax-check-box>\n </div>\n </div>\n </ax-fieldset>\n </div>\n </div>\n </div>\n </ax-page-content>\n</ax-page>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.AXPageContentComponent, selector: "ax-page-content" }, { kind: "component", type: i2.AXPageComponent, selector: "ax-page" }, { kind: "component", type: i2.AXLabelComponent, selector: "ax-label", inputs: ["size"], outputs: ["clickLabel"] }, { kind: "component", type: i2.AXTextAreaComponent, selector: "ax-text-area", inputs: ["rows", "cols", "maxLength"], outputs: ["onBlur", "onFocus"] }, { kind: "component", type: i2.AXFieldsetComponent, selector: "ax-fieldset", inputs: ["size", "caption", "allowCollapse"] }, { kind: "component", type: i2.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "showMask", "type", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { kind: "component", type: i2.AXFormGroupComponent, selector: "ax-form-group", inputs: ["size", "labelMode"], outputs: ["labelModeChange"] }, { kind: "component", type: i2.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "useTreeView", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXWidgetSaveComponent, decorators: [{
76
- type: Component,
77
- args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-page>\n <ax-page-content>\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-form-group>\n <ax-label>{{'common.title' | trans}}</ax-label>\n <ax-text-box [(value)]=\"data.title\"></ax-text-box>\n </ax-form-group>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\">\n <ax-form-group>\n <ax-label>{{'common.description' | trans}}</ax-label>\n <ax-text-area [(value)]=\"data.description\"></ax-text-area>\n </ax-form-group>\n </div>\n </div>\n <!-- <div class=\"row\">\n <div class=\"col-12\">\n <ax-form-group>\n <ax-label>{{'common.uniquename' | trans}}</ax-label>\n <ax-text-box></ax-text-box>\n </ax-form-group>\n </div>\n </div> -->\n <div class=\"row\" style=\"margin-block-end: var(--ax-size-md);margin-block-start: var(--ax-size-md);\">\n <div class=\"col-12\">\n <ax-fieldset caption=\"{{'widget-board.configurable-props' | trans}}\">\n <div class=\"row\" *ngFor=\"let prop of displayProps\">\n <div class=\"col-12\" style=\"margin-block-end: var(--ax-size-sm)\">\n <ax-check-box [(value)]=\"prop.allow\" label=\"{{ prop.title | trans }}\">\n\n </ax-check-box>\n </div>\n </div>\n </ax-fieldset>\n </div>\n </div>\n </div>\n </ax-page-content>\n</ax-page>" }]
78
- }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXNhdmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi93aWRnZXQtYm9hcmQvd2lkZ2V0LXNhdmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi93aWRnZXQtYm9hcmQvd2lkZ2V0LXNhdmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEdBRTFCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEYsT0FBTyxFQUEwQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVN0RyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsd0JBQXdCO0lBQy9ELE1BQU0sQ0FBaUI7SUFDdkIsS0FBSyxHQUF1QixFQUFFLENBQUM7SUFDL0IsWUFBWSxDQUFvRDtJQUVoRSxJQUFJLENBQXFCO0lBRXpCLGdCQUFnQjtRQUNaLE9BQU87WUFDSDtnQkFDSSxJQUFJLEVBQUUsTUFBTTtnQkFDWixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ3hDLEtBQUssRUFBRSxZQUFZO2FBQ3RCO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdkMsS0FBSyxFQUFFLFVBQVU7YUFDcEI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVE7UUFDSixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFD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LHFCQUFxQjtrQkFMakMsU0FBUztvQ0FFUyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFdpZGdldENvbmZpZywgQVhXaWRnZXRTYXZlQXNEYXRhIH0gZnJvbSAnLi93aWRnZXQuY2xhc3MnO1xuaW1wb3J0IHsgQVhCdXR0b25JdGVtLCBBWEh0bWxVdGlsLCBBWE9iamVjdFV0aWwsIEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBBWFByb3BlcnR5Q29uZmlnLCBBWE1lbnVJdGVtQ2xpY2tFdmVudCwgQVhCYXNlUG9wdXBQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzJztcblxuXG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIi4vd2lkZ2V0LXNhdmUuY29tcG9uZW50Lmh0bWxcIixcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWFdpZGdldFNhdmVDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQge1xuICAgIGNvbmZpZzogQVhXaWRnZXRDb25maWc7XG4gICAgcHJvcHM6IEFYUHJvcGVydHlDb25maWdbXSA9IFtdO1xuICAgIGRpc3BsYXlQcm9wczogeyBuYW1lOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIGFsbG93OiBib29sZWFuIH1bXTtcblxuICAgIGRhdGE6IEFYV2lkZ2V0U2F2ZUFzRGF0YTtcblxuICAgIGdldEZvb3RlckJ1dHRvbnMoKTogQVhCdXR0b25JdGVtW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdva2F5JyxcbiAgICAgICAgICAgICAgICBzdWJtaXRCZWhhdmlvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uY29uZmlybScpLFxuICAgICAgICAgICAgICAgIHN0eWxlOiAnYXggc3VjY2VzcydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2NhbmNlbCcsXG4gICAgICAgICAgICAgICAgY2FuY2VsQmVoYXZpb3I6IHRydWUsXG4gICAgICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNhbmNlbCcpLFxuICAgICAgICAgICAgICAgIHN0eWxlOiAnYXggbGlnaHQnXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IHRpdGxlUHJvcCA9IHRoaXMucHJvcHMuZmluZChjID0+IGMucHJvcGVydHkubmFtZSA9PT0gJ3RpdGxlJyB8fCBjLnByb3BlcnR5Lm5hbWUgPT09ICduYW1lJyk7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gdGl0bGVQcm9wPy52YWx1ZSB8fCB0aGlzLmNvbmZpZy50aXRsZTtcbiAgICAgICAgY29uc3QgcHA6IGFueSA9IHt9O1xuICAgICAgICB0aGlzLnByb3BzPy5mb3JFYWNoKGMgPT4ge1xuICAgICAgICAgICAgcHBbYy5wcm9wZXJ0eS5uYW1lXSA9IGMucHJvcGVydHk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGEgPSB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMuY29uZmlnLmNvbXBvbmVudCxcbiAgICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgICAgdW5pcXVlTmFtZTogYCR7dGhpcy5jb25maWcudW5pcXVlTmFtZX0tJHtBWEh0bWxVdGlsLmdldFVJRCgpfWAsXG4gICAgICAgICAgICBvcHRpb25zOiBBWE9iamVjdFV0aWwuZGVlcEpTT05DbG9uZSh0aGlzLmNvbmZpZy5vcHRpb25zKSxcbiAgICAgICAgICAgIHByb3BzOiBBWE9iamVjdFV0aWwuZGVlcEpTT05DbG9uZShwcClcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5kaXNwbGF5UHJvcHMgPSB0aGlzLnByb3BzXG4gICAgICAgICAgICAuZmlsdGVyKGMgPT4gYy5wcm9wZXJ0eS52aXNpYmxlICE9PSBmYWxzZSlcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLnByb3BlcnR5Lm9yZGVyIC0gYi5wcm9wZXJ0eS5vcmRlcilcbiAgICAgICAgICAgIC5tYXAoYyA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGMucHJvcGVydHkubmFtZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogYy5wcm9wZXJ0eS50aXRsZSxcbiAgICAgICAgICAgICAgICBhbGxvdzogdHJ1ZVxuICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuXG5cbiAgICBvbkZvb3RlckJ1dHRvbkNsaWNrKGU6IEFYTWVudUl0ZW1DbGlja0V2ZW50KSB7XG4gICAgICAgIGlmIChlLm5hbWUgPT09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUubmFtZSA9PT0gJ29rYXknKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BzLmZvckVhY2gocCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHAgPSB0aGlzLmRpc3BsYXlQcm9wcy5maW5kKGMgPT4gYy5uYW1lID09PSBwLnByb3BlcnR5Lm5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChwcCA9PSBudWxsIHx8ICFwcC5hbGxvdykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcHBwID0gdGhpcy5kYXRhLnByb3BzW3AucHJvcGVydHkubmFtZV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcHApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBwcC52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcHAgPSB7IHZpc2libGU6IGZhbHNlIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UodGhpcy5kYXRhKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCI8YXgtcGFnZT5cbiAgICA8YXgtcGFnZS1jb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57eydjb21tb24udGl0bGUnIHwgdHJhbnN9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtdGV4dC1ib3ggWyh2YWx1ZSldPVwiZGF0YS50aXRsZVwiPjwvYXgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3snY29tbW9uLmRlc2NyaXB0aW9uJyB8IHRyYW5zfX08L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXRleHQtYXJlYSBbKHZhbHVlKV09XCJkYXRhLmRlc2NyaXB0aW9uXCI+PC9heC10ZXh0LWFyZWE+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57eydjb21tb24udW5pcXVlbmFtZScgfCB0cmFuc319PC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC10ZXh0LWJveD48L2F4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1heC1zaXplLW1kKTttYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWF4LXNpemUtbWQpO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LWZpZWxkc2V0IGNhcHRpb249XCJ7eyd3aWRnZXQtYm9hcmQuY29uZmlndXJhYmxlLXByb3BzJyB8IHRyYW5zfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdGb3I9XCJsZXQgcHJvcCBvZiBkaXNwbGF5UHJvcHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCIgc3R5bGU9XCJtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1heC1zaXplLXNtKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtY2hlY2stYm94IFsodmFsdWUpXT1cInByb3AuYWxsb3dcIiBsYWJlbD1cInt7IHByb3AudGl0bGUgfCB0cmFucyB9fVwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtZmllbGRzZXQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9heC1wYWdlLWNvbnRlbnQ+XG48L2F4LXBhZ2U+Il19
@@ -1,130 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { EventEmitter, Injectable } from '@angular/core';
3
- import { propertyEditor } from '@acorex/components';
4
- import { AXHtmlUtil, AXTranslator } from '@acorex/core';
5
- import * as i0 from "@angular/core";
6
- // @dynamic
7
- // TODO: Add Angular decorator.
8
- export class AXWidgetComponent {
9
- uid = AXHtmlUtil.getUID();
10
- provideValue;
11
- onBusyChanged = new EventEmitter();
12
- _isBusy = true;
13
- get isBusy() {
14
- return this._isBusy;
15
- }
16
- set isBusy(v) {
17
- if (v !== this._isBusy) {
18
- const eventData = {
19
- component: this,
20
- oldValue: this._isBusy,
21
- value: v
22
- };
23
- this._isBusy = v;
24
- this.onBusyChanged.emit(eventData);
25
- }
26
- }
27
- widgetSize;
28
- refreshRate = [{
29
- id: 60000 * 5,
30
- text: AXTranslator.get('dateTime.duration.format_minute').replace('{0}', '5')
31
- }];
32
- // ???
33
- getRefreshRate() {
34
- return Array.isArray(this.refreshRate) && this.refreshRate.length ? this.refreshRate[0].id : this.refreshRate;
35
- }
36
- intervalId;
37
- constructor() {
38
- this.onConfiguredChanged.subscribe(() => {
39
- if (this.isConfigured === true && this.getRefreshRate()) {
40
- this.restartRefreshTimer();
41
- }
42
- else {
43
- this.stopRefreshTimer();
44
- }
45
- });
46
- }
47
- startRefreshTimer() {
48
- this.intervalId = window.setInterval(this.refresh.bind(this), this.getRefreshRate());
49
- }
50
- stopRefreshTimer() {
51
- window.clearInterval(this.intervalId);
52
- }
53
- restartRefreshTimer() {
54
- this.stopRefreshTimer();
55
- this.startRefreshTimer();
56
- }
57
- ngOnDestroy() {
58
- this.stopRefreshTimer();
59
- }
60
- redraw() {
61
- }
62
- refresh() {
63
- this.restartRefreshTimer();
64
- }
65
- onConfiguredChanged = new EventEmitter();
66
- get isConfigured() {
67
- return true;
68
- }
69
- setValue(name, value) {
70
- this[name] = value;
71
- this.onConfiguredChanged.emit();
72
- }
73
- getValue(name) {
74
- const val = this[name];
75
- const config = this['__meta__'].config;
76
- const runtime = config.props[name]?.runtime;
77
- if (runtime && this.provideValue) {
78
- const res = this.provideValue({
79
- name,
80
- value: val,
81
- uniqueName: config.uniqueName,
82
- options: config.options,
83
- });
84
- if (this.provideValue instanceof Promise) {
85
- return res;
86
- }
87
- else {
88
- return Promise.resolve(res);
89
- }
90
- }
91
- return Promise.resolve(val);
92
- }
93
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
94
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXWidgetComponent });
95
- }
96
- __decorate([
97
- propertyEditor({
98
- editorClass: 'ax/editors/widget-size',
99
- title: 'common.size',
100
- visible: false,
101
- order: -99,
102
- }),
103
- __metadata("design:type", Array)
104
- ], AXWidgetComponent.prototype, "widgetSize", void 0);
105
- __decorate([
106
- propertyEditor({
107
- editorClass: 'ax/editors/select',
108
- title: 'common.refresh-rate',
109
- visible: true,
110
- order: -98,
111
- editorOptions: {
112
- items: () => {
113
- return ['بدون مقدار', 1, 2, 3, 5, 10, 20, 30, 60].map(c => ({
114
- id: typeof (c) === 'number' ? 60000 * c : 0,
115
- text: typeof (c) === 'number' ? AXTranslator.get('dateTime.duration.format_minute').replace('{0}', c.toString()) : c
116
- }));
117
- },
118
- allowNull: false,
119
- allowSearch: false,
120
- selectionDataMode: 'value',
121
- selectionMode: 'single',
122
- valueField: 'id',
123
- }
124
- }),
125
- __metadata("design:type", Object)
126
- ], AXWidgetComponent.prototype, "refreshRate", void 0);
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXWidgetComponent, decorators: [{
128
- type: Injectable
129
- }], ctorParameters: () => [], propDecorators: { widgetSize: [], refreshRate: [] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sYXlvdXQvc3JjL2xpYi93aWRnZXQtYm9hcmQvd2lkZ2V0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQTZCLGNBQWMsRUFBZSxNQUFNLG9CQUFvQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQTBDeEQsV0FBVztBQUNYLCtCQUErQjtBQUUvQixNQUFNLE9BQWdCLGlCQUFpQjtJQUUxQixHQUFHLEdBQVcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNDLFlBQVksQ0FBa0I7SUFFOUIsYUFBYSxHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztJQUV2RixPQUFPLEdBQVksSUFBSSxDQUFDO0lBQ2hDLElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsQ0FBVTtRQUN4QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckIsTUFBTSxTQUFTLEdBQTBCO2dCQUNyQyxTQUFTLEVBQUUsSUFBSTtnQkFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3RCLEtBQUssRUFBRSxDQUFDO2FBQ1gsQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBUUQsVUFBVSxDQUFXO0lBcUJyQixXQUFXLEdBQVEsQ0FBQztZQUNoQixFQUFFLEVBQUUsS0FBSyxHQUFHLENBQUM7WUFDYixJQUFJLEVBQUUs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O3dEQThCUCxVQUFVLE1BcUJWLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVmFsdWVFdmVudCwgQVhCYXNlRXZlbnQsIHByb3BlcnR5RWRpdG9yLCBBWERhdGFFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWEh0bWxVdGlsLCBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYV2lkZ2V0Q29uZmlnIHtcbiAgICB1bmlxdWVOYW1lOiBzdHJpbmc7XG4gICAgY29tcG9uZW50OiBhbnk7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzaXplWDogbnVtYmVyO1xuICAgIHNpemVZOiBudW1iZXI7XG4gICAgY29sPzogbnVtYmVyO1xuICAgIHJvdz86IG51bWJlcjtcbiAgICBvcHRpb25zPzogYW55O1xuICAgIHByb3BzPzogYW55O1xuICAgIHJlYWRvbmx5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFdpZGdldENvbmZpZ0NoYW5nZWQgZXh0ZW5kcyBBWEJhc2VFdmVudCB7XG4gICAgY29uZmlnOiBBWFdpZGdldENvbmZpZztcbn1cblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhXaWRnZXRCb2FyZENvbmZpZ0NoYW5nZWQgZXh0ZW5kcyBBWEJhc2VFdmVudCB7XG4gICAgbW9kZTogJ2NsZWFyJyB8ICdhZGQnIHwgJ3JlbW92ZScgfCAnbG9hZCcgfCAnY29uZmlnJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFdpZGdldENvbmZpZ1NhdmVkRXZlbnQgZXh0ZW5kcyBBWERhdGFFdmVudDxBWFdpZGdldFNhdmVBc0RhdGE+IHtcblxufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhXaWRnZXRTYXZlQXNEYXRhIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIGdyb3VwPzogc3RyaW5nO1xuICAgIC8vXG4gICAgdW5pcXVlTmFtZTogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogYW55O1xuICAgIG9wdGlvbnM/OiBhbnk7XG4gICAgcHJvcHM/OiBhbnk7XG59XG5cbi8vIEBkeW5hbWljXG4vLyBUT0RPOiBBZGQgQW5ndWxhciBkZWNvcmF0b3IuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhXaWRnZXRDb21wb25lbnQge1xuXG4gICAgcmVhZG9ubHkgdWlkOiBzdHJpbmcgPSBBWEh0bWxVdGlsLmdldFVJRCgpO1xuICAgIHByb3ZpZGVWYWx1ZTogKGU6IGFueSkgPT4gYW55O1xuXG4gICAgb25CdXN5Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVFdmVudDxib29sZWFuPj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVFdmVudDxib29sZWFuPj4oKTtcblxuICAgIHByaXZhdGUgX2lzQnVzeTogYm9vbGVhbiA9IHRydWU7XG4gICAgcHVibGljIGdldCBpc0J1c3koKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0J1c3k7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaXNCdXN5KHY6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHYgIT09IHRoaXMuX2lzQnVzeSkge1xuICAgICAgICAgICAgY29uc3QgZXZlbnREYXRhOiBBWFZhbHVlRXZlbnQ8Ym9vbGVhbj4gPSB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgICAgICAgIG9sZFZhbHVlOiB0aGlzLl9pc0J1c3ksXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLl9pc0J1c3kgPSB2O1xuICAgICAgICAgICAgdGhpcy5vbkJ1c3lDaGFuZ2VkLmVtaXQoZXZlbnREYXRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBwcm9wZXJ0eUVkaXRvcih7XG4gICAgICAgIGVkaXRvckNsYXNzOiAnYXgvZWRpdG9ycy93aWRnZXQtc2l6ZScsXG4gICAgICAgIHRpdGxlOiAnY29tbW9uLnNpemUnLFxuICAgICAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICAgICAgb3JkZXI6IC05OSxcbiAgICB9KVxuICAgIHdpZGdldFNpemU6IG51bWJlcltdO1xuXG4gICAgQHByb3BlcnR5RWRpdG9yKHtcbiAgICAgICAgZWRpdG9yQ2xhc3M6ICdheC9lZGl0b3JzL3NlbGVjdCcsXG4gICAgICAgIHRpdGxlOiAnY29tbW9uLnJlZnJlc2gtcmF0ZScsXG4gICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgIG9yZGVyOiAtOTgsXG4gICAgICAgIGVkaXRvck9wdGlvbnM6IHtcbiAgICAgICAgICAgIGl0ZW1zOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsn2KjYr9mI2YYg2YXZgtiv2KfYsScsIDEsIDIsIDMsIDUsIDEwLCAyMCwgMzAsIDYwXS5tYXAoYyA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBpZDogdHlwZW9mKGMpID09PSAnbnVtYmVyJyA/IDYwMDAwICogYyA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHR5cGVvZihjKSA9PT0gJ251bWJlcicgPyBBWFRyYW5zbGF0b3IuZ2V0KCdkYXRlVGltZS5kdXJhdGlvbi5mb3JtYXRfbWludXRlJykucmVwbGFjZSgnezB9JywgYy50b1N0cmluZygpKSA6IGNcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWxsb3dOdWxsOiBmYWxzZSxcbiAgICAgICAgICAgIGFsbG93U2VhcmNoOiBmYWxzZSxcbiAgICAgICAgICAgIHNlbGVjdGlvbkRhdGFNb2RlOiAndmFsdWUnLFxuICAgICAgICAgICAgc2VsZWN0aW9uTW9kZTogJ3NpbmdsZScsXG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiAnaWQnLFxuICAgICAgICB9XG4gICAgfSlcbiAgICByZWZyZXNoUmF0ZTogYW55ID0gW3tcbiAgICAgICAgaWQ6IDYwMDAwICogNSxcbiAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnZGF0ZVRpbWUuZHVyYXRpb24uZm9ybWF0X21pbnV0ZScpLnJlcGxhY2UoJ3swfScsICc1JylcbiAgICB9XTtcblxuICAgIC8vID8/P1xuICAgIGdldFJlZnJlc2hSYXRlKCkge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLnJlZnJlc2hSYXRlKSAmJiB0aGlzLnJlZnJlc2hSYXRlLmxlbmd0aCA/IHRoaXMucmVmcmVzaFJhdGVbMF0uaWQgOiB0aGlzLnJlZnJlc2hSYXRlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW50ZXJ2YWxJZDogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMub25Db25maWd1cmVkQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNDb25maWd1cmVkID09PSB0cnVlICYmIHRoaXMuZ2V0UmVmcmVzaFJhdGUoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzdGFydFJlZnJlc2hUaW1lcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9wUmVmcmVzaFRpbWVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBzdGFydFJlZnJlc2hUaW1lcigpIHtcbiAgICAgICAgdGhpcy5pbnRlcnZhbElkID0gd2luZG93LnNldEludGVydmFsKHRoaXMucmVmcmVzaC5iaW5kKHRoaXMpLCB0aGlzLmdldFJlZnJlc2hSYXRlKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RvcFJlZnJlc2hUaW1lcigpIHtcbiAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RhcnRSZWZyZXNoVGltZXIoKSB7XG4gICAgICAgIHRoaXMuc3RvcFJlZnJlc2hUaW1lcigpO1xuICAgICAgICB0aGlzLnN0YXJ0UmVmcmVzaFRpbWVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3RvcFJlZnJlc2hUaW1lcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWRyYXcoKSB7XG5cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVmcmVzaCgpIHtcbiAgICAgICAgdGhpcy5yZXN0YXJ0UmVmcmVzaFRpbWVyKCk7XG4gICAgfVxuXG4gICAgb25Db25maWd1cmVkQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgZ2V0IGlzQ29uZmlndXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZhbHVlKG5hbWU6IHN0cmluZywgdmFsdWU/OiBhbnkpIHtcbiAgICAgICAgdGhpc1tuYW1lXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ29uZmlndXJlZENoYW5nZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRWYWx1ZShuYW1lOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCB2YWwgPSB0aGlzW25hbWVdO1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzWydfX21ldGFfXyddLmNvbmZpZztcbiAgICAgICAgY29uc3QgcnVudGltZSA9IGNvbmZpZy5wcm9wc1tuYW1lXT8ucnVudGltZTtcbiAgICAgICAgaWYgKHJ1bnRpbWUgJiYgdGhpcy5wcm92aWRlVmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IHRoaXMucHJvdmlkZVZhbHVlKHtcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWwsXG4gICAgICAgICAgICAgICAgdW5pcXVlTmFtZTogY29uZmlnLnVuaXF1ZU5hbWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogY29uZmlnLm9wdGlvbnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3ZpZGVWYWx1ZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodmFsKTtcbiAgICB9XG5cbn0iXX0=