@igo2/context 1.12.0 → 1.13.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2015/igo2-context.js → esm2020/igo2-context.mjs} +0 -0
- package/esm2020/lib/context-import-export/context-import-export/context-import-export.component.mjs +229 -0
- package/{esm2015/lib/context-import-export/context-import-export.module.js → esm2020/lib/context-import-export/context-import-export.module.mjs} +16 -18
- package/{esm2015/lib/context-import-export/index.js → esm2020/lib/context-import-export/index.mjs} +0 -0
- package/{esm2015/lib/context-import-export/shared/context-export.errors.js → esm2020/lib/context-import-export/shared/context-export.errors.mjs} +0 -0
- package/{esm2015/lib/context-import-export/shared/context-export.interface.js → esm2020/lib/context-import-export/shared/context-export.interface.mjs} +0 -0
- package/{esm2015/lib/context-import-export/shared/context-export.service.js → esm2020/lib/context-import-export/shared/context-export.service.mjs} +0 -0
- package/{esm2015/lib/context-import-export/shared/context-export.utils.js → esm2020/lib/context-import-export/shared/context-export.utils.mjs} +0 -0
- package/{esm2015/lib/context-import-export/shared/context-import.errors.js → esm2020/lib/context-import-export/shared/context-import.errors.mjs} +0 -0
- package/{esm2015/lib/context-import-export/shared/context-import.service.js → esm2020/lib/context-import-export/shared/context-import.service.mjs} +0 -0
- package/{esm2015/lib/context-import-export/shared/context-import.utils.js → esm2020/lib/context-import-export/shared/context-import.utils.mjs} +0 -0
- package/{esm2015/lib/context-import-export/shared/index.js → esm2020/lib/context-import-export/shared/index.mjs} +0 -0
- package/{esm2015/lib/context-manager/context-edit/context-edit-binding.directive.js → esm2020/lib/context-manager/context-edit/context-edit-binding.directive.mjs} +0 -0
- package/{esm2015/lib/context-manager/context-edit/context-edit.component.js → esm2020/lib/context-manager/context-edit/context-edit.component.mjs} +4 -7
- package/{esm2015/lib/context-manager/context-edit/index.js → esm2020/lib/context-manager/context-edit/index.mjs} +0 -0
- package/{esm2015/lib/context-manager/context-form/context-form.component.js → esm2020/lib/context-manager/context-form/context-form.component.mjs} +13 -22
- package/{esm2015/lib/context-manager/context-form/index.js → esm2020/lib/context-manager/context-form/index.mjs} +0 -0
- package/esm2020/lib/context-manager/context-item/context-item.component.mjs +245 -0
- package/{esm2015/lib/context-manager/context-item/index.js → esm2020/lib/context-manager/context-item/index.mjs} +0 -0
- package/{esm2015/lib/context-manager/context-list/context-list-binding.directive.js → esm2020/lib/context-manager/context-list/context-list-binding.directive.mjs} +0 -0
- package/esm2020/lib/context-manager/context-list/context-list.component.mjs +592 -0
- package/{esm2015/lib/context-manager/context-list/context-list.enum.js → esm2020/lib/context-manager/context-list/context-list.enum.mjs} +0 -0
- package/{esm2015/lib/context-manager/context-list/index.js → esm2020/lib/context-manager/context-list/index.mjs} +0 -0
- package/{esm2015/lib/context-manager/context-manager.module.js → esm2020/lib/context-manager/context-manager.module.mjs} +25 -27
- package/{esm2015/lib/context-manager/context-permissions/context-permissions-binding.directive.js → esm2020/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs} +0 -0
- package/esm2020/lib/context-manager/context-permissions/context-permissions.component.mjs +306 -0
- package/{esm2015/lib/context-manager/context-permissions/index.js → esm2020/lib/context-manager/context-permissions/index.mjs} +0 -0
- package/{esm2015/lib/context-manager/index.js → esm2020/lib/context-manager/index.mjs} +0 -0
- package/{esm2015/lib/context-manager/shared/context.enum.js → esm2020/lib/context-manager/shared/context.enum.mjs} +0 -0
- package/{esm2015/lib/context-manager/shared/context.interface.js → esm2020/lib/context-manager/shared/context.interface.mjs} +0 -0
- package/{esm2015/lib/context-manager/shared/context.service.js → esm2020/lib/context-manager/shared/context.service.mjs} +0 -0
- package/{esm2015/lib/context-manager/shared/index.js → esm2020/lib/context-manager/shared/index.mjs} +0 -0
- package/{esm2015/lib/context-manager/shared/layer-context.directive.js → esm2020/lib/context-manager/shared/layer-context.directive.mjs} +0 -0
- package/{esm2015/lib/context-manager/shared/map-context.directive.js → esm2020/lib/context-manager/shared/map-context.directive.mjs} +0 -0
- package/{esm2015/lib/context-map-button/bookmark-button/bookmark-button.component.js → esm2020/lib/context-map-button/bookmark-button/bookmark-button.component.mjs} +8 -14
- package/esm2020/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +50 -0
- package/{esm2015/lib/context-map-button/bookmark-button/index.js → esm2020/lib/context-map-button/bookmark-button/index.mjs} +0 -0
- package/{esm2015/lib/context-map-button/context-map-button.module.js → esm2020/lib/context-map-button/context-map-button.module.mjs} +15 -17
- package/{esm2015/lib/context-map-button/index.js → esm2020/lib/context-map-button/index.mjs} +0 -0
- package/{esm2015/lib/context-map-button/poi-button/index.js → esm2020/lib/context-map-button/poi-button/index.mjs} +0 -0
- package/esm2020/lib/context-map-button/poi-button/poi-button.component.mjs +171 -0
- package/esm2020/lib/context-map-button/poi-button/poi-dialog.component.mjs +50 -0
- package/{esm2015/lib/context-map-button/poi-button/shared/index.js → esm2020/lib/context-map-button/poi-button/shared/index.mjs} +0 -0
- package/{esm2015/lib/context-map-button/poi-button/shared/poi.interface.js → esm2020/lib/context-map-button/poi-button/shared/poi.interface.mjs} +0 -0
- package/{esm2015/lib/context-map-button/poi-button/shared/poi.service.js → esm2020/lib/context-map-button/poi-button/shared/poi.service.mjs} +0 -0
- package/{esm2015/lib/context-map-button/user-button/index.js → esm2020/lib/context-map-button/user-button/index.mjs} +0 -0
- package/{esm2015/lib/context-map-button/user-button/user-button.animation.js → esm2020/lib/context-map-button/user-button/user-button.animation.mjs} +0 -0
- package/esm2020/lib/context-map-button/user-button/user-button.component.mjs +104 -0
- package/{esm2015/lib/context-map-button/user-button/user-dialog.component.js → esm2020/lib/context-map-button/user-button/user-dialog.component.mjs} +6 -12
- package/{esm2015/lib/context.module.js → esm2020/lib/context.module.mjs} +2 -2
- package/{esm2015/lib/share-map/index.js → esm2020/lib/share-map/index.mjs} +0 -0
- package/{esm2015/lib/share-map/share-map/share-map-api.component.js → esm2020/lib/share-map/share-map/share-map-api.component.mjs} +18 -31
- package/{esm2015/lib/share-map/share-map/share-map-url.component.js → esm2020/lib/share-map/share-map/share-map-url.component.mjs} +13 -23
- package/esm2020/lib/share-map/share-map/share-map.component.mjs +57 -0
- package/{esm2015/lib/share-map/share-map.module.js → esm2020/lib/share-map/share-map.module.mjs} +11 -13
- package/{esm2015/lib/share-map/shared/index.js → esm2020/lib/share-map/shared/index.mjs} +0 -0
- package/esm2020/lib/share-map/shared/share-map.service.mjs +201 -0
- package/{esm2015/lib/sidenav/index.js → esm2020/lib/sidenav/index.mjs} +0 -0
- package/esm2020/lib/sidenav/sidenav.component.mjs +170 -0
- package/{esm2015/lib/sidenav/sidenav.module.js → esm2020/lib/sidenav/sidenav.module.mjs} +11 -13
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/fesm2015/igo2-context.mjs +5143 -0
- package/fesm2015/igo2-context.mjs.map +1 -0
- package/{fesm2015/igo2-context.js → fesm2020/igo2-context.mjs} +424 -593
- package/fesm2020/igo2-context.mjs.map +1 -0
- package/{igo2-context.d.ts → index.d.ts} +0 -0
- package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +1 -1
- package/lib/context-manager/context-edit/context-edit-binding.directive.d.ts +1 -1
- package/lib/context-manager/context-edit/context-edit.component.d.ts +1 -1
- package/lib/context-manager/context-form/context-form.component.d.ts +1 -1
- package/lib/context-manager/context-item/context-item.component.d.ts +1 -1
- package/lib/context-manager/context-list/context-list-binding.directive.d.ts +1 -1
- package/lib/context-manager/context-list/context-list.component.d.ts +1 -1
- package/lib/context-manager/context-permissions/context-permissions-binding.directive.d.ts +1 -1
- package/lib/context-manager/context-permissions/context-permissions.component.d.ts +2 -2
- package/lib/context-manager/shared/layer-context.directive.d.ts +1 -1
- package/lib/context-manager/shared/map-context.directive.d.ts +1 -1
- package/lib/context-map-button/bookmark-button/bookmark-button.component.d.ts +1 -1
- package/lib/context-map-button/bookmark-button/bookmark-dialog.component.d.ts +1 -1
- package/lib/context-map-button/poi-button/poi-button.component.d.ts +1 -1
- package/lib/context-map-button/poi-button/poi-dialog.component.d.ts +1 -1
- package/lib/context-map-button/user-button/user-button.component.d.ts +1 -1
- package/lib/context-map-button/user-button/user-dialog.component.d.ts +1 -1
- package/lib/share-map/share-map/share-map-api.component.d.ts +1 -1
- package/lib/share-map/share-map/share-map-url.component.d.ts +1 -1
- package/lib/share-map/share-map/share-map.component.d.ts +1 -1
- package/lib/sidenav/sidenav.component.d.ts +1 -1
- package/package.json +31 -18
- package/bundles/igo2-context.umd.js +0 -6093
- package/bundles/igo2-context.umd.js.map +0 -1
- package/esm2015/lib/context-import-export/context-import-export/context-import-export.component.js +0 -257
- package/esm2015/lib/context-manager/context-item/context-item.component.js +0 -251
- package/esm2015/lib/context-manager/context-list/context-list.component.js +0 -602
- package/esm2015/lib/context-manager/context-permissions/context-permissions.component.js +0 -323
- package/esm2015/lib/context-map-button/bookmark-button/bookmark-dialog.component.js +0 -59
- package/esm2015/lib/context-map-button/poi-button/poi-button.component.js +0 -177
- package/esm2015/lib/context-map-button/poi-button/poi-dialog.component.js +0 -59
- package/esm2015/lib/context-map-button/user-button/user-button.component.js +0 -112
- package/esm2015/lib/share-map/share-map/share-map.component.js +0 -63
- package/esm2015/lib/share-map/shared/share-map.service.js +0 -201
- package/esm2015/lib/sidenav/sidenav.component.js +0 -183
- package/fesm2015/igo2-context.js.map +0 -1
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { FormControl } from '@angular/forms';
|
|
3
|
-
import { TypePermission } from '../shared/context.enum';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "@angular/common/http";
|
|
7
|
-
import * as i3 from "@igo2/auth";
|
|
8
|
-
import * as i4 from "@igo2/core";
|
|
9
|
-
import * as i5 from "@angular/common";
|
|
10
|
-
import * as i6 from "@angular/material/radio";
|
|
11
|
-
import * as i7 from "@angular/material/form-field";
|
|
12
|
-
import * as i8 from "@angular/material/input";
|
|
13
|
-
import * as i9 from "@angular/material/autocomplete";
|
|
14
|
-
import * as i10 from "@angular/material/button";
|
|
15
|
-
import * as i11 from "@angular/material/core";
|
|
16
|
-
import * as i12 from "@igo2/common";
|
|
17
|
-
import * as i13 from "@angular/material/list";
|
|
18
|
-
import * as i14 from "@angular/material/icon";
|
|
19
|
-
import * as i15 from "@angular/material/tooltip";
|
|
20
|
-
import * as i16 from "@ngx-translate/core";
|
|
21
|
-
function ContextPermissionsComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
-
i0.ɵɵelementStart(0, "div", 3);
|
|
23
|
-
i0.ɵɵelementStart(1, "h4");
|
|
24
|
-
i0.ɵɵtext(2);
|
|
25
|
-
i0.ɵɵpipe(3, "translate");
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
i0.ɵɵelementStart(4, "p");
|
|
28
|
-
i0.ɵɵtext(5);
|
|
29
|
-
i0.ɵɵpipe(6, "translate");
|
|
30
|
-
i0.ɵɵelementEnd();
|
|
31
|
-
i0.ɵɵelementEnd();
|
|
32
|
-
} if (rf & 2) {
|
|
33
|
-
i0.ɵɵadvance(2);
|
|
34
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "igo.context.permission.readOnlyTitle"));
|
|
35
|
-
i0.ɵɵadvance(3);
|
|
36
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "igo.context.permission.readOnlyMsg"));
|
|
37
|
-
} }
|
|
38
|
-
function ContextPermissionsComponent_div_0_div_2_mat_radio_button_8_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
-
i0.ɵɵelementStart(0, "mat-radio-button", 8);
|
|
40
|
-
i0.ɵɵtext(1);
|
|
41
|
-
i0.ɵɵpipe(2, "translate");
|
|
42
|
-
i0.ɵɵelementEnd();
|
|
43
|
-
} if (rf & 2) {
|
|
44
|
-
i0.ɵɵadvance(1);
|
|
45
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "igo.context.permission.scope.public"), " ");
|
|
46
|
-
} }
|
|
47
|
-
function ContextPermissionsComponent_div_0_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
-
const _r7 = i0.ɵɵgetCurrentView();
|
|
49
|
-
i0.ɵɵelementStart(0, "div", 3);
|
|
50
|
-
i0.ɵɵelementStart(1, "mat-radio-group", 4);
|
|
51
|
-
i0.ɵɵlistener("ngModelChange", function ContextPermissionsComponent_div_0_div_2_Template_mat_radio_group_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(2); return ctx_r6.context.scope = $event; })("change", function ContextPermissionsComponent_div_0_div_2_Template_mat_radio_group_change_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.scopeChanged.emit(ctx_r8.context); });
|
|
52
|
-
i0.ɵɵelementStart(2, "mat-radio-button", 5);
|
|
53
|
-
i0.ɵɵtext(3);
|
|
54
|
-
i0.ɵɵpipe(4, "translate");
|
|
55
|
-
i0.ɵɵelementEnd();
|
|
56
|
-
i0.ɵɵelementStart(5, "mat-radio-button", 6);
|
|
57
|
-
i0.ɵɵtext(6);
|
|
58
|
-
i0.ɵɵpipe(7, "translate");
|
|
59
|
-
i0.ɵɵelementEnd();
|
|
60
|
-
i0.ɵɵtemplate(8, ContextPermissionsComponent_div_0_div_2_mat_radio_button_8_Template, 3, 3, "mat-radio-button", 7);
|
|
61
|
-
i0.ɵɵelementEnd();
|
|
62
|
-
i0.ɵɵelementEnd();
|
|
63
|
-
} if (rf & 2) {
|
|
64
|
-
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
65
|
-
i0.ɵɵadvance(1);
|
|
66
|
-
i0.ɵɵproperty("ngModel", ctx_r2.context.scope);
|
|
67
|
-
i0.ɵɵadvance(2);
|
|
68
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 4, "igo.context.permission.scope.private"), " ");
|
|
69
|
-
i0.ɵɵadvance(3);
|
|
70
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 6, "igo.context.permission.scope.shared"), " ");
|
|
71
|
-
i0.ɵɵadvance(2);
|
|
72
|
-
i0.ɵɵproperty("ngIf", ctx_r2.authService.isAdmin);
|
|
73
|
-
} }
|
|
74
|
-
function ContextPermissionsComponent_div_0_form_3_mat_option_6_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
-
i0.ɵɵelementStart(0, "mat-option", 20);
|
|
76
|
-
i0.ɵɵtext(1);
|
|
77
|
-
i0.ɵɵelement(2, "br");
|
|
78
|
-
i0.ɵɵelementStart(3, "small", 21);
|
|
79
|
-
i0.ɵɵtext(4);
|
|
80
|
-
i0.ɵɵelementEnd();
|
|
81
|
-
i0.ɵɵelementEnd();
|
|
82
|
-
} if (rf & 2) {
|
|
83
|
-
const profil_r11 = ctx.$implicit;
|
|
84
|
-
i0.ɵɵproperty("value", profil_r11);
|
|
85
|
-
i0.ɵɵadvance(1);
|
|
86
|
-
i0.ɵɵtextInterpolate1(" ", profil_r11.title, "");
|
|
87
|
-
i0.ɵɵadvance(3);
|
|
88
|
-
i0.ɵɵtextInterpolate(profil_r11.name);
|
|
89
|
-
} }
|
|
90
|
-
function ContextPermissionsComponent_div_0_form_3_Template(rf, ctx) { if (rf & 1) {
|
|
91
|
-
const _r13 = i0.ɵɵgetCurrentView();
|
|
92
|
-
i0.ɵɵelementStart(0, "form", 9);
|
|
93
|
-
i0.ɵɵlistener("ngSubmit", function ContextPermissionsComponent_div_0_form_3_Template_form_ngSubmit_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(2); return ctx_r12.handleFormSubmit(ctx_r12.form.value); });
|
|
94
|
-
i0.ɵɵelementStart(1, "mat-form-field", 10);
|
|
95
|
-
i0.ɵɵelement(2, "input", 11);
|
|
96
|
-
i0.ɵɵpipe(3, "translate");
|
|
97
|
-
i0.ɵɵelementStart(4, "mat-autocomplete", 12, 13);
|
|
98
|
-
i0.ɵɵlistener("optionSelected", function ContextPermissionsComponent_div_0_form_3_Template_mat_autocomplete_optionSelected_4_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r14 = i0.ɵɵnextContext(2); return ctx_r14.onProfilSelected($event.option.value); });
|
|
99
|
-
i0.ɵɵtemplate(6, ContextPermissionsComponent_div_0_form_3_mat_option_6_Template, 5, 3, "mat-option", 14);
|
|
100
|
-
i0.ɵɵelementEnd();
|
|
101
|
-
i0.ɵɵelementStart(7, "mat-error");
|
|
102
|
-
i0.ɵɵtext(8);
|
|
103
|
-
i0.ɵɵpipe(9, "translate");
|
|
104
|
-
i0.ɵɵelementEnd();
|
|
105
|
-
i0.ɵɵelementEnd();
|
|
106
|
-
i0.ɵɵelementStart(10, "mat-radio-group", 15);
|
|
107
|
-
i0.ɵɵelementStart(11, "mat-radio-button", 16);
|
|
108
|
-
i0.ɵɵtext(12);
|
|
109
|
-
i0.ɵɵpipe(13, "translate");
|
|
110
|
-
i0.ɵɵelementEnd();
|
|
111
|
-
i0.ɵɵelementStart(14, "mat-radio-button", 17);
|
|
112
|
-
i0.ɵɵtext(15);
|
|
113
|
-
i0.ɵɵpipe(16, "translate");
|
|
114
|
-
i0.ɵɵelementEnd();
|
|
115
|
-
i0.ɵɵelementEnd();
|
|
116
|
-
i0.ɵɵelementStart(17, "div", 18);
|
|
117
|
-
i0.ɵɵelementStart(18, "button", 19);
|
|
118
|
-
i0.ɵɵtext(19);
|
|
119
|
-
i0.ɵɵpipe(20, "translate");
|
|
120
|
-
i0.ɵɵelementEnd();
|
|
121
|
-
i0.ɵɵelementEnd();
|
|
122
|
-
i0.ɵɵelementEnd();
|
|
123
|
-
} if (rf & 2) {
|
|
124
|
-
const _r9 = i0.ɵɵreference(5);
|
|
125
|
-
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
126
|
-
i0.ɵɵproperty("formGroup", ctx_r3.form);
|
|
127
|
-
i0.ɵɵadvance(2);
|
|
128
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 11, "igo.context.permission.user"))("formControl", ctx_r3.formControl)("matAutocomplete", _r9);
|
|
129
|
-
i0.ɵɵadvance(2);
|
|
130
|
-
i0.ɵɵproperty("displayWith", ctx_r3.displayFn);
|
|
131
|
-
i0.ɵɵadvance(2);
|
|
132
|
-
i0.ɵɵproperty("ngForOf", ctx_r3.profils);
|
|
133
|
-
i0.ɵɵadvance(2);
|
|
134
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 13, "igo.context.permission.profilRequired"), " ");
|
|
135
|
-
i0.ɵɵadvance(4);
|
|
136
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 15, "igo.context.permission.read"), " ");
|
|
137
|
-
i0.ɵɵadvance(3);
|
|
138
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(16, 17, "igo.context.permission.write"), " ");
|
|
139
|
-
i0.ɵɵadvance(3);
|
|
140
|
-
i0.ɵɵproperty("disabled", !ctx_r3.form.valid);
|
|
141
|
-
i0.ɵɵadvance(1);
|
|
142
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20, 19, "igo.context.permission.addBtn"), " ");
|
|
143
|
-
} }
|
|
144
|
-
function ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_ng_template_2_button_7_Template(rf, ctx) { if (rf & 1) {
|
|
145
|
-
const _r23 = i0.ɵɵgetCurrentView();
|
|
146
|
-
i0.ɵɵelementStart(0, "button", 29);
|
|
147
|
-
i0.ɵɵlistener("click", function ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_ng_template_2_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r23); const permission_r19 = i0.ɵɵnextContext().$implicit; const ctx_r21 = i0.ɵɵnextContext(5); return ctx_r21.removePermission.emit(permission_r19); });
|
|
148
|
-
i0.ɵɵpipe(1, "translate");
|
|
149
|
-
i0.ɵɵelement(2, "mat-icon", 30);
|
|
150
|
-
i0.ɵɵelementEnd();
|
|
151
|
-
} if (rf & 2) {
|
|
152
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 1, "igo.context.permission.delete"));
|
|
153
|
-
} }
|
|
154
|
-
function ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
155
|
-
i0.ɵɵelementStart(0, "mat-list-item");
|
|
156
|
-
i0.ɵɵelement(1, "mat-icon", 25);
|
|
157
|
-
i0.ɵɵelementStart(2, "h4", 26);
|
|
158
|
-
i0.ɵɵtext(3);
|
|
159
|
-
i0.ɵɵelementStart(4, "small", 21);
|
|
160
|
-
i0.ɵɵtext(5);
|
|
161
|
-
i0.ɵɵelementEnd();
|
|
162
|
-
i0.ɵɵelementEnd();
|
|
163
|
-
i0.ɵɵelementStart(6, "div", 27);
|
|
164
|
-
i0.ɵɵtemplate(7, ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_ng_template_2_button_7_Template, 3, 3, "button", 28);
|
|
165
|
-
i0.ɵɵelementEnd();
|
|
166
|
-
i0.ɵɵelementEnd();
|
|
167
|
-
} if (rf & 2) {
|
|
168
|
-
const permission_r19 = ctx.$implicit;
|
|
169
|
-
const ctx_r18 = i0.ɵɵnextContext(5);
|
|
170
|
-
i0.ɵɵadvance(3);
|
|
171
|
-
i0.ɵɵtextInterpolate1("", permission_r19.profilTitle, " ");
|
|
172
|
-
i0.ɵɵadvance(2);
|
|
173
|
-
i0.ɵɵtextInterpolate(permission_r19.profil);
|
|
174
|
-
i0.ɵɵadvance(2);
|
|
175
|
-
i0.ɵɵproperty("ngIf", ctx_r18.canWrite || permission_r19.profil === ctx_r18.authService.decodeToken().user.sourceId);
|
|
176
|
-
} }
|
|
177
|
-
function ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_Template(rf, ctx) { if (rf & 1) {
|
|
178
|
-
i0.ɵɵelementStart(0, "igo-collapsible", 24);
|
|
179
|
-
i0.ɵɵpipe(1, "translate");
|
|
180
|
-
i0.ɵɵtemplate(2, ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_ng_template_2_Template, 8, 3, "ng-template", 22);
|
|
181
|
-
i0.ɵɵelementEnd();
|
|
182
|
-
} if (rf & 2) {
|
|
183
|
-
const groupPermissions_r16 = i0.ɵɵnextContext().$implicit;
|
|
184
|
-
i0.ɵɵproperty("title", i0.ɵɵpipeBind1(1, 2, "igo.context.permission." + groupPermissions_r16.key));
|
|
185
|
-
i0.ɵɵadvance(2);
|
|
186
|
-
i0.ɵɵproperty("ngForOf", groupPermissions_r16.value);
|
|
187
|
-
} }
|
|
188
|
-
function ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
189
|
-
i0.ɵɵtemplate(0, ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_igo_collapsible_0_Template, 3, 4, "igo-collapsible", 23);
|
|
190
|
-
} if (rf & 2) {
|
|
191
|
-
const groupPermissions_r16 = ctx.$implicit;
|
|
192
|
-
i0.ɵɵproperty("ngIf", groupPermissions_r16.value.length);
|
|
193
|
-
} }
|
|
194
|
-
function ContextPermissionsComponent_div_0_igo_list_4_Template(rf, ctx) { if (rf & 1) {
|
|
195
|
-
i0.ɵɵelementStart(0, "igo-list");
|
|
196
|
-
i0.ɵɵtemplate(1, ContextPermissionsComponent_div_0_igo_list_4_ng_template_1_Template, 1, 1, "ng-template", 22);
|
|
197
|
-
i0.ɵɵpipe(2, "keyvalue");
|
|
198
|
-
i0.ɵɵelementEnd();
|
|
199
|
-
} if (rf & 2) {
|
|
200
|
-
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
201
|
-
i0.ɵɵadvance(1);
|
|
202
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, ctx_r4.permissions));
|
|
203
|
-
} }
|
|
204
|
-
function ContextPermissionsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
205
|
-
i0.ɵɵelementStart(0, "div");
|
|
206
|
-
i0.ɵɵtemplate(1, ContextPermissionsComponent_div_0_div_1_Template, 7, 6, "div", 1);
|
|
207
|
-
i0.ɵɵtemplate(2, ContextPermissionsComponent_div_0_div_2_Template, 9, 8, "div", 1);
|
|
208
|
-
i0.ɵɵtemplate(3, ContextPermissionsComponent_div_0_form_3_Template, 21, 21, "form", 2);
|
|
209
|
-
i0.ɵɵtemplate(4, ContextPermissionsComponent_div_0_igo_list_4_Template, 3, 3, "igo-list", 0);
|
|
210
|
-
i0.ɵɵelementEnd();
|
|
211
|
-
} if (rf & 2) {
|
|
212
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
213
|
-
i0.ɵɵadvance(1);
|
|
214
|
-
i0.ɵɵproperty("ngIf", !ctx_r0.canWrite);
|
|
215
|
-
i0.ɵɵadvance(1);
|
|
216
|
-
i0.ɵɵproperty("ngIf", ctx_r0.canWrite);
|
|
217
|
-
i0.ɵɵadvance(1);
|
|
218
|
-
i0.ɵɵproperty("ngIf", ctx_r0.context.scope !== "private" && ctx_r0.canWrite);
|
|
219
|
-
i0.ɵɵadvance(1);
|
|
220
|
-
i0.ɵɵproperty("ngIf", ctx_r0.permissions && ctx_r0.context.scope !== "private");
|
|
221
|
-
} }
|
|
222
|
-
export class ContextPermissionsComponent {
|
|
223
|
-
constructor(formBuilder, cd, http, authService, config) {
|
|
224
|
-
this.formBuilder = formBuilder;
|
|
225
|
-
this.cd = cd;
|
|
226
|
-
this.http = http;
|
|
227
|
-
this.authService = authService;
|
|
228
|
-
this.config = config;
|
|
229
|
-
this._profils = [];
|
|
230
|
-
this.formControl = new FormControl();
|
|
231
|
-
this.addPermission = new EventEmitter();
|
|
232
|
-
this.removePermission = new EventEmitter();
|
|
233
|
-
this.scopeChanged = new EventEmitter();
|
|
234
|
-
}
|
|
235
|
-
get context() {
|
|
236
|
-
return this._context;
|
|
237
|
-
}
|
|
238
|
-
set context(value) {
|
|
239
|
-
this._context = value;
|
|
240
|
-
this.cd.detectChanges();
|
|
241
|
-
}
|
|
242
|
-
get permissions() {
|
|
243
|
-
return this._permissions;
|
|
244
|
-
}
|
|
245
|
-
set permissions(value) {
|
|
246
|
-
this._permissions = value;
|
|
247
|
-
this.cd.detectChanges();
|
|
248
|
-
}
|
|
249
|
-
get profils() {
|
|
250
|
-
return this._profils;
|
|
251
|
-
}
|
|
252
|
-
set profils(value) {
|
|
253
|
-
this._profils = value;
|
|
254
|
-
this.cd.detectChanges();
|
|
255
|
-
}
|
|
256
|
-
get canWrite() {
|
|
257
|
-
return this.context.permission === TypePermission[TypePermission.write];
|
|
258
|
-
}
|
|
259
|
-
ngOnInit() {
|
|
260
|
-
this.buildForm();
|
|
261
|
-
this.baseUrlProfils = this.config.getConfig('context.url') + '/profils-users?';
|
|
262
|
-
this.formValueChanges$$ = this.formControl.valueChanges.subscribe((value) => {
|
|
263
|
-
if (value.length) {
|
|
264
|
-
this.http.get(this.baseUrlProfils + 'q=' + value).subscribe(profils => {
|
|
265
|
-
this.profils = profils;
|
|
266
|
-
});
|
|
267
|
-
this.profils.filter((profil) => {
|
|
268
|
-
const filterNormalized = value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
269
|
-
const profilTitleNormalized = profil.title.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
270
|
-
const profilNameNormalized = profil.name.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
271
|
-
const profilNormalized = profilNameNormalized + profilTitleNormalized;
|
|
272
|
-
return profilNormalized.includes(filterNormalized);
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
|
-
else {
|
|
276
|
-
this.profils = [];
|
|
277
|
-
}
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
displayFn(profil) {
|
|
281
|
-
return profil ? profil.title : undefined;
|
|
282
|
-
}
|
|
283
|
-
handleFormSubmit(value) {
|
|
284
|
-
this.addPermission.emit(value);
|
|
285
|
-
}
|
|
286
|
-
buildForm() {
|
|
287
|
-
this.form = this.formBuilder.group({
|
|
288
|
-
profil: [],
|
|
289
|
-
typePermission: ['read']
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
onProfilSelected(value) {
|
|
293
|
-
this.form.setValue({
|
|
294
|
-
profil: value.name,
|
|
295
|
-
typePermission: this.form.value.typePermission
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
ContextPermissionsComponent.ɵfac = function ContextPermissionsComponent_Factory(t) { return new (t || ContextPermissionsComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.HttpClient), i0.ɵɵdirectiveInject(i3.AuthService), i0.ɵɵdirectiveInject(i4.ConfigService)); };
|
|
300
|
-
ContextPermissionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextPermissionsComponent, selectors: [["igo-context-permissions"]], inputs: { context: "context", permissions: "permissions" }, outputs: { addPermission: "addPermission", removePermission: "removePermission", scopeChanged: "scopeChanged" }, decls: 1, vars: 1, consts: [[4, "ngIf"], ["class", "scopeForm", 4, "ngIf"], [3, "formGroup", "ngSubmit", 4, "ngIf"], [1, "scopeForm"], [3, "ngModel", "ngModelChange", "change"], ["value", "private"], ["value", "protected"], ["value", "public", 4, "ngIf"], ["value", "public"], [3, "formGroup", "ngSubmit"], [1, "full-width"], ["matInput", "", "required", "", 3, "placeholder", "formControl", "matAutocomplete"], [3, "displayWith", "optionSelected"], ["auto", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], ["formControlName", "typePermission"], ["value", "read"], ["value", "write"], [1, "igo-form-button-group"], ["mat-raised-button", "", "type", "submit", 3, "disabled"], [3, "value"], [1, "mat-typography"], ["ngFor", "", 3, "ngForOf"], [3, "title", 4, "ngIf"], [3, "title"], ["mat-list-avatar", "", "svgIcon", "account-outline"], ["mat-line", ""], ["igoStopPropagation", "", 1, "igo-actions-container"], ["mat-icon-button", "", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click"], ["svgIcon", "delete"]], template: function ContextPermissionsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
301
|
-
i0.ɵɵtemplate(0, ContextPermissionsComponent_div_0_Template, 5, 4, "div", 0);
|
|
302
|
-
} if (rf & 2) {
|
|
303
|
-
i0.ɵɵproperty("ngIf", ctx.context);
|
|
304
|
-
} }, directives: [i5.NgIf, i6.MatRadioGroup, i1.NgControlStatus, i1.NgModel, i6.MatRadioButton, i1.ɵNgNoValidate, i1.NgControlStatusGroup, i1.FormGroupDirective, i7.MatFormField, i8.MatInput, i1.DefaultValueAccessor, i9.MatAutocompleteTrigger, i1.RequiredValidator, i1.FormControlDirective, i9.MatAutocomplete, i5.NgForOf, i7.MatError, i1.FormControlName, i10.MatButton, i11.MatOption, i12.ListComponent, i12.CollapsibleComponent, i13.MatListItem, i14.MatIcon, i13.MatListAvatarCssMatStyler, i11.MatLine, i12.StopPropagationDirective, i15.MatTooltip], pipes: [i16.TranslatePipe, i12.KeyValuePipe], styles: ["[_nghost-%COMP%]{margin:10px}.full-width[_ngcontent-%COMP%]{width:100%}mat-radio-button[_ngcontent-%COMP%]{padding:14px 14px 14px 0}.scopeForm[_ngcontent-%COMP%], form[_ngcontent-%COMP%]{padding:5px}mat-option[_ngcontent-%COMP%] .mat-option-text{line-height:normal;line-height:initial}"] });
|
|
305
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextPermissionsComponent, [{
|
|
306
|
-
type: Component,
|
|
307
|
-
args: [{
|
|
308
|
-
selector: 'igo-context-permissions',
|
|
309
|
-
templateUrl: './context-permissions.component.html',
|
|
310
|
-
styleUrls: ['./context-permissions.component.scss']
|
|
311
|
-
}]
|
|
312
|
-
}], function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.HttpClient }, { type: i3.AuthService }, { type: i4.ConfigService }]; }, { context: [{
|
|
313
|
-
type: Input
|
|
314
|
-
}], permissions: [{
|
|
315
|
-
type: Input
|
|
316
|
-
}], addPermission: [{
|
|
317
|
-
type: Output
|
|
318
|
-
}], removePermission: [{
|
|
319
|
-
type: Output
|
|
320
|
-
}], scopeChanged: [{
|
|
321
|
-
type: Output
|
|
322
|
-
}] }); })();
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1wZXJtaXNzaW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtcGVybWlzc2lvbnMvY29udGV4dC1wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL2NvbnRleHQtcGVybWlzc2lvbnMvY29udGV4dC1wZXJtaXNzaW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQTBCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUXJFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ1B0RCw4QkFBeUM7SUFDdkMsMEJBQUk7SUFBQSxZQUF3RDs7SUFBQSxpQkFBSztJQUNqRSx5QkFBRztJQUFBLFlBQXNEOztJQUFBLGlCQUFJO0lBQy9ELGlCQUFNOztJQUZBLGVBQXdEO0lBQXhELGtGQUF3RDtJQUN6RCxlQUFzRDtJQUF0RCxnRkFBc0Q7OztJQVl2RCwyQ0FBNkQ7SUFDM0QsWUFDRjs7SUFBQSxpQkFBbUI7O0lBRGpCLGVBQ0Y7SUFERSw0RkFDRjs7OztJQVhKLDhCQUF3QztJQUN0QywwQ0FDc0Q7SUFEckMsK09BQTJCLDZLQUNsQix3Q0FBMEIsSUFEUjtJQUUxQywyQ0FBa0M7SUFDaEMsWUFDRjs7SUFBQSxpQkFBbUI7SUFDbkIsMkNBQW9DO0lBQ2xDLFlBQ0Y7O0lBQUEsaUJBQW1CO0lBQ25CLGtIQUVtQjtJQUNyQixpQkFBa0I7SUFDcEIsaUJBQU07OztJQVphLGVB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LENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDakMsTUFBTSxFQUFFLEVBQUU7WUFDVixjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDakIsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2xCLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjO1NBQy9DLENBQUMsQ0FBQztJQUNMLENBQUM7O3NHQTlGVSwyQkFBMkI7OEVBQTNCLDJCQUEyQjtRQ3RCeEMsNEVBOEZNOztRQTlGQSxrQ0FBYTs7dUZEc0JOLDJCQUEyQjtjQUx2QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsV0FBVyxFQUFFLHNDQUFzQztnQkFDbkQsU0FBUyxFQUFFLENBQUMsc0NBQXNDLENBQUM7YUFDcEQ7NktBS0ssT0FBTztrQkFEVixLQUFLO1lBV0YsV0FBVztrQkFEZCxLQUFLO1lBNEJJLGFBQWE7a0JBQXRCLE1BQU07WUFDRyxnQkFBZ0I7a0JBQXpCLE1BQU07WUFDRyxZQUFZO2tCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbnRleHQsXHJcbiAgQ29udGV4dFBlcm1pc3Npb24sXHJcbiAgQ29udGV4dFBlcm1pc3Npb25zTGlzdCxcclxuICBDb250ZXh0UHJvZmlsc1xyXG59IGZyb20gJy4uL3NoYXJlZC9jb250ZXh0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFR5cGVQZXJtaXNzaW9uIH0gZnJvbSAnLi4vc2hhcmVkL2NvbnRleHQuZW51bSc7XHJcblxyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvYXV0aCc7XHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWNvbnRleHQtcGVybWlzc2lvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LXBlcm1pc3Npb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LXBlcm1pc3Npb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRleHRQZXJtaXNzaW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgY29udGV4dCgpOiBDb250ZXh0IHtcclxuICAgIHJldHVybiB0aGlzLl9jb250ZXh0O1xyXG4gIH1cclxuICBzZXQgY29udGV4dCh2YWx1ZTogQ29udGV4dCkge1xyXG4gICAgdGhpcy5fY29udGV4dCA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbnRleHQ6IENvbnRleHQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHBlcm1pc3Npb25zKCk6IENvbnRleHRQZXJtaXNzaW9uc0xpc3Qge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Blcm1pc3Npb25zO1xyXG4gIH1cclxuICBzZXQgcGVybWlzc2lvbnModmFsdWU6IENvbnRleHRQZXJtaXNzaW9uc0xpc3QpIHtcclxuICAgIHRoaXMuX3Blcm1pc3Npb25zID0gdmFsdWU7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcGVybWlzc2lvbnM6IENvbnRleHRQZXJtaXNzaW9uc0xpc3Q7XHJcblxyXG4gIGdldCBwcm9maWxzKCk6IENvbnRleHRQcm9maWxzW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Byb2ZpbHM7XHJcbiAgfVxyXG4gIHNldCBwcm9maWxzKHZhbHVlOiBDb250ZXh0UHJvZmlsc1tdKSB7XHJcbiAgICB0aGlzLl9wcm9maWxzID0gdmFsdWU7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJvZmlsczogQ29udGV4dFByb2ZpbHNbXSA9IFtdO1xyXG5cclxuICBnZXQgY2FuV3JpdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnBlcm1pc3Npb24gPT09IFR5cGVQZXJtaXNzaW9uW1R5cGVQZXJtaXNzaW9uLndyaXRlXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYmFzZVVybFByb2ZpbHM7XHJcblxyXG4gIHB1YmxpYyBmb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIGZvcm1WYWx1ZUNoYW5nZXMkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBAT3V0cHV0KCkgYWRkUGVybWlzc2lvbjogRXZlbnRFbWl0dGVyPENvbnRleHRQZXJtaXNzaW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVtb3ZlUGVybWlzc2lvbjogRXZlbnRFbWl0dGVyPENvbnRleHRQZXJtaXNzaW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc2NvcGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q29udGV4dD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICAgICAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcblxyXG4gICAgdGhpcy5iYXNlVXJsUHJvZmlscyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnY29udGV4dC51cmwnKSArICcvcHJvZmlscy11c2Vycz8nO1xyXG5cclxuICAgIHRoaXMuZm9ybVZhbHVlQ2hhbmdlcyQkID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICBpZiAodmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5odHRwLmdldCh0aGlzLmJhc2VVcmxQcm9maWxzICsgJ3E9JyArIHZhbHVlKS5zdWJzY3JpYmUocHJvZmlscyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnByb2ZpbHMgPSBwcm9maWxzIGFzIENvbnRleHRQcm9maWxzW107XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5wcm9maWxzLmZpbHRlcigocHJvZmlsKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBmaWx0ZXJOb3JtYWxpemVkID0gdmFsdWUudG9Mb3dlckNhc2UoKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcclxuICAgICAgICAgIGNvbnN0IHByb2ZpbFRpdGxlTm9ybWFsaXplZCA9IHByb2ZpbC50aXRsZS50b0xvd2VyQ2FzZSgpLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgICAgICAgY29uc3QgcHJvZmlsTmFtZU5vcm1hbGl6ZWQgPSBwcm9maWwubmFtZS50b0xvd2VyQ2FzZSgpLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgICAgICAgY29uc3QgcHJvZmlsTm9ybWFsaXplZCA9IHByb2ZpbE5hbWVOb3JtYWxpemVkICsgcHJvZmlsVGl0bGVOb3JtYWxpemVkO1xyXG4gICAgICAgICAgcmV0dXJuIHByb2ZpbE5vcm1hbGl6ZWQuaW5jbHVkZXMoZmlsdGVyTm9ybWFsaXplZCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxzID0gW107XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheUZuKHByb2ZpbD86IENvbnRleHRQcm9maWxzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiBwcm9maWwgPyBwcm9maWwudGl0bGUgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRm9ybVN1Ym1pdCh2YWx1ZSkge1xyXG4gICAgdGhpcy5hZGRQZXJtaXNzaW9uLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgcHJvZmlsOiBbXSxcclxuICAgICAgdHlwZVBlcm1pc3Npb246IFsncmVhZCddXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uUHJvZmlsU2VsZWN0ZWQodmFsdWUpIHtcclxuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XHJcbiAgICAgIHByb2ZpbDogdmFsdWUubmFtZSxcclxuICAgICAgdHlwZVBlcm1pc3Npb246IHRoaXMuZm9ybS52YWx1ZS50eXBlUGVybWlzc2lvblxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJjb250ZXh0XCI+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCIhY2FuV3JpdGVcIiBjbGFzcz1cInNjb3BlRm9ybVwiPlxyXG4gICAgPGg0Pnt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLnJlYWRPbmx5VGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgIDxwPnt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLnJlYWRPbmx5TXNnJyB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImNhbldyaXRlXCIgY2xhc3M9XCJzY29wZUZvcm1cIj5cclxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgWyhuZ01vZGVsKV09XCJjb250ZXh0LnNjb3BlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNjb3BlQ2hhbmdlZC5lbWl0KGNvbnRleHQpXCI+XHJcbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwicHJpdmF0ZVwiPlxyXG4gICAgICAgIHt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLnNjb3BlLnByaXZhdGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJwcm90ZWN0ZWRcIj5cclxuICAgICAgICB7eyAnaWdvLmNvbnRleHQucGVybWlzc2lvbi5zY29wZS5zaGFyZWQnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gKm5nSWY9XCJhdXRoU2VydmljZS5pc0FkbWluXCIgdmFsdWU9XCJwdWJsaWNcIj5cclxuICAgICAgICB7eyAnaWdvLmNvbnRleHQucGVybWlzc2lvbi5zY29wZS5wdWJsaWMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8Zm9ybSAqbmdJZj1cImNvbnRleHQuc2NvcGUgIT09ICdwcml2YXRlJyAmJiBjYW5Xcml0ZVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiXHJcbiAgICAobmdTdWJtaXQpPVwiaGFuZGxlRm9ybVN1Ym1pdChmb3JtLnZhbHVlKVwiPlxyXG5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkXHJcbiAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5jb250ZXh0LnBlcm1pc3Npb24udXNlcicgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiPlxyXG4gICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJvblByb2ZpbFNlbGVjdGVkKCRldmVudC5vcHRpb24udmFsdWUpXCJcclxuICAgICAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUZuXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgcHJvZmlsIG9mIHRoaXMucHJvZmlsc1wiIFt2YWx1ZV09XCJwcm9maWxcIj5cclxuICAgICAgICAgICAgICB7e3Byb2ZpbC50aXRsZX19PGJyPlxyXG4gICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+e3twcm9maWwubmFtZX19PC9zbWFsbD5cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICB7eyAnaWdvLmNvbnRleHQucGVybWlzc2lvbi5wcm9maWxSZXF1aXJlZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICA8L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG5cclxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVBlcm1pc3Npb25cIj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJyZWFkXCI+XHJcbiAgICAgICAge3sgJ2lnby5jb250ZXh0LnBlcm1pc3Npb24ucmVhZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cIndyaXRlXCI+XHJcbiAgICAgICAge3sgJ2lnby5jb250ZXh0LnBlcm1pc3Npb24ud3JpdGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPlxyXG4gICAgICAgIHt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLmFkZEJ0bicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9mb3JtPlxyXG5cclxuICA8aWdvLWxpc3QgKm5nSWY9XCJwZXJtaXNzaW9ucyAmJiBjb250ZXh0LnNjb3BlICE9PSAncHJpdmF0ZSdcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtZ3JvdXBQZXJtaXNzaW9ucyBbbmdGb3JPZl09XCJwZXJtaXNzaW9ucyB8IGtleXZhbHVlXCI+XHJcbiAgICAgIDxpZ28tY29sbGFwc2libGVcclxuICAgICAgICAqbmdJZj1cImdyb3VwUGVybWlzc2lvbnMudmFsdWUubGVuZ3RoXCJcclxuICAgICAgICBbdGl0bGVdPVwiJ2lnby5jb250ZXh0LnBlcm1pc3Npb24uJyArIGdyb3VwUGVybWlzc2lvbnMua2V5IHwgdHJhbnNsYXRlXCI+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtcGVybWlzc2lvbiBbbmdGb3JPZl09XCJncm91cFBlcm1pc3Npb25zLnZhbHVlXCI+XHJcbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbT5cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdC1saXN0LWF2YXRhciBzdmdJY29uPVwiYWNjb3VudC1vdXRsaW5lXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPGg0IG1hdC1saW5lPnt7cGVybWlzc2lvbi5wcm9maWxUaXRsZX19IDxzbWFsbCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+e3twZXJtaXNzaW9uLnByb2ZpbH19PC9zbWFsbD48L2g0PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBpZ29TdG9wUHJvcGFnYXRpb25cclxuICAgICAgICAgICAgICAgICBjbGFzcz1cImlnby1hY3Rpb25zLWNvbnRhaW5lclwiPlxyXG5cclxuICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNhbldyaXRlIHx8IHBlcm1pc3Npb24ucHJvZmlsID09PSBhdXRoU2VydmljZS5kZWNvZGVUb2tlbigpLnVzZXIuc291cmNlSWRcIlxyXG4gICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uY29udGV4dC5wZXJtaXNzaW9uLmRlbGV0ZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXHJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVBlcm1pc3Npb24uZW1pdChwZXJtaXNzaW9uKVwiPlxyXG4gICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZGVsZXRlXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2lnby1jb2xsYXBzaWJsZT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9pZ28tbGlzdD5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/dialog";
|
|
4
|
-
import * as i2 from "@angular/material/form-field";
|
|
5
|
-
import * as i3 from "@angular/material/input";
|
|
6
|
-
import * as i4 from "@angular/forms";
|
|
7
|
-
import * as i5 from "@angular/material/button";
|
|
8
|
-
import * as i6 from "@ngx-translate/core";
|
|
9
|
-
export class BookmarkDialogComponent {
|
|
10
|
-
constructor(dialogRef) {
|
|
11
|
-
this.dialogRef = dialogRef;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
BookmarkDialogComponent.ɵfac = function BookmarkDialogComponent_Factory(t) { return new (t || BookmarkDialogComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef)); };
|
|
15
|
-
BookmarkDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BookmarkDialogComponent, selectors: [["igo-bookmark-dialog"]], decls: 14, vars: 14, consts: [["mat-dialog-title", "", 1, "mat-typography"], ["mat-dialog-content", "", 1, "mat-typography"], ["matInput", "", "required", "", "autocomplete", "off", "maxlength", "128", 3, "placeholder", "ngModel", "ngModelChange"], ["mat-dialog-actions", ""], ["mat-button", "", "color", "primary", 3, "disabled", "click"], ["mat-button", "", 3, "click"]], template: function BookmarkDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
-
i0.ɵɵelementStart(0, "h1", 0);
|
|
17
|
-
i0.ɵɵtext(1);
|
|
18
|
-
i0.ɵɵpipe(2, "translate");
|
|
19
|
-
i0.ɵɵelementEnd();
|
|
20
|
-
i0.ɵɵelementStart(3, "div", 1);
|
|
21
|
-
i0.ɵɵelementStart(4, "mat-form-field");
|
|
22
|
-
i0.ɵɵelementStart(5, "input", 2);
|
|
23
|
-
i0.ɵɵlistener("ngModelChange", function BookmarkDialogComponent_Template_input_ngModelChange_5_listener($event) { return ctx.title = $event; });
|
|
24
|
-
i0.ɵɵpipe(6, "translate");
|
|
25
|
-
i0.ɵɵelementEnd();
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
i0.ɵɵelementEnd();
|
|
28
|
-
i0.ɵɵelementStart(7, "div", 3);
|
|
29
|
-
i0.ɵɵelementStart(8, "button", 4);
|
|
30
|
-
i0.ɵɵlistener("click", function BookmarkDialogComponent_Template_button_click_8_listener() { return ctx.dialogRef.close(ctx.title); });
|
|
31
|
-
i0.ɵɵtext(9);
|
|
32
|
-
i0.ɵɵpipe(10, "translate");
|
|
33
|
-
i0.ɵɵelementEnd();
|
|
34
|
-
i0.ɵɵelementStart(11, "button", 5);
|
|
35
|
-
i0.ɵɵlistener("click", function BookmarkDialogComponent_Template_button_click_11_listener() { return ctx.dialogRef.close(false); });
|
|
36
|
-
i0.ɵɵtext(12);
|
|
37
|
-
i0.ɵɵpipe(13, "translate");
|
|
38
|
-
i0.ɵɵelementEnd();
|
|
39
|
-
i0.ɵɵelementEnd();
|
|
40
|
-
} if (rf & 2) {
|
|
41
|
-
i0.ɵɵadvance(1);
|
|
42
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 6, "igo.context.bookmarkButton.dialog.title"));
|
|
43
|
-
i0.ɵɵadvance(4);
|
|
44
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(6, 8, "igo.context.bookmarkButton.dialog.placeholder"))("ngModel", ctx.title);
|
|
45
|
-
i0.ɵɵadvance(3);
|
|
46
|
-
i0.ɵɵproperty("disabled", !ctx.title);
|
|
47
|
-
i0.ɵɵadvance(1);
|
|
48
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 10, "igo.common.confirmDialog.confirmBtn"), " ");
|
|
49
|
-
i0.ɵɵadvance(3);
|
|
50
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 12, "igo.common.confirmDialog.cancelBtn"), " ");
|
|
51
|
-
} }, directives: [i1.MatDialogTitle, i1.MatDialogContent, i2.MatFormField, i3.MatInput, i4.DefaultValueAccessor, i4.RequiredValidator, i4.MaxLengthValidator, i4.NgControlStatus, i4.NgModel, i1.MatDialogActions, i5.MatButton], pipes: [i6.TranslatePipe], encapsulation: 2 });
|
|
52
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BookmarkDialogComponent, [{
|
|
53
|
-
type: Component,
|
|
54
|
-
args: [{
|
|
55
|
-
selector: 'igo-bookmark-dialog',
|
|
56
|
-
templateUrl: './bookmark-dialog.component.html'
|
|
57
|
-
}]
|
|
58
|
-
}], function () { return [{ type: i1.MatDialogRef }]; }, null); })();
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmstZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hcC1idXR0b24vYm9va21hcmstYnV0dG9uL2Jvb2ttYXJrLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL2Jvb2ttYXJrLWJ1dHRvbi9ib29rbWFyay1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUFtQixTQUFnRDtRQUFoRCxjQUFTLEdBQVQsU0FBUyxDQUF1QztJQUFHLENBQUM7OzhGQUg1RCx1QkFBdUI7MEVBQXZCLHVCQUF1QjtRQ1BwQyw2QkFBNEM7UUFBQSxZQUEyRDs7UUFBQSxpQkFBSztRQUM1Ryw4QkFBK0M7UUFDN0Msc0NBQWdCO1FBQ2QsZ0NBR3NCO1FBQXBCLCtJQUFtQjs7UUFIckIsaUJBR3NCO1FBQ3hCLGlCQUFpQjtRQUNuQixpQkFBTTtRQUNOLDhCQUF3QjtRQUN0QixpQ0FFd0M7UUFBakMsb0dBQVMsOEJBQXNCLElBQUM7UUFDckMsWUFDRjs7UUFBQSxpQkFBUztRQUNULGtDQUN5QztRQUFqQyxxR0FBUyxvQkFBZ0IsS0FBSyxDQUFDLElBQUM7UUFDdEMsYUFDRjs7UUFBQSxpQkFBUztRQUNYLGlCQUFNOztRQW5Cc0MsZUFBMkQ7UUFBM0QscUZBQTJEO1FBS2pHLGVBQTJFO1FBQTNFLG1HQUEyRSxzQkFBQTtRQU14RSxlQUFtQjtRQUFuQixxQ0FBbUI7UUFFeEIsZUFDRjtRQURFLDhGQUNGO1FBR0UsZUFDRjtRQURFLDZGQUNGOzt1RkRYVyx1QkFBdUI7Y0FKbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSxrQ0FBa0M7YUFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWJvb2ttYXJrLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb2ttYXJrLWRpYWxvZy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJvb2ttYXJrRGlhbG9nQ29tcG9uZW50IHtcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEJvb2ttYXJrRGlhbG9nQ29tcG9uZW50Pikge31cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+e3sgJ2lnby5jb250ZXh0LmJvb2ttYXJrQnV0dG9uLmRpYWxvZy50aXRsZScgfMKgdHJhbnNsYXRlIH19PC9oMT5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCByZXF1aXJlZCBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICBtYXhsZW5ndGg9XCIxMjhcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5jb250ZXh0LmJvb2ttYXJrQnV0dG9uLmRpYWxvZy5wbGFjZWhvbGRlcicgfMKgdHJhbnNsYXRlXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ0aXRsZVwiPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbjwvZGl2PlxyXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgW2Rpc2FibGVkXT1cIiF0aXRsZVwiXHJcbiAgICAgICAgIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UodGl0bGUpXCI+XHJcbiAgICB7eydpZ28uY29tbW9uLmNvbmZpcm1EaWFsb2cuY29uZmlybUJ0bicgfCB0cmFuc2xhdGV9fVxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvblxyXG4gICAgICAgICAgKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZShmYWxzZSlcIj5cclxuICAgIHt7J2lnby5jb21tb24uY29uZmlybURpYWxvZy5jYW5jZWxCdG4nIHzCoHRyYW5zbGF0ZX19XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { take } from 'rxjs/operators';
|
|
3
|
-
import * as olproj from 'ol/proj';
|
|
4
|
-
import * as oleasing from 'ol/easing';
|
|
5
|
-
import olPoint from 'ol/geom/Point';
|
|
6
|
-
import { PoiDialogComponent } from './poi-dialog.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/material/dialog";
|
|
9
|
-
import * as i2 from "@igo2/auth";
|
|
10
|
-
import * as i3 from "./shared/poi.service";
|
|
11
|
-
import * as i4 from "@igo2/core";
|
|
12
|
-
import * as i5 from "@igo2/common";
|
|
13
|
-
import * as i6 from "@angular/material/select";
|
|
14
|
-
import * as i7 from "@angular/material/core";
|
|
15
|
-
import * as i8 from "@angular/material/button";
|
|
16
|
-
import * as i9 from "@angular/material/icon";
|
|
17
|
-
import * as i10 from "@angular/common";
|
|
18
|
-
import * as i11 from "@ngx-translate/core";
|
|
19
|
-
function PoiButtonComponent_mat_option_8_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
-
const _r3 = i0.ɵɵgetCurrentView();
|
|
21
|
-
i0.ɵɵelementStart(0, "mat-option", 6);
|
|
22
|
-
i0.ɵɵlistener("click", function PoiButtonComponent_mat_option_8_Template_mat_option_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r3); const poi_r1 = restoredCtx.$implicit; const ctx_r2 = i0.ɵɵnextContext(); return ctx_r2.zoomOnPoi(poi_r1.id); });
|
|
23
|
-
i0.ɵɵelementStart(1, "div", 2);
|
|
24
|
-
i0.ɵɵtext(2);
|
|
25
|
-
i0.ɵɵelementEnd();
|
|
26
|
-
i0.ɵɵelementStart(3, "button", 7);
|
|
27
|
-
i0.ɵɵlistener("click", function PoiButtonComponent_mat_option_8_Template_button_click_3_listener() { const restoredCtx = i0.ɵɵrestoreView(_r3); const poi_r1 = restoredCtx.$implicit; const ctx_r4 = i0.ɵɵnextContext(); return ctx_r4.deletePoi(poi_r1); });
|
|
28
|
-
i0.ɵɵelement(4, "mat-icon", 8);
|
|
29
|
-
i0.ɵɵelementEnd();
|
|
30
|
-
i0.ɵɵelementEnd();
|
|
31
|
-
} if (rf & 2) {
|
|
32
|
-
const poi_r1 = ctx.$implicit;
|
|
33
|
-
i0.ɵɵproperty("value", poi_r1.id);
|
|
34
|
-
i0.ɵɵadvance(2);
|
|
35
|
-
i0.ɵɵtextInterpolate(poi_r1.title);
|
|
36
|
-
} }
|
|
37
|
-
export class PoiButtonComponent {
|
|
38
|
-
constructor(dialog, authService, poiService, messageService, languageService, confirmDialogService) {
|
|
39
|
-
this.dialog = dialog;
|
|
40
|
-
this.authService = authService;
|
|
41
|
-
this.poiService = poiService;
|
|
42
|
-
this.messageService = messageService;
|
|
43
|
-
this.languageService = languageService;
|
|
44
|
-
this.confirmDialogService = confirmDialogService;
|
|
45
|
-
}
|
|
46
|
-
get map() {
|
|
47
|
-
return this._map;
|
|
48
|
-
}
|
|
49
|
-
set map(value) {
|
|
50
|
-
this._map = value;
|
|
51
|
-
}
|
|
52
|
-
get color() {
|
|
53
|
-
return this._color;
|
|
54
|
-
}
|
|
55
|
-
set color(value) {
|
|
56
|
-
this._color = value;
|
|
57
|
-
}
|
|
58
|
-
ngOnInit() {
|
|
59
|
-
this.authenticate$$ = this.authService.authenticate$.subscribe(auth => {
|
|
60
|
-
if (auth) {
|
|
61
|
-
this.getPois();
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
ngOnDestroy() {
|
|
66
|
-
this.authenticate$$.unsubscribe();
|
|
67
|
-
}
|
|
68
|
-
deletePoi(poi) {
|
|
69
|
-
if (poi && poi.id) {
|
|
70
|
-
const translate = this.languageService.translate;
|
|
71
|
-
this.confirmDialogService
|
|
72
|
-
.open(translate.instant('igo.context.poiButton.dialog.confirmDelete'))
|
|
73
|
-
.subscribe(confirm => {
|
|
74
|
-
if (confirm) {
|
|
75
|
-
this.poiService.delete(poi.id).subscribe(() => {
|
|
76
|
-
const title = translate.instant('igo.context.poiButton.dialog.deleteTitle');
|
|
77
|
-
const message = translate.instant('igo.context.poiButton.dialog.deleteMsg', {
|
|
78
|
-
value: poi.title
|
|
79
|
-
});
|
|
80
|
-
this.messageService.info(message, title);
|
|
81
|
-
this.pois = this.pois.filter(p => p.id !== poi.id);
|
|
82
|
-
}, err => {
|
|
83
|
-
err.error.title = 'DELETE Pois';
|
|
84
|
-
this.messageService.showError(err);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
getPois() {
|
|
91
|
-
this.poiService.get().pipe(take(1)).subscribe(rep => {
|
|
92
|
-
this.pois = rep;
|
|
93
|
-
}, err => {
|
|
94
|
-
err.error.title = 'GET Pois';
|
|
95
|
-
this.messageService.showError(err);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
createPoi() {
|
|
99
|
-
const view = this.map.ol.getView();
|
|
100
|
-
const proj = view.getProjection().getCode();
|
|
101
|
-
const center = new olPoint(view.getCenter()).transform(proj, 'EPSG:4326');
|
|
102
|
-
const poi = {
|
|
103
|
-
title: '',
|
|
104
|
-
x: center.getCoordinates()[0],
|
|
105
|
-
y: center.getCoordinates()[1],
|
|
106
|
-
zoom: view.getZoom()
|
|
107
|
-
};
|
|
108
|
-
this.dialog
|
|
109
|
-
.open(PoiDialogComponent, { disableClose: false })
|
|
110
|
-
.afterClosed()
|
|
111
|
-
.subscribe(title => {
|
|
112
|
-
if (title) {
|
|
113
|
-
poi.title = title;
|
|
114
|
-
this.poiService.create(poi).subscribe(newPoi => {
|
|
115
|
-
const translate = this.languageService.translate;
|
|
116
|
-
const titleD = translate.instant('igo.context.poiButton.dialog.createTitle');
|
|
117
|
-
const message = translate.instant('igo.context.poiButton.dialog.createMsg', {
|
|
118
|
-
value: poi.title
|
|
119
|
-
});
|
|
120
|
-
this.messageService.success(message, titleD);
|
|
121
|
-
poi.id = newPoi.id;
|
|
122
|
-
this.pois.push(poi);
|
|
123
|
-
}, err => {
|
|
124
|
-
err.error.title = 'POST Pois';
|
|
125
|
-
this.messageService.showError(err);
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
zoomOnPoi(id) {
|
|
131
|
-
const poi = this.pois.find(p => p.id === id);
|
|
132
|
-
const center = olproj.fromLonLat([Number(poi.x), Number(poi.y)], this.map.projection);
|
|
133
|
-
this.map.ol.getView().animate({
|
|
134
|
-
center,
|
|
135
|
-
zoom: poi.zoom,
|
|
136
|
-
duration: 500,
|
|
137
|
-
easing: oleasing.easeOut
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
PoiButtonComponent.ɵfac = function PoiButtonComponent_Factory(t) { return new (t || PoiButtonComponent)(i0.ɵɵdirectiveInject(i1.MatDialog), i0.ɵɵdirectiveInject(i2.AuthService), i0.ɵɵdirectiveInject(i3.PoiService), i0.ɵɵdirectiveInject(i4.MessageService), i0.ɵɵdirectiveInject(i4.LanguageService), i0.ɵɵdirectiveInject(i5.ConfirmDialogService)); };
|
|
142
|
-
PoiButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoiButtonComponent, selectors: [["igo-poi-button"]], inputs: { map: "map", color: "color" }, decls: 9, vars: 7, consts: [["floatPlaceholder", "never", 3, "placeholder"], [3, "click"], [1, "titlePoi"], ["igoStopPropagation", "", "mat-icon-button", "", "color", "primary", 1, "addPoi", "buttonPoi", 3, "click"], ["svgIcon", "plus-circle"], [3, "value", "click", 4, "ngFor", "ngForOf"], [3, "value", "click"], ["igoStopPropagation", "", "mat-icon-button", "", "color", "warn", 1, "deletePoi", "buttonPoi", 3, "click"], ["svgIcon", "delete"]], template: function PoiButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
143
|
-
i0.ɵɵelementStart(0, "mat-select", 0);
|
|
144
|
-
i0.ɵɵpipe(1, "translate");
|
|
145
|
-
i0.ɵɵelementStart(2, "mat-option", 1);
|
|
146
|
-
i0.ɵɵlistener("click", function PoiButtonComponent_Template_mat_option_click_2_listener() { return ctx.createPoi(); });
|
|
147
|
-
i0.ɵɵelementStart(3, "div", 2);
|
|
148
|
-
i0.ɵɵtext(4);
|
|
149
|
-
i0.ɵɵpipe(5, "translate");
|
|
150
|
-
i0.ɵɵelementEnd();
|
|
151
|
-
i0.ɵɵelementStart(6, "button", 3);
|
|
152
|
-
i0.ɵɵlistener("click", function PoiButtonComponent_Template_button_click_6_listener() { return ctx.createPoi(); });
|
|
153
|
-
i0.ɵɵelement(7, "mat-icon", 4);
|
|
154
|
-
i0.ɵɵelementEnd();
|
|
155
|
-
i0.ɵɵelementEnd();
|
|
156
|
-
i0.ɵɵtemplate(8, PoiButtonComponent_mat_option_8_Template, 5, 2, "mat-option", 5);
|
|
157
|
-
i0.ɵɵelementEnd();
|
|
158
|
-
} if (rf & 2) {
|
|
159
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(1, 3, "igo.context.poiButton.placeholder"));
|
|
160
|
-
i0.ɵɵadvance(4);
|
|
161
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 5, "igo.context.poiButton.create"));
|
|
162
|
-
i0.ɵɵadvance(4);
|
|
163
|
-
i0.ɵɵproperty("ngForOf", ctx.pois);
|
|
164
|
-
} }, directives: [i6.MatSelect, i7.MatOption, i8.MatButton, i5.StopPropagationDirective, i9.MatIcon, i10.NgForOf], pipes: [i11.TranslatePipe], styles: ["mat-select[_ngcontent-%COMP%]{width:150px;background-color:#fff;height:40px;padding-top:0}mat-select[_ngcontent-%COMP%] .mat-select-trigger{height:40px}mat-select[_ngcontent-%COMP%] .mat-select-value-text, mat-select[_ngcontent-%COMP%] .mat-select-placeholder{padding:5px;top:12px;position:relative}.mat-option[_ngcontent-%COMP%]{text-overflow:inherit}.titlePoi[_ngcontent-%COMP%]{max-width:135px;overflow:hidden;text-overflow:ellipsis;float:left}.buttonPoi[_ngcontent-%COMP%]{float:right;margin:4px -10px 4px 0}.buttonPoi[_ngcontent-%COMP%] .mat-icon{margin:0 8px}"] });
|
|
165
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoiButtonComponent, [{
|
|
166
|
-
type: Component,
|
|
167
|
-
args: [{
|
|
168
|
-
selector: 'igo-poi-button',
|
|
169
|
-
templateUrl: './poi-button.component.html',
|
|
170
|
-
styleUrls: ['./poi-button.component.scss']
|
|
171
|
-
}]
|
|
172
|
-
}], function () { return [{ type: i1.MatDialog }, { type: i2.AuthService }, { type: i3.PoiService }, { type: i4.MessageService }, { type: i4.LanguageService }, { type: i5.ConfirmDialogService }]; }, { map: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], color: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}] }); })();
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL3BvaS1idXR0b24vcG9pLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL3BvaS1idXR0b24vcG9pLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sT0FBTyxNQUFNLGVBQWUsQ0FBQztBQVNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDSjFELHFDQUFrRjtJQUE1QixtUUFBMkI7SUFDL0UsOEJBQXNCO0lBQUEsWUFBZTtJQUFBLGlCQUFNO0lBQzNDLGlDQUcyQjtJQUF6Qiw0UEFBd0I7SUFDeEIsOEJBQXNDO0lBQ3hDLGlCQUFTO0lBQ1gsaUJBQWE7OztJQVJ3QixpQ0FBZ0I7SUFDN0IsZUFBZTtJQUFmLGtDQUFlOztBRFV6QyxNQUFNLE9BQU8sa0JBQWtCO0lBc0I3QixZQUNVLE1BQWlCLEVBQ2pCLFdBQXdCLEVBQ3hCLFVBQXNCLEVBQ3RCLGNBQThCLEVBQzlCLGVBQWdDLEVBQ2hDLG9CQUEwQztRQUwxQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIs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dEIsK0ZBQVMsZUFBVyxJQUFDO1FBQ3JCLDhCQUEyQztRQUM3QyxpQkFBUztRQUNYLGlCQUFhO1FBQ2IsaUZBUWE7UUFDZixpQkFBYTs7UUFyQkQsdUZBQStEO1FBSWpELGVBQWdEO1FBQWhELDBFQUFnRDtRQVE1QyxlQUFPO1FBQVAsa0NBQU87O3VGRFd4QixrQkFBa0I7Y0FMOUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFdBQVcsRUFBRSw2QkFBNkI7Z0JBQzFDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2FBQzNDOzZNQUdLLEdBQUc7a0JBRE4sS0FBSztZQVVGLEtBQUs7a0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xyXG5pbXBvcnQgKiBhcyBvbGVhc2luZyBmcm9tICdvbC9lYXNpbmcnO1xyXG5pbXBvcnQgb2xQb2ludCBmcm9tICdvbC9nZW9tL1BvaW50JztcclxuXHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BpZ28yL2F1dGgnO1xyXG5pbXBvcnQgdHlwZSB7IElnb01hcCB9IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBQb2lTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvcG9pLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb2kgfSBmcm9tICcuL3NoYXJlZC9wb2kuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUG9pRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9wb2ktZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1wb2ktYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcG9pLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcG9pLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb2lCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWFwO1xyXG4gIH1cclxuICBzZXQgbWFwKHZhbHVlOiBJZ29NYXApIHtcclxuICAgIHRoaXMuX21hcCA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9tYXA6IElnb01hcDtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgY29sb3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcclxuICB9XHJcbiAgc2V0IGNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbG9yOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBwb2lzOiBQb2lbXTtcclxuICBwcml2YXRlIGF1dGhlbnRpY2F0ZSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwb2lTZXJ2aWNlOiBQb2lTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtRGlhbG9nU2VydmljZTogQ29uZmlybURpYWxvZ1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hdXRoZW50aWNhdGUkJCA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aGVudGljYXRlJC5zdWJzY3JpYmUoYXV0aCA9PiB7XHJcbiAgICAgIGlmIChhdXRoKSB7XHJcbiAgICAgICAgdGhpcy5nZXRQb2lzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVQb2kocG9pOiBQb2kpIHtcclxuICAgIGlmIChwb2kgJiYgcG9pLmlkKSB7XHJcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICAgICAgdGhpcy5jb25maXJtRGlhbG9nU2VydmljZVxyXG4gICAgICAgIC5vcGVuKHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uY29udGV4dC5wb2lCdXR0b24uZGlhbG9nLmNvbmZpcm1EZWxldGUnKSlcclxuICAgICAgICAuc3Vic2NyaWJlKGNvbmZpcm0gPT4ge1xyXG4gICAgICAgICAgaWYgKGNvbmZpcm0pIHtcclxuICAgICAgICAgICAgdGhpcy5wb2lTZXJ2aWNlLmRlbGV0ZShwb2kuaWQpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9IHRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgICAnaWdvLmNvbnRleHQucG9pQnV0dG9uLmRpYWxvZy5kZWxldGVUaXRsZSdcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICAgICAgICdpZ28uY29udGV4dC5wb2lCdXR0b24uZGlhbG9nLmRlbGV0ZU1zZycsXHJcbiAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcG9pLnRpdGxlXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8obWVzc2FnZSwgdGl0bGUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb2lzID0gdGhpcy5wb2lzLmZpbHRlcihwID0+IHAuaWQgIT09IHBvaS5pZCk7XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgZXJyLmVycm9yLnRpdGxlID0gJ0RFTEVURSBQb2lzJztcclxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc2hvd0Vycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQb2lzKCkge1xyXG4gICAgdGhpcy5wb2lTZXJ2aWNlLmdldCgpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxyXG4gICAgICByZXAgPT4ge1xyXG4gICAgICAgIHRoaXMucG9pcyA9IHJlcDtcclxuICAgICAgfSxcclxuICAgICAgZXJyID0+IHtcclxuICAgICAgICBlcnIuZXJyb3IudGl0bGUgPSAnR0VUIFBvaXMnO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc2hvd0Vycm9yKGVycik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVQb2koKSB7XHJcbiAgICBjb25zdCB2aWV3ID0gdGhpcy5tYXAub2wuZ2V0VmlldygpO1xyXG4gICAgY29uc3QgcHJvaiA9IHZpZXcuZ2V0UHJvamVjdGlvbigpLmdldENvZGUoKTtcclxuICAgIGNvbnN0IGNlbnRlcjogYW55ID0gbmV3IG9sUG9pbnQodmlldy5nZXRDZW50ZXIoKSkudHJhbnNmb3JtKFxyXG4gICAgICBwcm9qLFxyXG4gICAgICAnRVBTRzo0MzI2J1xyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBwb2k6IFBvaSA9IHtcclxuICAgICAgdGl0bGU6ICcnLFxyXG4gICAgICB4OiBjZW50ZXIuZ2V0Q29vcmRpbmF0ZXMoKVswXSxcclxuICAgICAgeTogY2VudGVyLmdldENvb3JkaW5hdGVzKClbMV0sXHJcbiAgICAgIHpvb206IHZpZXcuZ2V0Wm9vbSgpXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuZGlhbG9nXHJcbiAgICAgIC5vcGVuKFBvaURpYWxvZ0NvbXBvbmVudCwgeyBkaXNhYmxlQ2xvc2U6IGZhbHNlIH0pXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5zdWJzY3JpYmUodGl0bGUgPT4ge1xyXG4gICAgICAgIGlmICh0aXRsZSkge1xyXG4gICAgICAgICAgcG9pLnRpdGxlID0gdGl0bGU7XHJcbiAgICAgICAgICB0aGlzLnBvaVNlcnZpY2UuY3JlYXRlKHBvaSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICBuZXdQb2kgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICAgICAgICAgICAgICBjb25zdCB0aXRsZUQgPSB0cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAgICdpZ28uY29udGV4dC5wb2lCdXR0b24uZGlhbG9nLmNyZWF0ZVRpdGxlJ1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgJ2lnby5jb250ZXh0LnBvaUJ1dHRvbi5kaWFsb2cuY3JlYXRlTXNnJyxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IHBvaS50aXRsZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKG1lc3NhZ2UsIHRpdGxlRCk7XHJcbiAgICAgICAgICAgICAgcG9pLmlkID0gbmV3UG9pLmlkO1xyXG4gICAgICAgICAgICAgIHRoaXMucG9pcy5wdXNoKHBvaSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgZXJyLmVycm9yLnRpdGxlID0gJ1BPU1QgUG9pcyc7XHJcbiAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zaG93RXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgem9vbU9uUG9pKGlkKSB7XHJcbiAgICBjb25zdCBwb2kgPSB0aGlzLnBvaXMuZmluZChwID0+IHAuaWQgPT09IGlkKTtcclxuXHJcbiAgICBjb25zdCBjZW50ZXIgPSBvbHByb2ouZnJvbUxvbkxhdChcclxuICAgICAgW051bWJlcihwb2kueCksIE51bWJlcihwb2kueSldLFxyXG4gICAgICB0aGlzLm1hcC5wcm9qZWN0aW9uXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMubWFwLm9sLmdldFZpZXcoKS5hbmltYXRlKHtcclxuICAgICAgY2VudGVyLFxyXG4gICAgICB6b29tOiBwb2kuem9vbSxcclxuICAgICAgZHVyYXRpb246IDUwMCxcclxuICAgICAgZWFzaW5nOiBvbGVhc2luZy5lYXNlT3V0XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cIidpZ28uY29udGV4dC5wb2lCdXR0b24ucGxhY2Vob2xkZXInIHzCoHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgZmxvYXRQbGFjZWhvbGRlcj1cIm5ldmVyXCI+XHJcblxyXG4gIDxtYXQtb3B0aW9uIChjbGljayk9XCJjcmVhdGVQb2koKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRpdGxlUG9pXCI+e3sgJ2lnby5jb250ZXh0LnBvaUJ1dHRvbi5jcmVhdGUnIHzCoHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgPGJ1dHRvbiBpZ29TdG9wUHJvcGFnYXRpb24gY2xhc3M9XCJhZGRQb2kgYnV0dG9uUG9pXCJcclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIChjbGljayk9XCJjcmVhdGVQb2koKVwiPlxyXG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInBsdXMtY2lyY2xlXCI+PC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbWF0LW9wdGlvbj5cclxuICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgcG9pIG9mIHBvaXNcIiBbdmFsdWVdPVwicG9pLmlkXCIgKGNsaWNrKT1cInpvb21PblBvaShwb2kuaWQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVQb2lcIj57eyBwb2kudGl0bGUgfX08L2Rpdj5cclxuICAgIDxidXR0b24gaWdvU3RvcFByb3BhZ2F0aW9uIGNsYXNzPVwiZGVsZXRlUG9pIGJ1dHRvblBvaVwiXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBjb2xvcj1cIndhcm5cIlxyXG4gICAgICAoY2xpY2spPVwiZGVsZXRlUG9pKHBvaSlcIj5cclxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJkZWxldGVcIj48L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9tYXQtb3B0aW9uPlxyXG48L21hdC1zZWxlY3Q+XHJcbiJdfQ==
|