@rosoftlab/rdict 1.0.0-alpha-15
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +27 -0
- package/esm2022/lib/components/index.mjs +4 -0
- package/esm2022/lib/components/layouts/full/full.component.mjs +112 -0
- package/esm2022/lib/components/rdict-crud/rdict-crud.component.mjs +43 -0
- package/esm2022/lib/components/rdict-generic-table/rdict-generic-table.component.mjs +285 -0
- package/esm2022/lib/components/rdict-generic-table/rdict-table-title.mjs +34 -0
- package/esm2022/lib/core.mjs +5 -0
- package/esm2022/lib/models/index.mjs +4 -0
- package/esm2022/lib/models/menu.mjs +60 -0
- package/esm2022/lib/models/right.mjs +57 -0
- package/esm2022/lib/models/user.mjs +30 -0
- package/esm2022/lib/reactive-dictionary.mjs +173 -0
- package/esm2022/lib/rsl-material-module.mjs +95 -0
- package/esm2022/lib/services/index.mjs +4 -0
- package/esm2022/lib/services/socket.service.mjs +92 -0
- package/esm2022/lib/services/user.service.mjs +37 -0
- package/esm2022/lib/services/ws-auth.service.mjs +22 -0
- package/esm2022/lib/socket-config.token.mjs +4 -0
- package/esm2022/public-api.mjs +6 -0
- package/esm2022/rosoftlab-rdict.mjs +5 -0
- package/fesm2022/rosoftlab-rdict.mjs +1004 -0
- package/fesm2022/rosoftlab-rdict.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/index.d.ts +3 -0
- package/lib/components/layouts/full/full.component.d.ts +36 -0
- package/lib/components/rdict-crud/rdict-crud.component.d.ts +15 -0
- package/lib/components/rdict-generic-table/rdict-generic-table.component.d.ts +73 -0
- package/lib/components/rdict-generic-table/rdict-table-title.d.ts +11 -0
- package/lib/core.d.ts +4 -0
- package/lib/models/index.d.ts +3 -0
- package/lib/models/menu.d.ts +15 -0
- package/lib/models/right.d.ts +14 -0
- package/lib/models/user.d.ts +8 -0
- package/lib/reactive-dictionary.d.ts +20 -0
- package/lib/rsl-material-module.d.ts +45 -0
- package/lib/services/index.d.ts +3 -0
- package/lib/services/socket.service.d.ts +13 -0
- package/lib/services/user.service.d.ts +15 -0
- package/lib/services/ws-auth.service.d.ts +9 -0
- package/lib/socket-config.token.d.ts +2 -0
- package/package.json +56 -0
- package/public-api.d.ts +2 -0
package/README.md
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# RslWorkspace
|
2
|
+
|
3
|
+
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.1.3.
|
4
|
+
|
5
|
+
## Development server
|
6
|
+
|
7
|
+
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
|
8
|
+
|
9
|
+
## Code scaffolding
|
10
|
+
|
11
|
+
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
|
12
|
+
|
13
|
+
## Build
|
14
|
+
|
15
|
+
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
|
16
|
+
|
17
|
+
## Running unit tests
|
18
|
+
|
19
|
+
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
20
|
+
|
21
|
+
## Running end-to-end tests
|
22
|
+
|
23
|
+
Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
|
24
|
+
|
25
|
+
## Further help
|
26
|
+
|
27
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
@@ -0,0 +1,4 @@
|
|
1
|
+
export { FullComponent } from './layouts/full/full.component';
|
2
|
+
export { RdictCrudComponent } from './rdict-crud/rdict-crud.component';
|
3
|
+
export { GenericRdictTableComponent } from './rdict-generic-table/rdict-generic-table.component';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZ1bGxDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvZnVsbC9mdWxsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFJkaWN0Q3J1ZENvbXBvbmVudCB9IGZyb20gJy4vcmRpY3QtY3J1ZC9yZGljdC1jcnVkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEdlbmVyaWNSZGljdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9yZGljdC1nZW5lcmljLXRhYmxlL3JkaWN0LWdlbmVyaWMtdGFibGUuY29tcG9uZW50JztcclxuXHJcbiJdfQ==
|
@@ -0,0 +1,112 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { Component } from '@angular/core';
|
3
|
+
import { Router, RouterModule } from '@angular/router';
|
4
|
+
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
5
|
+
import { ButtonsModule } from "@progress/kendo-angular-buttons";
|
6
|
+
import { KENDO_SVGICON } from '@progress/kendo-angular-icons';
|
7
|
+
import { LayoutModule } from '@progress/kendo-angular-layout';
|
8
|
+
import { ToolBarModule } from '@progress/kendo-angular-toolbar';
|
9
|
+
import * as allIcons from "@progress/kendo-svg-icons";
|
10
|
+
import { menuIcon } from "@progress/kendo-svg-icons";
|
11
|
+
import { map } from 'rxjs';
|
12
|
+
import { ReactiveDictionary } from '../../../reactive-dictionary';
|
13
|
+
import { SocketService, UserService, WsAuthService } from '../../../services';
|
14
|
+
import * as i0 from "@angular/core";
|
15
|
+
import * as i1 from "../../../services";
|
16
|
+
import * as i2 from "@angular/router";
|
17
|
+
import * as i3 from "@ngx-translate/core";
|
18
|
+
import * as i4 from "@progress/kendo-angular-buttons";
|
19
|
+
import * as i5 from "@progress/kendo-angular-layout";
|
20
|
+
export class FullComponent {
|
21
|
+
constructor(userService, router, socketService, translate, wsAuthService) {
|
22
|
+
this.userService = userService;
|
23
|
+
this.router = router;
|
24
|
+
this.socketService = socketService;
|
25
|
+
this.translate = translate;
|
26
|
+
this.wsAuthService = wsAuthService;
|
27
|
+
this.selected = "Inbox";
|
28
|
+
this.menuSvg = menuIcon;
|
29
|
+
this.expandedIndices = [2];
|
30
|
+
this.hasItems = false;
|
31
|
+
this.items = [];
|
32
|
+
this.icons = allIcons;
|
33
|
+
this.apptitle = "Test";
|
34
|
+
this.isItemExpanded = (item) => {
|
35
|
+
return this.expandedIndices.indexOf(item.id) >= 0;
|
36
|
+
};
|
37
|
+
this.getMenu();
|
38
|
+
}
|
39
|
+
async ngOnInit() {
|
40
|
+
this.rdict = ReactiveDictionary.getInstance(this.socketService, this.wsAuthService.Token);
|
41
|
+
if (this.rdict.size == 0)
|
42
|
+
await this.rdict.asyncInit();
|
43
|
+
this.apptitle = await this.rdict.asyncGet("appname");
|
44
|
+
}
|
45
|
+
getMenu() {
|
46
|
+
this.userService.getMenus().subscribe({
|
47
|
+
next: value => {
|
48
|
+
this.items = this.transformToDrawerItems(value.getModels());
|
49
|
+
},
|
50
|
+
error: err => console.error('Observable emitted an error: ' + err),
|
51
|
+
complete: () => console.log('Observable emitted the complete notification')
|
52
|
+
});
|
53
|
+
this.menu$ = this.userService.getMenus().pipe(map(f => {
|
54
|
+
const data = f.getModels();
|
55
|
+
this.hasItems = data.length > 0;
|
56
|
+
return data;
|
57
|
+
}));
|
58
|
+
}
|
59
|
+
// public items: Array<DrawerItem> //= items;
|
60
|
+
onSelect(ev) {
|
61
|
+
this.selected = ev.item.text;
|
62
|
+
const current = ev.item.id;
|
63
|
+
if (this.expandedIndices.indexOf(current) >= 0) {
|
64
|
+
this.expandedIndices = this.expandedIndices.filter((id) => id !== current);
|
65
|
+
}
|
66
|
+
else {
|
67
|
+
this.expandedIndices.push(current);
|
68
|
+
}
|
69
|
+
if (ev.item.path && ev.item.path !== '') {
|
70
|
+
this.router.navigate([ev.item.path]);
|
71
|
+
// this.router.navigateByUrl(ev.item.path);
|
72
|
+
// this.router.navigate(['/import_layout']);
|
73
|
+
}
|
74
|
+
}
|
75
|
+
transformToDrawerItems(data, parentId) {
|
76
|
+
let drawerItems = [];
|
77
|
+
data.forEach(item => {
|
78
|
+
const drawerItem = {
|
79
|
+
id: item.id,
|
80
|
+
text: this.translate.instant(item.translationKey),
|
81
|
+
// icon: item.icon,
|
82
|
+
svgIcon: this.icons[item.icon],
|
83
|
+
selected: false, // Set this based on your application's state or logic
|
84
|
+
parentId: parentId,
|
85
|
+
path: (item.sublinks && item.sublinks.length > 0) ? '' : item.link
|
86
|
+
};
|
87
|
+
drawerItems.push(drawerItem);
|
88
|
+
// Recursively process children and flatten them
|
89
|
+
if (item.sublinks && item.sublinks.length > 0) {
|
90
|
+
const childItems = this.transformToDrawerItems(item.sublinks, item.id);
|
91
|
+
drawerItems = drawerItems.concat(childItems); // Add children to the drawerItems array
|
92
|
+
}
|
93
|
+
});
|
94
|
+
return drawerItems;
|
95
|
+
}
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FullComponent, deps: [{ token: i1.UserService }, { token: i2.Router }, { token: i1.SocketService }, { token: i3.TranslateService }, { token: i1.WsAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: FullComponent, isStandalone: true, selector: "rdict-full", ngImport: i0, template: "<div class=\"custom-toolbar\">\n <button kendoButton [svgIcon]=\"menuSvg\" fillMode=\"flat\" (click)=\"drawer.toggle()\"></button>\n <!-- <kendo-toolbar-button icon=\"menu\" themeColor=\"tertiary\" (click)=\"drawer.toggle()\"> </kendo-toolbar-button> -->\n <span class=\"app-title\">{{apptitle}}</span>\n</div>\n<kendo-drawer-container>\n <kendo-drawer #drawer [items]=\"items\" mode=\"push\" [mini]=\"true\" [expanded]=\"true\" (select)=\"onSelect($event)\"\n [autoCollapse]=\"false\" [isItemExpanded]=\"isItemExpanded\">\n <!-- <ng-template kendoDrawerItemTemplate let-item>\n <div *ngIf=\"item.path !== ''\" class=\"k-drawer-link\" [routerLink]=\"item.path\">\n <kendo-svgicon [icon]=\"item.svgIcon\"></kendo-svgicon>\n <span>{{ item.text }}</span>\n </div>\n <div *ngIf=\"item.path == ''\" class=\"k-drawer-link\" >\n <kendo-svgicon [icon]=\"item.svgIcon\"></kendo-svgicon>\n <span>{{ item.text }}</span>\n </div>\n </ng-template> -->\n </kendo-drawer>\n\n <kendo-drawer-content>\n <router-outlet></router-outlet>\n <!-- <div>{{selected}}</div> -->\n <!-- <my-content [selectedItem]=\"selected\"></my-content> -->\n </kendo-drawer-content>\n</kendo-drawer-container>", styles: ["html,body,rdict-full{padding:0;height:100%}rdict-full{display:flex;flex-direction:column}kendo-drawer-container{flex:1 1 auto;overflow-y:auto}.k-icon{font-size:20px}.custom-toolbar{width:100%;background-color:#f6f6f6;line-height:10px;border-bottom:inset;border-bottom-width:1px;padding:3px 8px;color:#656565}.app-title{margin-left:20px;font-weight:700;font-size:17px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ButtonsModule }, { kind: "component", type: i4.ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "ngmodule", type: ToolBarModule }, { kind: "ngmodule", type: LayoutModule }, { kind: "component", type: i5.DrawerComponent, selector: "kendo-drawer", inputs: ["mode", "position", "mini", "expanded", "width", "miniWidth", "autoCollapse", "items", "isItemExpanded", "animation"], outputs: ["expand", "collapse", "select", "expandedChange"], exportAs: ["kendoDrawer"] }, { kind: "component", type: i5.DrawerContainerComponent, selector: "kendo-drawer-container" }, { kind: "component", type: i5.DrawerContentComponent, selector: "kendo-drawer-content" }] }); }
|
98
|
+
}
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FullComponent, decorators: [{
|
100
|
+
type: Component,
|
101
|
+
args: [{ selector: 'rdict-full', standalone: true, imports: [
|
102
|
+
CommonModule,
|
103
|
+
RouterModule,
|
104
|
+
TranslateModule,
|
105
|
+
CommonModule,
|
106
|
+
ButtonsModule,
|
107
|
+
ToolBarModule,
|
108
|
+
LayoutModule,
|
109
|
+
KENDO_SVGICON
|
110
|
+
], template: "<div class=\"custom-toolbar\">\n <button kendoButton [svgIcon]=\"menuSvg\" fillMode=\"flat\" (click)=\"drawer.toggle()\"></button>\n <!-- <kendo-toolbar-button icon=\"menu\" themeColor=\"tertiary\" (click)=\"drawer.toggle()\"> </kendo-toolbar-button> -->\n <span class=\"app-title\">{{apptitle}}</span>\n</div>\n<kendo-drawer-container>\n <kendo-drawer #drawer [items]=\"items\" mode=\"push\" [mini]=\"true\" [expanded]=\"true\" (select)=\"onSelect($event)\"\n [autoCollapse]=\"false\" [isItemExpanded]=\"isItemExpanded\">\n <!-- <ng-template kendoDrawerItemTemplate let-item>\n <div *ngIf=\"item.path !== ''\" class=\"k-drawer-link\" [routerLink]=\"item.path\">\n <kendo-svgicon [icon]=\"item.svgIcon\"></kendo-svgicon>\n <span>{{ item.text }}</span>\n </div>\n <div *ngIf=\"item.path == ''\" class=\"k-drawer-link\" >\n <kendo-svgicon [icon]=\"item.svgIcon\"></kendo-svgicon>\n <span>{{ item.text }}</span>\n </div>\n </ng-template> -->\n </kendo-drawer>\n\n <kendo-drawer-content>\n <router-outlet></router-outlet>\n <!-- <div>{{selected}}</div> -->\n <!-- <my-content [selectedItem]=\"selected\"></my-content> -->\n </kendo-drawer-content>\n</kendo-drawer-container>", styles: ["html,body,rdict-full{padding:0;height:100%}rdict-full{display:flex;flex-direction:column}kendo-drawer-container{flex:1 1 auto;overflow-y:auto}.k-icon{font-size:20px}.custom-toolbar{width:100%;background-color:#f6f6f6;line-height:10px;border-bottom:inset;border-bottom-width:1px;padding:3px 8px;color:#656565}.app-title{margin-left:20px;font-weight:700;font-size:17px}\n"] }]
|
111
|
+
}], ctorParameters: () => [{ type: i1.UserService }, { type: i2.Router }, { type: i1.SocketService }, { type: i3.TranslateService }, { type: i1.WsAuthService }] });
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dHMvZnVsbC9mdWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9yZGljdC9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0cy9mdWxsL2Z1bGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQTJDLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEtBQUssUUFBUSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBaUI5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RSxDQUFDO2dCQUM5QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZFLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsd0NBQXdDO1lBQ3hGLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7OEdBekZVLGFBQWE7a0dBQWIsYUFBYSxzRUM5QjFCLCt0Q0F5QnlCLDBhRExyQixZQUFZLDhCQUNaLFlBQVksd01BQ1osZUFBZSw4QkFFZixhQUFhLG1YQUNiLGFBQWEsOEJBQ2IsWUFBWTs7MkZBSUgsYUFBYTtrQkFoQnpCLFNBQVM7K0JBQ0UsWUFBWSxjQUdWLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uc01vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1idXR0b25zXCI7XG5pbXBvcnQgeyBLRU5ET19TVkdJQ09OIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItaWNvbnMnO1xuaW1wb3J0IHsgRHJhd2VySXRlbUV4cGFuZGVkRm4sIERyYXdlclNlbGVjdEV2ZW50LCBMYXlvdXRNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1sYXlvdXQnO1xuaW1wb3J0IHsgVG9vbEJhck1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXRvb2xiYXInO1xuaW1wb3J0ICogYXMgYWxsSWNvbnMgZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1zdmctaWNvbnNcIjtcbmltcG9ydCB7IG1lbnVJY29uLCBTVkdJY29uIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1zdmctaWNvbnNcIjtcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVudSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZWFjdGl2ZURpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi9yZWFjdGl2ZS1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFNvY2tldFNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBXc0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncmRpY3QtZnVsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mdWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnVsbC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbnNNb2R1bGUsXG4gICAgVG9vbEJhck1vZHVsZSxcbiAgICBMYXlvdXRNb2R1bGUsXG4gICAgS0VORE9fU1ZHSUNPTlxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGdWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHNlbGVjdGVkID0gXCJJbmJveFwiO1xuICBwdWJsaWMgbWVudVN2ZzogU1ZHSWNvbiA9IG1lbnVJY29uO1xuICBwdWJsaWMgZXhwYW5kZWRJbmRpY2VzID0gWzJdO1xuICBtZW51JCE6IE9ic2VydmFibGU8TWVudVtdPjtcbiAgaGFzSXRlbXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGl0ZW1zOiBBcnJheTx7IFtLZXk6IHN0cmluZ106IHVua25vd24gfT4gPSBbXTtcbiAgcHVibGljIGljb25zID0gYWxsSWNvbnM7XG4gIHByaXZhdGUgcmRpY3Q6IFJlYWN0aXZlRGljdGlvbmFyeSB8IHVuZGVmaW5lZDtcbiAgYXBwdGl0bGU6IHN0cmluZyA9IFwiVGVzdFwiXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBzb2NrZXRTZXJ2aWNlOiBTb2NrZXRTZXJ2aWNlLFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3c0F1dGhTZXJ2aWNlOiBXc0F1dGhTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZ2V0TWVudSgpO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZGljdCA9IFJlYWN0aXZlRGljdGlvbmFyeS5nZXRJbnN0YW5jZSh0aGlzLnNvY2tldFNlcnZpY2UsdGhpcy53c0F1dGhTZXJ2aWNlLlRva2VuKTtcbiAgICBpZiAodGhpcy5yZGljdC5zaXplID09IDApXG4gICAgICBhd2FpdCB0aGlzLnJkaWN0LmFzeW5jSW5pdCgpO1xuICAgIHRoaXMuYXBwdGl0bGUgPSBhd2FpdCB0aGlzLnJkaWN0LmFzeW5jR2V0KFwiYXBwbmFtZVwiKVxuXG4gIH1cbiAgcHVibGljIGlzSXRlbUV4cGFuZGVkOiBEcmF3ZXJJdGVtRXhwYW5kZWRGbiA9IChpdGVtKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZXhwYW5kZWRJbmRpY2VzLmluZGV4T2YoaXRlbS5pZCkgPj0gMDtcbiAgfTtcbiAgZ2V0TWVudSgpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldE1lbnVzKCkuc3Vic2NyaWJlKFxuICAgICAge1xuICAgICAgICBuZXh0OiB2YWx1ZSA9PiB7XG4gICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMudHJhbnNmb3JtVG9EcmF3ZXJJdGVtcyh2YWx1ZS5nZXRNb2RlbHMoKSlcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiBjb25zb2xlLmVycm9yKCdPYnNlcnZhYmxlIGVtaXR0ZWQgYW4gZXJyb3I6ICcgKyBlcnIpLFxuICAgICAgICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJ09ic2VydmFibGUgZW1pdHRlZCB0aGUgY29tcGxldGUgbm90aWZpY2F0aW9uJylcbiAgICAgIH1cbiAgICApXG4gICAgdGhpcy5tZW51JCA9IHRoaXMudXNlclNlcnZpY2UuZ2V0TWVudXMoKS5waXBlKG1hcChmID0+IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBmLmdldE1vZGVscygpXG4gICAgICB0aGlzLmhhc0l0ZW1zID0gZGF0YS5sZW5ndGggPiAwO1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfSkpO1xuICB9XG4gIC8vIHB1YmxpYyBpdGVtczogQXJyYXk8RHJhd2VySXRlbT4gLy89IGl0ZW1zO1xuXG4gIHB1YmxpYyBvblNlbGVjdChldjogRHJhd2VyU2VsZWN0RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gZXYuaXRlbS50ZXh0O1xuICAgIGNvbnN0IGN1cnJlbnQgPSBldi5pdGVtLmlkO1xuXG4gICAgaWYgKHRoaXMuZXhwYW5kZWRJbmRpY2VzLmluZGV4T2YoY3VycmVudCkgPj0gMCkge1xuICAgICAgdGhpcy5leHBhbmRlZEluZGljZXMgPSB0aGlzLmV4cGFuZGVkSW5kaWNlcy5maWx0ZXIoXG4gICAgICAgIChpZCkgPT4gaWQgIT09IGN1cnJlbnRcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXhwYW5kZWRJbmRpY2VzLnB1c2goY3VycmVudCk7XG4gICAgfVxuICAgIGlmIChldi5pdGVtLnBhdGggJiYgZXYuaXRlbS5wYXRoICE9PSAnJykge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2V2Lml0ZW0ucGF0aF0pO1xuICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChldi5pdGVtLnBhdGgpO1xuICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvaW1wb3J0X2xheW91dCddKTsgXG4gICAgfVxuICB9XG4gIHByaXZhdGUgdHJhbnNmb3JtVG9EcmF3ZXJJdGVtcyhkYXRhOiBNZW51W10sIHBhcmVudElkPzogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgZHJhd2VySXRlbXM6IEFycmF5PHsgW0tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IFtdO1xuXG4gICAgZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgZHJhd2VySXRlbSA9IHtcbiAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS50cmFuc2xhdGlvbktleSksXG4gICAgICAgIC8vIGljb246IGl0ZW0uaWNvbixcbiAgICAgICAgc3ZnSWNvbjogdGhpcy5pY29uc1tpdGVtLmljb25dLFxuICAgICAgICBzZWxlY3RlZDogZmFsc2UsIC8vIFNldCB0aGlzIGJhc2VkIG9uIHlvdXIgYXBwbGljYXRpb24ncyBzdGF0ZSBvciBsb2dpY1xuICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgIHBhdGg6IChpdGVtLnN1YmxpbmtzICYmIGl0ZW0uc3VibGlua3MubGVuZ3RoID4gMCkgPyAnJyA6IGl0ZW0ubGlua1xuICAgICAgfTtcblxuICAgICAgZHJhd2VySXRlbXMucHVzaChkcmF3ZXJJdGVtKTtcblxuICAgICAgLy8gUmVjdXJzaXZlbHkgcHJvY2VzcyBjaGlsZHJlbiBhbmQgZmxhdHRlbiB0aGVtXG4gICAgICBpZiAoaXRlbS5zdWJsaW5rcyAmJiBpdGVtLnN1YmxpbmtzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgY2hpbGRJdGVtcyA9IHRoaXMudHJhbnNmb3JtVG9EcmF3ZXJJdGVtcyhpdGVtLnN1YmxpbmtzLCBpdGVtLmlkKTtcbiAgICAgICAgZHJhd2VySXRlbXMgPSBkcmF3ZXJJdGVtcy5jb25jYXQoY2hpbGRJdGVtcyk7IC8vIEFkZCBjaGlsZHJlbiB0byB0aGUgZHJhd2VySXRlbXMgYXJyYXlcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBkcmF3ZXJJdGVtcztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImN1c3RvbS10b29sYmFyXCI+XG4gIDxidXR0b24ga2VuZG9CdXR0b24gW3N2Z0ljb25dPVwibWVudVN2Z1wiIGZpbGxNb2RlPVwiZmxhdFwiIChjbGljayk9XCJkcmF3ZXIudG9nZ2xlKClcIj48L2J1dHRvbj5cbiAgPCEtLSA8a2VuZG8tdG9vbGJhci1idXR0b24gaWNvbj1cIm1lbnVcIiAgdGhlbWVDb2xvcj1cInRlcnRpYXJ5XCIgIChjbGljayk9XCJkcmF3ZXIudG9nZ2xlKClcIj4gPC9rZW5kby10b29sYmFyLWJ1dHRvbj4gLS0+XG4gIDxzcGFuIGNsYXNzPVwiYXBwLXRpdGxlXCI+e3thcHB0aXRsZX19PC9zcGFuPlxuPC9kaXY+XG48a2VuZG8tZHJhd2VyLWNvbnRhaW5lcj5cbiAgPGtlbmRvLWRyYXdlciAjZHJhd2VyIFtpdGVtc109XCJpdGVtc1wiIG1vZGU9XCJwdXNoXCIgW21pbmldPVwidHJ1ZVwiIFtleHBhbmRlZF09XCJ0cnVlXCIgKHNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcbiAgICBbYXV0b0NvbGxhcHNlXT1cImZhbHNlXCIgW2lzSXRlbUV4cGFuZGVkXT1cImlzSXRlbUV4cGFuZGVkXCI+XG4gICAgPCEtLSA8bmctdGVtcGxhdGUga2VuZG9EcmF3ZXJJdGVtVGVtcGxhdGUgbGV0LWl0ZW0+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5wYXRoICE9PSAnJ1wiIGNsYXNzPVwiay1kcmF3ZXItbGlua1wiIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucGF0aFwiPlxuICAgICAgICA8a2VuZG8tc3ZnaWNvbiBbaWNvbl09XCJpdGVtLnN2Z0ljb25cIj48L2tlbmRvLXN2Z2ljb24+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0udGV4dCB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIml0ZW0ucGF0aCA9PSAnJ1wiIGNsYXNzPVwiay1kcmF3ZXItbGlua1wiID5cbiAgICAgICAgPGtlbmRvLXN2Z2ljb24gW2ljb25dPVwiaXRlbS5zdmdJY29uXCI+PC9rZW5kby1zdmdpY29uPlxuICAgICAgICA8c3Bhbj57eyBpdGVtLnRleHQgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPiAtLT5cbiAgPC9rZW5kby1kcmF3ZXI+XG5cbiAgPGtlbmRvLWRyYXdlci1jb250ZW50PlxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICA8IS0tIDxkaXY+e3tzZWxlY3RlZH19PC9kaXY+IC0tPlxuICAgIDwhLS0gPG15LWNvbnRlbnQgW3NlbGVjdGVkSXRlbV09XCJzZWxlY3RlZFwiPjwvbXktY29udGVudD4gLS0+XG4gIDwva2VuZG8tZHJhd2VyLWNvbnRlbnQ+XG48L2tlbmRvLWRyYXdlci1jb250YWluZXI+Il19
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import { FormGroup, ReactiveFormsModule } from '@angular/forms';
|
3
|
+
import { FormlyModule } from '@ngx-formly/core';
|
4
|
+
import { FormlyKendoModule } from '@ngx-formly/kendo';
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "@ngx-formly/core";
|
8
|
+
import * as i2 from "@angular/forms";
|
9
|
+
;
|
10
|
+
export class RdictCrudComponent {
|
11
|
+
constructor() {
|
12
|
+
this.baseForm = new FormGroup({});
|
13
|
+
this.model = {};
|
14
|
+
this.options = {};
|
15
|
+
this.fields = [
|
16
|
+
{
|
17
|
+
key: 'name',
|
18
|
+
type: 'input',
|
19
|
+
props: {
|
20
|
+
label: 'General.Name',
|
21
|
+
translate: true,
|
22
|
+
required: true,
|
23
|
+
},
|
24
|
+
},
|
25
|
+
];
|
26
|
+
}
|
27
|
+
ngOnInit() {
|
28
|
+
}
|
29
|
+
onSubmit(model) {
|
30
|
+
}
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RdictCrudComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: RdictCrudComponent, isStandalone: true, selector: "app-rdict-crud", ngImport: i0, template: "<form [formGroup]=\"baseForm\" (ngSubmit)=\"onSubmit(model)\">\n <formly-form [form]=\"baseForm\" [fields]=\"fields\" [model]=\"model\" [options]=\"options\"></formly-form>\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyKendoModule }, { kind: "ngmodule", type: TranslateModule }] }); }
|
33
|
+
}
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RdictCrudComponent, decorators: [{
|
35
|
+
type: Component,
|
36
|
+
args: [{ standalone: true, selector: 'app-rdict-crud', imports: [
|
37
|
+
FormlyModule,
|
38
|
+
ReactiveFormsModule,
|
39
|
+
FormlyKendoModule,
|
40
|
+
TranslateModule
|
41
|
+
], template: "<form [formGroup]=\"baseForm\" (ngSubmit)=\"onSubmit(model)\">\n <formly-form [form]=\"baseForm\" [fields]=\"fields\" [model]=\"model\" [options]=\"options\"></formly-form>\n</form>" }]
|
42
|
+
}], ctorParameters: () => [] });
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRpY3QtY3J1ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL3JkaWN0LWNydWQvcmRpY3QtY3J1ZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL3JkaWN0LWNydWQvcmRpY3QtY3J1ZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQXdDLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUN0RCxDQUFDO0FBYUQsTUFBTSxPQUFPLGtCQUFrQjtJQWlCN0I7UUFoQkEsYUFBUSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsWUFBTyxHQUFzQixFQUFFLENBQUM7UUFDaEMsV0FBTSxHQUF3QjtZQUM1QjtnQkFDRSxHQUFHLEVBQUUsTUFBTTtnQkFDWCxJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLGNBQWM7b0JBQ3JCLFNBQVMsRUFBRSxJQUFJO29CQUNmLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2FBQ0Y7U0FDRixDQUFDO0lBR2MsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFLO0lBQ2QsQ0FBQzs4R0F0QlUsa0JBQWtCO2tHQUFsQixrQkFBa0IsMEVDbEIvQix3TEFFTyx5RERVSCxZQUFZLDZLQUNaLG1CQUFtQixvYkFDbkIsaUJBQWlCLDhCQUNqQixlQUFlOzsyRkFHTixrQkFBa0I7a0JBWjlCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGdCQUFnQixXQUdqQjt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixlQUFlO3FCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5Rm9ybU9wdGlvbnMsIEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5S2VuZG9Nb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9rZW5kbyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbjtcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2FwcC1yZGljdC1jcnVkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JkaWN0LWNydWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZGljdC1jcnVkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICBGb3JtbHlNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3JtbHlLZW5kb01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZGljdENydWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBiYXNlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICBtb2RlbDogYW55ID0ge307XG4gIG9wdGlvbnM6IEZvcm1seUZvcm1PcHRpb25zID0ge307XG4gIGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXSA9IFtcbiAgICB7XG4gICAgICBrZXk6ICduYW1lJyxcbiAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICBwcm9wczoge1xuICAgICAgICBsYWJlbDogJ0dlbmVyYWwuTmFtZScsXG4gICAgICAgIHRyYW5zbGF0ZTogdHJ1ZSxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0sXG4gIF07XG5cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG4gIG9uU3VibWl0KG1vZGVsKSB7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiYmFzZUZvcm1cIiAobmdTdWJtaXQpPVwib25TdWJtaXQobW9kZWwpXCI+XG4gIDxmb3JtbHktZm9ybSBbZm9ybV09XCJiYXNlRm9ybVwiIFtmaWVsZHNdPVwiZmllbGRzXCIgW21vZGVsXT1cIm1vZGVsXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiPjwvZm9ybWx5LWZvcm0+XG48L2Zvcm0+Il19
|
@@ -0,0 +1,285 @@
|
|
1
|
+
import { Component, ElementRef, EventEmitter, Injector, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
2
|
+
import { MatPaginator } from '@angular/material/paginator';
|
3
|
+
import { MatSort } from '@angular/material/sort';
|
4
|
+
import { ActivatedRoute, NavigationStart, Router, RouterModule, UrlSegment } from '@angular/router';
|
5
|
+
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
6
|
+
// import { Rule } from '@rosoftlab/core';
|
7
|
+
import { CommonModule } from '@angular/common';
|
8
|
+
import { KENDO_GRID } from '@progress/kendo-angular-grid';
|
9
|
+
import { KENDO_LABEL } from '@progress/kendo-angular-label';
|
10
|
+
import { KENDO_TOOLBAR } from '@progress/kendo-angular-toolbar';
|
11
|
+
import { ColumnMode, SelectionType } from '@swimlane/ngx-datatable';
|
12
|
+
import { ReactiveDictionary } from '../../reactive-dictionary';
|
13
|
+
import { WsAuthService } from '../../services';
|
14
|
+
import { SocketService } from '../../services/socket.service';
|
15
|
+
import { RdictTableTitle } from './rdict-table-title';
|
16
|
+
import * as i0 from "@angular/core";
|
17
|
+
import * as i1 from "@angular/router";
|
18
|
+
import * as i2 from "@ngx-translate/core";
|
19
|
+
import * as i3 from "../../services/socket.service";
|
20
|
+
import * as i4 from "../../services";
|
21
|
+
import * as i5 from "@angular/common";
|
22
|
+
import * as i6 from "@progress/kendo-angular-grid";
|
23
|
+
import * as i7 from "@progress/kendo-angular-toolbar";
|
24
|
+
export class GenericRdictTableComponent {
|
25
|
+
constructor(router, route, translate, injector, socketService, wsAuthService, el) {
|
26
|
+
this.router = router;
|
27
|
+
this.route = route;
|
28
|
+
this.translate = translate;
|
29
|
+
this.injector = injector;
|
30
|
+
this.socketService = socketService;
|
31
|
+
this.wsAuthService = wsAuthService;
|
32
|
+
this.el = el;
|
33
|
+
this.editOnClick = false;
|
34
|
+
this.editOnDblClick = false;
|
35
|
+
this.data = [];
|
36
|
+
this.pageIndex = 1;
|
37
|
+
this.pageSize = 30;
|
38
|
+
this.isLoadingResults = true;
|
39
|
+
this.isRateLimitReached = false;
|
40
|
+
// @ViewChild('table') table: MatTable<any>;
|
41
|
+
// @ViewChild('table', { read: ElementRef }) public matTableRef: ElementRef;
|
42
|
+
this.selectedObject = new EventEmitter();
|
43
|
+
this.click = new EventEmitter();
|
44
|
+
this.editModel = new EventEmitter();
|
45
|
+
this.columns = [];
|
46
|
+
this.tableLayout = {};
|
47
|
+
this.allColumns = [];
|
48
|
+
this.ColumnMode = ColumnMode;
|
49
|
+
this.SelectionType = SelectionType;
|
50
|
+
this.headerHeight = 50;
|
51
|
+
this.rowHeight = 50;
|
52
|
+
}
|
53
|
+
async ngOnInit() {
|
54
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'model', "");
|
55
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'showSerach', false);
|
56
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'searchFields', null);
|
57
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'customInclude', null);
|
58
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSort', null);
|
59
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSortDirection', '');
|
60
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'deletePropertyName', 'name');
|
61
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'defaultFilter', null);
|
62
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'showHeader', true);
|
63
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'deleteDisableRule', null);
|
64
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'hasAdd', true);
|
65
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'canDelete', true);
|
66
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'canEdit', true);
|
67
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'editOnClick', false);
|
68
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'editOnDblClick', false);
|
69
|
+
const currentUrlSegments = this.router.url.split('/').map(segment => new UrlSegment(segment, {}));
|
70
|
+
this.basePath = currentUrlSegments.map(segment => segment.path).join('/');
|
71
|
+
const filteredSegments = currentUrlSegments.filter(segment => segment.path !== '');
|
72
|
+
this.dictPath = filteredSegments.map(segment => segment.path).join('.');
|
73
|
+
this.model = filteredSegments.length > 0 ? filteredSegments[filteredSegments.length - 1].path : ''; // Default to empty string if no valid segments
|
74
|
+
this.router.events.subscribe(event => {
|
75
|
+
if (event instanceof NavigationStart) {
|
76
|
+
// Navigation to another page is about to occur
|
77
|
+
this.data = [];
|
78
|
+
this.pageIndex = 1;
|
79
|
+
// Perform actions or update component as needed
|
80
|
+
}
|
81
|
+
});
|
82
|
+
this.rdict = ReactiveDictionary.getInstance(this.socketService, this.wsAuthService.Token);
|
83
|
+
if (this.rdict.size == 0)
|
84
|
+
await this.rdict.asyncInit();
|
85
|
+
await this.getListLayout();
|
86
|
+
await this.loadData();
|
87
|
+
// this.isLoading = true;
|
88
|
+
// this.onScroll(0);
|
89
|
+
}
|
90
|
+
setValueFromSnapshot(component, snapshot, key, defaultValue) {
|
91
|
+
if (component[key] === undefined) {
|
92
|
+
let dataFromSnapshot = snapshot.data[key];
|
93
|
+
if (dataFromSnapshot === null || dataFromSnapshot === undefined) {
|
94
|
+
dataFromSnapshot = snapshot.params[key];
|
95
|
+
}
|
96
|
+
component[key] = dataFromSnapshot !== undefined ? dataFromSnapshot : defaultValue;
|
97
|
+
}
|
98
|
+
}
|
99
|
+
async loadData() {
|
100
|
+
var x = await this.rdict.getTable(this.dictPath);
|
101
|
+
const result = x.map(dictionary => {
|
102
|
+
// Convert Map to object and filter out __guid
|
103
|
+
const filteredObject = {};
|
104
|
+
for (const [key, value] of dictionary.entries()) {
|
105
|
+
if (key !== '__guid') {
|
106
|
+
filteredObject[key] = value;
|
107
|
+
}
|
108
|
+
}
|
109
|
+
return filteredObject;
|
110
|
+
});
|
111
|
+
this.dataSource = result; //new MatTableDataSource(result);
|
112
|
+
}
|
113
|
+
// async handleChange(event) {
|
114
|
+
// this.filterValue = event.target.value.toLowerCase();
|
115
|
+
// this.data = [];
|
116
|
+
// this.pageIndex = 1
|
117
|
+
// this.loadData();
|
118
|
+
// }
|
119
|
+
// loadData(event = null) {
|
120
|
+
// const filters = [];
|
121
|
+
// let sorts = '';
|
122
|
+
// this.isLoading = true;
|
123
|
+
// if (this.defaultSort) {
|
124
|
+
// if (this.defaultSortDirection === 'desc') {
|
125
|
+
// sorts = '-' + this.defaultSort;
|
126
|
+
// } else {
|
127
|
+
// sorts = this.defaultSort;
|
128
|
+
// }
|
129
|
+
// }
|
130
|
+
// if (this.showSerach) {
|
131
|
+
// if (this.filterValue) {
|
132
|
+
// const y = '(' + this.searchFields.replace(',', '|') + ')';
|
133
|
+
// filters.push(y + '@=*' + this.filterValue);
|
134
|
+
// }
|
135
|
+
// }
|
136
|
+
// if (this.defaultFilter) {
|
137
|
+
// filters.push(this.defaultFilter)
|
138
|
+
// }
|
139
|
+
// setTimeout(() => {
|
140
|
+
// const filtersValue = filters.join(', ');
|
141
|
+
// this.modelService.getAll(this.pageIndex, this.pageSize, sorts, filtersValue, this.customInclude).subscribe(
|
142
|
+
// (response: BaseQueryData<T>) => {
|
143
|
+
// if (this.pageIndex !== response.getMeta().meta.count) {
|
144
|
+
// this.pageIndex++
|
145
|
+
// } else {
|
146
|
+
// if (event) event.target.disabled = true;
|
147
|
+
// }
|
148
|
+
// // if (this.filterValue)
|
149
|
+
// // this.data = response.getModels();
|
150
|
+
// // else
|
151
|
+
// const rows = [...this.data, ...response.getModels()];
|
152
|
+
// this.data = rows;
|
153
|
+
// // this.data = this.data.concat();
|
154
|
+
// if (event) event.target.complete();
|
155
|
+
// this.isLoading = false;
|
156
|
+
// })
|
157
|
+
// }, 700);
|
158
|
+
// }
|
159
|
+
// async handleRefresh(event) {
|
160
|
+
// this.pageIndex = 1
|
161
|
+
// this.data = [];
|
162
|
+
// this.loadData();
|
163
|
+
// event.target.complete();
|
164
|
+
// }
|
165
|
+
// onAdd() {
|
166
|
+
// console.log(this.basePath)
|
167
|
+
// this.router.navigate([this.basePath + '/add'])
|
168
|
+
// // this.navCtrl.navigateForward(this.basePath + '/add');
|
169
|
+
// }
|
170
|
+
// editModel(model: BaseModelFormly) {
|
171
|
+
// if (this.canEdit)
|
172
|
+
// this.router.navigate([this.basePath + '/edit/', model.id]);
|
173
|
+
// // this.navCtrl.navigateForward(this.basePath + '/edit/' + model.id);
|
174
|
+
// }
|
175
|
+
async getListLayout() {
|
176
|
+
if (this.model) {
|
177
|
+
this.tableLayout = await this.rdict.asyncGet("config.models." + this.model + ".tableLayout");
|
178
|
+
if (this.tableLayout) {
|
179
|
+
this.title = this.translate.instant(this.tableLayout["title"]);
|
180
|
+
this.allColumns = this.tableLayout["columns"].map(item => {
|
181
|
+
if (!item.isTranslated) {
|
182
|
+
item.name = this.translate.instant(item.translateKey);
|
183
|
+
item.isTranslated = true;
|
184
|
+
}
|
185
|
+
return item;
|
186
|
+
});
|
187
|
+
this.columns = [];
|
188
|
+
// this.allColumns = Reflect.getMetadata('IonicDataTableLayout', this.model).map((item: IonicDataTableLayoutConfig) => {
|
189
|
+
// if (!item.isTranslated) {
|
190
|
+
// item.name = this.translate.instant(item.name);
|
191
|
+
// item.isTranslated = true
|
192
|
+
// }
|
193
|
+
// return item;
|
194
|
+
// });
|
195
|
+
this.allColumns.sort((a, b) => a.order - b.order);
|
196
|
+
// if (this.canDelete || this.canEdit) {
|
197
|
+
// this.allColumns.push({
|
198
|
+
// // cellTemplate: null,
|
199
|
+
// name: '',
|
200
|
+
// // cellClass: 'actions-cell',
|
201
|
+
// draggable: false,
|
202
|
+
// sortable: false,
|
203
|
+
// visible: true
|
204
|
+
// // width: 100,
|
205
|
+
// // maxWidth: 100,
|
206
|
+
// // minWidth: 100
|
207
|
+
// })
|
208
|
+
// }
|
209
|
+
// this.columns = this.allColumns.filter((item: IonicDataTableLayoutConfig) => item.visible);
|
210
|
+
this.displayedColumns = [];
|
211
|
+
// if (this.allowReorderItems) {
|
212
|
+
// this.displayedColumns.push('position')
|
213
|
+
// }
|
214
|
+
this.displayedColumns.push.apply(this.displayedColumns, this.allColumns.map(x => x.propertyName));
|
215
|
+
}
|
216
|
+
}
|
217
|
+
}
|
218
|
+
addHandler() {
|
219
|
+
console.log("add");
|
220
|
+
this.router.navigate([this.basePath + '/add']);
|
221
|
+
// this.editDataItem = new Product();
|
222
|
+
// this.isNew = true;
|
223
|
+
}
|
224
|
+
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 }); }
|
225
|
+
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", defaultSortDirection: "defaultSortDirection", 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: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { 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:
|
226
|
+
// MatPaginatorModule,
|
227
|
+
// MatTableModule,
|
228
|
+
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 }); }
|
229
|
+
}
|
230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: GenericRdictTableComponent, decorators: [{
|
231
|
+
type: Component,
|
232
|
+
args: [{ selector: 'rsl-rdict-generic-table', encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
233
|
+
CommonModule,
|
234
|
+
RouterModule,
|
235
|
+
// MatPaginatorModule,
|
236
|
+
// MatTableModule,
|
237
|
+
TranslateModule,
|
238
|
+
KENDO_GRID,
|
239
|
+
KENDO_TOOLBAR,
|
240
|
+
KENDO_LABEL,
|
241
|
+
RdictTableTitle
|
242
|
+
], 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>" }]
|
243
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TranslateService }, { type: i0.Injector }, { type: i3.SocketService }, { type: i4.WsAuthService }, { type: i0.ElementRef }], propDecorators: { showSerach: [{
|
244
|
+
type: Input
|
245
|
+
}], searchFields: [{
|
246
|
+
type: Input
|
247
|
+
}], customInclude: [{
|
248
|
+
type: Input
|
249
|
+
}], defaultSort: [{
|
250
|
+
type: Input
|
251
|
+
}], defaultSortDirection: [{
|
252
|
+
type: Input
|
253
|
+
}], deletePropertyName: [{
|
254
|
+
type: Input
|
255
|
+
}], defaultFilter: [{
|
256
|
+
type: Input
|
257
|
+
}], showHeader: [{
|
258
|
+
type: Input
|
259
|
+
}], hasAdd: [{
|
260
|
+
type: Input
|
261
|
+
}], canDelete: [{
|
262
|
+
type: Input
|
263
|
+
}], canEdit: [{
|
264
|
+
type: Input
|
265
|
+
}], editOnClick: [{
|
266
|
+
type: Input
|
267
|
+
}], editOnDblClick: [{
|
268
|
+
type: Input
|
269
|
+
}], paginator: [{
|
270
|
+
type: ViewChild,
|
271
|
+
args: [MatPaginator, { static: true }]
|
272
|
+
}], sort: [{
|
273
|
+
type: ViewChild,
|
274
|
+
args: [MatSort, { static: true }]
|
275
|
+
}], filter: [{
|
276
|
+
type: ViewChild,
|
277
|
+
args: [ElementRef, { static: false }]
|
278
|
+
}], selectedObject: [{
|
279
|
+
type: Output
|
280
|
+
}], click: [{
|
281
|
+
type: Output
|
282
|
+
}], editModel: [{
|
283
|
+
type: Output
|
284
|
+
}] } });
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL3JkaWN0LWdlbmVyaWMtdGFibGUvcmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL3JkaWN0LWdlbmVyaWMtdGFibGUvcmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQTBCLGVBQWUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVILE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFB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QUE1QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFVcUMsU0FBUztzQkFBbkQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNILElBQUk7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDTSxNQUFNO3NCQUEvQyxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSzlCLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnREaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciwgUm91dGVyTW9kdWxlLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuLy8gaW1wb3J0IHsgUnVsZSB9IGZyb20gJ0Byb3NvZnRsYWIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgS0VORE9fR1JJRCB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuaW1wb3J0IHsgS0VORE9fTEFCRUwgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1sYWJlbCc7XG5pbXBvcnQgeyBLRU5ET19UT09MQkFSIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbGJhcic7XG5pbXBvcnQgeyBDb2x1bW5Nb2RlLCBTZWxlY3Rpb25UeXBlIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vcmVhY3RpdmUtZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBXc0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgU29ja2V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NvY2tldC5zZXJ2aWNlJztcbmltcG9ydCB7IFJkaWN0VGFibGVUaXRsZSB9IGZyb20gJy4vcmRpY3QtdGFibGUtdGl0bGUnO1xuZGVjbGFyZSB2YXIgJDogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyc2wtcmRpY3QtZ2VuZXJpYy10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZGljdC1nZW5lcmljLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICAvLyBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgLy8gTWF0VGFibGVNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEtFTkRPX0dSSUQsXG4gICAgS0VORE9fVE9PTEJBUixcbiAgICBLRU5ET19MQUJFTCxcbiAgICBSZGljdFRhYmxlVGl0bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG5cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBHZW5lcmljUmRpY3RUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRhdGFTb3VyY2U6IHVua25vd25bXSAvL01hdFRhYmxlRGF0YVNvdXJjZTxhbnk+ID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSgpO1xuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgbW9kZWw6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd1NlcmFjaDogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VhcmNoRmllbGRzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGN1c3RvbUluY2x1ZGU6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFNvcnQ6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFNvcnREaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XG4gIEBJbnB1dCgpIGRlbGV0ZVByb3BlcnR5TmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0RmlsdGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dIZWFkZXI6IGJvb2xlYW47XG4gIC8vIEBJbnB1dCgpIGRlbGV0ZURpc2FibGVSdWxlOiBSdWxlW107XG4gIEBJbnB1dCgpIGhhc0FkZDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2FuRGVsZXRlOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW5FZGl0OiBib29sZWFuO1xuICBASW5wdXQoKSBlZGl0T25DbGljazogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBlZGl0T25EYmxDbGljazogYm9vbGVhbiA9IGZhbHNlO1xuICBkYXRhOiBhbnlbXSA9IFtdO1xuICBwYWdlSW5kZXg6IG51bWJlciA9IDE7XG4gIHBhZ2VTaXplOiBudW1iZXIgPSAzMFxuXG4gIGJhc2VQYXRoOiBzdHJpbmc7XG4gIGRpY3RQYXRoOiBzdHJpbmc7XG4gIGlzTG9hZGluZ1Jlc3VsdHMgPSB0cnVlO1xuICBpc1JhdGVMaW1pdFJlYWNoZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG4gIEBWaWV3Q2hpbGQoTWF0U29ydCwgeyBzdGF0aWM6IHRydWUgfSkgc29ydDogTWF0U29ydDtcbiAgQFZpZXdDaGlsZChFbGVtZW50UmVmLCB7IHN0YXRpYzogZmFsc2UgfSkgZmlsdGVyOiBFbGVtZW50UmVmO1xuICAvLyBAVmlld0NoaWxkKCd0YWJsZScpIHRhYmxlOiBNYXRUYWJsZTxhbnk+O1xuICAvLyBAVmlld0NoaWxkKCd0YWJsZScsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBwdWJsaWMgbWF0VGFibGVSZWY6IEVsZW1lbnRSZWY7XG5cblxuICBAT3V0cHV0KCkgc2VsZWN0ZWRPYmplY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPHsgcHJvcGVydHlOYW1lOiBzdHJpbmcsIG1vZGVsOiBhbnkgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgcHJvcGVydHlOYW1lOiBzdHJpbmcsIG1vZGVsOiBhbnkgfT4oKTtcbiAgQE91dHB1dCgpIGVkaXRNb2RlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb2x1bW5zID0gW107XG4gIHRhYmxlTGF5b3V0ID0ge307XG4gIGFsbENvbHVtbnMgPSBbXTtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW107XG4gIENvbHVtbk1vZGUgPSBDb2x1bW5Nb2RlO1xuICBTZWxlY3Rpb25UeXBlID0gU2VsZWN0aW9uVHlwZTtcblxuICByZWFkb25seSBoZWFkZXJIZWlnaHQgPSA1MDtcbiAgcmVhZG9ubHkgcm93SGVpZ2h0ID0gNTA7XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgZmlsdGVyVmFsdWU6IHN0cmluZztcbiAgb2xkT2Zmc2V0WTogbnVtYmVyO1xuICBoYXNTZWFyY2g6IGZhbHNlXG4gIHJkaWN0OiBSZWFjdGl2ZURpY3Rpb25hcnkgfCB1bmRlZmluZWQ7XG4gIHNlbGVjdGVkSXRlbTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBzb2NrZXRTZXJ2aWNlOiBTb2NrZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgd3NBdXRoU2VydmljZTogV3NBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG4gIH1cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRWYWx1ZUZyb21TbmFwc2hvdCh0aGlzLCB0aGlzLnJvdXRlLnNuYXBzaG90LCAnbW9kZWwnLCBcIlwiKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdzaG93U2VyYWNoJywgZmFsc2UpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ3NlYXJjaEZpZWxkcycsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2N1c3RvbUluY2x1ZGUnLCBudWxsKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdkZWZhdWx0U29ydCcsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2RlZmF1bHRTb3J0RGlyZWN0aW9uJywgJycpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2RlbGV0ZVByb3BlcnR5TmFtZScsICduYW1lJyk7XG4gICAgdGhpcy5zZXRWYWx1ZUZyb21TbmFwc2hvdCh0aGlzLCB0aGlzLnJvdXRlLnNuYXBzaG90LCAnZGVmYXVsdEZpbHRlcicsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ3Nob3dIZWFkZXInLCB0cnVlKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdkZWxldGVEaXNhYmxlUnVsZScsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2hhc0FkZCcsIHRydWUpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2NhbkRlbGV0ZScsIHRydWUpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2NhbkVkaXQnLCB0cnVlKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdlZGl0T25DbGljaycsIGZhbHNlKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdlZGl0T25EYmxDbGljaycsIGZhbHNlKTtcblxuICAgIGNvbnN0IGN1cnJlbnRVcmxTZWdtZW50czogVXJsU2VnbWVudFtdID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJykubWFwKHNlZ21lbnQgPT4gbmV3IFVybFNlZ21lbnQoc2VnbWVudCwge30pKTtcbiAgICB0aGlzLmJhc2VQYXRoID0gY3VycmVudFVybFNlZ21lbnRzLm1hcChzZWdtZW50ID0+IHNlZ21lbnQucGF0aCkuam9pbignLycpO1xuICAgIGNvbnN0IGZpbHRlcmVkU2VnbWVudHMgPSBjdXJyZW50VXJsU2VnbWVudHMuZmlsdGVyKHNlZ21lbnQgPT4gc2VnbWVudC5wYXRoICE9PSAnJyk7XG4gICAgdGhpcy5kaWN0UGF0aCA9IGZpbHRlcmVkU2VnbWVudHMubWFwKHNlZ21lbnQgPT4gc2VnbWVudC5wYXRoKS5qb2luKCcuJyk7XG4gICAgdGhpcy5tb2RlbCA9IGZpbHRlcmVkU2VnbWVudHMubGVuZ3RoID4gMCA/IGZpbHRlcmVkU2VnbWVudHNbZmlsdGVyZWRTZWdtZW50cy5sZW5ndGggLSAxXS5wYXRoIDogJyc7IC8vIERlZmF1bHQgdG8gZW1wdHkgc3RyaW5nIGlmIG5vIHZhbGlkIHNlZ21lbnRzXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgLy8gTmF2aWdhdGlvbiB0byBhbm90aGVyIHBhZ2UgaXMgYWJvdXQgdG8gb2NjdXJcbiAgICAgICAgdGhpcy5kYXRhID0gW107XG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gMVxuICAgICAgICAvLyBQZXJmb3JtIGFjdGlvbnMgb3IgdXBkYXRlIGNvbXBvbmVudCBhcyBuZWVkZWRcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnJkaWN0ID0gUmVhY3RpdmVEaWN0aW9uYXJ5LmdldEluc3RhbmNlKHRoaXMuc29ja2V0U2VydmljZSx0aGlzLndzQXV0aFNlcnZpY2UuVG9rZW4pO1xuICAgIGlmICh0aGlzLnJkaWN0LnNpemUgPT0gMClcbiAgICAgIGF3YWl0IHRoaXMucmRpY3QuYXN5bmNJbml0KCk7XG4gICAgYXdhaXQgdGhpcy5nZXRMaXN0TGF5b3V0KClcbiAgICBhd2FpdCB0aGlzLmxvYWREYXRhKClcbiAgICAvLyB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgLy8gdGhpcy5vblNjcm9sbCgwKTtcbiAgfVxuICBzZXRWYWx1ZUZyb21TbmFwc2hvdDxUPihjb21wb25lbnQ6IGFueSwgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAoY29tcG9uZW50W2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IGRhdGFGcm9tU25hcHNob3QgPSBzbmFwc2hvdC5kYXRhW2tleV07XG4gICAgICBpZiAoZGF0YUZyb21TbmFwc2hvdCA9PT0gbnVsbCB8fCBkYXRhRnJvbVNuYXBzaG90ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGF0YUZyb21TbmFwc2hvdCA9IHNuYXBzaG90LnBhcmFtc1trZXldO1xuICAgICAgfVxuICAgICAgY29tcG9uZW50W2tleV0gPSBkYXRhRnJvbVNuYXBzaG90ICE9PSB1bmRlZmluZWQgPyBkYXRhRnJvbVNuYXBzaG90IDogZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgfVxuICBhc3luYyBsb2FkRGF0YSgpIHtcbiAgICB2YXIgeCA9IGF3YWl0IHRoaXMucmRpY3QuZ2V0VGFibGUodGhpcy5kaWN0UGF0aClcbiAgICBjb25zdCByZXN1bHQgPSB4Lm1hcChkaWN0aW9uYXJ5ID0+IHtcbiAgICAgIC8vIENvbnZlcnQgTWFwIHRvIG9iamVjdCBhbmQgZmlsdGVyIG91dCBfX2d1aWRcbiAgICAgIGNvbnN0IGZpbHRlcmVkT2JqZWN0ID0ge307XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBkaWN0aW9uYXJ5LmVudHJpZXMoKSkge1xuICAgICAgICBpZiAoa2V5ICE9PSAnX19ndWlkJykge1xuICAgICAgICAgIGZpbHRlcmVkT2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbHRlcmVkT2JqZWN0O1xuICAgIH0pO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IHJlc3VsdC8vbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShyZXN1bHQpO1xuICB9XG4gIC8vIGFzeW5jIGhhbmRsZUNoYW5nZShldmVudCkge1xuICAvLyAgIHRoaXMuZmlsdGVyVmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgLy8gICB0aGlzLmRhdGEgPSBbXTtcbiAgLy8gICB0aGlzLnBhZ2VJbmRleCA9IDFcbiAgLy8gICB0aGlzLmxvYWREYXRhKCk7XG4gIC8vIH1cbiAgLy8gbG9hZERhdGEoZXZlbnQgPSBudWxsKSB7XG4gIC8vICAgY29uc3QgZmlsdGVycyA9IFtdO1xuICAvLyAgIGxldCBzb3J0cyA9ICcnO1xuICAvLyAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgLy8gICBpZiAodGhpcy5kZWZhdWx0U29ydCkge1xuICAvLyAgICAgaWYgKHRoaXMuZGVmYXVsdFNvcnREaXJlY3Rpb24gPT09ICdkZXNjJykge1xuICAvLyAgICAgICBzb3J0cyA9ICctJyArIHRoaXMuZGVmYXVsdFNvcnQ7XG4gIC8vICAgICB9IGVsc2Uge1xuICAvLyAgICAgICBzb3J0cyA9IHRoaXMuZGVmYXVsdFNvcnQ7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyAgIGlmICh0aGlzLnNob3dTZXJhY2gpIHtcbiAgLy8gICAgIGlmICh0aGlzLmZpbHRlclZhbHVlKSB7XG4gIC8vICAgICAgIGNvbnN0IHkgPSAnKCcgKyB0aGlzLnNlYXJjaEZpZWxkcy5yZXBsYWNlKCcsJywgJ3wnKSArICcpJztcbiAgLy8gICAgICAgZmlsdGVycy5wdXNoKHkgKyAnQD0qJyArIHRoaXMuZmlsdGVyVmFsdWUpO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gICBpZiAodGhpcy5kZWZhdWx0RmlsdGVyKSB7XG4gIC8vICAgICBmaWx0ZXJzLnB1c2godGhpcy5kZWZhdWx0RmlsdGVyKVxuICAvLyAgIH1cbiAgLy8gICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgLy8gICAgIGNvbnN0IGZpbHRlcnNWYWx1ZSA9IGZpbHRlcnMuam9pbignLCAnKTtcbiAgLy8gICAgIHRoaXMubW9kZWxTZXJ2aWNlLmdldEFsbCh0aGlzLnBhZ2VJbmRleCwgdGhpcy5wYWdlU2l6ZSwgc29ydHMsIGZpbHRlcnNWYWx1ZSwgdGhpcy5jdXN0b21JbmNsdWRlKS5zdWJzY3JpYmUoXG4gIC8vICAgICAgIChyZXNwb25zZTogQmFzZVF1ZXJ5RGF0YTxUPikgPT4ge1xuICAvLyAgICAgICAgIGlmICh0aGlzLnBhZ2VJbmRleCAhPT0gcmVzcG9uc2UuZ2V0TWV0YSgpLm1ldGEuY291bnQpIHtcbiAgLy8gICAgICAgICAgIHRoaXMucGFnZUluZGV4KytcbiAgLy8gICAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgICAgaWYgKGV2ZW50KSBldmVudC50YXJnZXQuZGlzYWJsZWQgPSB0cnVlO1xuICAvLyAgICAgICAgIH1cbiAgLy8gICAgICAgICAvLyBpZiAodGhpcy5maWx0ZXJWYWx1ZSlcbiAgLy8gICAgICAgICAvLyAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlLmdldE1vZGVscygpO1xuICAvLyAgICAgICAgIC8vIGVsc2VcbiAgLy8gICAgICAgICBjb25zdCByb3dzID0gWy4uLnRoaXMuZGF0YSwgLi4ucmVzcG9uc2UuZ2V0TW9kZWxzKCldO1xuICAvLyAgICAgICAgIHRoaXMuZGF0YSA9IHJvd3M7XG4gIC8vICAgICAgICAgLy8gdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdCgpO1xuXG4gIC8vICAgICAgICAgaWYgKGV2ZW50KSBldmVudC50YXJnZXQuY29tcGxldGUoKTtcbiAgLy8gICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAvLyAgICAgICB9KVxuICAvLyAgIH0sIDcwMCk7XG4gIC8vIH1cbiAgLy8gYXN5bmMgaGFuZGxlUmVmcmVzaChldmVudCkge1xuICAvLyAgIHRoaXMucGFnZUluZGV4ID0gMVxuICAvLyAgIHRoaXMuZGF0YSA9IFtdO1xuICAvLyAgIHRoaXMubG9hZERhdGEoKTtcbiAgLy8gICBldmVudC50YXJnZXQuY29tcGxldGUoKTtcbiAgLy8gfVxuICAvLyBvbkFkZCgpIHtcbiAgLy8gICBjb25zb2xlLmxvZyh0aGlzLmJhc2VQYXRoKVxuICAvLyAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmJhc2VQYXRoICsgJy9hZGQnXSlcbiAgLy8gICAvLyB0aGlzLm5hdkN0cmwubmF2aWdhdGVGb3J3YXJkKHRoaXMuYmFzZVBhdGggKyAnL2FkZCcpO1xuICAvLyB9XG4gIC8vIGVkaXRNb2RlbChtb2RlbDogQmFzZU1vZGVsRm9ybWx5KSB7XG4gIC8vICAgaWYgKHRoaXMuY2FuRWRpdClcbiAgLy8gICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmJhc2VQYXRoICsgJy9lZGl0LycsIG1vZGVsLmlkXSk7XG4gIC8vICAgLy8gdGhpcy5uYXZDdHJsLm5hdmlnYXRlRm9yd2FyZCh0aGlzLmJhc2VQYXRoICsgJy9lZGl0LycgKyBtb2RlbC5pZCk7XG4gIC8vIH1cbiAgYXN5bmMgZ2V0TGlzdExheW91dCgpIHtcbiAgICBpZiAodGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy50YWJsZUxheW91dCA9IGF3YWl0IHRoaXMucmRpY3QuYXN5bmNHZXQoXCJjb25maWcubW9kZWxzLlwiICsgdGhpcy5tb2RlbCArIFwiLnRhYmxlTGF5b3V0XCIpXG4gICAgICBpZiAodGhpcy50YWJsZUxheW91dCkge1xuICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0aGlzLnRhYmxlTGF5b3V0W1widGl0bGVcIl0pO1xuICAgICAgICB0aGlzLmFsbENvbHVtbnMgPSB0aGlzLnRhYmxlTGF5b3V0W1wiY29sdW1uc1wiXS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgaWYgKCFpdGVtLmlzVHJhbnNsYXRlZCkge1xuICAgICAgICAgICAgaXRlbS5uYW1lID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChpdGVtLnRyYW5zbGF0ZUtleSk7XG4gICAgICAgICAgICBpdGVtLmlzVHJhbnNsYXRlZCA9IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbHVtbnMgPSBbXTtcbiAgICAgICAgLy8gdGhpcy5hbGxDb2x1bW5zID0gUmVmbGVjdC5nZXRNZXRhZGF0YSgnSW9uaWNEYXRhVGFibGVMYXlvdXQnLCB0aGlzLm1vZGVsKS5tYXAoKGl0ZW06IElvbmljRGF0YVRhYmxlTGF5b3V0Q29uZmlnKSA9PiB7XG4gICAgICAgIC8vICAgaWYgKCFpdGVtLmlzVHJhbnNsYXRlZCkge1xuICAgICAgICAvLyAgICAgaXRlbS5uYW1lID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChpdGVtLm5hbWUpO1xuICAgICAgICAvLyAgICAgaXRlbS5pc1RyYW5zbGF0ZWQgPSB0cnVlXG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyAgIHJldHVybiBpdGVtO1xuICAgICAgICAvLyB9KTtcblxuICAgICAgICB0aGlzLmFsbENvbHVtbnMuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuXG4gICAgICAgIC8vIGlmICh0aGlzLmNhbkRlbGV0ZSB8fCB0aGlzLmNhbkVkaXQpIHtcbiAgICAgICAgLy8gICB0aGlzLmFsbENvbHVtbnMucHVzaCh7XG4gICAgICAgIC8vICAgICAvLyBjZWxsVGVtcGxhdGU6IG51bGwsXG4gICAgICAgIC8vICAgICBuYW1lOiAnJyxcbiAgICAgICAgLy8gICAgIC8vIGNlbGxDbGFzczogJ2FjdGlvbnMtY2VsbCcsXG4gICAgICAgIC8vICAgICBkcmFnZ2FibGU6IGZhbHNlLFxuICAgICAgICAvLyAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICAvLyAgICAgdmlzaWJsZTogdHJ1ZVxuICAgICAgICAvLyAgICAgLy8gd2lkdGg6IDEwMCxcbiAgICAgICAgLy8gICAgIC8vIG1heFdpZHRoOiAxMDAsXG4gICAgICAgIC8vICAgICAvLyBtaW5XaWR0aDogMTAwXG4gICAgICAgIC8vICAgfSlcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyB0aGlzLmNvbHVtbnMgPSB0aGlzLmFsbENvbHVtbnMuZmlsdGVyKChpdGVtOiBJb25pY0RhdGFUYWJsZUxheW91dENvbmZpZykgPT4gaXRlbS52aXNpYmxlKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSBbXTtcbiAgICAgICAgLy8gaWYgKHRoaXMuYWxsb3dSZW9yZGVySXRlbXMpIHtcbiAgICAgICAgLy8gICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgncG9zaXRpb24nKVxuICAgICAgICAvLyB9XG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoLmFwcGx5KHRoaXMuZGlzcGxheWVkQ29sdW1ucywgdGhpcy5hbGxDb2x1bW5zLm1hcCh4ID0+IHgucHJvcGVydHlOYW1lKSk7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICBwdWJsaWMgYWRkSGFuZGxlcigpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhcImFkZFwiKVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmJhc2VQYXRoICsgJy9hZGQnXSlcbiAgICAvLyB0aGlzLmVkaXREYXRhSXRlbSA9IG5ldyBQcm9kdWN0KCk7XG4gICAgLy8gdGhpcy5pc05ldyA9IHRydWU7XG4gIH1cblxufVxuIiwiPGtlbmRvLWdyaWQgW2RhdGFdPVwiZGF0YVNvdXJjZVwiIFxuICAgICAgW3NvcnRhYmxlXT1cInRydWVcIiBcbiAgICAgIFtmaWx0ZXJhYmxlXT1cInNob3dTZXJhY2hcIlxuICAgICAgKGFkZCk9XCJhZGRIYW5kbGVyKClcIj5cbiAgPGtlbmRvLXRvb2xiYXI+XG4gICAgPHRhYmxlLXRpdGxlIHRleHQ9XCJ7e3RpdGxlfX1cIj48L3RhYmxlLXRpdGxlPlxuICAgIDxrZW5kby10b29sYmFyLW1lc3NhZ2VzPlRlc3Q8L2tlbmRvLXRvb2xiYXItbWVzc2FnZXM+XG4gICAgPCEtLSA8a2VuZG8tdG9vbGJhci1zZXBhcmF0b3I+PC9rZW5kby10b29sYmFyLXNlcGFyYXRvcj4gLS0+XG4gICAgPGtlbmRvLXRvb2xiYXItc3BhY2VyPjwva2VuZG8tdG9vbGJhci1zcGFjZXI+XG4gICAgPGtlbmRvLXRvb2xiYXItYnV0dG9uIHRleHQ9XCJBZGQgbmV3XCIga2VuZG9HcmlkQWRkVG9vbD48L2tlbmRvLXRvb2xiYXItYnV0dG9uPlxuICA8L2tlbmRvLXRvb2xiYXI+XG4gIDwhLS0gPGtlbmRvLXRvb2xiYXI+XG4gICAgXG4gICAgPGtlbmRvLXRvb2xiYXItc3BhY2VyPjwva2VuZG8tdG9vbGJhci1zcGFjZXI+XG4gICAgPGJ1dHRvbiBrZW5kb0dyaWRBZGRDb21tYW5kIHR5cGU9XCJidXR0b25cIj5BZGQgbmV3PC9idXR0b24+XG4gIDwva2VuZG8tdG9vbGJhcj4gLS0+XG4gIDxrZW5kby1ncmlkLWNvbHVtbiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGFsbENvbHVtbnNcIiBmaWVsZD1cInt7IGNvbHVtbi5wcm9wZXJ0eU5hbWUgfX1cIlxuICAgIHRpdGxlPVwiIHt7Y29sdW1uLnRyYW5zbGF0ZUtleSB8IHRyYW5zbGF0ZX19XCI+XG4gIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG48L2tlbmRvLWdyaWQ+Il19
|
@@ -0,0 +1,34 @@
|
|
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=
|