gamma-app-controller 1.1.3 → 1.1.4
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/esm2020/lib/application-controller/application-content.service.mjs +40 -1
- package/esm2020/lib/application-controller/application-controller.module.mjs +5 -1
- package/esm2020/lib/application-controller/application-dataset-component/application-dataset/application-dataset.component.mjs +3 -3
- package/esm2020/lib/application-controller/application-filter/application-filter.component.mjs +2 -2
- package/esm2020/lib/application-controller/application-menu-controller/application-create-menu/application-create-menu.component.mjs +104 -27
- package/esm2020/lib/application-controller/application-menu-controller/application-menus/application-menus.component.mjs +95 -7
- package/esm2020/lib/application-controller/application-view-components/application-views/application-views.component.mjs +3 -3
- package/esm2020/lib/application-controller/common-header/common-header.component.mjs +6 -3
- package/esm2020/lib/application-controller/common.mjs +21 -1
- package/esm2020/lib/application-controller/page-controller/page-config/page-config.component.mjs +34 -8
- package/esm2020/lib/application-controller/page-controller/page-controller/page-controller.component.mjs +3 -3
- package/esm2020/lib/application-controller/shared/advanced-component/app-advance-header/app-header.component.mjs +1 -3
- package/fesm2015/gamma-app-controller.mjs +279 -43
- package/fesm2015/gamma-app-controller.mjs.map +1 -1
- package/fesm2020/gamma-app-controller.mjs +287 -43
- package/fesm2020/gamma-app-controller.mjs.map +1 -1
- package/lib/application-controller/application-content.service.d.ts +5 -0
- package/lib/application-controller/application-menu-controller/application-create-menu/application-create-menu.component.d.ts +15 -5
- package/lib/application-controller/application-menu-controller/application-menus/application-menus.component.d.ts +14 -1
- package/lib/application-controller/common-header/common-header.component.d.ts +1 -0
- package/lib/application-controller/common.d.ts +4 -0
- package/package.json +1 -1
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "../../common";
|
|
4
|
-
import * as i2 from "
|
|
5
|
-
import * as i3 from "
|
|
6
|
-
import * as i4 from "
|
|
7
|
-
import * as i5 from "
|
|
8
|
-
import * as i6 from "
|
|
9
|
-
import * as i7 from "
|
|
4
|
+
import * as i2 from "../../application-content.service";
|
|
5
|
+
import * as i3 from "ngx-toastr";
|
|
6
|
+
import * as i4 from "@angular/router";
|
|
7
|
+
import * as i5 from "@angular/common";
|
|
8
|
+
import * as i6 from "devextreme-angular/ui/check-box";
|
|
9
|
+
import * as i7 from "devextreme-angular/ui/select-box";
|
|
10
|
+
import * as i8 from "devextreme-angular/ui/text-box";
|
|
11
|
+
import * as i9 from "@angular/forms";
|
|
12
|
+
import * as i10 from "../../common-header/common-header.component";
|
|
10
13
|
export class ApplicationCreateMenuComponent {
|
|
11
|
-
constructor(commonservice) {
|
|
14
|
+
constructor(commonservice, service, toasterService, activatedRoute, router) {
|
|
12
15
|
this.commonservice = commonservice;
|
|
16
|
+
this.service = service;
|
|
17
|
+
this.toasterService = toasterService;
|
|
18
|
+
this.activatedRoute = activatedRoute;
|
|
19
|
+
this.router = router;
|
|
13
20
|
this.menuObject = {
|
|
14
21
|
menuId: "",
|
|
15
22
|
title: "",
|
|
@@ -17,36 +24,72 @@ export class ApplicationCreateMenuComponent {
|
|
|
17
24
|
type: "",
|
|
18
25
|
active: true,
|
|
19
26
|
disabled: false,
|
|
27
|
+
externalLink: false,
|
|
20
28
|
tooltip: "",
|
|
21
29
|
link: "",
|
|
22
30
|
fragment: "",
|
|
23
31
|
preserveFragment: "",
|
|
24
32
|
queryParams: "",
|
|
25
|
-
externalLink: false,
|
|
26
33
|
target: "",
|
|
27
34
|
icon: "",
|
|
28
|
-
badge: {
|
|
29
|
-
title: "string",
|
|
30
|
-
classes: "",
|
|
31
|
-
},
|
|
32
35
|
children: true,
|
|
33
36
|
url: "",
|
|
34
37
|
menuType: "",
|
|
35
38
|
parentMenuTid: "",
|
|
36
39
|
childMenuTid: "",
|
|
37
|
-
|
|
40
|
+
measures: []
|
|
38
41
|
};
|
|
39
42
|
this.ismenuContainer = false;
|
|
40
|
-
this.
|
|
43
|
+
this.isContentType = false;
|
|
44
|
+
this.menuType = ['user', 'group', 'role'];
|
|
41
45
|
this.userOptionContainer = [];
|
|
42
46
|
}
|
|
43
47
|
ngOnInit() {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
let menuId = this.activatedRoute.snapshot.queryParams['menuId'];
|
|
49
|
+
let contentType = this.activatedRoute.snapshot.queryParams['contentType'];
|
|
50
|
+
if (contentType == "edit") {
|
|
51
|
+
this.service.getAppAppMenuConfigById(menuId).subscribe({
|
|
52
|
+
next: (data) => {
|
|
53
|
+
this.menuObject = data;
|
|
54
|
+
this.ismenuContainer = true;
|
|
55
|
+
if (data['measures'] && data['measures'].length !== 0)
|
|
56
|
+
data['measures'].forEach(element => {
|
|
57
|
+
let att_value = element.attributeValues.join(",");
|
|
58
|
+
element.attributeValues = att_value;
|
|
59
|
+
});
|
|
60
|
+
this.userOptionContainer = (data['measures'] && data['measures'].length !== 0) ? data['measures'] : [];
|
|
61
|
+
this.isContentType = true;
|
|
62
|
+
}, error: (err) => {
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.userOptionContainer.push({
|
|
68
|
+
attributeType: "user",
|
|
69
|
+
attributeValues: "admin"
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
this.getParentMenuList();
|
|
73
|
+
}
|
|
74
|
+
getParentMenuList() {
|
|
75
|
+
this.paparentMenuDatasource = [];
|
|
76
|
+
this.service.getListOfParentAppMenu().subscribe({
|
|
77
|
+
next: (data) => {
|
|
78
|
+
data.forEach(element => {
|
|
79
|
+
if (element.type == "collapsable") {
|
|
80
|
+
let obj = {};
|
|
81
|
+
obj = {
|
|
82
|
+
parentMenuTid: element.parentMenuTid,
|
|
83
|
+
title: element.title,
|
|
84
|
+
menuId: element.menuId,
|
|
85
|
+
childMenuTid: element.childMenuTid,
|
|
86
|
+
};
|
|
87
|
+
this.paparentMenuDatasource.push(obj);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}, error: (error) => {
|
|
48
91
|
}
|
|
49
|
-
|
|
92
|
+
});
|
|
50
93
|
}
|
|
51
94
|
getMenuType(e) {
|
|
52
95
|
if (e.event) {
|
|
@@ -56,6 +99,7 @@ export class ApplicationCreateMenuComponent {
|
|
|
56
99
|
else if (e.value == "parent") {
|
|
57
100
|
this.menuObject['children'] = false;
|
|
58
101
|
}
|
|
102
|
+
this.menuObject['menuType'] = e.value;
|
|
59
103
|
this.menuObject['parentMenuTid'] = "";
|
|
60
104
|
this.menuObject['childMenuTid'] = "";
|
|
61
105
|
this.ismenuContainer = true;
|
|
@@ -63,22 +107,55 @@ export class ApplicationCreateMenuComponent {
|
|
|
63
107
|
}
|
|
64
108
|
addNewUser() {
|
|
65
109
|
this.userOptionContainer.push({
|
|
66
|
-
|
|
67
|
-
|
|
110
|
+
attributeType: "",
|
|
111
|
+
attributeValues: ""
|
|
68
112
|
});
|
|
69
113
|
}
|
|
70
114
|
deleteUser(i) {
|
|
71
115
|
this.userOptionContainer.splice(i, 1);
|
|
72
116
|
}
|
|
73
117
|
submitNewMenu() {
|
|
74
|
-
this.menuObject['
|
|
118
|
+
this.menuObject['measures'] = this.userOptionContainer;
|
|
119
|
+
this.userOptionContainer.forEach(element => {
|
|
120
|
+
let att_value = element.attributeValues.split(",");
|
|
121
|
+
element.attributeValues = att_value;
|
|
122
|
+
});
|
|
123
|
+
console.log(this.menuObject);
|
|
124
|
+
this.service.configureAppMenuConfig(this.menuObject).subscribe({
|
|
125
|
+
next: (data) => {
|
|
126
|
+
this.toasterService.success("Munu Added Successfully");
|
|
127
|
+
this.router.navigate(['/apps/controlPanel/menuController']);
|
|
128
|
+
}, error: (err) => {
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
updateMenu() {
|
|
133
|
+
this.menuObject['measures'] = this.userOptionContainer;
|
|
134
|
+
this.userOptionContainer.forEach(element => {
|
|
135
|
+
let att_value = element.attributeValues.split(",");
|
|
136
|
+
element.attributeValues = att_value;
|
|
137
|
+
});
|
|
75
138
|
console.log(this.menuObject);
|
|
139
|
+
this.service.updateAppMenuConfig(this.menuObject).subscribe({
|
|
140
|
+
next: (data) => {
|
|
141
|
+
this.toasterService.success("Menu Updated Successfully");
|
|
142
|
+
this.router.navigate(['/apps/controlPanel/menuController']);
|
|
143
|
+
}, error: (err) => {
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
getMenuTidType(item) {
|
|
148
|
+
const menu_object = this.paparentMenuDatasource.filter(menu => menu.menuId == item.value);
|
|
149
|
+
this.menuObject['parentMenuTid'] = menu_object[0]["childMenuTid"];
|
|
150
|
+
}
|
|
151
|
+
menuList() {
|
|
152
|
+
this.router.navigate(['/apps/controlPanel/menuController']);
|
|
76
153
|
}
|
|
77
154
|
}
|
|
78
|
-
ApplicationCreateMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ApplicationCreateMenuComponent, deps: [{ token: i1.CommonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
-
ApplicationCreateMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ApplicationCreateMenuComponent, selector: "lib-application-create-menu", ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0\">\n\n <lib-common-header [pageTitle]=\"'Add Menu'\"></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 Basic Information\n <div class=\"ml-auto\">\n \n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Menu Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['child','parent']\" [(ngModel)]=\"menuObject.menuType\"\n (onValueChanged)=\"getMenuType($event)\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\" *ngIf=\"menuObject.menuType == 'child'\">\n <div class=\"text-md p-2 capitalize\">Parent Menu</div>\n <div class=\"\">\n <dx-select-box [dataSource]=\"paparentMenuDatasource\" valueExpr=\"tid\" displayExpr=\"title\"\n [(ngModel)]=\"menuObject.parentMenuTid\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\" *ngIf=\"menuObject.menuType == 'child'\">\n <div class=\"text-md p-2 capitalize\">Child Menu TID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.childMenuTid\"\n [value]=\"menuObject.parentMenuTid\"></dx-text-box>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"ismenuContainer\">\n <div class=\"p-4 w-full\">\n <div\n 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 Item Information\n <div class=\"ml-auto\">\n \n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Menu ID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.menuId\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Title</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.title\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">subtitle</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.subtitle\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['aside','basic','collapsable','divider','group','spacer']\"\n [(ngModel)]=\"menuObject.type\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">tooltip</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.tooltip\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">link</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.link\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">fragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.fragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">target</div>\n <div class=\"\">\n <dx-select-box [items]=\"['_blank','_self','_parent','_top']\"\n [(ngModel)]=\"menuObject.target\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">preserveFragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.preserveFragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">queryParams</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.queryParams\"></dx-text-box>\n </div>\n </div>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">icon</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.icon\"></dx-text-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n\n <div class=\"mx-2 w-full\">\n <div class=\"m-10\">\n <dx-check-box [(ngModel)]=\"menuObject.children\" text=\"Children\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.externalLink\" text=\"External Link\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.active\" text=\"Active\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.disabled\" text=\"Disabled\"></dx-check-box>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n\n <div class=\"p-4 w-full\">\n <div\n 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 User Information\n <div class=\"ml-auto\">\n <div class=\"{{commonservice.btn_primary_md}}\" (click)=\"addNewUser()\">ADD User</div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">accessible users</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"item.userName\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">User Permissions</div>\n <div class=\"\">\n <dx-select-box [items]=\"['project.owner','project.editor','project.viewer']\"\n [(ngModel)]=\"item.permissions\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{commonservice.btn_danger_md}}\" (click)=\"deleteUser(i)\">Delete</div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row justify-end mt-4 border-t mt-8 py-4\">\n <div class=\"{{commonservice.btn_success_md}}\" (click)=\"submitNewMenu()\">Create Menu</div>\n </div>\n\n </div>\n </div>\n </div>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i4.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.CommonHeaderComponent, selector: "lib-common-header", inputs: ["pageTitle"] }] });
|
|
155
|
+
ApplicationCreateMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ApplicationCreateMenuComponent, deps: [{ token: i1.CommonService }, { token: i2.ApplicationContentService }, { token: i3.ToastrService }, { token: i4.ActivatedRoute }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
156
|
+
ApplicationCreateMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ApplicationCreateMenuComponent, selector: "lib-application-create-menu", ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0\">\n\n <lib-common-header [pageTitle]=\"'Add Menu'\"></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 Basic Information\n <div class=\"ml-auto\">\n <button class=\"{{commonservice.btn_purple_md}}\" (click)=\"menuList()\">\n All Menu\n </button>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Menu Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['child','parent']\" [(ngModel)]=\"menuObject.menuType\"\n (onValueChanged)=\"getMenuType($event)\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Parent Menu</div>\n <div class=\"\">\n <dx-select-box [showClearButton]=\"true\" (onValueChanged)=\"getMenuTidType($event)\" [items]=\"paparentMenuDatasource\" valueExpr=\"menuId\" displayExpr=\"title\"></dx-select-box>\n \n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Parent Menu TID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.parentMenuTid\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Child Menu TID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.childMenuTid\"\n [value]=\"menuObject.childMenuTid\"></dx-text-box>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"ismenuContainer\">\n <div class=\"p-4 w-full\">\n <div\n 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 Item Information\n <div class=\"ml-auto\">\n \n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Menu ID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.menuId\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Title</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.title\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">subtitle</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.subtitle\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['aside','basic','collapsable','divider','group','spacer']\"\n [(ngModel)]=\"menuObject.type\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">tooltip</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.tooltip\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">link</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.link\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">fragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.fragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">target</div>\n <div class=\"\">\n <dx-select-box [items]=\"['_blank','_self','_parent','_top']\"\n [(ngModel)]=\"menuObject.target\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">preserveFragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.preserveFragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">queryParams</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.queryParams\"></dx-text-box>\n </div>\n </div>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">icon</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.icon\"></dx-text-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n\n <div class=\"mx-2 w-full\">\n <div class=\"m-10\">\n <dx-check-box [(ngModel)]=\"menuObject.children\" text=\"Children\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.externalLink\" text=\"External Link\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.active\" text=\"Active\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.disabled\" text=\"Disabled\"></dx-check-box>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n\n <div class=\"p-4 w-full\">\n <div\n 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 User Information\n <div class=\"ml-auto\">\n <div class=\"{{commonservice.btn_primary_md}}\" (click)=\"addNewUser()\">ADD User</div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Accessible User Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"menuType\" [(ngModel)]=\"item.attributeType\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/4\" *ngIf=\"item.attributeType == 'user'\">\n <div class=\"text-md p-2 capitalize\">User Name</div>\n <div class=\"\">\n <dx-text-box \n [(ngModel)]=\"item.attributeValues\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/4\" *ngIf=\"item.attributeType == 'role'\">\n <div class=\"text-md p-2 capitalize\">Select Role</div>\n <div class=\"\">\n <dx-text-box \n [(ngModel)]=\"item.attributeValues\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/4\" *ngIf=\"item.attributeType == 'group'\">\n <div class=\"text-md p-2 capitalize\">Select Group</div>\n <div class=\"\">\n <dx-text-box \n [(ngModel)]=\"item.attributeValues\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{commonservice.btn_danger_md}}\" (click)=\"deleteUser(i)\">Delete</div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row justify-end mt-4 border-t mt-8 py-4\" *ngIf=\"!isContentType\">\n <div class=\"{{commonservice.btn_success_md}}\" (click)=\"submitNewMenu()\">Create Menu</div>\n </div>\n <div class=\"flex flex-row justify-end mt-4 border-t mt-8 py-4\" *ngIf=\"isContentType\">\n <div class=\"{{commonservice.btn_success_md}}\" (click)=\"updateMenu()\">Update Menu</div>\n </div>\n\n </div>\n </div>\n </div>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i7.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i8.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i10.CommonHeaderComponent, selector: "lib-common-header", inputs: ["pageTitle"] }] });
|
|
80
157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ApplicationCreateMenuComponent, decorators: [{
|
|
81
158
|
type: Component,
|
|
82
|
-
args: [{ selector: 'lib-application-create-menu', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n\n <lib-common-header [pageTitle]=\"'Add Menu'\"></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 Basic Information\n <div class=\"ml-auto\">\n \n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Menu Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['child','parent']\" [(ngModel)]=\"menuObject.menuType\"\n (onValueChanged)=\"getMenuType($event)\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\" *ngIf=\"menuObject.menuType == 'child'\">\n <div class=\"text-md p-2 capitalize\">Parent Menu</div>\n <div class=\"\">\n <dx-select-box [dataSource]=\"paparentMenuDatasource\" valueExpr=\"tid\" displayExpr=\"title\"\n [(ngModel)]=\"menuObject.parentMenuTid\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\" *ngIf=\"menuObject.menuType == 'child'\">\n <div class=\"text-md p-2 capitalize\">Child Menu TID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.childMenuTid\"\n [value]=\"menuObject.parentMenuTid\"></dx-text-box>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"ismenuContainer\">\n <div class=\"p-4 w-full\">\n <div\n 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 Item Information\n <div class=\"ml-auto\">\n \n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Menu ID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.menuId\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Title</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.title\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">subtitle</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.subtitle\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['aside','basic','collapsable','divider','group','spacer']\"\n [(ngModel)]=\"menuObject.type\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">tooltip</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.tooltip\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">link</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.link\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">fragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.fragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">target</div>\n <div class=\"\">\n <dx-select-box [items]=\"['_blank','_self','_parent','_top']\"\n [(ngModel)]=\"menuObject.target\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">preserveFragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.preserveFragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">queryParams</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.queryParams\"></dx-text-box>\n </div>\n </div>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">icon</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.icon\"></dx-text-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n\n <div class=\"mx-2 w-full\">\n <div class=\"m-10\">\n <dx-check-box [(ngModel)]=\"menuObject.children\" text=\"Children\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.externalLink\" text=\"External Link\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.active\" text=\"Active\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.disabled\" text=\"Disabled\"></dx-check-box>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n\n <div class=\"p-4 w-full\">\n <div\n 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 User Information\n <div class=\"ml-auto\">\n <div class=\"{{commonservice.btn_primary_md}}\" (click)=\"addNewUser()\">ADD User</div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">accessible users</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"item.userName\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">User Permissions</div>\n <div class=\"\">\n <dx-select-box [items]=\"['project.owner','project.editor','project.viewer']\"\n [(ngModel)]=\"item.permissions\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{commonservice.btn_danger_md}}\" (click)=\"deleteUser(i)\">Delete</div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row justify-end mt-4 border-t mt-8 py-4\">\n <div class=\"{{commonservice.btn_success_md}}\" (click)=\"submitNewMenu()\">Create Menu</div>\n </div>\n\n </div>\n </div>\n </div>\n </ng-container>\n</div>" }]
|
|
83
|
-
}], ctorParameters: function () { return [{ type: i1.CommonService }]; } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2FwcGxpY2F0aW9uLW1lbnUtY29udHJvbGxlci9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL2FwcGxpY2F0aW9uLWNvbnRyb2xsZXIvYXBwbGljYXRpb24tbWVudS1jb250cm9sbGVyL2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51L2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQVNsRCxNQUFNLE9BQU8sOEJBQThCO0lBZ0N6QyxZQUNTLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBaENyQyxlQUFVLEdBQVE7WUFDaEIsTUFBTSxFQUFFLEVBQUU7WUFDVixLQUFLLEVBQUUsRUFBRTtZQUNULFFBQVEsRUFBRSxFQUFFO1lBQ1osSUFBSSxFQUFDLEVBQUU7WUFDUCxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLEVBQUU7WUFDWCxJQUFJLEVBQUUsRUFBRTtZQUNSLFFBQVEsRUFBRSxFQUFFO1lBQ1osZ0JBQWdCLEVBQUUsRUFBRTtZQUNwQixXQUFXLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLO1lBQ25CLE1BQU0sRUFBQyxFQUFFO1lBQ1QsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUU7Z0JBQ0gsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsT0FBTyxFQUFFLEVBQUU7YUFDZDtZQUNELFFBQVEsRUFBRSxJQUFJO1lBQ2QsR0FBRyxFQUFFLEVBQUU7WUFDUCxRQUFRLEVBQUMsRUFBRTtZQUNYLGFBQWEsRUFBQyxFQUFFO1lBQ2hCLFlBQVksRUFBQyxFQUFFO1lBQ2YsSUFBSSxFQUFDLEVBQUU7U0FDVixDQUFBO1FBRUQsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFeEIsMkJBQXNCLEdBQUcsQ0FBQyxFQUFDLEtBQUssRUFBQyxXQUFXLEVBQUUsR0FBRyxFQUFDLEdBQUcsRUFBQyxFQUFDLEVBQUMsS0FBSyxFQUFDLGdCQUFnQixFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFBO1FBQ3hGLHdCQUFtQixHQUFPLEVBQUUsQ0FBQztJQUd2QixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRztZQUN6QjtnQkFDRSxRQUFRLEVBQUMsRUFBRTtnQkFDWCxXQUFXLEVBQUMsRUFBRTthQUNmO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBQztRQUNYLElBQUcsQ0FBQyxDQUFDLEtBQUssRUFBQztZQUNULElBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxPQUFPLEVBQUM7Z0JBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ3BDO2lCQUFNLElBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUM7Z0JBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBRXJDO1lBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7WUFDMUIsUUFBUSxFQUFDLEVBQUU7WUFDWCxXQUFXLEVBQUMsRUFBRTtTQUNmLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxVQUFVLENBQUMsQ0FBQztRQUNWLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDOUIsQ0FBQzs7MkhBekVVLDhCQUE4QjsrR0FBOUIsOEJBQThCLG1FQ1QzQyw4MVVBNE1NOzJGRG5NTyw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElzQWN0aXZlTWF0Y2hPcHRpb25zLCBQYXJhbXMsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hcHBsaWNhdGlvbi1jcmVhdGUtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkNyZWF0ZU1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtZW51T2JqZWN0IDphbnkgPSB7XG4gICAgbWVudUlkOiBcIlwiLFxuICAgIHRpdGxlOiBcIlwiLFxuICAgIHN1YnRpdGxlOiBcIlwiLFxuICAgIHR5cGU6XCJcIixcbiAgICBhY3RpdmU6IHRydWUsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIHRvb2x0aXA6IFwiXCIsXG4gICAgbGluazogXCJcIixcbiAgICBmcmFnbWVudDogXCJcIixcbiAgICBwcmVzZXJ2ZUZyYWdtZW50OiBcIlwiLFxuICAgIHF1ZXJ5UGFyYW1zOiBcIlwiLFxuICAgIGV4dGVybmFsTGluazogZmFsc2UsXG4gICAgdGFyZ2V0OlwiXCIsXG4gICAgaWNvbjogXCJcIixcbiAgICBiYWRnZToge1xuICAgICAgICB0aXRsZTogXCJzdHJpbmdcIixcbiAgICAgICAgY2xhc3NlczogXCJcIixcbiAgICB9LFxuICAgIGNoaWxkcmVuOiB0cnVlLFxuICAgIHVybDogXCJcIixcbiAgICBtZW51VHlwZTpcIlwiLFxuICAgIHBhcmVudE1lbnVUaWQ6XCJcIixcbiAgICBjaGlsZE1lbnVUaWQ6XCJcIixcbiAgICB1c2VyOltdXG59XG5cbmlzbWVudUNvbnRhaW5lciA9IGZhbHNlO1xuXG5wYXBhcmVudE1lbnVEYXRhc291cmNlID0gW3t0aXRsZTpcIkRhc2hib2FyZFwiLCB0aWQ6XCIxXCJ9LHt0aXRsZTpcIkFwcCBDb250cm9sbGVyXCIsdGlkOlwiMlwifV1cbnVzZXJPcHRpb25Db250YWluZXI6YW55ID0gW107XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb21tb25zZXJ2aWNlOiBDb21tb25TZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyID0gW1xuICAgICAge1xuICAgICAgICB1c2VyTmFtZTpcIlwiLFxuICAgICAgICBwZXJtaXNzaW9uczpcIlwiXG4gICAgICB9XG4gICAgXVxuICB9XG5cbiAgZ2V0TWVudVR5cGUoZSl7XG4gICAgaWYoZS5ldmVudCl7XG4gICAgICBpZihlLnZhbHVlID09IFwiY2hpbGRcIil7XG4gICAgICAgIHRoaXMubWVudU9iamVjdFsnY2hpbGRyZW4nXSA9IHRydWU7IFxuICAgICAgfSBlbHNlIGlmKGUudmFsdWUgPT0gXCJwYXJlbnRcIil7XG4gICAgICAgIHRoaXMubWVudU9iamVjdFsnY2hpbGRyZW4nXSA9IGZhbHNlOyBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICB0aGlzLm1lbnVPYmplY3RbJ3BhcmVudE1lbnVUaWQnXSA9IFwiXCI7IFxuICAgICAgdGhpcy5tZW51T2JqZWN0WydjaGlsZE1lbnVUaWQnXSA9IFwiXCI7IFxuICAgICAgdGhpcy5pc21lbnVDb250YWluZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGFkZE5ld1VzZXIoKXtcbiAgICB0aGlzLnVzZXJPcHRpb25Db250YWluZXIucHVzaCh7XG4gICAgICAgIHVzZXJOYW1lOlwiXCIsXG4gICAgICAgIHBlcm1pc3Npb25zOlwiXCJcbiAgICAgIH0pXG4gIH1cblxuICBkZWxldGVVc2VyKGkpe1xuICAgIHRoaXMudXNlck9wdGlvbkNvbnRhaW5lci5zcGxpY2UoaSwgMSlcbiAgfVxuXG4gIHN1Ym1pdE5ld01lbnUoKXtcbiAgICB0aGlzLm1lbnVPYmplY3RbJ3VzZXInXSA9IHRoaXMudXNlck9wdGlvbkNvbnRhaW5lcjtcbiAgICBjb25zb2xlLmxvZyh0aGlzLm1lbnVPYmplY3QpXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZmxleC1hdXRvIG1pbi13LTBcIj5cblxuICAgIDxsaWItY29tbW9uLWhlYWRlciBbcGFnZVRpdGxlXT1cIidBZGQgTWVudSdcIj48L2xpYi1jb21tb24taGVhZGVyPlxuXG4gICAgPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG4gICAgICAgICAgICA8aDYgY2xhc3M9XCJtYi0yIHRleHQtbGcgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMFxuICAgICAgICAgICAgICAgIGRhcms6dGV4dC13aGl0ZSBib3JkZXItYiBwYi0zIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgQmFzaWMgSW5mb3JtYXRpb25cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvaDY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgbS0yXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy0xLzNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+TWVudSBUeXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggW2l0ZW1zXT1cIlsnY2hpbGQnLCdwYXJlbnQnXVwiIFsobmdNb2RlbCldPVwibWVudU9iamVjdC5tZW51VHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJnZXRNZW51VHlwZSgkZXZlbnQpXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiICpuZ0lmPVwibWVudU9iamVjdC5tZW51VHlwZSA9PSAnY2hpbGQnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlBhcmVudCBNZW51PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggW2RhdGFTb3VyY2VdPVwicGFwYXJlbnRNZW51RGF0YXNvdXJjZVwiIHZhbHVlRXhwcj1cInRpZFwiIGRpc3BsYXlFeHByPVwidGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QucGFyZW50TWVudVRpZFwiPjwvZHgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy0xLzNcIiAqbmdJZj1cIm1lbnVPYmplY3QubWVudVR5cGUgPT0gJ2NoaWxkJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5DaGlsZCBNZW51IFRJRDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuY2hpbGRNZW51VGlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm1lbnVPYmplY3QucGFyZW50TWVudVRpZFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNtZW51Q29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTQgdy1mdWxsXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtLTMgcC00IGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0yMDAgcm91bmRlZC1sZyBzaGFkb3ctbWQgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMFwiPlxuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cIm1iLTIgdGV4dC1sZyB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwXG4gICAgICAgICAgICAgICAgZGFyazp0ZXh0LXdoaXRlIGJvcmRlci1iIHBiLTMgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICBJdGVtIEluZm9ybWF0aW9uXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9oNj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgbS0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPk1lbnUgSUQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QubWVudUlkXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5UaXRsZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC50aXRsZVwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+c3VidGl0bGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3Quc3VidGl0bGVcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IFtpdGVtc109XCJbJ2FzaWRlJywnYmFzaWMnLCdjb2xsYXBzYWJsZScsJ2RpdmlkZXInLCdncm91cCcsJ3NwYWNlciddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVudU9iamVjdC50eXBlXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnRvb2x0aXA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QudG9vbHRpcFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+bGluazwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5saW5rXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5mcmFnbWVudDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5mcmFnbWVudFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+dGFyZ2V0PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwiWydfYmxhbmsnLCdfc2VsZicsJ19wYXJlbnQnLCdfdG9wJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnRhcmdldFwiPjwvZHgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5wcmVzZXJ2ZUZyYWdtZW50PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnByZXNlcnZlRnJhZ21lbnRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnF1ZXJ5UGFyYW1zPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnF1ZXJ5UGFyYW1zXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPmljb248L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuaWNvblwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IG10LTJcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tMTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LWNoZWNrLWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuY2hpbGRyZW5cIiB0ZXh0PVwiQ2hpbGRyZW5cIj48L2R4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LWNoZWNrLWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuZXh0ZXJuYWxMaW5rXCIgdGV4dD1cIkV4dGVybmFsIExpbmtcIj48L2R4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1jaGVjay1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LmFjdGl2ZVwiIHRleHQ9XCJBY3RpdmVcIj48L2R4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1jaGVjay1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LmRpc2FibGVkXCIgdGV4dD1cIkRpc2FibGVkXCI+PC9keC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTQgdy1mdWxsXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtLTMgcC00IGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0yMDAgcm91bmRlZC1sZyBzaGFkb3ctbWQgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMFwiPlxuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cIm1iLTIgdGV4dC1sZyB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwXG4gICAgICAgICAgICAgICAgZGFyazp0ZXh0LXdoaXRlIGJvcmRlci1iIHBiLTMgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICBVc2VyIEluZm9ybWF0aW9uXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwie3tjb21tb25zZXJ2aWNlLmJ0bl9wcmltYXJ5X21kfX1cIiAoY2xpY2spPVwiYWRkTmV3VXNlcigpXCI+QUREIFVzZXI8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9oNj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgbS0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdXNlck9wdGlvbkNvbnRhaW5lcjsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPmFjY2Vzc2libGUgdXNlcnM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwiaXRlbS51c2VyTmFtZVwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS80XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+VXNlciBQZXJtaXNzaW9uczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwiWydwcm9qZWN0Lm93bmVyJywncHJvamVjdC5lZGl0b3InLCdwcm9qZWN0LnZpZXdlciddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0ucGVybWlzc2lvbnNcIj48L2R4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwie3tjb21tb25zZXJ2aWNlLmJ0bl9kYW5nZXJfbWR9fVwiIChjbGljayk9XCJkZWxldGVVc2VyKGkpXCI+RGVsZXRlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktZW5kIG10LTQgYm9yZGVyLXQgbXQtOCBweS00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwie3tjb21tb25zZXJ2aWNlLmJ0bl9zdWNjZXNzX21kfX1cIiAoY2xpY2spPVwic3VibWl0TmV3TWVudSgpXCI+Q3JlYXRlIE1lbnU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==
|
|
159
|
+
args: [{ selector: 'lib-application-create-menu', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n\n <lib-common-header [pageTitle]=\"'Add Menu'\"></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 Basic Information\n <div class=\"ml-auto\">\n <button class=\"{{commonservice.btn_purple_md}}\" (click)=\"menuList()\">\n All Menu\n </button>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Menu Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['child','parent']\" [(ngModel)]=\"menuObject.menuType\"\n (onValueChanged)=\"getMenuType($event)\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Parent Menu</div>\n <div class=\"\">\n <dx-select-box [showClearButton]=\"true\" (onValueChanged)=\"getMenuTidType($event)\" [items]=\"paparentMenuDatasource\" valueExpr=\"menuId\" displayExpr=\"title\"></dx-select-box>\n \n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Parent Menu TID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.parentMenuTid\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Child Menu TID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.childMenuTid\"\n [value]=\"menuObject.childMenuTid\"></dx-text-box>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"ismenuContainer\">\n <div class=\"p-4 w-full\">\n <div\n 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 Item Information\n <div class=\"ml-auto\">\n \n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Menu ID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.menuId\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Title</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.title\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">subtitle</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.subtitle\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['aside','basic','collapsable','divider','group','spacer']\"\n [(ngModel)]=\"menuObject.type\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">tooltip</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.tooltip\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">link</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.link\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">fragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.fragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">target</div>\n <div class=\"\">\n <dx-select-box [items]=\"['_blank','_self','_parent','_top']\"\n [(ngModel)]=\"menuObject.target\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">preserveFragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.preserveFragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">queryParams</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.queryParams\"></dx-text-box>\n </div>\n </div>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">icon</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.icon\"></dx-text-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n\n <div class=\"mx-2 w-full\">\n <div class=\"m-10\">\n <dx-check-box [(ngModel)]=\"menuObject.children\" text=\"Children\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.externalLink\" text=\"External Link\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.active\" text=\"Active\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.disabled\" text=\"Disabled\"></dx-check-box>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n\n <div class=\"p-4 w-full\">\n <div\n 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 User Information\n <div class=\"ml-auto\">\n <div class=\"{{commonservice.btn_primary_md}}\" (click)=\"addNewUser()\">ADD User</div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Accessible User Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"menuType\" [(ngModel)]=\"item.attributeType\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/4\" *ngIf=\"item.attributeType == 'user'\">\n <div class=\"text-md p-2 capitalize\">User Name</div>\n <div class=\"\">\n <dx-text-box \n [(ngModel)]=\"item.attributeValues\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/4\" *ngIf=\"item.attributeType == 'role'\">\n <div class=\"text-md p-2 capitalize\">Select Role</div>\n <div class=\"\">\n <dx-text-box \n [(ngModel)]=\"item.attributeValues\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/4\" *ngIf=\"item.attributeType == 'group'\">\n <div class=\"text-md p-2 capitalize\">Select Group</div>\n <div class=\"\">\n <dx-text-box \n [(ngModel)]=\"item.attributeValues\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{commonservice.btn_danger_md}}\" (click)=\"deleteUser(i)\">Delete</div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <div class=\"flex flex-row justify-end mt-4 border-t mt-8 py-4\" *ngIf=\"!isContentType\">\n <div class=\"{{commonservice.btn_success_md}}\" (click)=\"submitNewMenu()\">Create Menu</div>\n </div>\n <div class=\"flex flex-row justify-end mt-4 border-t mt-8 py-4\" *ngIf=\"isContentType\">\n <div class=\"{{commonservice.btn_success_md}}\" (click)=\"updateMenu()\">Update Menu</div>\n </div>\n\n </div>\n </div>\n </div>\n </ng-container>\n</div>" }]
|
|
160
|
+
}], ctorParameters: function () { return [{ type: i1.CommonService }, { type: i2.ApplicationContentService }, { type: i3.ToastrService }, { type: i4.ActivatedRoute }, { type: i4.Router }]; } });
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2FwcGxpY2F0aW9uLW1lbnUtY29udHJvbGxlci9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL2FwcGxpY2F0aW9uLWNvbnRyb2xsZXIvYXBwbGljYXRpb24tbWVudS1jb250cm9sbGVyL2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51L2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQVdsRCxNQUFNLE9BQU8sOEJBQThCO0lBa0N6QyxZQUNTLGFBQTRCLEVBQzNCLE9BQWtDLEVBQ2xDLGNBQTZCLEVBQzdCLGNBQThCLEVBQzlCLE1BQWM7UUFKZixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUEyQjtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXRDeEIsZUFBVSxHQUFRO1lBQ2hCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsS0FBSyxFQUFFLEVBQUU7WUFDVCxRQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksRUFBRSxFQUFFO1lBQ1IsTUFBTSxFQUFFLElBQUk7WUFDWixRQUFRLEVBQUUsS0FBSztZQUNmLFlBQVksRUFBRSxLQUFLO1lBQ25CLE9BQU8s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VSxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFELElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQTtZQUM3RCxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFFdkIsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBSTtRQUVqQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFcEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQTtJQUU3RCxDQUFDOzsySEF6S1UsOEJBQThCOytHQUE5Qiw4QkFBOEIsbUVDWDNDLG02WEFxT007MkZEMU5PLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIElzQWN0aXZlTWF0Y2hPcHRpb25zLCBQYXJhbXMsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHBsaWNhdGlvbi1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwbGljYXRpb24tY3JlYXRlLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25DcmVhdGVNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbWVudU9iamVjdDogYW55ID0ge1xuICAgIG1lbnVJZDogXCJcIixcbiAgICB0aXRsZTogXCJcIixcbiAgICBzdWJ0aXRsZTogXCJcIixcbiAgICB0eXBlOiBcIlwiLFxuICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgZXh0ZXJuYWxMaW5rOiBmYWxzZSxcbiAgICB0b29sdGlwOiBcIlwiLFxuICAgIGxpbms6IFwiXCIsXG4gICAgZnJhZ21lbnQ6IFwiXCIsXG4gICAgcHJlc2VydmVGcmFnbWVudDogXCJcIixcbiAgICBxdWVyeVBhcmFtczogXCJcIixcbiAgICB0YXJnZXQ6IFwiXCIsXG4gICAgaWNvbjogXCJcIixcbiAgICAvLyBiYWRnZToge1xuICAgIC8vICAgICB0aXRsZTogXCJzdHJpbmdcIixcbiAgICAvLyAgICAgY2xhc3NlczogXCJcIixcbiAgICAvLyB9LFxuICAgIGNoaWxkcmVuOiB0cnVlLFxuICAgIHVybDogXCJcIixcbiAgICBtZW51VHlwZTogXCJcIixcbiAgICBwYXJlbnRNZW51VGlkOiBcIlwiLFxuICAgIGNoaWxkTWVudVRpZDogXCJcIixcbiAgICBtZWFzdXJlczogW11cbiAgfVxuXG4gIGlzbWVudUNvbnRhaW5lciA9IGZhbHNlO1xuICBpc0NvbnRlbnRUeXBlID0gZmFsc2U7XG4gIG1lbnVUeXBlID0gWyd1c2VyJywgJ2dyb3VwJywgJ3JvbGUnXVxuXG4gIHBhcGFyZW50TWVudURhdGFzb3VyY2U6IGFueTtcbiAgdXNlck9wdGlvbkNvbnRhaW5lcjogYW55ID0gW107XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb21tb25zZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VydmljZTogQXBwbGljYXRpb25Db250ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcblxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGxldCBtZW51SWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydtZW51SWQnXTtcbiAgICBsZXQgY29udGVudFR5cGUgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydjb250ZW50VHlwZSddO1xuICAgIGlmKGNvbnRlbnRUeXBlID09IFwiZWRpdFwiKXtcbiAgICAgIFxuICAgICAgdGhpcy5zZXJ2aWNlLmdldEFwcEFwcE1lbnVDb25maWdCeUlkKG1lbnVJZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDooZGF0YTphbnkpPT57XG4gICAgICAgICAgdGhpcy5tZW51T2JqZWN0ID0gZGF0YTtcbiAgICAgICAgICB0aGlzLmlzbWVudUNvbnRhaW5lciA9IHRydWU7XG4gICAgICAgICAgaWYoIGRhdGFbJ21lYXN1cmVzJ10gJiYgZGF0YVsnbWVhc3VyZXMnXS5sZW5ndGggIT09IDApXG4gICAgICAgICAgICAgIGRhdGFbJ21lYXN1cmVzJ10uZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgYXR0X3ZhbHVlID0gZWxlbWVudC5hdHRyaWJ1dGVWYWx1ZXMuam9pbihcIixcIik7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5hdHRyaWJ1dGVWYWx1ZXMgPSBhdHRfdmFsdWU7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMudXNlck9wdGlvbkNvbnRhaW5lciA9IChkYXRhWydtZWFzdXJlcyddICYmIGRhdGFbJ21lYXN1cmVzJ10ubGVuZ3RoICE9PSAwKT9kYXRhWydtZWFzdXJlcyddOltdO1xuICAgICAgICAgIHRoaXMuaXNDb250ZW50VHlwZSA9IHRydWU7XG5cbiAgICAgICAgfSwgZXJyb3I6KGVycjphbnkpPT57XG5cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9ZWxzZSB7XG4gICAgICB0aGlzLnVzZXJPcHRpb25Db250YWluZXIucHVzaCh7XG4gICAgICAgIGF0dHJpYnV0ZVR5cGU6IFwidXNlclwiLFxuICAgICAgICBhdHRyaWJ1dGVWYWx1ZXM6IFwiYWRtaW5cIlxuICAgICAgfSlcbiAgICB9XG5cbiAgICB0aGlzLmdldFBhcmVudE1lbnVMaXN0KCk7XG4gIH1cblxuICBnZXRQYXJlbnRNZW51TGlzdCgpIHtcbiAgICB0aGlzLnBhcGFyZW50TWVudURhdGFzb3VyY2UgPSBbXTtcbiAgICB0aGlzLnNlcnZpY2UuZ2V0TGlzdE9mUGFyZW50QXBwTWVudSgpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGRhdGEuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50LnR5cGUgPT0gXCJjb2xsYXBzYWJsZVwiKXtcbiAgICAgICAgICAgIGxldCBvYmogPSB7fTtcbiAgICAgICAgICAgIG9iaiA9IHtcbiAgICAgICAgICAgICAgcGFyZW50TWVudVRpZDplbGVtZW50LnBhcmVudE1lbnVUaWQsXG4gICAgICAgICAgICAgIHRpdGxlOiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAgICBtZW51SWQ6ZWxlbWVudC5tZW51SWQsXG4gICAgICAgICAgICAgIGNoaWxkTWVudVRpZDplbGVtZW50LmNoaWxkTWVudVRpZCxcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wYXBhcmVudE1lbnVEYXRhc291cmNlLnB1c2gob2JqKVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH0sIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xuXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldE1lbnVUeXBlKGUpIHtcbiAgICBpZiAoZS5ldmVudCkge1xuICAgICAgaWYgKGUudmFsdWUgPT0gXCJjaGlsZFwiKSB7XG4gICAgICAgIHRoaXMubWVudU9iamVjdFsnY2hpbGRyZW4nXSA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGUudmFsdWUgPT0gXCJwYXJlbnRcIikge1xuICAgICAgICB0aGlzLm1lbnVPYmplY3RbJ2NoaWxkcmVuJ10gPSBmYWxzZTtcblxuICAgICAgfVxuICAgICAgdGhpcy5tZW51T2JqZWN0WydtZW51VHlwZSddID0gZS52YWx1ZTtcbiAgICAgIHRoaXMubWVudU9iamVjdFsncGFyZW50TWVudVRpZCddID0gXCJcIjtcbiAgICAgIHRoaXMubWVudU9iamVjdFsnY2hpbGRNZW51VGlkJ10gPSBcIlwiO1xuICAgICAgdGhpcy5pc21lbnVDb250YWluZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGFkZE5ld1VzZXIoKSB7XG4gICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyLnB1c2goe1xuICAgICAgYXR0cmlidXRlVHlwZTogXCJcIixcbiAgICAgIGF0dHJpYnV0ZVZhbHVlczogXCJcIlxuICAgIH0pXG4gIH1cblxuICBkZWxldGVVc2VyKGkpIHtcbiAgICB0aGlzLnVzZXJPcHRpb25Db250YWluZXIuc3BsaWNlKGksIDEpXG4gIH1cblxuICBzdWJtaXROZXdNZW51KCkge1xuICAgIHRoaXMubWVudU9iamVjdFsnbWVhc3VyZXMnXSA9IHRoaXMudXNlck9wdGlvbkNvbnRhaW5lcjtcbiAgICB0aGlzLnVzZXJPcHRpb25Db250YWluZXIuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGxldCBhdHRfdmFsdWUgPSBlbGVtZW50LmF0dHJpYnV0ZVZhbHVlcy5zcGxpdChcIixcIik7XG4gICAgICBlbGVtZW50LmF0dHJpYnV0ZVZhbHVlcyA9IGF0dF92YWx1ZTtcbiAgICB9KTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLm1lbnVPYmplY3QpXG4gICAgdGhpcy5zZXJ2aWNlLmNvbmZpZ3VyZUFwcE1lbnVDb25maWcodGhpcy5tZW51T2JqZWN0KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoXCJNdW51IEFkZGVkIFN1Y2Nlc3NmdWxseVwiKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwcy9jb250cm9sUGFuZWwvbWVudUNvbnRyb2xsZXInXSlcbiAgICAgIH0sIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcblxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICB1cGRhdGVNZW51KCl7XG4gICAgdGhpcy5tZW51T2JqZWN0WydtZWFzdXJlcyddID0gdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyO1xuICAgIHRoaXMudXNlck9wdGlvbkNvbnRhaW5lci5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgbGV0IGF0dF92YWx1ZSA9IGVsZW1lbnQuYXR0cmlidXRlVmFsdWVzLnNwbGl0KFwiLFwiKTtcbiAgICAgIGVsZW1lbnQuYXR0cmlidXRlVmFsdWVzID0gYXR0X3ZhbHVlO1xuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKHRoaXMubWVudU9iamVjdClcbiAgICB0aGlzLnNlcnZpY2UudXBkYXRlQXBwTWVudUNvbmZpZyh0aGlzLm1lbnVPYmplY3QpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2Uuc3VjY2VzcyhcIk1lbnUgVXBkYXRlZCBTdWNjZXNzZnVsbHlcIik7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcHMvY29udHJvbFBhbmVsL21lbnVDb250cm9sbGVyJ10pXG4gICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XG5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0TWVudVRpZFR5cGUoaXRlbSl7XG4gICAgXG4gICAgY29uc3QgbWVudV9vYmplY3QgPSB0aGlzLnBhcGFyZW50TWVudURhdGFzb3VyY2UuZmlsdGVyKG1lbnU9PiBtZW51Lm1lbnVJZCA9PSBpdGVtLnZhbHVlKTtcbiAgICB0aGlzLm1lbnVPYmplY3RbJ3BhcmVudE1lbnVUaWQnXSA9IG1lbnVfb2JqZWN0WzBdW1wiY2hpbGRNZW51VGlkXCJdO1xuICAgIFxuICB9XG5cbiAgbWVudUxpc3QoKXtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hcHBzL2NvbnRyb2xQYW5lbC9tZW51Q29udHJvbGxlciddKVxuXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZmxleC1hdXRvIG1pbi13LTBcIj5cblxuICAgIDxsaWItY29tbW9uLWhlYWRlciBbcGFnZVRpdGxlXT1cIidBZGQgTWVudSdcIj48L2xpYi1jb21tb24taGVhZGVyPlxuXG4gICAgPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG4gICAgICAgICAgICA8aDYgY2xhc3M9XCJtYi0yIHRleHQtbGcgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMFxuICAgICAgICAgICAgICAgIGRhcms6dGV4dC13aGl0ZSBib3JkZXItYiBwYi0zIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgQmFzaWMgSW5mb3JtYXRpb25cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwie3tjb21tb25zZXJ2aWNlLmJ0bl9wdXJwbGVfbWR9fVwiIChjbGljayk9XCJtZW51TGlzdCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBBbGwgTWVudVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvaDY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgbS0yXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy0xLzNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+TWVudSBUeXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggW2l0ZW1zXT1cIlsnY2hpbGQnLCdwYXJlbnQnXVwiIFsobmdNb2RlbCldPVwibWVudU9iamVjdC5tZW51VHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJnZXRNZW51VHlwZSgkZXZlbnQpXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5QYXJlbnQgTWVudTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IFtzaG93Q2xlYXJCdXR0b25dPVwidHJ1ZVwiIChvblZhbHVlQ2hhbmdlZCk9XCJnZXRNZW51VGlkVHlwZSgkZXZlbnQpXCIgW2l0ZW1zXT1cInBhcGFyZW50TWVudURhdGFzb3VyY2VcIiB2YWx1ZUV4cHI9XCJtZW51SWRcIiBkaXNwbGF5RXhwcj1cInRpdGxlXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS8zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlBhcmVudCBNZW51IFRJRDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QucGFyZW50TWVudVRpZFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS8zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPkNoaWxkIE1lbnUgVElEPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5jaGlsZE1lbnVUaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwibWVudU9iamVjdC5jaGlsZE1lbnVUaWRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzbWVudUNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC00IHctZnVsbFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibS0zIHAtNCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93LW1kIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDBcIj5cbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJtYi0yIHRleHQtbGcgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMFxuICAgICAgICAgICAgICAgIGRhcms6dGV4dC13aGl0ZSBib3JkZXItYiBwYi0zIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgSXRlbSBJbmZvcm1hdGlvblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvaDY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIG0tMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5NZW51IElEPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0Lm1lbnVJZFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+VGl0bGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QudGl0bGVcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnN1YnRpdGxlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnN1YnRpdGxlXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5UeXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwiWydhc2lkZScsJ2Jhc2ljJywnY29sbGFwc2FibGUnLCdkaXZpZGVyJywnZ3JvdXAnLCdzcGFjZXInXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QudHlwZVwiPjwvZHgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj50b29sdGlwPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnRvb2x0aXBcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPmxpbms8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QubGlua1wiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+ZnJhZ21lbnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuZnJhZ21lbnRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnRhcmdldDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggW2l0ZW1zXT1cIlsnX2JsYW5rJywnX3NlbGYnLCdfcGFyZW50JywnX3RvcCddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVudU9iamVjdC50YXJnZXRcIj48L2R4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IG10LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+cHJlc2VydmVGcmFnbWVudDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5wcmVzZXJ2ZUZyYWdtZW50XCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5xdWVyeVBhcmFtczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5xdWVyeVBhcmFtc1wiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5pY29uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0Lmljb25cIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtdC0yXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLTEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1jaGVjay1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LmNoaWxkcmVuXCIgdGV4dD1cIkNoaWxkcmVuXCI+PC9keC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1jaGVjay1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LmV4dGVybmFsTGlua1wiIHRleHQ9XCJFeHRlcm5hbCBMaW5rXCI+PC9keC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5hY3RpdmVcIiB0ZXh0PVwiQWN0aXZlXCI+PC9keC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5kaXNhYmxlZFwiIHRleHQ9XCJEaXNhYmxlZFwiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicC00IHctZnVsbFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibS0zIHAtNCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93LW1kIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDBcIj5cbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJtYi0yIHRleHQtbGcgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMFxuICAgICAgICAgICAgICAgIGRhcms6dGV4dC13aGl0ZSBib3JkZXItYiBwYi0zIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgVXNlciBJbmZvcm1hdGlvblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInt7Y29tbW9uc2VydmljZS5idG5fcHJpbWFyeV9tZH19XCIgKGNsaWNrKT1cImFkZE5ld1VzZXIoKVwiPkFERCBVc2VyPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvaDY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIG0tMlwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHVzZXJPcHRpb25Db250YWluZXI7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy0xLzRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5BY2Nlc3NpYmxlIFVzZXIgVHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwibWVudVR5cGVcIiBbKG5nTW9kZWwpXT1cIml0ZW0uYXR0cmlidXRlVHlwZVwiPjwvZHgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy0xLzRcIiAqbmdJZj1cIml0ZW0uYXR0cmlidXRlVHlwZSA9PSAndXNlcidcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5Vc2VyIE5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5hdHRyaWJ1dGVWYWx1ZXNcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvNFwiICpuZ0lmPVwiaXRlbS5hdHRyaWJ1dGVUeXBlID09ICdyb2xlJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlNlbGVjdCBSb2xlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0uYXR0cmlidXRlVmFsdWVzXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy0xLzRcIiAqbmdJZj1cIml0ZW0uYXR0cmlidXRlVHlwZSA9PSAnZ3JvdXAnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+U2VsZWN0IEdyb3VwPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0uYXR0cmlidXRlVmFsdWVzXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ7e2NvbW1vbnNlcnZpY2UuYnRuX2Rhbmdlcl9tZH19XCIgKGNsaWNrKT1cImRlbGV0ZVVzZXIoaSlcIj5EZWxldGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1lbmQgbXQtNCBib3JkZXItdCBtdC04IHB5LTRcIiAqbmdJZj1cIiFpc0NvbnRlbnRUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwie3tjb21tb25zZXJ2aWNlLmJ0bl9zdWNjZXNzX21kfX1cIiAoY2xpY2spPVwic3VibWl0TmV3TWVudSgpXCI+Q3JlYXRlIE1lbnU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktZW5kIG10LTQgYm9yZGVyLXQgbXQtOCBweS00XCIgKm5nSWY9XCJpc0NvbnRlbnRUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwie3tjb21tb25zZXJ2aWNlLmJ0bl9zdWNjZXNzX21kfX1cIiAoY2xpY2spPVwidXBkYXRlTWVudSgpXCI+VXBkYXRlIE1lbnU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==
|