barsa-develop-components 2.1.1 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/barsa-develop-components.mjs +66 -62
- package/fesm2022/barsa-develop-components.mjs.map +1 -1
- package/package.json +3 -5
- package/esm2022/barsa-develop-components.mjs +0 -5
- package/esm2022/lib/accept-reject/accept-reject.component.mjs +0 -68
- package/esm2022/lib/avatar/avatar.component.mjs +0 -29
- package/esm2022/lib/barcode-format-pipe.mjs +0 -24
- package/esm2022/lib/barcode-reader/barcode-reader.component.mjs +0 -62
- package/esm2022/lib/barcode-reader-dialog/barcode-reader-dialog.component.mjs +0 -82
- package/esm2022/lib/barcode-reader-video/barcode-reader-video.component.mjs +0 -66
- package/esm2022/lib/barcode.service.mjs +0 -330
- package/esm2022/lib/barsa-develop-components.module.mjs +0 -292
- package/esm2022/lib/barsa-document-list-item/barsa-document-list-item.component.mjs +0 -104
- package/esm2022/lib/barsa-documents/barsa-documents.component.mjs +0 -173
- package/esm2022/lib/barsa-geographic-location/barsa-geographic-location.component.mjs +0 -163
- package/esm2022/lib/card-content-image-and-title/card-content-image-and-title.component.mjs +0 -50
- package/esm2022/lib/card-content-line-chart/card-content-line-chart.component.mjs +0 -36
- package/esm2022/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.mjs +0 -19
- package/esm2022/lib/card-header-kpi/card-header-kpi.component.mjs +0 -40
- package/esm2022/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.mjs +0 -45
- package/esm2022/lib/checkbox-button/checkbox-button.component.mjs +0 -23
- package/esm2022/lib/column-chip/column-chip.component.mjs +0 -27
- package/esm2022/lib/column-form-viewer/column-form-viewer.component.mjs +0 -88
- package/esm2022/lib/column-progressbar/column-progressbar.component.mjs +0 -63
- package/esm2022/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.mjs +0 -18
- package/esm2022/lib/footer/footer.component.mjs +0 -43
- package/esm2022/lib/form-card/form-card.component.mjs +0 -17
- package/esm2022/lib/form-chart-content/form-chart-content.component.mjs +0 -36
- package/esm2022/lib/form-content-quick-view/form-content-quick-view.component.mjs +0 -102
- package/esm2022/lib/form-report-view/form-report-view.component.mjs +0 -25
- package/esm2022/lib/form-report-view-item/form-report-view-item.component.mjs +0 -45
- package/esm2022/lib/g4b-details/g4b-details.component.mjs +0 -28
- package/esm2022/lib/g4b-estelam/g4b-estelam.component.mjs +0 -30
- package/esm2022/lib/geographic-location/geographic-location.component.mjs +0 -85
- package/esm2022/lib/login-form/login-form.component.mjs +0 -55
- package/esm2022/lib/login-social-conncetions/login-social-conncetions.component.mjs +0 -30
- package/esm2022/lib/master-detail-card-form/master-detail-card-form.component.mjs +0 -17
- package/esm2022/lib/media-file-uploader/media-file-uploader.component.mjs +0 -238
- package/esm2022/lib/micro-proccess-flow/micro-proccess-flow.component.mjs +0 -52
- package/esm2022/lib/micro-process-flow-view/micro-process-flow-view.component.mjs +0 -24
- package/esm2022/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.mjs +0 -23
- package/esm2022/lib/models/document-item.mjs +0 -2
- package/esm2022/lib/models/documents-setting.mjs +0 -2
- package/esm2022/lib/models/form-report-view-setting.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -8
- package/esm2022/lib/models/micro-process-flow-view-setting.mjs +0 -2
- package/esm2022/lib/models/person.mjs +0 -2
- package/esm2022/lib/models/service-desk-view-of-services-setting.mjs +0 -2
- package/esm2022/lib/models/tab-process-view-setting.mjs +0 -2
- package/esm2022/lib/pipes/datasource-to-flow-item.mjs +0 -22
- package/esm2022/lib/pipes/index.mjs +0 -3
- package/esm2022/lib/pipes/mo-list-to-flow-item.pipe.mjs +0 -22
- package/esm2022/lib/query-string-form-observable/query-string-form-observable.component.mjs +0 -37
- package/esm2022/lib/query-string-observable/query-string-observable.component.mjs +0 -22
- package/esm2022/lib/report-button-view/report-button-view.component.mjs +0 -37
- package/esm2022/lib/report-line-chart-view/report-line-chart-view.component.mjs +0 -12
- package/esm2022/lib/report-tab-view/report-tab-view.component.mjs +0 -27
- package/esm2022/lib/resend-verification-code/resend-verification-code.component.mjs +0 -62
- package/esm2022/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.mjs +0 -28
- package/esm2022/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.mjs +0 -110
- package/esm2022/lib/service-desk-header/service-desk-header.component.mjs +0 -238
- package/esm2022/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.mjs +0 -142
- package/esm2022/lib/service-desk-view-of-services/service-desk-view-of-services.component.mjs +0 -37
- package/esm2022/lib/setting-form/setting-form.component.mjs +0 -64
- package/esm2022/lib/subform-in-row-report/subform-in-row-report.component.mjs +0 -73
- package/esm2022/lib/tab-process-view/tab-process-view.component.mjs +0 -48
- package/esm2022/lib/table-view-vertical-columns/table-view-vertical-columns.component.mjs +0 -16
- package/esm2022/lib/timer-count-down/timer-count-down.component.mjs +0 -104
- package/esm2022/lib/token-report-view/token-report-view.component.mjs +0 -27
- package/esm2022/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.mjs +0 -25
- package/esm2022/lib/ui-num-rate/ui-num-rate.component.mjs +0 -29
- package/esm2022/lib/ui-person/ui-person.component.mjs +0 -160
- package/esm2022/lib/ui-person/ui-person.pipe.mjs +0 -40
- package/esm2022/lib/ui-pictures-carousel/ui-pictures-carousel.component.mjs +0 -17
- package/esm2022/lib/ui-text-field-search/ui-text-field-search.component.mjs +0 -42
- package/esm2022/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.mjs +0 -69
- package/esm2022/public-api.mjs +0 -64
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
|
-
import { takeUntil } from 'rxjs/operators';
|
|
3
|
-
import { ReportViewBaseComponent } from 'barsa-novin-ray-core';
|
|
4
|
-
import { TabListComponent } from '@fundamental-ngx/core';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@fundamental-ngx/core/tabs";
|
|
7
|
-
import * as i2 from "barsa-novin-ray-core";
|
|
8
|
-
export class TabProcessViewComponent extends ReportViewBaseComponent {
|
|
9
|
-
ngOnInit() {
|
|
10
|
-
super.ngOnInit();
|
|
11
|
-
this.arrowRight = this.rtl ? 'navigation-left-arrow' : 'navigation-right-arrow';
|
|
12
|
-
this.fieldTitle = this.viewSetting.FieldTitle;
|
|
13
|
-
this.fieldSubtitle = this.viewSetting.FieldSubtitle;
|
|
14
|
-
this.fieldIcon = this.viewSetting.FieldIcon;
|
|
15
|
-
this.defaultIcon = this.viewSetting.DefaultIcon;
|
|
16
|
-
this._ulvMainService.moDataList$.pipe(takeUntil(this._onDestroy$)).subscribe((moDataList) => {
|
|
17
|
-
if (moDataList) {
|
|
18
|
-
const selectedIndex = moDataList.findIndex((c) => c.$IsChecked);
|
|
19
|
-
if (this.tabList && selectedIndex > -1) {
|
|
20
|
-
setTimeout(() => this.tabList.tabPanels.toArray()[selectedIndex].open(true), 0);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
onTabChange2(e) {
|
|
26
|
-
const index = this.moDataList.findIndex((c) => c.Id === e.Id);
|
|
27
|
-
const mo = this.moDataList[index];
|
|
28
|
-
if (mo.$IsChecked) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
super.onRowCheck({ mo, index });
|
|
32
|
-
}
|
|
33
|
-
onTabChange(e) {
|
|
34
|
-
const index = this.moDataList.findIndex((c) => c.Id === e.id);
|
|
35
|
-
const mo = this.moDataList[index];
|
|
36
|
-
super.onRowCheck({ mo, index });
|
|
37
|
-
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabProcessViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TabProcessViewComponent, selector: "bdc-tab-process-view", viewQueries: [{ propertyName: "tabList", first: true, predicate: TabListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (moDataList?.length) {\r\n<fd-tab-list\r\n mode=\"process\"\r\n [style.min-height]=\"moDataList?.length ? '3.8rem' : null\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n>\r\n @for (item of moDataList; track item; let index = $index; let last = $last) {\r\n <fd-tab [id]=\"item.Id\" [active]=\"item.$IsChecked\">\r\n <ng-template fd-tab-title-template>\r\n <span\r\n (click)=\"onTabChange2(item)\"\r\n fd-tab-icon\r\n [icon]=\"(fieldIcon | rval: item:allColumns) ? (fieldIcon | rval: item:allColumns) : defaultIcon\"\r\n ></span>\r\n <div fd-tab-process (click)=\"onTabChange2(item)\">\r\n <span fd-tab-label>{{ fieldTitle | rval: item:allColumns }}</span>\r\n <span fd-tab-label>{{ fieldSubtitle | rval: item:allColumns }}</span>\r\n </div>\r\n </ng-template>\r\n </fd-tab>\r\n }\r\n</fd-tab-list>\r\n} @else {\r\n<div style=\"min-height: 3.8rem; background-color: var(--sapObjectHeader_Background)\"></div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i1.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i1.TabTitleDirective, selector: "[fdTabTitleTemplate], [fd-tab-title-template]" }, { kind: "component", type: i1.TabIconComponent, selector: "[fd-tab-icon]", inputs: ["class", "icon", "iconFont"] }, { kind: "directive", type: i1.TabLabelDirective, selector: "[fdTabLabel], [fd-tab-label]" }, { kind: "directive", type: i1.TabProcessDirective, selector: "[fdTabProcess], [fd-tab-process]" }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabProcessViewComponent, decorators: [{
|
|
42
|
-
type: Component,
|
|
43
|
-
args: [{ selector: 'bdc-tab-process-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (moDataList?.length) {\r\n<fd-tab-list\r\n mode=\"process\"\r\n [style.min-height]=\"moDataList?.length ? '3.8rem' : null\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n>\r\n @for (item of moDataList; track item; let index = $index; let last = $last) {\r\n <fd-tab [id]=\"item.Id\" [active]=\"item.$IsChecked\">\r\n <ng-template fd-tab-title-template>\r\n <span\r\n (click)=\"onTabChange2(item)\"\r\n fd-tab-icon\r\n [icon]=\"(fieldIcon | rval: item:allColumns) ? (fieldIcon | rval: item:allColumns) : defaultIcon\"\r\n ></span>\r\n <div fd-tab-process (click)=\"onTabChange2(item)\">\r\n <span fd-tab-label>{{ fieldTitle | rval: item:allColumns }}</span>\r\n <span fd-tab-label>{{ fieldSubtitle | rval: item:allColumns }}</span>\r\n </div>\r\n </ng-template>\r\n </fd-tab>\r\n }\r\n</fd-tab-list>\r\n} @else {\r\n<div style=\"min-height: 3.8rem; background-color: var(--sapObjectHeader_Background)\"></div>\r\n}\r\n" }]
|
|
44
|
-
}], propDecorators: { tabList: [{
|
|
45
|
-
type: ViewChild,
|
|
46
|
-
args: [TabListComponent]
|
|
47
|
-
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXByb2Nlc3Mtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi90YWItcHJvY2Vzcy12aWV3L3RhYi1wcm9jZXNzLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdGFiLXByb2Nlc3Mtdmlldy90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLHVCQUF1QixDQUFDOzs7O0FBTzVFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBOEM7SUFVdkYsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQztRQUNoRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEYsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDYixNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDckMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDcEYsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxZQUFZLENBQUMsQ0FBc0I7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFDRCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELFdBQVcsQ0FBQyxDQUFvQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0F0Q1EsdUJBQXVCO21HQUF2Qix1QkFBdUIscUdBQ3JCLGdCQUFnQix1RUNiL0IsNmpDQXlCQTs7NEZEYmEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdsQixPQUFPO3NCQUFuQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBUYWJQcm9jZXNzVmlld1NldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUYWJMaXN0Q29tcG9uZW50LCBUYWJQYW5lbENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtdGFiLXByb2Nlc3MtdmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFiLXByb2Nlc3Mtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFiUHJvY2Vzc1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxUYWJQcm9jZXNzVmlld1NldHRpbmc+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoVGFiTGlzdENvbXBvbmVudCkgdGFiTGlzdDogVGFiTGlzdENvbXBvbmVudDtcclxuICAgIGZpZWxkVGl0bGU6IHN0cmluZztcclxuICAgIGZpZWxkSWNvbjogc3RyaW5nO1xyXG4gICAgZmllbGRTdGF0ZTogc3RyaW5nO1xyXG4gICAgbW9kZTogc3RyaW5nO1xyXG4gICAgYXJyb3dSaWdodDogc3RyaW5nO1xyXG4gICAgZmllbGRTdWJ0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVmYXVsdEljb246IHN0cmluZztcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuYXJyb3dSaWdodCA9IHRoaXMucnRsID8gJ25hdmlnYXRpb24tbGVmdC1hcnJvdycgOiAnbmF2aWdhdGlvbi1yaWdodC1hcnJvdyc7XHJcbiAgICAgICAgdGhpcy5maWVsZFRpdGxlID0gdGhpcy52aWV3U2V0dGluZy5GaWVsZFRpdGxlO1xyXG4gICAgICAgIHRoaXMuZmllbGRTdWJ0aXRsZSA9IHRoaXMudmlld1NldHRpbmcuRmllbGRTdWJ0aXRsZTtcclxuICAgICAgICB0aGlzLmZpZWxkSWNvbiA9IHRoaXMudmlld1NldHRpbmcuRmllbGRJY29uO1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdEljb24gPSB0aGlzLnZpZXdTZXR0aW5nLkRlZmF1bHRJY29uO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm1vRGF0YUxpc3QkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vRGF0YUxpc3QpID0+IHtcclxuICAgICAgICAgICAgaWYgKG1vRGF0YUxpc3QpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSBtb0RhdGFMaXN0LmZpbmRJbmRleCgoYykgPT4gYy4kSXNDaGVja2VkKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhYkxpc3QgJiYgc2VsZWN0ZWRJbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnRhYkxpc3QudGFiUGFuZWxzLnRvQXJyYXkoKVtzZWxlY3RlZEluZGV4XS5vcGVuKHRydWUpLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb25UYWJDaGFuZ2UyKGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubW9EYXRhTGlzdC5maW5kSW5kZXgoKGMpID0+IGMuSWQgPT09IGUuSWQpO1xyXG4gICAgICAgIGNvbnN0IG1vID0gdGhpcy5tb0RhdGFMaXN0W2luZGV4XTtcclxuICAgICAgICBpZiAobW8uJElzQ2hlY2tlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN1cGVyLm9uUm93Q2hlY2soeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcbiAgICBvblRhYkNoYW5nZShlOiBUYWJQYW5lbENvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb0RhdGFMaXN0LmZpbmRJbmRleCgoYykgPT4gYy5JZCA9PT0gZS5pZCk7XHJcbiAgICAgICAgY29uc3QgbW8gPSB0aGlzLm1vRGF0YUxpc3RbaW5kZXhdO1xyXG4gICAgICAgIHN1cGVyLm9uUm93Q2hlY2soeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiQGlmIChtb0RhdGFMaXN0Py5sZW5ndGgpIHtcclxuPGZkLXRhYi1saXN0XHJcbiAgICBtb2RlPVwicHJvY2Vzc1wiXHJcbiAgICBbc3R5bGUubWluLWhlaWdodF09XCJtb0RhdGFMaXN0Py5sZW5ndGggPyAnMy44cmVtJyA6IG51bGxcIlxyXG4gICAgW2V4cGFuZE92ZXJmbG93VGV4dF09XCInTW9yZScgfCBiYmJUcmFuc2xhdGVcIlxyXG4+XHJcbiAgICBAZm9yIChpdGVtIG9mIG1vRGF0YUxpc3Q7IHRyYWNrIGl0ZW07IGxldCBpbmRleCA9ICRpbmRleDsgbGV0IGxhc3QgPSAkbGFzdCkge1xyXG4gICAgPGZkLXRhYiBbaWRdPVwiaXRlbS5JZFwiIFthY3RpdmVdPVwiaXRlbS4kSXNDaGVja2VkXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGZkLXRhYi10aXRsZS10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRhYkNoYW5nZTIoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgZmQtdGFiLWljb25cclxuICAgICAgICAgICAgICAgIFtpY29uXT1cIihmaWVsZEljb24gfCBydmFsOiBpdGVtOmFsbENvbHVtbnMpID8gKGZpZWxkSWNvbiB8IHJ2YWw6IGl0ZW06YWxsQ29sdW1ucykgOiBkZWZhdWx0SWNvblwiXHJcbiAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgZmQtdGFiLXByb2Nlc3MgKGNsaWNrKT1cIm9uVGFiQ2hhbmdlMihpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtdGFiLWxhYmVsPnt7IGZpZWxkVGl0bGUgfCBydmFsOiBpdGVtOmFsbENvbHVtbnMgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC10YWItbGFiZWw+e3sgZmllbGRTdWJ0aXRsZSB8IHJ2YWw6IGl0ZW06YWxsQ29sdW1ucyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZmQtdGFiPlxyXG4gICAgfVxyXG48L2ZkLXRhYi1saXN0PlxyXG59IEBlbHNlIHtcclxuPGRpdiBzdHlsZT1cIm1pbi1oZWlnaHQ6IDMuOHJlbTsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2FwT2JqZWN0SGVhZGVyX0JhY2tncm91bmQpXCI+PC9kaXY+XHJcbn1cclxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { ReportViewBaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "barsa-sap-ui";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/table";
|
|
7
|
-
import * as i4 from "barsa-novin-ray-core";
|
|
8
|
-
export class TableViewVerticalColumnsComponent extends ReportViewBaseComponent {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewVerticalColumnsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TableViewVerticalColumnsComponent, selector: "bdc-table-view-vertical-columns", usesInheritance: true, ngImport: i0, template: "@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index) { @if (mo.$Group) {\r\n<h3>{{ mo.$Group }}</h3>\r\n<ng-container *ngTemplateOutlet=\"tplTable; context: { $implicit: mo.$Children, index: this.index }\"></ng-container>\r\n} }\r\n<ng-template #tplTable let-children let-index=\"index\">\r\n <table fd-table [style.margin-top]=\"index > 0 ? '2rem' : 0\">\r\n <tbody fd-table-body>\r\n @for (column of columns; track column) {\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <strong>{{ column.Alias }}:</strong>\r\n </th>\r\n @for (mo of children; track mo; let index = $index) {\r\n <td\r\n fd-table-cell\r\n #tdEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [dbName]=\"column.Name\"\r\n >\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"false\"\r\n [isChecked]=\"false\"\r\n [isNewInlineMo]=\"false\"\r\n [index]=\"index\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [formLayoutShowLabel]=\"false\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bsu-column-renderer>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ColumnRendererComponent, selector: "bsu-column-renderer,[colRenderer]", inputs: ["column", "mo", "index", "editMode", "customRowHeight", "controlUi", "formLayoutShowLabel", "isChecked", "isNewInlineMo", "containerDom", "disableEllapsis", "rtl", "isMobile", "fdTextMode", "deviceName", "deviceSize", "value", "icon"] }, { kind: "directive", type: i2.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "component", type: i3.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "noOuterBorder", "topBorder", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i3.TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i3.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i3.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "pipe", type: i4.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i4.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i4.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewVerticalColumnsComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ selector: 'bdc-table-view-vertical-columns', changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index) { @if (mo.$Group) {\r\n<h3>{{ mo.$Group }}</h3>\r\n<ng-container *ngTemplateOutlet=\"tplTable; context: { $implicit: mo.$Children, index: this.index }\"></ng-container>\r\n} }\r\n<ng-template #tplTable let-children let-index=\"index\">\r\n <table fd-table [style.margin-top]=\"index > 0 ? '2rem' : 0\">\r\n <tbody fd-table-body>\r\n @for (column of columns; track column) {\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <strong>{{ column.Alias }}:</strong>\r\n </th>\r\n @for (mo of children; track mo; let index = $index) {\r\n <td\r\n fd-table-cell\r\n #tdEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [dbName]=\"column.Name\"\r\n >\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"false\"\r\n [isChecked]=\"false\"\r\n [isNewInlineMo]=\"false\"\r\n [index]=\"index\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [formLayoutShowLabel]=\"false\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bsu-column-renderer>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n</ng-template>\r\n" }]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlldy12ZXJ0aWNhbC1jb2x1bW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlLXZpZXctdmVydGljYWwtY29sdW1ucy90YWJsZS12aWV3LXZlcnRpY2FsLWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdGFibGUtdmlldy12ZXJ0aWNhbC1jb2x1bW5zL3RhYmxlLXZpZXctdmVydGljYWwtY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBUXhGLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSx1QkFBZ0Q7K0dBQTFGLGlDQUFpQzttR0FBakMsaUNBQWlDLDhGQ1Q5Qyx5MkRBMENBOzs0RkRqQ2EsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNJLGlDQUFpQyxtQkFHMUIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQsIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy10YWJsZS12aWV3LXZlcnRpY2FsLWNvbHVtbnMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXZpZXctdmVydGljYWwtY29sdW1ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90YWJsZS12aWV3LXZlcnRpY2FsLWNvbHVtbnMuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVZpZXdWZXJ0aWNhbENvbHVtbnNDb21wb25lbnQgZXh0ZW5kcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4ge31cclxuIiwiQGZvciAobW8gb2YgbW9EYXRhTGlzdCB8IG11bHRpcGxlR3JvdXBCeTogZ3JvdXBieTsgdHJhY2sgbW87IGxldCBpbmRleCA9ICRpbmRleCkgeyBAaWYgKG1vLiRHcm91cCkge1xyXG48aDM+e3sgbW8uJEdyb3VwIH19PC9oMz5cclxuPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRwbFRhYmxlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbW8uJENoaWxkcmVuLCBpbmRleDogdGhpcy5pbmRleCB9XCI+PC9uZy1jb250YWluZXI+XHJcbn0gfVxyXG48bmctdGVtcGxhdGUgI3RwbFRhYmxlIGxldC1jaGlsZHJlbiBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgPHRhYmxlIGZkLXRhYmxlIFtzdHlsZS5tYXJnaW4tdG9wXT1cImluZGV4ID4gMCA/ICcycmVtJyA6IDBcIj5cclxuICAgICAgICA8dGJvZHkgZmQtdGFibGUtYm9keT5cclxuICAgICAgICAgICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrIGNvbHVtbikge1xyXG4gICAgICAgICAgICA8dHIgZmQtdGFibGUtcm93PlxyXG4gICAgICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBjb2x1bW4uQWxpYXMgfX06PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgQGZvciAobW8gb2YgY2hpbGRyZW47IHRyYWNrIG1vOyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICAgICAgICAgIGZkLXRhYmxlLWNlbGxcclxuICAgICAgICAgICAgICAgICAgICAjdGRFbFxyXG4gICAgICAgICAgICAgICAgICAgIFthcHBseUNvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtob3N0RWxdPVwidGRFbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlSW5kZXhdPVwibW8uJFN0eWxlSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkYk5hbWVdPVwiY29sdW1uLk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxic3UtY29sdW1uLXJlbmRlcmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttb109XCJtb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbHVtbiB8IGNvbHVtblZhbHVlOiBtbyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImNvbHVtbiB8IGNvbHVtbkljb246IG1vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRNb2RlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc05ld0lubGluZU1vXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3J0bF09XCJydGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1MYXlvdXRTaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9ic3UtY29sdW1uLXJlbmRlcmVyPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { DateService, FieldBaseComponent, getDateService, LogService } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TimerCountDownComponent extends FieldBaseComponent {
|
|
5
|
-
ngOnInit() {
|
|
6
|
-
super.ngOnInit();
|
|
7
|
-
this._setCountDown(this.value);
|
|
8
|
-
}
|
|
9
|
-
ngOnDestroy() {
|
|
10
|
-
super.ngOnDestroy();
|
|
11
|
-
if (this._interval) {
|
|
12
|
-
clearInterval(this._interval);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
_setValue(value) {
|
|
16
|
-
super._setValue(value);
|
|
17
|
-
this._setCountDown(value);
|
|
18
|
-
}
|
|
19
|
-
_setCountDown(value) {
|
|
20
|
-
const keysInValue = Object.keys(value);
|
|
21
|
-
let _tempValue = value;
|
|
22
|
-
if (keysInValue.length) {
|
|
23
|
-
const findKeyDate = keysInValue.find((c) => !isNaN(Date.parse(value[c])));
|
|
24
|
-
if (findKeyDate) {
|
|
25
|
-
_tempValue = new Date(value[findKeyDate]);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
const exp = this._dateService.getMoment(_tempValue);
|
|
29
|
-
if (this._interval) {
|
|
30
|
-
clearInterval(this._interval);
|
|
31
|
-
this._interval = null;
|
|
32
|
-
}
|
|
33
|
-
this._interval = setInterval(() => {
|
|
34
|
-
const now = this._dateService.getMoment(new Date());
|
|
35
|
-
const diffDuration = this._dateService.duration(exp.diff(now));
|
|
36
|
-
const month = diffDuration.months();
|
|
37
|
-
const days = diffDuration.days();
|
|
38
|
-
const hours = diffDuration.hours().toLocaleString('en-US', {
|
|
39
|
-
minimumIntegerDigits: 2,
|
|
40
|
-
useGrouping: false
|
|
41
|
-
});
|
|
42
|
-
const minutes = diffDuration.minutes().toLocaleString('en-US', {
|
|
43
|
-
minimumIntegerDigits: 2,
|
|
44
|
-
useGrouping: false
|
|
45
|
-
});
|
|
46
|
-
const seconds = diffDuration.seconds().toLocaleString('en-US', {
|
|
47
|
-
minimumIntegerDigits: 2,
|
|
48
|
-
useGrouping: false
|
|
49
|
-
});
|
|
50
|
-
this.countDownText = `
|
|
51
|
-
${this._getMonthText(month)}
|
|
52
|
-
${this._daysText(days)}
|
|
53
|
-
${this._getTimeText(hours, minutes, seconds)}`;
|
|
54
|
-
this._cdr.detectChanges();
|
|
55
|
-
}, 1000);
|
|
56
|
-
}
|
|
57
|
-
_getMonthText(month) {
|
|
58
|
-
return month > 0 ? `${month} ماه` : '';
|
|
59
|
-
}
|
|
60
|
-
_daysText(days) {
|
|
61
|
-
return days > 0 ? `${days} روز` : '';
|
|
62
|
-
}
|
|
63
|
-
_getTimeText(hours, minutes, seconds) {
|
|
64
|
-
if (hours < 0 || minutes < 0 || seconds < 0) {
|
|
65
|
-
if (this.parameters?.ExpireViewMode) {
|
|
66
|
-
switch (this.parameters.ExpireViewMode) {
|
|
67
|
-
case 1:
|
|
68
|
-
return `00:00:00`;
|
|
69
|
-
break;
|
|
70
|
-
case 2:
|
|
71
|
-
return `پایان یافته`;
|
|
72
|
-
break;
|
|
73
|
-
case 3:
|
|
74
|
-
return '';
|
|
75
|
-
break;
|
|
76
|
-
case 4: // نمایش زمان گذشته
|
|
77
|
-
return `${hours}:${minutes}:${seconds}`;
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return `00:00:00`;
|
|
82
|
-
}
|
|
83
|
-
return `${hours}:${minutes}:${seconds}`;
|
|
84
|
-
}
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimerCountDownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TimerCountDownComponent, selector: "bdc-timer-count-down", providers: [
|
|
87
|
-
{
|
|
88
|
-
provide: DateService,
|
|
89
|
-
useFactory: getDateService,
|
|
90
|
-
deps: [LogService]
|
|
91
|
-
}
|
|
92
|
-
], usesInheritance: true, ngImport: i0, template: "<span>{{ countDownText }}</span>\r\n", styles: [":host{display:block;width:110px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
93
|
-
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimerCountDownComponent, decorators: [{
|
|
95
|
-
type: Component,
|
|
96
|
-
args: [{ selector: 'bdc-timer-count-down', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
97
|
-
{
|
|
98
|
-
provide: DateService,
|
|
99
|
-
useFactory: getDateService,
|
|
100
|
-
deps: [LogService]
|
|
101
|
-
}
|
|
102
|
-
], template: "<span>{{ countDownText }}</span>\r\n", styles: [":host{display:block;width:110px}\n"] }]
|
|
103
|
-
}] });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItY291bnQtZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lci1jb3VudC1kb3duL3RpbWVyLWNvdW50LWRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdGltZXItY291bnQtZG93bi90aW1lci1jb3VudC1kb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBZW5HLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFHM0QsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDTCxDQUFDO0lBQ1MsU0FBUyxDQUFDLEtBQVU7UUFDMUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDUyxhQUFhLENBQUMsS0FBMEI7UUFDOUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFL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QUksQ0FBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLENBQUM7Z0JBQ2xDLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDckMsS0FBSyxDQUFDO3dCQUNGLE9BQU8sVUFBVSxDQUFDO3dCQUNsQixNQUFNO29CQUNWLEtBQUssQ0FBQzt3QkFDRixPQUFPLGFBQWEsQ0FBQzt3QkFDckIsTUFBTTtvQkFDVixLQUFLLENBQUM7d0JBQ0YsT0FBTyxFQUFFLENBQUM7d0JBQ1YsTUFBTTtvQkFDVixLQUFLLENBQUMsRUFBRSxtQkFBbUI7d0JBQ3ZCLE9BQU8sR0FBRyxLQUFLLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO3dCQUN4QyxNQUFNO2dCQUNkLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQztRQUNELE9BQU8sR0FBRyxLQUFLLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzVDLENBQUM7K0dBbEZRLHVCQUF1QjttR0FBdkIsdUJBQXVCLCtDQVJyQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixVQUFVLEVBQUUsY0FBYztnQkFDMUIsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO2FBQ3JCO1NBQ0osaURDZEwsc0NBQ0E7OzRGRGVhLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsVUFBVSxFQUFFLGNBQWM7NEJBQzFCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQzt5QkFDckI7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVTZXJ2aWNlLCBGaWVsZEJhc2VDb21wb25lbnQsIGdldERhdGVTZXJ2aWNlLCBMb2dTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JkYy10aW1lci1jb3VudC1kb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGltZXItY291bnQtZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGltZXItY291bnQtZG93bi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEYXRlU2VydmljZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGdldERhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgZGVwczogW0xvZ1NlcnZpY2VdXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVyQ291bnREb3duQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb3VudERvd25UZXh0OiBzdHJpbmc7XG4gICAgX2ludGVydmFsOiBhbnk7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX3NldENvdW50RG93bih0aGlzLnZhbHVlKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIGlmICh0aGlzLl9pbnRlcnZhbCkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX3NldENvdW50RG93bih2YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0Q291bnREb3duKHZhbHVlOiBzdHJpbmcgfCBEYXRlIHwgYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGtleXNJblZhbHVlID0gT2JqZWN0LmtleXModmFsdWUpO1xuICAgICAgICBsZXQgX3RlbXBWYWx1ZSA9IHZhbHVlO1xuICAgICAgICBpZiAoa2V5c0luVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBmaW5kS2V5RGF0ZSA9IGtleXNJblZhbHVlLmZpbmQoKGMpID0+ICFpc05hTihEYXRlLnBhcnNlKHZhbHVlW2NdKSkpO1xuICAgICAgICAgICAgaWYgKGZpbmRLZXlEYXRlKSB7XG4gICAgICAgICAgICAgICAgX3RlbXBWYWx1ZSA9IG5ldyBEYXRlKHZhbHVlW2ZpbmRLZXlEYXRlXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXhwID0gdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0TW9tZW50KF90ZW1wVmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5faW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpO1xuICAgICAgICAgICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2ludGVydmFsID0gc2V0SW50ZXJ2YWwoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm93ID0gdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0TW9tZW50KG5ldyBEYXRlKCkpO1xuICAgICAgICAgICAgY29uc3QgZGlmZkR1cmF0aW9uID0gdGhpcy5fZGF0ZVNlcnZpY2UuZHVyYXRpb24oZXhwLmRpZmYobm93KSk7XG4gICAgICAgICAgICBjb25zdCBtb250aCA9IGRpZmZEdXJhdGlvbi5tb250aHMoKTtcbiAgICAgICAgICAgIGNvbnN0IGRheXMgPSBkaWZmRHVyYXRpb24uZGF5cygpO1xuICAgICAgICAgICAgY29uc3QgaG91cnMgPSBkaWZmRHVyYXRpb24uaG91cnMoKS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XG4gICAgICAgICAgICAgICAgbWluaW11bUludGVnZXJEaWdpdHM6IDIsXG4gICAgICAgICAgICAgICAgdXNlR3JvdXBpbmc6IGZhbHNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBkaWZmRHVyYXRpb24ubWludXRlcygpLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcbiAgICAgICAgICAgICAgICBtaW5pbXVtSW50ZWdlckRpZ2l0czogMixcbiAgICAgICAgICAgICAgICB1c2VHcm91cGluZzogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3Qgc2Vjb25kcyA9IGRpZmZEdXJhdGlvbi5zZWNvbmRzKCkudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xuICAgICAgICAgICAgICAgIG1pbmltdW1JbnRlZ2VyRGlnaXRzOiAyLFxuICAgICAgICAgICAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNvdW50RG93blRleHQgPSBgXG4gICAgICAgICAgICAke3RoaXMuX2dldE1vbnRoVGV4dChtb250aCl9IFxuICAgICAgICAgICAgJHt0aGlzLl9kYXlzVGV4dChkYXlzKX0gXG4gICAgICAgICAgICAke3RoaXMuX2dldFRpbWVUZXh0KGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKX1gO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSwgMTAwMCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2dldE1vbnRoVGV4dChtb250aCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBtb250aCA+IDAgPyBgJHttb250aH0g2YXYp9mHYCA6ICcnO1xuICAgIH1cbiAgICBwcml2YXRlIF9kYXlzVGV4dChkYXlzKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGRheXMgPiAwID8gYCR7ZGF5c30g2LHZiNiyYCA6ICcnO1xuICAgIH1cbiAgICBwcml2YXRlIF9nZXRUaW1lVGV4dChob3VycywgbWludXRlcywgc2Vjb25kcyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChob3VycyA8IDAgfHwgbWludXRlcyA8IDAgfHwgc2Vjb25kcyA8IDApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnM/LkV4cGlyZVZpZXdNb2RlKSB7XG4gICAgICAgICAgICAgICAgc3dpdGNoICh0aGlzLnBhcmFtZXRlcnMuRXhwaXJlVmlld01vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAwMDowMDowMGA7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGDZvtin24zYp9mGINuM2KfZgdiq2YdgO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IC8vINmG2YXYp9uM2LQg2LLZhdin2YYg2q/YsNi02KrZh1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2hvdXJzfToke21pbnV0ZXN9OiR7c2Vjb25kc31gO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGAwMDowMDowMGA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke2hvdXJzfToke21pbnV0ZXN9OiR7c2Vjb25kc31gO1xuICAgIH1cbn1cbiIsIjxzcGFuPnt7IGNvdW50RG93blRleHQgfX08L3NwYW4+XHJcbiJdfQ==
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { ReportViewBaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/content-density";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/token";
|
|
7
|
-
import * as i4 from "barsa-novin-ray-core";
|
|
8
|
-
export class TokenReportViewComponent extends ReportViewBaseComponent {
|
|
9
|
-
ngOnInit() {
|
|
10
|
-
super.ngOnInit();
|
|
11
|
-
}
|
|
12
|
-
onRemoveItem(mo, index) {
|
|
13
|
-
this.rowCheck.emit({ mo, index });
|
|
14
|
-
let itemId = 'RemoveFromList';
|
|
15
|
-
if (this.viewSetting?.DeleteAction === '1') {
|
|
16
|
-
itemId = 'Delete';
|
|
17
|
-
}
|
|
18
|
-
this.executeToolbarButton.emit({ itemId });
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenReportViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TokenReportViewComponent, selector: "bdc-token-report-view", usesInheritance: true, ngImport: i0, template: "@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index; let last = $last) { @if (!mo.parent ||\r\nmo.parent?.expanded) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n last: last,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n></ng-container>\r\n} }\r\n<ng-template\r\n #itemTemplate\r\n let-mo\r\n let-index=\"index\"\r\n let-last=\"last\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n>\r\n <fd-token fdCozy (onCloseClick)=\"onRemoveItem(mo, index)\" [readOnly]=\"false\">{{\r\n columns[0].Caption | rval: mo:columns:true\r\n }}</fd-token>\r\n</ng-template>\r\n", styles: [":host{display:flex;column-gap:5px;flex-wrap:wrap;row-gap:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i3.TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "pipe", type: i4.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i4.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenReportViewComponent, decorators: [{
|
|
24
|
-
type: Component,
|
|
25
|
-
args: [{ selector: 'bdc-token-report-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index; let last = $last) { @if (!mo.parent ||\r\nmo.parent?.expanded) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n last: last,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n></ng-container>\r\n} }\r\n<ng-template\r\n #itemTemplate\r\n let-mo\r\n let-index=\"index\"\r\n let-last=\"last\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n>\r\n <fd-token fdCozy (onCloseClick)=\"onRemoveItem(mo, index)\" [readOnly]=\"false\">{{\r\n columns[0].Caption | rval: mo:columns:true\r\n }}</fd-token>\r\n</ng-template>\r\n", styles: [":host{display:flex;column-gap:5px;flex-wrap:wrap;row-gap:5px}\n"] }]
|
|
26
|
-
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tcmVwb3J0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdG9rZW4tcmVwb3J0LXZpZXcvdG9rZW4tcmVwb3J0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdG9rZW4tcmVwb3J0LXZpZXcvdG9rZW4tcmVwb3J0LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVNwRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsdUJBQW9EO0lBTzlGLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELFlBQVksQ0FBQyxFQUF1QixFQUFFLEtBQWE7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDdEIsQ0FBQztRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7K0dBbEJRLHdCQUF3QjttR0FBeEIsd0JBQXdCLG9GQ1ZyQyw0NEJBNkJBOzs0RkRuQmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsLCBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbmltcG9ydCB7IE1pY3JvUHJvY2Vzc0Zsb3dWaWV3U2V0dGluZyB9IGZyb20gJy4uL21vZGVscyc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtdG9rZW4tcmVwb3J0LXZpZXcnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rva2VuLXJlcG9ydC12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Rva2VuLXJlcG9ydC12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9rZW5SZXBvcnRWaWV3Q29tcG9uZW50IGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8TWljcm9Qcm9jZXNzRmxvd1ZpZXdTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBmaWVsZFRpdGxlOiBzdHJpbmc7XHJcbiAgICBmaWVsZEljb246IHN0cmluZztcclxuICAgIGZpZWxkU3RhdGU6IHN0cmluZztcclxuICAgIG1vZGU6IHN0cmluZztcclxuICAgIGFycm93UmlnaHQ6IHN0cmluZztcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG4gICAgb25SZW1vdmVJdGVtKG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yb3dDaGVjay5lbWl0KHsgbW8sIGluZGV4IH0pO1xyXG4gICAgICAgIGxldCBpdGVtSWQgPSAnUmVtb3ZlRnJvbUxpc3QnO1xyXG4gICAgICAgIGlmICh0aGlzLnZpZXdTZXR0aW5nPy5EZWxldGVBY3Rpb24gPT09ICcxJykge1xyXG4gICAgICAgICAgICBpdGVtSWQgPSAnRGVsZXRlJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZXhlY3V0ZVRvb2xiYXJCdXR0b24uZW1pdCh7IGl0ZW1JZCB9KTtcclxuICAgIH1cclxufVxyXG4iLCJAZm9yIChtbyBvZiBtb0RhdGFMaXN0IHwgbXVsdGlwbGVHcm91cEJ5OiBncm91cGJ5OyB0cmFjayBtbzsgbGV0IGluZGV4ID0gJGluZGV4OyBsZXQgbGFzdCA9ICRsYXN0KSB7IEBpZiAoIW1vLnBhcmVudCB8fFxyXG5tby5wYXJlbnQ/LmV4cGFuZGVkKSB7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgaXRlbVRlbXBsYXRlO1xyXG4gICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgJGltcGxpY2l0OiBtbyxcclxuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgICAgICBsYXN0OiBsYXN0LFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLFxyXG4gICAgICAgICAgICBtb0RhdGFMaXN0OiBtb0RhdGFMaXN0LFxyXG4gICAgICAgICAgICBtb0RhdGFMaXN0Q291bnQ6IG1vRGF0YUxpc3QubGVuZ3RoXHJcbiAgICAgICAgfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG59IH1cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjaXRlbVRlbXBsYXRlXHJcbiAgICBsZXQtbW9cclxuICAgIGxldC1pbmRleD1cImluZGV4XCJcclxuICAgIGxldC1sYXN0PVwibGFzdFwiXHJcbiAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxyXG4gICAgbGV0LW1vRGF0YUxpc3RDb3VudD1cIm1vRGF0YUxpc3RDb3VudFwiXHJcbiAgICBsZXQtbW9EYXRhTGlzdD1cIm1vRGF0YUxpc3RcIlxyXG4+XHJcbiAgICA8ZmQtdG9rZW4gZmRDb3p5IChvbkNsb3NlQ2xpY2spPVwib25SZW1vdmVJdGVtKG1vLCBpbmRleClcIiBbcmVhZE9ubHldPVwiZmFsc2VcIj57e1xyXG4gICAgICAgIGNvbHVtbnNbMF0uQ2FwdGlvbiB8IHJ2YWw6IG1vOmNvbHVtbnM6dHJ1ZVxyXG4gICAgfX08L2ZkLXRva2VuPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { FieldBaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/button";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/segmented-button";
|
|
7
|
-
import * as i4 from "@angular/common";
|
|
8
|
-
export class UiEnumSegmentedButtonComponent extends FieldBaseComponent {
|
|
9
|
-
onValueChange(value) {
|
|
10
|
-
const selectedValue = value;
|
|
11
|
-
this.setValue(selectedValue);
|
|
12
|
-
}
|
|
13
|
-
setValue(selectedValue) {
|
|
14
|
-
this.value = selectedValue;
|
|
15
|
-
this.valueChange.emit(this.value);
|
|
16
|
-
this.fireContextEvent('select', this.value);
|
|
17
|
-
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiEnumSegmentedButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiEnumSegmentedButtonComponent, selector: "bdc-ui-enum-segmented-button", usesInheritance: true, ngImport: i0, template: "<fd-segmented-button style=\"width: 100%\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\r\n @for (item of context.store.data[context.store.root]; track item) { @if (item.id !== '0') {\r\n <button\r\n [disabled]=\"(disableOrReadonly$ | async) === true ? true : false\"\r\n fd-button\r\n [label]=\"item.txt\"\r\n [value]=\"item.id\"\r\n ></button>\r\n } }\r\n</fd-segmented-button>\r\n", styles: ["button{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.SegmentedButtonComponent, selector: "fd-segmented-button", inputs: ["toggle", "vertical"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiEnumSegmentedButtonComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'bdc-ui-enum-segmented-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-segmented-button style=\"width: 100%\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\r\n @for (item of context.store.data[context.store.root]; track item) { @if (item.id !== '0') {\r\n <button\r\n [disabled]=\"(disableOrReadonly$ | async) === true ? true : false\"\r\n fd-button\r\n [label]=\"item.txt\"\r\n [value]=\"item.id\"\r\n ></button>\r\n } }\r\n</fd-segmented-button>\r\n", styles: ["button{width:100%}\n"] }]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZW51bS1zZWdtZW50ZWQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3VpLWVudW0tc2VnbWVudGVkLWJ1dHRvbi91aS1lbnVtLXNlZ21lbnRlZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdWktZW51bS1zZWdtZW50ZWQtYnV0dG9uL3VpLWVudW0tc2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFPMUQsTUFBTSxPQUFPLDhCQUErQixTQUFRLGtCQUFrQjtJQUdsRSxhQUFhLENBQUMsS0FBSztRQUNmLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFUyxRQUFRLENBQUMsYUFBa0I7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7K0dBWlEsOEJBQThCO21HQUE5Qiw4QkFBOEIsMkZDVDNDLDZiQVVBOzs0RkREYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0ksOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmRjLXVpLWVudW0tc2VnbWVudGVkLWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZW51bS1zZWdtZW50ZWQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLWVudW0tc2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpRW51bVNlZ21lbnRlZEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCB7XHJcbiAgICBjYXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNldFZhbHVlKHNlbGVjdGVkVmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBzZXRWYWx1ZShzZWxlY3RlZFZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWRWYWx1ZTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5maXJlQ29udGV4dEV2ZW50KCdzZWxlY3QnLCB0aGlzLnZhbHVlKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZmQtc2VnbWVudGVkLWJ1dHRvbiBzdHlsZT1cIndpZHRoOiAxMDAlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgQGZvciAoaXRlbSBvZiBjb250ZXh0LnN0b3JlLmRhdGFbY29udGV4dC5zdG9yZS5yb290XTsgdHJhY2sgaXRlbSkgeyBAaWYgKGl0ZW0uaWQgIT09ICcwJykge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlXCJcclxuICAgICAgICBmZC1idXR0b25cclxuICAgICAgICBbbGFiZWxdPVwiaXRlbS50eHRcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJpdGVtLmlkXCJcclxuICAgID48L2J1dHRvbj5cclxuICAgIH0gfVxyXG48L2ZkLXNlZ21lbnRlZC1idXR0b24+XHJcbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { FieldBaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@fundamental-ngx/core/rating-indicator";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
export class UiNumRateComponent extends FieldBaseComponent {
|
|
7
|
-
onRatingChanged(val) {
|
|
8
|
-
this.value = val;
|
|
9
|
-
this.valueChange.emit(this.value);
|
|
10
|
-
}
|
|
11
|
-
_setValue(val) {
|
|
12
|
-
if (typeof val === 'string') {
|
|
13
|
-
if (isNaN(+val[0])) {
|
|
14
|
-
val = val.substring(1, val.length);
|
|
15
|
-
}
|
|
16
|
-
if (isNaN(+val)) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
super._setValue(val);
|
|
21
|
-
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiNumRateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiNumRateComponent, selector: "bdc-ui-num-rate", usesInheritance: true, ngImport: i0, template: "<fd-rating-indicator\r\n [ariaLabel]=\"Setting.NullText || ''\"\r\n [size]=\"parameters?.SizeValue$Caption\"\r\n [value]=\"value\"\r\n [disabled]=\"(disableOrReadonly$ | async) === true\"\r\n [displayMode]=\"parameters?.DisplayMode\"\r\n [dynamicTextIndicator]=\"parameters?.TextIndicator\"\r\n (ratingChanged)=\"onRatingChanged($event)\"\r\n></fd-rating-indicator>\r\n", styles: [":host{display:flex}\n"], dependencies: [{ kind: "component", type: i1.RatingIndicatorComponent, selector: "fd-rating-indicator", inputs: ["class", "name", "ariaLabel", "ariaLabelledBy", "disabled", "displayMode", "nonInteractive", "indicatorCapacity", "allowHalves", "value", "totalRatings", "ratingAverage", "ratings", "displayAllRatings", "ratedIcon", "unratedIcon", "size", "dynamicTextIndicator"], outputs: ["ratingChanged"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiNumRateComponent, decorators: [{
|
|
26
|
-
type: Component,
|
|
27
|
-
args: [{ selector: 'bdc-ui-num-rate', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-rating-indicator\r\n [ariaLabel]=\"Setting.NullText || ''\"\r\n [size]=\"parameters?.SizeValue$Caption\"\r\n [value]=\"value\"\r\n [disabled]=\"(disableOrReadonly$ | async) === true\"\r\n [displayMode]=\"parameters?.DisplayMode\"\r\n [dynamicTextIndicator]=\"parameters?.TextIndicator\"\r\n (ratingChanged)=\"onRatingChanged($event)\"\r\n></fd-rating-indicator>\r\n", styles: [":host{display:flex}\n"] }]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbnVtLXJhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdWktbnVtLXJhdGUvdWktbnVtLXJhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdWktbnVtLXJhdGUvdWktbnVtLXJhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVExRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQWtCO0lBQ3RELGVBQWUsQ0FBQyxHQUFXO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVE7UUFDZCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFCLElBQUksS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QyxDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNkLE9BQU87WUFDWCxDQUFDO1FBQ0wsQ0FBQztRQUNELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQzsrR0FmUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw4RUNUL0Isd1lBU0E7OzRGREFhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDSSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmRjLXVpLW51bS1yYXRlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1udW0tcmF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1udW0tcmF0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpTnVtUmF0ZUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBvblJhdGluZ0NoYW5nZWQodmFsOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICAgIF9zZXRWYWx1ZSh2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBpZiAoaXNOYU4oK3ZhbFswXSkpIHtcclxuICAgICAgICAgICAgICAgIHZhbCA9IHZhbC5zdWJzdHJpbmcoMSwgdmFsLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGlzTmFOKCt2YWwpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLXJhdGluZy1pbmRpY2F0b3JcclxuICAgIFthcmlhTGFiZWxdPVwiU2V0dGluZy5OdWxsVGV4dCB8fCAnJ1wiXHJcbiAgICBbc2l6ZV09XCJwYXJhbWV0ZXJzPy5TaXplVmFsdWUkQ2FwdGlvblwiXHJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW2Rpc3BsYXlNb2RlXT1cInBhcmFtZXRlcnM/LkRpc3BsYXlNb2RlXCJcclxuICAgIFtkeW5hbWljVGV4dEluZGljYXRvcl09XCJwYXJhbWV0ZXJzPy5UZXh0SW5kaWNhdG9yXCJcclxuICAgIChyYXRpbmdDaGFuZ2VkKT1cIm9uUmF0aW5nQ2hhbmdlZCgkZXZlbnQpXCJcclxuPjwvZmQtcmF0aW5nLWluZGljYXRvcj5cclxuIl19
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { PopoverBodyComponent } from '@fundamental-ngx/core';
|
|
4
|
-
import { FieldBaseComponent } from 'barsa-novin-ray-core';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "@fundamental-ngx/core/bar";
|
|
8
|
-
import * as i3 from "@fundamental-ngx/core/link";
|
|
9
|
-
import * as i4 from "@fundamental-ngx/core/button";
|
|
10
|
-
import * as i5 from "@fundamental-ngx/core/card";
|
|
11
|
-
import * as i6 from "@fundamental-ngx/core/form";
|
|
12
|
-
import * as i7 from "@fundamental-ngx/core/icon";
|
|
13
|
-
import * as i8 from "@fundamental-ngx/core/list";
|
|
14
|
-
import * as i9 from "@fundamental-ngx/core/dialog";
|
|
15
|
-
import * as i10 from "@fundamental-ngx/cdk/utils";
|
|
16
|
-
import * as i11 from "@fundamental-ngx/core/title";
|
|
17
|
-
import * as i12 from "@fundamental-ngx/core/popover";
|
|
18
|
-
import * as i13 from "@fundamental-ngx/core/quick-view";
|
|
19
|
-
import * as i14 from "@fundamental-ngx/core/table";
|
|
20
|
-
import * as i15 from "@angular/common";
|
|
21
|
-
import * as i16 from "./ui-person.pipe";
|
|
22
|
-
export class UiPersonComponent extends FieldBaseComponent {
|
|
23
|
-
constructor() {
|
|
24
|
-
super(...arguments);
|
|
25
|
-
this.searchResult = [];
|
|
26
|
-
this.personCollection = [
|
|
27
|
-
{
|
|
28
|
-
Id: 1,
|
|
29
|
-
FirstName: 'zahra',
|
|
30
|
-
LastName: 'darbandy',
|
|
31
|
-
FatherName: 'ali',
|
|
32
|
-
Birthplace: 'yazd',
|
|
33
|
-
NationalCode: '123456789'
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
Id: 2,
|
|
37
|
-
FirstName: 'ali',
|
|
38
|
-
LastName: 'kafdary',
|
|
39
|
-
FatherName: 'reza',
|
|
40
|
-
Birthplace: 'shiraz',
|
|
41
|
-
NationalCode: '754123659'
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
Id: 3,
|
|
45
|
-
FirstName: 'sara',
|
|
46
|
-
LastName: 'rezaee',
|
|
47
|
-
FatherName: 'ali',
|
|
48
|
-
Birthplace: 'tehran',
|
|
49
|
-
NationalCode: '123456789'
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
Id: 4,
|
|
53
|
-
FirstName: 'علی',
|
|
54
|
-
LastName: 'خزایی',
|
|
55
|
-
FatherName: 'کمال',
|
|
56
|
-
Birthplace: 'اصفهان',
|
|
57
|
-
NationalCode: '452145698'
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
Id: 5,
|
|
61
|
-
FirstName: 'vahid',
|
|
62
|
-
LastName: 'alipor',
|
|
63
|
-
FatherName: 'ali',
|
|
64
|
-
Birthplace: 'shiraz',
|
|
65
|
-
NationalCode: '756982456'
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
Id: 6,
|
|
69
|
-
FirstName: 'mohammad',
|
|
70
|
-
LastName: 'kamali',
|
|
71
|
-
FatherName: 'vahid',
|
|
72
|
-
Birthplace: 'ahvaz',
|
|
73
|
-
NationalCode: '32165897'
|
|
74
|
-
}
|
|
75
|
-
];
|
|
76
|
-
this.onClose$ = new Subject();
|
|
77
|
-
}
|
|
78
|
-
ngOnInit() {
|
|
79
|
-
super.ngOnInit();
|
|
80
|
-
this.value = {
|
|
81
|
-
Id: 5,
|
|
82
|
-
FirstName: 'وحید',
|
|
83
|
-
LastName: 'علیپور',
|
|
84
|
-
FatherName: 'علی',
|
|
85
|
-
Birthplace: 'شیراز',
|
|
86
|
-
NationalCode: '756982456',
|
|
87
|
-
Mobile: '09175623898'
|
|
88
|
-
};
|
|
89
|
-
this.onClose$.pipe().subscribe(() => {
|
|
90
|
-
// console.log('closed');
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
ngAfterViewInit() {
|
|
94
|
-
super.ngAfterViewInit();
|
|
95
|
-
this.onClose$ = this.popoverBodyDom.onClose;
|
|
96
|
-
}
|
|
97
|
-
filter() {
|
|
98
|
-
this.searchResult = this.personCollection.filter((person) => person.FirstName.toLowerCase().includes(this.filterItems?.FirstName.toLowerCase() || '') &&
|
|
99
|
-
person.LastName.toLowerCase().includes(this.filterItems?.LastName.toLowerCase() || '') &&
|
|
100
|
-
person.NationalCode.toString().includes(this.filterItems?.NationalCode.toString() || ''));
|
|
101
|
-
}
|
|
102
|
-
select(person) {
|
|
103
|
-
this.selectedPerson = person;
|
|
104
|
-
}
|
|
105
|
-
confirm() {
|
|
106
|
-
this.value = this.selectedPerson ?? this.value;
|
|
107
|
-
this.valueChange.emit(this.value);
|
|
108
|
-
this.close();
|
|
109
|
-
}
|
|
110
|
-
close() {
|
|
111
|
-
this.dialogRef.close();
|
|
112
|
-
this.selectedPerson = null;
|
|
113
|
-
}
|
|
114
|
-
openDialog(template) {
|
|
115
|
-
this.resetTable();
|
|
116
|
-
this.dialogRef = this._dialogService.open(template, {
|
|
117
|
-
minHeight: '500px',
|
|
118
|
-
minWidth: '700px',
|
|
119
|
-
maxHeight: '1000px',
|
|
120
|
-
maxWidth: '1500px',
|
|
121
|
-
draggable: true,
|
|
122
|
-
resizable: true,
|
|
123
|
-
verticalPadding: false
|
|
124
|
-
});
|
|
125
|
-
this.dialogRef.loading(true);
|
|
126
|
-
setTimeout(() => this.dialogRef.loading(false), 500);
|
|
127
|
-
}
|
|
128
|
-
resetTable() {
|
|
129
|
-
this.filterItems = { FirstName: '', LastName: '', NationalCode: '' };
|
|
130
|
-
this.filter();
|
|
131
|
-
}
|
|
132
|
-
edit() { }
|
|
133
|
-
delete() {
|
|
134
|
-
this.value = null;
|
|
135
|
-
this.valueChange.emit(this.value);
|
|
136
|
-
}
|
|
137
|
-
openPopover() {
|
|
138
|
-
if (!this.isPopoverOpened && this.value) {
|
|
139
|
-
setTimeout(() => {
|
|
140
|
-
this.popoverDom.open();
|
|
141
|
-
}, 1000);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
openChange(isOpen) {
|
|
145
|
-
this.isPopoverOpened = isOpen;
|
|
146
|
-
}
|
|
147
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiPersonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiPersonComponent, selector: "bdc-ui-person", viewQueries: [{ propertyName: "popoverDom", first: true, predicate: ["popover"], descendants: true }, { propertyName: "popoverBodyDom", first: true, predicate: PopoverBodyComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-popover [fillControlMode]=\"'equal'\" #popover (isOpenChange)=\"openChange($event)\">\r\n <fd-popover-control>\r\n <ul fd-list [compact]=\"true\">\r\n <li fd-list-item>\r\n <div fd-list-content>\r\n <div class=\"control-content\" (mouseover)=\"openPopover()\">\r\n <fd-icon glyph=\"person-placeholder\"></fd-icon>\r\n <div>\r\n <span>{{ value?.FirstName }}</span>\r\n </div>\r\n <div>\r\n <span>{{ value?.LastName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n @if (value) {\r\n <button fd-button fdType=\"transparent\" glyph=\"user-edit\" (click)=\"edit()\"></button>\r\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"delete()\"></button>\r\n } @else {\r\n <button fd-button label=\"\u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062E\u0635\" fdType=\"transparent\" (click)=\"openDialog(dialogTemplate)\"></button>\r\n }\r\n </li>\r\n </ul>\r\n </fd-popover-control>\r\n @if (value) {\r\n <fd-popover-body #popoverBody>\r\n <div class=\"resize-quick-view\">\r\n <fd-card cardType=\"quickView\">\r\n <fd-card-content>\r\n <fd-quick-view [id]=\"value.id\">\r\n <fd-quick-view-subheader>\r\n <fd-icon glyph=\"user\"></fd-icon>\r\n <fd-quick-view-subheader-title> \u0645\u0634\u062E\u0635\u0627\u062A </fd-quick-view-subheader-title>\r\n </fd-quick-view-subheader>\r\n <fd-quick-view-group>\r\n @for (item of value | keyvalue; track item) {\r\n <fd-quick-view-group-item>\r\n @if (item.key !== 'Id') {\r\n <div class=\"popover-body-item\">\r\n <fd-quick-view-group-item-label>\r\n {{ (item.key | uiPerson) + ':' }}\r\n </fd-quick-view-group-item-label>\r\n <fd-quick-view-group-item-content>\r\n @switch (item.value) { @case ( item.key === 'Mobile' || item.key === 'Phone' ?\r\n item.key : '' ) {\r\n <a [href]=\"'tel:' + item.value\" [innerText]=\"item.value\" fd-link></a>\r\n } @case ('Email') {\r\n <a [href]=\"'mailto:' + item.value\" [innerText]=\"item.value\" fd-link></a>\r\n } @default {\r\n <div [innerText]=\"item.value\"></div>\r\n } }\r\n </fd-quick-view-group-item-content>\r\n </div>\r\n }\r\n </fd-quick-view-group-item>\r\n }\r\n </fd-quick-view-group>\r\n </fd-quick-view>\r\n </fd-card-content>\r\n </fd-card>\r\n </div>\r\n </fd-popover-body>\r\n }\r\n</fd-popover>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>\u062C\u0633\u062A\u062C\u0648\u06CC \u0634\u062E\u0635</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div class=\"filter\" (keydown.enter)=\"filter()\">\r\n <div fd-form-item>\r\n <label fd-form-label for=\"name\">\u0646\u0627\u0645</label>\r\n <input fd-form-control id=\"name\" [(ngModel)]=\"filterItems.FirstName\" />\r\n </div>\r\n <div fd-form-item>\r\n <label fd-form-label for=\"last-name\">\u0646\u0627\u0645 \u062E\u0627\u0646\u0648\u0627\u062F\u06AF\u06CC</label>\r\n <input fd-form-control id=\"last-name\" [(ngModel)]=\"filterItems.LastName\" />\r\n </div>\r\n <div fd-form-item>\r\n <label fd-form-label for=\"national-code\">\u06A9\u062F\u0645\u0644\u06CC</label>\r\n <input fd-form-control id=\"national-code\" [(ngModel)]=\"filterItems.NationalCode\" />\r\n </div>\r\n\r\n <fd-button-bar fdkInitialFocus fdType=\"emphasized\" label=\"\u062C\u0633\u062A\u062C\u0648\" (click)=\"filter()\"> </fd-button-bar>\r\n </div>\r\n\r\n <table fd-table [noBorderX]=\"true\" [noBorderY]=\"true\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>\u0646\u0627\u0645</th>\r\n <th fd-table-cell>\u0646\u0627\u0645 \u062E\u0627\u0646\u0648\u0627\u062F\u06AF\u06CC</th>\r\n <th fd-table-cell>\u06A9\u062F \u0645\u0644\u06CC</th>\r\n </tr>\r\n </thead>\r\n <tbody fd-table-body>\r\n @for (person of searchResult; track person) {\r\n <tr (click)=\"select(person)\" [class.selected]=\"selectedPerson?.Id === person?.Id\" fd-table-row>\r\n <td fd-table-cell>\r\n {{ person.FirstName }}\r\n </td>\r\n <td fd-table-cell>{{ person.LastName }}</td>\r\n <td fd-table-cell>{{ person.NationalCode }}</td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar fdType=\"emphasized\" label=\"\u062A\u0627\u06CC\u06CC\u062F\" (click)=\"confirm()\"> </fd-button-bar>\r\n <fd-button-bar fdkInitialFocus label=\"\u0627\u0646\u0635\u0631\u0627\u0641\" (click)=\"close()\"> </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [":host{display:flex;width:100%}::ng-deep .fd-dialog__body{padding:10px 15px!important}::ng-deep .fd-dialog__body .filter{display:flex;column-gap:5px;align-items:flex-end}::ng-deep .fd-dialog__body .filter fd-button-bar{margin-bottom:5px}::ng-deep .fd-dialog__body table{margin-top:25px}::ng-deep .fd-dialog__body table tr:hover{background-color:#f0f5f8}::ng-deep .fd-dialog__body table .selected{background-color:#d0e5ef}::ng-deep .popover-body-item{display:flex;column-gap:5px;align-items:center}::ng-deep .popover-body-item fd-quick-view-group-item-label .fd-form-label__wrapper{padding-left:0}fd-popover{flex:1}fd-popover fd-popover-body{width:300px}li{height:1.625rem!important;min-height:1.625rem!important;display:flex;margin-top:.1875rem!important;margin-bottom:.25rem!important;border:.0625rem solid #89919a!important;padding-left:0}li .fd-list__content{flex:1}li .fd-list__content .control-content{display:flex;column-gap:5px;margin-top:2px;width:fit-content}li .fd-list__content .control-content div{margin-top:2px}li .fd-list__content .control-content fd-icon{margin-left:5px}li .fd-list__content .control-content:hover>*{color:#062b42;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i3.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "component", type: i6.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i6.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i6.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i7.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i8.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id"], outputs: ["keyDown"] }, { kind: "directive", type: i8.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "component", type: i9.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i9.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i9.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i9.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i9.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "directive", type: i10.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i11.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i12.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i12.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i12.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i13.QuickViewComponent, selector: "fd-quick-view", inputs: ["id"] }, { kind: "component", type: i13.QuickViewSubheaderComponent, selector: "fd-quick-view-subheader" }, { kind: "component", type: i13.QuickViewSubheaderTitleComponent, selector: "fd-quick-view-subheader-title" }, { kind: "component", type: i13.QuickViewGroupComponent, selector: "fd-quick-view-group" }, { kind: "component", type: i13.QuickViewGroupItemComponent, selector: "fd-quick-view-group-item", inputs: ["id"] }, { kind: "component", type: i13.QuickViewGroupItemLabelComponent, selector: "fd-quick-view-group-item-label" }, { kind: "component", type: i13.QuickViewGroupItemContentComponent, selector: "fd-quick-view-group-item-content" }, { kind: "component", type: i14.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "noOuterBorder", "topBorder", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i14.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY", "nonInteractive"] }, { kind: "directive", type: i14.TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i14.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i14.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i15.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i16.UiPersonPipe, name: "uiPerson" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
149
|
-
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiPersonComponent, decorators: [{
|
|
151
|
-
type: Component,
|
|
152
|
-
args: [{ selector: 'bdc-ui-person', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-popover [fillControlMode]=\"'equal'\" #popover (isOpenChange)=\"openChange($event)\">\r\n <fd-popover-control>\r\n <ul fd-list [compact]=\"true\">\r\n <li fd-list-item>\r\n <div fd-list-content>\r\n <div class=\"control-content\" (mouseover)=\"openPopover()\">\r\n <fd-icon glyph=\"person-placeholder\"></fd-icon>\r\n <div>\r\n <span>{{ value?.FirstName }}</span>\r\n </div>\r\n <div>\r\n <span>{{ value?.LastName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n @if (value) {\r\n <button fd-button fdType=\"transparent\" glyph=\"user-edit\" (click)=\"edit()\"></button>\r\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"delete()\"></button>\r\n } @else {\r\n <button fd-button label=\"\u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062E\u0635\" fdType=\"transparent\" (click)=\"openDialog(dialogTemplate)\"></button>\r\n }\r\n </li>\r\n </ul>\r\n </fd-popover-control>\r\n @if (value) {\r\n <fd-popover-body #popoverBody>\r\n <div class=\"resize-quick-view\">\r\n <fd-card cardType=\"quickView\">\r\n <fd-card-content>\r\n <fd-quick-view [id]=\"value.id\">\r\n <fd-quick-view-subheader>\r\n <fd-icon glyph=\"user\"></fd-icon>\r\n <fd-quick-view-subheader-title> \u0645\u0634\u062E\u0635\u0627\u062A </fd-quick-view-subheader-title>\r\n </fd-quick-view-subheader>\r\n <fd-quick-view-group>\r\n @for (item of value | keyvalue; track item) {\r\n <fd-quick-view-group-item>\r\n @if (item.key !== 'Id') {\r\n <div class=\"popover-body-item\">\r\n <fd-quick-view-group-item-label>\r\n {{ (item.key | uiPerson) + ':' }}\r\n </fd-quick-view-group-item-label>\r\n <fd-quick-view-group-item-content>\r\n @switch (item.value) { @case ( item.key === 'Mobile' || item.key === 'Phone' ?\r\n item.key : '' ) {\r\n <a [href]=\"'tel:' + item.value\" [innerText]=\"item.value\" fd-link></a>\r\n } @case ('Email') {\r\n <a [href]=\"'mailto:' + item.value\" [innerText]=\"item.value\" fd-link></a>\r\n } @default {\r\n <div [innerText]=\"item.value\"></div>\r\n } }\r\n </fd-quick-view-group-item-content>\r\n </div>\r\n }\r\n </fd-quick-view-group-item>\r\n }\r\n </fd-quick-view-group>\r\n </fd-quick-view>\r\n </fd-card-content>\r\n </fd-card>\r\n </div>\r\n </fd-popover-body>\r\n }\r\n</fd-popover>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 fd-title>\u062C\u0633\u062A\u062C\u0648\u06CC \u0634\u062E\u0635</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss('Close button')\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div class=\"filter\" (keydown.enter)=\"filter()\">\r\n <div fd-form-item>\r\n <label fd-form-label for=\"name\">\u0646\u0627\u0645</label>\r\n <input fd-form-control id=\"name\" [(ngModel)]=\"filterItems.FirstName\" />\r\n </div>\r\n <div fd-form-item>\r\n <label fd-form-label for=\"last-name\">\u0646\u0627\u0645 \u062E\u0627\u0646\u0648\u0627\u062F\u06AF\u06CC</label>\r\n <input fd-form-control id=\"last-name\" [(ngModel)]=\"filterItems.LastName\" />\r\n </div>\r\n <div fd-form-item>\r\n <label fd-form-label for=\"national-code\">\u06A9\u062F\u0645\u0644\u06CC</label>\r\n <input fd-form-control id=\"national-code\" [(ngModel)]=\"filterItems.NationalCode\" />\r\n </div>\r\n\r\n <fd-button-bar fdkInitialFocus fdType=\"emphasized\" label=\"\u062C\u0633\u062A\u062C\u0648\" (click)=\"filter()\"> </fd-button-bar>\r\n </div>\r\n\r\n <table fd-table [noBorderX]=\"true\" [noBorderY]=\"true\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>\u0646\u0627\u0645</th>\r\n <th fd-table-cell>\u0646\u0627\u0645 \u062E\u0627\u0646\u0648\u0627\u062F\u06AF\u06CC</th>\r\n <th fd-table-cell>\u06A9\u062F \u0645\u0644\u06CC</th>\r\n </tr>\r\n </thead>\r\n <tbody fd-table-body>\r\n @for (person of searchResult; track person) {\r\n <tr (click)=\"select(person)\" [class.selected]=\"selectedPerson?.Id === person?.Id\" fd-table-row>\r\n <td fd-table-cell>\r\n {{ person.FirstName }}\r\n </td>\r\n <td fd-table-cell>{{ person.LastName }}</td>\r\n <td fd-table-cell>{{ person.NationalCode }}</td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar fdType=\"emphasized\" label=\"\u062A\u0627\u06CC\u06CC\u062F\" (click)=\"confirm()\"> </fd-button-bar>\r\n <fd-button-bar fdkInitialFocus label=\"\u0627\u0646\u0635\u0631\u0627\u0641\" (click)=\"close()\"> </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n </fd-dialog>\r\n</ng-template>\r\n", styles: [":host{display:flex;width:100%}::ng-deep .fd-dialog__body{padding:10px 15px!important}::ng-deep .fd-dialog__body .filter{display:flex;column-gap:5px;align-items:flex-end}::ng-deep .fd-dialog__body .filter fd-button-bar{margin-bottom:5px}::ng-deep .fd-dialog__body table{margin-top:25px}::ng-deep .fd-dialog__body table tr:hover{background-color:#f0f5f8}::ng-deep .fd-dialog__body table .selected{background-color:#d0e5ef}::ng-deep .popover-body-item{display:flex;column-gap:5px;align-items:center}::ng-deep .popover-body-item fd-quick-view-group-item-label .fd-form-label__wrapper{padding-left:0}fd-popover{flex:1}fd-popover fd-popover-body{width:300px}li{height:1.625rem!important;min-height:1.625rem!important;display:flex;margin-top:.1875rem!important;margin-bottom:.25rem!important;border:.0625rem solid #89919a!important;padding-left:0}li .fd-list__content{flex:1}li .fd-list__content .control-content{display:flex;column-gap:5px;margin-top:2px;width:fit-content}li .fd-list__content .control-content div{margin-top:2px}li .fd-list__content .control-content fd-icon{margin-left:5px}li .fd-list__content .control-content:hover>*{color:#062b42;font-weight:700}\n"] }]
|
|
153
|
-
}], propDecorators: { popoverDom: [{
|
|
154
|
-
type: ViewChild,
|
|
155
|
-
args: ['popover']
|
|
156
|
-
}], popoverBodyDom: [{
|
|
157
|
-
type: ViewChild,
|
|
158
|
-
args: [PopoverBodyComponent]
|
|
159
|
-
}] } });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktcGVyc29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3VpLXBlcnNvbi91aS1wZXJzb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdWktcGVyc29uL3VpLXBlcnNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFhLG9CQUFvQixFQUFvQixNQUFNLHVCQUF1QixDQUFDO0FBRTFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTMUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQU56RDs7UUFTSSxpQkFBWSxHQUFhLEVBQUUsQ0FBQztRQUM1QixxQkFBZ0IsR0FBYTtZQUN6QjtnQkFDSSxFQUFFLEVBQUUsQ0FBQztnQkFDTCxTQUFTLEVBQUUsT0FBTztnQkFDbEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixVQUFVLEVBQUUsTUFBTTtnQkFDbEIsWUFBWSxFQUFFLFdBQVc7YUFDNUI7WUFDRDtnQkFDSSxFQUFFLEVBQUUsQ0FBQztnQkFDTCxTQUFTLEVBQUUsS0FBSztnQkFDaEIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFVBQVUsRUFBRSxNQUFNO2dCQUNsQixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsWUFBWSxFQUFFLFdBQVc7YUFDNUI7WUFDRDtnQkFDSSxFQUFFLEVBQUUsQ0FBQztnQkFDTCxTQUFT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TUFBZTtRQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQztJQUNsQyxDQUFDOytHQWhKUSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw2TEFFZixvQkFBb0IsdUVDZm5DLDJsTkEwSEE7OzRGRDdHYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0ksZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd6QixVQUFVO3NCQUEvQixTQUFTO3VCQUFDLFNBQVM7Z0JBQ2EsY0FBYztzQkFBOUMsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYsIFBvcG92ZXJCb2R5Q29tcG9uZW50LCBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZpZWxkQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgUGVyc29uLCBQZXJzb25GaWx0ZXIgfSBmcm9tICcuLi9tb2RlbHMvcGVyc29uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtdWktcGVyc29uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1wZXJzb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktcGVyc29uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlQZXJzb25Db21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gICAgQFZpZXdDaGlsZCgncG9wb3ZlcicpIHBvcG92ZXJEb206IFBvcG92ZXJDb21wb25lbnQ7XHJcbiAgICBAVmlld0NoaWxkKFBvcG92ZXJCb2R5Q29tcG9uZW50KSBwb3BvdmVyQm9keURvbTogUG9wb3ZlckJvZHlDb21wb25lbnQ7XHJcbiAgICBzZWFyY2hSZXN1bHQ6IFBlcnNvbltdID0gW107XHJcbiAgICBwZXJzb25Db2xsZWN0aW9uOiBQZXJzb25bXSA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIElkOiAxLFxyXG4gICAgICAgICAgICBGaXJzdE5hbWU6ICd6YWhyYScsXHJcbiAgICAgICAgICAgIExhc3ROYW1lOiAnZGFyYmFuZHknLFxyXG4gICAgICAgICAgICBGYXRoZXJOYW1lOiAnYWxpJyxcclxuICAgICAgICAgICAgQmlydGhwbGFjZTogJ3lhemQnLFxyXG4gICAgICAgICAgICBOYXRpb25hbENvZGU6ICcxMjM0NTY3ODknXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIElkOiAyLFxyXG4gICAgICAgICAgICBGaXJzdE5hbWU6ICdhbGknLFxyXG4gICAgICAgICAgICBMYXN0TmFtZTogJ2thZmRhcnknLFxyXG4gICAgICAgICAgICBGYXRoZXJOYW1lOiAncmV6YScsXHJcbiAgICAgICAgICAgIEJpcnRocGxhY2U6ICdzaGlyYXonLFxyXG4gICAgICAgICAgICBOYXRpb25hbENvZGU6ICc3NTQxMjM2NTknXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIElkOiAzLFxyXG4gICAgICAgICAgICBGaXJzdE5hbWU6ICdzYXJhJyxcclxuICAgICAgICAgICAgTGFzdE5hbWU6ICdyZXphZWUnLFxyXG4gICAgICAgICAgICBGYXRoZXJOYW1lOiAnYWxpJyxcclxuICAgICAgICAgICAgQmlydGhwbGFjZTogJ3RlaHJhbicsXHJcbiAgICAgICAgICAgIE5hdGlvbmFsQ29kZTogJzEyMzQ1Njc4OSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgSWQ6IDQsXHJcbiAgICAgICAgICAgIEZpcnN0TmFtZTogJ9i52YTbjCcsXHJcbiAgICAgICAgICAgIExhc3ROYW1lOiAn2K7Ystin24zbjCcsXHJcbiAgICAgICAgICAgIEZhdGhlck5hbWU6ICfaqdmF2KfZhCcsXHJcbiAgICAgICAgICAgIEJpcnRocGxhY2U6ICfYp9i12YHZh9in2YYnLFxyXG4gICAgICAgICAgICBOYXRpb25hbENvZGU6ICc0NTIxNDU2OTgnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIElkOiA1LFxyXG4gICAgICAgICAgICBGaXJzdE5hbWU6ICd2YWhpZCcsXHJcbiAgICAgICAgICAgIExhc3ROYW1lOiAnYWxpcG9yJyxcclxuICAgICAgICAgICAgRmF0aGVyTmFtZTogJ2FsaScsXHJcbiAgICAgICAgICAgIEJpcnRocGxhY2U6ICdzaGlyYXonLFxyXG4gICAgICAgICAgICBOYXRpb25hbENvZGU6ICc3NTY5ODI0NTYnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIElkOiA2LFxyXG4gICAgICAgICAgICBGaXJzdE5hbWU6ICdtb2hhbW1hZCcsXHJcbiAgICAgICAgICAgIExhc3ROYW1lOiAna2FtYWxpJyxcclxuICAgICAgICAgICAgRmF0aGVyTmFtZTogJ3ZhaGlkJyxcclxuICAgICAgICAgICAgQmlydGhwbGFjZTogJ2FodmF6JyxcclxuICAgICAgICAgICAgTmF0aW9uYWxDb2RlOiAnMzIxNjU4OTcnXHJcbiAgICAgICAgfVxyXG4gICAgXTtcclxuXHJcbiAgICBzZWxlY3RlZFBlcnNvbjogUGVyc29uIHwgbnVsbDtcclxuICAgIGRpYWxvZ1JlZjogRGlhbG9nUmVmO1xyXG5cclxuICAgIGZpbHRlckl0ZW1zOiBQZXJzb25GaWx0ZXI7XHJcbiAgICBpc1BvcG92ZXJPcGVuZWQ6IGJvb2xlYW47XHJcbiAgICBvbkNsb3NlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0ge1xyXG4gICAgICAgICAgICBJZDogNSxcclxuICAgICAgICAgICAgRmlyc3ROYW1lOiAn2YjYrduM2K8nLFxyXG4gICAgICAgICAgICBMYXN0TmFtZTogJ9i52YTbjNm+2YjYsScsXHJcbiAgICAgICAgICAgIEZhdGhlck5hbWU6ICfYudmE24wnLFxyXG4gICAgICAgICAgICBCaXJ0aHBsYWNlOiAn2LTbjNix2KfYsicsXHJcbiAgICAgICAgICAgIE5hdGlvbmFsQ29kZTogJzc1Njk4MjQ1NicsXHJcbiAgICAgICAgICAgIE1vYmlsZTogJzA5MTc1NjIzODk4J1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5vbkNsb3NlJC5waXBlKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ2Nsb3NlZCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICB0aGlzLm9uQ2xvc2UkID0gdGhpcy5wb3BvdmVyQm9keURvbS5vbkNsb3NlO1xyXG4gICAgfVxyXG5cclxuICAgIGZpbHRlcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdCA9IHRoaXMucGVyc29uQ29sbGVjdGlvbi5maWx0ZXIoXHJcbiAgICAgICAgICAgIChwZXJzb24pID0+XHJcbiAgICAgICAgICAgICAgICBwZXJzb24uRmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXJJdGVtcz8uRmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgfHwgJycpICYmXHJcbiAgICAgICAgICAgICAgICBwZXJzb24uTGFzdE5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmZpbHRlckl0ZW1zPy5MYXN0TmFtZS50b0xvd2VyQ2FzZSgpIHx8ICcnKSAmJlxyXG4gICAgICAgICAgICAgICAgcGVyc29uLk5hdGlvbmFsQ29kZS50b1N0cmluZygpLmluY2x1ZGVzKHRoaXMuZmlsdGVySXRlbXM/Lk5hdGlvbmFsQ29kZS50b1N0cmluZygpIHx8ICcnKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0KHBlcnNvbjogUGVyc29uKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFBlcnNvbiA9IHBlcnNvbjtcclxuICAgIH1cclxuXHJcbiAgICBjb25maXJtKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnNlbGVjdGVkUGVyc29uID8/IHRoaXMudmFsdWU7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRQZXJzb24gPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5EaWFsb2codGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlc2V0VGFibGUoKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbih0ZW1wbGF0ZSwge1xyXG4gICAgICAgICAgICBtaW5IZWlnaHQ6ICc1MDBweCcsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnNzAwcHgnLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICcxMDAwcHgnLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogJzE1MDBweCcsXHJcbiAgICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYubG9hZGluZyh0cnVlKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZGlhbG9nUmVmLmxvYWRpbmcoZmFsc2UpLCA1MDApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc2V0VGFibGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJJdGVtcyA9IHsgRmlyc3ROYW1lOiAnJywgTGFzdE5hbWU6ICcnLCBOYXRpb25hbENvZGU6ICcnIH07XHJcbiAgICAgICAgdGhpcy5maWx0ZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBlZGl0KCk6IHZvaWQge31cclxuXHJcbiAgICBkZWxldGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5Qb3BvdmVyKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5pc1BvcG92ZXJPcGVuZWQgJiYgdGhpcy52YWx1ZSkge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlckRvbS5vcGVuKCk7XHJcbiAgICAgICAgICAgIH0sIDEwMDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvcGVuQ2hhbmdlKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNQb3BvdmVyT3BlbmVkID0gaXNPcGVuO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZC1wb3BvdmVyIFtmaWxsQ29udHJvbE1vZGVdPVwiJ2VxdWFsJ1wiICNwb3BvdmVyIChpc09wZW5DaGFuZ2UpPVwib3BlbkNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgIDx1bCBmZC1saXN0IFtjb21wYWN0XT1cInRydWVcIj5cclxuICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtbGlzdC1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sLWNvbnRlbnRcIiAobW91c2VvdmVyKT1cIm9wZW5Qb3BvdmVyKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJwZXJzb24tcGxhY2Vob2xkZXJcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB2YWx1ZT8uRmlyc3ROYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHZhbHVlPy5MYXN0TmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIEBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIDxidXR0b24gZmQtYnV0dG9uIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgZ2x5cGg9XCJ1c2VyLWVkaXRcIiAoY2xpY2spPVwiZWRpdCgpXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIGdseXBoPVwiZGVjbGluZVwiIChjbGljayk9XCJkZWxldGUoKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBsYWJlbD1cItin2YbYqtiu2KfYqCDYtNiu2LVcIiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIChjbGljayk9XCJvcGVuRGlhbG9nKGRpYWxvZ1RlbXBsYXRlKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cclxuICAgIEBpZiAodmFsdWUpIHtcclxuICAgIDxmZC1wb3BvdmVyLWJvZHkgI3BvcG92ZXJCb2R5PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXNpemUtcXVpY2stdmlld1wiPlxyXG4gICAgICAgICAgICA8ZmQtY2FyZCBjYXJkVHlwZT1cInF1aWNrVmlld1wiPlxyXG4gICAgICAgICAgICAgICAgPGZkLWNhcmQtY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICA8ZmQtcXVpY2stdmlldyBbaWRdPVwidmFsdWUuaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctc3ViaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJ1c2VyXCI+PC9mZC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctc3ViaGVhZGVyLXRpdGxlPiDZhdi02K7Ytdin2KogPC9mZC1xdWljay12aWV3LXN1YmhlYWRlci10aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1xdWljay12aWV3LXN1YmhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXF1aWNrLXZpZXctZ3JvdXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIHZhbHVlIHwga2V5dmFsdWU7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1xdWljay12aWV3LWdyb3VwLWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmtleSAhPT0gJ0lkJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3BvdmVyLWJvZHktaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcXVpY2stdmlldy1ncm91cC1pdGVtLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgKGl0ZW0ua2V5IHwgdWlQZXJzb24pICsgJzonIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcXVpY2stdmlldy1ncm91cC1pdGVtLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcXVpY2stdmlldy1ncm91cC1pdGVtLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAc3dpdGNoIChpdGVtLnZhbHVlKSB7IEBjYXNlICggaXRlbS5rZXkgPT09ICdNb2JpbGUnIHx8IGl0ZW0ua2V5ID09PSAnUGhvbmUnID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ua2V5IDogJycgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCIndGVsOicgKyBpdGVtLnZhbHVlXCIgW2lubmVyVGV4dF09XCJpdGVtLnZhbHVlXCIgZmQtbGluaz48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBjYXNlICgnRW1haWwnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCInbWFpbHRvOicgKyBpdGVtLnZhbHVlXCIgW2lubmVyVGV4dF09XCJpdGVtLnZhbHVlXCIgZmQtbGluaz48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBkZWZhdWx0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVyVGV4dF09XCJpdGVtLnZhbHVlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1xdWljay12aWV3LWdyb3VwLWl0ZW0tY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXF1aWNrLXZpZXctZ3JvdXAtaXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1xdWljay12aWV3LWdyb3VwPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmQtcXVpY2stdmlldz5cclxuICAgICAgICAgICAgICAgIDwvZmQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2ZkLWNhcmQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2ZkLXBvcG92ZXItYm9keT5cclxuICAgIH1cclxuPC9mZC1wb3BvdmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICNkaWFsb2dUZW1wbGF0ZT5cclxuICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiPlxyXG4gICAgICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgICAgICAgICA8aDEgZmQtdGl0bGU+2KzYs9iq2KzZiNuMINi02K7YtTwvaDE+XHJcbiAgICAgICAgICAgIDxidXR0b24gZmQtZGlhbG9nLWNsb3NlLWJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nLmRpc21pc3MoJ0Nsb3NlIGJ1dHRvbicpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxyXG5cclxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHk+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXJcIiAoa2V5ZG93bi5lbnRlcik9XCJmaWx0ZXIoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1mb3JtLWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZkLWZvcm0tbGFiZWwgZm9yPVwibmFtZVwiPtmG2KfZhTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZkLWZvcm0tY29udHJvbCBpZD1cIm5hbWVcIiBbKG5nTW9kZWwpXT1cImZpbHRlckl0ZW1zLkZpcnN0TmFtZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtZm9ybS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmZC1mb3JtLWxhYmVsIGZvcj1cImxhc3QtbmFtZVwiPtmG2KfZhSDYrtin2YbZiNin2K/ar9uMPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZmQtZm9ybS1jb250cm9sIGlkPVwibGFzdC1uYW1lXCIgWyhuZ01vZGVsKV09XCJmaWx0ZXJJdGVtcy5MYXN0TmFtZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtZm9ybS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmZC1mb3JtLWxhYmVsIGZvcj1cIm5hdGlvbmFsLWNvZGVcIj7aqdiv2YXZhNuMPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZmQtZm9ybS1jb250cm9sIGlkPVwibmF0aW9uYWwtY29kZVwiIFsobmdNb2RlbCldPVwiZmlsdGVySXRlbXMuTmF0aW9uYWxDb2RlXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGZka0luaXRpYWxGb2N1cyBmZFR5cGU9XCJlbXBoYXNpemVkXCIgbGFiZWw9XCLYrNiz2KrYrNmIXCIgKGNsaWNrKT1cImZpbHRlcigpXCI+IDwvZmQtYnV0dG9uLWJhcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8dGFibGUgZmQtdGFibGUgW25vQm9yZGVyWF09XCJ0cnVlXCIgW25vQm9yZGVyWV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhlYWQgZmQtdGFibGUtaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciBmZC10YWJsZS1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPtmG2KfZhTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPtmG2KfZhSDYrtin2YbZiNin2K/ar9uMPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGw+2qnYryDZhdmE24w8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5IGZkLXRhYmxlLWJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgQGZvciAocGVyc29uIG9mIHNlYXJjaFJlc3VsdDsgdHJhY2sgcGVyc29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyIChjbGljayk9XCJzZWxlY3QocGVyc29uKVwiIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZFBlcnNvbj8uSWQgPT09IHBlcnNvbj8uSWRcIiBmZC10YWJsZS1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBmZC10YWJsZS1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcGVyc29uLkZpcnN0TmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgZmQtdGFibGUtY2VsbD57eyBwZXJzb24uTGFzdE5hbWUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgZmQtdGFibGUtY2VsbD57eyBwZXJzb24uTmF0aW9uYWxDb2RlIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgPC9mZC1kaWFsb2ctYm9keT5cclxuXHJcbiAgICAgICAgPGZkLWRpYWxvZy1mb290ZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXIgZmRUeXBlPVwiZW1waGFzaXplZFwiIGxhYmVsPVwi2KrYp9uM24zYr1wiIChjbGljayk9XCJjb25maXJtKClcIj4gPC9mZC1idXR0b24tYmFyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGZka0luaXRpYWxGb2N1cyBsYWJlbD1cItin2YbYtdix2KfZgVwiIChjbGljayk9XCJjbG9zZSgpXCI+IDwvZmQtYnV0dG9uLWJhcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cclxuICAgIDwvZmQtZGlhbG9nPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|