gamma-app-controller 1.0.1

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.
Files changed (120) hide show
  1. package/README.md +24 -0
  2. package/esm2020/gamma-app-controller.mjs +2 -0
  3. package/esm2020/lib/application-controller/app.http.service.mjs +24 -0
  4. package/esm2020/lib/application-controller/application-content.service.mjs +482 -0
  5. package/esm2020/lib/application-controller/application-controller.module.mjs +324 -0
  6. package/esm2020/lib/application-controller/application-dataset-call.service.mjs +321 -0
  7. package/esm2020/lib/application-controller/application-dataset-component/application-dataset/application-dataset.component.mjs +390 -0
  8. package/esm2020/lib/application-controller/application-dataset-component/create-dataset/create-dataset.component.mjs +349 -0
  9. package/esm2020/lib/application-controller/application-dataset-component/create-dataset-json/create-dataset-json.component.mjs +148 -0
  10. package/esm2020/lib/application-controller/application-dataset-component/create-dataset-sql/create-dataset-sql.component.mjs +167 -0
  11. package/esm2020/lib/application-controller/application-dataset-component/create-dataset-sql/sqlFormatter.mjs +17 -0
  12. package/esm2020/lib/application-controller/application-dataset-component/dataset-mongo/dataset-mongo.component.mjs +57 -0
  13. package/esm2020/lib/application-controller/application-dataset-component/dataset-query-bulder/dataset-query-bulder.component.mjs +409 -0
  14. package/esm2020/lib/application-controller/application-dataset-component/dataset-rest-api/dataset-rest-api.component.mjs +61 -0
  15. package/esm2020/lib/application-controller/application-filter/application-filter.component.mjs +186 -0
  16. package/esm2020/lib/application-controller/application-view-components/application-views/application-views.component.mjs +134 -0
  17. package/esm2020/lib/application-controller/application-view-components/create-comp-view/create-comp-view.component.mjs +559 -0
  18. package/esm2020/lib/application-controller/common-header/common-header.component.mjs +33 -0
  19. package/esm2020/lib/application-controller/common.mjs +1207 -0
  20. package/esm2020/lib/application-controller/environment.mjs +26 -0
  21. package/esm2020/lib/application-controller/kpi-comon-service.mjs +537 -0
  22. package/esm2020/lib/application-controller/kpi-service.mjs +108 -0
  23. package/esm2020/lib/application-controller/loading/loading.component.mjs +16 -0
  24. package/esm2020/lib/application-controller/loading/loadingModule.mjs +28 -0
  25. package/esm2020/lib/application-controller/moment-helper.mjs +4 -0
  26. package/esm2020/lib/application-controller/page-controller/page-config/page-config.component.mjs +977 -0
  27. package/esm2020/lib/application-controller/page-controller/page-controller/page-controller.component.mjs +172 -0
  28. package/esm2020/lib/application-controller/page-templates/cdr-config/cdr-config.component.mjs +227 -0
  29. package/esm2020/lib/application-controller/page-templates/dynamic-route-service.mjs +22 -0
  30. package/esm2020/lib/application-controller/shared/advanced-component/advance-widget-header-filter/advance-widget-header-filter.component.mjs +118 -0
  31. package/esm2020/lib/application-controller/shared/advanced-component/app-advance-header/app-header.component.mjs +181 -0
  32. package/esm2020/lib/application-controller/shared/advanced-component/gamm-single-number-card/gamm-single-number-card.component.mjs +71 -0
  33. package/esm2020/lib/application-controller/shared/advanced-component/gamma-advance-chart/gamma-advance-chart.component.mjs +266 -0
  34. package/esm2020/lib/application-controller/shared/advanced-component/gamma-advance-operator-table/gamma-advance-operator-table.component.mjs +159 -0
  35. package/esm2020/lib/application-controller/shared/advanced-component/gamma-table-clumn-bar-chart/gamma-table-clumn-bar-chart.component.mjs +144 -0
  36. package/esm2020/lib/application-controller/shared/advanced-component/gamma-table-with-percentage/contentSafeHtml.mjs +20 -0
  37. package/esm2020/lib/application-controller/shared/advanced-component/gamma-table-with-percentage/gamma-table-with-percentage.component.mjs +168 -0
  38. package/esm2020/lib/application-controller/shared/advanced-component/gamma-today-previous/gamma-today-previous.component.mjs +74 -0
  39. package/esm2020/lib/application-controller/shared/advanced-component/google-geo-map/google-geo-map.component.mjs +118 -0
  40. package/esm2020/lib/application-controller/shared/api.service.mjs +117 -0
  41. package/esm2020/lib/application-controller/shared/app-title/app-title.component.mjs +67 -0
  42. package/esm2020/lib/application-controller/shared/gamam-widget/gamam-widget.component.mjs +37 -0
  43. package/esm2020/lib/application-controller/shared/gamma-advance-filter/gamma-advance-filter.component.mjs +229 -0
  44. package/esm2020/lib/application-controller/shared/gamma-bread-crumbs/bread-crumbs.component.mjs +144 -0
  45. package/esm2020/lib/application-controller/shared/kpi-comon-service.mjs +537 -0
  46. package/esm2020/lib/application-controller/shared/loader/loader.component.mjs +14 -0
  47. package/esm2020/lib/application-controller/shared/loading/loading.component.mjs +16 -0
  48. package/esm2020/lib/application-controller/shared/loading/loadingModule.mjs +28 -0
  49. package/esm2020/lib/application-controller/shared/safeHtmlPipe.mjs +20 -0
  50. package/esm2020/lib/application-controller/support-components/dash-chart/dash-chart.component.mjs +294 -0
  51. package/esm2020/lib/application-controller/support-components/dash-table/dash-table.component.mjs +287 -0
  52. package/esm2020/lib/application-controller/support-components/geo-map/geo-map.component.mjs +255 -0
  53. package/esm2020/lib/application-controller/support-components/table-with-bar/table-with-bar.component.mjs +269 -0
  54. package/esm2020/lib/gamma-app-controller.component.mjs +16 -0
  55. package/esm2020/lib/gamma-app-controller.module.mjs +43 -0
  56. package/esm2020/lib/gamma-app-controller.service.mjs +20 -0
  57. package/esm2020/lib/icons.module.mjs +23 -0
  58. package/esm2020/public-api.mjs +49 -0
  59. package/fesm2015/gamma-app-controller.mjs +10250 -0
  60. package/fesm2015/gamma-app-controller.mjs.map +1 -0
  61. package/fesm2020/gamma-app-controller.mjs +10248 -0
  62. package/fesm2020/gamma-app-controller.mjs.map +1 -0
  63. package/index.d.ts +2 -0
  64. package/lib/application-controller/app.http.service.d.ts +15 -0
  65. package/lib/application-controller/application-content.service.d.ts +79 -0
  66. package/lib/application-controller/application-controller.module.d.ts +51 -0
  67. package/lib/application-controller/application-dataset-call.service.d.ts +20 -0
  68. package/lib/application-controller/application-dataset-component/application-dataset/application-dataset.component.d.ts +55 -0
  69. package/lib/application-controller/application-dataset-component/create-dataset/create-dataset.component.d.ts +121 -0
  70. package/lib/application-controller/application-dataset-component/create-dataset-json/create-dataset-json.component.d.ts +38 -0
  71. package/lib/application-controller/application-dataset-component/create-dataset-sql/create-dataset-sql.component.d.ts +42 -0
  72. package/lib/application-controller/application-dataset-component/create-dataset-sql/sqlFormatter.d.ts +7 -0
  73. package/lib/application-controller/application-dataset-component/dataset-mongo/dataset-mongo.component.d.ts +21 -0
  74. package/lib/application-controller/application-dataset-component/dataset-query-bulder/dataset-query-bulder.component.d.ts +62 -0
  75. package/lib/application-controller/application-dataset-component/dataset-rest-api/dataset-rest-api.component.d.ts +22 -0
  76. package/lib/application-controller/application-filter/application-filter.component.d.ts +36 -0
  77. package/lib/application-controller/application-view-components/application-views/application-views.component.d.ts +47 -0
  78. package/lib/application-controller/application-view-components/create-comp-view/create-comp-view.component.d.ts +73 -0
  79. package/lib/application-controller/common-header/common-header.component.d.ts +15 -0
  80. package/lib/application-controller/common.d.ts +148 -0
  81. package/lib/application-controller/environment.d.ts +25 -0
  82. package/lib/application-controller/kpi-comon-service.d.ts +14 -0
  83. package/lib/application-controller/kpi-service.d.ts +6 -0
  84. package/lib/application-controller/loading/loading.component.d.ts +9 -0
  85. package/lib/application-controller/loading/loadingModule.d.ts +10 -0
  86. package/lib/application-controller/moment-helper.d.ts +3 -0
  87. package/lib/application-controller/page-controller/page-config/page-config.component.d.ts +188 -0
  88. package/lib/application-controller/page-controller/page-controller/page-controller.component.d.ts +47 -0
  89. package/lib/application-controller/page-templates/cdr-config/cdr-config.component.d.ts +44 -0
  90. package/lib/application-controller/page-templates/dynamic-route-service.d.ts +8 -0
  91. package/lib/application-controller/shared/advanced-component/advance-widget-header-filter/advance-widget-header-filter.component.d.ts +33 -0
  92. package/lib/application-controller/shared/advanced-component/app-advance-header/app-header.component.d.ts +43 -0
  93. package/lib/application-controller/shared/advanced-component/gamm-single-number-card/gamm-single-number-card.component.d.ts +20 -0
  94. package/lib/application-controller/shared/advanced-component/gamma-advance-chart/gamma-advance-chart.component.d.ts +51 -0
  95. package/lib/application-controller/shared/advanced-component/gamma-advance-operator-table/gamma-advance-operator-table.component.d.ts +32 -0
  96. package/lib/application-controller/shared/advanced-component/gamma-table-clumn-bar-chart/gamma-table-clumn-bar-chart.component.d.ts +31 -0
  97. package/lib/application-controller/shared/advanced-component/gamma-table-with-percentage/contentSafeHtml.d.ts +10 -0
  98. package/lib/application-controller/shared/advanced-component/gamma-table-with-percentage/gamma-table-with-percentage.component.d.ts +26 -0
  99. package/lib/application-controller/shared/advanced-component/gamma-today-previous/gamma-today-previous.component.d.ts +21 -0
  100. package/lib/application-controller/shared/advanced-component/google-geo-map/google-geo-map.component.d.ts +29 -0
  101. package/lib/application-controller/shared/api.service.d.ts +26 -0
  102. package/lib/application-controller/shared/app-title/app-title.component.d.ts +28 -0
  103. package/lib/application-controller/shared/gamam-widget/gamam-widget.component.d.ts +20 -0
  104. package/lib/application-controller/shared/gamma-advance-filter/gamma-advance-filter.component.d.ts +45 -0
  105. package/lib/application-controller/shared/gamma-bread-crumbs/bread-crumbs.component.d.ts +32 -0
  106. package/lib/application-controller/shared/kpi-comon-service.d.ts +14 -0
  107. package/lib/application-controller/shared/loader/loader.component.d.ts +8 -0
  108. package/lib/application-controller/shared/loading/loading.component.d.ts +9 -0
  109. package/lib/application-controller/shared/loading/loadingModule.d.ts +10 -0
  110. package/lib/application-controller/shared/safeHtmlPipe.d.ts +10 -0
  111. package/lib/application-controller/support-components/dash-chart/dash-chart.component.d.ts +83 -0
  112. package/lib/application-controller/support-components/dash-table/dash-table.component.d.ts +67 -0
  113. package/lib/application-controller/support-components/geo-map/geo-map.component.d.ts +70 -0
  114. package/lib/application-controller/support-components/table-with-bar/table-with-bar.component.d.ts +70 -0
  115. package/lib/gamma-app-controller.component.d.ts +5 -0
  116. package/lib/gamma-app-controller.module.d.ts +10 -0
  117. package/lib/gamma-app-controller.service.d.ts +7 -0
  118. package/lib/icons.module.d.ts +11 -0
  119. package/package.json +33 -0
  120. package/public-api.d.ts +48 -0
