@sunbird-cb/tree-hierarchy 0.0.1-cbrelease-4.8.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/components/action-bar/action-bar.component.mjs +41 -0
  3. package/esm2022/lib/components/approval/approval.component.mjs +19 -0
  4. package/esm2022/lib/components/approve-view/approve-view.component.mjs +64 -0
  5. package/esm2022/lib/components/categories-preview/categories-preview.component.mjs +44 -0
  6. package/esm2022/lib/components/conforamtion-popup/conforamtion-popup.component.mjs +74 -0
  7. package/esm2022/lib/components/connector/connector.component.mjs +59 -0
  8. package/esm2022/lib/components/create-categories/create-categories.component.mjs +83 -0
  9. package/esm2022/lib/components/create-term/create-term.component.mjs +847 -0
  10. package/esm2022/lib/components/create-term-from-framework/create-term-from-framework.component.mjs +823 -0
  11. package/esm2022/lib/components/org-hierarchy-add-modal/org-hierarchy-add-modal.component.mjs +149 -0
  12. package/esm2022/lib/components/pending-approval/pending-approval.component.mjs +64 -0
  13. package/esm2022/lib/components/term-card/term-card.component.mjs +311 -0
  14. package/esm2022/lib/components/tree-column-view/tree-column-view.component.mjs +322 -0
  15. package/esm2022/lib/components/tree-view/tree-view.component.mjs +497 -0
  16. package/esm2022/lib/constants/app-constant.mjs +40 -0
  17. package/esm2022/lib/constants/data.mjs +6972 -0
  18. package/esm2022/lib/containers/config-framework/config-framework.component.mjs +92 -0
  19. package/esm2022/lib/containers/dashboard/dashboard.component.mjs +14 -0
  20. package/esm2022/lib/labels/strings.mjs +40 -0
  21. package/esm2022/lib/models/approval.model.mjs +2 -0
  22. package/esm2022/lib/models/connection-type.model.mjs +2 -0
  23. package/esm2022/lib/models/connection.model.mjs +2 -0
  24. package/esm2022/lib/models/framework.model.mjs +2 -0
  25. package/esm2022/lib/models/variable-type.model.mjs +2 -0
  26. package/esm2022/lib/pipes/order-by.pipe.mjs +35 -0
  27. package/esm2022/lib/services/approval.service.mjs +47 -0
  28. package/esm2022/lib/services/connection.service.mjs +3 -0
  29. package/esm2022/lib/services/connector.service.mjs +240 -0
  30. package/esm2022/lib/services/framework.service.mjs +387 -0
  31. package/esm2022/lib/services/local-connection.service.mjs +75 -0
  32. package/esm2022/lib/services/odcs.service.mjs +23 -0
  33. package/esm2022/lib/tree-hierarchy-routing.module.mjs +43 -0
  34. package/esm2022/lib/tree-hierarchy.component.mjs +24 -0
  35. package/esm2022/lib/tree-hierarchy.module.mjs +138 -0
  36. package/esm2022/lib/tree-hierarchy.service.mjs +41 -0
  37. package/esm2022/material.module.mjs +199 -0
  38. package/esm2022/public-api.mjs +9 -0
  39. package/esm2022/sunbird-cb-tree-hierarchy.mjs +2 -0
  40. package/fesm2022/sunbird-cb-tree-hierarchy.mjs +11577 -0
  41. package/fesm2022/sunbird-cb-tree-hierarchy.mjs.map +1 -0
  42. package/index.d.ts +3 -0
  43. package/lib/components/action-bar/action-bar.component.d.ts +17 -0
  44. package/lib/components/action-bar/action-bar.component.d.ts.map +1 -0
  45. package/lib/components/approval/approval.component.d.ts +10 -0
  46. package/lib/components/approval/approval.component.d.ts.map +1 -0
  47. package/lib/components/approve-view/approve-view.component.d.ts +27 -0
  48. package/lib/components/approve-view/approve-view.component.d.ts.map +1 -0
  49. package/lib/components/categories-preview/categories-preview.component.d.ts +14 -0
  50. package/lib/components/categories-preview/categories-preview.component.d.ts.map +1 -0
  51. package/lib/components/conforamtion-popup/conforamtion-popup.component.d.ts +20 -0
  52. package/lib/components/conforamtion-popup/conforamtion-popup.component.d.ts.map +1 -0
  53. package/lib/components/connector/connector.component.d.ts +23 -0
  54. package/lib/components/connector/connector.component.d.ts.map +1 -0
  55. package/lib/components/create-categories/create-categories.component.d.ts +26 -0
  56. package/lib/components/create-categories/create-categories.component.d.ts.map +1 -0
  57. package/lib/components/create-term/create-term.component.d.ts +148 -0
  58. package/lib/components/create-term/create-term.component.d.ts.map +1 -0
  59. package/lib/components/create-term-from-framework/create-term-from-framework.component.d.ts +105 -0
  60. package/lib/components/create-term-from-framework/create-term-from-framework.component.d.ts.map +1 -0
  61. package/lib/components/org-hierarchy-add-modal/org-hierarchy-add-modal.component.d.ts +31 -0
  62. package/lib/components/org-hierarchy-add-modal/org-hierarchy-add-modal.component.d.ts.map +1 -0
  63. package/lib/components/pending-approval/pending-approval.component.d.ts +21 -0
  64. package/lib/components/pending-approval/pending-approval.component.d.ts.map +1 -0
  65. package/lib/components/term-card/term-card.component.d.ts +43 -0
  66. package/lib/components/term-card/term-card.component.d.ts.map +1 -0
  67. package/lib/components/tree-column-view/tree-column-view.component.d.ts +52 -0
  68. package/lib/components/tree-column-view/tree-column-view.component.d.ts.map +1 -0
  69. package/lib/components/tree-view/tree-view.component.d.ts +91 -0
  70. package/lib/components/tree-view/tree-view.component.d.ts.map +1 -0
  71. package/lib/constants/app-constant.d.ts +44 -0
  72. package/lib/constants/app-constant.d.ts.map +1 -0
  73. package/lib/constants/data.d.ts +117 -0
  74. package/lib/constants/data.d.ts.map +1 -0
  75. package/lib/containers/config-framework/config-framework.component.d.ts +32 -0
  76. package/lib/containers/config-framework/config-framework.component.d.ts.map +1 -0
  77. package/lib/containers/dashboard/dashboard.component.d.ts +9 -0
  78. package/lib/containers/dashboard/dashboard.component.d.ts.map +1 -0
  79. package/lib/labels/strings.d.ts +40 -0
  80. package/lib/labels/strings.d.ts.map +1 -0
  81. package/lib/models/approval.model.d.ts +11 -0
  82. package/lib/models/approval.model.d.ts.map +1 -0
  83. package/lib/models/connection-type.model.d.ts +6 -0
  84. package/lib/models/connection-type.model.d.ts.map +1 -0
  85. package/lib/models/connection.model.d.ts +7 -0
  86. package/lib/models/connection.model.d.ts.map +1 -0
  87. package/lib/models/framework.model.d.ts +88 -0
  88. package/lib/models/framework.model.d.ts.map +1 -0
  89. package/lib/models/variable-type.model.d.ts +46 -0
  90. package/lib/models/variable-type.model.d.ts.map +1 -0
  91. package/lib/pipes/order-by.pipe.d.ts +10 -0
  92. package/lib/pipes/order-by.pipe.d.ts.map +1 -0
  93. package/lib/services/approval.service.d.ts +21 -0
  94. package/lib/services/approval.service.d.ts.map +1 -0
  95. package/lib/services/connection.service.d.ts +4 -0
  96. package/lib/services/connection.service.d.ts.map +1 -0
  97. package/lib/services/connector.service.d.ts +17 -0
  98. package/lib/services/connector.service.d.ts.map +1 -0
  99. package/lib/services/framework.service.d.ts +82 -0
  100. package/lib/services/framework.service.d.ts.map +1 -0
  101. package/lib/services/local-connection.service.d.ts +18 -0
  102. package/lib/services/local-connection.service.d.ts.map +1 -0
  103. package/lib/services/odcs.service.d.ts +11 -0
  104. package/lib/services/odcs.service.d.ts.map +1 -0
  105. package/lib/tree-hierarchy-routing.module.d.ts +8 -0
  106. package/lib/tree-hierarchy-routing.module.d.ts.map +1 -0
  107. package/lib/tree-hierarchy.component.d.ts +13 -0
  108. package/lib/tree-hierarchy.component.d.ts.map +1 -0
  109. package/lib/tree-hierarchy.module.d.ts +31 -0
  110. package/lib/tree-hierarchy.module.d.ts.map +1 -0
  111. package/lib/tree-hierarchy.service.d.ts +17 -0
  112. package/lib/tree-hierarchy.service.d.ts.map +1 -0
  113. package/material.module.d.ts +52 -0
  114. package/material.module.d.ts.map +1 -0
  115. package/package.json +43 -0
  116. package/public-api.d.ts +9 -0
  117. package/public-api.d.ts.map +1 -0
  118. package/sunbird-cb-tree-hierarchy.d.ts.map +1 -0
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # Resolver
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.0.3.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project resolver` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project resolver`.
8
+ > Note: Don't forget to add `--project resolver` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build resolver` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build resolver`, go to the dist folder `cd dist/resolver` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test resolver` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
@@ -0,0 +1,41 @@
1
+ import { Component, Output, EventEmitter, Input } from '@angular/core';
2
+ import { labels } from '../../labels/strings';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/button";
5
+ import * as i2 from "@angular/material/card";
6
+ export class ActionBarComponent {
7
+ constructor() {
8
+ this.sendApproval = new EventEmitter();
9
+ this.closeAction = new EventEmitter();
10
+ this.app_strings = labels;
11
+ }
12
+ ngOnInit() {
13
+ }
14
+ SendForApproval() {
15
+ this.sendApproval.emit('');
16
+ }
17
+ closeActionBar() {
18
+ this.closeAction.emit('');
19
+ }
20
+ getApproveLevelText(res) {
21
+ if (!res) {
22
+ return;
23
+ }
24
+ return `Approve ${res.substr(res.lastIndexOf('_') + 1, res.length)}`;
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ActionBarComponent, selector: "lib-action-bar", inputs: { actionType: "actionType", configType: "configType" }, outputs: { sendApproval: "sendApproval", closeAction: "closeAction" }, ngImport: i0, template: "<!-- *ngIf=\"configType !=='APPROVED' && actionType\" -->\n<mat-card class=\"action-bar\">\n <div class=\"action-bar-buttons\">\n <div>\n <button mat-raised-button color=\"default\" (click)=\"closeActionBar()\">{{app_strings.cancel}}</button>\n </div>\n <div>\n <button mat-raised-button color=\"primary\" (click)=\"SendForApproval()\">\n {{actionType? getApproveLevelText(configType) :'Send for Approval'}} \n </button>\n </div>\n </div>\n <!-- <button mat-raised-button color=\"primary\" (click)=\"publishFramwork()\">Publish</button> -->\n <!-- <button *ngIf=\"actionType\" mat-button color=\"primary\">\n <mat-icon color=\"primary\">flag</mat-icon>\n Terms tobe Approve\n </button> -->\n\n</mat-card>", styles: [".action-bar{position:fixed;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;box-shadow:0 -1px 2px 1px #ccc;border-radius:0;height:10%;align-items:center;z-index:50;padding:0}.action-bar .mat-raised-button{padding:0 4em}.action-bar-buttons{display:flex;justify-content:space-between;width:100%;padding:0 10px}.action .mat-checkbox{margin-right:20px}@media only screen and (max-width: 1024px){.action-bar-buttons button{font-size:12px}.action-bar-buttons .mat-raised-button{padding:0 3em}}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionBarComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'lib-action-bar', template: "<!-- *ngIf=\"configType !=='APPROVED' && actionType\" -->\n<mat-card class=\"action-bar\">\n <div class=\"action-bar-buttons\">\n <div>\n <button mat-raised-button color=\"default\" (click)=\"closeActionBar()\">{{app_strings.cancel}}</button>\n </div>\n <div>\n <button mat-raised-button color=\"primary\" (click)=\"SendForApproval()\">\n {{actionType? getApproveLevelText(configType) :'Send for Approval'}} \n </button>\n </div>\n </div>\n <!-- <button mat-raised-button color=\"primary\" (click)=\"publishFramwork()\">Publish</button> -->\n <!-- <button *ngIf=\"actionType\" mat-button color=\"primary\">\n <mat-icon color=\"primary\">flag</mat-icon>\n Terms tobe Approve\n </button> -->\n\n</mat-card>", styles: [".action-bar{position:fixed;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;box-shadow:0 -1px 2px 1px #ccc;border-radius:0;height:10%;align-items:center;z-index:50;padding:0}.action-bar .mat-raised-button{padding:0 4em}.action-bar-buttons{display:flex;justify-content:space-between;width:100%;padding:0 10px}.action .mat-checkbox{margin-right:20px}@media only screen and (max-width: 1024px){.action-bar-buttons button{font-size:12px}.action-bar-buttons .mat-raised-button{padding:0 3em}}\n"] }]
32
+ }], ctorParameters: function () { return []; }, propDecorators: { actionType: [{
33
+ type: Input
34
+ }], configType: [{
35
+ type: Input
36
+ }], sendApproval: [{
37
+ type: Output
38
+ }], closeAction: [{
39
+ type: Output
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdHJlZS1oaWVyYXJjaHkvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdHJlZS1oaWVyYXJjaHkvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU85QyxNQUFNLE9BQU8sa0JBQWtCO0lBTTdCO1FBSFUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQyxnQkFBVyxHQUFRLE1BQU0sQ0FBQztJQUNWLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDOUIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBQ0QsbUJBQW1CLENBQUMsR0FBTztRQUN6QixJQUFHLENBQUMsR0FBRyxFQUFFO1lBQUUsT0FBTTtTQUFFO1FBQ25CLE9BQU8sV0FBVyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFBO0lBQ25FLENBQUM7K0dBckJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLDZMQ1IvQiw4ekJBa0JXOzs0RkRWRSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCOzBFQUtqQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbGFiZWxzIH0gZnJvbSAnLi4vLi4vbGFiZWxzL3N0cmluZ3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLWJhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGFjdGlvblR5cGU6YW55O1xuICBASW5wdXQoKSBjb25maWdUeXBlOmFueTtcbiAgQE91dHB1dCgpIHNlbmRBcHByb3ZhbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNsb3NlQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBhcHBfc3RyaW5nczogYW55ID0gbGFiZWxzO1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgU2VuZEZvckFwcHJvdmFsKCl7XG4gICAgICB0aGlzLnNlbmRBcHByb3ZhbC5lbWl0KCcnKVxuICB9XG5cbiAgY2xvc2VBY3Rpb25CYXIoKXtcbiAgICB0aGlzLmNsb3NlQWN0aW9uLmVtaXQoJycpXG4gIH1cbiAgZ2V0QXBwcm92ZUxldmVsVGV4dChyZXM6YW55KXtcbiAgICBpZighcmVzKSB7IHJldHVybiB9XG4gICAgcmV0dXJuIGBBcHByb3ZlICR7cmVzLnN1YnN0cihyZXMubGFzdEluZGV4T2YoJ18nKSsxLHJlcy5sZW5ndGgpfWBcbiAgfVxufVxuIiwiPCEtLSAqbmdJZj1cImNvbmZpZ1R5cGUgIT09J0FQUFJPVkVEJyAmJiBhY3Rpb25UeXBlXCIgLS0+XG48bWF0LWNhcmQgY2xhc3M9XCJhY3Rpb24tYmFyXCI+XG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbi1iYXItYnV0dG9uc1wiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImRlZmF1bHRcIiAoY2xpY2spPVwiY2xvc2VBY3Rpb25CYXIoKVwiPnt7YXBwX3N0cmluZ3MuY2FuY2VsfX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJTZW5kRm9yQXBwcm92YWwoKVwiPlxuICAgICAgICAgICAgICAgIHt7YWN0aW9uVHlwZT8gZ2V0QXBwcm92ZUxldmVsVGV4dChjb25maWdUeXBlKSA6J1NlbmQgZm9yIEFwcHJvdmFsJ319ICBcbiAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgICAgICA8IS0tIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInB1Ymxpc2hGcmFtd29yaygpXCI+UHVibGlzaDwvYnV0dG9uPiAtLT5cbiAgICAgICAgPCEtLSA8YnV0dG9uICpuZ0lmPVwiYWN0aW9uVHlwZVwiIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+ZmxhZzwvbWF0LWljb24+XG4gICAgICAgICAgICBUZXJtcyB0b2JlIEFwcHJvdmVcbiAgICAgICA8L2J1dHRvbj4gLS0+XG5cbjwvbWF0LWNhcmQ+Il19
@@ -0,0 +1,19 @@
1
+ import { Component, ViewEncapsulation } from '@angular/core';
2
+ import { labels } from '../../labels/strings';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/tabs";
5
+ import * as i2 from "../pending-approval/pending-approval.component";
6
+ export class ApprovalComponent {
7
+ constructor() {
8
+ this.app_strings = labels;
9
+ }
10
+ ngOnInit() {
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApprovalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ApprovalComponent, selector: "lib-approval", ngImport: i0, template: "<div class=\"approval-container\">\n <mat-tab-group mat-align-tabs=\"start\" animationDuration=\"0ms\" [selectedIndex]=\"1\">\n <mat-tab label=\"{{app_strings.allFrac}}\"> \n <h2>{{app_strings.allFrac}}</h2>\n </mat-tab>\n <mat-tab label=\"{{app_strings.pendingApproval}}\" active> \n <ng-template matTabContent>\n <lib-pending-approval></lib-pending-approval>\n </ng-template>\n </mat-tab>\n <!-- <mat-tab label=\"Approved\"> Approved </mat-tab>\n <mat-tab label=\"Rejected\"> Rejected </mat-tab> -->\n </mat-tab-group>\n <!-- <lib-pending-approval></lib-pending-approval> -->\n</div>", styles: [".approval-container{padding:0}.approval-container .mat-tab-group ::ng-deep .mat-tab-header{background-color:#f3f3f3}.approval-container .mat-tab-group ::ng-deep .mat-tab-header .mat-tab-label{padding:30px 0}.approval-container .mat-tab-group ::ng-deep .mat-tab-header .mat-tab-label .mat-tab-label-content{color:#000}.approval-container .mat-tab-group ::ng-deep .mat-tab-header .mat-tab-label-active{background:#666}.approval-container .mat-tab-group ::ng-deep .mat-tab-header .mat-tab-label-active .mat-tab-label-content{color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i1.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "component", type: i2.PendingApprovalComponent, selector: "lib-pending-approval" }] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApprovalComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'lib-approval', encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"approval-container\">\n <mat-tab-group mat-align-tabs=\"start\" animationDuration=\"0ms\" [selectedIndex]=\"1\">\n <mat-tab label=\"{{app_strings.allFrac}}\"> \n <h2>{{app_strings.allFrac}}</h2>\n </mat-tab>\n <mat-tab label=\"{{app_strings.pendingApproval}}\" active> \n <ng-template matTabContent>\n <lib-pending-approval></lib-pending-approval>\n </ng-template>\n </mat-tab>\n <!-- <mat-tab label=\"Approved\"> Approved </mat-tab>\n <mat-tab label=\"Rejected\"> Rejected </mat-tab> -->\n </mat-tab-group>\n <!-- <lib-pending-approval></lib-pending-approval> -->\n</div>", styles: [".approval-container{padding:0}.approval-container .mat-tab-group ::ng-deep .mat-tab-header{background-color:#f3f3f3}.approval-container .mat-tab-group ::ng-deep .mat-tab-header .mat-tab-label{padding:30px 0}.approval-container .mat-tab-group ::ng-deep .mat-tab-header .mat-tab-label .mat-tab-label-content{color:#000}.approval-container .mat-tab-group ::ng-deep .mat-tab-header .mat-tab-label-active{background:#666}.approval-container .mat-tab-group ::ng-deep .mat-tab-header .mat-tab-label-active .mat-tab-label-content{color:#fff}\n"] }]
18
+ }], ctorParameters: function () { return []; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RyZWUtaGllcmFyY2h5L3NyYy9saWIvY29tcG9uZW50cy9hcHByb3ZhbC9hcHByb3ZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdHJlZS1oaWVyYXJjaHkvc3JjL2xpYi9jb21wb25lbnRzL2FwcHJvdmFsL2FwcHJvdmFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBUTlDLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUI7UUFGQSxnQkFBVyxHQUFRLE1BQU0sQ0FBQztJQUVWLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7K0dBTlUsaUJBQWlCO21HQUFqQixpQkFBaUIsb0RDVDlCLDhxQkFjTTs7NEZETE8saUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGNBQWMsaUJBR1YsaUJBQWlCLENBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbGFiZWxzIH0gZnJvbSAnLi4vLi4vbGFiZWxzL3N0cmluZ3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwcm92YWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcm92YWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hcHByb3ZhbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOlZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEFwcHJvdmFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYXBwX3N0cmluZ3M6IGFueSA9IGxhYmVscztcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJhcHByb3ZhbC1jb250YWluZXJcIj5cbiAgICA8bWF0LXRhYi1ncm91cCBtYXQtYWxpZ24tdGFicz1cInN0YXJ0XCIgYW5pbWF0aW9uRHVyYXRpb249XCIwbXNcIiBbc2VsZWN0ZWRJbmRleF09XCIxXCI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwie3thcHBfc3RyaW5ncy5hbGxGcmFjfX1cIj4gXG4gICAgICAgICAgICA8aDI+e3thcHBfc3RyaW5ncy5hbGxGcmFjfX08L2gyPlxuICAgICAgICA8L21hdC10YWI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwie3thcHBfc3RyaW5ncy5wZW5kaW5nQXBwcm92YWx9fVwiIGFjdGl2ZT4gXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICA8bGliLXBlbmRpbmctYXBwcm92YWw+PC9saWItcGVuZGluZy1hcHByb3ZhbD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgPCEtLSA8bWF0LXRhYiBsYWJlbD1cIkFwcHJvdmVkXCI+IEFwcHJvdmVkIDwvbWF0LXRhYj5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJSZWplY3RlZFwiPiBSZWplY3RlZCA8L21hdC10YWI+IC0tPlxuICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICA8IS0tIDxsaWItcGVuZGluZy1hcHByb3ZhbD48L2xpYi1wZW5kaW5nLWFwcHJvdmFsPiAtLT5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,64 @@
1
+ import { Component } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import * as API from '../../constants/app-constant';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "../../services/approval.service";
7
+ import * as i3 from "../../services/framework.service";
8
+ import * as i4 from "@angular/material/legacy-snack-bar";
9
+ import * as i5 from "@angular/common";
10
+ import * as i6 from "../tree-view/tree-view.component";
11
+ export class ApproveViewComponent {
12
+ constructor(activatedRoute, approvalService, frameworkService, _snackBar) {
13
+ this.activatedRoute = activatedRoute;
14
+ this.approvalService = approvalService;
15
+ this.frameworkService = frameworkService;
16
+ this._snackBar = _snackBar;
17
+ this.listItems = [];
18
+ this.categories = [];
19
+ this.showAction = true;
20
+ this.lineRef = [];
21
+ }
22
+ ngOnInit() {
23
+ this.list$ = this.activatedRoute.paramMap
24
+ .pipe(map(() => {
25
+ this.getworkFlowDetails(window.history.state.id);
26
+ return window.history.state.id;
27
+ }));
28
+ this.getworkFlowDetails(this.activatedRoute.snapshot.params.id);
29
+ }
30
+ getworkFlowDetails(id) {
31
+ this.approvalService.getWorkflowDetails(id).subscribe((res) => {
32
+ this.listItems = res.result.updateFieldValues.map((list) => {
33
+ list.selected = false;
34
+ return list;
35
+ });
36
+ this.workflowDetails = res.result;
37
+ this.approvalService.setApprovalList(this.listItems);
38
+ });
39
+ }
40
+ approvalRequest(_approvalTerms) {
41
+ const requestBody = {
42
+ wfId: this.activatedRoute.snapshot.params.id,
43
+ state: this.workflowDetails.currentStatus,
44
+ action: API.APPROVAL.APPROVE,
45
+ serviceName: API.APPROVAL.SERVICE_NAME
46
+ };
47
+ this.approvalService.updateWorkFlowApproval(requestBody).subscribe(() => {
48
+ this._snackBar.open('Terms successfully Approved.', 'cancel');
49
+ });
50
+ }
51
+ closeActionBar(_e) {
52
+ this.showAction = false;
53
+ }
54
+ ngOnDestroy() {
55
+ this.frameworkService.removeOldLine();
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApproveViewComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ApprovalService }, { token: i3.FrameworkService }, { token: i4.MatLegacySnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ApproveViewComponent, selector: "lib-approve-view", ngImport: i0, template: "<!-- <div class=\"approve-view__container\" *ngIf=\"listItems && listItems.length > 0 \">\n <ng-container *ngFor=\"let column of categories let i = index;\">\n <div class=\"approve-view__columns\">\n <h4 class=\"approve-view__columns-title\">{{column}}</h4> \n <section>\n <ng-container *ngFor=\"let term of listItems\">\n <div *ngIf=\"column === term.category\" >\n <lib-term-card\n [data]=\"{'children': term, 'selected' : false, 'category':column, cardSubType: 'minimal', isViewOnly:true}\">\n </lib-term-card>\n </div>\n \n </ng-container>\n </section>\n </div>\n </ng-container>\n <lib-action-bar *ngIf=\"showAction\" [configType]=\"workflowDetails.currentStatus\" [actionType]=\"'approve'\" (sendApproval)=\"approvalRequest()\" (closeAction)=\"closeActionBar($event)\"></lib-action-bar> \n</div> -->\n<ng-container *ngIf=\"listItems\">\n <lib-tree-view \n [isApprovalView]=\"true\" \n [approvalList]=\"listItems\" \n [workFlowStatus]=\"workflowDetails?.currentStatus\"\n (sentForApprove)=\"approvalRequest($event)\">\n </lib-tree-view>\n</ng-container>\n", styles: [".approve-view__container{display:flex;justify-content:center;flex-direction:row}.approve-view__columns{flex:1;padding:30px}.approve-view__columns-title{text-transform:capitalize;font-size:20px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.TreeViewComponent, selector: "lib-tree-view", inputs: ["approvalList", "isApprovalView", "workFlowStatus", "environment", "taxonomyConfig", "orgSelectedData"], outputs: ["sentForApprove", "loaderEnable"] }] }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApproveViewComponent, decorators: [{
61
+ type: Component,
62
+ args: [{ selector: 'lib-approve-view', template: "<!-- <div class=\"approve-view__container\" *ngIf=\"listItems && listItems.length > 0 \">\n <ng-container *ngFor=\"let column of categories let i = index;\">\n <div class=\"approve-view__columns\">\n <h4 class=\"approve-view__columns-title\">{{column}}</h4> \n <section>\n <ng-container *ngFor=\"let term of listItems\">\n <div *ngIf=\"column === term.category\" >\n <lib-term-card\n [data]=\"{'children': term, 'selected' : false, 'category':column, cardSubType: 'minimal', isViewOnly:true}\">\n </lib-term-card>\n </div>\n \n </ng-container>\n </section>\n </div>\n </ng-container>\n <lib-action-bar *ngIf=\"showAction\" [configType]=\"workflowDetails.currentStatus\" [actionType]=\"'approve'\" (sendApproval)=\"approvalRequest()\" (closeAction)=\"closeActionBar($event)\"></lib-action-bar> \n</div> -->\n<ng-container *ngIf=\"listItems\">\n <lib-tree-view \n [isApprovalView]=\"true\" \n [approvalList]=\"listItems\" \n [workFlowStatus]=\"workflowDetails?.currentStatus\"\n (sentForApprove)=\"approvalRequest($event)\">\n </lib-tree-view>\n</ng-container>\n", styles: [".approve-view__container{display:flex;justify-content:center;flex-direction:row}.approve-view__columns{flex:1;padding:30px}.approve-view__columns-title{text-transform:capitalize;font-size:20px}\n"] }]
63
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.ApprovalService }, { type: i3.FrameworkService }, { type: i4.MatLegacySnackBar }]; } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92ZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90cmVlLWhpZXJhcmNoeS9zcmMvbGliL2NvbXBvbmVudHMvYXBwcm92ZS12aWV3L2FwcHJvdmUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdHJlZS1oaWVyYXJjaHkvc3JjL2xpYi9jb21wb25lbnRzL2FwcHJvdmUtdmlldy9hcHByb3ZlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHcEMsT0FBTyxLQUFLLEdBQUcsTUFBTSw4QkFBOEIsQ0FBQTs7Ozs7Ozs7QUFRbkQsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQixZQUFvQixjQUE4QixFQUN4QyxlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsU0FBc0I7UUFIWixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDeEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBYTtRQVBoQyxjQUFTLEdBQVEsRUFBRSxDQUFBO1FBQ25CLGVBQVUsR0FBYSxFQUFFLENBQUE7UUFDekIsZUFBVSxHQUFHLElBQUksQ0FBQTtRQUNqQixZQUFPLEdBQUcsRUFBRSxDQUFBO0lBSXdCLENBQUM7SUFFckMsUUFBUTtRQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRO2FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ2IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ2hELE9BQVEsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFBO1FBQ2pDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUU7WUFDOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVEsRUFBRSxFQUFFO2dCQUM3RCxJQUFJLENBQUMsUUFBUSxHQUFFLEtBQUssQ0FBQTtnQkFDcEIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtZQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZSxDQUFDLGNBQW1CO1FBQ2pDLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLElBQUksRUFBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzQyxLQUFLLEVBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhO1lBQ3hDLE1BQU0sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU87WUFDNUIsV0FBVyxFQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWTtTQUN0QyxDQUFBO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGNBQWMsQ0FBQyxFQUFNO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUEyQkQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUN2QyxDQUFDOytHQTFFVSxvQkFBb0I7bUdBQXBCLG9CQUFvQix3RENiakMsbTJDQTBCQTs7NEZEYmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEFwcHJvdmFsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwcHJvdmFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgRnJhbWV3b3JrU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZyYW1ld29yay5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIEFQSSBmcm9tICcuLi8uLi9jb25zdGFudHMvYXBwLWNvbnN0YW50J1xuaW1wb3J0IHsgTWF0TGVnYWN5U25hY2tCYXIgYXMgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc25hY2stYmFyJztcbmRlY2xhcmUgdmFyIExlYWRlckxpbmU6IGFueTtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hcHByb3ZlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcm92ZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwcm92ZS12aWV3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXBwcm92ZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBsaXN0JCE6IGFueTtcbiAgd29ya2Zsb3dEZXRhaWxzOmFueTtcbiAgbGlzdEl0ZW1zOiBhbnkgPSBbXVxuICBjYXRlZ29yaWVzOiBzdHJpbmdbXSA9IFtdXG4gIHNob3dBY3Rpb24gPSB0cnVlXG4gIGxpbmVSZWYgPSBbXVxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgXG4gICAgcHJpdmF0ZSBhcHByb3ZhbFNlcnZpY2U6IEFwcHJvdmFsU2VydmljZSwgXG4gICAgcHJpdmF0ZSBmcmFtZXdvcmtTZXJ2aWNlOiBGcmFtZXdvcmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3NuYWNrQmFyOiBNYXRTbmFja0JhcikgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgICB0aGlzLmxpc3QkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcFxuICAgICAgLnBpcGUobWFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5nZXR3b3JrRmxvd0RldGFpbHMod2luZG93Lmhpc3Rvcnkuc3RhdGUuaWQpXG4gICAgICAgIHJldHVybiAgd2luZG93Lmhpc3Rvcnkuc3RhdGUuaWRcbiAgICAgIH0pKVxuICAgICAgdGhpcy5nZXR3b3JrRmxvd0RldGFpbHModGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXMuaWQpXG4gIH1cblxuICBnZXR3b3JrRmxvd0RldGFpbHMoaWQ6IGFueSkge1xuICAgICAgdGhpcy5hcHByb3ZhbFNlcnZpY2UuZ2V0V29ya2Zsb3dEZXRhaWxzKGlkKS5zdWJzY3JpYmUoKHJlczphbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IHJlcy5yZXN1bHQudXBkYXRlRmllbGRWYWx1ZXMubWFwKChsaXN0OmFueSkgPT4ge1xuICAgICAgICAgICAgbGlzdC5zZWxlY3RlZD0gZmFsc2VcbiAgICAgICAgICAgIHJldHVybiBsaXN0O1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMud29ya2Zsb3dEZXRhaWxzID0gcmVzLnJlc3VsdFxuICAgICAgICAgIHRoaXMuYXBwcm92YWxTZXJ2aWNlLnNldEFwcHJvdmFsTGlzdCh0aGlzLmxpc3RJdGVtcyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFwcHJvdmFsUmVxdWVzdChfYXBwcm92YWxUZXJtczogYW55KXtcbiAgICBjb25zdCByZXF1ZXN0Qm9keSA9IHtcbiAgICAgIHdmSWQ6dGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXMuaWQsXG4gICAgICBzdGF0ZTp0aGlzLndvcmtmbG93RGV0YWlscy5jdXJyZW50U3RhdHVzLFxuICAgICAgYWN0aW9uOiBBUEkuQVBQUk9WQUwuQVBQUk9WRSxcbiAgICAgIHNlcnZpY2VOYW1lOkFQSS5BUFBST1ZBTC5TRVJWSUNFX05BTUVcbiAgICB9XG4gICAgdGhpcy5hcHByb3ZhbFNlcnZpY2UudXBkYXRlV29ya0Zsb3dBcHByb3ZhbChyZXF1ZXN0Qm9keSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX3NuYWNrQmFyLm9wZW4oJ1Rlcm1zIHN1Y2Nlc3NmdWxseSBBcHByb3ZlZC4nLCAnY2FuY2VsJylcbiAgICB9KTtcbiAgfVxuICBjbG9zZUFjdGlvbkJhcihfZTphbnkpe1xuICAgIHRoaXMuc2hvd0FjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgLyogKioqKiogRG9uJ3QgZGVsZXRlIHRoaXMgY29kZSBtaWdodCBuZWVkIGluIEZ1dHVyZSAqKioqKiAqL1xuICAvLyBkcmF3TGluZSgpe1xuICAvLyAgIHRoaXMubGluZVJlZiA9IFtdXG4gIC8vICAgdGhpcy5jYXRlZ29yaWVzLmZvckVhY2goKGNhdCwgaSkgPT4ge1xuICAvLyAgICAgdGhpcy5saXN0SXRlbXMuZm9yRWFjaCgoaXRlbSwgaikgPT4ge1xuICBcbiAgLy8gICAgICAgaWYoY2F0ID09PSBpdGVtLmNhdGVnb3J5KXtcbiAgLy8gICAgICAgICBmb3IobGV0IGMgb2YgaXRlbS5jaGlsZHJlbil7XG4gIC8vICAgICAgICAgICBpZihjLmNhdGVnb3J5ID09PSB0aGlzLmNhdGVnb3JpZXNbaSsxXSAmJiB0aGlzLmlzRXhpc3RJblRlcm1MaXN0KGMpKXtcbiAgLy8gICAgICAgICAgICAgICBjb25zdCBsaW5lID0gbmV3IExlYWRlckxpbmUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbS5uYW1lKSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYy5uYW1lKSlcbiAgLy8gICAgICAgICAgICAgICBsaW5lLmNvbG9yPScjNjY2J1xuICAvLyAgICAgICAgICAgICAgIGxpbmUuZW5kUGx1ZyA9ICdkaXNjJ1xuICAvLyAgICAgICAgICAgICAgIGxpbmUuc3RhcnRQbHVnID0gJ2Rpc2MnXG4gIC8vICAgICAgICAgICAgICAgdGhpcy5saW5lUmVmLnB1c2gobGluZSlcbiAgLy8gICAgICAgICAgIH1cbiAgICAgICAgICAgXG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgICB9XG4gIC8vICAgICAgfSlcbiAgLy8gICB9KVxuICAvLyB9XG4gIC8vIGlzRXhpc3RJblRlcm1MaXN0KHRlcm0pe1xuICAvLyAgIGNvbnN0IGNvdW50ID0gdGhpcy5saXN0SXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pZGVudGlmaWVyID09IHRlcm0uaWRlbnRpZmllcilcbiAgLy8gICByZXR1cm4gY291bnQubGVuZ3RoO1xuICAvLyB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZnJhbWV3b3JrU2VydmljZS5yZW1vdmVPbGRMaW5lKClcbiAgfVxufVxuIiwiPCEtLSA8ZGl2IGNsYXNzPVwiYXBwcm92ZS12aWV3X19jb250YWluZXJcIiAqbmdJZj1cImxpc3RJdGVtcyAmJiBsaXN0SXRlbXMubGVuZ3RoID4gMCBcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNhdGVnb3JpZXMgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZlLXZpZXdfX2NvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJhcHByb3ZlLXZpZXdfX2NvbHVtbnMtdGl0bGVcIj57e2NvbHVtbn19PC9oND4gXG4gICAgICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRlcm0gb2YgbGlzdEl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uID09PSB0ZXJtLmNhdGVnb3J5XCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItdGVybS1jYXJkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInsnY2hpbGRyZW4nOiB0ZXJtLCAnc2VsZWN0ZWQnIDogZmFsc2UsICdjYXRlZ29yeSc6Y29sdW1uLCBjYXJkU3ViVHlwZTogJ21pbmltYWwnLCBpc1ZpZXdPbmx5OnRydWV9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItdGVybS1jYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bGliLWFjdGlvbi1iYXIgKm5nSWY9XCJzaG93QWN0aW9uXCIgW2NvbmZpZ1R5cGVdPVwid29ya2Zsb3dEZXRhaWxzLmN1cnJlbnRTdGF0dXNcIiBbYWN0aW9uVHlwZV09XCInYXBwcm92ZSdcIiAoc2VuZEFwcHJvdmFsKT1cImFwcHJvdmFsUmVxdWVzdCgpXCIgKGNsb3NlQWN0aW9uKT1cImNsb3NlQWN0aW9uQmFyKCRldmVudClcIj48L2xpYi1hY3Rpb24tYmFyPiBcbjwvZGl2PiAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0SXRlbXNcIj5cbiAgICA8bGliLXRyZWUtdmlldyBcbiAgICAgICAgW2lzQXBwcm92YWxWaWV3XT1cInRydWVcIiBcbiAgICAgICAgW2FwcHJvdmFsTGlzdF09XCJsaXN0SXRlbXNcIiBcbiAgICAgICAgW3dvcmtGbG93U3RhdHVzXT1cIndvcmtmbG93RGV0YWlscz8uY3VycmVudFN0YXR1c1wiXG4gICAgICAgIChzZW50Rm9yQXBwcm92ZSk9XCJhcHByb3ZhbFJlcXVlc3QoJGV2ZW50KVwiPlxuICAgIDwvbGliLXRyZWUtdmlldz5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,44 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { labels } from '../../labels/strings';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/material/card";
6
+ export class CategoriesPreviewComponent {
7
+ constructor() {
8
+ this.lineRef = [];
9
+ this.app_strings = labels;
10
+ }
11
+ ngOnChanges() {
12
+ setTimeout(() => {
13
+ this.drawLine();
14
+ }, 200);
15
+ }
16
+ ngOnInit() { }
17
+ drawLine() {
18
+ this.lineRef = [];
19
+ for (let cat of this.data) {
20
+ for (let term of cat.terms) {
21
+ if (term.connected) {
22
+ const startEle = document.querySelector(`#${term.domId}`);
23
+ if (term.parent) {
24
+ const endEle = document.querySelector(`#${term.parent}`);
25
+ const line = new LeaderLine(startEle, endEle);
26
+ line.color = '#666';
27
+ line.endPlug = 'disc';
28
+ line.startPlug = 'disc';
29
+ this.lineRef.push(line);
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoriesPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CategoriesPreviewComponent, selector: "lib-categories-preview", inputs: { data: "data" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"category\">\n <h1>{{app_strings.categoryPreview}}</h1>\n <div class=\"category__wrap\" *ngIf=\"data.length>0\">\n <div class=\"category__column\" *ngFor=\"let cat of data\">\n <header class=\"category__header\">{{cat.name}}</header>\n <mat-card class=\"category__cards\" [ngClass]=\"{'highlight':term.selected}\" id=\"{{term.domId}}\" *ngFor=\"let term of cat.terms\">\n <span class=\"category__circle left\"></span>\n <mat-card-content>{{term.name}}</mat-card-content>\n <span class=\"category__circle right\"></span>\n </mat-card>\n </div>\n </div>\n</div>\n", styles: [".category{display:flex;flex-flow:column;padding:15px}.category h1{font-size:24px;color:#666;font-weight:500}.category__wrap{display:flex;flex-flow:row;padding-top:20px}.category__column{display:flex;flex-flow:column;flex:1;padding:10px 50px;text-align:center}.category__header{margin:30px 0}.category__cards{margin-bottom:15px;position:relative;padding:20px 15px;background:#00000014;box-shadow:0 0 #fff;border:2px solid #ccc}.category__cards.highlight{background:#666;border:2px solid #666666;color:#fff}.category__circle{position:absolute;top:40%;display:inline-block}.category__circle.left{left:-3.6%}.category__circle.right{right:-3%}#start{width:200px;height:100px;margin:200px;background:#00000014}@media only screen and (max-width: 1024px){.category h1{font-size:20px}.category__column{padding:10px 25px}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.MatCardContent, selector: "mat-card-content" }] }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoriesPreviewComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: 'lib-categories-preview', template: "<div class=\"category\">\n <h1>{{app_strings.categoryPreview}}</h1>\n <div class=\"category__wrap\" *ngIf=\"data.length>0\">\n <div class=\"category__column\" *ngFor=\"let cat of data\">\n <header class=\"category__header\">{{cat.name}}</header>\n <mat-card class=\"category__cards\" [ngClass]=\"{'highlight':term.selected}\" id=\"{{term.domId}}\" *ngFor=\"let term of cat.terms\">\n <span class=\"category__circle left\"></span>\n <mat-card-content>{{term.name}}</mat-card-content>\n <span class=\"category__circle right\"></span>\n </mat-card>\n </div>\n </div>\n</div>\n", styles: [".category{display:flex;flex-flow:column;padding:15px}.category h1{font-size:24px;color:#666;font-weight:500}.category__wrap{display:flex;flex-flow:row;padding-top:20px}.category__column{display:flex;flex-flow:column;flex:1;padding:10px 50px;text-align:center}.category__header{margin:30px 0}.category__cards{margin-bottom:15px;position:relative;padding:20px 15px;background:#00000014;box-shadow:0 0 #fff;border:2px solid #ccc}.category__cards.highlight{background:#666;border:2px solid #666666;color:#fff}.category__circle{position:absolute;top:40%;display:inline-block}.category__circle.left{left:-3.6%}.category__circle.right{right:-3%}#start{width:200px;height:100px;margin:200px;background:#00000014}@media only screen and (max-width: 1024px){.category h1{font-size:20px}.category__column{padding:10px 25px}}\n"] }]
41
+ }], ctorParameters: function () { return []; }, propDecorators: { data: [{
42
+ type: Input
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90cmVlLWhpZXJhcmNoeS9zcmMvbGliL2NvbXBvbmVudHMvY2F0ZWdvcmllcy1wcmV2aWV3L2NhdGVnb3JpZXMtcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdHJlZS1oaWVyYXJjaHkvc3JjL2xpYi9jb21wb25lbnRzL2NhdGVnb3JpZXMtcHJldmlldy9jYXRlZ29yaWVzLXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7OztBQVE3QyxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDO1FBRkEsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFRLE1BQU0sQ0FBQztJQUNWLENBQUM7SUFFakIsV0FBVztRQUNULFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDckIsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ1IsQ0FBQztJQUVELFFBQVEsS0FBSSxDQUFDO0lBTWIsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLEtBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBQztZQUN2QixLQUFJLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUM7Z0JBQ3hCLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBQztvQkFDakIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO29CQUN4RCxJQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ1osTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO3dCQUN4RCxNQUFNLElBQUksR0FBUSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7d0JBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUMsTUFBTSxDQUFBO3dCQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQTt3QkFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUE7d0JBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO3FCQUMxQjtpQkFDRjthQUNGO1NBQ0Y7SUFDSCxDQUFDOytHQXBDVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiw2R0NUdkMscXFCQWFBOzs0RkRKYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCOzBFQU16QixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbGFiZWxzIH0gZnJvbSAnLi4vLi4vbGFiZWxzL3N0cmluZ3MnXG5kZWNsYXJlIHZhciBMZWFkZXJMaW5lOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jYXRlZ29yaWVzLXByZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2F0ZWdvcmllcy1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2F0ZWdvcmllcy1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcmllc1ByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7IFxuXG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcbiAgbGluZVJlZjogYW55ID0gW107XG4gIGFwcF9zdHJpbmdzOiBhbnkgPSBsYWJlbHM7XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkNoYW5nZXMoKXtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmRyYXdMaW5lKClcbiAgICB9LDIwMClcbiAgfVxuXG4gIG5nT25Jbml0KCkge31cbiBcbiAgLy8gbmdBZnRlclZpZXdJbml0KCkge1xuICAvLyAgIHRoaXMuZHJhd0xpbmUoKVxuICAvLyB9XG5cbiAgZHJhd0xpbmUoKXtcbiAgICB0aGlzLmxpbmVSZWYgPSBbXVxuICAgIGZvcihsZXQgY2F0IG9mIHRoaXMuZGF0YSl7XG4gICAgICBmb3IobGV0IHRlcm0gb2YgY2F0LnRlcm1zKXtcbiAgICAgICAgaWYodGVybS5jb25uZWN0ZWQpe1xuICAgICAgICAgY29uc3Qgc3RhcnRFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHt0ZXJtLmRvbUlkfWApXG4gICAgICAgICAgaWYodGVybS5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgY29uc3QgZW5kRWxlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7dGVybS5wYXJlbnR9YClcbiAgICAgICAgICAgICAgY29uc3QgbGluZTogYW55ID0gbmV3IExlYWRlckxpbmUoc3RhcnRFbGUsIGVuZEVsZSk7XG4gICAgICAgICAgICAgIGxpbmUuY29sb3I9JyM2NjYnXG4gICAgICAgICAgICAgIGxpbmUuZW5kUGx1ZyA9ICdkaXNjJ1xuICAgICAgICAgICAgICBsaW5lLnN0YXJ0UGx1ZyA9ICdkaXNjJ1xuICAgICAgICAgICAgICB0aGlzLmxpbmVSZWYucHVzaChsaW5lKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY2F0ZWdvcnlcIj5cbiAgICA8aDE+e3thcHBfc3RyaW5ncy5jYXRlZ29yeVByZXZpZXd9fTwvaDE+XG4gICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5X193cmFwXCIgKm5nSWY9XCJkYXRhLmxlbmd0aD4wXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeV9fY29sdW1uXCIgKm5nRm9yPVwibGV0IGNhdCBvZiBkYXRhXCI+XG4gICAgICAgICAgICA8aGVhZGVyIGNsYXNzPVwiY2F0ZWdvcnlfX2hlYWRlclwiPnt7Y2F0Lm5hbWV9fTwvaGVhZGVyPlxuICAgICAgICAgICAgPG1hdC1jYXJkIGNsYXNzPVwiY2F0ZWdvcnlfX2NhcmRzXCIgIFtuZ0NsYXNzXT1cInsnaGlnaGxpZ2h0Jzp0ZXJtLnNlbGVjdGVkfVwiIGlkPVwie3t0ZXJtLmRvbUlkfX1cIiAqbmdGb3I9XCJsZXQgdGVybSBvZiBjYXQudGVybXNcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGVnb3J5X19jaXJjbGUgbGVmdFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD57e3Rlcm0ubmFtZX19PC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZWdvcnlfX2NpcmNsZSByaWdodFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,74 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
3
+ import _ from 'lodash';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/legacy-dialog";
6
+ import * as i2 from "../../services/framework.service";
7
+ import * as i3 from "@angular/material/legacy-snack-bar";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "@angular/material/button";
10
+ import * as i6 from "@angular/material/icon";
11
+ import * as i7 from "@angular/material/progress-spinner";
12
+ export class ConforamtionPopupComponent {
13
+ constructor(dialogRef, data, frameworkService, _snackBar) {
14
+ this.dialogRef = dialogRef;
15
+ this.data = data;
16
+ this.frameworkService = frameworkService;
17
+ this._snackBar = _snackBar;
18
+ this.showLoader = false;
19
+ this.dialogDetails = this.data;
20
+ }
21
+ ngOnInit() {
22
+ }
23
+ closePopup(event) {
24
+ if (!this.dialogDetails.dialogAction) {
25
+ this.dialogRef.close(event);
26
+ }
27
+ else {
28
+ if (event) {
29
+ this.showLoader = true;
30
+ const cardData = this.dialogDetails.cardInfo;
31
+ let subThemeRequest = {
32
+ "request": {
33
+ "contentIds": [cardData.children.code]
34
+ }
35
+ };
36
+ this.frameworkService.retireMultipleTerm(this.frameworkService.frameworkId, cardData.category, subThemeRequest).toPromise().then(async () => {
37
+ let removedExisting = [cardData.children];
38
+ const parentColumnConfigData = this.frameworkService.getPreviousCategory(cardData.category);
39
+ let parentCol = this.frameworkService.selectionList.get(parentColumnConfigData.code);
40
+ const sectionListchildrenList = _.differenceWith(parentCol.children, removedExisting, (a, b) => a.identifier === b.identifier);
41
+ const sectionListAssociationList = _.differenceWith(parentCol.associations, removedExisting, (a, b) => a.identifier === b.identifier);
42
+ parentCol['children'] = sectionListchildrenList;
43
+ parentCol['associations'] = sectionListAssociationList;
44
+ this.frameworkService.updateFrameworkList(cardData.category, parentCol, removedExisting, 'delete');
45
+ this.frameworkService.currentSelection.next({ type: parentColumnConfigData.code, data: parentCol, cardRef: parentCol.cardRef });
46
+ this.dialogClose(event);
47
+ this._snackBar.open(`Competency ${cardData.category} deleted successfully.`);
48
+ }, ((_err) => {
49
+ this.showLoader = false;
50
+ this._snackBar.open(`Competency ${cardData.category} delete failed.`);
51
+ }));
52
+ }
53
+ else {
54
+ this.dialogRef.close(event);
55
+ }
56
+ }
57
+ }
58
+ dialogClose(event) {
59
+ this.frameworkService.publishFramework().subscribe(() => {
60
+ this.showLoader = false;
61
+ this.dialogRef.close(event);
62
+ });
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConforamtionPopupComponent, deps: [{ token: i1.MatLegacyDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FrameworkService }, { token: i3.MatLegacySnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConforamtionPopupComponent, selector: "lib-conforamtion-popup", ngImport: i0, template: "<!-- <div class=\"w-full\">\n <div class=\"w-full conformation-popup flex justify-center items-center\">\n <span class=\"msgDescription\">{{dialogData?.message}}</span>\n </div>\n <div class=\"w-full flex justify-end items-center gap-4\">\n <button mat-raised-button [mat-dialog-close]=\"true\">Close</button>\n <button mat-raised-button (click)=\"closePopup(true)\" class=\"remove\">Remove</button>\n </div>\n</div> -->\n\n<div class=\"dialog-container\">\n <ng-container *ngIf=\"showLoader\">\n <div class=\"flex flex-col flex-1 w-100 absolute loader-bg items-center pt-5 text-center\">\n <mat-spinner class=\"display-inline-block mb-5\" [diameter]=\"50\" [strokeWidth]=\"3\"></mat-spinner>\n <!-- <p>{{loaderMsg}}</p> -->\n </div>\n </ng-container>\n <ng-container [ngSwitch]=\"dialogDetails.dialogType\">\n <!-- <ng-container *ngSwitchCase=\"'success'\">\n <div class=\"flex justify-center items-center mb-4\">\n <mat-icon aria-hidden=\"false\" class=\"success-icon\">done</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'fail'\">\n <div class=\"flex justify-center items-center mb-4\">\n <mat-icon aria-hidden=\"false\" class=\"fail-icon\">priority_high</mat-icon>\n </div>\n </ng-container> -->\n <ng-container *ngSwitchCase=\"'warning'\">\n <div class=\"flex justify-center items-center mb-4\">\n <mat-icon aria-hidden=\"false\" class=\"warning-icon\">info_outlined</mat-icon>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"dialogDetails.iconDetails\">\n <div class=\"circule mb2\" [ngClass]=\"dialogDetails.iconDetails.iconClass\">\n <mat-icon aria-hidden=\"false\" class=\"success-icon\">{{dialogDetails.iconDetails.icon}}</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngFor=\"let description of dialogDetails?.descriptions\">\n <ng-container *ngIf=\"description.header\">\n <div [ngClass]=\"description.headerClass\">\n <span>{{description.header}}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"description.messages\">\n <div class=\"description mt-1 flex w-full justify-center\">\n <span>\n <ng-container *ngFor=\"let msgDetails of description.messages\">\n <span [ngClass]=\"msgDetails.msgClass\">{{msgDetails.msg}}</span>\n </ng-container>\n </span>\n <!-- <span>{{description.message}}</span> -->\n </div>\n </ng-container>\n </ng-container>\n</div>\n<div class=\"px2 footer flex w-full gap-2\" [ngClass]=\"dialogDetails.footerClass\">\n <ng-container *ngFor=\"let btn of dialogDetails?.buttons\">\n <button mat-raised-button (click)=\"closePopup(btn.response)\" [ngClass]=\"btn.btnClass\">{{btn.btnText}}</button>\n </ng-container>\n</div>", styles: [".dialog-container .warning-icon{color:#f3962f;font-size:45px;height:45px;width:45px}.dialog-container .description{font-size:14px}.footer{height:60px}.footer .btn-full-success{min-width:80px;border:none;background-color:#045dad;color:#fff;border-radius:5px;font-size:15px;cursor:pointer}.footer .btn-full-red{min-width:80px;border:none;background-color:red;color:#fff;border-radius:5px;font-size:15px;cursor:pointer}.footer .btn-outline{min-width:80px;background-color:#fff;color:#045dad;border:2px solid #045dad;border-radius:5px;font-size:15px;cursor:pointer}.textBold{font-weight:700}.loader-bg{background:#ffffffcf;inset:0;transform:translate(-50% -50%);pointer-events:unset;z-index:999999;display:flex;align-items:center;justify-content:center}::ng-deep .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.8!important;cursor:none;filter:brightness(90%)}.text-blue{font-size:16px!important;color:#1b4ca1!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConforamtionPopupComponent, decorators: [{
68
+ type: Component,
69
+ args: [{ selector: 'lib-conforamtion-popup', template: "<!-- <div class=\"w-full\">\n <div class=\"w-full conformation-popup flex justify-center items-center\">\n <span class=\"msgDescription\">{{dialogData?.message}}</span>\n </div>\n <div class=\"w-full flex justify-end items-center gap-4\">\n <button mat-raised-button [mat-dialog-close]=\"true\">Close</button>\n <button mat-raised-button (click)=\"closePopup(true)\" class=\"remove\">Remove</button>\n </div>\n</div> -->\n\n<div class=\"dialog-container\">\n <ng-container *ngIf=\"showLoader\">\n <div class=\"flex flex-col flex-1 w-100 absolute loader-bg items-center pt-5 text-center\">\n <mat-spinner class=\"display-inline-block mb-5\" [diameter]=\"50\" [strokeWidth]=\"3\"></mat-spinner>\n <!-- <p>{{loaderMsg}}</p> -->\n </div>\n </ng-container>\n <ng-container [ngSwitch]=\"dialogDetails.dialogType\">\n <!-- <ng-container *ngSwitchCase=\"'success'\">\n <div class=\"flex justify-center items-center mb-4\">\n <mat-icon aria-hidden=\"false\" class=\"success-icon\">done</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'fail'\">\n <div class=\"flex justify-center items-center mb-4\">\n <mat-icon aria-hidden=\"false\" class=\"fail-icon\">priority_high</mat-icon>\n </div>\n </ng-container> -->\n <ng-container *ngSwitchCase=\"'warning'\">\n <div class=\"flex justify-center items-center mb-4\">\n <mat-icon aria-hidden=\"false\" class=\"warning-icon\">info_outlined</mat-icon>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"dialogDetails.iconDetails\">\n <div class=\"circule mb2\" [ngClass]=\"dialogDetails.iconDetails.iconClass\">\n <mat-icon aria-hidden=\"false\" class=\"success-icon\">{{dialogDetails.iconDetails.icon}}</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngFor=\"let description of dialogDetails?.descriptions\">\n <ng-container *ngIf=\"description.header\">\n <div [ngClass]=\"description.headerClass\">\n <span>{{description.header}}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"description.messages\">\n <div class=\"description mt-1 flex w-full justify-center\">\n <span>\n <ng-container *ngFor=\"let msgDetails of description.messages\">\n <span [ngClass]=\"msgDetails.msgClass\">{{msgDetails.msg}}</span>\n </ng-container>\n </span>\n <!-- <span>{{description.message}}</span> -->\n </div>\n </ng-container>\n </ng-container>\n</div>\n<div class=\"px2 footer flex w-full gap-2\" [ngClass]=\"dialogDetails.footerClass\">\n <ng-container *ngFor=\"let btn of dialogDetails?.buttons\">\n <button mat-raised-button (click)=\"closePopup(btn.response)\" [ngClass]=\"btn.btnClass\">{{btn.btnText}}</button>\n </ng-container>\n</div>", styles: [".dialog-container .warning-icon{color:#f3962f;font-size:45px;height:45px;width:45px}.dialog-container .description{font-size:14px}.footer{height:60px}.footer .btn-full-success{min-width:80px;border:none;background-color:#045dad;color:#fff;border-radius:5px;font-size:15px;cursor:pointer}.footer .btn-full-red{min-width:80px;border:none;background-color:red;color:#fff;border-radius:5px;font-size:15px;cursor:pointer}.footer .btn-outline{min-width:80px;background-color:#fff;color:#045dad;border:2px solid #045dad;border-radius:5px;font-size:15px;cursor:pointer}.textBold{font-weight:700}.loader-bg{background:#ffffffcf;inset:0;transform:translate(-50% -50%);pointer-events:unset;z-index:999999;display:flex;align-items:center;justify-content:center}::ng-deep .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.8!important;cursor:none;filter:brightness(90%)}.text-blue{font-size:16px!important;color:#1b4ca1!important}\n"] }]
70
+ }], ctorParameters: function () { return [{ type: i1.MatLegacyDialogRef }, { type: undefined, decorators: [{
71
+ type: Inject,
72
+ args: [MAT_DIALOG_DATA]
73
+ }] }, { type: i2.FrameworkService }, { type: i3.MatLegacySnackBar }]; } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZm9yYW10aW9uLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90cmVlLWhpZXJhcmNoeS9zcmMvbGliL2NvbXBvbmVudHMvY29uZm9yYW10aW9uLXBvcHVwL2NvbmZvcmFtdGlvbi1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdHJlZS1oaWVyYXJjaHkvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZvcmFtdGlvbi1wb3B1cC9jb25mb3JhbXRpb24tcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixJQUFJLGVBQWUsRUFBc0MsTUFBTSxpQ0FBaUMsQ0FBQztBQUloSSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUE7Ozs7Ozs7OztBQU90QixNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQ1UsU0FBbUQsRUFDMUIsSUFBUyxFQUNuQyxnQkFBa0MsRUFDakMsU0FBc0I7UUFIdEIsY0FBUyxHQUFULFNBQVMsQ0FBMEM7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQWE7UUFOaEMsZUFBVSxHQUFZLEtBQUssQ0FBQTtRQVF6QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7SUFDaEMsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFO1lBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQzVCO2FBQU07WUFDTCxJQUFHLEtBQUssRUFBQztnQkFDUCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtnQkFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUE7Z0JBQzVDLElBQUksZUFBZSxHQUFFO29CQUNuQixTQUFTLEVBQUU7d0JBQ1QsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7cUJBQ3ZDO2lCQUNGLENBQUE7Z0JBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7b0JBRTFJLElBQUksZUFBZSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO29CQUN6QyxNQUFNLHNCQUFzQixHQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUE7b0JBQy9GLElBQUksU0FBUyxHQUFRLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFBO29CQUV6RixNQUFNLHVCQUF1QixHQUFRLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFLLEVBQUUsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDN0ksTUFBTSwwQkFBMEIsR0FBUSxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBSyxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBRXBKLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyx1QkFBdUIsQ0FBQTtvQkFDL0MsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLDBCQUEwQixDQUFBO29CQUN0RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFBO29CQUNsRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtvQkFDL0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtvQkFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxRQUFRLENBQUMsUUFBUSx3QkFBd0IsQ0FBQyxDQUFBO2dCQUM5RSxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQVMsRUFBQyxFQUFFO29CQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO29CQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLFFBQVEsQ0FBQyxRQUFRLGlCQUFpQixDQUFDLENBQUE7Z0JBQ3ZFLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDSjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTthQUM1QjtTQUNGO0lBRUgsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTNEVSwwQkFBMEIsb0RBTzNCLGVBQWU7bUdBUGQsMEJBQTBCLDhEQ1p2QyxpeEZBNkRNOzs0RkRqRE8sMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHdCQUF3Qjs7MEJBVy9CLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgYXMgTUFUX0RJQUxPR19EQVRBLCBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBNYXRMZWdhY3lTbmFja0JhciBhcyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1zbmFjay1iYXInO1xuaW1wb3J0IHsgRnJhbWV3b3JrU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZyYW1ld29yay5zZXJ2aWNlJztcbi8qIHRzbGludDpkaXNhYmxlICovXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnXG4vKiB0c2xpbnQ6ZW5hYmxlICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY29uZm9yYW10aW9uLXBvcHVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZvcmFtdGlvbi1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZvcmFtdGlvbi1wb3B1cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbmZvcmFtdGlvblBvcHVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBkaWFsb2dEZXRhaWxzOiBhbnlcbiAgc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25mb3JhbXRpb25Qb3B1cENvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGF0YTogYW55LFxuICAgIHB1YmxpYyBmcmFtZXdvcmtTZXJ2aWNlOiBGcmFtZXdvcmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3NuYWNrQmFyOiBNYXRTbmFja0JhcixcbiAgKSB7IFxuICAgIHRoaXMuZGlhbG9nRGV0YWlscyA9IHRoaXMuZGF0YVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBjbG9zZVBvcHVwKGV2ZW50OiBhbnkpIHtcbiAgICBpZighdGhpcy5kaWFsb2dEZXRhaWxzLmRpYWxvZ0FjdGlvbikge1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZXZlbnQpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmKGV2ZW50KXtcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZVxuICAgICAgICBjb25zdCBjYXJkRGF0YSA9IHRoaXMuZGlhbG9nRGV0YWlscy5jYXJkSW5mb1xuICAgICAgICBsZXQgc3ViVGhlbWVSZXF1ZXN0ID17XG4gICAgICAgICAgXCJyZXF1ZXN0XCI6IHsgXG4gICAgICAgICAgICBcImNvbnRlbnRJZHNcIjogW2NhcmREYXRhLmNoaWxkcmVuLmNvZGVdXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZnJhbWV3b3JrU2VydmljZS5yZXRpcmVNdWx0aXBsZVRlcm0odGhpcy5mcmFtZXdvcmtTZXJ2aWNlLmZyYW1ld29ya0lkLCBjYXJkRGF0YS5jYXRlZ29yeSwgc3ViVGhlbWVSZXF1ZXN0KS50b1Byb21pc2UoKS50aGVuKGFzeW5jICgpID0+IHtcbiAgICAgICAgICBcbiAgICAgICAgICBsZXQgcmVtb3ZlZEV4aXN0aW5nID0gW2NhcmREYXRhLmNoaWxkcmVuXVxuICAgICAgICAgIGNvbnN0IHBhcmVudENvbHVtbkNvbmZpZ0RhdGE6YW55ID0gdGhpcy5mcmFtZXdvcmtTZXJ2aWNlLmdldFByZXZpb3VzQ2F0ZWdvcnkoY2FyZERhdGEuY2F0ZWdvcnkpXG4gICAgICAgICAgbGV0IHBhcmVudENvbDogYW55ID0gdGhpcy5mcmFtZXdvcmtTZXJ2aWNlLnNlbGVjdGlvbkxpc3QuZ2V0KHBhcmVudENvbHVtbkNvbmZpZ0RhdGEuY29kZSlcbiAgICAgICAgXG4gICAgICAgICAgY29uc3Qgc2VjdGlvbkxpc3RjaGlsZHJlbkxpc3Q6IGFueSA9IF8uZGlmZmVyZW5jZVdpdGgocGFyZW50Q29sLmNoaWxkcmVuLCByZW1vdmVkRXhpc3RpbmcsIChhOmFueSwgYjogYW55KSA9PiBhLmlkZW50aWZpZXIgPT09IGIuaWRlbnRpZmllcik7XG4gICAgICAgICAgY29uc3Qgc2VjdGlvbkxpc3RBc3NvY2lhdGlvbkxpc3Q6IGFueSA9IF8uZGlmZmVyZW5jZVdpdGgocGFyZW50Q29sLmFzc29jaWF0aW9ucywgcmVtb3ZlZEV4aXN0aW5nLCAoYTphbnksIGI6IGFueSkgPT4gYS5pZGVudGlmaWVyID09PSBiLmlkZW50aWZpZXIpO1xuICAgICAgICBcbiAgICAgICAgICBwYXJlbnRDb2xbJ2NoaWxkcmVuJ10gPSBzZWN0aW9uTGlzdGNoaWxkcmVuTGlzdFxuICAgICAgICAgIHBhcmVudENvbFsnYXNzb2NpYXRpb25zJ10gPSBzZWN0aW9uTGlzdEFzc29jaWF0aW9uTGlzdFxuICAgICAgICAgIHRoaXMuZnJhbWV3b3JrU2VydmljZS51cGRhdGVGcmFtZXdvcmtMaXN0KGNhcmREYXRhLmNhdGVnb3J5LCBwYXJlbnRDb2wsIHJlbW92ZWRFeGlzdGluZywgJ2RlbGV0ZScpXG4gICAgICAgICAgdGhpcy5mcmFtZXdvcmtTZXJ2aWNlLmN1cnJlbnRTZWxlY3Rpb24ubmV4dCh7IHR5cGU6IHBhcmVudENvbHVtbkNvbmZpZ0RhdGEuY29kZSwgZGF0YTogcGFyZW50Q29sLCBjYXJkUmVmOiBwYXJlbnRDb2wuY2FyZFJlZiB9KVxuICAgICAgICAgIHRoaXMuZGlhbG9nQ2xvc2UoZXZlbnQpXG4gICAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlbihgQ29tcGV0ZW5jeSAke2NhcmREYXRhLmNhdGVnb3J5fSBkZWxldGVkIHN1Y2Nlc3NmdWxseS5gKVxuICAgICAgICB9LCgoX2VycjogYW55KT0+IHtcbiAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZVxuICAgICAgICAgIHRoaXMuX3NuYWNrQmFyLm9wZW4oYENvbXBldGVuY3kgJHtjYXJkRGF0YS5jYXRlZ29yeX0gZGVsZXRlIGZhaWxlZC5gKVxuICAgICAgICB9KSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGV2ZW50KVxuICAgICAgfVxuICAgIH1cblxuICB9XG4gIGRpYWxvZ0Nsb3NlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZyYW1ld29ya1NlcnZpY2UucHVibGlzaEZyYW1ld29yaygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZVxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZXZlbnQpXG4gICAgfSk7XG4gIH1cblxufVxuIiwiPCEtLSA8ZGl2IGNsYXNzPVwidy1mdWxsXCI+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgY29uZm9ybWF0aW9uLXBvcHVwIGZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJtc2dEZXNjcmlwdGlvblwiPnt7ZGlhbG9nRGF0YT8ubWVzc2FnZX19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGp1c3RpZnktZW5kIGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiPkNsb3NlPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VQb3B1cCh0cnVlKVwiIGNsYXNzPVwicmVtb3ZlXCI+UmVtb3ZlPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+IC0tPlxuXG48ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRhaW5lclwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0xvYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGZsZXgtMSB3LTEwMCBhYnNvbHV0ZSBsb2FkZXItYmcgaXRlbXMtY2VudGVyIHB0LTUgdGV4dC1jZW50ZXJcIj5cbiAgICAgIDxtYXQtc3Bpbm5lciBjbGFzcz1cImRpc3BsYXktaW5saW5lLWJsb2NrIG1iLTVcIiBbZGlhbWV0ZXJdPVwiNTBcIiBbc3Ryb2tlV2lkdGhdPVwiM1wiPjwvbWF0LXNwaW5uZXI+XG4gICAgICA8IS0tIDxwPnt7bG9hZGVyTXNnfX08L3A+IC0tPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGlhbG9nRGV0YWlscy5kaWFsb2dUeXBlXCI+XG4gICAgPCEtLSA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3VjY2VzcydcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBtYi00XCI+XG4gICAgICAgIDxtYXQtaWNvbiBhcmlhLWhpZGRlbj1cImZhbHNlXCIgY2xhc3M9XCJzdWNjZXNzLWljb25cIj5kb25lPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmYWlsJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIG1iLTRcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBjbGFzcz1cImZhaWwtaWNvblwiPnByaW9yaXR5X2hpZ2g8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+IC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid3YXJuaW5nJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIG1iLTRcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBjbGFzcz1cIndhcm5pbmctaWNvblwiPmluZm9fb3V0bGluZWQ8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlhbG9nRGV0YWlscy5pY29uRGV0YWlsc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjaXJjdWxlIG1iMlwiIFtuZ0NsYXNzXT1cImRpYWxvZ0RldGFpbHMuaWNvbkRldGFpbHMuaWNvbkNsYXNzXCI+XG4gICAgICA8bWF0LWljb24gYXJpYS1oaWRkZW49XCJmYWxzZVwiIGNsYXNzPVwic3VjY2Vzcy1pY29uXCI+e3tkaWFsb2dEZXRhaWxzLmljb25EZXRhaWxzLmljb259fTwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkZXNjcmlwdGlvbiBvZiBkaWFsb2dEZXRhaWxzPy5kZXNjcmlwdGlvbnNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGVzY3JpcHRpb24uaGVhZGVyXCI+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRlc2NyaXB0aW9uLmhlYWRlckNsYXNzXCI+XG4gICAgICAgIDxzcGFuPnt7ZGVzY3JpcHRpb24uaGVhZGVyfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGVzY3JpcHRpb24ubWVzc2FnZXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvbiBtdC0xICBmbGV4IHctZnVsbCBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtc2dEZXRhaWxzIG9mIGRlc2NyaXB0aW9uLm1lc3NhZ2VzXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJtc2dEZXRhaWxzLm1zZ0NsYXNzXCI+e3ttc2dEZXRhaWxzLm1zZ319PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwhLS0gPHNwYW4+e3tkZXNjcmlwdGlvbi5tZXNzYWdlfX08L3NwYW4+IC0tPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHgyIGZvb3RlciBmbGV4IHctZnVsbCBnYXAtMlwiIFtuZ0NsYXNzXT1cImRpYWxvZ0RldGFpbHMuZm9vdGVyQ2xhc3NcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnRuIG9mIGRpYWxvZ0RldGFpbHM/LmJ1dHRvbnNcIj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJjbG9zZVBvcHVwKGJ0bi5yZXNwb25zZSlcIiBbbmdDbGFzc109XCJidG4uYnRuQ2xhc3NcIj57e2J0bi5idG5UZXh0fX08L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj4iXX0=
@@ -0,0 +1,59 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
4
+ import { labels } from '../../labels/strings';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/legacy-dialog";
7
+ import * as i2 from "../../services/local-connection.service";
8
+ import * as i3 from "@angular/forms";
9
+ import * as i4 from "@angular/material/button";
10
+ import * as i5 from "@angular/material/dialog";
11
+ import * as i6 from "@angular/material/icon";
12
+ import * as i7 from "@angular/material/input";
13
+ import * as i8 from "@angular/material/form-field";
14
+ export class ConnectorComponent {
15
+ constructor(dialogRef, data, localScv, fb) {
16
+ this.dialogRef = dialogRef;
17
+ this.data = data;
18
+ this.localScv = localScv;
19
+ this.fb = fb;
20
+ this.app_strings = labels;
21
+ }
22
+ ngOnInit() {
23
+ this.initConnectorForm();
24
+ }
25
+ initConnectorForm() {
26
+ this.connectorForm = this.fb.group({
27
+ endpoint: [this.localScv.localStorage.data.endpoint,
28
+ [Validators.required,
29
+ Validators.pattern(/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/)]],
30
+ token: [this.localScv.localStorage.data.token, [Validators.nullValidator]],
31
+ frameworkName: [this.localScv.localStorage.data.frameworkName, [Validators.required]],
32
+ });
33
+ }
34
+ saveConnection() {
35
+ if (this.connectorForm.valid) {
36
+ this.dialogRef.close({ source: 'online', data: this.connectorForm.value });
37
+ }
38
+ }
39
+ clear() {
40
+ this.connectorForm.reset();
41
+ this.dialogRef.close({ source: 'online', data: {} });
42
+ }
43
+ dialogClose() {
44
+ this.dialogRef.close({ source: 'online', data: {} });
45
+ }
46
+ loadDefault() {
47
+ this.dialogRef.close({ source: 'offline', data: {} });
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectorComponent, deps: [{ token: i1.MatLegacyDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.LocalConnectionService }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConnectorComponent, selector: "lib-connector", ngImport: i0, template: "<div class=\"flex flex-1 flex-row-reverse pointer\">\n <button mat-raised-button color=\"default\" (click)=\"dialogClose()\" >\n <mat-icon mat-raised-button >{{app_strings.close}}</mat-icon>\n </button>\n</div>\n<div class=\"dialog flex\">\n <div class=\"flex flex-1 flex-row\">\n <div class=\"container flex flex-1\">\n <div class=\"side flex flex-1\">\n <div class=\"'flex flex-2 padding-s\">\n <div class=\"dialog-title\" mat-dialog-title>{{app_strings.newConnection}}</div>\n <form [formGroup]=\"connectorForm\" novalidate (ngSubmit)=\"saveConnection()\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{app_strings.endPoint}}</mat-label>\n <input matInput type=\"url\" formControlName=\"endpoint\" placeholder=\"{{app_strings.endPoint}}\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{app_strings.token}}</mat-label>\n <input matInput formControlName=\"token\" placeholder=\"{{app_strings.token}}\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{app_strings.enterFrameworkName}}</mat-label>\n <input matInput formControlName=\"frameworkName\" placeholder=\"{{app_strings.frameworkName}}\" />\n </mat-form-field>\n <footer class=\"actions\">\n <button mat-raised-button color=\"default\" type=\"reset\"\n (click)=\"dialogClose()\">{{app_strings.cancel}}</button>\n <button mat-raised-button color=\"default\" type=\"reset\" (click)=\"clear()\">{{app_strings.clear}}</button>\n <button mat-raised-button color=\"primary\" type=\"submit\" cdkFocusInitial>{{app_strings.update}}</button>\n </footer>\n </form>\n </div>\n </div>\n <div class=\"or\">\n <div class=\"or-line\"></div>\n <div class=\"or-label\">{{app_strings.or}}</div>\n </div>\n <div class=\"side flex flex-1\">\n <div class=\"'flex flex-1 padding-s\">\n <div class=\"dialog-title\" mat-dialog-title>{{app_strings.experienceTaxonomy}}</div>\n <button mat-raised-button class=\"play\" color=\"primary\" type=\"reset\" (click)=\"loadDefault()\">\n {{app_strings.playWithIt}}\n </button>\n </div>\n </div>\n </div>\u200B\n\n </div>\n</div>", styles: [".dialog .mat-dialog-title{padding:10px 20px;margin-bottom:0;background:#00000014}.dialog .mat-form-field{width:90%;padding:0;background:#fff;margin:20px;border-radius:2px}.dialog .actions{display:flex;flex-direction:row;justify-content:space-between;padding:0 20px 20px}.dialog .mat-error{padding:0 25px;margin-top:-10px}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-1{flex:1}.flex-2{flex:2}.flex{display:flex}.padding-s{padding:8px}.container{padding:1em}.side,.or{float:left;text-align:center}.side{width:40%}.or{position:relative;width:20%}.or-line{float:left;width:50%;border-right:1px solid rgb(68,50,50);height:100%}.or-label{background:#fff;color:#000;height:1em;left:50%;margin-left:-1.25em;margin-top:2em;padding:.5em;position:absolute;text-transform:uppercase;width:1em}.play{padding:20px;margin:20% auto auto;display:flex}.dialog-title{align-items:center;display:flex}::ng-deep .mat-form-field-wrapper{padding:0}@media only screen and (max-width: 1024px){::ng-deep .cdk-overlay-pane{width:70%!important;height:60%!important}}@media only screen and (max-width: 1024px){mat-icon{font-size:20px;width:1.25em;height:1.25em}.pointer .mat-raised-button{min-width:auto;padding:0 .5em;line-height:2em}.dialog.flex{height:calc(100% - 16vh);font-size:12px}.dialog.flex mat-form-field{margin:1em}.dialog .actions{padding:0}.dialog .actions button{font-size:12px;line-height:2.5em;margin:0 5px}.dialog-title{font-size:14px;height:1em}.play{padding:.6em;font-size:12px}}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectorComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'lib-connector', template: "<div class=\"flex flex-1 flex-row-reverse pointer\">\n <button mat-raised-button color=\"default\" (click)=\"dialogClose()\" >\n <mat-icon mat-raised-button >{{app_strings.close}}</mat-icon>\n </button>\n</div>\n<div class=\"dialog flex\">\n <div class=\"flex flex-1 flex-row\">\n <div class=\"container flex flex-1\">\n <div class=\"side flex flex-1\">\n <div class=\"'flex flex-2 padding-s\">\n <div class=\"dialog-title\" mat-dialog-title>{{app_strings.newConnection}}</div>\n <form [formGroup]=\"connectorForm\" novalidate (ngSubmit)=\"saveConnection()\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{app_strings.endPoint}}</mat-label>\n <input matInput type=\"url\" formControlName=\"endpoint\" placeholder=\"{{app_strings.endPoint}}\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{app_strings.token}}</mat-label>\n <input matInput formControlName=\"token\" placeholder=\"{{app_strings.token}}\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{app_strings.enterFrameworkName}}</mat-label>\n <input matInput formControlName=\"frameworkName\" placeholder=\"{{app_strings.frameworkName}}\" />\n </mat-form-field>\n <footer class=\"actions\">\n <button mat-raised-button color=\"default\" type=\"reset\"\n (click)=\"dialogClose()\">{{app_strings.cancel}}</button>\n <button mat-raised-button color=\"default\" type=\"reset\" (click)=\"clear()\">{{app_strings.clear}}</button>\n <button mat-raised-button color=\"primary\" type=\"submit\" cdkFocusInitial>{{app_strings.update}}</button>\n </footer>\n </form>\n </div>\n </div>\n <div class=\"or\">\n <div class=\"or-line\"></div>\n <div class=\"or-label\">{{app_strings.or}}</div>\n </div>\n <div class=\"side flex flex-1\">\n <div class=\"'flex flex-1 padding-s\">\n <div class=\"dialog-title\" mat-dialog-title>{{app_strings.experienceTaxonomy}}</div>\n <button mat-raised-button class=\"play\" color=\"primary\" type=\"reset\" (click)=\"loadDefault()\">\n {{app_strings.playWithIt}}\n </button>\n </div>\n </div>\n </div>\u200B\n\n </div>\n</div>", styles: [".dialog .mat-dialog-title{padding:10px 20px;margin-bottom:0;background:#00000014}.dialog .mat-form-field{width:90%;padding:0;background:#fff;margin:20px;border-radius:2px}.dialog .actions{display:flex;flex-direction:row;justify-content:space-between;padding:0 20px 20px}.dialog .mat-error{padding:0 25px;margin-top:-10px}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-1{flex:1}.flex-2{flex:2}.flex{display:flex}.padding-s{padding:8px}.container{padding:1em}.side,.or{float:left;text-align:center}.side{width:40%}.or{position:relative;width:20%}.or-line{float:left;width:50%;border-right:1px solid rgb(68,50,50);height:100%}.or-label{background:#fff;color:#000;height:1em;left:50%;margin-left:-1.25em;margin-top:2em;padding:.5em;position:absolute;text-transform:uppercase;width:1em}.play{padding:20px;margin:20% auto auto;display:flex}.dialog-title{align-items:center;display:flex}::ng-deep .mat-form-field-wrapper{padding:0}@media only screen and (max-width: 1024px){::ng-deep .cdk-overlay-pane{width:70%!important;height:60%!important}}@media only screen and (max-width: 1024px){mat-icon{font-size:20px;width:1.25em;height:1.25em}.pointer .mat-raised-button{min-width:auto;padding:0 .5em;line-height:2em}.dialog.flex{height:calc(100% - 16vh);font-size:12px}.dialog.flex mat-form-field{margin:1em}.dialog .actions{padding:0}.dialog .actions button{font-size:12px;line-height:2.5em;margin:0 5px}.dialog-title{font-size:14px;height:1em}.play{padding:.6em;font-size:12px}}\n"] }]
55
+ }], ctorParameters: function () { return [{ type: i1.MatLegacyDialogRef }, { type: undefined, decorators: [{
56
+ type: Inject,
57
+ args: [MAT_DIALOG_DATA]
58
+ }] }, { type: i2.LocalConnectionService }, { type: i3.UntypedFormBuilder }]; } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90cmVlLWhpZXJhcmNoeS9zcmMvbGliL2NvbXBvbmVudHMvY29ubmVjdG9yL2Nvbm5lY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdHJlZS1oaWVyYXJjaHkvc3JjL2xpYi9jb21wb25lbnRzL2Nvbm5lY3Rvci9jb25uZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUF3QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQXNDLHNCQUFzQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2hJLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7OztBQVM5QyxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQ1MsU0FBMkMsRUFDbEIsSUFBUyxFQUNqQyxRQUFnQyxFQUNoQyxFQUFzQjtRQUh2QixjQUFTLEdBQVQsU0FBUyxDQUFrQztRQUNsQixTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQXdCO1FBQ2hDLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBTGhDLGdCQUFXLEdBQVEsTUFBTSxDQUFDO0lBTXRCLENBQUM7SUFFTCxRQUFRO1FBV04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDakMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQ25ELENBQUMsVUFBVSxDQUFDLFFBQVE7b0JBQ3BCLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0ZBQWdGLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDMUUsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN0RixDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBcUIsQ0FBQyxDQUFBO1NBQzlGO0lBQ0gsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFxQixDQUFDLENBQUE7SUFDekUsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBcUIsQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQW9CLENBQUMsQ0FBQTtJQUN6RSxDQUFDOytHQS9DVSxrQkFBa0Isb0RBS25CLGVBQWU7bUdBTGQsa0JBQWtCLHFEQ2QvQiwreUZBZ0RNOzs0RkRsQ08sa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGVBQWU7OzBCQVV0QixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmLCBNQVRfTEVHQUNZX0RJQUxPR19EQVRBIGFzIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xuaW1wb3J0IHsgTG9jYWxDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2FsLWNvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJQ29ubmVjdGlvblR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29ubmVjdGlvbi10eXBlLm1vZGVsJztcbmltcG9ydCB7IGxhYmVscyB9IGZyb20gJy4uLy4uL2xhYmVscy9zdHJpbmdzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY29ubmVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvbm5lY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nvbm5lY3Rvci5jb21wb25lbnQuc2NzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgQ29ubmVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29ubmVjdG9yRm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XG4gIGFwcF9zdHJpbmdzOiBhbnkgPSBsYWJlbHM7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25uZWN0b3JDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgIHByaXZhdGUgbG9jYWxTY3Y6IExvY2FsQ29ubmVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gY29uc3QgcmVxdWVzdEJvZHkgPSB7XG4gICAgLy8gICByZXF1ZXN0OiB7XG4gICAgLy8gICAgIHNlYXJjaDoge1xuICAgIC8vICAgICAgICAgc3RhdHVzOiBcIkRyYWZ0XCJcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cbiAgICAvLyB9IFxuICAgIC8vIHRoaXMuZnJhbWVXb3JrU2VydmljZS5yZWFkVGVybXModGhpcy5kYXRhLmZyYW1ld29ya0lkLCB0aGlzLmRhdGEuY2F0ZWdvcnlJZCwgcmVxdWVzdEJvZHkpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAvLyAgICB0aGlzLnRlcm1MaXN0cyA9IGRhdGEudGVybXNcbiAgICAvLyB9KVxuICAgIHRoaXMuaW5pdENvbm5lY3RvckZvcm0oKVxuICB9XG5cbiAgaW5pdENvbm5lY3RvckZvcm0oKSB7XG4gICAgdGhpcy5jb25uZWN0b3JGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBlbmRwb2ludDogW3RoaXMubG9jYWxTY3YubG9jYWxTdG9yYWdlLmRhdGEuZW5kcG9pbnQsXG4gICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgIFZhbGlkYXRvcnMucGF0dGVybigvXig/Omh0dHAocyk/OlxcL1xcLyk/W1xcdy4tXSsoPzpcXC5bXFx3XFwuLV0rKStbXFx3XFwtXFwuX346Lz8jW1xcXUAhXFwkJidcXChcXClcXCpcXCssOz0uXSskLyldXSxcbiAgICAgIHRva2VuOiBbdGhpcy5sb2NhbFNjdi5sb2NhbFN0b3JhZ2UuZGF0YS50b2tlbiwgW1ZhbGlkYXRvcnMubnVsbFZhbGlkYXRvcl1dLFxuICAgICAgZnJhbWV3b3JrTmFtZTogW3RoaXMubG9jYWxTY3YubG9jYWxTdG9yYWdlLmRhdGEuZnJhbWV3b3JrTmFtZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICB9KVxuICB9XG4gIHNhdmVDb25uZWN0aW9uKCkge1xuICAgIGlmICh0aGlzLmNvbm5lY3RvckZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgc291cmNlOiAnb25saW5lJywgZGF0YTogdGhpcy5jb25uZWN0b3JGb3JtLnZhbHVlIH0gYXMgSUNvbm5lY3Rpb25UeXBlKVxuICAgIH1cbiAgfVxuICBjbGVhcigpIHtcbiAgICB0aGlzLmNvbm5lY3RvckZvcm0ucmVzZXQoKVxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgc291cmNlOiAnb25saW5lJywgZGF0YToge30gfSBhcyBJQ29ubmVjdGlvblR5cGUpXG4gIH1cbiAgZGlhbG9nQ2xvc2UoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBzb3VyY2U6ICdvbmxpbmUnLCBkYXRhOiB7fSB9IGFzIElDb25uZWN0aW9uVHlwZSlcbiAgfVxuICBsb2FkRGVmYXVsdCgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IHNvdXJjZTogJ29mZmxpbmUnLCBkYXRhOiB7fX0gYXMgSUNvbm5lY3Rpb25UeXBlKVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBmbGV4LXJvdy1yZXZlcnNlIHBvaW50ZXJcIj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZGVmYXVsdFwiIChjbGljayk9XCJkaWFsb2dDbG9zZSgpXCIgPlxuICAgICAgICA8bWF0LWljb24gbWF0LXJhaXNlZC1idXR0b24gPnt7YXBwX3N0cmluZ3MuY2xvc2V9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkaWFsb2cgZmxleFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBmbGV4LXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIGZsZXggZmxleC0xXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZSBmbGV4IGZsZXgtMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCInZmxleCBmbGV4LTIgcGFkZGluZy1zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctdGl0bGVcIiBtYXQtZGlhbG9nLXRpdGxlPnt7YXBwX3N0cmluZ3MubmV3Q29ubmVjdGlvbn19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiY29ubmVjdG9yRm9ybVwiIG5vdmFsaWRhdGUgKG5nU3VibWl0KT1cInNhdmVDb25uZWN0aW9uKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3thcHBfc3RyaW5ncy5lbmRQb2ludH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ1cmxcIiBmb3JtQ29udHJvbE5hbWU9XCJlbmRwb2ludFwiIHBsYWNlaG9sZGVyPVwie3thcHBfc3RyaW5ncy5lbmRQb2ludH19XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7YXBwX3N0cmluZ3MudG9rZW59fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0b2tlblwiIHBsYWNlaG9sZGVyPVwie3thcHBfc3RyaW5ncy50b2tlbn19XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7YXBwX3N0cmluZ3MuZW50ZXJGcmFtZXdvcmtOYW1lfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZnJhbWV3b3JrTmFtZVwiIHBsYWNlaG9sZGVyPVwie3thcHBfc3RyaW5ncy5mcmFtZXdvcmtOYW1lfX1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmb290ZXIgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImRlZmF1bHRcIiB0eXBlPVwicmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGlhbG9nQ2xvc2UoKVwiPnt7YXBwX3N0cmluZ3MuY2FuY2VsfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiZGVmYXVsdFwiIHR5cGU9XCJyZXNldFwiIChjbGljayk9XCJjbGVhcigpXCI+e3thcHBfc3RyaW5ncy5jbGVhcn19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwic3VibWl0XCIgY2RrRm9jdXNJbml0aWFsPnt7YXBwX3N0cmluZ3MudXBkYXRlfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvci1saW5lXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9yLWxhYmVsXCI+e3thcHBfc3RyaW5ncy5vcn19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlIGZsZXggZmxleC0xXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIidmbGV4IGZsZXgtMSBwYWRkaW5nLXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy10aXRsZVwiIG1hdC1kaWFsb2ctdGl0bGU+e3thcHBfc3RyaW5ncy5leHBlcmllbmNlVGF4b25vbXl9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwicGxheVwiIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJyZXNldFwiIChjbGljayk9XCJsb2FkRGVmYXVsdCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e2FwcF9zdHJpbmdzLnBsYXlXaXRoSXR9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj7igItcblxuICAgIDwvZGl2PlxuPC9kaXY+Il19