@igo2/context 1.12.1 → 1.13.0-alpha.0
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} +1 -1
- package/{esm2015/lib/context-import-export/shared/context-export.errors.js → esm2020/lib/context-import-export/shared/context-export.errors.mjs} +1 -1
- package/{esm2015/lib/context-import-export/shared/context-export.interface.js → esm2020/lib/context-import-export/shared/context-export.interface.mjs} +1 -1
- package/{esm2015/lib/context-import-export/shared/context-export.service.js → esm2020/lib/context-import-export/shared/context-export.service.mjs} +1 -1
- package/{esm2015/lib/context-import-export/shared/context-export.utils.js → esm2020/lib/context-import-export/shared/context-export.utils.mjs} +1 -1
- package/{esm2015/lib/context-import-export/shared/context-import.errors.js → esm2020/lib/context-import-export/shared/context-import.errors.mjs} +1 -1
- package/{esm2015/lib/context-import-export/shared/context-import.service.js → esm2020/lib/context-import-export/shared/context-import.service.mjs} +1 -1
- package/{esm2015/lib/context-import-export/shared/context-import.utils.js → esm2020/lib/context-import-export/shared/context-import.utils.mjs} +1 -1
- package/{esm2015/lib/context-import-export/shared/index.js → esm2020/lib/context-import-export/shared/index.mjs} +1 -1
- package/{esm2015/lib/context-manager/context-edit/context-edit-binding.directive.js → esm2020/lib/context-manager/context-edit/context-edit-binding.directive.mjs} +1 -1
- 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} +1 -1
- package/esm2020/lib/context-manager/context-form/context-form.component.mjs +147 -0
- package/{esm2015/lib/context-manager/context-form/index.js → esm2020/lib/context-manager/context-form/index.mjs} +1 -1
- 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} +1 -1
- package/{esm2015/lib/context-manager/context-list/context-list-binding.directive.js → esm2020/lib/context-manager/context-list/context-list-binding.directive.mjs} +1 -1
- 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} +1 -1
- package/{esm2015/lib/context-manager/context-list/index.js → esm2020/lib/context-manager/context-list/index.mjs} +1 -1
- 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} +1 -1
- 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} +1 -1
- package/{esm2015/lib/context-manager/index.js → esm2020/lib/context-manager/index.mjs} +1 -1
- package/{esm2015/lib/context-manager/shared/context.enum.js → esm2020/lib/context-manager/shared/context.enum.mjs} +1 -1
- package/esm2020/lib/context-manager/shared/context.interface.mjs +2 -0
- package/{esm2015/lib/context-manager/shared/context.service.js → esm2020/lib/context-manager/shared/context.service.mjs} +1 -1
- package/{esm2015/lib/context-manager/shared/index.js → esm2020/lib/context-manager/shared/index.mjs} +1 -1
- package/{esm2015/lib/context-manager/shared/layer-context.directive.js → esm2020/lib/context-manager/shared/layer-context.directive.mjs} +1 -1
- package/{esm2015/lib/context-manager/shared/map-context.directive.js → esm2020/lib/context-manager/shared/map-context.directive.mjs} +1 -1
- 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} +1 -1
- 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} +1 -1
- package/{esm2015/lib/context-map-button/poi-button/index.js → esm2020/lib/context-map-button/poi-button/index.mjs} +1 -1
- 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} +1 -1
- package/{esm2015/lib/context-map-button/poi-button/shared/poi.interface.js → esm2020/lib/context-map-button/poi-button/shared/poi.interface.mjs} +1 -1
- package/{esm2015/lib/context-map-button/poi-button/shared/poi.service.js → esm2020/lib/context-map-button/poi-button/shared/poi.service.mjs} +1 -1
- package/{esm2015/lib/context-map-button/user-button/index.js → esm2020/lib/context-map-button/user-button/index.mjs} +1 -1
- package/{esm2015/lib/context-map-button/user-button/user-button.animation.js → esm2020/lib/context-map-button/user-button/user-button.animation.mjs} +1 -1
- 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} +1 -1
- package/esm2020/lib/share-map/share-map/share-map-api.component.mjs +181 -0
- 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} +1 -1
- package/esm2020/lib/share-map/shared/share-map.service.mjs +201 -0
- package/{esm2015/lib/sidenav/index.js → esm2020/lib/sidenav/index.mjs} +1 -1
- 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} +1 -1
- package/fesm2015/igo2-context.mjs +5143 -0
- package/fesm2015/igo2-context.mjs.map +1 -0
- package/{fesm2015/igo2-context.js → fesm2020/igo2-context.mjs} +426 -595
- 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 +4 -4
- 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 +4 -4
- 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 +5 -5
- 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 +4 -4
- 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/ngcc.config.js +3 -3
- 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-form/context-form.component.js +0 -156
- 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-manager/shared/context.interface.js +0 -2
- 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-api.component.js +0 -194
- 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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LENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDakMsTUFBTSxFQUFFLEVBQUU7WUFDVixjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDakIsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2xCLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjO1NBQy9DLENBQUMsQ0FBQztJQUNMLENBQUM7O3NHQTlGVSwyQkFBMkI7OEVBQTNCLDJCQUEyQjtRQ3RCeEMsNEVBOEZNOztRQTlGQSxrQ0FBYTs7dUZEc0JOLDJCQUEyQjtjQUx2QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsV0FBVyxFQUFFLHNDQUFzQztnQkFDbkQsU0FBUyxFQUFFLENBQUMsc0NBQXNDLENBQUM7YUFDcEQ7NktBS0ssT0FBTztrQkFEVixLQUFLO1lBV0YsV0FBVztrQkFEZCxLQUFLO1lBNEJJLGFBQWE7a0JBQXRCLE1BQU07WUFDRyxnQkFBZ0I7a0JBQXpCLE1BQU07WUFDRyxZQUFZO2tCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBDb250ZXh0LFxuICBDb250ZXh0UGVybWlzc2lvbixcbiAgQ29udGV4dFBlcm1pc3Npb25zTGlzdCxcbiAgQ29udGV4dFByb2ZpbHNcbn0gZnJvbSAnLi4vc2hhcmVkL2NvbnRleHQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFR5cGVQZXJtaXNzaW9uIH0gZnJvbSAnLi4vc2hhcmVkL2NvbnRleHQuZW51bSc7XG5cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaWdvMi9hdXRoJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWNvbnRleHQtcGVybWlzc2lvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1wZXJtaXNzaW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRleHQtcGVybWlzc2lvbnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0UGVybWlzc2lvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjb250ZXh0KCk6IENvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9jb250ZXh0O1xuICB9XG4gIHNldCBjb250ZXh0KHZhbHVlOiBDb250ZXh0KSB7XG4gICAgdGhpcy5fY29udGV4dCA9IHZhbHVlO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHByaXZhdGUgX2NvbnRleHQ6IENvbnRleHQ7XG5cbiAgQElucHV0KClcbiAgZ2V0IHBlcm1pc3Npb25zKCk6IENvbnRleHRQZXJtaXNzaW9uc0xpc3Qge1xuICAgIHJldHVybiB0aGlzLl9wZXJtaXNzaW9ucztcbiAgfVxuICBzZXQgcGVybWlzc2lvbnModmFsdWU6IENvbnRleHRQZXJtaXNzaW9uc0xpc3QpIHtcbiAgICB0aGlzLl9wZXJtaXNzaW9ucyA9IHZhbHVlO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHByaXZhdGUgX3Blcm1pc3Npb25zOiBDb250ZXh0UGVybWlzc2lvbnNMaXN0O1xuXG4gIGdldCBwcm9maWxzKCk6IENvbnRleHRQcm9maWxzW10ge1xuICAgIHJldHVybiB0aGlzLl9wcm9maWxzO1xuICB9XG4gIHNldCBwcm9maWxzKHZhbHVlOiBDb250ZXh0UHJvZmlsc1tdKSB7XG4gICAgdGhpcy5fcHJvZmlscyA9IHZhbHVlO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHByaXZhdGUgX3Byb2ZpbHM6IENvbnRleHRQcm9maWxzW10gPSBbXTtcblxuICBnZXQgY2FuV3JpdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5wZXJtaXNzaW9uID09PSBUeXBlUGVybWlzc2lvbltUeXBlUGVybWlzc2lvbi53cml0ZV07XG4gIH1cblxuICBwcml2YXRlIGJhc2VVcmxQcm9maWxzO1xuXG4gIHB1YmxpYyBmb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBmb3JtVmFsdWVDaGFuZ2VzJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBAT3V0cHV0KCkgYWRkUGVybWlzc2lvbjogRXZlbnRFbWl0dGVyPENvbnRleHRQZXJtaXNzaW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlbW92ZVBlcm1pc3Npb246IEV2ZW50RW1pdHRlcjxDb250ZXh0UGVybWlzc2lvbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzY29wZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDb250ZXh0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcblxuICAgIHRoaXMuYmFzZVVybFByb2ZpbHMgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2NvbnRleHQudXJsJykgKyAnL3Byb2ZpbHMtdXNlcnM/JztcblxuICAgIHRoaXMuZm9ybVZhbHVlQ2hhbmdlcyQkID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmh0dHAuZ2V0KHRoaXMuYmFzZVVybFByb2ZpbHMgKyAncT0nICsgdmFsdWUpLnN1YnNjcmliZShwcm9maWxzID0+IHtcbiAgICAgICAgICB0aGlzLnByb2ZpbHMgPSBwcm9maWxzIGFzIENvbnRleHRQcm9maWxzW107XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnByb2ZpbHMuZmlsdGVyKChwcm9maWwpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJOb3JtYWxpemVkID0gdmFsdWUudG9Mb3dlckNhc2UoKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcbiAgICAgICAgICBjb25zdCBwcm9maWxUaXRsZU5vcm1hbGl6ZWQgPSBwcm9maWwudGl0bGUudG9Mb3dlckNhc2UoKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcbiAgICAgICAgICBjb25zdCBwcm9maWxOYW1lTm9ybWFsaXplZCA9IHByb2ZpbC5uYW1lLnRvTG93ZXJDYXNlKCkubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XG4gICAgICAgICAgY29uc3QgcHJvZmlsTm9ybWFsaXplZCA9IHByb2ZpbE5hbWVOb3JtYWxpemVkICsgcHJvZmlsVGl0bGVOb3JtYWxpemVkO1xuICAgICAgICAgIHJldHVybiBwcm9maWxOb3JtYWxpemVkLmluY2x1ZGVzKGZpbHRlck5vcm1hbGl6ZWQpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJvZmlscyA9IFtdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZGlzcGxheUZuKHByb2ZpbD86IENvbnRleHRQcm9maWxzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gcHJvZmlsID8gcHJvZmlsLnRpdGxlIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUZvcm1TdWJtaXQodmFsdWUpIHtcbiAgICB0aGlzLmFkZFBlcm1pc3Npb24uZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHByb2ZpbDogW10sXG4gICAgICB0eXBlUGVybWlzc2lvbjogWydyZWFkJ11cbiAgICB9KTtcbiAgfVxuXG4gIG9uUHJvZmlsU2VsZWN0ZWQodmFsdWUpIHtcbiAgICB0aGlzLmZvcm0uc2V0VmFsdWUoe1xuICAgICAgcHJvZmlsOiB2YWx1ZS5uYW1lLFxuICAgICAgdHlwZVBlcm1pc3Npb246IHRoaXMuZm9ybS52YWx1ZS50eXBlUGVybWlzc2lvblxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiY29udGV4dFwiPlxuXG4gIDxkaXYgKm5nSWY9XCIhY2FuV3JpdGVcIiBjbGFzcz1cInNjb3BlRm9ybVwiPlxuICAgIDxoND57eyAnaWdvLmNvbnRleHQucGVybWlzc2lvbi5yZWFkT25seVRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XG4gICAgPHA+e3sgJ2lnby5jb250ZXh0LnBlcm1pc3Npb24ucmVhZE9ubHlNc2cnIHwgdHJhbnNsYXRlIH19PC9wPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiY2FuV3JpdGVcIiBjbGFzcz1cInNjb3BlRm9ybVwiPlxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgWyhuZ01vZGVsKV09XCJjb250ZXh0LnNjb3BlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzY29wZUNoYW5nZWQuZW1pdChjb250ZXh0KVwiPlxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJwcml2YXRlXCI+XG4gICAgICAgIHt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLnNjb3BlLnByaXZhdGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cInByb3RlY3RlZFwiPlxuICAgICAgICB7eyAnaWdvLmNvbnRleHQucGVybWlzc2lvbi5zY29wZS5zaGFyZWQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvbiAqbmdJZj1cImF1dGhTZXJ2aWNlLmlzQWRtaW5cIiB2YWx1ZT1cInB1YmxpY1wiPlxuICAgICAgICB7eyAnaWdvLmNvbnRleHQucGVybWlzc2lvbi5zY29wZS5wdWJsaWMnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gIDwvZGl2PlxuXG4gIDxmb3JtICpuZ0lmPVwiY29udGV4dC5zY29wZSAhPT0gJ3ByaXZhdGUnICYmIGNhbldyaXRlXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAobmdTdWJtaXQpPVwiaGFuZGxlRm9ybVN1Ym1pdChmb3JtLnZhbHVlKVwiPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxuICAgICAgPGlucHV0IG1hdElucHV0IHJlcXVpcmVkXG4gICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidpZ28uY29udGV4dC5wZXJtaXNzaW9uLnVzZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiPlxuICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwib25Qcm9maWxTZWxlY3RlZCgkZXZlbnQub3B0aW9uLnZhbHVlKVwiXG4gICAgICAgIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgcHJvZmlsIG9mIHRoaXMucHJvZmlsc1wiIFt2YWx1ZV09XCJwcm9maWxcIj5cbiAgICAgICAgICAgICAge3twcm9maWwudGl0bGV9fTxicj5cbiAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj57e3Byb2ZpbC5uYW1lfX08L3NtYWxsPlxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgPG1hdC1lcnJvcj5cbiAgICAgICB7eyAnaWdvLmNvbnRleHQucGVybWlzc2lvbi5wcm9maWxSZXF1aXJlZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuXG4gICAgPG1hdC1yYWRpby1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlUGVybWlzc2lvblwiPlxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJyZWFkXCI+XG4gICAgICAgIHt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLnJlYWQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cIndyaXRlXCI+XG4gICAgICAgIHt7ICdpZ28uY29udGV4dC5wZXJtaXNzaW9uLndyaXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuXG5cbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIj5cbiAgICAgICAge3sgJ2lnby5jb250ZXh0LnBlcm1pc3Npb24uYWRkQnRuJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgPC9mb3JtPlxuXG4gIDxpZ28tbGlzdCAqbmdJZj1cInBlcm1pc3Npb25zICYmIGNvbnRleHQuc2NvcGUgIT09ICdwcml2YXRlJ1wiPlxuICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtZ3JvdXBQZXJtaXNzaW9ucyBbbmdGb3JPZl09XCJwZXJtaXNzaW9ucyB8IGtleXZhbHVlXCI+XG4gICAgICA8aWdvLWNvbGxhcHNpYmxlXG4gICAgICAgICpuZ0lmPVwiZ3JvdXBQZXJtaXNzaW9ucy52YWx1ZS5sZW5ndGhcIlxuICAgICAgICBbdGl0bGVdPVwiJ2lnby5jb250ZXh0LnBlcm1pc3Npb24uJyArIGdyb3VwUGVybWlzc2lvbnMua2V5IHwgdHJhbnNsYXRlXCI+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1wZXJtaXNzaW9uIFtuZ0Zvck9mXT1cImdyb3VwUGVybWlzc2lvbnMudmFsdWVcIj5cbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXQtbGlzdC1hdmF0YXIgc3ZnSWNvbj1cImFjY291bnQtb3V0bGluZVwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8aDQgbWF0LWxpbmU+e3twZXJtaXNzaW9uLnByb2ZpbFRpdGxlfX0gPHNtYWxsIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj57e3Blcm1pc3Npb24ucHJvZmlsfX08L3NtYWxsPjwvaDQ+XG5cbiAgICAgICAgICAgIDxkaXYgaWdvU3RvcFByb3BhZ2F0aW9uXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiaWdvLWFjdGlvbnMtY29udGFpbmVyXCI+XG5cbiAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJjYW5Xcml0ZSB8fCBwZXJtaXNzaW9uLnByb2ZpbCA9PT0gYXV0aFNlcnZpY2UuZGVjb2RlVG9rZW4oKS51c2VyLnNvdXJjZUlkXCJcbiAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uY29udGV4dC5wZXJtaXNzaW9uLmRlbGV0ZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgICAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVBlcm1pc3Npb24uZW1pdChwZXJtaXNzaW9uKVwiPlxuICAgICAgICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImRlbGV0ZVwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9pZ28tY29sbGFwc2libGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9pZ28tbGlzdD5cblxuPC9kaXY+XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9jb250ZXh0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgVG9vbCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQgeyBNYXBWaWV3T3B0aW9ucywgTGF5ZXJPcHRpb25zLCBNYXBTY2FsZUxpbmVPcHRpb25zLCBNYXBBdHRyaWJ1dGlvbk9wdGlvbnMsIE1hcEV4dGVudCB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IFR5cGVQZXJtaXNzaW9uIH0gZnJvbSAnLi9jb250ZXh0LmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHQge1xuICBpZD86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHVyaT86IHN0cmluZztcbiAgc2NvcGU/OiBzdHJpbmc7IC8vIFNjb3BlOiAncHVibGljJyB8ICdwcm90ZWN0ZWQnIHwgJ3ByaXZhdGUnO1xuICBwZXJtaXNzaW9uPzogc3RyaW5nOyAvLyBUeXBlUGVybWlzc2lvbjogJ3JlYWQnIHwgJ3dyaXRlJ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgaWNvbkltYWdlPzogc3RyaW5nO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBpbXBvcnRlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dHNMaXN0IHtcbiAgb3VyczogQ29udGV4dFtdO1xuICBzaGFyZWQ/OiBDb250ZXh0W107XG4gIHB1YmxpYz86IENvbnRleHRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXRhaWxlZENvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgYmFzZT86IHN0cmluZztcbiAgbWFwPzogQ29udGV4dE1hcDtcbiAgbGF5ZXJzPzogTGF5ZXJPcHRpb25zW107XG4gIHRvb2xzPzogVG9vbFtdO1xuICB0b29sYmFyPzogc3RyaW5nW107XG4gIG1lc3NhZ2U/OiBNZXNzYWdlO1xuICBtZXNzYWdlcz86IE1lc3NhZ2VbXTtcbiAgcmVtb3ZlTGF5ZXJzT25Db250ZXh0Q2hhbmdlPzogYm9vbGVhbjtcbiAgZXh0cmFGZWF0dXJlcz86IGFueVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRNYXBWaWV3IGV4dGVuZHMgTWFwVmlld09wdGlvbnMge1xuICBrZWVwQ3VycmVudFZpZXc/OiBib29sZWFuO1xuICBob21lRXh0ZW50PzogQ29udGV4dEhvbWVFeHRlbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0SG9tZUV4dGVudCB7XG4gIGV4dGVudD86IE1hcEV4dGVudFxuICBjZW50ZXI/OiBbbnVtYmVyLCBudW1iZXJdO1xuICB6b29tPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRNYXAge1xuICB2aWV3OiBDb250ZXh0TWFwVmlldztcbiAgY29udHJvbHM/OiB7XG4gICAgc2NhbGVMaW5lPzogYm9vbGVhbiB8IE1hcFNjYWxlTGluZU9wdGlvbnM7XG4gICAgYXR0cmlidXRpb24/OiBib29sZWFuIHwgTWFwQXR0cmlidXRpb25PcHRpb25zO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRTZXJ2aWNlT3B0aW9ucyB7XG4gIHVybD86IHN0cmluZztcbiAgYmFzZVBhdGg/OiBzdHJpbmc7XG4gIGNvbnRleHRMaXN0RmlsZT86IHN0cmluZztcbiAgZGVmYXVsdENvbnRleHRVcmk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dFBlcm1pc3Npb24ge1xuICBpZD86IHN0cmluZztcbiAgY29udGV4dElkPzogc3RyaW5nO1xuICBwcm9maWw6IHN0cmluZztcbiAgcHJvZmlsVGl0bGU/OiBzdHJpbmc7XG4gIHR5cGVQZXJtaXNzaW9uOiBUeXBlUGVybWlzc2lvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0UGVybWlzc2lvbnNMaXN0IHtcbiAgcmVhZDogQ29udGV4dFBlcm1pc3Npb25bXTtcbiAgd3JpdGU6IENvbnRleHRQZXJtaXNzaW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dFVzZXJQZXJtaXNzaW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjaGVja2VkOiBib29sZWFuO1xuICBpbmRldGVybWluYXRlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0UHJvZmlscyB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgY2hpbGRzPzogQ29udGV4dFByb2ZpbHNbXTtcbn1cbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmstZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9jb250ZXh0LW1hcC1idXR0b24vYm9va21hcmstYnV0dG9uL2Jvb2ttYXJrLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvY29udGV4dC1tYXAtYnV0dG9uL2Jvb2ttYXJrLWJ1dHRvbi9ib29rbWFyay1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUFtQixTQUFnRDtRQUFoRCxjQUFTLEdBQVQsU0FBUyxDQUF1QztJQUFHLENBQUM7OzhGQUg1RCx1QkFBdUI7MEVBQXZCLHVCQUF1QjtRQ1BwQyw2QkFBNEM7UUFBQSxZQUEyRDs7UUFBQSxpQkFBSztRQUM1Ryw4QkFBK0M7UUFDN0Msc0NBQWdCO1FBQ2QsZ0NBR3NCO1FBQXBCLCtJQUFtQjs7UUFIckIsaUJBR3NCO1FBQ3hCLGlCQUFpQjtRQUNuQixpQkFBTTtRQUNOLDhCQUF3QjtRQUN0QixpQ0FFd0M7UUFBakMsb0dBQVMsOEJBQXNCLElBQUM7UUFDckMsWUFDRjs7UUFBQSxpQkFBUztRQUNULGtDQUN5QztRQUFqQyxxR0FBUyxvQkFBZ0IsS0FBSyxDQUFDLElBQUM7UUFDdEMsYUFDRjs7UUFBQSxpQkFBUztRQUNYLGlCQUFNOztRQW5Cc0MsZUFBMkQ7UUFBM0QscUZBQTJEO1FBS2pHLGVBQTJFO1FBQTNFLG1HQUEyRSxzQkFBQTtRQU14RSxlQUFtQjtRQUFuQixxQ0FBbUI7UUFFeEIsZUFDRjtRQURFLDhGQUNGO1FBR0UsZUFDRjtRQURFLDZGQUNGOzt1RkRYVyx1QkFBdUI7Y0FKbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSxrQ0FBa0M7YUFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1ib29rbWFyay1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm9va21hcmstZGlhbG9nLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCb29rbWFya0RpYWxvZ0NvbXBvbmVudCB7XG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxCb29rbWFya0RpYWxvZ0NvbXBvbmVudD4pIHt9XG59XG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+e3sgJ2lnby5jb250ZXh0LmJvb2ttYXJrQnV0dG9uLmRpYWxvZy50aXRsZScgfMKgdHJhbnNsYXRlIH19PC9oMT5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxpbnB1dCBtYXRJbnB1dCByZXF1aXJlZCBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgbWF4bGVuZ3RoPVwiMTI4XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInaWdvLmNvbnRleHQuYm9va21hcmtCdXR0b24uZGlhbG9nLnBsYWNlaG9sZGVyJyB8wqB0cmFuc2xhdGVcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ0aXRsZVwiPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICBbZGlzYWJsZWRdPVwiIXRpdGxlXCJcbiAgICAgICAgIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UodGl0bGUpXCI+XG4gICAge3snaWdvLmNvbW1vbi5jb25maXJtRGlhbG9nLmNvbmZpcm1CdG4nIHwgdHJhbnNsYXRlfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UoZmFsc2UpXCI+XG4gICAge3snaWdvLmNvbW1vbi5jb25maXJtRGlhbG9nLmNhbmNlbEJ0bicgfMKgdHJhbnNsYXRlfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -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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dEIsK0ZBQVMsZUFBVyxJQUFDO1FBQ3JCLDhCQUEyQztRQUM3QyxpQkFBUztRQUNYLGlCQUFhO1FBQ2IsaUZBUWE7UUFDZixpQkFBYTs7UUFyQkQsdUZBQStEO1FBSWpELGVBQWdEO1FBQWhELDBFQUFnRDtRQVE1QyxlQUFPO1FBQVAsa0NBQU87O3VGRFd4QixrQkFBa0I7Y0FMOUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFdBQVcsRUFBRSw2QkFBNkI7Z0JBQzFDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2FBQzNDOzZNQUdLLEdBQUc7a0JBRE4sS0FBSztZQVVGLEtBQUs7a0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgKiBhcyBvbHByb2ogZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgKiBhcyBvbGVhc2luZyBmcm9tICdvbC9lYXNpbmcnO1xuaW1wb3J0IG9sUG9pbnQgZnJvbSAnb2wvZ2VvbS9Qb2ludCc7XG5cbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgdHlwZSB7IElnb01hcCB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IFBvaVNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9wb2kuc2VydmljZSc7XG5pbXBvcnQgeyBQb2kgfSBmcm9tICcuL3NoYXJlZC9wb2kuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvaURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vcG9pLWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tcG9pLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb2ktYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9pLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBvaUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xuICAgIHJldHVybiB0aGlzLl9tYXA7XG4gIH1cbiAgc2V0IG1hcCh2YWx1ZTogSWdvTWFwKSB7XG4gICAgdGhpcy5fbWFwID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfbWFwOiBJZ29NYXA7XG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICB9XG4gIHNldCBjb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29sb3IgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9jb2xvcjogc3RyaW5nO1xuXG4gIHB1YmxpYyBwb2lzOiBQb2lbXTtcbiAgcHJpdmF0ZSBhdXRoZW50aWNhdGUkJDogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2lTZXJ2aWNlOiBQb2lTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maXJtRGlhbG9nU2VydmljZTogQ29uZmlybURpYWxvZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYXV0aGVudGljYXRlJCQgPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhlbnRpY2F0ZSQuc3Vic2NyaWJlKGF1dGggPT4ge1xuICAgICAgaWYgKGF1dGgpIHtcbiAgICAgICAgdGhpcy5nZXRQb2lzKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZSQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBkZWxldGVQb2kocG9pOiBQb2kpIHtcbiAgICBpZiAocG9pICYmIHBvaS5pZCkge1xuICAgICAgY29uc3QgdHJhbnNsYXRlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xuICAgICAgdGhpcy5jb25maXJtRGlhbG9nU2VydmljZVxuICAgICAgICAub3Blbih0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmNvbnRleHQucG9pQnV0dG9uLmRpYWxvZy5jb25maXJtRGVsZXRlJykpXG4gICAgICAgIC5zdWJzY3JpYmUoY29uZmlybSA9PiB7XG4gICAgICAgICAgaWYgKGNvbmZpcm0pIHtcbiAgICAgICAgICAgIHRoaXMucG9pU2VydmljZS5kZWxldGUocG9pLmlkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9IHRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICAgJ2lnby5jb250ZXh0LnBvaUJ1dHRvbi5kaWFsb2cuZGVsZXRlVGl0bGUnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAnaWdvLmNvbnRleHQucG9pQnV0dG9uLmRpYWxvZy5kZWxldGVNc2cnLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcG9pLnRpdGxlXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8obWVzc2FnZSwgdGl0bGUpO1xuICAgICAgICAgICAgICAgIHRoaXMucG9pcyA9IHRoaXMucG9pcy5maWx0ZXIocCA9PiBwLmlkICE9PSBwb2kuaWQpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIGVyci5lcnJvci50aXRsZSA9ICdERUxFVEUgUG9pcyc7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zaG93RXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0UG9pcygpIHtcbiAgICB0aGlzLnBvaVNlcnZpY2UuZ2V0KCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoXG4gICAgICByZXAgPT4ge1xuICAgICAgICB0aGlzLnBvaXMgPSByZXA7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgZXJyLmVycm9yLnRpdGxlID0gJ0dFVCBQb2lzJztcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zaG93RXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgY3JlYXRlUG9pKCkge1xuICAgIGNvbnN0IHZpZXcgPSB0aGlzLm1hcC5vbC5nZXRWaWV3KCk7XG4gICAgY29uc3QgcHJvaiA9IHZpZXcuZ2V0UHJvamVjdGlvbigpLmdldENvZGUoKTtcbiAgICBjb25zdCBjZW50ZXI6IGFueSA9IG5ldyBvbFBvaW50KHZpZXcuZ2V0Q2VudGVyKCkpLnRyYW5zZm9ybShcbiAgICAgIHByb2osXG4gICAgICAnRVBTRzo0MzI2J1xuICAgICk7XG5cbiAgICBjb25zdCBwb2k6IFBvaSA9IHtcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIHg6IGNlbnRlci5nZXRDb29yZGluYXRlcygpWzBdLFxuICAgICAgeTogY2VudGVyLmdldENvb3JkaW5hdGVzKClbMV0sXG4gICAgICB6b29tOiB2aWV3LmdldFpvb20oKVxuICAgIH07XG5cbiAgICB0aGlzLmRpYWxvZ1xuICAgICAgLm9wZW4oUG9pRGlhbG9nQ29tcG9uZW50LCB7IGRpc2FibGVDbG9zZTogZmFsc2UgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAuc3Vic2NyaWJlKHRpdGxlID0+IHtcbiAgICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgICAgcG9pLnRpdGxlID0gdGl0bGU7XG4gICAgICAgICAgdGhpcy5wb2lTZXJ2aWNlLmNyZWF0ZShwb2kpLnN1YnNjcmliZShcbiAgICAgICAgICAgIG5ld1BvaSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcbiAgICAgICAgICAgICAgY29uc3QgdGl0bGVEID0gdHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgJ2lnby5jb250ZXh0LnBvaUJ1dHRvbi5kaWFsb2cuY3JlYXRlVGl0bGUnXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAnaWdvLmNvbnRleHQucG9pQnV0dG9uLmRpYWxvZy5jcmVhdGVNc2cnLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBwb2kudGl0bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhtZXNzYWdlLCB0aXRsZUQpO1xuICAgICAgICAgICAgICBwb2kuaWQgPSBuZXdQb2kuaWQ7XG4gICAgICAgICAgICAgIHRoaXMucG9pcy5wdXNoKHBvaSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgZXJyLmVycm9yLnRpdGxlID0gJ1BPU1QgUG9pcyc7XG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc2hvd0Vycm9yKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICB6b29tT25Qb2koaWQpIHtcbiAgICBjb25zdCBwb2kgPSB0aGlzLnBvaXMuZmluZChwID0+IHAuaWQgPT09IGlkKTtcblxuICAgIGNvbnN0IGNlbnRlciA9IG9scHJvai5mcm9tTG9uTGF0KFxuICAgICAgW051bWJlcihwb2kueCksIE51bWJlcihwb2kueSldLFxuICAgICAgdGhpcy5tYXAucHJvamVjdGlvblxuICAgICk7XG5cbiAgICB0aGlzLm1hcC5vbC5nZXRWaWV3KCkuYW5pbWF0ZSh7XG4gICAgICBjZW50ZXIsXG4gICAgICB6b29tOiBwb2kuem9vbSxcbiAgICAgIGR1cmF0aW9uOiA1MDAsXG4gICAgICBlYXNpbmc6IG9sZWFzaW5nLmVhc2VPdXRcbiAgICB9KTtcbiAgfVxufVxuIiwiPG1hdC1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cIidpZ28uY29udGV4dC5wb2lCdXR0b24ucGxhY2Vob2xkZXInIHzCoHRyYW5zbGF0ZVwiXG4gICAgICAgICAgIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiPlxuXG4gIDxtYXQtb3B0aW9uIChjbGljayk9XCJjcmVhdGVQb2koKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVBvaVwiPnt7ICdpZ28uY29udGV4dC5wb2lCdXR0b24uY3JlYXRlJyB8wqB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8YnV0dG9uIGlnb1N0b3BQcm9wYWdhdGlvbiBjbGFzcz1cImFkZFBvaSBidXR0b25Qb2lcIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgKGNsaWNrKT1cImNyZWF0ZVBvaSgpXCI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInBsdXMtY2lyY2xlXCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtb3B0aW9uPlxuICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgcG9pIG9mIHBvaXNcIiBbdmFsdWVdPVwicG9pLmlkXCIgKGNsaWNrKT1cInpvb21PblBvaShwb2kuaWQpXCI+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlUG9pXCI+e3sgcG9pLnRpdGxlIH19PC9kaXY+XG4gICAgPGJ1dHRvbiBpZ29TdG9wUHJvcGFnYXRpb24gY2xhc3M9XCJkZWxldGVQb2kgYnV0dG9uUG9pXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgIChjbGljayk9XCJkZWxldGVQb2kocG9pKVwiPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJkZWxldGVcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1vcHRpb24+XG48L21hdC1zZWxlY3Q+XG4iXX0=
|