@@ -0,0 +1,134 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { confirm } from 'devextreme/ui/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../application-content.service";
5
+ import * as i2 from "../../common";
6
+ import * as i3 from "ngx-toastr";
7
+ import * as i4 from "@angular/platform-browser";
8
+ import * as i5 from "@angular/router";
9
+ import * as i6 from "@angular/common";
10
+ import * as i7 from "devextreme-angular/core";
11
+ import * as i8 from "devextreme-angular/ui/nested";
12
+ import * as i9 from "devextreme-angular/ui/data-grid";
13
+ import * as i10 from "../../shared/loader/loader.component";
14
+ import * as i11 from "../../common-header/common-header.component";
15
+ export class ApplicationViewsComponent {
16
+ constructor(service, commonService, toastr, title, activatedRoute, router) {
17
+ this.service = service;
18
+ this.commonService = commonService;
19
+ this.toastr = toastr;
20
+ this.title = title;
21
+ this.activatedRoute = activatedRoute;
22
+ this.router = router;
23
+ this.isLoader = false;
24
+ this.isEditClick = false;
25
+ this.isFilterInputs = false;
26
+ this.isNewComponentViewCreate = false;
27
+ this.isDuplidateView = false;
28
+ this.treeListForSearchBox = [];
29
+ this.selectedDataSet = {};
30
+ this.componentNamesOthers = [
31
+ { "compName": "GammaTodayPreviousComponent", "item": "Today vs Previous Day " },
32
+ { "compName": "GammaTableWithPercentageComponent", "item": "Table View with percentage" },
33
+ { "compName": "GammSingleNumberCardComponent", "item": "Single Number Card" }
34
+ ];
35
+ this.title.setTitle('Application Views');
36
+ }
37
+ ngOnInit() {
38
+ let contentViewId = this.activatedRoute.snapshot.queryParams['pageId'];
39
+ if (contentViewId) {
40
+ this.pageId = true;
41
+ }
42
+ this.getComponentViewSet();
43
+ }
44
+ createNewComponentView() {
45
+ this.router.navigate(['/apps/controlPanel/applicationViews/viewEditor']);
46
+ }
47
+ getComponentViewSet() {
48
+ this.isLoader = true;
49
+ this.service.getAppViewConfigs().subscribe({
50
+ next: (data) => {
51
+ this.componentViewTableDataSource = data;
52
+ this.isLoader = false;
53
+ this.isNewComponentViewCreate = false;
54
+ this.isDuplidateView = false;
55
+ }, error: (err) => {
56
+ this.toastr.error('Unexpected Server Exception. Please contact System Admin.', 'View Creation');
57
+ }
58
+ });
59
+ }
60
+ editViews(data) {
61
+ let navigationExtra = {
62
+ queryParams: {
63
+ viewId: data.viewId,
64
+ contentType: "edit"
65
+ }
66
+ };
67
+ this.router.navigate(['/apps/controlPanel/applicationViews/viewEditor'], navigationExtra);
68
+ }
69
+ duplicateViews(data) {
70
+ let navigationExtra = {
71
+ queryParams: {
72
+ viewId: data.viewId,
73
+ contentType: "clone"
74
+ }
75
+ };
76
+ this.router.navigate(['/apps/controlPanel/applicationViews/viewEditor'], navigationExtra);
77
+ }
78
+ deleteDataset(data) {
79
+ let result = confirm("<i>Are You Sure?</i>", "Delete Dataset");
80
+ result.then((dialogResult) => {
81
+ if (dialogResult) {
82
+ this.isLoader = true;
83
+ this.service.deleteAppViewConfig(data.viewId).subscribe((val) => {
84
+ this.getComponentViewSet();
85
+ this.isLoader = false;
86
+ this.isEditClick = false;
87
+ this.toastr.success('Dataset Deleted Successfully');
88
+ }, err => {
89
+ console.log(err);
90
+ this.toastr.error('Unexpected Server Exception. Please contact System Admin.', 'Rule Module');
91
+ });
92
+ }
93
+ });
94
+ }
95
+ getCapitalize(item) {
96
+ return this.commonService.convertToSpaceSeparatedCapitalized(item);
97
+ }
98
+ backToPage() {
99
+ let contentViewId = this.activatedRoute.snapshot.queryParams['pageId'];
100
+ if (contentViewId) {
101
+ let navigation = {
102
+ queryParams: {
103
+ 'pageId': contentViewId,
104
+ "contentType": 'edit'
105
+ }
106
+ };
107
+ this.router.navigate(['/apps/controlPanel/pageConfigController'], navigation);
108
+ }
109
+ }
110
+ gotoDataset() {
111
+ let contentViewId = this.activatedRoute.snapshot.queryParams['pageId'];
112
+ if (contentViewId) {
113
+ let navigation = {
114
+ queryParams: {
115
+ 'pageId': contentViewId,
116
+ }
117
+ };
118
+ this.router.navigate(['/apps/controlPanel/applicationDataset'], navigation);
119
+ }
120
+ else {
121
+ this.router.navigate(['/apps/controlPanel/applicationDataset']);
122
+ }
123
+ }
124
+ }
125
+ ApplicationViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ApplicationViewsComponent, deps: [{ token: i1.ApplicationContentService }, { token: i2.CommonService }, { token: i3.ToastrService }, { token: i4.Title }, { token: i5.ActivatedRoute }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component });
126
+ ApplicationViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: ApplicationViewsComponent, selector: "app-application-views", viewQueries: [{ propertyName: "scrollToElement", first: true, predicate: ["scrollToElement"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0\">\n\n <lib-common-header [pageTitle]=\"'Application Views'\"></lib-common-header>\n\n <div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900\n dark:text-white border-b pb-3 flex items-center\">\n <i class=\"fa fa-table mr-2\"></i> Manage Views\n <div class=\"ml-auto\">\n\n\n <button class=\"{{commonService.btnLightWhite}}\" (click)=\"backToPage()\" *ngIf=\"pageId\">\n Back To Page\n </button>\n\n <button class=\"{{commonService.btn_primary_md}}\" (click)=\"createNewComponentView()\">\n Add View\n </button>\n\n </div>\n </h6>\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <dx-data-grid [columnAutoWidth]=\"true\" [dataSource]=\"componentViewTableDataSource\"\n [hoverStateEnabled]=\"true\" *ngIf=\"!isLoader\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\"\n [showColumnLines]=\"true\" [showRowLines]=\"true\" id=\"gridContainer\">\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxo-export [enabled]=\"true\"></dxo-export>\n <dxo-search-panel [highlightCaseSensitive]=\"true\" [visible]=\"true\">\n </dxo-search-panel>\n\n <dxi-column dataField=\"viewName\"></dxi-column>\n <!-- <dxi-column dataField=\"datasetName\"></dxi-column>-->\n <!-- <dxi-column dataField=\"viewLabel\"></dxi-column> -->\n <dxi-column dataField=\"kpiConfig.formate\"></dxi-column>\n <dxi-column dataField=\"kpiConfig.componentName\"></dxi-column>\n <dxi-column dataField=\"viewType\"></dxi-column>\n <dxi-column dataField=\"createdBy\"></dxi-column>\n <dxi-column dataField=\"creationDate\"></dxi-column>\n <dxi-column dataField=\"action\" cellTemplate=\"cellTemplate\" [fixed]=\"true\"\n fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'cellTemplate'\">\n <button class=\"{{commonService.btn_primary_md}}\" (click)=\"editViews(data.data)\">\n Edit\n </button>\n <!-- <button class=\"{{commonService.btn_warning_md}}\" (click)=\"duplicateViews(data.data)\">\n Duplicate\n </button> -->\n <button class=\"{{commonService.btn_danger_md}}\" (click)=\"deleteDataset(data.data)\">\n Delete\n </button>\n </div>\n\n\n\n </dx-data-grid>\n </div>\n </div>\n\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i8.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "proxyUrl", "svgToCanvas", "allowExportSelectedData", "customizeExcelCell", "excelFilterEnabled", "excelWrapTextEnabled", "ignoreExcelErrors", "texts"] }, { kind: "component", type: i9.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "customizeExportData", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "focusStateEnabled", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExported", "onExporting", "onFileSaving", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "customizeExportDataChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "focusStateEnabledChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i8.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i8.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i8.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "component", type: i10.LoaderComponent, selector: "app-loader" }, { kind: "component", type: i11.CommonHeaderComponent, selector: "lib-common-header", inputs: ["pageTitle"] }] });
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ApplicationViewsComponent, decorators: [{
128
+ type: Component,
129
+ args: [{ selector: 'app-application-views', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n\n <lib-common-header [pageTitle]=\"'Application Views'\"></lib-common-header>\n\n <div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900\n dark:text-white border-b pb-3 flex items-center\">\n <i class=\"fa fa-table mr-2\"></i> Manage Views\n <div class=\"ml-auto\">\n\n\n <button class=\"{{commonService.btnLightWhite}}\" (click)=\"backToPage()\" *ngIf=\"pageId\">\n Back To Page\n </button>\n\n <button class=\"{{commonService.btn_primary_md}}\" (click)=\"createNewComponentView()\">\n Add View\n </button>\n\n </div>\n </h6>\n <app-loader *ngIf=\"isLoader\"></app-loader>\n <dx-data-grid [columnAutoWidth]=\"true\" [dataSource]=\"componentViewTableDataSource\"\n [hoverStateEnabled]=\"true\" *ngIf=\"!isLoader\" [selectedRowKeys]=\"[]\" [showBorders]=\"true\"\n [showColumnLines]=\"true\" [showRowLines]=\"true\" id=\"gridContainer\">\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxo-export [enabled]=\"true\"></dxo-export>\n <dxo-search-panel [highlightCaseSensitive]=\"true\" [visible]=\"true\">\n </dxo-search-panel>\n\n <dxi-column dataField=\"viewName\"></dxi-column>\n <!-- <dxi-column dataField=\"datasetName\"></dxi-column>-->\n <!-- <dxi-column dataField=\"viewLabel\"></dxi-column> -->\n <dxi-column dataField=\"kpiConfig.formate\"></dxi-column>\n <dxi-column dataField=\"kpiConfig.componentName\"></dxi-column>\n <dxi-column dataField=\"viewType\"></dxi-column>\n <dxi-column dataField=\"createdBy\"></dxi-column>\n <dxi-column dataField=\"creationDate\"></dxi-column>\n <dxi-column dataField=\"action\" cellTemplate=\"cellTemplate\" [fixed]=\"true\"\n fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'cellTemplate'\">\n <button class=\"{{commonService.btn_primary_md}}\" (click)=\"editViews(data.data)\">\n Edit\n </button>\n <!-- <button class=\"{{commonService.btn_warning_md}}\" (click)=\"duplicateViews(data.data)\">\n Duplicate\n </button> -->\n <button class=\"{{commonService.btn_danger_md}}\" (click)=\"deleteDataset(data.data)\">\n Delete\n </button>\n </div>\n\n\n\n </dx-data-grid>\n </div>\n </div>\n\n</div>" }]
130
+ }], ctorParameters: function () { return [{ type: i1.ApplicationContentService }, { type: i2.CommonService }, { type: i3.ToastrService }, { type: i4.Title }, { type: i5.ActivatedRoute }, { type: i5.Router }]; }, propDecorators: { scrollToElement: [{
131
+ type: ViewChild,
132
+ args: ['scrollToElement']
133
+ }] } });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tdmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2FwcGxpY2F0aW9uLXZpZXctY29tcG9uZW50cy9hcHBsaWNhdGlvbi12aWV3cy9hcHBsaWNhdGlvbi12aWV3cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL2FwcGxpY2F0aW9uLWNvbnRyb2xsZXIvYXBwbGljYXRpb24tdmlldy1jb21wb25lbnRzL2FwcGxpY2F0aW9uLXZpZXdzL2FwcGxpY2F0aW9uLXZpZXdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFXL0MsTUFBTSxPQUFPLHlCQUF5QjtJQXdCcEMsWUFDVSxPQUFrQyxFQUNuQyxhQUE0QixFQUMzQixNQUFxQixFQUNyQixLQUFZLEVBQ1osY0FBOEIsRUFDOUIsTUFBYztRQUxkLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBQ25DLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzNCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBM0J4QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLDZCQUF3QixHQUFZLEtBQUssQ0FBQztR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QUMsQ0FBQyx1Q0FBdUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzdFO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHVDQUF1QyxDQUFDLENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7O3NIQWxKVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixpTENkdEMsODZGQTJETTsyRkQ3Q08seUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHVCQUF1Qjs4T0EwQkgsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQgeyBjb25maXJtIH0gZnJvbSAnZGV2ZXh0cmVtZS91aS9kaWFsb2cnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FeHRyYXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwbGljYXRpb24tY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXBwbGljYXRpb24tdmlld3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwbGljYXRpb24tdmlld3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hcHBsaWNhdGlvbi12aWV3cy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uVmlld3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb21wb25lbnRWaWV3VGFibGVEYXRhU291cmNlOiBhbnk7XG4gIGRhdGFTZXR0YWJsZURhdGFTb3VyY2U6IGFueTtcbiAgaXNMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNFZGl0Q2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNGaWx0ZXJJbnB1dHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNOZXdDb21wb25lbnRWaWV3Q3JlYXRlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzRHVwbGlkYXRlVmlldzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzQ3JlYXRlVmlld0Zyb21LcGk6IGJvb2xlYW47XG4gIGlzQ3JlYXRlVmlld0Zyb21LcGlMb2FkZXI6IGJvb2xlYW47XG4gIGlzQ3JlYXRlTmV3VmlldzogYm9vbGVhbjtcbiAgdHJlZUxpc3RGb3JTZWFyY2hCb3g6IGFueSA9IFtdO1xuICBzZWxlY3RlZERhdGFTZXQ6IGFueSA9IHt9O1xuICB2aWV3SWQ6IGFueTtcbiAgcGFnZUlkOiBhbnk7XG4gIGNvbXBvbmVudE5hbWVzT3RoZXJzID0gW1xuICAgIHsgXCJjb21wTmFtZVwiOiBcIkdhbW1hVG9kYXlQcmV2aW91c0NvbXBvbmVudFwiLCBcIml0ZW1cIjogXCJUb2RheSB2cyBQcmV2aW91cyBEYXkgXCIgfSxcbiAgICB7IFwiY29tcE5hbWVcIjogXCJHYW1tYVRhYmxlV2l0aFBlcmNlbnRhZ2VDb21wb25lbnRcIiwgXCJpdGVtXCI6IFwiVGFibGUgVmlldyB3aXRoIHBlcmNlbnRhZ2VcIiB9LFxuICAgIHsgXCJjb21wTmFtZVwiOiBcIkdhbW1TaW5nbGVOdW1iZXJDYXJkQ29tcG9uZW50XCIsIFwiaXRlbVwiOiBcIlNpbmdsZSBOdW1iZXIgQ2FyZFwiIH1cbiAgXVxuICBjb21wb25lbnROYW1lOiBhbnk7XG4gIEBWaWV3Q2hpbGQoJ3Njcm9sbFRvRWxlbWVudCcpIHNjcm9sbFRvRWxlbWVudCE6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBBcHBsaWNhdGlvbkNvbnRlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGl0bGU6IFRpdGxlLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgdGhpcy50aXRsZS5zZXRUaXRsZSgnQXBwbGljYXRpb24gVmlld3MnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGxldCBjb250ZW50Vmlld0lkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1sncGFnZUlkJ107XG4gICAgaWYgKGNvbnRlbnRWaWV3SWQpIHtcbiAgICAgIHRoaXMucGFnZUlkID0gdHJ1ZTtcbiAgICB9XG5cblxuICAgIHRoaXMuZ2V0Q29tcG9uZW50Vmlld1NldCgpO1xuICB9XG5cbiAgY3JlYXRlTmV3Q29tcG9uZW50VmlldygpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hcHBzL2NvbnRyb2xQYW5lbC9hcHBsaWNhdGlvblZpZXdzL3ZpZXdFZGl0b3InXSlcbiAgfVxuXG5cbiAgZ2V0Q29tcG9uZW50Vmlld1NldCgpIHtcbiAgICB0aGlzLmlzTG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLnNlcnZpY2UuZ2V0QXBwVmlld0NvbmZpZ3MoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNvbXBvbmVudFZpZXdUYWJsZURhdGFTb3VyY2UgPSBkYXRhO1xuICAgICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNOZXdDb21wb25lbnRWaWV3Q3JlYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNEdXBsaWRhdGVWaWV3ID0gZmFsc2U7XG4gICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RyLmVycm9yKCdVbmV4cGVjdGVkIFNlcnZlciBFeGNlcHRpb24uIFBsZWFzZSBjb250YWN0IFN5c3RlbSBBZG1pbi4nLCAnVmlldyBDcmVhdGlvbicpXG5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiAgZWRpdFZpZXdzKGRhdGEpIHtcbiAgICBsZXQgbmF2aWdhdGlvbkV4dHJhOiBOYXZpZ2F0aW9uRXh0cmFzID0ge1xuICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgdmlld0lkOiBkYXRhLnZpZXdJZCxcbiAgICAgICAgY29udGVudFR5cGU6IFwiZWRpdFwiXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcHMvY29udHJvbFBhbmVsL2FwcGxpY2F0aW9uVmlld3Mvdmlld0VkaXRvciddLCBuYXZpZ2F0aW9uRXh0cmEpXG5cbiAgfVxuXG4gIGR1cGxpY2F0ZVZpZXdzKGRhdGEpIHtcbiAgICBsZXQgbmF2aWdhdGlvbkV4dHJhOiBOYXZpZ2F0aW9uRXh0cmFzID0ge1xuICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgdmlld0lkOiBkYXRhLnZpZXdJZCxcbiAgICAgICAgY29udGVudFR5cGU6IFwiY2xvbmVcIlxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hcHBzL2NvbnRyb2xQYW5lbC9hcHBsaWNhdGlvblZpZXdzL3ZpZXdFZGl0b3InXSwgbmF2aWdhdGlvbkV4dHJhKVxuICB9XG5cbiAgZGVsZXRlRGF0YXNldChkYXRhKSB7XG4gICAgbGV0IHJlc3VsdCA9IGNvbmZpcm0oXCI8aT5BcmUgWW91IFN1cmU/PC9pPlwiLCBcIkRlbGV0ZSBEYXRhc2V0XCIpO1xuICAgIHJlc3VsdC50aGVuKChkaWFsb2dSZXN1bHQpID0+IHtcbiAgICAgIGlmIChkaWFsb2dSZXN1bHQpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlciA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VydmljZS5kZWxldGVBcHBWaWV3Q29uZmlnKGRhdGEudmlld0lkKS5zdWJzY3JpYmUoKHZhbDogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5nZXRDb21wb25lbnRWaWV3U2V0KCk7XG4gICAgICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNFZGl0Q2xpY2sgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnRvYXN0ci5zdWNjZXNzKCdEYXRhc2V0IERlbGV0ZWQgU3VjY2Vzc2Z1bGx5JylcbiAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKCdVbmV4cGVjdGVkIFNlcnZlciBFeGNlcHRpb24uIFBsZWFzZSBjb250YWN0IFN5c3RlbSBBZG1pbi4nLCAnUnVsZSBNb2R1bGUnKTtcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cbiAgZ2V0Q2FwaXRhbGl6ZShpdGVtOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb21tb25TZXJ2aWNlLmNvbnZlcnRUb1NwYWNlU2VwYXJhdGVkQ2FwaXRhbGl6ZWQoaXRlbSlcbiAgfVxuXG4gIGJhY2tUb1BhZ2UoKSB7XG4gICAgbGV0IGNvbnRlbnRWaWV3SWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydwYWdlSWQnXTtcbiAgICBpZiAoY29udGVudFZpZXdJZCkge1xuICAgICAgbGV0IG5hdmlnYXRpb246IE5hdmlnYXRpb25FeHRyYXMgPSB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgJ3BhZ2VJZCc6IGNvbnRlbnRWaWV3SWQsXG4gICAgICAgICAgXCJjb250ZW50VHlwZVwiOiAnZWRpdCdcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcHMvY29udHJvbFBhbmVsL3BhZ2VDb25maWdDb250cm9sbGVyJ10sIG5hdmlnYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGdvdG9EYXRhc2V0KCkge1xuICAgIGxldCBjb250ZW50Vmlld0lkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1sncGFnZUlkJ107XG4gICAgaWYgKGNvbnRlbnRWaWV3SWQpIHtcbiAgICAgIGxldCBuYXZpZ2F0aW9uOiBOYXZpZ2F0aW9uRXh0cmFzID0ge1xuICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICdwYWdlSWQnOiBjb250ZW50Vmlld0lkLFxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwcy9jb250cm9sUGFuZWwvYXBwbGljYXRpb25EYXRhc2V0J10sIG5hdmlnYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hcHBzL2NvbnRyb2xQYW5lbC9hcHBsaWNhdGlvbkRhdGFzZXQnXSk7XG4gICAgfVxuICB9XG5cblxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZmxleC1hdXRvIG1pbi13LTBcIj5cblxuICAgIDxsaWItY29tbW9uLWhlYWRlciBbcGFnZVRpdGxlXT1cIidBcHBsaWNhdGlvbiBWaWV3cydcIj48L2xpYi1jb21tb24taGVhZGVyPlxuXG4gICAgPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG4gICAgICAgICAgICA8aDYgY2xhc3M9XCJtYi0yIHRleHQtbGcgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMFxuICAgICAgICAgICAgICAgIGRhcms6dGV4dC13aGl0ZSBib3JkZXItYiBwYi0zIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10YWJsZSBtci0yXCI+PC9pPiBNYW5hZ2UgVmlld3NcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuXG5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInt7Y29tbW9uU2VydmljZS5idG5MaWdodFdoaXRlfX1cIiAoY2xpY2spPVwiYmFja1RvUGFnZSgpXCIgKm5nSWY9XCJwYWdlSWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhY2sgVG8gUGFnZVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwie3tjb21tb25TZXJ2aWNlLmJ0bl9wcmltYXJ5X21kfX1cIiAoY2xpY2spPVwiY3JlYXRlTmV3Q29tcG9uZW50VmlldygpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBBZGQgVmlld1xuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9oNj5cbiAgICAgICAgICAgIDxhcHAtbG9hZGVyICpuZ0lmPVwiaXNMb2FkZXJcIj48L2FwcC1sb2FkZXI+XG4gICAgICAgICAgICA8ZHgtZGF0YS1ncmlkIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiIFtkYXRhU291cmNlXT1cImNvbXBvbmVudFZpZXdUYWJsZURhdGFTb3VyY2VcIlxuICAgICAgICAgICAgICAgIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCIgKm5nSWY9XCIhaXNMb2FkZXJcIiBbc2VsZWN0ZWRSb3dLZXlzXT1cIltdXCIgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzaG93Q29sdW1uTGluZXNdPVwidHJ1ZVwiIFtzaG93Um93TGluZXNdPVwidHJ1ZVwiIGlkPVwiZ3JpZENvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIxMFwiPjwvZHhvLXBhZ2luZz5cbiAgICAgICAgICAgICAgICA8ZHhvLWV4cG9ydCBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tZXhwb3J0PlxuICAgICAgICAgICAgICAgIDxkeG8tc2VhcmNoLXBhbmVsIFtoaWdobGlnaHRDYXNlU2Vuc2l0aXZlXT1cInRydWVcIiBbdmlzaWJsZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPC9keG8tc2VhcmNoLXBhbmVsPlxuXG4gICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidmlld05hbWVcIj48L2R4aS1jb2x1bW4+XG4gICAgICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJkYXRhc2V0TmFtZVwiPjwvZHhpLWNvbHVtbj4tLT5cbiAgICAgICAgICAgICAgICA8IS0tIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInZpZXdMYWJlbFwiPjwvZHhpLWNvbHVtbj4gLS0+XG4gICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwia3BpQ29uZmlnLmZvcm1hdGVcIj48L2R4aS1jb2x1bW4+XG4gICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwia3BpQ29uZmlnLmNvbXBvbmVudE5hbWVcIj48L2R4aS1jb2x1bW4+XG4gICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidmlld1R5cGVcIj48L2R4aS1jb2x1bW4+XG4gICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwiY3JlYXRlZEJ5XCI+PC9keGktY29sdW1uPlxuICAgICAgICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cImNyZWF0aW9uRGF0ZVwiPjwvZHhpLWNvbHVtbj5cbiAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJhY3Rpb25cIiBjZWxsVGVtcGxhdGU9XCJjZWxsVGVtcGxhdGVcIiBbZml4ZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZpeGVkUG9zaXRpb249XCJyaWdodFwiPjwvZHhpLWNvbHVtbj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGRhdGEgb2YgJ2NlbGxUZW1wbGF0ZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInt7Y29tbW9uU2VydmljZS5idG5fcHJpbWFyeV9tZH19XCIgKGNsaWNrKT1cImVkaXRWaWV3cyhkYXRhLmRhdGEpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxidXR0b24gY2xhc3M9XCJ7e2NvbW1vblNlcnZpY2UuYnRuX3dhcm5pbmdfbWR9fVwiIChjbGljayk9XCJkdXBsaWNhdGVWaWV3cyhkYXRhLmRhdGEpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBEdXBsaWNhdGVcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwie3tjb21tb25TZXJ2aWNlLmJ0bl9kYW5nZXJfbWR9fVwiIChjbGljayk9XCJkZWxldGVEYXRhc2V0KGRhdGEuZGF0YSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIERlbGV0ZVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuXG5cbiAgICAgICAgICAgIDwvZHgtZGF0YS1ncmlkPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuPC9kaXY+Il19