@rosoftlab/rdict 1.0.0-alpha-19 → 1.0.1-alpha-2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,275 +0,0 @@
1
- import { Component, ElementRef, EventEmitter, Injector, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { ActivatedRoute, NavigationStart, Router, RouterModule, UrlSegment } from '@angular/router';
3
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
4
- // import { Rule } from '@rosoftlab/core';
5
- import { CommonModule } from '@angular/common';
6
- import { KENDO_GRID } from '@progress/kendo-angular-grid';
7
- import { KENDO_LABEL } from '@progress/kendo-angular-label';
8
- import { KENDO_TOOLBAR } from '@progress/kendo-angular-toolbar';
9
- // import { ColumnMode, SelectionType, SortDirection } from '@swimlane/ngx-datatable';
10
- import { ReactiveDictionary } from '../../reactive-dictionary';
11
- import { WsAuthService } from '../../services';
12
- import { SocketService } from '../../services/socket.service';
13
- import { RdictTableTitle } from './rdict-table-title';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "@angular/router";
16
- import * as i2 from "@ngx-translate/core";
17
- import * as i3 from "../../services/socket.service";
18
- import * as i4 from "../../services";
19
- import * as i5 from "@angular/common";
20
- import * as i6 from "@progress/kendo-angular-grid";
21
- import * as i7 from "@progress/kendo-angular-toolbar";
22
- export class GenericRdictTableComponent {
23
- constructor(router, route, translate, injector, socketService, wsAuthService, el) {
24
- this.router = router;
25
- this.route = route;
26
- this.translate = translate;
27
- this.injector = injector;
28
- this.socketService = socketService;
29
- this.wsAuthService = wsAuthService;
30
- this.el = el;
31
- this.editOnClick = false;
32
- this.editOnDblClick = false;
33
- this.data = [];
34
- this.pageIndex = 1;
35
- this.pageSize = 30;
36
- this.isLoadingResults = true;
37
- this.isRateLimitReached = false;
38
- // @ViewChild('table') table: MatTable<any>;
39
- // @ViewChild('table', { read: ElementRef }) public matTableRef: ElementRef;
40
- this.selectedObject = new EventEmitter();
41
- this.click = new EventEmitter();
42
- this.editModel = new EventEmitter();
43
- this.columns = [];
44
- this.tableLayout = {};
45
- this.allColumns = [];
46
- // ColumnMode = ColumnMode;
47
- // SelectionType = SelectionType;
48
- this.headerHeight = 50;
49
- this.rowHeight = 50;
50
- }
51
- async ngOnInit() {
52
- this.setValueFromSnapshot(this, this.route.snapshot, 'model', "");
53
- this.setValueFromSnapshot(this, this.route.snapshot, 'showSerach', false);
54
- this.setValueFromSnapshot(this, this.route.snapshot, 'searchFields', null);
55
- this.setValueFromSnapshot(this, this.route.snapshot, 'customInclude', null);
56
- this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSort', null);
57
- this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSortDirection', '');
58
- this.setValueFromSnapshot(this, this.route.snapshot, 'deletePropertyName', 'name');
59
- this.setValueFromSnapshot(this, this.route.snapshot, 'defaultFilter', null);
60
- this.setValueFromSnapshot(this, this.route.snapshot, 'showHeader', true);
61
- this.setValueFromSnapshot(this, this.route.snapshot, 'deleteDisableRule', null);
62
- this.setValueFromSnapshot(this, this.route.snapshot, 'hasAdd', true);
63
- this.setValueFromSnapshot(this, this.route.snapshot, 'canDelete', true);
64
- this.setValueFromSnapshot(this, this.route.snapshot, 'canEdit', true);
65
- this.setValueFromSnapshot(this, this.route.snapshot, 'editOnClick', false);
66
- this.setValueFromSnapshot(this, this.route.snapshot, 'editOnDblClick', false);
67
- const currentUrlSegments = this.router.url.split('/').map(segment => new UrlSegment(segment, {}));
68
- this.basePath = currentUrlSegments.map(segment => segment.path).join('/');
69
- const filteredSegments = currentUrlSegments.filter(segment => segment.path !== '');
70
- this.dictPath = filteredSegments.map(segment => segment.path).join('.');
71
- this.model = filteredSegments.length > 0 ? filteredSegments[filteredSegments.length - 1].path : ''; // Default to empty string if no valid segments
72
- this.router.events.subscribe(event => {
73
- if (event instanceof NavigationStart) {
74
- // Navigation to another page is about to occur
75
- this.data = [];
76
- this.pageIndex = 1;
77
- // Perform actions or update component as needed
78
- }
79
- });
80
- this.rdict = ReactiveDictionary.getInstance(this.socketService, this.wsAuthService.Token);
81
- if (this.rdict.size == 0)
82
- await this.rdict.asyncInit();
83
- await this.getListLayout();
84
- await this.loadData();
85
- // this.isLoading = true;
86
- // this.onScroll(0);
87
- }
88
- setValueFromSnapshot(component, snapshot, key, defaultValue) {
89
- if (component[key] === undefined) {
90
- let dataFromSnapshot = snapshot.data[key];
91
- if (dataFromSnapshot === null || dataFromSnapshot === undefined) {
92
- dataFromSnapshot = snapshot.params[key];
93
- }
94
- component[key] = dataFromSnapshot !== undefined ? dataFromSnapshot : defaultValue;
95
- }
96
- }
97
- async loadData() {
98
- var x = await this.rdict.getTable(this.dictPath);
99
- const result = x.map(dictionary => {
100
- // Convert Map to object and filter out __guid
101
- const filteredObject = {};
102
- for (const [key, value] of dictionary.entries()) {
103
- if (key !== '__guid') {
104
- filteredObject[key] = value;
105
- }
106
- }
107
- return filteredObject;
108
- });
109
- this.dataSource = result; //new MatTableDataSource(result);
110
- }
111
- // async handleChange(event) {
112
- // this.filterValue = event.target.value.toLowerCase();
113
- // this.data = [];
114
- // this.pageIndex = 1
115
- // this.loadData();
116
- // }
117
- // loadData(event = null) {
118
- // const filters = [];
119
- // let sorts = '';
120
- // this.isLoading = true;
121
- // if (this.defaultSort) {
122
- // if (this.defaultSortDirection === 'desc') {
123
- // sorts = '-' + this.defaultSort;
124
- // } else {
125
- // sorts = this.defaultSort;
126
- // }
127
- // }
128
- // if (this.showSerach) {
129
- // if (this.filterValue) {
130
- // const y = '(' + this.searchFields.replace(',', '|') + ')';
131
- // filters.push(y + '@=*' + this.filterValue);
132
- // }
133
- // }
134
- // if (this.defaultFilter) {
135
- // filters.push(this.defaultFilter)
136
- // }
137
- // setTimeout(() => {
138
- // const filtersValue = filters.join(', ');
139
- // this.modelService.getAll(this.pageIndex, this.pageSize, sorts, filtersValue, this.customInclude).subscribe(
140
- // (response: BaseQueryData<T>) => {
141
- // if (this.pageIndex !== response.getMeta().meta.count) {
142
- // this.pageIndex++
143
- // } else {
144
- // if (event) event.target.disabled = true;
145
- // }
146
- // // if (this.filterValue)
147
- // // this.data = response.getModels();
148
- // // else
149
- // const rows = [...this.data, ...response.getModels()];
150
- // this.data = rows;
151
- // // this.data = this.data.concat();
152
- // if (event) event.target.complete();
153
- // this.isLoading = false;
154
- // })
155
- // }, 700);
156
- // }
157
- // async handleRefresh(event) {
158
- // this.pageIndex = 1
159
- // this.data = [];
160
- // this.loadData();
161
- // event.target.complete();
162
- // }
163
- // onAdd() {
164
- // console.log(this.basePath)
165
- // this.router.navigate([this.basePath + '/add'])
166
- // // this.navCtrl.navigateForward(this.basePath + '/add');
167
- // }
168
- // editModel(model: BaseModelFormly) {
169
- // if (this.canEdit)
170
- // this.router.navigate([this.basePath + '/edit/', model.id]);
171
- // // this.navCtrl.navigateForward(this.basePath + '/edit/' + model.id);
172
- // }
173
- async getListLayout() {
174
- if (this.model) {
175
- this.tableLayout = await this.rdict.asyncGet("config.models." + this.model + ".tableLayout");
176
- if (this.tableLayout) {
177
- this.title = this.translate.instant(this.tableLayout["title"]);
178
- this.allColumns = this.tableLayout["columns"].map(item => {
179
- if (!item.isTranslated) {
180
- item.name = this.translate.instant(item.translateKey);
181
- item.isTranslated = true;
182
- }
183
- return item;
184
- });
185
- this.columns = [];
186
- // this.allColumns = Reflect.getMetadata('IonicDataTableLayout', this.model).map((item: IonicDataTableLayoutConfig) => {
187
- // if (!item.isTranslated) {
188
- // item.name = this.translate.instant(item.name);
189
- // item.isTranslated = true
190
- // }
191
- // return item;
192
- // });
193
- this.allColumns.sort((a, b) => a.order - b.order);
194
- // if (this.canDelete || this.canEdit) {
195
- // this.allColumns.push({
196
- // // cellTemplate: null,
197
- // name: '',
198
- // // cellClass: 'actions-cell',
199
- // draggable: false,
200
- // sortable: false,
201
- // visible: true
202
- // // width: 100,
203
- // // maxWidth: 100,
204
- // // minWidth: 100
205
- // })
206
- // }
207
- // this.columns = this.allColumns.filter((item: IonicDataTableLayoutConfig) => item.visible);
208
- this.displayedColumns = [];
209
- // if (this.allowReorderItems) {
210
- // this.displayedColumns.push('position')
211
- // }
212
- this.displayedColumns.push.apply(this.displayedColumns, this.allColumns.map(x => x.propertyName));
213
- }
214
- }
215
- }
216
- addHandler() {
217
- console.log("add");
218
- this.router.navigate([this.basePath + '/add']);
219
- // this.editDataItem = new Product();
220
- // this.isNew = true;
221
- }
222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: GenericRdictTableComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.TranslateService }, { token: i0.Injector }, { token: i3.SocketService }, { token: i4.WsAuthService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
223
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: GenericRdictTableComponent, isStandalone: true, selector: "rsl-rdict-generic-table", inputs: { showSerach: "showSerach", searchFields: "searchFields", customInclude: "customInclude", defaultSort: "defaultSort", deletePropertyName: "deletePropertyName", defaultFilter: "defaultFilter", showHeader: "showHeader", hasAdd: "hasAdd", canDelete: "canDelete", canEdit: "canEdit", editOnClick: "editOnClick", editOnDblClick: "editOnDblClick" }, outputs: { selectedObject: "selectedObject", click: "click", editModel: "editModel" }, providers: [], viewQueries: [{ propertyName: "filter", first: true, predicate: ElementRef, descendants: true }], ngImport: i0, template: "<kendo-grid [data]=\"dataSource\" \n [sortable]=\"true\" \n [filterable]=\"showSerach\"\n (add)=\"addHandler()\">\n <kendo-toolbar>\n <table-title text=\"{{title}}\"></table-title>\n <kendo-toolbar-messages>Test</kendo-toolbar-messages>\n <!-- <kendo-toolbar-separator></kendo-toolbar-separator> -->\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <kendo-toolbar-button text=\"Add new\" kendoGridAddTool></kendo-toolbar-button>\n </kendo-toolbar>\n <!-- <kendo-toolbar>\n \n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <button kendoGridAddCommand type=\"button\">Add new</button>\n </kendo-toolbar> -->\n <kendo-grid-column *ngFor=\"let column of allColumns\" field=\"{{ column.propertyName }}\"\n title=\" {{column.translateKey | translate}}\">\n </kendo-grid-column>\n</kendo-grid>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
224
- // MatPaginatorModule,
225
- // MatTableModule,
226
- TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: i6.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "component", type: i6.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i6.AddCommandToolbarDirective, selector: "[kendoGridAddTool]" }, { kind: "component", type: i7.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: i7.ToolbarCustomMessagesComponent, selector: "kendo-toolbar-messages" }, { kind: "component", type: i7.ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "component", type: i7.ToolBarSpacerComponent, selector: "kendo-toolbar-spacer", exportAs: ["kendoToolBarSpacer"] }, { kind: "component", type: RdictTableTitle, selector: "table-title", inputs: ["text"] }], encapsulation: i0.ViewEncapsulation.None }); }
227
- }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: GenericRdictTableComponent, decorators: [{
229
- type: Component,
230
- args: [{ selector: 'rsl-rdict-generic-table', encapsulation: ViewEncapsulation.None, standalone: true, imports: [
231
- CommonModule,
232
- RouterModule,
233
- // MatPaginatorModule,
234
- // MatTableModule,
235
- TranslateModule,
236
- KENDO_GRID,
237
- KENDO_TOOLBAR,
238
- KENDO_LABEL,
239
- RdictTableTitle
240
- ], providers: [], template: "<kendo-grid [data]=\"dataSource\" \n [sortable]=\"true\" \n [filterable]=\"showSerach\"\n (add)=\"addHandler()\">\n <kendo-toolbar>\n <table-title text=\"{{title}}\"></table-title>\n <kendo-toolbar-messages>Test</kendo-toolbar-messages>\n <!-- <kendo-toolbar-separator></kendo-toolbar-separator> -->\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <kendo-toolbar-button text=\"Add new\" kendoGridAddTool></kendo-toolbar-button>\n </kendo-toolbar>\n <!-- <kendo-toolbar>\n \n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <button kendoGridAddCommand type=\"button\">Add new</button>\n </kendo-toolbar> -->\n <kendo-grid-column *ngFor=\"let column of allColumns\" field=\"{{ column.propertyName }}\"\n title=\" {{column.translateKey | translate}}\">\n </kendo-grid-column>\n</kendo-grid>" }]
241
- }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TranslateService }, { type: i0.Injector }, { type: i3.SocketService }, { type: i4.WsAuthService }, { type: i0.ElementRef }], propDecorators: { showSerach: [{
242
- type: Input
243
- }], searchFields: [{
244
- type: Input
245
- }], customInclude: [{
246
- type: Input
247
- }], defaultSort: [{
248
- type: Input
249
- }], deletePropertyName: [{
250
- type: Input
251
- }], defaultFilter: [{
252
- type: Input
253
- }], showHeader: [{
254
- type: Input
255
- }], hasAdd: [{
256
- type: Input
257
- }], canDelete: [{
258
- type: Input
259
- }], canEdit: [{
260
- type: Input
261
- }], editOnClick: [{
262
- type: Input
263
- }], editOnDblClick: [{
264
- type: Input
265
- }], filter: [{
266
- type: ViewChild,
267
- args: [ElementRef, { static: false }]
268
- }], selectedObject: [{
269
- type: Output
270
- }], click: [{
271
- type: Output
272
- }], editModel: [{
273
- type: Output
274
- }] } });
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL3JkaWN0LWdlbmVyaWMtdGFibGUvcmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL3JkaWN0LWdlbmVyaWMtdGFibGUvcmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxjQUFjLEVBQTBCLGVBQWUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVILE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLHNGQUFzRjtBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFF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QUFNO3NCQUEvQyxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSzlCLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyLCBSb3V0ZXJNb2R1bGUsIFVybFNlZ21lbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG4vLyBpbXBvcnQgeyBSdWxlIH0gZnJvbSAnQHJvc29mdGxhYi9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBLRU5ET19HUklEIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XG5pbXBvcnQgeyBLRU5ET19MQUJFTCB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWxhYmVsJztcbmltcG9ydCB7IEtFTkRPX1RPT0xCQVIgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10b29sYmFyJztcbi8vIGltcG9ydCB7IENvbHVtbk1vZGUsIFNlbGVjdGlvblR5cGUsIFNvcnREaXJlY3Rpb24gfSBmcm9tICdAc3dpbWxhbmUvbmd4LWRhdGF0YWJsZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZURpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi9yZWFjdGl2ZS1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFdzQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBTb2NrZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc29ja2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmRpY3RUYWJsZVRpdGxlIH0gZnJvbSAnLi9yZGljdC10YWJsZS10aXRsZSc7XG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzbC1yZGljdC1nZW5lcmljLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JkaWN0LWdlbmVyaWMtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZGljdC1nZW5lcmljLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIC8vIE1hdFBhZ2luYXRvck1vZHVsZSxcbiAgICAvLyBNYXRUYWJsZU1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgS0VORE9fR1JJRCxcbiAgICBLRU5ET19UT09MQkFSLFxuICAgIEtFTkRPX0xBQkVMLFxuICAgIFJkaWN0VGFibGVUaXRsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcblxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyaWNSZGljdFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGF0YVNvdXJjZTogdW5rbm93bltdIC8vTWF0VGFibGVEYXRhU291cmNlPGFueT4gPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKCk7XG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICBtb2RlbDogc3RyaW5nO1xuICBASW5wdXQoKSBzaG93U2VyYWNoOiBib29sZWFuO1xuICBASW5wdXQoKSBzZWFyY2hGaWVsZHM6IHN0cmluZztcbiAgQElucHV0KCkgY3VzdG9tSW5jbHVkZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0U29ydDogc3RyaW5nO1xuICAvLyBASW5wdXQoKSBkZWZhdWx0U29ydERpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbiAgQElucHV0KCkgZGVsZXRlUHJvcGVydHlOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRGaWx0ZXI6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd0hlYWRlcjogYm9vbGVhbjtcbiAgLy8gQElucHV0KCkgZGVsZXRlRGlzYWJsZVJ1bGU6IFJ1bGVbXTtcbiAgQElucHV0KCkgaGFzQWRkOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW5EZWxldGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNhbkVkaXQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVkaXRPbkNsaWNrOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVkaXRPbkRibENsaWNrOiBib29sZWFuID0gZmFsc2U7XG4gIGRhdGE6IGFueVtdID0gW107XG4gIHBhZ2VJbmRleDogbnVtYmVyID0gMTtcbiAgcGFnZVNpemU6IG51bWJlciA9IDMwXG5cbiAgYmFzZVBhdGg6IHN0cmluZztcbiAgZGljdFBhdGg6IHN0cmluZztcbiAgaXNMb2FkaW5nUmVzdWx0cyA9IHRydWU7XG4gIGlzUmF0ZUxpbWl0UmVhY2hlZCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoRWxlbWVudFJlZiwgeyBzdGF0aWM6IGZhbHNlIH0pIGZpbHRlcjogRWxlbWVudFJlZjtcbiAgLy8gQFZpZXdDaGlsZCgndGFibGUnKSB0YWJsZTogTWF0VGFibGU8YW55PjtcbiAgLy8gQFZpZXdDaGlsZCgndGFibGUnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcHVibGljIG1hdFRhYmxlUmVmOiBFbGVtZW50UmVmO1xuXG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkT2JqZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2xpY2s6IEV2ZW50RW1pdHRlcjx7IHByb3BlcnR5TmFtZTogc3RyaW5nLCBtb2RlbDogYW55IH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IHByb3BlcnR5TmFtZTogc3RyaW5nLCBtb2RlbDogYW55IH0+KCk7XG4gIEBPdXRwdXQoKSBlZGl0TW9kZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29sdW1ucyA9IFtdO1xuICB0YWJsZUxheW91dCA9IHt9O1xuICBhbGxDb2x1bW5zID0gW107XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xuICAvLyBDb2x1bW5Nb2RlID0gQ29sdW1uTW9kZTtcbiAgLy8gU2VsZWN0aW9uVHlwZSA9IFNlbGVjdGlvblR5cGU7XG5cbiAgcmVhZG9ubHkgaGVhZGVySGVpZ2h0ID0gNTA7XG4gIHJlYWRvbmx5IHJvd0hlaWdodCA9IDUwO1xuICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gIGZpbHRlclZhbHVlOiBzdHJpbmc7XG4gIG9sZE9mZnNldFk6IG51bWJlcjtcbiAgaGFzU2VhcmNoOiBmYWxzZVxuICByZGljdDogUmVhY3RpdmVEaWN0aW9uYXJ5IHwgdW5kZWZpbmVkO1xuICBzZWxlY3RlZEl0ZW06IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHVibGljIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgc29ja2V0U2VydmljZTogU29ja2V0U2VydmljZSxcbiAgICBwcml2YXRlIHdzQXV0aFNlcnZpY2U6IFdzQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xuICB9XG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ21vZGVsJywgXCJcIik7XG4gICAgdGhpcy5zZXRWYWx1ZUZyb21TbmFwc2hvdCh0aGlzLCB0aGlzLnJvdXRlLnNuYXBzaG90LCAnc2hvd1NlcmFjaCcsIGZhbHNlKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdzZWFyY2hGaWVsZHMnLCBudWxsKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdjdXN0b21JbmNsdWRlJywgbnVsbCk7XG4gICAgdGhpcy5zZXRWYWx1ZUZyb21TbmFwc2hvdCh0aGlzLCB0aGlzLnJvdXRlLnNuYXBzaG90LCAnZGVmYXVsdFNvcnQnLCBudWxsKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdkZWZhdWx0U29ydERpcmVjdGlvbicsICcnKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdkZWxldGVQcm9wZXJ0eU5hbWUnLCAnbmFtZScpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2RlZmF1bHRGaWx0ZXInLCBudWxsKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdzaG93SGVhZGVyJywgdHJ1ZSk7XG4gICAgdGhpcy5zZXRWYWx1ZUZyb21TbmFwc2hvdCh0aGlzLCB0aGlzLnJvdXRlLnNuYXBzaG90LCAnZGVsZXRlRGlzYWJsZVJ1bGUnLCBudWxsKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdoYXNBZGQnLCB0cnVlKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdjYW5EZWxldGUnLCB0cnVlKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdjYW5FZGl0JywgdHJ1ZSk7XG4gICAgdGhpcy5zZXRWYWx1ZUZyb21TbmFwc2hvdCh0aGlzLCB0aGlzLnJvdXRlLnNuYXBzaG90LCAnZWRpdE9uQ2xpY2snLCBmYWxzZSk7XG4gICAgdGhpcy5zZXRWYWx1ZUZyb21TbmFwc2hvdCh0aGlzLCB0aGlzLnJvdXRlLnNuYXBzaG90LCAnZWRpdE9uRGJsQ2xpY2snLCBmYWxzZSk7XG5cbiAgICBjb25zdCBjdXJyZW50VXJsU2VnbWVudHM6IFVybFNlZ21lbnRbXSA9IHRoaXMucm91dGVyLnVybC5zcGxpdCgnLycpLm1hcChzZWdtZW50ID0+IG5ldyBVcmxTZWdtZW50KHNlZ21lbnQsIHt9KSk7XG4gICAgdGhpcy5iYXNlUGF0aCA9IGN1cnJlbnRVcmxTZWdtZW50cy5tYXAoc2VnbWVudCA9PiBzZWdtZW50LnBhdGgpLmpvaW4oJy8nKTtcbiAgICBjb25zdCBmaWx0ZXJlZFNlZ21lbnRzID0gY3VycmVudFVybFNlZ21lbnRzLmZpbHRlcihzZWdtZW50ID0+IHNlZ21lbnQucGF0aCAhPT0gJycpO1xuICAgIHRoaXMuZGljdFBhdGggPSBmaWx0ZXJlZFNlZ21lbnRzLm1hcChzZWdtZW50ID0+IHNlZ21lbnQucGF0aCkuam9pbignLicpO1xuICAgIHRoaXMubW9kZWwgPSBmaWx0ZXJlZFNlZ21lbnRzLmxlbmd0aCA+IDAgPyBmaWx0ZXJlZFNlZ21lbnRzW2ZpbHRlcmVkU2VnbWVudHMubGVuZ3RoIC0gMV0ucGF0aCA6ICcnOyAvLyBEZWZhdWx0IHRvIGVtcHR5IHN0cmluZyBpZiBubyB2YWxpZCBzZWdtZW50c1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIC8vIE5hdmlnYXRpb24gdG8gYW5vdGhlciBwYWdlIGlzIGFib3V0IHRvIG9jY3VyXG4gICAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IDFcbiAgICAgICAgLy8gUGVyZm9ybSBhY3Rpb25zIG9yIHVwZGF0ZSBjb21wb25lbnQgYXMgbmVlZGVkXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5yZGljdCA9IFJlYWN0aXZlRGljdGlvbmFyeS5nZXRJbnN0YW5jZSh0aGlzLnNvY2tldFNlcnZpY2UsdGhpcy53c0F1dGhTZXJ2aWNlLlRva2VuKTtcbiAgICBpZiAodGhpcy5yZGljdC5zaXplID09IDApXG4gICAgICBhd2FpdCB0aGlzLnJkaWN0LmFzeW5jSW5pdCgpO1xuICAgIGF3YWl0IHRoaXMuZ2V0TGlzdExheW91dCgpXG4gICAgYXdhaXQgdGhpcy5sb2FkRGF0YSgpXG4gICAgLy8gdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIC8vIHRoaXMub25TY3JvbGwoMCk7XG4gIH1cbiAgc2V0VmFsdWVGcm9tU25hcHNob3Q8VD4oY29tcG9uZW50OiBhbnksIHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBUKTogdm9pZCB7XG4gICAgaWYgKGNvbXBvbmVudFtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBkYXRhRnJvbVNuYXBzaG90ID0gc25hcHNob3QuZGF0YVtrZXldO1xuICAgICAgaWYgKGRhdGFGcm9tU25hcHNob3QgPT09IG51bGwgfHwgZGF0YUZyb21TbmFwc2hvdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRhdGFGcm9tU25hcHNob3QgPSBzbmFwc2hvdC5wYXJhbXNba2V5XTtcbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudFtrZXldID0gZGF0YUZyb21TbmFwc2hvdCAhPT0gdW5kZWZpbmVkID8gZGF0YUZyb21TbmFwc2hvdCA6IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG4gIH1cbiAgYXN5bmMgbG9hZERhdGEoKSB7XG4gICAgdmFyIHggPSBhd2FpdCB0aGlzLnJkaWN0LmdldFRhYmxlKHRoaXMuZGljdFBhdGgpXG4gICAgY29uc3QgcmVzdWx0ID0geC5tYXAoZGljdGlvbmFyeSA9PiB7XG4gICAgICAvLyBDb252ZXJ0IE1hcCB0byBvYmplY3QgYW5kIGZpbHRlciBvdXQgX19ndWlkXG4gICAgICBjb25zdCBmaWx0ZXJlZE9iamVjdCA9IHt9O1xuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgZGljdGlvbmFyeS5lbnRyaWVzKCkpIHtcbiAgICAgICAgaWYgKGtleSAhPT0gJ19fZ3VpZCcpIHtcbiAgICAgICAgICBmaWx0ZXJlZE9iamVjdFtrZXldID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWx0ZXJlZE9iamVjdDtcbiAgICB9KTtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSByZXN1bHQvL25ldyBNYXRUYWJsZURhdGFTb3VyY2UocmVzdWx0KTtcbiAgfVxuICAvLyBhc3luYyBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcbiAgLy8gICB0aGlzLmZpbHRlclZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gIC8vICAgdGhpcy5kYXRhID0gW107XG4gIC8vICAgdGhpcy5wYWdlSW5kZXggPSAxXG4gIC8vICAgdGhpcy5sb2FkRGF0YSgpO1xuICAvLyB9XG4gIC8vIGxvYWREYXRhKGV2ZW50ID0gbnVsbCkge1xuICAvLyAgIGNvbnN0IGZpbHRlcnMgPSBbXTtcbiAgLy8gICBsZXQgc29ydHMgPSAnJztcbiAgLy8gICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gIC8vICAgaWYgKHRoaXMuZGVmYXVsdFNvcnQpIHtcbiAgLy8gICAgIGlmICh0aGlzLmRlZmF1bHRTb3J0RGlyZWN0aW9uID09PSAnZGVzYycpIHtcbiAgLy8gICAgICAgc29ydHMgPSAnLScgKyB0aGlzLmRlZmF1bHRTb3J0O1xuICAvLyAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgc29ydHMgPSB0aGlzLmRlZmF1bHRTb3J0O1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gICBpZiAodGhpcy5zaG93U2VyYWNoKSB7XG4gIC8vICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZSkge1xuICAvLyAgICAgICBjb25zdCB5ID0gJygnICsgdGhpcy5zZWFyY2hGaWVsZHMucmVwbGFjZSgnLCcsICd8JykgKyAnKSc7XG4gIC8vICAgICAgIGZpbHRlcnMucHVzaCh5ICsgJ0A9KicgKyB0aGlzLmZpbHRlclZhbHVlKTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vICAgaWYgKHRoaXMuZGVmYXVsdEZpbHRlcikge1xuICAvLyAgICAgZmlsdGVycy5wdXNoKHRoaXMuZGVmYXVsdEZpbHRlcilcbiAgLy8gICB9XG4gIC8vICAgc2V0VGltZW91dCgoKSA9PiB7XG4gIC8vICAgICBjb25zdCBmaWx0ZXJzVmFsdWUgPSBmaWx0ZXJzLmpvaW4oJywgJyk7XG4gIC8vICAgICB0aGlzLm1vZGVsU2VydmljZS5nZXRBbGwodGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZVNpemUsIHNvcnRzLCBmaWx0ZXJzVmFsdWUsIHRoaXMuY3VzdG9tSW5jbHVkZSkuc3Vic2NyaWJlKFxuICAvLyAgICAgICAocmVzcG9uc2U6IEJhc2VRdWVyeURhdGE8VD4pID0+IHtcbiAgLy8gICAgICAgICBpZiAodGhpcy5wYWdlSW5kZXggIT09IHJlc3BvbnNlLmdldE1ldGEoKS5tZXRhLmNvdW50KSB7XG4gIC8vICAgICAgICAgICB0aGlzLnBhZ2VJbmRleCsrXG4gIC8vICAgICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICAgIGlmIChldmVudCkgZXZlbnQudGFyZ2V0LmRpc2FibGVkID0gdHJ1ZTtcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgICAgLy8gaWYgKHRoaXMuZmlsdGVyVmFsdWUpXG4gIC8vICAgICAgICAgLy8gICB0aGlzLmRhdGEgPSByZXNwb25zZS5nZXRNb2RlbHMoKTtcbiAgLy8gICAgICAgICAvLyBlbHNlXG4gIC8vICAgICAgICAgY29uc3Qgcm93cyA9IFsuLi50aGlzLmRhdGEsIC4uLnJlc3BvbnNlLmdldE1vZGVscygpXTtcbiAgLy8gICAgICAgICB0aGlzLmRhdGEgPSByb3dzO1xuICAvLyAgICAgICAgIC8vIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5jb25jYXQoKTtcblxuICAvLyAgICAgICAgIGlmIChldmVudCkgZXZlbnQudGFyZ2V0LmNvbXBsZXRlKCk7XG4gIC8vICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgLy8gICAgICAgfSlcbiAgLy8gICB9LCA3MDApO1xuICAvLyB9XG4gIC8vIGFzeW5jIGhhbmRsZVJlZnJlc2goZXZlbnQpIHtcbiAgLy8gICB0aGlzLnBhZ2VJbmRleCA9IDFcbiAgLy8gICB0aGlzLmRhdGEgPSBbXTtcbiAgLy8gICB0aGlzLmxvYWREYXRhKCk7XG4gIC8vICAgZXZlbnQudGFyZ2V0LmNvbXBsZXRlKCk7XG4gIC8vIH1cbiAgLy8gb25BZGQoKSB7XG4gIC8vICAgY29uc29sZS5sb2codGhpcy5iYXNlUGF0aClcbiAgLy8gICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5iYXNlUGF0aCArICcvYWRkJ10pXG4gIC8vICAgLy8gdGhpcy5uYXZDdHJsLm5hdmlnYXRlRm9yd2FyZCh0aGlzLmJhc2VQYXRoICsgJy9hZGQnKTtcbiAgLy8gfVxuICAvLyBlZGl0TW9kZWwobW9kZWw6IEJhc2VNb2RlbEZvcm1seSkge1xuICAvLyAgIGlmICh0aGlzLmNhbkVkaXQpXG4gIC8vICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5iYXNlUGF0aCArICcvZWRpdC8nLCBtb2RlbC5pZF0pO1xuICAvLyAgIC8vIHRoaXMubmF2Q3RybC5uYXZpZ2F0ZUZvcndhcmQodGhpcy5iYXNlUGF0aCArICcvZWRpdC8nICsgbW9kZWwuaWQpO1xuICAvLyB9XG4gIGFzeW5jIGdldExpc3RMYXlvdXQoKSB7XG4gICAgaWYgKHRoaXMubW9kZWwpIHtcbiAgICAgIHRoaXMudGFibGVMYXlvdXQgPSBhd2FpdCB0aGlzLnJkaWN0LmFzeW5jR2V0KFwiY29uZmlnLm1vZGVscy5cIiArIHRoaXMubW9kZWwgKyBcIi50YWJsZUxheW91dFwiKVxuICAgICAgaWYgKHRoaXMudGFibGVMYXlvdXQpIHtcbiAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy50YWJsZUxheW91dFtcInRpdGxlXCJdKTtcbiAgICAgICAgdGhpcy5hbGxDb2x1bW5zID0gdGhpcy50YWJsZUxheW91dFtcImNvbHVtbnNcIl0ubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIGlmICghaXRlbS5pc1RyYW5zbGF0ZWQpIHtcbiAgICAgICAgICAgIGl0ZW0ubmFtZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS50cmFuc2xhdGVLZXkpO1xuICAgICAgICAgICAgaXRlbS5pc1RyYW5zbGF0ZWQgPSB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gW107XG4gICAgICAgIC8vIHRoaXMuYWxsQ29sdW1ucyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0lvbmljRGF0YVRhYmxlTGF5b3V0JywgdGhpcy5tb2RlbCkubWFwKChpdGVtOiBJb25pY0RhdGFUYWJsZUxheW91dENvbmZpZykgPT4ge1xuICAgICAgICAvLyAgIGlmICghaXRlbS5pc1RyYW5zbGF0ZWQpIHtcbiAgICAgICAgLy8gICAgIGl0ZW0ubmFtZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS5uYW1lKTtcbiAgICAgICAgLy8gICAgIGl0ZW0uaXNUcmFuc2xhdGVkID0gdHJ1ZVxuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gICByZXR1cm4gaXRlbTtcbiAgICAgICAgLy8gfSk7XG5cbiAgICAgICAgdGhpcy5hbGxDb2x1bW5zLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKTtcblxuICAgICAgICAvLyBpZiAodGhpcy5jYW5EZWxldGUgfHwgdGhpcy5jYW5FZGl0KSB7XG4gICAgICAgIC8vICAgdGhpcy5hbGxDb2x1bW5zLnB1c2goe1xuICAgICAgICAvLyAgICAgLy8gY2VsbFRlbXBsYXRlOiBudWxsLFxuICAgICAgICAvLyAgICAgbmFtZTogJycsXG4gICAgICAgIC8vICAgICAvLyBjZWxsQ2xhc3M6ICdhY3Rpb25zLWNlbGwnLFxuICAgICAgICAvLyAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcbiAgICAgICAgLy8gICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgICAgLy8gICAgIHZpc2libGU6IHRydWVcbiAgICAgICAgLy8gICAgIC8vIHdpZHRoOiAxMDAsXG4gICAgICAgIC8vICAgICAvLyBtYXhXaWR0aDogMTAwLFxuICAgICAgICAvLyAgICAgLy8gbWluV2lkdGg6IDEwMFxuICAgICAgICAvLyAgIH0pXG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gdGhpcy5jb2x1bW5zID0gdGhpcy5hbGxDb2x1bW5zLmZpbHRlcigoaXRlbTogSW9uaWNEYXRhVGFibGVMYXlvdXRDb25maWcpID0+IGl0ZW0udmlzaWJsZSk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gW107XG4gICAgICAgIC8vIGlmICh0aGlzLmFsbG93UmVvcmRlckl0ZW1zKSB7XG4gICAgICAgIC8vICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ3Bvc2l0aW9uJylcbiAgICAgICAgLy8gfVxuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaC5hcHBseSh0aGlzLmRpc3BsYXllZENvbHVtbnMsIHRoaXMuYWxsQ29sdW1ucy5tYXAoeCA9PiB4LnByb3BlcnR5TmFtZSkpO1xuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgcHVibGljIGFkZEhhbmRsZXIoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coXCJhZGRcIilcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5iYXNlUGF0aCArICcvYWRkJ10pXG4gICAgLy8gdGhpcy5lZGl0RGF0YUl0ZW0gPSBuZXcgUHJvZHVjdCgpO1xuICAgIC8vIHRoaXMuaXNOZXcgPSB0cnVlO1xuICB9XG5cbn1cbiIsIjxrZW5kby1ncmlkIFtkYXRhXT1cImRhdGFTb3VyY2VcIiBcbiAgICAgIFtzb3J0YWJsZV09XCJ0cnVlXCIgXG4gICAgICBbZmlsdGVyYWJsZV09XCJzaG93U2VyYWNoXCJcbiAgICAgIChhZGQpPVwiYWRkSGFuZGxlcigpXCI+XG4gIDxrZW5kby10b29sYmFyPlxuICAgIDx0YWJsZS10aXRsZSB0ZXh0PVwie3t0aXRsZX19XCI+PC90YWJsZS10aXRsZT5cbiAgICA8a2VuZG8tdG9vbGJhci1tZXNzYWdlcz5UZXN0PC9rZW5kby10b29sYmFyLW1lc3NhZ2VzPlxuICAgIDwhLS0gPGtlbmRvLXRvb2xiYXItc2VwYXJhdG9yPjwva2VuZG8tdG9vbGJhci1zZXBhcmF0b3I+IC0tPlxuICAgIDxrZW5kby10b29sYmFyLXNwYWNlcj48L2tlbmRvLXRvb2xiYXItc3BhY2VyPlxuICAgIDxrZW5kby10b29sYmFyLWJ1dHRvbiB0ZXh0PVwiQWRkIG5ld1wiIGtlbmRvR3JpZEFkZFRvb2w+PC9rZW5kby10b29sYmFyLWJ1dHRvbj5cbiAgPC9rZW5kby10b29sYmFyPlxuICA8IS0tIDxrZW5kby10b29sYmFyPlxuICAgIFxuICAgIDxrZW5kby10b29sYmFyLXNwYWNlcj48L2tlbmRvLXRvb2xiYXItc3BhY2VyPlxuICAgIDxidXR0b24ga2VuZG9HcmlkQWRkQ29tbWFuZCB0eXBlPVwiYnV0dG9uXCI+QWRkIG5ldzwvYnV0dG9uPlxuICA8L2tlbmRvLXRvb2xiYXI+IC0tPlxuICA8a2VuZG8tZ3JpZC1jb2x1bW4gKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhbGxDb2x1bW5zXCIgZmllbGQ9XCJ7eyBjb2x1bW4ucHJvcGVydHlOYW1lIH19XCJcbiAgICB0aXRsZT1cIiB7e2NvbHVtbi50cmFuc2xhdGVLZXkgfCB0cmFuc2xhdGV9fVwiPlxuICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuPC9rZW5kby1ncmlkPiJdfQ==
@@ -1,34 +0,0 @@
1
- import { Component, Input, TemplateRef, ViewChild, forwardRef } from '@angular/core';
2
- import { ToolBarToolComponent } from '@progress/kendo-angular-toolbar';
3
- import * as i0 from "@angular/core";
4
- export class RdictTableTitle extends ToolBarToolComponent {
5
- constructor() {
6
- super();
7
- this.tabindex = -1;
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RdictTableTitle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: RdictTableTitle, isStandalone: true, selector: "table-title", inputs: { text: "text" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => RdictTableTitle) }], viewQueries: [{ propertyName: "toolbarTemplate", first: true, predicate: ["toolbarTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
11
- <ng-template #toolbarTemplate>
12
- <kendo-label>{{text}}</kendo-label>
13
- </ng-template>
14
- `, isInline: true }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RdictTableTitle, decorators: [{
17
- type: Component,
18
- args: [{
19
- providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => RdictTableTitle) }],
20
- selector: 'table-title',
21
- standalone: true,
22
- template: `
23
- <ng-template #toolbarTemplate>
24
- <kendo-label>{{text}}</kendo-label>
25
- </ng-template>
26
- `
27
- }]
28
- }], ctorParameters: () => [], propDecorators: { toolbarTemplate: [{
29
- type: ViewChild,
30
- args: ['toolbarTemplate', { static: true }]
31
- }], text: [{
32
- type: Input
33
- }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRpY3QtdGFibGUtdGl0bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL3JkaWN0LWdlbmVyaWMtdGFibGUvcmRpY3QtdGFibGUtdGl0bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBWXZFLE1BQU0sT0FBTyxlQUFnQixTQUFRLG9CQUFvQjtJQUlyRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBSkwsYUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBS3JCLENBQUM7OEdBTlEsZUFBZTtrR0FBZixlQUFlLG9GQVRiLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLG1MQUdwRjs7OztLQUlUOzsyRkFFUSxlQUFlO2tCQVYzQixTQUFTO21CQUFDO29CQUNQLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztvQkFDOUYsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7S0FJVDtpQkFDSjt3REFHa0UsZUFBZTtzQkFBN0UsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQzlCLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIGZvcndhcmRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVG9vbEJhclRvb2xDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10b29sYmFyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBUb29sQmFyVG9vbENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmRpY3RUYWJsZVRpdGxlKSB9XSxcclxuICAgIHNlbGVjdG9yOiAndGFibGUtdGl0bGUnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICN0b29sYmFyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxrZW5kby1sYWJlbD57e3RleHR9fTwva2VuZG8tbGFiZWw+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFJkaWN0VGFibGVUaXRsZSBleHRlbmRzIFRvb2xCYXJUb29sQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyB0YWJpbmRleCA9IC0xO1xyXG4gICAgQFZpZXdDaGlsZCgndG9vbGJhclRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGRlY2xhcmUgdG9vbGJhclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQElucHV0KCkgcHVibGljIHRleHQ6IHN0cmluZztcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,5 +0,0 @@
1
- export * from './components';
2
- export * from './models';
3
- export * from './services';
4
- export * from './socket-config.token';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9yZGljdC9zcmMvbGliL2NvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ja2V0LWNvbmZpZy50b2tlbic7XHJcblxyXG4iXX0=
@@ -1,4 +0,0 @@
1
- export { Menu } from './menu';
2
- export { Right } from './right';
3
- export { User } from './user';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUM3QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNZW51IH0gZnJvbSAnLi9tZW51J1xyXG5leHBvcnQgeyBSaWdodCB9IGZyb20gJy4vcmlnaHQnXHJcbmV4cG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXInXHJcbiJdfQ==
@@ -1,60 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Attribute, BaseModel, BaseModelConfig } from "@rosoftlab/core";
3
- let Menu = class Menu extends BaseModel {
4
- };
5
- __decorate([
6
- Attribute({ serializedName: 'id' }),
7
- __metadata("design:type", String)
8
- ], Menu.prototype, "id", void 0);
9
- __decorate([
10
- Attribute({ serializedName: 'header' }),
11
- __metadata("design:type", String)
12
- ], Menu.prototype, "header", void 0);
13
- __decorate([
14
- Attribute({ serializedName: 'icon' }),
15
- __metadata("design:type", String)
16
- ], Menu.prototype, "icon", void 0);
17
- __decorate([
18
- Attribute({ serializedName: 'link' }),
19
- __metadata("design:type", String)
20
- ], Menu.prototype, "link", void 0);
21
- __decorate([
22
- Attribute({ serializedName: 'title' }),
23
- __metadata("design:type", String)
24
- ], Menu.prototype, "title", void 0);
25
- __decorate([
26
- Attribute({ serializedName: 'sublinks' }),
27
- __metadata("design:type", Array)
28
- ], Menu.prototype, "sublinks", void 0);
29
- __decorate([
30
- Attribute({ serializedName: 'target' }),
31
- __metadata("design:type", String)
32
- ], Menu.prototype, "target", void 0);
33
- __decorate([
34
- Attribute({ serializedName: 'external' }),
35
- __metadata("design:type", Boolean)
36
- ], Menu.prototype, "external", void 0);
37
- __decorate([
38
- Attribute({ serializedName: 'description' }),
39
- __metadata("design:type", String)
40
- ], Menu.prototype, "description", void 0);
41
- __decorate([
42
- Attribute({ serializedName: 'order' }),
43
- __metadata("design:type", Number)
44
- ], Menu.prototype, "order", void 0);
45
- __decorate([
46
- Attribute({ serializedName: 'translationKey' }),
47
- __metadata("design:type", String)
48
- ], Menu.prototype, "translationKey", void 0);
49
- __decorate([
50
- Attribute({ serializedName: 'color' }),
51
- __metadata("design:type", String)
52
- ], Menu.prototype, "color", void 0);
53
- Menu = __decorate([
54
- BaseModelConfig({
55
- type: 'user',
56
- modelEndpointUrl: 'user/menus'
57
- })
58
- ], Menu);
59
- export { Menu };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9yZGljdC9zcmMvbGliL21vZGVscy9tZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUtqRSxJQUFNLElBQUksR0FBVixNQUFNLElBQUssU0FBUSxTQUFTO0NBcUNsQyxDQUFBO0FBbENZO0lBRFIsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDOztnQ0FDZjtBQUdyQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQzs7b0NBQ3hCO0FBR2hCO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDOztrQ0FDeEI7QUFHZDtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7a0NBQ3hCO0FBR2Q7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUM7O21DQUN4QjtBQUdmO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDOztzQ0FDeEI7QUFHbEI7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLENBQUM7O29DQUN4QjtBQUdoQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsQ0FBQzs7c0NBQ3ZCO0FBR25CO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxDQUFDOzt5Q0FDeEI7QUFHckI7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUM7O21DQUN4QjtBQUdmO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLENBQUM7OzRDQUN4QjtBQUd4QjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQzs7bUNBQ3hCO0FBcENOLElBQUk7SUFKaEIsZUFBZSxDQUFDO1FBQ2IsSUFBSSxFQUFFLE1BQU07UUFDWixnQkFBZ0IsRUFBRSxZQUFZO0tBQ2pDLENBQUM7R0FDVyxJQUFJLENBcUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgQmFzZU1vZGVsLCBCYXNlTW9kZWxDb25maWcgfSBmcm9tIFwiQHJvc29mdGxhYi9jb3JlXCI7XHJcbkBCYXNlTW9kZWxDb25maWcoe1xyXG4gICAgdHlwZTogJ3VzZXInLFxyXG4gICAgbW9kZWxFbmRwb2ludFVybDogJ3VzZXIvbWVudXMnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51IGV4dGVuZHMgQmFzZU1vZGVsIHtcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdpZCcgfSlcclxuICAgIG92ZXJyaWRlIGlkITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2hlYWRlcicgfSlcclxuICAgIGhlYWRlcj86IHN0cmluZztcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdpY29uJyB9KVxyXG4gICAgaWNvbj86IHN0cmluZztcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdsaW5rJyB9KVxyXG4gICAgbGluaz86IHN0cmluZztcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICd0aXRsZScgfSlcclxuICAgIHRpdGxlPzogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ3N1YmxpbmtzJyB9KVxyXG4gICAgc3VibGlua3M/OiBNZW51W107XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAndGFyZ2V0JyB9KVxyXG4gICAgdGFyZ2V0Pzogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2V4dGVybmFsJyB9KVxyXG4gICAgZXh0ZXJuYWw/OiBib29sZWFuO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2Rlc2NyaXB0aW9uJyB9KVxyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAnb3JkZXInIH0pXHJcbiAgICBvcmRlcj86IG51bWJlcjtcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICd0cmFuc2xhdGlvbktleScgfSlcclxuICAgIHRyYW5zbGF0aW9uS2V5ITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2NvbG9yJyB9KVxyXG4gICAgY29sb3I/OiBzdHJpbmc7XHJcbn1cclxuXHJcbiJdfQ==
@@ -1,57 +0,0 @@
1
- // import { Attribute, BaseModel, BaseModelConfig } from '@rosoftlab/core';
2
- import { __decorate, __metadata } from "tslib";
3
- import { Attribute, BaseModel, BaseModelConfig } from "@rosoftlab/core";
4
- let Right = class Right extends BaseModel {
5
- };
6
- __decorate([
7
- Attribute({ serializedName: 'id' }),
8
- __metadata("design:type", String)
9
- ], Right.prototype, "id", void 0);
10
- __decorate([
11
- Attribute({ serializedName: 'name' }),
12
- __metadata("design:type", String)
13
- ], Right.prototype, "name", void 0);
14
- __decorate([
15
- Attribute({ serializedName: 'rightKey' }),
16
- __metadata("design:type", String)
17
- ], Right.prototype, "rightKey", void 0);
18
- __decorate([
19
- Attribute({ serializedName: 'pagePath' }),
20
- __metadata("design:type", String)
21
- ], Right.prototype, "pagePath", void 0);
22
- __decorate([
23
- Attribute({ serializedName: 'order' }),
24
- __metadata("design:type", Number)
25
- ], Right.prototype, "order", void 0);
26
- __decorate([
27
- Attribute({ serializedName: 'isMenu' }),
28
- __metadata("design:type", Boolean)
29
- ], Right.prototype, "isMenu", void 0);
30
- __decorate([
31
- Attribute({ serializedName: 'resourceName' }),
32
- __metadata("design:type", String)
33
- ], Right.prototype, "resourceName", void 0);
34
- __decorate([
35
- Attribute({ serializedName: 'parentId' }),
36
- __metadata("design:type", String)
37
- ], Right.prototype, "parentId", void 0);
38
- __decorate([
39
- Attribute({ serializedName: 'color' }),
40
- __metadata("design:type", String)
41
- ], Right.prototype, "color", void 0);
42
- __decorate([
43
- Attribute({ serializedName: 'defaultRoles' }),
44
- __metadata("design:type", String)
45
- ], Right.prototype, "defaultRoles", void 0);
46
- __decorate([
47
- Attribute({ serializedName: 'icon' }),
48
- __metadata("design:type", String)
49
- ], Right.prototype, "icon", void 0);
50
- Right = __decorate([
51
- BaseModelConfig({
52
- type: 'right',
53
- modelEndpointUrl: 'user/rights'
54
- })
55
- ], Right);
56
- export { Right };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9tb2RlbHMvcmlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkVBQTJFOztBQUUzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU1qRSxJQUFNLEtBQUssR0FBWCxNQUFNLEtBQU0sU0FBUSxTQUFTO0NBbUNuQyxDQUFBO0FBaENZO0lBRFIsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDOztpQ0FDZjtBQUdyQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7bUNBQ3hCO0FBR2Q7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLENBQUM7O3VDQUN4QjtBQUdsQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsQ0FBQzs7dUNBQ3hCO0FBR2xCO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxDQUFDOztvQ0FDeEI7QUFHZjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQzs7cUNBQ3ZCO0FBR2pCO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxDQUFDOzsyQ0FDeEI7QUFHdEI7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLENBQUM7O3VDQUN4QjtBQUdsQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQzs7b0NBQ3hCO0FBR2Y7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLENBQUM7OzJDQUN4QjtBQUd0QjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7bUNBQ3hCO0FBakNMLEtBQUs7SUFKakIsZUFBZSxDQUFDO1FBQ2IsSUFBSSxFQUFFLE9BQU87UUFDYixnQkFBZ0IsRUFBRSxhQUFhO0tBQ2xDLENBQUM7R0FDVyxLQUFLLENBbUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IEF0dHJpYnV0ZSwgQmFzZU1vZGVsLCBCYXNlTW9kZWxDb25maWcgfSBmcm9tICdAcm9zb2Z0bGFiL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQXR0cmlidXRlLCBCYXNlTW9kZWwsIEJhc2VNb2RlbENvbmZpZyB9IGZyb20gXCJAcm9zb2Z0bGFiL2NvcmVcIjtcclxuXHJcbkBCYXNlTW9kZWxDb25maWcoe1xyXG4gICAgdHlwZTogJ3JpZ2h0JyxcclxuICAgIG1vZGVsRW5kcG9pbnRVcmw6ICd1c2VyL3JpZ2h0cydcclxufSlcclxuZXhwb3J0IGNsYXNzIFJpZ2h0IGV4dGVuZHMgQmFzZU1vZGVsIHtcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdpZCcgfSlcclxuICAgIG92ZXJyaWRlIGlkITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ25hbWUnIH0pXHJcbiAgICBuYW1lITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ3JpZ2h0S2V5JyB9KVxyXG4gICAgcmlnaHRLZXkhOiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAncGFnZVBhdGgnIH0pXHJcbiAgICBwYWdlUGF0aCE6IHN0cmluZztcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdvcmRlcicgfSlcclxuICAgIG9yZGVyITogbnVtYmVyO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2lzTWVudScgfSlcclxuICAgIGlzTWVudSE6IGJvb2xlYW47XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAncmVzb3VyY2VOYW1lJyB9KVxyXG4gICAgcmVzb3VyY2VOYW1lITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ3BhcmVudElkJyB9KVxyXG4gICAgcGFyZW50SWQhOiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAnY29sb3InIH0pXHJcbiAgICBjb2xvciE6IHN0cmluZztcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdkZWZhdWx0Um9sZXMnIH0pXHJcbiAgICBkZWZhdWx0Um9sZXMhOiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAnaWNvbicgfSlcclxuICAgIGljb24/OiBzdHJpbmc7XHJcblxyXG59XHJcbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Attribute, BaseModel, BaseModelConfig } from "@rosoftlab/core";
3
- let User = class User extends BaseModel {
4
- get fullName() {
5
- return this.firstName + ' ' + this.lastName;
6
- }
7
- };
8
- __decorate([
9
- Attribute({ serializedName: 'id' }),
10
- __metadata("design:type", String)
11
- ], User.prototype, "id", void 0);
12
- __decorate([
13
- Attribute({ serializedName: 'firstName' }),
14
- __metadata("design:type", String)
15
- ], User.prototype, "firstName", void 0);
16
- __decorate([
17
- Attribute({ serializedName: 'lastName' }),
18
- __metadata("design:type", String)
19
- ], User.prototype, "lastName", void 0);
20
- __decorate([
21
- Attribute({ serializedName: 'email' }),
22
- __metadata("design:type", String)
23
- ], User.prototype, "email", void 0);
24
- User = __decorate([
25
- BaseModelConfig({
26
- type: 'user'
27
- })
28
- ], User);
29
- export { User };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9yZGljdC9zcmMvbGliL21vZGVscy91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUtqRSxJQUFNLElBQUksR0FBVixNQUFNLElBQUssU0FBUSxTQUFTO0lBYy9CLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0NBQ0osQ0FBQTtBQWRZO0lBRFIsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDOztnQ0FDZjtBQUdyQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQzs7dUNBQ3hCO0FBR25CO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDOztzQ0FDeEI7QUFHbEI7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUM7O21DQUN4QjtBQVpOLElBQUk7SUFIaEIsZUFBZSxDQUFDO1FBQ2IsSUFBSSxFQUFFLE1BQU07S0FDZixDQUFDO0dBQ1csSUFBSSxDQWlCaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUsIEJhc2VNb2RlbCwgQmFzZU1vZGVsQ29uZmlnIH0gZnJvbSBcIkByb3NvZnRsYWIvY29yZVwiO1xyXG5cclxuQEJhc2VNb2RlbENvbmZpZyh7XHJcbiAgICB0eXBlOiAndXNlcidcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBCYXNlTW9kZWwge1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2lkJyB9KVxyXG4gICAgb3ZlcnJpZGUgaWQhOiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAnZmlyc3ROYW1lJyB9KVxyXG4gICAgZmlyc3ROYW1lITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2xhc3ROYW1lJyB9KVxyXG4gICAgbGFzdE5hbWUhOiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAnZW1haWwnIH0pXHJcbiAgICBlbWFpbCE6IHN0cmluZztcclxuXHJcbiAgICBnZXQgZnVsbE5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maXJzdE5hbWUgKyAnICcgKyB0aGlzLmxhc3ROYW1lO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=