@idea-ionic/uncommon 8.5.12 → 8.6.0-beta.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/fesm2022/idea-ionic-uncommon.mjs +85 -85
- package/fesm2022/idea-ionic-uncommon.mjs.map +1 -1
- package/index.d.ts +1405 -3
- package/package.json +12 -13
- package/esm2022/idea-ionic-uncommon.mjs +0 -5
- package/esm2022/public-api.mjs +0 -26
- package/esm2022/src/AWSAPI.service.mjs +0 -431
- package/esm2022/src/AWSAPISocket.service.mjs +0 -188
- package/esm2022/src/address/address.component.mjs +0 -409
- package/esm2022/src/announcement/announcement.component.mjs +0 -72
- package/esm2022/src/cachedResources.service.mjs +0 -55
- package/esm2022/src/colors/colorPicker.component.mjs +0 -191
- package/esm2022/src/contacts/contacts.component.mjs +0 -188
- package/esm2022/src/dateTime/calendarPicker.component.mjs +0 -213
- package/esm2022/src/dateTime/dateTime.component.mjs +0 -217
- package/esm2022/src/duration/duration.component.mjs +0 -195
- package/esm2022/src/echo/echo.page.mjs +0 -233
- package/esm2022/src/echo/echo.routes.mjs +0 -6
- package/esm2022/src/errorReporting.service.mjs +0 -69
- package/esm2022/src/mde/mde.component.mjs +0 -143
- package/esm2022/src/mde/mdeToolbar.component.mjs +0 -25
- package/esm2022/src/offline/cacheableResource.component.mjs +0 -56
- package/esm2022/src/offline/offline.service.mjs +0 -63
- package/esm2022/src/offline/offlineData.service.mjs +0 -480
- package/esm2022/src/offline/offlineIndicator.component.mjs +0 -105
- package/esm2022/src/offline/offlineManager.component.mjs +0 -101
- package/esm2022/src/pushNotifications.service.mjs +0 -57
- package/esm2022/src/sentiment/sentiment.component.mjs +0 -112
- package/esm2022/src/timeInterval/fromTimeToTime.component.mjs +0 -171
- package/esm2022/src/timeInterval/timeInterval.component.mjs +0 -206
- package/esm2022/src/tinCan.service.mjs +0 -49
- package/public-api.d.ts +0 -25
- package/src/AWSAPI.service.d.ts +0 -178
- package/src/AWSAPISocket.service.d.ts +0 -129
- package/src/address/address.component.d.ts +0 -64
- package/src/announcement/announcement.component.d.ts +0 -23
- package/src/cachedResources.service.d.ts +0 -34
- package/src/colors/colorPicker.component.d.ts +0 -78
- package/src/contacts/contacts.component.d.ts +0 -31
- package/src/dateTime/calendarPicker.component.d.ts +0 -45
- package/src/dateTime/dateTime.component.d.ts +0 -81
- package/src/duration/duration.component.d.ts +0 -68
- package/src/echo/echo.page.d.ts +0 -34
- package/src/echo/echo.routes.d.ts +0 -2
- package/src/errorReporting.service.d.ts +0 -26
- package/src/mde/mde.component.d.ts +0 -39
- package/src/mde/mdeToolbar.component.d.ts +0 -5
- package/src/offline/cacheableResource.component.d.ts +0 -11
- package/src/offline/offline.service.d.ts +0 -39
- package/src/offline/offlineData.service.d.ts +0 -281
- package/src/offline/offlineIndicator.component.d.ts +0 -25
- package/src/offline/offlineManager.component.d.ts +0 -17
- package/src/pushNotifications.service.d.ts +0 -26
- package/src/sentiment/sentiment.component.d.ts +0 -35
- package/src/timeInterval/fromTimeToTime.component.d.ts +0 -61
- package/src/timeInterval/timeInterval.component.d.ts +0 -84
- package/src/tinCan.service.d.ts +0 -31
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, Input, Output, EventEmitter, inject } from '@angular/core';
|
|
3
|
-
import { PopoverController, IonItem, IonButton, IonIcon, IonLabel, IonText, IonAvatar, IonContent, IonGrid, IonRow, IonCol } from '@ionic/angular/standalone';
|
|
4
|
-
import { COLORS } from 'idea-toolbox';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Pick a color from a defined set.
|
|
8
|
-
*/
|
|
9
|
-
export class IDEAColorPickerComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
/**
|
|
12
|
-
* The pickable colors.
|
|
13
|
-
*/
|
|
14
|
-
this.colors = COLORS;
|
|
15
|
-
/**
|
|
16
|
-
* On select event.
|
|
17
|
-
*/
|
|
18
|
-
this.select = new EventEmitter();
|
|
19
|
-
/**
|
|
20
|
-
* Icon select.
|
|
21
|
-
*/
|
|
22
|
-
this.iconSelect = new EventEmitter();
|
|
23
|
-
this._popover = inject(PopoverController);
|
|
24
|
-
}
|
|
25
|
-
async openPalette(event) {
|
|
26
|
-
if (this.disabled)
|
|
27
|
-
return;
|
|
28
|
-
const componentProps = { colors: this.colors, current: this.current };
|
|
29
|
-
const popover = await this._popover.create({ component: ColorsPaletteComponent, componentProps, event });
|
|
30
|
-
popover.onDidDismiss().then(res => {
|
|
31
|
-
if (res && res.data)
|
|
32
|
-
this.select.emit(res.data);
|
|
33
|
-
});
|
|
34
|
-
popover.present();
|
|
35
|
-
}
|
|
36
|
-
doIconSelect(event) {
|
|
37
|
-
if (event)
|
|
38
|
-
event.stopPropagation();
|
|
39
|
-
this.iconSelect.emit(event);
|
|
40
|
-
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEAColorPickerComponent, isStandalone: true, selector: "idea-color-picker", inputs: { colors: "colors", current: "current", label: "label", placeholder: "placeholder", icon: "icon", iconColor: "iconColor", disabled: "disabled", obligatory: "obligatory", lines: "lines", color: "color" }, outputs: { select: "select", iconSelect: "iconSelect" }, ngImport: i0, template: `
|
|
43
|
-
<ion-item
|
|
44
|
-
class="colorPickerItem"
|
|
45
|
-
[color]="color"
|
|
46
|
-
[lines]="lines"
|
|
47
|
-
[button]="!disabled"
|
|
48
|
-
[title]="placeholder || ''"
|
|
49
|
-
[class.withLabel]="label"
|
|
50
|
-
(click)="openPalette($event)"
|
|
51
|
-
>
|
|
52
|
-
@if (icon) {
|
|
53
|
-
<ion-button fill="clear" slot="start" [color]="iconColor" (click)="doIconSelect($event)">
|
|
54
|
-
<ion-icon [name]="icon" slot="icon-only" />
|
|
55
|
-
</ion-button>
|
|
56
|
-
}
|
|
57
|
-
@if (label) {
|
|
58
|
-
<ion-label [class.selectable]="!disabled">
|
|
59
|
-
{{ label }}
|
|
60
|
-
@if (obligatory && !disabled) {
|
|
61
|
-
<ion-text class="obligatoryDot" />
|
|
62
|
-
}
|
|
63
|
-
</ion-label>
|
|
64
|
-
}
|
|
65
|
-
<ion-avatar slot="end" class="colorCircle" [style.background-color]="current" />
|
|
66
|
-
@if (!disabled) {
|
|
67
|
-
<ion-icon slot="end" name="caret-down" class="selectIcon" [class.selectable]="!disabled" />
|
|
68
|
-
}
|
|
69
|
-
</ion-item>
|
|
70
|
-
`, isInline: true, styles: [".colorPickerItem{min-height:48px;height:auto}.colorPickerItem .placeholder{color:var(--ion-color-medium)}.colorPickerItem .selectIcon{margin:0;padding-left:4px;font-size:.8em;color:var(--ion-color-medium)}.selectItem.withLabel{min-height:58px;height:auto}.selectItem.withLabel .selectIcon{padding-top:25px}.selectItem.withLabel ion-button[slot=start]{margin-top:16px}.selectable{cursor:pointer}ion-avatar.colorCircle{width:20px;height:20px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonAvatar, selector: "ion-avatar" }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }] }); }
|
|
71
|
-
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAColorPickerComponent, decorators: [{
|
|
73
|
-
type: Component,
|
|
74
|
-
args: [{ selector: 'idea-color-picker', standalone: true, imports: [CommonModule, IonAvatar, IonText, IonLabel, IonIcon, IonButton, IonItem], template: `
|
|
75
|
-
<ion-item
|
|
76
|
-
class="colorPickerItem"
|
|
77
|
-
[color]="color"
|
|
78
|
-
[lines]="lines"
|
|
79
|
-
[button]="!disabled"
|
|
80
|
-
[title]="placeholder || ''"
|
|
81
|
-
[class.withLabel]="label"
|
|
82
|
-
(click)="openPalette($event)"
|
|
83
|
-
>
|
|
84
|
-
@if (icon) {
|
|
85
|
-
<ion-button fill="clear" slot="start" [color]="iconColor" (click)="doIconSelect($event)">
|
|
86
|
-
<ion-icon [name]="icon" slot="icon-only" />
|
|
87
|
-
</ion-button>
|
|
88
|
-
}
|
|
89
|
-
@if (label) {
|
|
90
|
-
<ion-label [class.selectable]="!disabled">
|
|
91
|
-
{{ label }}
|
|
92
|
-
@if (obligatory && !disabled) {
|
|
93
|
-
<ion-text class="obligatoryDot" />
|
|
94
|
-
}
|
|
95
|
-
</ion-label>
|
|
96
|
-
}
|
|
97
|
-
<ion-avatar slot="end" class="colorCircle" [style.background-color]="current" />
|
|
98
|
-
@if (!disabled) {
|
|
99
|
-
<ion-icon slot="end" name="caret-down" class="selectIcon" [class.selectable]="!disabled" />
|
|
100
|
-
}
|
|
101
|
-
</ion-item>
|
|
102
|
-
`, styles: [".colorPickerItem{min-height:48px;height:auto}.colorPickerItem .placeholder{color:var(--ion-color-medium)}.colorPickerItem .selectIcon{margin:0;padding-left:4px;font-size:.8em;color:var(--ion-color-medium)}.selectItem.withLabel{min-height:58px;height:auto}.selectItem.withLabel .selectIcon{padding-top:25px}.selectItem.withLabel ion-button[slot=start]{margin-top:16px}.selectable{cursor:pointer}ion-avatar.colorCircle{width:20px;height:20px}\n"] }]
|
|
103
|
-
}], propDecorators: { colors: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], current: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], label: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], placeholder: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], icon: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], iconColor: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}], disabled: [{
|
|
116
|
-
type: Input
|
|
117
|
-
}], obligatory: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], lines: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], color: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], select: [{
|
|
124
|
-
type: Output
|
|
125
|
-
}], iconSelect: [{
|
|
126
|
-
type: Output
|
|
127
|
-
}] } });
|
|
128
|
-
/**
|
|
129
|
-
* Component to open in a popover for displaying the colors available.
|
|
130
|
-
*/
|
|
131
|
-
export class ColorsPaletteComponent {
|
|
132
|
-
constructor() {
|
|
133
|
-
this._popover = inject(PopoverController);
|
|
134
|
-
}
|
|
135
|
-
pick(color) {
|
|
136
|
-
this._popover.dismiss(color);
|
|
137
|
-
}
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColorsPaletteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
139
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: ColorsPaletteComponent, isStandalone: true, selector: "idea-colors-palette", inputs: { colors: "colors", current: "current" }, ngImport: i0, template: `
|
|
140
|
-
<ion-content>
|
|
141
|
-
<ion-grid>
|
|
142
|
-
<ion-row>
|
|
143
|
-
@for (c of colors; track c) {
|
|
144
|
-
<ion-col [size]="2">
|
|
145
|
-
<ion-avatar
|
|
146
|
-
class="colorCircle tappable"
|
|
147
|
-
[style.background-color]="c.hex"
|
|
148
|
-
[title]="c.name || c.hex"
|
|
149
|
-
(click)="pick(c.hex)"
|
|
150
|
-
>
|
|
151
|
-
@if (c.hex === current) {
|
|
152
|
-
<ion-icon name="checkmark" />
|
|
153
|
-
}
|
|
154
|
-
</ion-avatar>
|
|
155
|
-
</ion-col>
|
|
156
|
-
}
|
|
157
|
-
</ion-row>
|
|
158
|
-
</ion-grid>
|
|
159
|
-
</ion-content>
|
|
160
|
-
`, isInline: true, styles: ["ion-content{--background: var(--ion-color-white)}ion-avatar.colorCircle{width:20px;height:20px}.tappable{cursor:pointer}ion-avatar.colorCircle ion-icon{color:#fff;font-size:1.2em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonAvatar, selector: "ion-avatar" }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
161
|
-
}
|
|
162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ColorsPaletteComponent, decorators: [{
|
|
163
|
-
type: Component,
|
|
164
|
-
args: [{ selector: 'idea-colors-palette', standalone: true, imports: [CommonModule, IonContent, IonGrid, IonRow, IonCol, IonAvatar, IonIcon], template: `
|
|
165
|
-
<ion-content>
|
|
166
|
-
<ion-grid>
|
|
167
|
-
<ion-row>
|
|
168
|
-
@for (c of colors; track c) {
|
|
169
|
-
<ion-col [size]="2">
|
|
170
|
-
<ion-avatar
|
|
171
|
-
class="colorCircle tappable"
|
|
172
|
-
[style.background-color]="c.hex"
|
|
173
|
-
[title]="c.name || c.hex"
|
|
174
|
-
(click)="pick(c.hex)"
|
|
175
|
-
>
|
|
176
|
-
@if (c.hex === current) {
|
|
177
|
-
<ion-icon name="checkmark" />
|
|
178
|
-
}
|
|
179
|
-
</ion-avatar>
|
|
180
|
-
</ion-col>
|
|
181
|
-
}
|
|
182
|
-
</ion-row>
|
|
183
|
-
</ion-grid>
|
|
184
|
-
</ion-content>
|
|
185
|
-
`, styles: ["ion-content{--background: var(--ion-color-white)}ion-avatar.colorCircle{width:20px;height:20px}.tappable{cursor:pointer}ion-avatar.colorCircle ion-icon{color:#fff;font-size:1.2em}\n"] }]
|
|
186
|
-
}], propDecorators: { colors: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], current: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}] } });
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JQaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy91bmNvbW1vbi9zcmMvY29sb3JzL2NvbG9yUGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEVBQ1IsT0FBTyxFQUNQLFNBQVMsRUFDVCxVQUFVLEVBQ1YsT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ1AsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQVMsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUU3Qzs7R0FFRztBQXFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBcEVyQztRQXFFRTs7V0FFRztRQUNNLFdBQU0sR0FBWSxNQUFNLENBQUM7UUFxQ2xDOztXQUVHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDOUM7O1dBRUc7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV4QyxhQUFRLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FpQjlDO0lBZkMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFVO1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTFCLE1BQU0sY0FBYyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0RSxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3pHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUk7Z0JBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLEtBQUs7WUFBRSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs4R0FsRVUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsMFZBaEV6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCVCxtZ0JBN0JTLFlBQVksK0JBQUUsU0FBUyx1REFBRSxPQUFPLGdGQUFFLFFBQVEsNkZBQUUsT0FBTywySkFBRSxTQUFTLG9QQUFFLE9BQU87OzJGQWlFdEUsd0JBQXdCO2tCQXBFcEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFlBQ3hFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJUOzhCQXdDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBSUcsT0FBTztzQkFBZixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxXQUFXO3NCQUFuQixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUlJLE1BQU07c0JBQWYsTUFBTTtnQkFJRyxVQUFVO3NCQUFuQixNQUFNOztBQXFCVDs7R0FFRztBQThDSCxNQUFNLE9BQU8sc0JBQXNCO0lBN0NuQztRQThDVSxhQUFRLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FjOUM7SUFIQyxJQUFJLENBQUMsS0FBYTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQWRVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGlJQXpDdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCw4UEF0QlMsWUFBWSwrQkFBRSxVQUFVLHdLQUFFLE9BQU8sd0VBQUUsTUFBTSxvREFBRSxNQUFNLGtUQUFFLFNBQVMsdURBQUUsT0FBTzs7MkZBMENwRSxzQkFBc0I7a0JBN0NsQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsWUFDdEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVDs4QkEwQlEsTUFBTTtzQkFBZCxLQUFLO2dCQUlHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBQb3BvdmVyQ29udHJvbGxlcixcbiAgSW9uSXRlbSxcbiAgSW9uQnV0dG9uLFxuICBJb25JY29uLFxuICBJb25MYWJlbCxcbiAgSW9uVGV4dCxcbiAgSW9uQXZhdGFyLFxuICBJb25Db250ZW50LFxuICBJb25HcmlkLFxuICBJb25Sb3csXG4gIElvbkNvbFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IENvbG9yLCBDT0xPUlMgfSBmcm9tICdpZGVhLXRvb2xib3gnO1xuXG4vKipcbiAqIFBpY2sgYSBjb2xvciBmcm9tIGEgZGVmaW5lZCBzZXQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lkZWEtY29sb3ItcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQXZhdGFyLCBJb25UZXh0LCBJb25MYWJlbCwgSW9uSWNvbiwgSW9uQnV0dG9uLCBJb25JdGVtXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWl0ZW1cbiAgICAgIGNsYXNzPVwiY29sb3JQaWNrZXJJdGVtXCJcbiAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICBbbGluZXNdPVwibGluZXNcIlxuICAgICAgW2J1dHRvbl09XCIhZGlzYWJsZWRcIlxuICAgICAgW3RpdGxlXT1cInBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgIFtjbGFzcy53aXRoTGFiZWxdPVwibGFiZWxcIlxuICAgICAgKGNsaWNrKT1cIm9wZW5QYWxldHRlKCRldmVudClcIlxuICAgID5cbiAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBzbG90PVwic3RhcnRcIiBbY29sb3JdPVwiaWNvbkNvbG9yXCIgKGNsaWNrKT1cImRvSWNvblNlbGVjdCgkZXZlbnQpXCI+XG4gICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImljb25cIiBzbG90PVwiaWNvbi1vbmx5XCIgLz5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgfVxuICAgICAgQGlmIChsYWJlbCkge1xuICAgICAgICA8aW9uLWxhYmVsIFtjbGFzcy5zZWxlY3RhYmxlXT1cIiFkaXNhYmxlZFwiPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgICAgQGlmIChvYmxpZ2F0b3J5ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgPGlvbi10ZXh0IGNsYXNzPVwib2JsaWdhdG9yeURvdFwiIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgIH1cbiAgICAgIDxpb24tYXZhdGFyIHNsb3Q9XCJlbmRcIiBjbGFzcz1cImNvbG9yQ2lyY2xlXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY3VycmVudFwiIC8+XG4gICAgICBAaWYgKCFkaXNhYmxlZCkge1xuICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJjYXJldC1kb3duXCIgY2xhc3M9XCJzZWxlY3RJY29uXCIgW2NsYXNzLnNlbGVjdGFibGVdPVwiIWRpc2FibGVkXCIgLz5cbiAgICAgIH1cbiAgICA8L2lvbi1pdGVtPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuY29sb3JQaWNrZXJJdGVtIHtcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgfVxuICAgICAgICAuc2VsZWN0SWNvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc2VsZWN0SXRlbS53aXRoTGFiZWwge1xuICAgICAgICBtaW4taGVpZ2h0OiA1OHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIC5zZWxlY3RJY29uIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgfVxuICAgICAgICBpb24tYnV0dG9uW3Nsb3Q9J3N0YXJ0J10ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zZWxlY3RhYmxlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgaW9uLWF2YXRhci5jb2xvckNpcmNsZSB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElERUFDb2xvclBpY2tlckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgcGlja2FibGUgY29sb3JzLlxuICAgKi9cbiAgQElucHV0KCkgY29sb3JzOiBDb2xvcltdID0gQ09MT1JTO1xuICAvKipcbiAgICogVGhlIGN1cnJlbnQgY29sb3IuXG4gICAqL1xuICBASW5wdXQoKSBjdXJyZW50OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZm9yIHRoZSBmaWVsZC5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHBsYWNlaG9sZGVyIGZvciB0aGUgZmllbGQuXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGljb24gZm9yIHRoZSBmaWVsZC5cbiAgICovXG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjb2xvciBvZiB0aGUgaWNvbi5cbiAgICovXG4gIEBJbnB1dCgpIGljb25Db2xvcjogc3RyaW5nO1xuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIG9ibGlnYXRvcnkgZG90IGlzIHNob3duLlxuICAgKi9cbiAgQElucHV0KCkgb2JsaWdhdG9yeTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIExpbmVzIHByZWZlcmVuY2VzIGZvciB0aGUgaXRlbS5cbiAgICovXG4gIEBJbnB1dCgpIGxpbmVzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY29sb3IgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nO1xuICAvKipcbiAgICogT24gc2VsZWN0IGV2ZW50LlxuICAgKi9cbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAvKipcbiAgICogSWNvbiBzZWxlY3QuXG4gICAqL1xuICBAT3V0cHV0KCkgaWNvblNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIF9wb3BvdmVyID0gaW5qZWN0KFBvcG92ZXJDb250cm9sbGVyKTtcblxuICBhc3luYyBvcGVuUGFsZXR0ZShldmVudDogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIGNvbnN0IGNvbXBvbmVudFByb3BzID0geyBjb2xvcnM6IHRoaXMuY29sb3JzLCBjdXJyZW50OiB0aGlzLmN1cnJlbnQgfTtcbiAgICBjb25zdCBwb3BvdmVyID0gYXdhaXQgdGhpcy5fcG9wb3Zlci5jcmVhdGUoeyBjb21wb25lbnQ6IENvbG9yc1BhbGV0dGVDb21wb25lbnQsIGNvbXBvbmVudFByb3BzLCBldmVudCB9KTtcbiAgICBwb3BvdmVyLm9uRGlkRGlzbWlzcygpLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmIChyZXMgJiYgcmVzLmRhdGEpIHRoaXMuc2VsZWN0LmVtaXQocmVzLmRhdGEpO1xuICAgIH0pO1xuICAgIHBvcG92ZXIucHJlc2VudCgpO1xuICB9XG5cbiAgZG9JY29uU2VsZWN0KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuaWNvblNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIENvbXBvbmVudCB0byBvcGVuIGluIGEgcG9wb3ZlciBmb3IgZGlzcGxheWluZyB0aGUgY29sb3JzIGF2YWlsYWJsZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWRlYS1jb2xvcnMtcGFsZXR0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkNvbnRlbnQsIElvbkdyaWQsIElvblJvdywgSW9uQ29sLCBJb25BdmF0YXIsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tY29udGVudD5cbiAgICAgIDxpb24tZ3JpZD5cbiAgICAgICAgPGlvbi1yb3c+XG4gICAgICAgICAgQGZvciAoYyBvZiBjb2xvcnM7IHRyYWNrIGMpIHtcbiAgICAgICAgICAgIDxpb24tY29sIFtzaXplXT1cIjJcIj5cbiAgICAgICAgICAgICAgPGlvbi1hdmF0YXJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbG9yQ2lyY2xlIHRhcHBhYmxlXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJjLmhleFwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImMubmFtZSB8fCBjLmhleFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBpY2soYy5oZXgpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAoYy5oZXggPT09IGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hlY2ttYXJrXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvaW9uLWF2YXRhcj5cbiAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvaW9uLXJvdz5cbiAgICAgIDwvaW9uLWdyaWQ+XG4gICAgPC9pb24tY29udGVudD5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgaW9uLWNvbnRlbnQge1xuICAgICAgICAtLWJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci13aGl0ZSk7XG4gICAgICB9XG4gICAgICBpb24tYXZhdGFyLmNvbG9yQ2lyY2xlIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIH1cbiAgICAgIC50YXBwYWJsZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICAgIGlvbi1hdmF0YXIuY29sb3JDaXJjbGUgaW9uLWljb24ge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbG9yc1BhbGV0dGVDb21wb25lbnQge1xuICBwcml2YXRlIF9wb3BvdmVyID0gaW5qZWN0KFBvcG92ZXJDb250cm9sbGVyKTtcblxuICAvKipcbiAgICogVGhlIHBpY2thYmxlIGNvbG9ycy5cbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yczogQ29sb3JbXTtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGNvbG9yLlxuICAgKi9cbiAgQElucHV0KCkgY3VycmVudDogc3RyaW5nO1xuXG4gIHBpY2soY29sb3I6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX3BvcG92ZXIuZGlzbWlzcyhjb2xvcik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, Input, inject } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { AlertController, IonItem, IonButton, IonIcon, IonInput } from '@ionic/angular/standalone';
|
|
5
|
-
import { Contacts } from 'idea-toolbox';
|
|
6
|
-
import { IDEATranslatePipe, IDEATranslationsService } from '@idea-ionic/common';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
export class IDEAContactsComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this._alert = inject(AlertController);
|
|
12
|
-
this._translate = inject(IDEATranslationsService);
|
|
13
|
-
/**
|
|
14
|
-
* The contacts to manage.
|
|
15
|
-
*/
|
|
16
|
-
this.contacts = new Contacts();
|
|
17
|
-
/**
|
|
18
|
-
* If true, show the field `name`.
|
|
19
|
-
*/
|
|
20
|
-
this.showName = false;
|
|
21
|
-
/**
|
|
22
|
-
* Whether the fields are editable or disabled.
|
|
23
|
-
*/
|
|
24
|
-
this.editMode = true;
|
|
25
|
-
}
|
|
26
|
-
sendEmail() {
|
|
27
|
-
if (!this.contacts.email)
|
|
28
|
-
return;
|
|
29
|
-
const url = `mailto:${this.contacts.email}`;
|
|
30
|
-
this.preExternalAction(this.contacts.email, () => window.open(url, '_system'));
|
|
31
|
-
}
|
|
32
|
-
call() {
|
|
33
|
-
if (!this.contacts.phone)
|
|
34
|
-
return;
|
|
35
|
-
const url = `tel:${this.contacts.phone}`;
|
|
36
|
-
this.preExternalAction(this.contacts.phone, () => window.open(url, '_system'));
|
|
37
|
-
}
|
|
38
|
-
preExternalAction(message, cb) {
|
|
39
|
-
const header = this._translate._('COMMON.DO_YOU_WANT_TO_PROCEED');
|
|
40
|
-
const buttons = [
|
|
41
|
-
{ text: this._translate._('COMMON.CANCEL') },
|
|
42
|
-
{ text: this._translate._('COMMON.CONFIRM'), handler: () => cb() }
|
|
43
|
-
];
|
|
44
|
-
const cssClass = 'selectableAlertMessage';
|
|
45
|
-
this._alert.create({ header, message, buttons, cssClass }).then(alert => alert.present());
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAContactsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEAContactsComponent, isStandalone: true, selector: "idea-contacts", inputs: { contacts: "contacts", showName: "showName", editMode: "editMode", lines: "lines", color: "color" }, ngImport: i0, template: `
|
|
49
|
-
<div class="contacts">
|
|
50
|
-
@if (showName) {
|
|
51
|
-
<ion-item [lines]="lines" [color]="color">
|
|
52
|
-
<ion-input
|
|
53
|
-
autocomplete="new"
|
|
54
|
-
labelPlacement="stacked"
|
|
55
|
-
[label]="'IDEA_UNCOMMON.CONTACTS.NAME' | translate"
|
|
56
|
-
[disabled]="!editMode"
|
|
57
|
-
[placeholder]="'IDEA_UNCOMMON.CONTACTS.NAME_HINT' | translate"
|
|
58
|
-
[title]="'IDEA_UNCOMMON.CONTACTS.NAME_HINT' | translate"
|
|
59
|
-
[(ngModel)]="contacts.name"
|
|
60
|
-
/>
|
|
61
|
-
</ion-item>
|
|
62
|
-
}
|
|
63
|
-
<ion-item [lines]="lines" [color]="color">
|
|
64
|
-
<ion-input
|
|
65
|
-
autocomplete="new"
|
|
66
|
-
labelPlacement="stacked"
|
|
67
|
-
[label]="'IDEA_UNCOMMON.CONTACTS.PHONE' | translate"
|
|
68
|
-
[disabled]="!editMode"
|
|
69
|
-
[placeholder]="'IDEA_UNCOMMON.CONTACTS.PHONE_HINT' | translate"
|
|
70
|
-
[title]="'IDEA_UNCOMMON.CONTACTS.PHONE_HINT' | translate"
|
|
71
|
-
[(ngModel)]="contacts.phone"
|
|
72
|
-
/>
|
|
73
|
-
@if (!editMode) {
|
|
74
|
-
<ion-button
|
|
75
|
-
slot="end"
|
|
76
|
-
fill="clear"
|
|
77
|
-
color="dark"
|
|
78
|
-
class="marginTop"
|
|
79
|
-
[title]="'IDEA_UNCOMMON.CONTACTS.CALL' | translate"
|
|
80
|
-
(click)="call()"
|
|
81
|
-
>
|
|
82
|
-
<ion-icon name="call" slot="icon-only" />
|
|
83
|
-
</ion-button>
|
|
84
|
-
}
|
|
85
|
-
</ion-item>
|
|
86
|
-
<ion-item [lines]="lines" [color]="color">
|
|
87
|
-
<ion-input
|
|
88
|
-
autocomplete="new"
|
|
89
|
-
labelPlacement="stacked"
|
|
90
|
-
[label]="'IDEA_UNCOMMON.CONTACTS.EMAIL' | translate"
|
|
91
|
-
[disabled]="!editMode"
|
|
92
|
-
[placeholder]="'IDEA_UNCOMMON.CONTACTS.EMAIL_HINT' | translate"
|
|
93
|
-
[title]="'IDEA_UNCOMMON.CONTACTS.EMAIL_HINT' | translate"
|
|
94
|
-
[(ngModel)]="contacts.email"
|
|
95
|
-
/>
|
|
96
|
-
@if (!editMode) {
|
|
97
|
-
<ion-button
|
|
98
|
-
slot="end"
|
|
99
|
-
fill="clear"
|
|
100
|
-
color="dark"
|
|
101
|
-
class="marginTop"
|
|
102
|
-
[title]="'IDEA_UNCOMMON.CONTACTS.SEND_EMAIL' | translate"
|
|
103
|
-
(click)="sendEmail()"
|
|
104
|
-
>
|
|
105
|
-
<ion-icon name="mail" slot="icon-only" />
|
|
106
|
-
</ion-button>
|
|
107
|
-
}
|
|
108
|
-
</ion-item>
|
|
109
|
-
</div>
|
|
110
|
-
`, isInline: true, styles: [".marginTop{margin-top:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: IDEATranslatePipe, name: "translate" }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }] }); }
|
|
111
|
-
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAContactsComponent, decorators: [{
|
|
113
|
-
type: Component,
|
|
114
|
-
args: [{ selector: 'idea-contacts', standalone: true, imports: [CommonModule, FormsModule, IDEATranslatePipe, IonInput, IonIcon, IonButton, IonItem], template: `
|
|
115
|
-
<div class="contacts">
|
|
116
|
-
@if (showName) {
|
|
117
|
-
<ion-item [lines]="lines" [color]="color">
|
|
118
|
-
<ion-input
|
|
119
|
-
autocomplete="new"
|
|
120
|
-
labelPlacement="stacked"
|
|
121
|
-
[label]="'IDEA_UNCOMMON.CONTACTS.NAME' | translate"
|
|
122
|
-
[disabled]="!editMode"
|
|
123
|
-
[placeholder]="'IDEA_UNCOMMON.CONTACTS.NAME_HINT' | translate"
|
|
124
|
-
[title]="'IDEA_UNCOMMON.CONTACTS.NAME_HINT' | translate"
|
|
125
|
-
[(ngModel)]="contacts.name"
|
|
126
|
-
/>
|
|
127
|
-
</ion-item>
|
|
128
|
-
}
|
|
129
|
-
<ion-item [lines]="lines" [color]="color">
|
|
130
|
-
<ion-input
|
|
131
|
-
autocomplete="new"
|
|
132
|
-
labelPlacement="stacked"
|
|
133
|
-
[label]="'IDEA_UNCOMMON.CONTACTS.PHONE' | translate"
|
|
134
|
-
[disabled]="!editMode"
|
|
135
|
-
[placeholder]="'IDEA_UNCOMMON.CONTACTS.PHONE_HINT' | translate"
|
|
136
|
-
[title]="'IDEA_UNCOMMON.CONTACTS.PHONE_HINT' | translate"
|
|
137
|
-
[(ngModel)]="contacts.phone"
|
|
138
|
-
/>
|
|
139
|
-
@if (!editMode) {
|
|
140
|
-
<ion-button
|
|
141
|
-
slot="end"
|
|
142
|
-
fill="clear"
|
|
143
|
-
color="dark"
|
|
144
|
-
class="marginTop"
|
|
145
|
-
[title]="'IDEA_UNCOMMON.CONTACTS.CALL' | translate"
|
|
146
|
-
(click)="call()"
|
|
147
|
-
>
|
|
148
|
-
<ion-icon name="call" slot="icon-only" />
|
|
149
|
-
</ion-button>
|
|
150
|
-
}
|
|
151
|
-
</ion-item>
|
|
152
|
-
<ion-item [lines]="lines" [color]="color">
|
|
153
|
-
<ion-input
|
|
154
|
-
autocomplete="new"
|
|
155
|
-
labelPlacement="stacked"
|
|
156
|
-
[label]="'IDEA_UNCOMMON.CONTACTS.EMAIL' | translate"
|
|
157
|
-
[disabled]="!editMode"
|
|
158
|
-
[placeholder]="'IDEA_UNCOMMON.CONTACTS.EMAIL_HINT' | translate"
|
|
159
|
-
[title]="'IDEA_UNCOMMON.CONTACTS.EMAIL_HINT' | translate"
|
|
160
|
-
[(ngModel)]="contacts.email"
|
|
161
|
-
/>
|
|
162
|
-
@if (!editMode) {
|
|
163
|
-
<ion-button
|
|
164
|
-
slot="end"
|
|
165
|
-
fill="clear"
|
|
166
|
-
color="dark"
|
|
167
|
-
class="marginTop"
|
|
168
|
-
[title]="'IDEA_UNCOMMON.CONTACTS.SEND_EMAIL' | translate"
|
|
169
|
-
(click)="sendEmail()"
|
|
170
|
-
>
|
|
171
|
-
<ion-icon name="mail" slot="icon-only" />
|
|
172
|
-
</ion-button>
|
|
173
|
-
}
|
|
174
|
-
</ion-item>
|
|
175
|
-
</div>
|
|
176
|
-
`, styles: [".marginTop{margin-top:14px}\n"] }]
|
|
177
|
-
}], propDecorators: { contacts: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], showName: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], editMode: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], lines: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], color: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}] } });
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy91bmNvbW1vbi9zcmMvY29udGFjdHMvY29udGFjdHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBNkVoRixNQUFNLE9BQU8scUJBQXFCO0lBM0VsQztRQTRFVSxXQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUVyRDs7V0FFRztRQUNNLGFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzdDOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQjs7V0FFRztRQUNNLGFBQVEsR0FBRyxJQUFJLENBQUM7S0E4QjFCO0lBcEJDLFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUNqQyxNQUFNLEdBQUcsR0FBRyxVQUFVLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUNqQyxNQUFNLEdBQUcsR0FBRyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxFQUFjO1FBQ3ZELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUc7WUFDZCxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM1QyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtTQUN6RSxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcsd0JBQXdCLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7OEdBNUNVLHFCQUFxQjtrR0FBckIscUJBQXFCLHVMQXZFdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOERULHNHQS9EUyxZQUFZLDhCQUFFLFdBQVcsMFZBQUUsaUJBQWlCLGtEQUFFLFFBQVEsOGVBQUUsT0FBTywySkFBRSxTQUFTLG9QQUFFLE9BQU87OzJGQXdFbEYscUJBQXFCO2tCQTNFakMsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsWUFDcEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOERUOzhCQWdCUSxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBbGVydENvbnRyb2xsZXIsIElvbkl0ZW0sIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uSW5wdXQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IENvbnRhY3RzIH0gZnJvbSAnaWRlYS10b29sYm94JztcbmltcG9ydCB7IElERUFUcmFuc2xhdGVQaXBlLCBJREVBVHJhbnNsYXRpb25zU2VydmljZSB9IGZyb20gJ0BpZGVhLWlvbmljL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lkZWEtY29udGFjdHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgSURFQVRyYW5zbGF0ZVBpcGUsIElvbklucHV0LCBJb25JY29uLCBJb25CdXR0b24sIElvbkl0ZW1dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJjb250YWN0c1wiPlxuICAgICAgQGlmIChzaG93TmFtZSkge1xuICAgICAgICA8aW9uLWl0ZW0gW2xpbmVzXT1cImxpbmVzXCIgW2NvbG9yXT1cImNvbG9yXCI+XG4gICAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwibmV3XCJcbiAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50PVwic3RhY2tlZFwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0lERUFfVU5DT01NT04uQ09OVEFDVFMuTkFNRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0TW9kZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0lERUFfVU5DT01NT04uQ09OVEFDVFMuTkFNRV9ISU5UJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfVU5DT01NT04uQ09OVEFDVFMuTkFNRV9ISU5UJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRhY3RzLm5hbWVcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICB9XG4gICAgICA8aW9uLWl0ZW0gW2xpbmVzXT1cImxpbmVzXCIgW2NvbG9yXT1cImNvbG9yXCI+XG4gICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJuZXdcIlxuICAgICAgICAgIGxhYmVsUGxhY2VtZW50PVwic3RhY2tlZFwiXG4gICAgICAgICAgW2xhYmVsXT1cIidJREVBX1VOQ09NTU9OLkNPTlRBQ1RTLlBIT05FJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0TW9kZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidJREVBX1VOQ09NTU9OLkNPTlRBQ1RTLlBIT05FX0hJTlQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfVU5DT01NT04uQ09OVEFDVFMuUEhPTkVfSElOVCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGFjdHMucGhvbmVcIlxuICAgICAgICAvPlxuICAgICAgICBAaWYgKCFlZGl0TW9kZSkge1xuICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICBzbG90PVwiZW5kXCJcbiAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICAgICAgY2xhc3M9XCJtYXJnaW5Ub3BcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidJREVBX1VOQ09NTU9OLkNPTlRBQ1RTLkNBTEwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjYWxsKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FsbFwiIHNsb3Q9XCJpY29uLW9ubHlcIiAvPlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9pb24taXRlbT5cbiAgICAgIDxpb24taXRlbSBbbGluZXNdPVwibGluZXNcIiBbY29sb3JdPVwiY29sb3JcIj5cbiAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ld1wiXG4gICAgICAgICAgbGFiZWxQbGFjZW1lbnQ9XCJzdGFja2VkXCJcbiAgICAgICAgICBbbGFiZWxdPVwiJ0lERUFfVU5DT01NT04uQ09OVEFDVFMuRU1BSUwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVkaXRNb2RlXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0lERUFfVU5DT01NT04uQ09OVEFDVFMuRU1BSUxfSElOVCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFt0aXRsZV09XCInSURFQV9VTkNPTU1PTi5DT05UQUNUUy5FTUFJTF9ISU5UJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250YWN0cy5lbWFpbFwiXG4gICAgICAgIC8+XG4gICAgICAgIEBpZiAoIWVkaXRNb2RlKSB7XG4gICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgIHNsb3Q9XCJlbmRcIlxuICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgIGNvbG9yPVwiZGFya1wiXG4gICAgICAgICAgICBjbGFzcz1cIm1hcmdpblRvcFwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfVU5DT01NT04uQ09OVEFDVFMuU0VORF9FTUFJTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbmRFbWFpbCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cIm1haWxcIiBzbG90PVwiaWNvbi1vbmx5XCIgLz5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvaW9uLWl0ZW0+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5tYXJnaW5Ub3Age1xuICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgfVxuICAgIGBcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJREVBQ29udGFjdHNDb21wb25lbnQge1xuICBwcml2YXRlIF9hbGVydCA9IGluamVjdChBbGVydENvbnRyb2xsZXIpO1xuICBwcml2YXRlIF90cmFuc2xhdGUgPSBpbmplY3QoSURFQVRyYW5zbGF0aW9uc1NlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGFjdHMgdG8gbWFuYWdlLlxuICAgKi9cbiAgQElucHV0KCkgY29udGFjdHM6IENvbnRhY3RzID0gbmV3IENvbnRhY3RzKCk7XG4gIC8qKlxuICAgKiBJZiB0cnVlLCBzaG93IHRoZSBmaWVsZCBgbmFtZWAuXG4gICAqL1xuICBASW5wdXQoKSBzaG93TmFtZSA9IGZhbHNlO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGRzIGFyZSBlZGl0YWJsZSBvciBkaXNhYmxlZC5cbiAgICovXG4gIEBJbnB1dCgpIGVkaXRNb2RlID0gdHJ1ZTtcbiAgLyoqXG4gICAqIFRoZSBsaW5lcyBhdHRyaWJ1dGUgb2YgdGhlIGl0ZW0uXG4gICAqL1xuICBASW5wdXQoKSBsaW5lczogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNvbG9yIGZvciB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KCkgY29sb3I6IHN0cmluZztcblxuICBzZW5kRW1haWwoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRhY3RzLmVtYWlsKSByZXR1cm47XG4gICAgY29uc3QgdXJsID0gYG1haWx0bzoke3RoaXMuY29udGFjdHMuZW1haWx9YDtcbiAgICB0aGlzLnByZUV4dGVybmFsQWN0aW9uKHRoaXMuY29udGFjdHMuZW1haWwsICgpOiBXaW5kb3cgPT4gd2luZG93Lm9wZW4odXJsLCAnX3N5c3RlbScpKTtcbiAgfVxuICBjYWxsKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb250YWN0cy5waG9uZSkgcmV0dXJuO1xuICAgIGNvbnN0IHVybCA9IGB0ZWw6JHt0aGlzLmNvbnRhY3RzLnBob25lfWA7XG4gICAgdGhpcy5wcmVFeHRlcm5hbEFjdGlvbih0aGlzLmNvbnRhY3RzLnBob25lLCAoKTogV2luZG93ID0+IHdpbmRvdy5vcGVuKHVybCwgJ19zeXN0ZW0nKSk7XG4gIH1cblxuICBwcml2YXRlIHByZUV4dGVybmFsQWN0aW9uKG1lc3NhZ2U6IHN0cmluZywgY2I6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBjb25zdCBoZWFkZXIgPSB0aGlzLl90cmFuc2xhdGUuXygnQ09NTU9OLkRPX1lPVV9XQU5UX1RPX1BST0NFRUQnKTtcbiAgICBjb25zdCBidXR0b25zID0gW1xuICAgICAgeyB0ZXh0OiB0aGlzLl90cmFuc2xhdGUuXygnQ09NTU9OLkNBTkNFTCcpIH0sXG4gICAgICB7IHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5fKCdDT01NT04uQ09ORklSTScpLCBoYW5kbGVyOiAoKTogdm9pZCA9PiBjYigpIH1cbiAgICBdO1xuICAgIGNvbnN0IGNzc0NsYXNzID0gJ3NlbGVjdGFibGVBbGVydE1lc3NhZ2UnO1xuICAgIHRoaXMuX2FsZXJ0LmNyZWF0ZSh7IGhlYWRlciwgbWVzc2FnZSwgYnV0dG9ucywgY3NzQ2xhc3MgfSkudGhlbihhbGVydCA9PiBhbGVydC5wcmVzZW50KCkpO1xuICB9XG59XG4iXX0=
|