barsa-develop-components 2.2.73 → 2.2.74
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 +204 -204
- package/fesm2022/barsa-develop-components.mjs.map +1 -1
- package/lib/avatar/avatar.component.d.ts +1 -1
- package/lib/form-report-view/form-report-view.component.d.ts +1 -1
- package/lib/geographic-location/geographic-location.component.d.ts +1 -1
- package/lib/report-button-view/report-button-view.component.d.ts +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 -25
- 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 -159
- package/esm2022/lib/barsa-geographic-location/barsa-geographic-location.component.mjs +0 -173
- 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 -44
- package/esm2022/lib/column-form-viewer/column-form-viewer.component.mjs +0 -88
- package/esm2022/lib/column-progressbar/column-progressbar.component.mjs +0 -87
- 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 -88
- 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 -23
- package/esm2022/lib/pipes/index.mjs +0 -3
- package/esm2022/lib/pipes/mo-list-to-flow-item.pipe.mjs +0 -23
- 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 -249
- 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 -41
- package/esm2022/lib/ui-person/ui-person.component.mjs +0 -160
- package/esm2022/lib/ui-person/ui-person.pipe.mjs +0 -41
- 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,159 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { FilesValidationHelper, LinearListHelper, ReportViewBaseComponent, UploadService } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@fundamental-ngx/core/table";
|
|
5
|
-
import * as i2 from "../barsa-document-list-item/barsa-document-list-item.component";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "barsa-novin-ray-core";
|
|
8
|
-
export class BarsaDocumentsComponent extends ReportViewBaseComponent {
|
|
9
|
-
get documentItems() {
|
|
10
|
-
if (this.customFieldInfo) {
|
|
11
|
-
return this.customFieldInfo.DocumentItems.MoDataList;
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
return this.viewSetting.FilesSetting.DocumentItems.MoDataList;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
super.ngOnInit();
|
|
19
|
-
const { moDataList, viewSetting, allColumns } = this;
|
|
20
|
-
this._initColumnField(allColumns, viewSetting);
|
|
21
|
-
this._subscribeOnUploadFile(this.fileColumn);
|
|
22
|
-
this._mapDocumentItem(moDataList, this.documentItems);
|
|
23
|
-
this._checkMandatory();
|
|
24
|
-
}
|
|
25
|
-
ngOnChanges(changes) {
|
|
26
|
-
super.ngOnChanges(changes);
|
|
27
|
-
const { moDataList } = changes;
|
|
28
|
-
if (moDataList && !moDataList.firstChange) {
|
|
29
|
-
if (moDataList && !moDataList.firstChange) {
|
|
30
|
-
this._mapDocumentItem(moDataList.currentValue, this.documentItems);
|
|
31
|
-
this.detectChanges();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
ngAfterViewInit() {
|
|
36
|
-
super.ngAfterViewInit();
|
|
37
|
-
setTimeout(() => {
|
|
38
|
-
for (let i = 0; i < this.documentItems.length - this.moDataList.length; i++) {
|
|
39
|
-
this.createNewMo.emit();
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
onFileSelection(files, documentItem, mo) {
|
|
44
|
-
this.selectedMo = mo;
|
|
45
|
-
this._uploadFile(files, documentItem);
|
|
46
|
-
}
|
|
47
|
-
onRemoveFile(file, mo) {
|
|
48
|
-
const fileDbName = this.fileColumn.Name;
|
|
49
|
-
let files = mo[fileDbName].Files;
|
|
50
|
-
if (file.IsNew) {
|
|
51
|
-
files = files.filter((c) => c.Id !== file.Id);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
const existFile = files.find((c) => c.Id === file.Id);
|
|
55
|
-
existFile.IsDeleted = true;
|
|
56
|
-
}
|
|
57
|
-
mo[fileDbName].Files = [...files];
|
|
58
|
-
this._updateMo(mo);
|
|
59
|
-
}
|
|
60
|
-
onStatusChanged(e, mo) {
|
|
61
|
-
mo[this.statusColumn.Name] = e.value;
|
|
62
|
-
mo[this.rejectedReasonColumn.Name] = e.rejectedText;
|
|
63
|
-
this._updateMo(mo);
|
|
64
|
-
}
|
|
65
|
-
onRejectedTextChange(text, mo) {
|
|
66
|
-
mo[this.rejectedReasonColumn.Name] = text;
|
|
67
|
-
this._updateMo(mo);
|
|
68
|
-
}
|
|
69
|
-
_checkMandatory() {
|
|
70
|
-
const moDataList = this.moDataList;
|
|
71
|
-
const items = this.documentItems.filter((c) => c.IsRequired);
|
|
72
|
-
let mandatory = items.length > 0;
|
|
73
|
-
const mandatory2 = items
|
|
74
|
-
.map((item) => moDataList.find((c) => c[this.keyColumn.Name] === item.ItemKey))
|
|
75
|
-
.filter((item) => item)
|
|
76
|
-
.some((mo) => mo[this.fileColumn.Name].Files.filter((c) => !c.IsDeleted).length === 0);
|
|
77
|
-
mandatory = mandatory && mandatory2;
|
|
78
|
-
this.mandatory.emit(mandatory);
|
|
79
|
-
}
|
|
80
|
-
_mapDocumentItem(moDataList, documentItems) {
|
|
81
|
-
const keyName = this.keyColumn.Name;
|
|
82
|
-
moDataList.forEach((mo, index) => {
|
|
83
|
-
let documentItem = documentItems.find((c) => c.ItemKey === mo[keyName]); // find setting that matches with mo by itemKey
|
|
84
|
-
if (documentItem) {
|
|
85
|
-
mo.$documentItem = documentItem;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
documentItem = documentItems.find((item) => moDataList.map((c) => c[keyName]).indexOf(item.ItemKey) < 0); // find a setting has not have $RelatedMo yet
|
|
89
|
-
if (documentItem) {
|
|
90
|
-
mo[keyName] = documentItem.ItemKey;
|
|
91
|
-
mo.$documentItem = documentItem;
|
|
92
|
-
this.updateMo.emit(mo);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
_initColumnField(allColumns, viewSetting) {
|
|
98
|
-
const keyColumn = this._findColumnByDbName.transform(allColumns, viewSetting.ItemKeyField);
|
|
99
|
-
const fileColumn = this._findColumnByDbName.transform(allColumns, viewSetting.FileField);
|
|
100
|
-
const acceptedColumn = this._findColumnByDbName.transform(allColumns, viewSetting.AcceptedField);
|
|
101
|
-
const rejectedReasonColumn = this._findColumnByDbName.transform(allColumns, viewSetting.RejectedReasonField);
|
|
102
|
-
const statusColumn = this._findColumnByDbName.transform(allColumns, viewSetting.StatusField);
|
|
103
|
-
!keyColumn && this._columnNotExistsInReport(viewSetting.ItemKeyField);
|
|
104
|
-
!fileColumn && this._columnNotExistsInReport(viewSetting.FileField);
|
|
105
|
-
!rejectedReasonColumn && this._columnNotExistsInReport(viewSetting.RejectedReasonField);
|
|
106
|
-
!acceptedColumn && this._columnNotExistsInReport(viewSetting.AcceptedField);
|
|
107
|
-
!statusColumn && this._columnNotExistsInReport(viewSetting.StatusField);
|
|
108
|
-
keyColumn && (this.keyColumn = keyColumn);
|
|
109
|
-
fileColumn && (this.fileColumn = fileColumn);
|
|
110
|
-
acceptedColumn && (this.acceptedColumn = acceptedColumn);
|
|
111
|
-
rejectedReasonColumn && (this.rejectedReasonColumn = rejectedReasonColumn);
|
|
112
|
-
statusColumn && (this.statusColumn = statusColumn);
|
|
113
|
-
}
|
|
114
|
-
_subscribeOnUploadFile(fileColumn) {
|
|
115
|
-
this._filesValidationHelper = new FilesValidationHelper(0, 0, 0);
|
|
116
|
-
if (this._uploadService) {
|
|
117
|
-
this._createLinearHelper(this._uploadService, this._filesValidationHelper, fileColumn.FieldDefId);
|
|
118
|
-
this.uploadingState$ = this._uploadService.uploadingState$;
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
throw new Error('UploadService not provided.');
|
|
122
|
-
}
|
|
123
|
-
this._linearHelper.newFileUploaded$.subscribe((file) => {
|
|
124
|
-
const mo = this.moDataList.find((c) => c.Id === this.selectedMo.Id);
|
|
125
|
-
if (mo) {
|
|
126
|
-
mo[fileColumn.Name].Files = [...mo[fileColumn.Name].Files, file];
|
|
127
|
-
this._updateMo(mo);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
_updateMo(mo) {
|
|
132
|
-
mo.$NewInlineMo = undefined;
|
|
133
|
-
if (mo.$State === 'Unchanged') {
|
|
134
|
-
mo.$State = 'Modified';
|
|
135
|
-
}
|
|
136
|
-
this.updateMo.emit(mo);
|
|
137
|
-
this._checkMandatory();
|
|
138
|
-
}
|
|
139
|
-
_createLinearHelper(uploadService, filesValidationHelper, fieldDefId) {
|
|
140
|
-
this._linearHelper = new LinearListHelper(uploadService, filesValidationHelper, fieldDefId);
|
|
141
|
-
}
|
|
142
|
-
_uploadFile(files, documentItem) {
|
|
143
|
-
const filesValidationHelper = this._filesValidationHelper;
|
|
144
|
-
filesValidationHelper.maxFileCount = +documentItem.MaxFileCount;
|
|
145
|
-
filesValidationHelper.maxFileSize = +documentItem.EachFileSize;
|
|
146
|
-
filesValidationHelper.maxTotalFileSize = +documentItem.MaxFileSize;
|
|
147
|
-
this._linearHelper.uploadToServer(files, documentItem.Title);
|
|
148
|
-
}
|
|
149
|
-
_columnNotExistsInReport(columnCaption) {
|
|
150
|
-
throw new Error(`can not find ${columnCaption} column in report.please add it to report columns.`);
|
|
151
|
-
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaDocumentsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaDocumentsComponent, selector: "bdc-barsa-documents", providers: [UploadService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- <ul fd-list [byline]=\"true\" fdCompact [selection]=\"false\"> -->\r\n<table fd-table aria-label=\"Default\" [allCellsFocusable]=\"true\" [noBorderX]=\"true\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>{{ '\u0639\u06A9\u0633' | bbbTranslate }}</th>\r\n <th fd-table-cell style=\"min-width: 140px; width: auto\">{{ '\u0646\u0648\u0639 \u0645\u062F\u0631\u06A9' | bbbTranslate }}</th>\r\n <th fd-table-cell style=\"width: 99%\">{{ '\u0627\u0644\u0635\u0627\u0642 \u0641\u0627\u06CC\u0644' | bbbTranslate }}</th>\r\n <th fd-table-cell></th>\r\n <th fd-table-cell style=\"width: 400px; min-width: 400px; max-width: 400px\">{{ '\u0648\u0636\u0639\u06CC\u062A' | bbbTranslate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody fd-table-body>\r\n @for (mo of moDataList; track _trackByRow($index, mo)) { @if (mo.$documentItem) {\r\n <bdc-barsa-document-list-item\r\n [documentItem]=\"mo.$documentItem\"\r\n [accepted]=\"mo[acceptedColumn.Name]\"\r\n [files]=\"mo[fileColumn.Name].Files\"\r\n [uploadingState]=\"(uploadingState$ | async)!!\"\r\n [rejectedReason]=\"mo[rejectedReasonColumn.Name]\"\r\n [fileDbName]=\"fileColumn.Name\"\r\n [status]=\"+mo[statusColumn.Name]\"\r\n [deviceSize]=\"deviceSize\"\r\n [readonly]=\"!access.Edit\"\r\n [deviceSize]=\"deviceSize\"\r\n (removeFile)=\"onRemoveFile($event, mo)\"\r\n (fileSelectionChange)=\"onFileSelection($event, mo.$documentItem, mo)\"\r\n (rejectTextChange)=\"onRejectedTextChange($event, mo)\"\r\n (statusChanged)=\"onStatusChanged($event, mo)\"\r\n ></bdc-barsa-document-list-item>\r\n } }\r\n <!-- </ul> -->\r\n </tbody>\r\n</table>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i1.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "noOuterBorder", "topBorder", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i1.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY", "nonInteractive"] }, { kind: "directive", type: i1.TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i1.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i1.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "component", type: i2.BarsaDocumentListItemComponent, selector: "bdc-barsa-document-list-item", inputs: ["documentItem", "deviceSize", "files", "accepted", "rejectedReason", "readonly", "status", "uploadingState"], outputs: ["statusChanged", "rejectTextChange", "fileSelectionChange", "removeFile", "fullscreen", "download", "downloadAll"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
154
|
-
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaDocumentsComponent, decorators: [{
|
|
156
|
-
type: Component,
|
|
157
|
-
args: [{ selector: 'bdc-barsa-documents', changeDetection: ChangeDetectionStrategy.OnPush, providers: [UploadService], standalone: false, template: "<!-- <ul fd-list [byline]=\"true\" fdCompact [selection]=\"false\"> -->\r\n<table fd-table aria-label=\"Default\" [allCellsFocusable]=\"true\" [noBorderX]=\"true\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>{{ '\u0639\u06A9\u0633' | bbbTranslate }}</th>\r\n <th fd-table-cell style=\"min-width: 140px; width: auto\">{{ '\u0646\u0648\u0639 \u0645\u062F\u0631\u06A9' | bbbTranslate }}</th>\r\n <th fd-table-cell style=\"width: 99%\">{{ '\u0627\u0644\u0635\u0627\u0642 \u0641\u0627\u06CC\u0644' | bbbTranslate }}</th>\r\n <th fd-table-cell></th>\r\n <th fd-table-cell style=\"width: 400px; min-width: 400px; max-width: 400px\">{{ '\u0648\u0636\u0639\u06CC\u062A' | bbbTranslate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody fd-table-body>\r\n @for (mo of moDataList; track _trackByRow($index, mo)) { @if (mo.$documentItem) {\r\n <bdc-barsa-document-list-item\r\n [documentItem]=\"mo.$documentItem\"\r\n [accepted]=\"mo[acceptedColumn.Name]\"\r\n [files]=\"mo[fileColumn.Name].Files\"\r\n [uploadingState]=\"(uploadingState$ | async)!!\"\r\n [rejectedReason]=\"mo[rejectedReasonColumn.Name]\"\r\n [fileDbName]=\"fileColumn.Name\"\r\n [status]=\"+mo[statusColumn.Name]\"\r\n [deviceSize]=\"deviceSize\"\r\n [readonly]=\"!access.Edit\"\r\n [deviceSize]=\"deviceSize\"\r\n (removeFile)=\"onRemoveFile($event, mo)\"\r\n (fileSelectionChange)=\"onFileSelection($event, mo.$documentItem, mo)\"\r\n (rejectTextChange)=\"onRejectedTextChange($event, mo)\"\r\n (statusChanged)=\"onStatusChanged($event, mo)\"\r\n ></bdc-barsa-document-list-item>\r\n } }\r\n <!-- </ul> -->\r\n </tbody>\r\n</table>\r\n", styles: [":host{display:block}\n"] }]
|
|
158
|
-
}] });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtZG9jdW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL2JhcnNhLWRvY3VtZW50cy9iYXJzYS1kb2N1bWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyc2EtZG9jdW1lbnRzL2JhcnNhLWRvY3VtZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUVoQix1QkFBdUIsRUFFdkIsYUFBYSxFQUdoQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFZOUIsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHVCQUF5QztJQVlsRixJQUFJLGFBQWE7UUFDYixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFVBQWlDLENBQUM7UUFDaEYsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxVQUFpQyxDQUFDO1FBQ3pGLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFD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RUFBRSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDUyxtQkFBbUIsQ0FDekIsYUFBNEIsRUFDNUIscUJBQTRDLEVBQzVDLFVBQWtCO1FBRWxCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUNTLFdBQVcsQ0FBQyxLQUFhLEVBQUUsWUFBMEI7UUFDM0QsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7UUFDMUQscUJBQXFCLENBQUMsWUFBWSxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUNoRSxxQkFBcUIsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1FBQy9ELHFCQUFxQixDQUFDLGdCQUFnQixHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUNuRSxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDUyx3QkFBd0IsQ0FBQyxhQUFhO1FBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLGFBQWEsb0RBQW9ELENBQUMsQ0FBQztJQUN2RyxDQUFDOytHQWhLUSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw4Q0FIckIsQ0FBQyxhQUFhLENBQUMsc0VDbkI5Qiw4MURBaUNBOzs0RkRYYSx1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxhQUFhLENBQUMsY0FDZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEZpbGVzVmFsaWRhdGlvbkhlbHBlcixcclxuICAgIExpbmVhckxpc3RIZWxwZXIsXHJcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQsXHJcbiAgICBSZXBvcnRWaWV3Q29sdW1uLFxyXG4gICAgVXBsb2FkU2VydmljZSxcclxuICAgIEZpbGVBdHRhY2htZW50SW5mbyxcclxuICAgIElVcGxvYWRpbmdTdGF0ZVxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEb2N1bWVudEl0ZW0sIERvY3VtZW50c1NldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1iYXJzYS1kb2N1bWVudHMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWRvY3VtZW50cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1kb2N1bWVudHMuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbVXBsb2FkU2VydmljZV0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FEb2N1bWVudHNDb21wb25lbnQgZXh0ZW5kcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxEb2N1bWVudHNTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAgIGtleUNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbjtcclxuICAgIGZpbGVDb2x1bW46IFJlcG9ydFZpZXdDb2x1bW47XHJcbiAgICBzdGF0dXNDb2x1bW46IFJlcG9ydFZpZXdDb2x1bW47XHJcbiAgICByZWplY3RlZFJlYXNvbkNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbjtcclxuICAgIGFjY2VwdGVkQ29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uO1xyXG4gICAgc2VsZWN0ZWRNbzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIHVwbG9hZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxJVXBsb2FkaW5nU3RhdGU+O1xyXG5cclxuICAgIHByb3RlY3RlZCBfZmlsZXNWYWxpZGF0aW9uSGVscGVyOiBGaWxlc1ZhbGlkYXRpb25IZWxwZXI7XHJcbiAgICBwcm90ZWN0ZWQgX2xpbmVhckhlbHBlcjogTGluZWFyTGlzdEhlbHBlcjtcclxuXHJcbiAgICBnZXQgZG9jdW1lbnRJdGVtcygpOiBBcnJheTxEb2N1bWVudEl0ZW0+IHtcclxuICAgICAgICBpZiAodGhpcy5jdXN0b21GaWVsZEluZm8pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tRmllbGRJbmZvLkRvY3VtZW50SXRlbXMuTW9EYXRhTGlzdCBhcyBBcnJheTxEb2N1bWVudEl0ZW0+O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdTZXR0aW5nLkZpbGVzU2V0dGluZy5Eb2N1bWVudEl0ZW1zLk1vRGF0YUxpc3QgYXMgQXJyYXk8RG9jdW1lbnRJdGVtPjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGNvbnN0IHsgbW9EYXRhTGlzdCwgdmlld1NldHRpbmcsIGFsbENvbHVtbnMgfSA9IHRoaXM7XHJcblxyXG4gICAgICAgIHRoaXMuX2luaXRDb2x1bW5GaWVsZChhbGxDb2x1bW5zLCB2aWV3U2V0dGluZyk7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlT25VcGxvYWRGaWxlKHRoaXMuZmlsZUNvbHVtbik7XHJcbiAgICAgICAgdGhpcy5fbWFwRG9jdW1lbnRJdGVtKG1vRGF0YUxpc3QsIHRoaXMuZG9jdW1lbnRJdGVtcyk7XHJcbiAgICAgICAgdGhpcy5fY2hlY2tNYW5kYXRvcnkoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBtb0RhdGFMaXN0IH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmIChtb0RhdGFMaXN0ICYmICFtb0RhdGFMaXN0LmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChtb0RhdGFMaXN0ICYmICFtb0RhdGFMaXN0LmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9tYXBEb2N1bWVudEl0ZW0obW9EYXRhTGlzdC5jdXJyZW50VmFsdWUsIHRoaXMuZG9jdW1lbnRJdGVtcyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmRvY3VtZW50SXRlbXMubGVuZ3RoIC0gdGhpcy5tb0RhdGFMaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU5ld01vLmVtaXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb25GaWxlU2VsZWN0aW9uKGZpbGVzOiBGaWxlW10sIGRvY3VtZW50SXRlbTogRG9jdW1lbnRJdGVtLCBtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNbyA9IG1vO1xyXG4gICAgICAgIHRoaXMuX3VwbG9hZEZpbGUoZmlsZXMsIGRvY3VtZW50SXRlbSk7XHJcbiAgICB9XHJcbiAgICBvblJlbW92ZUZpbGUoZmlsZTogRmlsZUF0dGFjaG1lbnRJbmZvLCBtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZpbGVEYk5hbWUgPSB0aGlzLmZpbGVDb2x1bW4uTmFtZTtcclxuICAgICAgICBsZXQgZmlsZXMgPSBtb1tmaWxlRGJOYW1lXS5GaWxlcztcclxuICAgICAgICBpZiAoZmlsZS5Jc05ldykge1xyXG4gICAgICAgICAgICBmaWxlcyA9IGZpbGVzLmZpbHRlcigoYykgPT4gYy5JZCAhPT0gZmlsZS5JZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgZXhpc3RGaWxlID0gZmlsZXMuZmluZCgoYykgPT4gYy5JZCA9PT0gZmlsZS5JZCk7XHJcbiAgICAgICAgICAgIGV4aXN0RmlsZS5Jc0RlbGV0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtb1tmaWxlRGJOYW1lXS5GaWxlcyA9IFsuLi5maWxlc107XHJcbiAgICAgICAgdGhpcy5fdXBkYXRlTW8obW8pO1xyXG4gICAgfVxyXG4gICAgb25TdGF0dXNDaGFuZ2VkKGU6IHsgdmFsdWU6IG51bWJlcjsgcmVqZWN0ZWRUZXh0OiBzdHJpbmcgfSwgbW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICBtb1t0aGlzLnN0YXR1c0NvbHVtbi5OYW1lXSA9IGUudmFsdWU7XHJcbiAgICAgICAgbW9bdGhpcy5yZWplY3RlZFJlYXNvbkNvbHVtbi5OYW1lXSA9IGUucmVqZWN0ZWRUZXh0O1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZU1vKG1vKTtcclxuICAgIH1cclxuICAgIG9uUmVqZWN0ZWRUZXh0Q2hhbmdlKHRleHQ6IHN0cmluZywgbW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICBtb1t0aGlzLnJlamVjdGVkUmVhc29uQ29sdW1uLk5hbWVdID0gdGV4dDtcclxuICAgICAgICB0aGlzLl91cGRhdGVNbyhtbyk7XHJcbiAgICB9XHJcbiAgICBfY2hlY2tNYW5kYXRvcnkoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbW9EYXRhTGlzdCA9IHRoaXMubW9EYXRhTGlzdDtcclxuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuZG9jdW1lbnRJdGVtcy5maWx0ZXIoKGMpID0+IGMuSXNSZXF1aXJlZCk7XHJcbiAgICAgICAgbGV0IG1hbmRhdG9yeSA9IGl0ZW1zLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgY29uc3QgbWFuZGF0b3J5MiA9IGl0ZW1zXHJcbiAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IG1vRGF0YUxpc3QuZmluZCgoYykgPT4gY1t0aGlzLmtleUNvbHVtbi5OYW1lXSA9PT0gaXRlbS5JdGVtS2V5KSlcclxuICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSlcclxuICAgICAgICAgICAgLnNvbWUoKG1vKSA9PiBtb1t0aGlzLmZpbGVDb2x1bW4uTmFtZV0uRmlsZXMuZmlsdGVyKChjKSA9PiAhYy5Jc0RlbGV0ZWQpLmxlbmd0aCA9PT0gMCk7XHJcbiAgICAgICAgbWFuZGF0b3J5ID0gbWFuZGF0b3J5ICYmIG1hbmRhdG9yeTI7XHJcbiAgICAgICAgdGhpcy5tYW5kYXRvcnkuZW1pdChtYW5kYXRvcnkpO1xyXG4gICAgfVxyXG4gICAgX21hcERvY3VtZW50SXRlbShtb0RhdGFMaXN0OiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPiwgZG9jdW1lbnRJdGVtczogQXJyYXk8RG9jdW1lbnRJdGVtPik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGtleU5hbWUgPSB0aGlzLmtleUNvbHVtbi5OYW1lO1xyXG4gICAgICAgIG1vRGF0YUxpc3QuZm9yRWFjaCgobW8sIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBkb2N1bWVudEl0ZW0gPSBkb2N1bWVudEl0ZW1zLmZpbmQoKGMpID0+IGMuSXRlbUtleSA9PT0gbW9ba2V5TmFtZV0pOyAvLyBmaW5kIHNldHRpbmcgdGhhdCBtYXRjaGVzIHdpdGggbW8gYnkgaXRlbUtleVxyXG4gICAgICAgICAgICBpZiAoZG9jdW1lbnRJdGVtKSB7XHJcbiAgICAgICAgICAgICAgICBtby4kZG9jdW1lbnRJdGVtID0gZG9jdW1lbnRJdGVtO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRJdGVtID0gZG9jdW1lbnRJdGVtcy5maW5kKFxyXG4gICAgICAgICAgICAgICAgICAgIChpdGVtKSA9PiBtb0RhdGFMaXN0Lm1hcCgoYykgPT4gY1trZXlOYW1lXSkuaW5kZXhPZihpdGVtLkl0ZW1LZXkpIDwgMFxyXG4gICAgICAgICAgICAgICAgKTsgLy8gZmluZCBhIHNldHRpbmcgaGFzIG5vdCBoYXZlICRSZWxhdGVkTW8geWV0XHJcbiAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnRJdGVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9ba2V5TmFtZV0gPSBkb2N1bWVudEl0ZW0uSXRlbUtleTtcclxuICAgICAgICAgICAgICAgICAgICBtby4kZG9jdW1lbnRJdGVtID0gZG9jdW1lbnRJdGVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTW8uZW1pdChtbyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfaW5pdENvbHVtbkZpZWxkKGFsbENvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXSwgdmlld1NldHRpbmc6IERvY3VtZW50c1NldHRpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBrZXlDb2x1bW4gPSB0aGlzLl9maW5kQ29sdW1uQnlEYk5hbWUudHJhbnNmb3JtKGFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLkl0ZW1LZXlGaWVsZCk7XHJcbiAgICAgICAgY29uc3QgZmlsZUNvbHVtbiA9IHRoaXMuX2ZpbmRDb2x1bW5CeURiTmFtZS50cmFuc2Zvcm0oYWxsQ29sdW1ucywgdmlld1NldHRpbmcuRmlsZUZpZWxkKTtcclxuICAgICAgICBjb25zdCBhY2NlcHRlZENvbHVtbiA9IHRoaXMuX2ZpbmRDb2x1bW5CeURiTmFtZS50cmFuc2Zvcm0oYWxsQ29sdW1ucywgdmlld1NldHRpbmcuQWNjZXB0ZWRGaWVsZCk7XHJcbiAgICAgICAgY29uc3QgcmVqZWN0ZWRSZWFzb25Db2x1bW4gPSB0aGlzLl9maW5kQ29sdW1uQnlEYk5hbWUudHJhbnNmb3JtKGFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLlJlamVjdGVkUmVhc29uRmllbGQpO1xyXG4gICAgICAgIGNvbnN0IHN0YXR1c0NvbHVtbiA9IHRoaXMuX2ZpbmRDb2x1bW5CeURiTmFtZS50cmFuc2Zvcm0oYWxsQ29sdW1ucywgdmlld1NldHRpbmcuU3RhdHVzRmllbGQpO1xyXG4gICAgICAgICFrZXlDb2x1bW4gJiYgdGhpcy5fY29sdW1uTm90RXhpc3RzSW5SZXBvcnQodmlld1NldHRpbmcuSXRlbUtleUZpZWxkKTtcclxuICAgICAgICAhZmlsZUNvbHVtbiAmJiB0aGlzLl9jb2x1bW5Ob3RFeGlzdHNJblJlcG9ydCh2aWV3U2V0dGluZy5GaWxlRmllbGQpO1xyXG4gICAgICAgICFyZWplY3RlZFJlYXNvbkNvbHVtbiAmJiB0aGlzLl9jb2x1bW5Ob3RFeGlzdHNJblJlcG9ydCh2aWV3U2V0dGluZy5SZWplY3RlZFJlYXNvbkZpZWxkKTtcclxuICAgICAgICAhYWNjZXB0ZWRDb2x1bW4gJiYgdGhpcy5fY29sdW1uTm90RXhpc3RzSW5SZXBvcnQodmlld1NldHRpbmcuQWNjZXB0ZWRGaWVsZCk7XHJcbiAgICAgICAgIXN0YXR1c0NvbHVtbiAmJiB0aGlzLl9jb2x1bW5Ob3RFeGlzdHNJblJlcG9ydCh2aWV3U2V0dGluZy5TdGF0dXNGaWVsZCk7XHJcblxyXG4gICAgICAgIGtleUNvbHVtbiAmJiAodGhpcy5rZXlDb2x1bW4gPSBrZXlDb2x1bW4pO1xyXG4gICAgICAgIGZpbGVDb2x1bW4gJiYgKHRoaXMuZmlsZUNvbHVtbiA9IGZpbGVDb2x1bW4pO1xyXG4gICAgICAgIGFjY2VwdGVkQ29sdW1uICYmICh0aGlzLmFjY2VwdGVkQ29sdW1uID0gYWNjZXB0ZWRDb2x1bW4pO1xyXG4gICAgICAgIHJlamVjdGVkUmVhc29uQ29sdW1uICYmICh0aGlzLnJlamVjdGVkUmVhc29uQ29sdW1uID0gcmVqZWN0ZWRSZWFzb25Db2x1bW4pO1xyXG4gICAgICAgIHN0YXR1c0NvbHVtbiAmJiAodGhpcy5zdGF0dXNDb2x1bW4gPSBzdGF0dXNDb2x1bW4pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zdWJzY3JpYmVPblVwbG9hZEZpbGUoZmlsZUNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2ZpbGVzVmFsaWRhdGlvbkhlbHBlciA9IG5ldyBGaWxlc1ZhbGlkYXRpb25IZWxwZXIoMCwgMCwgMCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX3VwbG9hZFNlcnZpY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY3JlYXRlTGluZWFySGVscGVyKHRoaXMuX3VwbG9hZFNlcnZpY2UsIHRoaXMuX2ZpbGVzVmFsaWRhdGlvbkhlbHBlciwgZmlsZUNvbHVtbi5GaWVsZERlZklkKTtcclxuICAgICAgICAgICAgdGhpcy51cGxvYWRpbmdTdGF0ZSQgPSB0aGlzLl91cGxvYWRTZXJ2aWNlLnVwbG9hZGluZ1N0YXRlJDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VwbG9hZFNlcnZpY2Ugbm90IHByb3ZpZGVkLicpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyLm5ld0ZpbGVVcGxvYWRlZCQuc3Vic2NyaWJlKChmaWxlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1vID0gdGhpcy5tb0RhdGFMaXN0LmZpbmQoKGMpID0+IGMuSWQgPT09IHRoaXMuc2VsZWN0ZWRNby5JZCk7XHJcbiAgICAgICAgICAgIGlmIChtbykge1xyXG4gICAgICAgICAgICAgICAgbW9bZmlsZUNvbHVtbi5OYW1lXS5GaWxlcyA9IFsuLi5tb1tmaWxlQ29sdW1uLk5hbWVdLkZpbGVzLCBmaWxlXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU1vKG1vKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF91cGRhdGVNbyhtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIG1vLiROZXdJbmxpbmVNbyA9IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAobW8uJFN0YXRlID09PSAnVW5jaGFuZ2VkJykge1xyXG4gICAgICAgICAgICBtby4kU3RhdGUgPSAnTW9kaWZpZWQnO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZU1vLmVtaXQobW8pO1xyXG4gICAgICAgIHRoaXMuX2NoZWNrTWFuZGF0b3J5KCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUxpbmVhckhlbHBlcihcclxuICAgICAgICB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxyXG4gICAgICAgIGZpbGVzVmFsaWRhdGlvbkhlbHBlcjogRmlsZXNWYWxpZGF0aW9uSGVscGVyLFxyXG4gICAgICAgIGZpZWxkRGVmSWQ6IHN0cmluZ1xyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyID0gbmV3IExpbmVhckxpc3RIZWxwZXIodXBsb2FkU2VydmljZSwgZmlsZXNWYWxpZGF0aW9uSGVscGVyLCBmaWVsZERlZklkKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfdXBsb2FkRmlsZShmaWxlczogRmlsZVtdLCBkb2N1bWVudEl0ZW06IERvY3VtZW50SXRlbSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZpbGVzVmFsaWRhdGlvbkhlbHBlciA9IHRoaXMuX2ZpbGVzVmFsaWRhdGlvbkhlbHBlcjtcclxuICAgICAgICBmaWxlc1ZhbGlkYXRpb25IZWxwZXIubWF4RmlsZUNvdW50ID0gK2RvY3VtZW50SXRlbS5NYXhGaWxlQ291bnQ7XHJcbiAgICAgICAgZmlsZXNWYWxpZGF0aW9uSGVscGVyLm1heEZpbGVTaXplID0gK2RvY3VtZW50SXRlbS5FYWNoRmlsZVNpemU7XHJcbiAgICAgICAgZmlsZXNWYWxpZGF0aW9uSGVscGVyLm1heFRvdGFsRmlsZVNpemUgPSArZG9jdW1lbnRJdGVtLk1heEZpbGVTaXplO1xyXG4gICAgICAgIHRoaXMuX2xpbmVhckhlbHBlci51cGxvYWRUb1NlcnZlcihmaWxlcywgZG9jdW1lbnRJdGVtLlRpdGxlKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfY29sdW1uTm90RXhpc3RzSW5SZXBvcnQoY29sdW1uQ2FwdGlvbik6IHZvaWQge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgY2FuIG5vdCBmaW5kICR7Y29sdW1uQ2FwdGlvbn0gY29sdW1uIGluIHJlcG9ydC5wbGVhc2UgYWRkIGl0IHRvIHJlcG9ydCBjb2x1bW5zLmApO1xyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gPHVsIGZkLWxpc3QgW2J5bGluZV09XCJ0cnVlXCIgZmRDb21wYWN0IFtzZWxlY3Rpb25dPVwiZmFsc2VcIj4gLS0+XHJcbjx0YWJsZSBmZC10YWJsZSBhcmlhLWxhYmVsPVwiRGVmYXVsdFwiIFthbGxDZWxsc0ZvY3VzYWJsZV09XCJ0cnVlXCIgW25vQm9yZGVyWF09XCJ0cnVlXCI+XHJcbiAgICA8dGhlYWQgZmQtdGFibGUtaGVhZGVyPlxyXG4gICAgICAgIDx0ciBmZC10YWJsZS1yb3c+XHJcbiAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPnt7ICfYudqp2LMnIHwgYmJiVHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGwgc3R5bGU9XCJtaW4td2lkdGg6IDE0MHB4OyB3aWR0aDogYXV0b1wiPnt7ICfZhtmI2Lkg2YXYr9ix2qknIHwgYmJiVHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGwgc3R5bGU9XCJ3aWR0aDogOTklXCI+e3sgJ9in2YTYtdin2YIg2YHYp9uM2YQnIHwgYmJiVHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGw+PC90aD5cclxuICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGwgc3R5bGU9XCJ3aWR0aDogNDAwcHg7IG1pbi13aWR0aDogNDAwcHg7IG1heC13aWR0aDogNDAwcHhcIj57eyAn2YjYtti524zYqicgfCBiYmJUcmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L3RoZWFkPlxyXG4gICAgPHRib2R5IGZkLXRhYmxlLWJvZHk+XHJcbiAgICAgICAgQGZvciAobW8gb2YgbW9EYXRhTGlzdDsgdHJhY2sgX3RyYWNrQnlSb3coJGluZGV4LCBtbykpIHsgQGlmIChtby4kZG9jdW1lbnRJdGVtKSB7XHJcbiAgICAgICAgPGJkYy1iYXJzYS1kb2N1bWVudC1saXN0LWl0ZW1cclxuICAgICAgICAgICAgW2RvY3VtZW50SXRlbV09XCJtby4kZG9jdW1lbnRJdGVtXCJcclxuICAgICAgICAgICAgW2FjY2VwdGVkXT1cIm1vW2FjY2VwdGVkQ29sdW1uLk5hbWVdXCJcclxuICAgICAgICAgICAgW2ZpbGVzXT1cIm1vW2ZpbGVDb2x1bW4uTmFtZV0uRmlsZXNcIlxyXG4gICAgICAgICAgICBbdXBsb2FkaW5nU3RhdGVdPVwiKHVwbG9hZGluZ1N0YXRlJCB8IGFzeW5jKSEhXCJcclxuICAgICAgICAgICAgW3JlamVjdGVkUmVhc29uXT1cIm1vW3JlamVjdGVkUmVhc29uQ29sdW1uLk5hbWVdXCJcclxuICAgICAgICAgICAgW2ZpbGVEYk5hbWVdPVwiZmlsZUNvbHVtbi5OYW1lXCJcclxuICAgICAgICAgICAgW3N0YXR1c109XCIrbW9bc3RhdHVzQ29sdW1uLk5hbWVdXCJcclxuICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCIhYWNjZXNzLkVkaXRcIlxyXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICAgICAgKHJlbW92ZUZpbGUpPVwib25SZW1vdmVGaWxlKCRldmVudCwgbW8pXCJcclxuICAgICAgICAgICAgKGZpbGVTZWxlY3Rpb25DaGFuZ2UpPVwib25GaWxlU2VsZWN0aW9uKCRldmVudCwgbW8uJGRvY3VtZW50SXRlbSwgbW8pXCJcclxuICAgICAgICAgICAgKHJlamVjdFRleHRDaGFuZ2UpPVwib25SZWplY3RlZFRleHRDaGFuZ2UoJGV2ZW50LCBtbylcIlxyXG4gICAgICAgICAgICAoc3RhdHVzQ2hhbmdlZCk9XCJvblN0YXR1c0NoYW5nZWQoJGV2ZW50LCBtbylcIlxyXG4gICAgICAgID48L2JkYy1iYXJzYS1kb2N1bWVudC1saXN0LWl0ZW0+XHJcbiAgICAgICAgfSB9XHJcbiAgICAgICAgPCEtLSA8L3VsPiAtLT5cclxuICAgIDwvdGJvZHk+XHJcbjwvdGFibGU+XHJcbiJdfQ==
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@fundamental-ngx/core/button";
|
|
5
|
-
export class BarsaGeographicLocationComponent extends BaseComponent {
|
|
6
|
-
constructor(_el) {
|
|
7
|
-
super();
|
|
8
|
-
this._el = _el;
|
|
9
|
-
this.move = new EventEmitter();
|
|
10
|
-
this.moveEnd = new EventEmitter();
|
|
11
|
-
this.fullscreen = new EventEmitter();
|
|
12
|
-
this.exitFullscreen = new EventEmitter();
|
|
13
|
-
this.errorEvent = new EventEmitter();
|
|
14
|
-
this.markerChange = new EventEmitter();
|
|
15
|
-
this._navigatorOptions = {
|
|
16
|
-
enableHighAccuracy: true,
|
|
17
|
-
timeout: 5000,
|
|
18
|
-
maximumAge: 0
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
ngOnChanges(changes) {
|
|
22
|
-
super.ngOnChanges(changes);
|
|
23
|
-
const { longitude, latitude } = changes;
|
|
24
|
-
if (latitude?.firstChange === false || longitude?.firstChange === false) {
|
|
25
|
-
this._setGeoLocation({
|
|
26
|
-
latitude: latitude.currentValue,
|
|
27
|
-
longitude: longitude.currentValue
|
|
28
|
-
}, this.disableOrReadonly, true, false);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
ngAfterViewInit() {
|
|
32
|
-
super.ngAfterViewInit();
|
|
33
|
-
head.load([
|
|
34
|
-
'Lib/leaflet/leaflet.css',
|
|
35
|
-
'Lib/leaflet/leaflet-src.js',
|
|
36
|
-
'Lib/leaflet/SearchControl.js',
|
|
37
|
-
'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon.css',
|
|
38
|
-
'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon.js',
|
|
39
|
-
'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker.js',
|
|
40
|
-
'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon-barsa.js'
|
|
41
|
-
], () => this._initilaize());
|
|
42
|
-
}
|
|
43
|
-
onCurrentLocation() {
|
|
44
|
-
if (this.disableOrReadonly) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
this._getNavigatorCurrentPosition();
|
|
48
|
-
}
|
|
49
|
-
onFullscreen() {
|
|
50
|
-
this.fullscreen.emit();
|
|
51
|
-
}
|
|
52
|
-
onExitFullscreen() {
|
|
53
|
-
this.exitFullscreen.emit();
|
|
54
|
-
}
|
|
55
|
-
_addMarkers(disableOrReadonly, pos) {
|
|
56
|
-
this._setGeoLocation({ latitude: pos[0], longitude: pos[1] }, disableOrReadonly);
|
|
57
|
-
}
|
|
58
|
-
_initilaize() {
|
|
59
|
-
this._map = L.map(this._el.nativeElement);
|
|
60
|
-
const location = this.defaultLocation;
|
|
61
|
-
if (this.latitude) {
|
|
62
|
-
location[0] = Number(this.latitude);
|
|
63
|
-
location[1] = Number(this.longitude);
|
|
64
|
-
}
|
|
65
|
-
this._setGeoLocation({
|
|
66
|
-
latitude: location[0],
|
|
67
|
-
longitude: location[1]
|
|
68
|
-
}, this.disableOrReadonly, true, false);
|
|
69
|
-
if (!this.disableOrReadonly && this.setAutomaticLocation && !this.latitude) {
|
|
70
|
-
// درصورتی که از قبل مقدار نداشته باشد
|
|
71
|
-
this._getNavigatorCurrentPosition();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
_onErrorNavigatorLocation(err) {
|
|
75
|
-
this.errorEvent.emit(err);
|
|
76
|
-
}
|
|
77
|
-
_setGeoLocation(position, disableOrReadonly = false, setView = false, fireEvent = true) {
|
|
78
|
-
if (this._marker) {
|
|
79
|
-
this._map.removeLayer(this._marker);
|
|
80
|
-
this._marker = null;
|
|
81
|
-
}
|
|
82
|
-
const { latitude, longitude } = position;
|
|
83
|
-
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
|
|
84
|
-
attribution: '',
|
|
85
|
-
maxZoom: 18,
|
|
86
|
-
id: 'mapbox/streets-v11',
|
|
87
|
-
tileSize: 512,
|
|
88
|
-
zoomOffset: -1,
|
|
89
|
-
accessToken: 'pk.eyJ1IjoibXJlemFkZXZlbG9wZXIiLCJhIjoiY2p6anlrdTE2MDBxdjNtczZtYWFqbHFmdiJ9.SzniRy2KH6U3gdbOFnwA7Q'
|
|
90
|
-
}).addTo(this._map);
|
|
91
|
-
if (setView) {
|
|
92
|
-
this._map.setView([latitude, longitude], 18);
|
|
93
|
-
}
|
|
94
|
-
const marker = this._createMarker('0', { mo: 'test' }, latitude, longitude, 'my location', '', !disableOrReadonly && this.draggable === true);
|
|
95
|
-
marker.addTo(this._map);
|
|
96
|
-
this._marker = marker;
|
|
97
|
-
if (!disableOrReadonly && fireEvent) {
|
|
98
|
-
this.markerChange.emit({ latitude, longitude });
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
_getNavigatorCurrentPosition() {
|
|
102
|
-
if (navigator.geolocation) {
|
|
103
|
-
navigator.geolocation.getCurrentPosition((position) => this._setGeoLocation({ latitude: position.coords.latitude, longitude: position.coords.longitude }, this.disableOrReadonly, true), (err) => this._onErrorNavigatorLocation(err), this._navigatorOptions);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
_createMarker(id, mo, lat, lng, text, icon, draggable) {
|
|
107
|
-
const markerCfg = {
|
|
108
|
-
Id: id,
|
|
109
|
-
Data: mo,
|
|
110
|
-
title: text,
|
|
111
|
-
draggable,
|
|
112
|
-
icon: L.divIcon({
|
|
113
|
-
html: icon
|
|
114
|
-
? `<fd-icon style="font-size:1rem" class="sap-icon--${icon}"></fd-icon>`
|
|
115
|
-
: `<img style="width:32px" src="${'assets/svg/location-sign.svg'}"/>`,
|
|
116
|
-
iconSize: [20, 20],
|
|
117
|
-
className: 'my-location'
|
|
118
|
-
})
|
|
119
|
-
};
|
|
120
|
-
// var marker = L.BeautifyMarker.marker([Number(lat), Number(lng)], {
|
|
121
|
-
const marker = L.marker([Number(lat), Number(lng)], markerCfg);
|
|
122
|
-
marker.on('moveend', (e) => {
|
|
123
|
-
this._onMoveEnd(e);
|
|
124
|
-
});
|
|
125
|
-
marker.on('move', (e) => {
|
|
126
|
-
this._onMove(e);
|
|
127
|
-
});
|
|
128
|
-
return marker;
|
|
129
|
-
}
|
|
130
|
-
_onMove(e) {
|
|
131
|
-
this.move.emit(e);
|
|
132
|
-
}
|
|
133
|
-
_onMoveEnd(e) {
|
|
134
|
-
this.moveEnd.emit(e);
|
|
135
|
-
}
|
|
136
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaGeographicLocationComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaGeographicLocationComponent, selector: "bdc-barsa-geographic-location", inputs: { disableOrReadonly: "disableOrReadonly", setAutomaticLocation: "setAutomaticLocation", showLocationButton: "showLocationButton", showFullscreenButton: "showFullscreenButton", showExitFullscreenButton: "showExitFullscreenButton", draggable: "draggable", defaultLocation: "defaultLocation", latitude: "latitude", longitude: "longitude" }, outputs: { move: "move", moveEnd: "moveEnd", fullscreen: "fullscreen", exitFullscreen: "exitFullscreen", errorEvent: "errorEvent", markerChange: "markerChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div style=\"position: absolute; z-index: 1000; display: flex; flex-direction: column; row-gap: 5px; left: 0; bottom: 0\">\r\n @if (showFullscreenButton) {\r\n <button fd-button glyph=\"resize\" fdType=\"positive\" (click)=\"onFullscreen()\"></button>\r\n } @if (showExitFullscreenButton) {\r\n <button fd-button glyph=\"exitfullscreen\" fdType=\"positive\" (click)=\"onExitFullscreen()\"></button>\r\n } @if (showLocationButton || disableOrReadonly) {\r\n <button fd-button glyph=\"map\" fdType=\"positive\" (click)=\"onCurrentLocation()\"></button>\r\n }\r\n</div>\r\n", styles: [":host{display:block;min-height:300px;position:relative}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
138
|
-
}
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaGeographicLocationComponent, decorators: [{
|
|
140
|
-
type: Component,
|
|
141
|
-
args: [{ selector: 'bdc-barsa-geographic-location', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div style=\"position: absolute; z-index: 1000; display: flex; flex-direction: column; row-gap: 5px; left: 0; bottom: 0\">\r\n @if (showFullscreenButton) {\r\n <button fd-button glyph=\"resize\" fdType=\"positive\" (click)=\"onFullscreen()\"></button>\r\n } @if (showExitFullscreenButton) {\r\n <button fd-button glyph=\"exitfullscreen\" fdType=\"positive\" (click)=\"onExitFullscreen()\"></button>\r\n } @if (showLocationButton || disableOrReadonly) {\r\n <button fd-button glyph=\"map\" fdType=\"positive\" (click)=\"onCurrentLocation()\"></button>\r\n }\r\n</div>\r\n", styles: [":host{display:block;min-height:300px;position:relative}\n"] }]
|
|
142
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { disableOrReadonly: [{
|
|
143
|
-
type: Input
|
|
144
|
-
}], setAutomaticLocation: [{
|
|
145
|
-
type: Input
|
|
146
|
-
}], showLocationButton: [{
|
|
147
|
-
type: Input
|
|
148
|
-
}], showFullscreenButton: [{
|
|
149
|
-
type: Input
|
|
150
|
-
}], showExitFullscreenButton: [{
|
|
151
|
-
type: Input
|
|
152
|
-
}], draggable: [{
|
|
153
|
-
type: Input
|
|
154
|
-
}], defaultLocation: [{
|
|
155
|
-
type: Input
|
|
156
|
-
}], latitude: [{
|
|
157
|
-
type: Input
|
|
158
|
-
}], longitude: [{
|
|
159
|
-
type: Input
|
|
160
|
-
}], move: [{
|
|
161
|
-
type: Output
|
|
162
|
-
}], moveEnd: [{
|
|
163
|
-
type: Output
|
|
164
|
-
}], fullscreen: [{
|
|
165
|
-
type: Output
|
|
166
|
-
}], exitFullscreen: [{
|
|
167
|
-
type: Output
|
|
168
|
-
}], errorEvent: [{
|
|
169
|
-
type: Output
|
|
170
|
-
}], markerChange: [{
|
|
171
|
-
type: Output
|
|
172
|
-
}] } });
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtZ2VvZ3JhcGhpYy1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9iYXJzYS1nZW9ncmFwaGljLWxvY2F0aW9uL2JhcnNhLWdlb2dyYXBoaWMtbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyc2EtZ2VvZ3JhcGhpYy1sb2NhdGlvbi9iYXJzYS1nZW9ncmFwaGljLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBWXJELE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxhQUFhO0lBMEIvRCxZQUFvQixHQUFlO1FBQy9CLEtBQUssRUFBRSxDQUFDO1FBRFEsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQWZ6QixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNsQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUc3RCxzQkFBaUIsR0FBRztZQUN4QixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsVUFBVSxFQUFFLENBQUM7U0FDaEIsQ0FBQztJ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Y2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuZGVjbGFyZSBjb25zdCBoZWFkOiBhbnk7XHJcbmRlY2xhcmUgY29uc3QgTDogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1iYXJzYS1nZW9ncmFwaGljLWxvY2F0aW9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1nZW9ncmFwaGljLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWdlb2dyYXBoaWMtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhR2VvZ3JhcGhpY0xvY2F0aW9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gICAgQElucHV0KCkgZGlzYWJsZU9yUmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZXRBdXRvbWF0aWNMb2NhdGlvbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHNob3dMb2NhdGlvbkJ1dHRvbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHNob3dGdWxsc2NyZWVuQnV0dG9uOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2hvd0V4aXRGdWxsc2NyZWVuQnV0dG9uOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZHJhZ2dhYmxlOiBib29sZWFuO1xyXG5cclxuICAgIEBJbnB1dCgpIGRlZmF1bHRMb2NhdGlvbjogbnVtYmVyW107XHJcbiAgICBASW5wdXQoKSBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbiAgICBAT3V0cHV0KCkgbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIG1vdmVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBmdWxsc2NyZWVuID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIGV4aXRGdWxsc2NyZWVuID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIGVycm9yRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgbWFya2VyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGxhdGl0dWRlOyBsb25naXR1ZGUgfT4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9tYXA6IGFueTtcclxuICAgIHByaXZhdGUgX25hdmlnYXRvck9wdGlvbnMgPSB7XHJcbiAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgIHRpbWVvdXQ6IDUwMDAsXHJcbiAgICAgICAgbWF4aW11bUFnZTogMFxyXG4gICAgfTtcclxuICAgIHByaXZhdGUgX21hcmtlcjogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IGxvbmdpdHVkZSwgbGF0aXR1ZGUgfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKGxhdGl0dWRlPy5maXJzdENoYW5nZSA9PT0gZmFsc2UgfHwgbG9uZ2l0dWRlPy5maXJzdENoYW5nZSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0R2VvTG9jYXRpb24oXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGF0aXR1ZGU6IGxhdGl0dWRlLmN1cnJlbnRWYWx1ZSxcclxuICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IGxvbmdpdHVkZS5jdXJyZW50VmFsdWVcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVPclJlYWRvbmx5LFxyXG4gICAgICAgICAgICAgICAgdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGZhbHNlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgICAgIGhlYWQubG9hZChcclxuICAgICAgICAgICAgW1xyXG4gICAgICAgICAgICAgICAgJ0xpYi9sZWFmbGV0L2xlYWZsZXQuY3NzJyxcclxuICAgICAgICAgICAgICAgICdMaWIvbGVhZmxldC9sZWFmbGV0LXNyYy5qcycsXHJcbiAgICAgICAgICAgICAgICAnTGliL2xlYWZsZXQvU2VhcmNoQ29udHJvbC5qcycsXHJcbiAgICAgICAgICAgICAgICAnTGliL2xlYWZsZXQvQmVhdXRpZnlNYXJrZXItbWFzdGVyL2xlYWZsZXQtYmVhdXRpZnktbWFya2VyLWljb24uY3NzJyxcclxuICAgICAgICAgICAgICAgICdMaWIvbGVhZmxldC9CZWF1dGlmeU1hcmtlci1tYXN0ZXIvbGVhZmxldC1iZWF1dGlmeS1tYXJrZXItaWNvbi5qcycsXHJcbiAgICAgICAgICAgICAgICAnTGliL2xlYWZsZXQvQmVhdXRpZnlNYXJrZXItbWFzdGVyL2xlYWZsZXQtYmVhdXRpZnktbWFya2VyLmpzJyxcclxuICAgICAgICAgICAgICAgICdMaWIvbGVhZmxldC9CZWF1dGlmeU1hcmtlci1tYXN0ZXIvbGVhZmxldC1iZWF1dGlmeS1tYXJrZXItaWNvbi1iYXJzYS5qcydcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgKCkgPT4gdGhpcy5faW5pdGlsYWl6ZSgpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIG9uQ3VycmVudExvY2F0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVPclJlYWRvbmx5KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fZ2V0TmF2aWdhdG9yQ3VycmVudFBvc2l0aW9uKCk7XHJcbiAgICB9XHJcbiAgICBvbkZ1bGxzY3JlZW4oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuLmVtaXQoKTtcclxuICAgIH1cclxuICAgIG9uRXhpdEZ1bGxzY3JlZW4oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5leGl0RnVsbHNjcmVlbi5lbWl0KCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2FkZE1hcmtlcnMoZGlzYWJsZU9yUmVhZG9ubHk6IGJvb2xlYW4sIHBvczogbnVtYmVyW10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zZXRHZW9Mb2NhdGlvbih7IGxhdGl0dWRlOiBwb3NbMF0sIGxvbmdpdHVkZTogcG9zWzFdIH0sIGRpc2FibGVPclJlYWRvbmx5KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2luaXRpbGFpemUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbWFwID0gTC5tYXAodGhpcy5fZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLmRlZmF1bHRMb2NhdGlvbjtcclxuICAgICAgICBpZiAodGhpcy5sYXRpdHVkZSkge1xyXG4gICAgICAgICAgICBsb2NhdGlvblswXSA9IE51bWJlcih0aGlzLmxhdGl0dWRlKTtcclxuICAgICAgICAgICAgbG9jYXRpb25bMV0gPSBOdW1iZXIodGhpcy5sb25naXR1ZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9zZXRHZW9Mb2NhdGlvbihcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbGF0aXR1ZGU6IGxvY2F0aW9uWzBdLFxyXG4gICAgICAgICAgICAgICAgbG9uZ2l0dWRlOiBsb2NhdGlvblsxXVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVPclJlYWRvbmx5LFxyXG4gICAgICAgICAgICB0cnVlLFxyXG4gICAgICAgICAgICBmYWxzZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlT3JSZWFkb25seSAmJiB0aGlzLnNldEF1dG9tYXRpY0xvY2F0aW9uICYmICF0aGlzLmxhdGl0dWRlKSB7XHJcbiAgICAgICAgICAgIC8vINiv2LHYtdmI2LHYqtuMINqp2Ycg2KfYsiDZgtio2YQg2YXZgtiv2KfYsSDZhtiv2KfYtNiq2Ycg2KjYp9i02K9cclxuICAgICAgICAgICAgdGhpcy5fZ2V0TmF2aWdhdG9yQ3VycmVudFBvc2l0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9vbkVycm9yTmF2aWdhdG9yTG9jYXRpb24oZXJyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lcnJvckV2ZW50LmVtaXQoZXJyKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0R2VvTG9jYXRpb24oXHJcbiAgICAgICAgcG9zaXRpb246IHsgbGF0aXR1ZGU6IGFueTsgbG9uZ2l0dWRlOiBhbnkgfSxcclxuICAgICAgICBkaXNhYmxlT3JSZWFkb25seSA9IGZhbHNlLFxyXG4gICAgICAgIHNldFZpZXcgPSBmYWxzZSxcclxuICAgICAgICBmaXJlRXZlbnQgPSB0cnVlXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fbWFya2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21hcC5yZW1vdmVMYXllcih0aGlzLl9tYXJrZXIpO1xyXG4gICAgICAgICAgICB0aGlzLl9tYXJrZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgeyBsYXRpdHVkZSwgbG9uZ2l0dWRlIH0gPSBwb3NpdGlvbjtcclxuXHJcbiAgICAgICAgTC50aWxlTGF5ZXIoJ2h0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL3tpZH0vdGlsZXMve3p9L3t4fS97eX0/YWNjZXNzX3Rva2VuPXthY2Nlc3NUb2tlbn0nLCB7XHJcbiAgICAgICAgICAgIGF0dHJpYnV0aW9uOiAnJyxcclxuICAgICAgICAgICAgbWF4Wm9vbTogMTgsXHJcbiAgICAgICAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcclxuICAgICAgICAgICAgdGlsZVNpemU6IDUxMixcclxuICAgICAgICAgICAgem9vbU9mZnNldDogLTEsXHJcbiAgICAgICAgICAgIGFjY2Vzc1Rva2VuOlxyXG4gICAgICAgICAgICAgICAgJ3BrLmV5SjFJam9pYlhKbGVtRmtaWFpsYkc5d1pYSWlMQ0poSWpvaVkycDZhbmxyZFRFMk1EQnhkak50Y3padFlXRnFiSEZtZGlKOS5Tem5pUnkyS0g2VTNnZGJPRm53QTdRJ1xyXG4gICAgICAgIH0pLmFkZFRvKHRoaXMuX21hcCk7XHJcbiAgICAgICAgaWYgKHNldFZpZXcpIHtcclxuICAgICAgICAgICAgdGhpcy5fbWFwLnNldFZpZXcoW2xhdGl0dWRlLCBsb25naXR1ZGVdLCAxOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG1hcmtlciA9IHRoaXMuX2NyZWF0ZU1hcmtlcihcclxuICAgICAgICAgICAgJzAnLFxyXG4gICAgICAgICAgICB7IG1vOiAndGVzdCcgfSxcclxuICAgICAgICAgICAgbGF0aXR1ZGUsXHJcbiAgICAgICAgICAgIGxvbmdpdHVkZSxcclxuICAgICAgICAgICAgJ215IGxvY2F0aW9uJyxcclxuICAgICAgICAgICAgJycsXHJcbiAgICAgICAgICAgICFkaXNhYmxlT3JSZWFkb25seSAmJiB0aGlzLmRyYWdnYWJsZSA9PT0gdHJ1ZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbWFya2VyLmFkZFRvKHRoaXMuX21hcCk7XHJcbiAgICAgICAgdGhpcy5fbWFya2VyID0gbWFya2VyO1xyXG4gICAgICAgIGlmICghZGlzYWJsZU9yUmVhZG9ubHkgJiYgZmlyZUV2ZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMubWFya2VyQ2hhbmdlLmVtaXQoeyBsYXRpdHVkZSwgbG9uZ2l0dWRlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfZ2V0TmF2aWdhdG9yQ3VycmVudFBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcclxuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihcclxuICAgICAgICAgICAgICAgIChwb3NpdGlvbikgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXRHZW9Mb2NhdGlvbihcclxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYXRpdHVkZTogcG9zaXRpb24uY29vcmRzLmxhdGl0dWRlLCBsb25naXR1ZGU6IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlT3JSZWFkb25seSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAoZXJyKSA9PiB0aGlzLl9vbkVycm9yTmF2aWdhdG9yTG9jYXRpb24oZXJyKSxcclxuICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRvck9wdGlvbnNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZU1hcmtlcihpZCwgbW8sIGxhdCwgbG5nLCB0ZXh0LCBpY29uLCBkcmFnZ2FibGUpOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IG1hcmtlckNmZyA9IHtcclxuICAgICAgICAgICAgSWQ6IGlkLFxyXG4gICAgICAgICAgICBEYXRhOiBtbyxcclxuICAgICAgICAgICAgdGl0bGU6IHRleHQsXHJcbiAgICAgICAgICAgIGRyYWdnYWJsZSxcclxuICAgICAgICAgICAgaWNvbjogTC5kaXZJY29uKHtcclxuICAgICAgICAgICAgICAgIGh0bWw6IGljb25cclxuICAgICAgICAgICAgICAgICAgICA/IGA8ZmQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZToxcmVtXCIgY2xhc3M9XCJzYXAtaWNvbi0tJHtpY29ufVwiPjwvZmQtaWNvbj5gXHJcbiAgICAgICAgICAgICAgICAgICAgOiBgPGltZyAgc3R5bGU9XCJ3aWR0aDozMnB4XCIgc3JjPVwiJHsnYXNzZXRzL3N2Zy9sb2NhdGlvbi1zaWduLnN2Zyd9XCIvPmAsXHJcbiAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzIwLCAyMF0sXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdteS1sb2NhdGlvbidcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICAvLyB2YXIgbWFya2VyID0gTC5CZWF1dGlmeU1hcmtlci5tYXJrZXIoW051bWJlcihsYXQpLCBOdW1iZXIobG5nKV0sIHtcclxuICAgICAgICBjb25zdCBtYXJrZXIgPSBMLm1hcmtlcihbTnVtYmVyKGxhdCksIE51bWJlcihsbmcpXSwgbWFya2VyQ2ZnKTtcclxuXHJcbiAgICAgICAgbWFya2VyLm9uKCdtb3ZlZW5kJywgKGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fb25Nb3ZlRW5kKGUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG1hcmtlci5vbignbW92ZScsIChlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uTW92ZShlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG1hcmtlcjtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX29uTW92ZShlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tb3ZlLmVtaXQoZSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX29uTW92ZUVuZChlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tb3ZlRW5kLmVtaXQoZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTAwMDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgcm93LWdhcDogNXB4OyBsZWZ0OiAwOyBib3R0b206IDBcIj5cclxuICAgIEBpZiAoc2hvd0Z1bGxzY3JlZW5CdXR0b24pIHtcclxuICAgIDxidXR0b24gZmQtYnV0dG9uIGdseXBoPVwicmVzaXplXCIgZmRUeXBlPVwicG9zaXRpdmVcIiAoY2xpY2spPVwib25GdWxsc2NyZWVuKClcIj48L2J1dHRvbj5cclxuICAgIH0gQGlmIChzaG93RXhpdEZ1bGxzY3JlZW5CdXR0b24pIHtcclxuICAgIDxidXR0b24gZmQtYnV0dG9uIGdseXBoPVwiZXhpdGZ1bGxzY3JlZW5cIiBmZFR5cGU9XCJwb3NpdGl2ZVwiIChjbGljayk9XCJvbkV4aXRGdWxsc2NyZWVuKClcIj48L2J1dHRvbj5cclxuICAgIH0gQGlmIChzaG93TG9jYXRpb25CdXR0b24gfHwgZGlzYWJsZU9yUmVhZG9ubHkpIHtcclxuICAgIDxidXR0b24gZmQtYnV0dG9uIGdseXBoPVwibWFwXCIgZmRUeXBlPVwicG9zaXRpdmVcIiAoY2xpY2spPVwib25DdXJyZW50TG9jYXRpb24oKVwiPjwvYnV0dG9uPlxyXG4gICAgfVxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, ViewChild, HostBinding } from '@angular/core';
|
|
2
|
-
import { BaseItemContentPropsComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "barsa-novin-ray-core";
|
|
5
|
-
import * as i2 from "@fundamental-ngx/core/icon";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/title";
|
|
7
|
-
export class CardContentImageAndTitleComponent extends BaseItemContentPropsComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.backgroundColor = null;
|
|
11
|
-
this.color = null;
|
|
12
|
-
}
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
super.ngOnInit();
|
|
15
|
-
const parameters = this.parameters;
|
|
16
|
-
if (parameters != null) {
|
|
17
|
-
this.color = this.colorSetting = parameters.Color;
|
|
18
|
-
this.backgroundColor = this.backgroundColorSetting = parameters.BackgroundColor;
|
|
19
|
-
this.picture = this._rval.transform(parameters.Picture, this.mo, this.allColumns);
|
|
20
|
-
this.title = this._rval.transform(parameters.Title, this.mo, this.allColumns);
|
|
21
|
-
this.subtitle = this._rval.transform(parameters.Subtitle, this.mo, this.allColumns);
|
|
22
|
-
this.icon = this._rval.transform(parameters.Icon, this.mo, this.allColumns);
|
|
23
|
-
this.prepareNumberSign();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
prepareNumberSign() {
|
|
27
|
-
if (this.color && Number(this.colorSetting[0])) {
|
|
28
|
-
this.color = '#' + this.colorSetting;
|
|
29
|
-
}
|
|
30
|
-
if (this.backgroundColor && Number(this.backgroundColorSetting[0])) {
|
|
31
|
-
this.backgroundColor = '#' + this.backgroundColorSetting;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardContentImageAndTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CardContentImageAndTitleComponent, selector: "bdc-card-content-image-and-title", host: { properties: { "style.background-color": "this.backgroundColor", "style.color": "this.color" } }, viewQueries: [{ propertyName: "iconRef", first: true, predicate: ["iconRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"card-content\" #elemRef>\r\n <div class=\"item-data\">\r\n @if (picture) {\r\n <img\r\n [imgLazy]=\"picture.FileId | picFieldSrc: 'ID':null:'':100:70\"\r\n height=\"70\"\r\n width=\"100\"\r\n [alt]=\"title | bbbTranslate\"\r\n />\r\n } @else { @if (icon) {\r\n <fd-icon #iconRef [glyph]=\"icon\" [style.color]=\"color\"> </fd-icon>\r\n } }\r\n </div>\r\n <h5 fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\r\n {{ title | bbbTranslate }}\r\n </h5>\r\n @if (subtitle) {\r\n <h6 fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\r\n {{ subtitle | bbbTranslate }}\r\n </h6>\r\n }\r\n</div>\r\n", styles: [":host{display:flex;justify-content:center;align-items:stretch;height:100%;width:100%;min-height:180px}:host:hover{opacity:.8}:host:hover{cursor:pointer}.card-content{display:flex;align-items:center;flex-direction:column;align-self:stretch;margin-top:auto;margin-bottom:auto;width:100%}.item-data{text-align:center}fd-icon{font-size:2.5rem}h4{height:60px;width:80%;text-align:center}h6{line-height:2rem}\n"], dependencies: [{ kind: "directive", type: i1.ImageLazyDirective, selector: "[imgLazy]", inputs: ["auto", "threshold", "imgLazy"], outputs: ["imageLoaded"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i3.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "pipe", type: i1.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardContentImageAndTitleComponent, decorators: [{
|
|
38
|
-
type: Component,
|
|
39
|
-
args: [{ selector: 'bdc-card-content-image-and-title', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"card-content\" #elemRef>\r\n <div class=\"item-data\">\r\n @if (picture) {\r\n <img\r\n [imgLazy]=\"picture.FileId | picFieldSrc: 'ID':null:'':100:70\"\r\n height=\"70\"\r\n width=\"100\"\r\n [alt]=\"title | bbbTranslate\"\r\n />\r\n } @else { @if (icon) {\r\n <fd-icon #iconRef [glyph]=\"icon\" [style.color]=\"color\"> </fd-icon>\r\n } }\r\n </div>\r\n <h5 fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\r\n {{ title | bbbTranslate }}\r\n </h5>\r\n @if (subtitle) {\r\n <h6 fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\r\n {{ subtitle | bbbTranslate }}\r\n </h6>\r\n }\r\n</div>\r\n", styles: [":host{display:flex;justify-content:center;align-items:stretch;height:100%;width:100%;min-height:180px}:host:hover{opacity:.8}:host:hover{cursor:pointer}.card-content{display:flex;align-items:center;flex-direction:column;align-self:stretch;margin-top:auto;margin-bottom:auto;width:100%}.item-data{text-align:center}fd-icon{font-size:2.5rem}h4{height:60px;width:80%;text-align:center}h6{line-height:2rem}\n"] }]
|
|
40
|
-
}], propDecorators: { iconRef: [{
|
|
41
|
-
type: ViewChild,
|
|
42
|
-
args: ['iconRef', { static: false }]
|
|
43
|
-
}], backgroundColor: [{
|
|
44
|
-
type: HostBinding,
|
|
45
|
-
args: ['style.background-color']
|
|
46
|
-
}], color: [{
|
|
47
|
-
type: HostBinding,
|
|
48
|
-
args: ['style.color']
|
|
49
|
-
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250ZW50LWltYWdlLWFuZC10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9jYXJkLWNvbnRlbnQtaW1hZ2UtYW5kLXRpdGxlL2NhcmQtY29udGVudC1pbWFnZS1hbmQtdGl0bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvY2FyZC1jb250ZW50LWltYWdlLWFuZC10aXRsZS9jYXJkLWNvbnRlbnQtaW1hZ2UtYW5kLXRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQXdCLDZCQUE2QixFQUEyQixNQUFNLHNCQUFzQixDQUFDOzs7OztBQVNwSCxNQUFNLE9BQU8saUNBQ1QsU0FBUSw2QkFBc0Q7SUFSbEU7O1FBYTJDLG9CQUFlLEdBQWtCLElBQUksQ0FBQztRQUNqRCxVQUFLLEdBQWtCLElBQUksQ0FBQztLQWtDM0Q7SUF6QkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLElBQUksVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUM7WUFFaEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRTVFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pFLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUM3RCxDQUFDO0lBQ0wsQ0FBQzsrR0F4Q1EsaUNBQWlDO21HQUFqQyxpQ0FBaUMsNFNDVjlDLGl3QkFzQkE7OzRGRFphLGlDQUFpQztrQkFQN0MsU0FBUzsrQkFDSSxrQ0FBa0MsbUJBRzNCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFNd0IsT0FBTztzQkFBL0MsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUVBLGVBQWU7c0JBQXJELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUNULEtBQUs7c0JBQWhDLFdBQVc7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlUGljdHVyZUluZm9Nb2RlbCwgQmFzZUl0ZW1Db250ZW50UHJvcHNDb21wb25lbnQsIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1jYXJkLWNvbnRlbnQtaW1hZ2UtYW5kLXRpdGxlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWNvbnRlbnQtaW1hZ2UtYW5kLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NhcmQtY29udGVudC1pbWFnZS1hbmQtdGl0bGUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIENhcmRDb250ZW50SW1hZ2VBbmRUaXRsZUNvbXBvbmVudFxyXG4gICAgZXh0ZW5kcyBCYXNlSXRlbUNvbnRlbnRQcm9wc0NvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz5cclxuICAgIGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuICAgIEBWaWV3Q2hpbGQoJ2ljb25SZWYnLCB7IHN0YXRpYzogZmFsc2UgfSkgaWNvblJlZjogRWxlbWVudFJlZjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmQtY29sb3InKSBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5jb2xvcicpIGNvbG9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kQ29sb3JTZXR0aW5nOiBzdHJpbmc7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgc3VidGl0bGU6IHN0cmluZztcclxuICAgIGljb246IHN0cmluZztcclxuICAgIGNvbG9yU2V0dGluZzogc3RyaW5nO1xyXG4gICAgcGljdHVyZTogRmlsZVBpY3R1cmVJbmZvTW9kZWw7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzO1xyXG4gICAgICAgIGlmIChwYXJhbWV0ZXJzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5jb2xvciA9IHRoaXMuY29sb3JTZXR0aW5nID0gcGFyYW1ldGVycy5Db2xvcjtcclxuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmJhY2tncm91bmRDb2xvclNldHRpbmcgPSBwYXJhbWV0ZXJzLkJhY2tncm91bmRDb2xvcjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMucGljdHVyZSA9IHRoaXMuX3J2YWwudHJhbnNmb3JtKHBhcmFtZXRlcnMuUGljdHVyZSwgdGhpcy5tbywgdGhpcy5hbGxDb2x1bW5zKTtcclxuICAgICAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuX3J2YWwudHJhbnNmb3JtKHBhcmFtZXRlcnMuVGl0bGUsIHRoaXMubW8sIHRoaXMuYWxsQ29sdW1ucyk7XHJcbiAgICAgICAgICAgIHRoaXMuc3VidGl0bGUgPSB0aGlzLl9ydmFsLnRyYW5zZm9ybShwYXJhbWV0ZXJzLlN1YnRpdGxlLCB0aGlzLm1vLCB0aGlzLmFsbENvbHVtbnMpO1xyXG4gICAgICAgICAgICB0aGlzLmljb24gPSB0aGlzLl9ydmFsLnRyYW5zZm9ybShwYXJhbWV0ZXJzLkljb24sIHRoaXMubW8sIHRoaXMuYWxsQ29sdW1ucyk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVOdW1iZXJTaWduKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJlcGFyZU51bWJlclNpZ24oKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29sb3IgJiYgTnVtYmVyKHRoaXMuY29sb3JTZXR0aW5nWzBdKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbG9yID0gJyMnICsgdGhpcy5jb2xvclNldHRpbmc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5iYWNrZ3JvdW5kQ29sb3IgJiYgTnVtYmVyKHRoaXMuYmFja2dyb3VuZENvbG9yU2V0dGluZ1swXSkpIHtcclxuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSAnIycgKyB0aGlzLmJhY2tncm91bmRDb2xvclNldHRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkLWNvbnRlbnRcIiAjZWxlbVJlZj5cclxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLWRhdGFcIj5cclxuICAgICAgICBAaWYgKHBpY3R1cmUpIHtcclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgIFtpbWdMYXp5XT1cInBpY3R1cmUuRmlsZUlkIHwgcGljRmllbGRTcmM6ICdJRCc6bnVsbDonJzoxMDA6NzBcIlxyXG4gICAgICAgICAgICBoZWlnaHQ9XCI3MFwiXHJcbiAgICAgICAgICAgIHdpZHRoPVwiMTAwXCJcclxuICAgICAgICAgICAgW2FsdF09XCJ0aXRsZSB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICB9IEBlbHNlIHsgQGlmIChpY29uKSB7XHJcbiAgICAgICAgPGZkLWljb24gI2ljb25SZWYgW2dseXBoXT1cImljb25cIiBbc3R5bGUuY29sb3JdPVwiY29sb3JcIj4gPC9mZC1pY29uPlxyXG4gICAgICAgIH0gfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8aDUgZmQtdGl0bGUgY2xhc3M9XCJpdGVtLWRhdGEgZmQtdGl0bGUtLXdyYXBcIiBbc3R5bGUuY29sb3JdPVwiY29sb3JcIj5cclxuICAgICAgICB7eyB0aXRsZSB8IGJiYlRyYW5zbGF0ZSB9fVxyXG4gICAgPC9oNT5cclxuICAgIEBpZiAoc3VidGl0bGUpIHtcclxuICAgIDxoNiBmZC10aXRsZSBjbGFzcz1cIml0ZW0tZGF0YSBmZC10aXRsZS0td3JhcFwiIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiPlxyXG4gICAgICAgIHt7IHN1YnRpdGxlIHwgYmJiVHJhbnNsYXRlIH19XHJcbiAgICA8L2g2PlxyXG4gICAgfVxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { BarsaApi, BaseItemContentPropsComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class CardContentLineChartComponent extends BaseItemContentPropsComponent {
|
|
5
|
-
ngOnInit() {
|
|
6
|
-
super.ngOnInit();
|
|
7
|
-
const parameters = this.parameters;
|
|
8
|
-
const { MethodParametersFieldName, RunBlMethodName } = parameters;
|
|
9
|
-
const methodParameters = [];
|
|
10
|
-
MethodParametersFieldName.split(',').forEach((c) => {
|
|
11
|
-
const value = this.mo[c];
|
|
12
|
-
if (typeof value === 'object' && value.Id) {
|
|
13
|
-
methodParameters.push(value.Id);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
methodParameters.push(value);
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
BarsaApi.Bw.RunBlMethodAsync({
|
|
20
|
-
Parameters: methodParameters,
|
|
21
|
-
Method: RunBlMethodName,
|
|
22
|
-
SuccessFn: (chartOption) => {
|
|
23
|
-
this.chartOption = JSON.parse(chartOption);
|
|
24
|
-
this._cdr.detectChanges();
|
|
25
|
-
},
|
|
26
|
-
FailFn: () => { }
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardContentLineChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CardContentLineChartComponent, selector: "bdc-card-content-line-chart", usesInheritance: true, ngImport: i0, template: "@if (chartOption) {\r\n<div class=\"card-content\" #elemRef>\r\n <div beChartLineTime [chartOption]=\"chartOption\"></div>\r\n</div>\r\n}\r\n", styles: [":host{display:block;padding:15px}.card-content{height:300px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardContentLineChartComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{ selector: 'bdc-card-content-line-chart', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (chartOption) {\r\n<div class=\"card-content\" #elemRef>\r\n <div beChartLineTime [chartOption]=\"chartOption\"></div>\r\n</div>\r\n}\r\n", styles: [":host{display:block;padding:15px}.card-content{height:300px}\n"] }]
|
|
35
|
-
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250ZW50LWxpbmUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvY2FyZC1jb250ZW50LWxpbmUtY2hhcnQvY2FyZC1jb250ZW50LWxpbmUtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvY2FyZC1jb250ZW50LWxpbmUtY2hhcnQvY2FyZC1jb250ZW50LWxpbmUtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUEyQixNQUFNLHNCQUFzQixDQUFDOztBQVN4RyxNQUFNLE9BQU8sNkJBQ1QsU0FBUSw2QkFBc0Q7SUFLOUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDbEUsTUFBTSxnQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFDakMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN4QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6QixVQUFVLEVBQUUsZ0JBQWdCO1lBQzVCLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLFNBQVMsRUFBRSxDQUFDLFdBQW1CLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlCLENBQUM7WUFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztTQUNuQixDQUFDLENBQUM7SUFDUCxDQUFDOytHQTVCUSw2QkFBNkI7bUdBQTdCLDZCQUE2QiwwRkNWMUMsa0pBS0E7OzRGREthLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDSSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSwgQmFzZUl0ZW1Db250ZW50UHJvcHNDb21wb25lbnQsIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1jYXJkLWNvbnRlbnQtbGluZS1jaGFydCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1jb250ZW50LWxpbmUtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FyZC1jb250ZW50LWxpbmUtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIENhcmRDb250ZW50TGluZUNoYXJ0Q29tcG9uZW50XHJcbiAgICBleHRlbmRzIEJhc2VJdGVtQ29udGVudFByb3BzQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPlxyXG4gICAgaW1wbGVtZW50cyBPbkluaXRcclxue1xyXG4gICAgY2hhcnRPcHRpb246IGFueTtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnM7XHJcbiAgICAgICAgY29uc3QgeyBNZXRob2RQYXJhbWV0ZXJzRmllbGROYW1lLCBSdW5CbE1ldGhvZE5hbWUgfSA9IHBhcmFtZXRlcnM7XHJcbiAgICAgICAgY29uc3QgbWV0aG9kUGFyYW1ldGVyczogYW55ID0gW107XHJcbiAgICAgICAgTWV0aG9kUGFyYW1ldGVyc0ZpZWxkTmFtZS5zcGxpdCgnLCcpLmZvckVhY2goKGMpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLm1vW2NdO1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZS5JZCkge1xyXG4gICAgICAgICAgICAgICAgbWV0aG9kUGFyYW1ldGVycy5wdXNoKHZhbHVlLklkKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG1ldGhvZFBhcmFtZXRlcnMucHVzaCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBCYXJzYUFwaS5Cdy5SdW5CbE1ldGhvZEFzeW5jKHtcclxuICAgICAgICAgICAgUGFyYW1ldGVyczogbWV0aG9kUGFyYW1ldGVycyxcclxuICAgICAgICAgICAgTWV0aG9kOiBSdW5CbE1ldGhvZE5hbWUsXHJcbiAgICAgICAgICAgIFN1Y2Nlc3NGbjogKGNoYXJ0T3B0aW9uOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hhcnRPcHRpb24gPSBKU09OLnBhcnNlKGNoYXJ0T3B0aW9uKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIEZhaWxGbjogKCkgPT4ge31cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iLCJAaWYgKGNoYXJ0T3B0aW9uKSB7XHJcbjxkaXYgY2xhc3M9XCJjYXJkLWNvbnRlbnRcIiAjZWxlbVJlZj5cclxuICAgIDxkaXYgYmVDaGFydExpbmVUaW1lIFtjaGFydE9wdGlvbl09XCJjaGFydE9wdGlvblwiPjwvZGl2PlxyXG48L2Rpdj5cclxufVxyXG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { CardHeaderLogoTitleSubtitleComponent } from '../card-header-logo-title-subtitle/card-header-logo-title-subtitle.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "barsa-sap-ui";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/avatar";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/button";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/card";
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/checkbox";
|
|
10
|
-
import * as i7 from "barsa-novin-ray-core";
|
|
11
|
-
export class CardHeaderBigImageTitleAndSubtitleComponent extends CardHeaderLogoTitleSubtitleComponent {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardHeaderBigImageTitleAndSubtitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CardHeaderBigImageTitleAndSubtitleComponent, selector: "bdc-card-header-big-image-title-and-subtitle", usesInheritance: true, ngImport: i0, template: "<fd-card-header [class.hide-border]=\"parameters.HideBorder\">\r\n <fd-card-main-header>\r\n @if (hasIcon) {\r\n <fd-avatar\r\n [circle]=\"avatarCircle\"\r\n size=\"s\"\r\n ariaLabel=\"avatar image\"\r\n title=\"avatar image\"\r\n [glyph]=\"fontIcon\"\r\n [image]=\"isIconImage ? (imageIcon?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) : ''\"\r\n ></fd-avatar>\r\n }\r\n <div fd-card-title [style.justify-content]=\"'end'\" style=\"display:flex\">\r\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\r\n @if (isCheckList) {\r\n <fd-checkbox\r\n [name]=\"mo.$Caption\"\r\n [ngModel]=\"isChecked\"\r\n (ngModelChange)=\"events.emit({ title: 'rowCheck' })\"\r\n ></fd-checkbox>\r\n } @if (!setting.ContextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"styleIndex\"\r\n (commandClick)=\"events.emit({ title: 'ulvCommand' })\"\r\n ></div>\r\n }\r\n <h2\r\n #hEl\r\n class=\"fd-card__title\"\r\n [hostEl]=\"hEl\"\r\n [dbName]=\"titleDbName\"\r\n [styleIndex]=\"styleIndex\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ title }}\r\n </h2>\r\n </div>\r\n @if (canView && !hideOpenIcon) {\r\n <button\r\n fd-button\r\n (click)=\"events.emit({ title: 'rowClick' })\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n }\r\n </div>\r\n\r\n <h3\r\n fd-card-subtitle\r\n #hEl\r\n [hostEl]=\"hEl\"\r\n [dbName]=\"subtitleDbName\"\r\n [styleIndex]=\"styleIndex\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ subtitle }}\r\n </h3>\r\n </fd-card-main-header>\r\n</fd-card-header>\r\n<div></div>\r\n", styles: [":host ::ng-deep .fd-card__header-text{padding:1rem}fd-card-header{cursor:default}fd-card-header ::ng-deep .fd-card__header-main-container{display:flex;flex-direction:column;padding:0}fd-card-header fd-avatar{min-height:160px;max-height:160px;height:160px;width:283px;max-width:100%;min-width:100%}fd-card-header .fd-card__title{display:-webkit-box;width:100%}fd-card-header button{cursor:pointer;z-index:4}fd-card-header.hide-border{border-bottom:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "contextMenuOverflowText", "appendTo"], outputs: ["commandClick"] }, { kind: "directive", type: i2.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i5.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "directive", type: i5.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i5.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i6.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i7.PictureFieldSourcePipe, name: "picFieldSrc" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardHeaderBigImageTitleAndSubtitleComponent, decorators: [{
|
|
16
|
-
type: Component,
|
|
17
|
-
args: [{ selector: 'bdc-card-header-big-image-title-and-subtitle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-card-header [class.hide-border]=\"parameters.HideBorder\">\r\n <fd-card-main-header>\r\n @if (hasIcon) {\r\n <fd-avatar\r\n [circle]=\"avatarCircle\"\r\n size=\"s\"\r\n ariaLabel=\"avatar image\"\r\n title=\"avatar image\"\r\n [glyph]=\"fontIcon\"\r\n [image]=\"isIconImage ? (imageIcon?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) : ''\"\r\n ></fd-avatar>\r\n }\r\n <div fd-card-title [style.justify-content]=\"'end'\" style=\"display:flex\">\r\n <div style=\"display: flex; justify-content: start; flex-grow: 1\">\r\n @if (isCheckList) {\r\n <fd-checkbox\r\n [name]=\"mo.$Caption\"\r\n [ngModel]=\"isChecked\"\r\n (ngModelChange)=\"events.emit({ title: 'rowCheck' })\"\r\n ></fd-checkbox>\r\n } @if (!setting.ContextMenuInFooter && contextMenuItems && contextMenuItems.length > 0) {\r\n <div\r\n ulvContextMenu\r\n [allColumns]=\"allColumns\"\r\n [menuItems]=\"contextMenuItems\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"styleIndex\"\r\n (commandClick)=\"events.emit({ title: 'ulvCommand' })\"\r\n ></div>\r\n }\r\n <h2\r\n #hEl\r\n class=\"fd-card__title\"\r\n [hostEl]=\"hEl\"\r\n [dbName]=\"titleDbName\"\r\n [styleIndex]=\"styleIndex\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ title }}\r\n </h2>\r\n </div>\r\n @if (canView && !hideOpenIcon) {\r\n <button\r\n fd-button\r\n (click)=\"events.emit({ title: 'rowClick' })\"\r\n [glyph]=\"navigationArrow\"\r\n fdType=\"transparent\"\r\n ></button>\r\n }\r\n </div>\r\n\r\n <h3\r\n fd-card-subtitle\r\n #hEl\r\n [hostEl]=\"hEl\"\r\n [dbName]=\"subtitleDbName\"\r\n [styleIndex]=\"styleIndex\"\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n >\r\n {{ subtitle }}\r\n </h3>\r\n </fd-card-main-header>\r\n</fd-card-header>\r\n<div></div>\r\n", styles: [":host ::ng-deep .fd-card__header-text{padding:1rem}fd-card-header{cursor:default}fd-card-header ::ng-deep .fd-card__header-main-container{display:flex;flex-direction:column;padding:0}fd-card-header fd-avatar{min-height:160px;max-height:160px;height:160px;width:283px;max-width:100%;min-width:100%}fd-card-header .fd-card__title{display:-webkit-box;width:100%}fd-card-header button{cursor:pointer;z-index:4}fd-card-header.hide-border{border-bottom:none!important}\n"] }]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1oZWFkZXItYmlnLWltYWdlLXRpdGxlLWFuZC1zdWJ0aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9jYXJkLWhlYWRlci1iaWctaW1hZ2UtdGl0bGUtYW5kLXN1YnRpdGxlL2NhcmQtaGVhZGVyLWJpZy1pbWFnZS10aXRsZS1hbmQtc3VidGl0bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvY2FyZC1oZWFkZXItYmlnLWltYWdlLXRpdGxlLWFuZC1zdWJ0aXRsZS9jYXJkLWhlYWRlci1iaWctaW1hZ2UtdGl0bGUtYW5kLXN1YnRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7Ozs7Ozs7OztBQVFwSSxNQUFNLE9BQU8sMkNBQTRDLFNBQVEsb0NBQW9DOytHQUF4RiwyQ0FBMkM7bUdBQTNDLDJDQUEyQywyR0NUeEQsbW5GQWtFQTs7NEZEekRhLDJDQUEyQztrQkFQdkQsU0FBUzsrQkFDSSw4Q0FBOEMsbUJBR3ZDLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FyZEhlYWRlckxvZ29UaXRsZVN1YnRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC1oZWFkZXItbG9nby10aXRsZS1zdWJ0aXRsZS9jYXJkLWhlYWRlci1sb2dvLXRpdGxlLXN1YnRpdGxlLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtY2FyZC1oZWFkZXItYmlnLWltYWdlLXRpdGxlLWFuZC1zdWJ0aXRsZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1oZWFkZXItYmlnLWltYWdlLXRpdGxlLWFuZC1zdWJ0aXRsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jYXJkLWhlYWRlci1iaWctaW1hZ2UtdGl0bGUtYW5kLXN1YnRpdGxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkSGVhZGVyQmlnSW1hZ2VUaXRsZUFuZFN1YnRpdGxlQ29tcG9uZW50IGV4dGVuZHMgQ2FyZEhlYWRlckxvZ29UaXRsZVN1YnRpdGxlQ29tcG9uZW50IHt9XHJcbiIsIjxmZC1jYXJkLWhlYWRlciBbY2xhc3MuaGlkZS1ib3JkZXJdPVwicGFyYW1ldGVycy5IaWRlQm9yZGVyXCI+XHJcbiAgICA8ZmQtY2FyZC1tYWluLWhlYWRlcj5cclxuICAgICAgICBAaWYgKGhhc0ljb24pIHtcclxuICAgICAgICA8ZmQtYXZhdGFyXHJcbiAgICAgICAgICAgIFtjaXJjbGVdPVwiYXZhdGFyQ2lyY2xlXCJcclxuICAgICAgICAgICAgc2l6ZT1cInNcIlxyXG4gICAgICAgICAgICBhcmlhTGFiZWw9XCJhdmF0YXIgaW1hZ2VcIlxyXG4gICAgICAgICAgICB0aXRsZT1cImF2YXRhciBpbWFnZVwiXHJcbiAgICAgICAgICAgIFtnbHlwaF09XCJmb250SWNvblwiXHJcbiAgICAgICAgICAgIFtpbWFnZV09XCJpc0ljb25JbWFnZSA/IChpbWFnZUljb24/LkZpbGVJZCB8IHBpY0ZpZWxkU3JjOiAnR2V0UGljdHVyZUZyb21GaWxlSW5mbyc6bnVsbCkgOiAnJ1wiXHJcbiAgICAgICAgPjwvZmQtYXZhdGFyPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8ZGl2IGZkLWNhcmQtdGl0bGUgW3N0eWxlLmp1c3RpZnktY29udGVudF09XCInZW5kJ1wiIHN0eWxlPVwiZGlzcGxheTpmbGV4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyBmbGV4LWdyb3c6IDFcIj5cclxuICAgICAgICAgICAgICAgIEBpZiAoaXNDaGVja0xpc3QpIHtcclxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm1vLiRDYXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJpc0NoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImV2ZW50cy5lbWl0KHsgdGl0bGU6ICdyb3dDaGVjaycgfSlcIlxyXG4gICAgICAgICAgICAgICAgPjwvZmQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICB9IEBpZiAoIXNldHRpbmcuQ29udGV4dE1lbnVJbkZvb3RlciAmJiBjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIHVsdkNvbnRleHRNZW51XHJcbiAgICAgICAgICAgICAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW21lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcclxuICAgICAgICAgICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjb21tYW5kQ2xpY2spPVwiZXZlbnRzLmVtaXQoeyB0aXRsZTogJ3VsdkNvbW1hbmQnIH0pXCJcclxuICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDxoMlxyXG4gICAgICAgICAgICAgICAgICAgICNoRWxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWNhcmRfX3RpdGxlXCJcclxuICAgICAgICAgICAgICAgICAgICBbaG9zdEVsXT1cImhFbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2RiTmFtZV09XCJ0aXRsZURiTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlSW5kZXhdPVwic3R5bGVJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FwcGx5Q29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgdGl0bGUgfX1cclxuICAgICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBAaWYgKGNhblZpZXcgJiYgIWhpZGVPcGVuSWNvbikge1xyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJldmVudHMuZW1pdCh7IHRpdGxlOiAncm93Q2xpY2snIH0pXCJcclxuICAgICAgICAgICAgICAgIFtnbHlwaF09XCJuYXZpZ2F0aW9uQXJyb3dcIlxyXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxyXG4gICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGgzXHJcbiAgICAgICAgICAgIGZkLWNhcmQtc3VidGl0bGVcclxuICAgICAgICAgICAgI2hFbFxyXG4gICAgICAgICAgICBbaG9zdEVsXT1cImhFbFwiXHJcbiAgICAgICAgICAgIFtkYk5hbWVdPVwic3VidGl0bGVEYk5hbWVcIlxyXG4gICAgICAgICAgICBbc3R5bGVJbmRleF09XCJzdHlsZUluZGV4XCJcclxuICAgICAgICAgICAgW2FwcGx5Q29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBzdWJ0aXRsZSB9fVxyXG4gICAgICAgIDwvaDM+XHJcbiAgICA8L2ZkLWNhcmQtbWFpbi1oZWFkZXI+XHJcbjwvZmQtY2FyZC1oZWFkZXI+XHJcbjxkaXY+PC9kaXY+XHJcbiJdfQ==
|