@agorapulse/ui-components 2.5.0 → 13.0.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/agorapulse-ui-components-13.0.0.tgz +0 -0
- package/agorapulse-ui-components.d.ts +1 -5
- package/esm2020/agorapulse-ui-components.mjs +5 -0
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/esm2020/src/lib/add-comment/add-comment.component.mjs +62 -0
- package/esm2020/src/lib/agorapulse-ui-components.module.mjs +520 -0
- package/esm2020/src/lib/avatar/avatar.component.mjs +92 -0
- package/{esm2015/src/lib/confirm-modal/confirm-modal-texts.model.js → esm2020/src/lib/confirm-modal/confirm-modal-texts.model.mjs} +0 -0
- package/esm2020/src/lib/confirm-modal/confirm-modal.component.mjs +61 -0
- package/esm2020/src/lib/datepicker/datepicker.component.mjs +219 -0
- package/esm2020/src/lib/directives/autosize-textarea.directive.mjs +43 -0
- package/esm2020/src/lib/directives/default-image.directive.mjs +29 -0
- package/esm2020/src/lib/directives/ellipsis.directive.mjs +87 -0
- package/esm2020/src/lib/directives/equal-validator.directive.mjs +64 -0
- package/esm2020/src/lib/directives/frozen-gif.directive.mjs +116 -0
- package/esm2020/src/lib/directives/multi-style-text.directive.mjs +101 -0
- package/esm2020/src/lib/directives/truncate-tooltip.directive.mjs +33 -0
- package/esm2020/src/lib/dots-stepper/dots-stepper.component.mjs +43 -0
- package/esm2020/src/lib/edit-tag-modal/edit-tags-modal.component.mjs +147 -0
- package/{esm2015/src/lib/edit-tag-modal/model/edit-tags-modal.model.js → esm2020/src/lib/edit-tag-modal/model/edit-tags-modal.model.mjs} +0 -0
- package/esm2020/src/lib/feature-onboarding/feature-onboarding.component.mjs +35 -0
- package/esm2020/src/lib/image-carousel/image-carousel.component.mjs +152 -0
- package/{esm2015/src/lib/lead-modal/lead-info.model.js → esm2020/src/lib/lead-modal/lead-info.model.mjs} +0 -0
- package/esm2020/src/lib/lead-modal/lead-modal.component.mjs +49 -0
- package/esm2020/src/lib/media-display-overlay/media-display-overlay-dialog.component.mjs +87 -0
- package/esm2020/src/lib/modal/modal.component.mjs +96 -0
- package/esm2020/src/lib/notification/notification.component.mjs +17 -0
- package/esm2020/src/lib/overlay/overlay-dialog-service.component.mjs +61 -0
- package/esm2020/src/lib/overlay/overlay-dialog.component.mjs +33 -0
- package/esm2020/src/lib/overlay-in-div/overlay-in-div.component.mjs +27 -0
- package/esm2020/src/lib/paginator/paginator-button/paginator-button.component.mjs +23 -0
- package/esm2020/src/lib/paginator/paginator.component.mjs +54 -0
- package/esm2020/src/lib/password-input/password-input.component.mjs +68 -0
- package/esm2020/src/lib/password-strength-bar/password-strength-bar.component.mjs +83 -0
- package/esm2020/src/lib/password-strength-display-bar/password-strength-display-bar.component.mjs +45 -0
- package/esm2020/src/lib/phone-number-input/phone-number-input.component.mjs +144 -0
- package/esm2020/src/lib/places/place-list.component.mjs +11 -0
- package/esm2020/src/lib/places/place.component.mjs +14 -0
- package/{esm2015/src/lib/popmenu/options.js → esm2020/src/lib/popmenu/options.mjs} +0 -0
- package/{esm2015/src/lib/popmenu/popmenu-options.interface.js → esm2020/src/lib/popmenu/popmenu-options.interface.mjs} +0 -0
- package/{esm2015/src/lib/popmenu/popmenu-options.service.js → esm2020/src/lib/popmenu/popmenu-options.service.mjs} +0 -0
- package/esm2020/src/lib/popmenu/popmenu.component.mjs +344 -0
- package/esm2020/src/lib/popmenu/popmenu.directive.mjs +235 -0
- package/esm2020/src/lib/popmenu/popmenu.module.mjs +45 -0
- package/esm2020/src/lib/slide-toggle/slide-toggle.component.mjs +66 -0
- package/esm2020/src/lib/snackbar/snackbar.component.mjs +21 -0
- package/esm2020/src/lib/snackbars-thread/component/snackbars-thread.component.mjs +70 -0
- package/{esm2015/src/lib/snackbars-thread/model/snackbars-thread.model.js → esm2020/src/lib/snackbars-thread/model/snackbars-thread.model.mjs} +0 -0
- package/esm2020/src/lib/snackbars-thread/service/snackbars-thread.service.mjs +41 -0
- package/{esm2015/src/lib/snackbars-thread/utils/const/snackbars-thread.const.js → esm2020/src/lib/snackbars-thread/utils/const/snackbars-thread.const.mjs} +0 -0
- package/esm2020/src/lib/splashscreen/splashscreen.component.mjs +43 -0
- package/esm2020/src/lib/star-rating/star-rating.component.mjs +43 -0
- package/{esm2015/src/lib/stepper/step.model.js → esm2020/src/lib/stepper/step.model.mjs} +0 -0
- package/esm2020/src/lib/stepper/stepper.component.mjs +36 -0
- package/esm2020/src/lib/tags/tag-list.component.mjs +11 -0
- package/esm2020/src/lib/tags/tag.component.mjs +20 -0
- package/esm2020/src/lib/tags-selector/tags-selector.component.mjs +81 -0
- package/esm2020/src/lib/timepicker/timepicker.component.mjs +383 -0
- package/esm2020/src/lib/tooltip-neo/tooltip-neo.component.mjs +49 -0
- package/{esm2015/src/lib/tooltip-neo/tooltip-neo.const.js → esm2020/src/lib/tooltip-neo/tooltip-neo.const.mjs} +0 -0
- package/esm2020/src/lib/tooltip-neo/tooltip-neo.directive.mjs +106 -0
- package/{esm2015/src/lib/tooltip-neo/tooltip-neo.model.js → esm2020/src/lib/tooltip-neo/tooltip-neo.model.mjs} +0 -0
- package/esm2020/src/lib/tooltip-neo/tooltip-neo.service.mjs +17 -0
- package/{esm2015/src/lib/try-popup/try-popup-texts.model.js → esm2020/src/lib/try-popup/try-popup-texts.model.mjs} +0 -0
- package/esm2020/src/lib/try-popup/try-popup.component.mjs +37 -0
- package/fesm2015/agorapulse-ui-components.mjs +4183 -0
- package/fesm2015/agorapulse-ui-components.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components.mjs +4158 -0
- package/fesm2020/agorapulse-ui-components.mjs.map +1 -0
- package/package.json +29 -19
- package/src/lib/add-comment/add-comment.component.d.ts +3 -0
- package/src/lib/agorapulse-ui-components.module.d.ts +78 -0
- package/src/lib/avatar/avatar.component.d.ts +3 -0
- package/src/lib/confirm-modal/confirm-modal.component.d.ts +3 -0
- package/src/lib/datepicker/datepicker.component.d.ts +3 -0
- package/src/lib/directives/autosize-textarea.directive.d.ts +3 -0
- package/src/lib/directives/default-image.directive.d.ts +3 -0
- package/src/lib/directives/ellipsis.directive.d.ts +3 -0
- package/src/lib/directives/equal-validator.directive.d.ts +3 -0
- package/src/lib/directives/frozen-gif.directive.d.ts +3 -0
- package/src/lib/directives/multi-style-text.directive.d.ts +3 -0
- package/src/lib/directives/truncate-tooltip.directive.d.ts +3 -0
- package/src/lib/dots-stepper/dots-stepper.component.d.ts +3 -0
- package/src/lib/edit-tag-modal/edit-tags-modal.component.d.ts +3 -0
- package/src/lib/feature-onboarding/feature-onboarding.component.d.ts +3 -0
- package/src/lib/image-carousel/image-carousel.component.d.ts +3 -0
- package/src/lib/lead-modal/lead-modal.component.d.ts +3 -0
- package/src/lib/media-display-overlay/media-display-overlay-dialog.component.d.ts +3 -0
- package/src/lib/modal/modal.component.d.ts +3 -0
- package/src/lib/notification/notification.component.d.ts +3 -0
- package/src/lib/overlay/overlay-dialog-service.component.d.ts +3 -0
- package/src/lib/overlay/overlay-dialog.component.d.ts +3 -0
- package/src/lib/overlay-in-div/overlay-in-div.component.d.ts +3 -0
- package/src/lib/paginator/paginator-button/paginator-button.component.d.ts +3 -0
- package/src/lib/paginator/paginator.component.d.ts +3 -0
- package/src/lib/password-input/password-input.component.d.ts +3 -0
- package/src/lib/password-strength-bar/password-strength-bar.component.d.ts +3 -0
- package/src/lib/password-strength-display-bar/password-strength-display-bar.component.d.ts +3 -0
- package/src/lib/phone-number-input/phone-number-input.component.d.ts +3 -0
- package/src/lib/places/place-list.component.d.ts +3 -0
- package/src/lib/places/place.component.d.ts +3 -0
- package/src/lib/popmenu/popmenu.component.d.ts +3 -0
- package/src/lib/popmenu/popmenu.directive.d.ts +3 -0
- package/src/lib/popmenu/popmenu.module.d.ts +8 -0
- package/src/lib/slide-toggle/slide-toggle.component.d.ts +3 -0
- package/src/lib/snackbar/snackbar.component.d.ts +3 -0
- package/src/lib/snackbars-thread/component/snackbars-thread.component.d.ts +3 -0
- package/src/lib/snackbars-thread/service/snackbars-thread.service.d.ts +3 -0
- package/src/lib/splashscreen/splashscreen.component.d.ts +3 -0
- package/src/lib/star-rating/star-rating.component.d.ts +3 -0
- package/src/lib/stepper/stepper.component.d.ts +3 -0
- package/src/lib/tags/tag-list.component.d.ts +3 -0
- package/src/lib/tags/tag.component.d.ts +3 -0
- package/src/lib/tags-selector/tags-selector.component.d.ts +3 -0
- package/src/lib/timepicker/timepicker.component.d.ts +3 -0
- package/src/lib/tooltip-neo/tooltip-neo.component.d.ts +3 -0
- package/src/lib/tooltip-neo/tooltip-neo.directive.d.ts +3 -0
- package/src/lib/tooltip-neo/tooltip-neo.service.d.ts +3 -0
- package/src/lib/try-popup/try-popup.component.d.ts +3 -0
- package/agorapulse-ui-components-2.5.0.tgz +0 -0
- package/agorapulse-ui-components.metadata.json +0 -1
- package/bundles/agorapulse-ui-components.umd.js +0 -4448
- package/bundles/agorapulse-ui-components.umd.js.map +0 -1
- package/esm2015/agorapulse-ui-components.js +0 -10
- package/esm2015/src/lib/add-comment/add-comment.component.js +0 -54
- package/esm2015/src/lib/agorapulse-ui-components.module.js +0 -279
- package/esm2015/src/lib/avatar/avatar.component.js +0 -82
- package/esm2015/src/lib/confirm-modal/confirm-modal.component.js +0 -59
- package/esm2015/src/lib/datepicker/datepicker.component.js +0 -213
- package/esm2015/src/lib/directives/autosize-textarea.directive.js +0 -43
- package/esm2015/src/lib/directives/default-image.directive.js +0 -25
- package/esm2015/src/lib/directives/ellipsis.directive.js +0 -82
- package/esm2015/src/lib/directives/equal-validator.directive.js +0 -53
- package/esm2015/src/lib/directives/frozen-gif.directive.js +0 -113
- package/esm2015/src/lib/directives/multi-style-text.directive.js +0 -103
- package/esm2015/src/lib/directives/truncate-tooltip.directive.js +0 -36
- package/esm2015/src/lib/dots-stepper/dots-stepper.component.js +0 -41
- package/esm2015/src/lib/edit-tag-modal/edit-tags-modal.component.js +0 -129
- package/esm2015/src/lib/feature-onboarding/feature-onboarding.component.js +0 -35
- package/esm2015/src/lib/image-carousel/image-carousel.component.js +0 -143
- package/esm2015/src/lib/lead-modal/lead-modal.component.js +0 -47
- package/esm2015/src/lib/media-display-overlay/media-display-overlay-dialog.component.js +0 -87
- package/esm2015/src/lib/modal/modal.component.js +0 -88
- package/esm2015/src/lib/notification/notification.component.js +0 -18
- package/esm2015/src/lib/overlay/overlay-dialog-service.component.js +0 -62
- package/esm2015/src/lib/overlay/overlay-dialog.component.js +0 -33
- package/esm2015/src/lib/overlay-in-div/overlay-in-div.component.js +0 -23
- package/esm2015/src/lib/paginator/paginator-button/paginator-button.component.js +0 -22
- package/esm2015/src/lib/paginator/paginator.component.js +0 -47
- package/esm2015/src/lib/password-input/password-input.component.js +0 -65
- package/esm2015/src/lib/password-strength-bar/password-strength-bar.component.js +0 -82
- package/esm2015/src/lib/password-strength-display-bar/password-strength-display-bar.component.js +0 -41
- package/esm2015/src/lib/phone-number-input/phone-number-input.component.js +0 -123
- package/esm2015/src/lib/places/place-list.component.js +0 -12
- package/esm2015/src/lib/places/place.component.js +0 -15
- package/esm2015/src/lib/popmenu/popmenu.component.js +0 -322
- package/esm2015/src/lib/popmenu/popmenu.directive.js +0 -215
- package/esm2015/src/lib/popmenu/popmenu.module.js +0 -38
- package/esm2015/src/lib/slide-toggle/slide-toggle.component.js +0 -59
- package/esm2015/src/lib/snackbar/snackbar.component.js +0 -22
- package/esm2015/src/lib/snackbars-thread/component/snackbars-thread.component.js +0 -50
- package/esm2015/src/lib/snackbars-thread/service/snackbars-thread.service.js +0 -44
- package/esm2015/src/lib/splashscreen/splashscreen.component.js +0 -37
- package/esm2015/src/lib/star-rating/star-rating.component.js +0 -38
- package/esm2015/src/lib/stepper/stepper.component.js +0 -37
- package/esm2015/src/lib/tags/tag-list.component.js +0 -12
- package/esm2015/src/lib/tags/tag.component.js +0 -20
- package/esm2015/src/lib/tags-selector/tags-selector.component.js +0 -73
- package/esm2015/src/lib/timepicker/timepicker.component.js +0 -375
- package/esm2015/src/lib/tooltip-neo/tooltip-neo.component.js +0 -46
- package/esm2015/src/lib/tooltip-neo/tooltip-neo.directive.js +0 -107
- package/esm2015/src/lib/tooltip-neo/tooltip-neo.service.js +0 -15
- package/esm2015/src/lib/try-popup/try-popup.component.js +0 -33
- package/fesm2015/agorapulse-ui-components.js +0 -3805
- package/fesm2015/agorapulse-ui-components.js.map +0 -1
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, Input } from '@angular/core';
|
|
2
|
-
export class GifService {
|
|
3
|
-
static isGif(src) {
|
|
4
|
-
return src && src.split('?')[0].endsWith('.gif');
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* If the image is a GIF then replace the img element by a canvas containing a frozen gif.
|
|
9
|
-
* Note 1: if the image is displayed under a condition, the condition must be applied on the parent of the image, so the
|
|
10
|
-
* new canvas element will have the same condition.
|
|
11
|
-
* Note 2: the image must not have the properties "display" and "visibility" in its style. Since they are used to frozen
|
|
12
|
-
* the GIF. You need to apply this properties on the parent element.
|
|
13
|
-
* Note 3: If the GIF is frozen, all the event are propagated to the image. However, all events are dispatched
|
|
14
|
-
* with an Event instance. Ex: click event is not dispatched with a MouseEvent instance.
|
|
15
|
-
*/
|
|
16
|
-
export class FrozenGifDirective {
|
|
17
|
-
constructor(elementRef) {
|
|
18
|
-
this.elementRef = elementRef;
|
|
19
|
-
this.frozen = true;
|
|
20
|
-
// Add all the events that need to be propagated.
|
|
21
|
-
this.events = ['click'];
|
|
22
|
-
const element = this.elementRef.nativeElement;
|
|
23
|
-
if (!(element instanceof HTMLImageElement)) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
this.element = element;
|
|
27
|
-
}
|
|
28
|
-
ngOnChanges(changes) {
|
|
29
|
-
let freeze = false;
|
|
30
|
-
if (changes.src) {
|
|
31
|
-
freeze = true;
|
|
32
|
-
}
|
|
33
|
-
if (changes.frozen) {
|
|
34
|
-
if (changes.frozen.currentValue) {
|
|
35
|
-
freeze = true;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
this.unfreeze();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (freeze) {
|
|
42
|
-
this.freeze();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
freeze() {
|
|
46
|
-
if (!GifService.isGif(this.src) || !this.frozen) {
|
|
47
|
-
this.unfreeze();
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
// hack to avoid displaying the GIF before replacing it by the canvas
|
|
51
|
-
this.element.style.visibility = 'hidden';
|
|
52
|
-
this.element.addEventListener('load', () => this.addCanvas());
|
|
53
|
-
}
|
|
54
|
-
addCanvas() {
|
|
55
|
-
if (this.canvas) {
|
|
56
|
-
this.canvas.remove();
|
|
57
|
-
}
|
|
58
|
-
this.canvas = document.createElement('canvas');
|
|
59
|
-
this.canvas.width = this.element.width;
|
|
60
|
-
this.canvas.height = this.element.height;
|
|
61
|
-
this.canvas.getContext('2d').drawImage(this.element, 0, 0, this.canvas.width, this.canvas.height);
|
|
62
|
-
for (let i = 0; i < this.element.attributes.length; i++) {
|
|
63
|
-
const attr = this.element.attributes[i];
|
|
64
|
-
if (attr.name === 'id') { // avoid two elements with the same id
|
|
65
|
-
this.canvas.setAttribute('id', attr.value + '_frozenGif');
|
|
66
|
-
}
|
|
67
|
-
else if (attr.name === 'style' && attr.value.includes('visibility: hidden;') || attr.value.includes('display: none;')) {
|
|
68
|
-
// remove the added 'visibility: hidden' and 'display: none'
|
|
69
|
-
const styleValue = attr.value;
|
|
70
|
-
this.canvas.setAttribute('style', styleValue.replace('visibility: hidden;', '').replace('display: none;', ''));
|
|
71
|
-
}
|
|
72
|
-
else if (attr.name !== '"') { // test for invalid attributes
|
|
73
|
-
this.canvas.setAttribute(attr.name, attr.value);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
this.addEvents();
|
|
77
|
-
this.element.parentNode.insertBefore(this.canvas, this.element);
|
|
78
|
-
this.element.style.display = 'none';
|
|
79
|
-
}
|
|
80
|
-
addEvents() {
|
|
81
|
-
this.events.forEach((eventName) => {
|
|
82
|
-
this.canvas.addEventListener(eventName, (ev) => this.element.dispatchEvent(
|
|
83
|
-
// wm: find a way to dispatch the right event type
|
|
84
|
-
new Event(ev.type, ev)));
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
unfreeze() {
|
|
88
|
-
if (this.canvas) {
|
|
89
|
-
this.canvas.remove();
|
|
90
|
-
this.canvas = null;
|
|
91
|
-
}
|
|
92
|
-
this.element.style.visibility = 'inherit';
|
|
93
|
-
this.element.style.display = 'inherit';
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
FrozenGifDirective.decorators = [
|
|
97
|
-
{ type: Directive, args: [{
|
|
98
|
-
selector: 'img[apFrozenGif]',
|
|
99
|
-
host: {
|
|
100
|
-
'[src]': 'src'
|
|
101
|
-
}
|
|
102
|
-
},] }
|
|
103
|
-
];
|
|
104
|
-
/** @nocollapse */
|
|
105
|
-
FrozenGifDirective.ctorParameters = () => [
|
|
106
|
-
{ type: ElementRef }
|
|
107
|
-
];
|
|
108
|
-
FrozenGifDirective.propDecorators = {
|
|
109
|
-
src: [{ type: Input }],
|
|
110
|
-
frozen: [{ type: Input, args: ['apFrozen',] }],
|
|
111
|
-
events: [{ type: Input, args: ['apGifEvents',] }]
|
|
112
|
-
};
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLWdpZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL2Zyb3plbi1naWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUV0RSxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQVc7UUFDcEIsT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNKO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBUzNCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFQdkIsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNqQyxpREFBaUQ7UUFDM0IsV0FBTSxHQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFNL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLGdCQUFnQixDQUFDLEVBQUU7WUFDeEMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFZO1FBQ3BCLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZ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QUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEMsQ0FBQztJQUVPLFNBQVM7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQWlCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQzdFLGtEQUFrRDtZQUNsRCxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUN6QixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxRQUFRO1FBQ1osSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztJQUMzQyxDQUFDOzs7WUFsR0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLElBQUksRUFBRTtvQkFDRixPQUFPLEVBQUUsS0FBSztpQkFDakI7YUFDSjs7OztZQXZCa0IsVUFBVTs7O2tCQXlCeEIsS0FBSztxQkFDTCxLQUFLLFNBQUMsVUFBVTtxQkFFaEIsS0FBSyxTQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBHaWZTZXJ2aWNlIHtcbiAgICBzdGF0aWMgaXNHaWYoc3JjOiBTdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHNyYyAmJiBzcmMuc3BsaXQoJz8nKVswXS5lbmRzV2l0aCgnLmdpZicpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBJZiB0aGUgaW1hZ2UgaXMgYSBHSUYgdGhlbiByZXBsYWNlIHRoZSBpbWcgZWxlbWVudCBieSBhIGNhbnZhcyBjb250YWluaW5nIGEgZnJvemVuIGdpZi5cbiAqIE5vdGUgMTogaWYgdGhlIGltYWdlIGlzIGRpc3BsYXllZCB1bmRlciBhIGNvbmRpdGlvbiwgdGhlIGNvbmRpdGlvbiBtdXN0IGJlIGFwcGxpZWQgb24gdGhlIHBhcmVudCBvZiB0aGUgaW1hZ2UsIHNvIHRoZVxuICogbmV3IGNhbnZhcyBlbGVtZW50IHdpbGwgaGF2ZSB0aGUgc2FtZSBjb25kaXRpb24uXG4gKiBOb3RlIDI6IHRoZSBpbWFnZSBtdXN0IG5vdCBoYXZlIHRoZSBwcm9wZXJ0aWVzIFwiZGlzcGxheVwiIGFuZCBcInZpc2liaWxpdHlcIiBpbiBpdHMgc3R5bGUuIFNpbmNlIHRoZXkgYXJlIHVzZWQgdG8gZnJvemVuXG4gKiB0aGUgR0lGLiBZb3UgbmVlZCB0byBhcHBseSB0aGlzIHByb3BlcnRpZXMgb24gdGhlIHBhcmVudCBlbGVtZW50LlxuICogTm90ZSAzOiBJZiB0aGUgR0lGIGlzIGZyb3plbiwgYWxsIHRoZSBldmVudCBhcmUgcHJvcGFnYXRlZCB0byB0aGUgaW1hZ2UuIEhvd2V2ZXIsIGFsbCBldmVudHMgYXJlIGRpc3BhdGNoZWRcbiAqIHdpdGggYW4gRXZlbnQgaW5zdGFuY2UuIEV4OiBjbGljayBldmVudCBpcyBub3QgZGlzcGF0Y2hlZCB3aXRoIGEgTW91c2VFdmVudCBpbnN0YW5jZS5cbiAqL1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2ltZ1thcEZyb3plbkdpZl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tzcmNdJzogJ3NyYydcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEZyb3plbkdpZkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgc3JjOiBzdHJpbmc7XG4gICAgQElucHV0KCdhcEZyb3plbicpIGZyb3plbiA9IHRydWU7XG4gICAgLy8gQWRkIGFsbCB0aGUgZXZlbnRzIHRoYXQgbmVlZCB0byBiZSBwcm9wYWdhdGVkLlxuICAgIEBJbnB1dCgnYXBHaWZFdmVudHMnKSBldmVudHM6IHN0cmluZ1tdID0gWydjbGljayddO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBIVE1MSW1hZ2VFbGVtZW50O1xuICAgIHByaXZhdGUgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmICghKGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IGZyZWV6ZSA9IGZhbHNlO1xuICAgICAgICBpZiAoY2hhbmdlcy5zcmMpIHtcbiAgICAgICAgICAgIGZyZWV6ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuZnJvemVuKSB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlcy5mcm96ZW4uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgZnJlZXplID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy51bmZyZWV6ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZyZWV6ZSkge1xuICAgICAgICAgICAgdGhpcy5mcmVlemUoKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmcmVlemUoKSB7XG4gICAgICAgIGlmICghR2lmU2VydmljZS5pc0dpZih0aGlzLnNyYykgfHwgIXRoaXMuZnJvemVuKSB7XG4gICAgICAgICAgICB0aGlzLnVuZnJlZXplKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBoYWNrIHRvIGF2b2lkIGRpc3BsYXlpbmcgdGhlIEdJRiBiZWZvcmUgcmVwbGFjaW5nIGl0IGJ5IHRoZSBjYW52YXNcbiAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB0aGlzLmFkZENhbnZhcygpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZENhbnZhcygpIHtcbiAgICAgICAgaWYgKHRoaXMuY2FudmFzKSB7XG4gICAgICAgICAgICB0aGlzLmNhbnZhcy5yZW1vdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIHRoaXMuY2FudmFzLndpZHRoID0gdGhpcy5lbGVtZW50LndpZHRoO1xuICAgICAgICB0aGlzLmNhbnZhcy5oZWlnaHQgPSB0aGlzLmVsZW1lbnQuaGVpZ2h0O1xuICAgICAgICB0aGlzLmNhbnZhcy5nZXRDb250ZXh0KCcyZCcpLmRyYXdJbWFnZSh0aGlzLmVsZW1lbnQsIDAsIDAsIHRoaXMuY2FudmFzLndpZHRoLCB0aGlzLmNhbnZhcy5oZWlnaHQpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZWxlbWVudC5hdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBhdHRyID0gdGhpcy5lbGVtZW50LmF0dHJpYnV0ZXNbaV07XG4gICAgICAgICAgICBpZiAoYXR0ci5uYW1lID09PSAnaWQnKSB7IC8vIGF2b2lkIHR3byBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIGlkXG4gICAgICAgICAgICAgICAgdGhpcy5jYW52YXMuc2V0QXR0cmlidXRlKCdpZCcsIGF0dHIudmFsdWUgKyAnX2Zyb3plbkdpZicpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChhdHRyLm5hbWUgPT09ICdzdHlsZScgJiYgYXR0ci52YWx1ZS5pbmNsdWRlcygndmlzaWJpbGl0eTogaGlkZGVuOycpIHx8IGF0dHIudmFsdWUuaW5jbHVkZXMoJ2Rpc3BsYXk6IG5vbmU7JykpIHtcbiAgICAgICAgICAgICAgICAvLyByZW1vdmUgdGhlIGFkZGVkICd2aXNpYmlsaXR5OiBoaWRkZW4nIGFuZCAnZGlzcGxheTogbm9uZSdcbiAgICAgICAgICAgICAgICBjb25zdCBzdHlsZVZhbHVlID0gYXR0ci52YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbnZhcy5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgc3R5bGVWYWx1ZS5yZXBsYWNlKCd2aXNpYmlsaXR5OiBoaWRkZW47JywgJycpLnJlcGxhY2UoJ2Rpc3BsYXk6IG5vbmU7JywgJycpKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYXR0ci5uYW1lICE9PSAnXCInKSB7IC8vIHRlc3QgZm9yIGludmFsaWQgYXR0cmlidXRlc1xuICAgICAgICAgICAgICAgIHRoaXMuY2FudmFzLnNldEF0dHJpYnV0ZShhdHRyLm5hbWUsIGF0dHIudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hZGRFdmVudHMoKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5jYW52YXMsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRXZlbnRzKCkge1xuICAgICAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKChldmVudE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIChldjogRXZlbnQpID0+IHRoaXMuZWxlbWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgIC8vIHdtOiBmaW5kIGEgd2F5IHRvIGRpc3BhdGNoIHRoZSByaWdodCBldmVudCB0eXBlXG4gICAgICAgICAgICAgICAgbmV3IEV2ZW50KGV2LnR5cGUsIGV2KVxuICAgICAgICAgICAgKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdW5mcmVlemUoKSB7XG4gICAgICAgIGlmICh0aGlzLmNhbnZhcykge1xuICAgICAgICAgICAgdGhpcy5jYW52YXMucmVtb3ZlKCk7XG4gICAgICAgICAgICB0aGlzLmNhbnZhcyA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaW5oZXJpdCc7XG4gICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2luaGVyaXQnO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, Renderer2, ElementRef } from '@angular/core';
|
|
2
|
-
const PART_START = '<ng-container data-mst="';
|
|
3
|
-
const PARSE_MIDDLE = '">';
|
|
4
|
-
const PARSE_END = '</ng-container>';
|
|
5
|
-
const CLASS_SEPARATOR = ',';
|
|
6
|
-
/**
|
|
7
|
-
* This directive aims to parse simple string to extract some specific tags and to turn them into SPAN with styling classes attributes.
|
|
8
|
-
* The specific tags must this schema: <ng-container data-mst="STYLING-CLASSES>TEXT</ng-container>.
|
|
9
|
-
* Example: 'Lorem <ng-container data-mst="my-style">ipsum</ng-container> dolor sit amet'.
|
|
10
|
-
*/
|
|
11
|
-
export class MultiStyleTextDirective {
|
|
12
|
-
constructor(elRef, renderer) {
|
|
13
|
-
this.elRef = elRef;
|
|
14
|
-
this.renderer = renderer;
|
|
15
|
-
this.childrenCreated = [];
|
|
16
|
-
}
|
|
17
|
-
set multiStyleText(fullText) {
|
|
18
|
-
// First remove previously added children (on update).
|
|
19
|
-
for (const child of this.childrenCreated) {
|
|
20
|
-
this.renderer.removeChild(this.elRef.nativeElement, child);
|
|
21
|
-
}
|
|
22
|
-
const parts = MultiStyleTextDirective.parse(fullText);
|
|
23
|
-
for (const part of parts) {
|
|
24
|
-
if (part.clazz) {
|
|
25
|
-
const span = this.renderer.createElement('span');
|
|
26
|
-
const text = this.renderer.createText(part.content);
|
|
27
|
-
this.renderer.appendChild(span, text);
|
|
28
|
-
part.clazz.forEach(clazz => this.renderer.addClass(span, clazz));
|
|
29
|
-
this.renderer.appendChild(this.elRef.nativeElement, span);
|
|
30
|
-
this.childrenCreated.push(span);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
const text = this.renderer.createText(part.content);
|
|
34
|
-
this.renderer.appendChild(this.elRef.nativeElement, text);
|
|
35
|
-
this.childrenCreated.push(text);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
static parse(toParse) {
|
|
40
|
-
const parts = [];
|
|
41
|
-
let startIndex = toParse.indexOf(PART_START);
|
|
42
|
-
while (startIndex >= 0) {
|
|
43
|
-
if (startIndex > 0) {
|
|
44
|
-
// Optional start before parser start.
|
|
45
|
-
parts.push({ content: toParse.substr(0, startIndex) });
|
|
46
|
-
}
|
|
47
|
-
const elem = this.cutFirstGroup(toParse.substr(startIndex));
|
|
48
|
-
if (elem === 'invalid') {
|
|
49
|
-
return [];
|
|
50
|
-
}
|
|
51
|
-
else if (elem) {
|
|
52
|
-
parts.push({ content: elem.content, clazz: elem.classes });
|
|
53
|
-
toParse = elem.rest;
|
|
54
|
-
startIndex = toParse.indexOf(PART_START);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
parts.push({ content: toParse });
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
// Very end
|
|
61
|
-
if (toParse.length > 0) {
|
|
62
|
-
parts.push({ content: toParse });
|
|
63
|
-
}
|
|
64
|
-
return parts;
|
|
65
|
-
}
|
|
66
|
-
static cutFirstGroup(toCut) {
|
|
67
|
-
if (!toCut.startsWith(PART_START)) {
|
|
68
|
-
// String doesnt start with expected parser start.
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
const afterParserStart = toCut.substr(PART_START.length);
|
|
72
|
-
let index = afterParserStart.indexOf(PARSE_MIDDLE);
|
|
73
|
-
if (index <= 0) {
|
|
74
|
-
console.error('Not able to parse invalid string: ' + toCut);
|
|
75
|
-
return 'invalid';
|
|
76
|
-
}
|
|
77
|
-
const classes = afterParserStart.substr(0, index);
|
|
78
|
-
let rest = afterParserStart.substr(index + PARSE_MIDDLE.length);
|
|
79
|
-
index = rest.indexOf(PARSE_END);
|
|
80
|
-
if (index <= 0) {
|
|
81
|
-
console.error('Not able to parse invalid string: ' + toCut);
|
|
82
|
-
return 'invalid';
|
|
83
|
-
}
|
|
84
|
-
const content = rest.substr(0, index);
|
|
85
|
-
rest = rest.substr(index + PARSE_END.length);
|
|
86
|
-
return { content, classes: classes.split(CLASS_SEPARATOR), rest };
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
MultiStyleTextDirective.decorators = [
|
|
90
|
-
{ type: Directive, args: [{
|
|
91
|
-
// tslint:disable-next-line:directive-selector
|
|
92
|
-
selector: '[multiStyleText]'
|
|
93
|
-
},] }
|
|
94
|
-
];
|
|
95
|
-
/** @nocollapse */
|
|
96
|
-
MultiStyleTextDirective.ctorParameters = () => [
|
|
97
|
-
{ type: ElementRef },
|
|
98
|
-
{ type: Renderer2 }
|
|
99
|
-
];
|
|
100
|
-
MultiStyleTextDirective.propDecorators = {
|
|
101
|
-
multiStyleText: [{ type: Input }]
|
|
102
|
-
};
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc3R5bGUtdGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL211bHRpLXN0eWxlLXRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdEUsTUFBTSxVQUFVLEdBQUcsMEJBQTBCLENBQUM7QUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBQzFCLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDO0FBQ3BDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztBQU81Qjs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLHVCQUF1QjtJQTRCaEMsWUFDWSxLQUFpQixFQUNqQixRQUFtQjtRQURuQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVc7UUE1QnZCLG9CQUFlLEdBQVUsRUFBRSxDQUFDO0lBOEJwQyxDQUFDO0lBNUJELElBQWEsY0FBYyxDQUFDLFFBQWdCO1FBQ3hDLHNEQUFzRDtRQUN0RCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDOUQ7UUFFRCxNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdEQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDdEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNaLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0s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LE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDNUQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDNUQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTdDLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDcEUsQ0FBQzs7O1lBeEZKLFNBQVMsU0FBQztnQkFDUCw4Q0FBOEM7Z0JBQzlDLFFBQVEsRUFBRSxrQkFBa0I7YUFDL0I7Ozs7WUFwQm9DLFVBQVU7WUFBckIsU0FBUzs7OzZCQXlCOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgUmVuZGVyZXIyLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgUEFSVF9TVEFSVCA9ICc8bmctY29udGFpbmVyIGRhdGEtbXN0PVwiJztcbmNvbnN0IFBBUlNFX01JRERMRSA9ICdcIj4nO1xuY29uc3QgUEFSU0VfRU5EID0gJzwvbmctY29udGFpbmVyPic7XG5jb25zdCBDTEFTU19TRVBBUkFUT1IgPSAnLCc7XG5cbmludGVyZmFjZSBQYXJ0IHtcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgY2xheno/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSBhaW1zIHRvIHBhcnNlIHNpbXBsZSBzdHJpbmcgdG8gZXh0cmFjdCBzb21lIHNwZWNpZmljIHRhZ3MgYW5kIHRvIHR1cm4gdGhlbSBpbnRvIFNQQU4gd2l0aCBzdHlsaW5nIGNsYXNzZXMgYXR0cmlidXRlcy5cbiAqIFRoZSBzcGVjaWZpYyB0YWdzIG11c3QgdGhpcyBzY2hlbWE6IDxuZy1jb250YWluZXIgZGF0YS1tc3Q9XCJTVFlMSU5HLUNMQVNTRVM+VEVYVDwvbmctY29udGFpbmVyPi5cbiAqIEV4YW1wbGU6ICdMb3JlbSA8bmctY29udGFpbmVyIGRhdGEtbXN0PVwibXktc3R5bGVcIj5pcHN1bTwvbmctY29udGFpbmVyPiBkb2xvciBzaXQgYW1ldCcuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1ttdWx0aVN0eWxlVGV4dF0nXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU3R5bGVUZXh0RGlyZWN0aXZlIHtcblxuICAgIHByaXZhdGUgY2hpbGRyZW5DcmVhdGVkOiBhbnlbXSA9IFtdO1xuXG4gICAgQElucHV0KCkgc2V0IG11bHRpU3R5bGVUZXh0KGZ1bGxUZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgLy8gRmlyc3QgcmVtb3ZlIHByZXZpb3VzbHkgYWRkZWQgY2hpbGRyZW4gKG9uIHVwZGF0ZSkuXG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5jaGlsZHJlbkNyZWF0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCBjaGlsZCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJ0cyA9IE11bHRpU3R5bGVUZXh0RGlyZWN0aXZlLnBhcnNlKGZ1bGxUZXh0KTtcblxuICAgICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcbiAgICAgICAgICAgIGlmIChwYXJ0LmNsYXp6KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BhbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQocGFydC5jb250ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHNwYW4sIHRleHQpO1xuICAgICAgICAgICAgICAgIHBhcnQuY2xhenouZm9yRWFjaChjbGF6eiA9PiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHNwYW4sIGNsYXp6KSk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsIHNwYW4pO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5DcmVhdGVkLnB1c2goc3Bhbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQocGFydC5jb250ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgdGV4dCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbkNyZWF0ZWQucHVzaCh0ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcGFyc2UodG9QYXJzZTogc3RyaW5nKTogUGFydFtdIHtcbiAgICAgICAgY29uc3QgcGFydHM6IFBhcnRbXSA9IFtdO1xuXG4gICAgICAgIGxldCBzdGFydEluZGV4ID0gdG9QYXJzZS5pbmRleE9mKFBBUlRfU1RBUlQpO1xuICAgICAgICB3aGlsZSAoc3RhcnRJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBpZiAoc3RhcnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICAvLyBPcHRpb25hbCBzdGFydCBiZWZvcmUgcGFyc2VyIHN0YXJ0LlxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goe2NvbnRlbnQ6IHRvUGFyc2Uuc3Vic3RyKDAsIHN0YXJ0SW5kZXgpfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBlbGVtID0gdGhpcy5jdXRGaXJzdEdyb3VwKHRvUGFyc2Uuc3Vic3RyKHN0YXJ0SW5kZXgpKTtcbiAgICAgICAgICAgIGlmIChlbGVtID09PSAnaW52YWxpZCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW0pIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHtjb250ZW50OiBlbGVtLmNvbnRlbnQsIGNsYXp6OiBlbGVtLmNsYXNzZXN9KTtcbiAgICAgICAgICAgICAgICB0b1BhcnNlID0gZWxlbS5yZXN0O1xuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggPSB0b1BhcnNlLmluZGV4T2YoUEFSVF9TVEFSVCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goe2NvbnRlbnQ6IHRvUGFyc2V9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBWZXJ5IGVuZFxuICAgICAgICBpZiAodG9QYXJzZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHtjb250ZW50OiB0b1BhcnNlfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcnRzO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGN1dEZpcnN0R3JvdXAodG9DdXQ6IHN0cmluZyk6IHtjb250ZW50OiBzdHJpbmcsIGNsYXNzZXM6IHN0cmluZ1tdLCByZXN0OiBzdHJpbmd9IHwgJ2ludmFsaWQnIHwgbnVsbCB7XG4gICAgICAgIGlmICghdG9DdXQuc3RhcnRzV2l0aChQQVJUX1NUQVJUKSkge1xuICAgICAgICAgICAgLy8gU3RyaW5nIGRvZXNudCBzdGFydCB3aXRoIGV4cGVjdGVkIHBhcnNlciBzdGFydC5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWZ0ZXJQYXJzZXJTdGFydCA9IHRvQ3V0LnN1YnN0cihQQVJUX1NUQVJULmxlbmd0aCk7XG4gICAgICAgIGxldCBpbmRleCA9IGFmdGVyUGFyc2VyU3RhcnQuaW5kZXhPZihQQVJTRV9NSURETEUpO1xuICAgICAgICBpZiAoaW5kZXggPD0gMCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignTm90IGFibGUgdG8gcGFyc2UgaW52YWxpZCBzdHJpbmc6ICcgKyB0b0N1dCk7XG4gICAgICAgICAgICByZXR1cm4gJ2ludmFsaWQnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBhZnRlclBhcnNlclN0YXJ0LnN1YnN0cigwLCBpbmRleCk7XG4gICAgICAgIGxldCByZXN0ID0gYWZ0ZXJQYXJzZXJTdGFydC5zdWJzdHIoaW5kZXggKyBQQVJTRV9NSURETEUubGVuZ3RoKTtcbiAgICAgICAgaW5kZXggPSByZXN0LmluZGV4T2YoUEFSU0VfRU5EKTtcbiAgICAgICAgaWYgKGluZGV4IDw9IDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ05vdCBhYmxlIHRvIHBhcnNlIGludmFsaWQgc3RyaW5nOiAnICsgdG9DdXQpO1xuICAgICAgICAgICAgcmV0dXJuICdpbnZhbGlkJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250ZW50ID0gcmVzdC5zdWJzdHIoMCwgaW5kZXgpO1xuICAgICAgICByZXN0ID0gcmVzdC5zdWJzdHIoaW5kZXggKyBQQVJTRV9FTkQubGVuZ3RoKTtcblxuICAgICAgICByZXR1cm4ge2NvbnRlbnQsIGNsYXNzZXM6IGNsYXNzZXMuc3BsaXQoQ0xBU1NfU0VQQVJBVE9SKSwgcmVzdH07XG4gICAgfVxufVxuIl19
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
// Agorapulse
|
|
2
|
-
import { TooltipNeoDirective } from '../tooltip-neo/tooltip-neo.directive';
|
|
3
|
-
// Angular
|
|
4
|
-
import { Directive, ElementRef, Input } from '@angular/core';
|
|
5
|
-
// Third-parties
|
|
6
|
-
import { fromEvent } from "rxjs";
|
|
7
|
-
export class TruncateTooltipDirective {
|
|
8
|
-
constructor(tooltipNeo, elementRef) {
|
|
9
|
-
this.tooltipNeo = tooltipNeo;
|
|
10
|
-
this.elementRef = elementRef;
|
|
11
|
-
}
|
|
12
|
-
updateTruncateState() {
|
|
13
|
-
const element = this.elementRef.nativeElement;
|
|
14
|
-
const truncated = element.scrollWidth > element.clientWidth;
|
|
15
|
-
this.tooltipNeo.apTooltipNeo = truncated ? this.truncateTooltip : '';
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
this.elementRefMouseOver$ = fromEvent(this.elementRef.nativeElement, 'mouseover')
|
|
19
|
-
.subscribe(() => this.updateTruncateState());
|
|
20
|
-
}
|
|
21
|
-
ngOnDestroy() {
|
|
22
|
-
this.elementRefMouseOver$.unsubscribe();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
TruncateTooltipDirective.decorators = [
|
|
26
|
-
{ type: Directive, args: [{ selector: '[apTooltipNeo][truncateTooltip]' },] }
|
|
27
|
-
];
|
|
28
|
-
/** @nocollapse */
|
|
29
|
-
TruncateTooltipDirective.ctorParameters = () => [
|
|
30
|
-
{ type: TooltipNeoDirective },
|
|
31
|
-
{ type: ElementRef }
|
|
32
|
-
];
|
|
33
|
-
TruncateTooltipDirective.propDecorators = {
|
|
34
|
-
truncateTooltip: [{ type: Input }]
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUtdG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3RydW5jYXRlLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGFBQWE7QUFDYixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV6RSxVQUFVO0FBQ1YsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUM5RSxnQkFBZ0I7QUFDaEIsT0FBTyxFQUFDLFNBQVMsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUc3QyxNQUFNLE9BQU8sd0JBQXdCO0lBTWpDLFlBQ1ksVUFBK0IsRUFDL0IsVUFBbUM7UUFEbkMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFFL0MsQ0FBQztJQUVPLG1CQUFtQjtRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQzthQUM1RSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzs7WUExQkosU0FBUyxTQUFDLEVBQUMsUUFBUSxFQUFFLGlDQUFpQyxFQUFDOzs7O1lBUGhELG1CQUFtQjtZQUdSLFVBQVU7Ozs4QkFPeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFnb3JhcHVsc2VcbmltcG9ydCB7VG9vbHRpcE5lb0RpcmVjdGl2ZX0gZnJvbSAnLi4vdG9vbHRpcC1uZW8vdG9vbHRpcC1uZW8uZGlyZWN0aXZlJztcbmltcG9ydCB7VG9vbHRpcE5lb1BhcmFtc30gZnJvbSAnLi4vdG9vbHRpcC1uZW8vdG9vbHRpcC1uZW8ubW9kZWwnO1xuLy8gQW5ndWxhclxuaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBUaGlyZC1wYXJ0aWVzXG5pbXBvcnQge2Zyb21FdmVudCwgU3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1thcFRvb2x0aXBOZW9dW3RydW5jYXRlVG9vbHRpcF0nfSlcbmV4cG9ydCBjbGFzcyBUcnVuY2F0ZVRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSB0cnVuY2F0ZVRvb2x0aXA6IHN0cmluZyB8IFRvb2x0aXBOZW9QYXJhbXM7XG5cbiAgICBwcml2YXRlIGVsZW1lbnRSZWZNb3VzZU92ZXIkOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0b29sdGlwTmVvOiBUb29sdGlwTmVvRGlyZWN0aXZlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUcnVuY2F0ZVN0YXRlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHRydW5jYXRlZCA9IGVsZW1lbnQuc2Nyb2xsV2lkdGggPiBlbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICB0aGlzLnRvb2x0aXBOZW8uYXBUb29sdGlwTmVvID0gdHJ1bmNhdGVkID8gdGhpcy50cnVuY2F0ZVRvb2x0aXAgOiAnJztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmTW91c2VPdmVyJCA9IGZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlb3ZlcicpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlVHJ1bmNhdGVTdGF0ZSgpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmTW91c2VPdmVyJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
export class DotsStepperComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.disabled = false;
|
|
5
|
-
this.forwardAllowed = true;
|
|
6
|
-
this.items = [];
|
|
7
|
-
this.size = '';
|
|
8
|
-
this.dotClick = new EventEmitter();
|
|
9
|
-
}
|
|
10
|
-
ngOnChanges() {
|
|
11
|
-
this.currentItem = this.items[this.index];
|
|
12
|
-
}
|
|
13
|
-
onDotClick(event, item, index) {
|
|
14
|
-
event.stopPropagation();
|
|
15
|
-
if (this.disabled || (!this.forwardAllowed && index > this.index)) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
this.currentItem = item;
|
|
19
|
-
this.index = index;
|
|
20
|
-
this.dotClick.emit(this.index);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
DotsStepperComponent.decorators = [
|
|
24
|
-
{ type: Component, args: [{
|
|
25
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
26
|
-
selector: 'ap-dots-stepper',
|
|
27
|
-
template: "<div class=\"dots\"\n [ngClass]=\"{'small-dots': size == 'small'}\">\n <div class=\"dot\"\n *ngFor=\"let item of items; let i = index\"\n [ngClass]=\"{'active': item === currentItem, 'disabled': disabled || (!forwardAllowed && i > index) }\"\n (click)=\"onDotClick($event, item, i)\">\n </div>\n</div>\n",
|
|
28
|
-
styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid red}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #fff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:#0000}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:initial}[border=transparent]{border:1px solid #0000}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.dots{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:row;place-content:stretch center;position:absolute}.dots .dot{-webkit-transition:all .2s ease-in-out;background:#d6dae0;border-radius:50%;cursor:pointer;height:8px;margin:16px 4px;transition:all .2s ease-in-out;width:8px}.dots .dot.active{background:#178dfe;cursor:auto}.dots .dot.disabled{background:#d6dae0;cursor:auto}.dots.small-dots .dot{height:6px;margin:16px 2px;width:6px}"]
|
|
29
|
-
},] }
|
|
30
|
-
];
|
|
31
|
-
/** @nocollapse */
|
|
32
|
-
DotsStepperComponent.ctorParameters = () => [];
|
|
33
|
-
DotsStepperComponent.propDecorators = {
|
|
34
|
-
disabled: [{ type: Input }],
|
|
35
|
-
forwardAllowed: [{ type: Input }],
|
|
36
|
-
index: [{ type: Input }],
|
|
37
|
-
items: [{ type: Input }],
|
|
38
|
-
size: [{ type: Input }],
|
|
39
|
-
dotClick: [{ type: Output }]
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90cy1zdGVwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2RvdHMtc3RlcHBlci9kb3RzLXN0ZXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFRekcsTUFBTSxPQUFPLG9CQUFvQjtJQVk3QjtRQVZTLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFFL0IsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUNsQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWpCLGFBQVEsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUt0RSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUs7UUFDekIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9ELE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7WUFqQ0osU0FBUyxTQUFDO2dCQUNQLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQiw2VkFBNEM7O2FBRS9DOzs7Ozt1QkFHSSxLQUFLOzZCQUNMLEtBQUs7b0JBQ0wsS0FBSztvQkFDTCxLQUFLO21CQUNMLEtBQUs7dUJBRUwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzZWxlY3RvcjogJ2FwLWRvdHMtc3RlcHBlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RvdHMtc3RlcHBlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG90cy1zdGVwcGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRG90c1N0ZXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBmb3J3YXJkQWxsb3dlZDogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgaW5kZXg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBpdGVtczogYW55W10gPSBbXTtcbiAgICBASW5wdXQoKSBzaXplOiBzdHJpbmcgPSAnJztcblxuICAgIEBPdXRwdXQoKSBkb3RDbGljazogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIGN1cnJlbnRJdGVtOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50SXRlbSA9IHRoaXMuaXRlbXNbdGhpcy5pbmRleF07XG4gICAgfVxuXG4gICAgb25Eb3RDbGljayhldmVudCwgaXRlbSwgaW5kZXgpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8wqAoIXRoaXMuZm9yd2FyZEFsbG93ZWQgJiYgaW5kZXggPiB0aGlzLmluZGV4KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW0gPSBpdGVtO1xuICAgICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuZG90Q2xpY2suZW1pdCh0aGlzLmluZGV4KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { Component, ElementRef, EventEmitter, Inject, ViewChild } from '@angular/core';
|
|
3
|
-
import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { takeUntil } from 'rxjs/operators';
|
|
6
|
-
export class EditTagsModalComponent {
|
|
7
|
-
constructor(data, dialogRef, dialog) {
|
|
8
|
-
this.data = data;
|
|
9
|
-
this.dialogRef = dialogRef;
|
|
10
|
-
this.dialog = dialog;
|
|
11
|
-
this.deletedTags = [];
|
|
12
|
-
this.editTag = new EventEmitter();
|
|
13
|
-
this.savingTags = [];
|
|
14
|
-
this.tagEditedIndex = null;
|
|
15
|
-
this.updatedTags = new Map();
|
|
16
|
-
this.updateStatusByTags = new Map();
|
|
17
|
-
this.destroy$ = new Subject();
|
|
18
|
-
data.tags$.pipe(takeUntil(this.destroy$)).subscribe(tags => {
|
|
19
|
-
if (tags) {
|
|
20
|
-
this.tags = [...tags];
|
|
21
|
-
this.filteredTags = [...tags];
|
|
22
|
-
tags.forEach(tag => this.updatedTags.set(tag, tag));
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
data.updateStatusByTag$.pipe(takeUntil(this.destroy$)).subscribe((updateStatusByTag) => {
|
|
26
|
-
if (updateStatusByTag) {
|
|
27
|
-
const updateStatusByTagMap = new Map();
|
|
28
|
-
updateStatusByTag.forEach(value => {
|
|
29
|
-
updateStatusByTagMap.set(value.tag, value.loading);
|
|
30
|
-
if (value.loading === false) {
|
|
31
|
-
this.updateTagSuccess(value.tag);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
this.updateStatusByTags = updateStatusByTagMap;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
cancelEdit() {
|
|
39
|
-
this.tagEditedIndex = null;
|
|
40
|
-
}
|
|
41
|
-
onDone() {
|
|
42
|
-
this.dialogRef.close();
|
|
43
|
-
}
|
|
44
|
-
onEdit(index) {
|
|
45
|
-
this.tagEditedIndex = index;
|
|
46
|
-
}
|
|
47
|
-
onRemove(tag) {
|
|
48
|
-
this.updatedTags.set(tag, null);
|
|
49
|
-
const updatedTag = new Map();
|
|
50
|
-
updatedTag.set(tag, null);
|
|
51
|
-
this.editTag.emit(updatedTag);
|
|
52
|
-
this.tagEditedIndex = null;
|
|
53
|
-
}
|
|
54
|
-
onValidateInput(index) {
|
|
55
|
-
this.onValidate(this.tagInput.nativeElement.value, index);
|
|
56
|
-
}
|
|
57
|
-
onValidate(value, index) {
|
|
58
|
-
if (value) {
|
|
59
|
-
const entry = Array.from(this.updatedTags.entries()).find(((keyValue) => keyValue[1] === this.tags[index]));
|
|
60
|
-
this.updatedTags.set(entry[0], value);
|
|
61
|
-
const updatedTag = new Map();
|
|
62
|
-
updatedTag.set(entry[0], value);
|
|
63
|
-
this.tags[index] = value;
|
|
64
|
-
this.filteredTags[index] = value;
|
|
65
|
-
this.editTag.emit(updatedTag);
|
|
66
|
-
this.savingTags.push(value);
|
|
67
|
-
this.tagEditedIndex = null;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
onValidateEnter(event, index) {
|
|
71
|
-
if (event.key === 'Enter') {
|
|
72
|
-
this.onValidate(event.target.value, index);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
onSearch(tag) {
|
|
76
|
-
this.filteredTags = Array.from(this.updatedTags.values()).filter((item) => item === null || item === void 0 ? void 0 : item.toLowerCase().includes(tag.toLowerCase()));
|
|
77
|
-
}
|
|
78
|
-
updateTagSuccess(tag) {
|
|
79
|
-
if (this.updatedTags.get(tag) === null) {
|
|
80
|
-
this.deletedTags.push(tag);
|
|
81
|
-
setTimeout(() => {
|
|
82
|
-
this.tags = this.tags.filter(tagToFilter => tagToFilter !== tag);
|
|
83
|
-
this.filteredTags = this.filteredTags.filter(tagToFilter => tagToFilter !== tag);
|
|
84
|
-
this.deletedTags = this.deletedTags.filter(tagToFilter => tagToFilter !== tag);
|
|
85
|
-
}, 2000);
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
setTimeout(() => {
|
|
89
|
-
this.savingTags = this.savingTags.filter(tagToFilter => tagToFilter !== tag);
|
|
90
|
-
}, 6000);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
ngOnDestroy() {
|
|
94
|
-
this.destroy$.next();
|
|
95
|
-
this.destroy$.complete();
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
EditTagsModalComponent.decorators = [
|
|
99
|
-
{ type: Component, args: [{
|
|
100
|
-
template: "<ng-template #headerTemplate>\n <h2 class=\"title\">\n {{ data.translatedString.title }}\n </h2>\n <p class=\"large\">{{ data.translatedString.subtitle }}</p>\n</ng-template>\n<ng-template #mainTemplate>\n <div class=\"main-container\">\n <div class=\"search\">\n <div class=\"input-group\">\n <input type=\"text\"\n placeholder=\"{{ data.translatedString.searchPlaceholder }}\"\n (keyup)=\"onSearch($event.target.value)\">\n <ap-symbol class=\"input-group-append\"\n [symbolId]=\"'search-alternate'\"\n [size]=\"'micro'\">\n </ap-symbol>\n </div>\n </div>\n <div class=\"tags-content\" *ngIf=\"filteredTags\">\n <div class=\"tag-row\" *ngFor=\"let tag of filteredTags;let i=index\"\n [@tagRemoved]=\"deletedTags.includes(filteredTags[i]) ? 'deleted' : 'valid'\">\n <span *ngIf=\"tagEditedIndex !== i\" [class.disabled]=\"tagEditedIndex !== null\"> {{tag}} </span>\n <input type=\"text\" *ngIf=\"tagEditedIndex === i\" [value]=\"filteredTags[i]\"\n (keyup)=\"onValidateEnter($event, i)\" #tagInput/>\n <div class=\"button-container\">\n <img alt=\"spinner-loading\" width=\"20\" height=\"20\" src=\"../../assets/img/spinner_animation.gif\"\n *ngIf=\"updateStatusByTags?.get(filteredTags[i]) || updateStatusByTags?.get(tag)\"/>\n <div class=\"edit-label saved-label\"\n *ngIf=\"updateStatusByTags?.get(filteredTags[i]) === false && tagEditedIndex != i && savingTags.includes(filteredTags[i])\"\n [@tagSaved]>\n <ap-symbol [symbolId]=\"'check-1'\" [size]=\"'pico'\"></ap-symbol>\n {{ data.translatedString.savedLabel }}\n </div>\n <div class=\"edit-label deleted-label\"\n *ngIf=\"updateStatusByTags?.get(filteredTags[i]) === false && updatedTags && updatedTags.has(tag) && updatedTags.get(tag) === null\">\n <ap-symbol [symbolId]=\"'delete-2-alternate'\" [size]=\"'pico'\"></ap-symbol>\n {{ data.translatedString.deletedLabel }}\n </div>\n <button mat-flat-button *ngIf=\"tagEditedIndex !== i\"\n class=\"circle edit-button\"\n (click)=\"onEdit(i)\">\n <ap-symbol [symbolId]=\"'pencil-2'\"></ap-symbol>\n </button>\n <div *ngIf=\"tagEditedIndex === i\">\n <button mat-flat-button\n class=\"circle button-action button-validate\"\n [apTooltipNeo]=\"{content: data.translatedString.validateTooltip}\"\n [color]=\"'#858fa1'\"\n (click)=\"onValidateInput(i)\">\n <ap-symbol symbolId=\"check-2\"></ap-symbol>\n </button>\n <button mat-flat-button\n class=\"circle button-action button-cancel\"\n [apTooltipNeo]=\"{content: data.translatedString.cancelTooltip}\"\n [color]=\"'#858fa1'\"\n (click)=\"cancelEdit()\">\n <ap-symbol symbolId=\"delete-2-alternate\"></ap-symbol>\n </button>\n <button mat-flat-button\n class=\"circle button-action button-remove\"\n [apTooltipNeo]=\"{content: data.translatedString.deleteTooltip}\"\n [color]=\"'#858fa1'\"\n (click)=\"onRemove(tag)\">\n <ap-symbol symbolId=\"bin-2\"></ap-symbol>\n </button>\n </div>\n </div>\n </div>\n\n </div>\n <div class=\"loader\">\n <img alt=\"spinner-loading\" src=\"../../assets/img/spinner_animation.gif\"\n *ngIf=\"!filteredTags\"/>\n </div>\n </div>\n</ng-template>\n<ng-template #footerTemplate>\n <div class=\"footer\">\n <div>\n <button mat-flat-button class=\"done-button\" (click)=\"onDone()\" color=\"primary\">\n {{data.translatedString.doneLabel}}\n </button>\n </div>\n </div>\n\n</ng-template>\n\n<ap-modal class=\"design-system\"\n closable=\"true\"\n [headerTemplate]=\"headerTemplate\"\n [mainTemplate]=\"mainTemplate\"\n [footerTemplate]=\"footerTemplate\"></ap-modal>\n",
|
|
101
|
-
animations: [
|
|
102
|
-
trigger('tagSaved', [
|
|
103
|
-
transition('void => *', [
|
|
104
|
-
style({ opacity: 1 }),
|
|
105
|
-
style({ width: 'fit-content' }),
|
|
106
|
-
style({ display: 'flex' }),
|
|
107
|
-
animate('6000ms', style({ opacity: 0 })),
|
|
108
|
-
]),
|
|
109
|
-
]),
|
|
110
|
-
trigger('tagRemoved', [
|
|
111
|
-
transition('valid => deleted', [
|
|
112
|
-
style({ opacity: 1 }),
|
|
113
|
-
animate('1000ms 1000ms', style({ opacity: 0 })),
|
|
114
|
-
]),
|
|
115
|
-
])
|
|
116
|
-
],
|
|
117
|
-
styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid red}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #fff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:#0000}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:initial}[border=transparent]{border:1px solid #0000}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.title{font-weight:700!important;margin-bottom:16px}p.large{color:#5d6a82;font-size:14px}.max-character-size-notification{margin-top:8px}.content{display:flex;margin-top:16px}.search{padding-bottom:16px}.loader{display:flex;align-items:center;width:100%;flex-direction:column}.tags-content{max-height:245px;overflow-y:scroll;overflow-x:hidden}.tag-row{display:flex;align-items:center;margin-left:-4px;margin-right:-8px;padding:4px;min-height:44px}.tag-row .button-container{flex:1;display:flex;align-items:center}.tag-row .button-container .edit-button{display:none}.tag-row .button-container .edit-label{display:none;align-items:center;opacity:0;background-color:#ecf7ed;color:#45b854;border-radius:25px;align-self:center;width:0;padding:4px 8px;font-weight:700;font-size:10px;line-height:12px}.tag-row .button-container .edit-label ap-symbol{padding-right:4px}.tag-row .button-container .edit-label.deleted-label{display:flex;width:-moz-fit-content;width:fit-content;opacity:1;background-color:#fde7e7;color:#e81313}.tag-row input,.tag-row span{margin-right:8px}.tag-row input{width:252px;max-width:252px}.tag-row:not(.disabled):hover .button-container .edit-button{display:block}.tag-row .disabled{color:#aeb5c1}.notification-warning{margin-bottom:8px}.footer{flex-direction:column}.footer,.footer div{display:flex}.footer p{text-align:right;color:#e81313}.footer .done-button{background-color:#ff6726;color:#fff}.footer .done-button:hover{background-color:#ff560d}.footer .done-button:active{background-color:#ff4d00}:host::ng-deep button,:host::ng-deep input,:host::ng-deep select,:host::ng-deep textarea{outline:none}:host::ng-deep input{border-radius:4px;color:#344563;font-family:Averta;font-size:14px;font-weight:400;padding:8px 16px}:host::ng-deep input::placeholder{color:#aeb5c1}:host::ng-deep input:focus:not(.transparent){border-color:#178dfe}:host::ng-deep .input-group{display:flex;flex-direction:row;width:252px;border:1px solid #d6dae0;border-radius:4px;color:#344563}:host::ng-deep .input-group input{border:none;box-sizing:border-box;width:100%}:host::ng-deep .input-group .input-group-append{position:relative;top:10px;right:10px;height:15px;width:15px;color:#858fa1}"]
|
|
118
|
-
},] }
|
|
119
|
-
];
|
|
120
|
-
/** @nocollapse */
|
|
121
|
-
EditTagsModalComponent.ctorParameters = () => [
|
|
122
|
-
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
|
|
123
|
-
{ type: MatDialogRef },
|
|
124
|
-
{ type: MatDialog }
|
|
125
|
-
];
|
|
126
|
-
EditTagsModalComponent.propDecorators = {
|
|
127
|
-
tagInput: [{ type: ViewChild, args: ['tagInput',] }]
|
|
128
|
-
};
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10YWdzLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2VkaXQtdGFnLW1vZGFsL2VkaXQtdGFncy1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBdUJ6QyxNQUFNLE9BQU8sc0JBQXNCO0lBZS9CLFlBQTRDLElBQXVCLEVBQ2hELFNBQStDLEVBQy9DLE1BQWlCO1FBRlEsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDaEQsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDL0MsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQWZwQyxnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQUMzQixZQUFPLEdBQXNDLElBQUksWUFBWSxFQUF1QixDQUFDO1FBRXJGLGVBQVUsR0FBYSxFQUFFLENBQUM7UUFDMUIsbUJBQWMsR0FBVyxJQUFJLENBQUM7UUFFOUIsZ0JBQVcsR0FBd0IsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDN0QsdUJBQWtCLEdBQTBCLElBQUksR0FBRyxFQUFtQixDQUFDO1FBSXRELGFBQVEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU0zRCxJQUFJLENBQUMsS0FBSyxDQUFDLElB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T0FBTyxDQUFDLFlBQVksRUFBRTt3QkFDbEIsVUFBVSxDQUFDLGtCQUFrQixFQUFFOzRCQUMzQixLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUM7NEJBQ25CLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7eUJBQ2hELENBQUM7cUJBQ0wsQ0FBQztpQkFDTDs7YUFDSjs7Ozs0Q0FnQmdCLE1BQU0sU0FBQyxlQUFlO1lBeENILFlBQVk7WUFBdkIsU0FBUzs7O3VCQW9DN0IsU0FBUyxTQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25EZXN0cm95LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZywgTWF0RGlhbG9nUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VkaXRUYWdzTW9kYWxEYXRhfSBmcm9tICcuL21vZGVsL2VkaXQtdGFncy1tb2RhbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0LXRhZ3MtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VkaXQtdGFncy1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcigndGFnU2F2ZWQnLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgICAgICBzdHlsZSh7d2lkdGg6ICdmaXQtY29udGVudCd9KSxcbiAgICAgICAgICAgICAgICBzdHlsZSh7ZGlzcGxheTogJ2ZsZXgnfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnNjAwMG1zJywgc3R5bGUoe29wYWNpdHk6IDB9KSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoJ3RhZ1JlbW92ZWQnLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2YWxpZCA9PiBkZWxldGVkJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMTAwMG1zIDEwMDBtcycsIHN0eWxlKHtvcGFjaXR5OiAwfSkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBFZGl0VGFnc01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIGRlbGV0ZWRUYWdzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGVkaXRUYWc6IEV2ZW50RW1pdHRlcjxNYXA8c3RyaW5nLCBzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8TWFwPHN0cmluZywgc3RyaW5nPj4oKTtcbiAgICBmaWx0ZXJlZFRhZ3M6IHN0cmluZ1tdO1xuICAgIHNhdmluZ1RhZ3M6IHN0cmluZ1tdID0gW107XG4gICAgdGFnRWRpdGVkSW5kZXg6IG51bWJlciA9IG51bGw7XG4gICAgdGFnczogc3RyaW5nW107XG4gICAgdXBkYXRlZFRhZ3M6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICAgIHVwZGF0ZVN0YXR1c0J5VGFnczogTWFwPHN0cmluZywgYm9vbGVhbj4gID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG5cbiAgICBAVmlld0NoaWxkKCd0YWdJbnB1dCcpIHRhZ0lucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IEVkaXRUYWdzTW9kYWxEYXRhLFxuICAgICAgICAgICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxFZGl0VGFnc01vZGFsQ29tcG9uZW50PixcbiAgICAgICAgICAgICAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2dcbiAgICApIHtcbiAgICAgICAgZGF0YS50YWdzJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHRhZ3MgPT4ge1xuICAgICAgICAgICAgaWYgKHRhZ3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhZ3MgPSBbLi4udGFnc107XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFRhZ3MgPSBbLi4udGFnc107XG4gICAgICAgICAgICAgICAgdGFncy5mb3JFYWNoKHRhZyA9PiB0aGlzLnVwZGF0ZWRUYWdzLnNldCh0YWcsIHRhZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBkYXRhLnVwZGF0ZVN0YXR1c0J5VGFnJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKHVwZGF0ZVN0YXR1c0J5VGFnKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHVwZGF0ZVN0YXR1c0J5VGFnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZVN0YXR1c0J5VGFnTWFwID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZVN0YXR1c0J5VGFnLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdHVzQnlUYWdNYXAuc2V0KHZhbHVlLnRhZywgdmFsdWUubG9hZGluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUubG9hZGluZyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRhZ1N1Y2Nlc3ModmFsdWUudGFnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdHVzQnlUYWdzID0gdXBkYXRlU3RhdHVzQnlUYWdNYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNhbmNlbEVkaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFnRWRpdGVkSW5kZXggPSBudWxsO1xuICAgIH1cblxuICAgIG9uRG9uZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkVkaXQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnRhZ0VkaXRlZEluZGV4ID0gaW5kZXg7XG4gICAgfVxuXG4gICAgb25SZW1vdmUodGFnOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVkVGFncy5zZXQodGFnLCBudWxsKTtcbiAgICAgICAgY29uc3QgdXBkYXRlZFRhZyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgICAgIHVwZGF0ZWRUYWcuc2V0KHRhZywgbnVsbCk7XG4gICAgICAgIHRoaXMuZWRpdFRhZy5lbWl0KHVwZGF0ZWRUYWcpO1xuICAgICAgICB0aGlzLnRhZ0VkaXRlZEluZGV4ID0gbnVsbDtcbiAgICB9XG5cbiAgICBvblZhbGlkYXRlSW5wdXQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVmFsaWRhdGUodGhpcy50YWdJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlLCBpbmRleCk7XG4gICAgfVxuXG4gICAgb25WYWxpZGF0ZSh2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBBcnJheS5mcm9tKHRoaXMudXBkYXRlZFRhZ3MuZW50cmllcygpKS5maW5kKCgoa2V5VmFsdWUpID0+IGtleVZhbHVlWzFdID09PSB0aGlzLnRhZ3NbaW5kZXhdKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWRUYWdzLnNldChlbnRyeVswXSwgdmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlZFRhZyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgICAgICAgICB1cGRhdGVkVGFnLnNldChlbnRyeVswXSwgdmFsdWUpO1xuICAgICAgICAgICAgdGhpcy50YWdzW2luZGV4XSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFRhZ3NbaW5kZXhdID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmVkaXRUYWcuZW1pdCh1cGRhdGVkVGFnKTtcbiAgICAgICAgICAgIHRoaXMuc2F2aW5nVGFncy5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMudGFnRWRpdGVkSW5kZXggPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25WYWxpZGF0ZUVudGVyKGV2ZW50OiBhbnksIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgdGhpcy5vblZhbGlkYXRlKGV2ZW50LnRhcmdldC52YWx1ZSwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TZWFyY2godGFnOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZFRhZ3MgPSBBcnJheS5mcm9tKHRoaXMudXBkYXRlZFRhZ3MudmFsdWVzKCkpLmZpbHRlcigoaXRlbSkgPT4gaXRlbT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0YWcudG9Mb3dlckNhc2UoKSkpO1xuICAgIH1cblxuICAgIHVwZGF0ZVRhZ1N1Y2Nlc3ModGFnOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudXBkYXRlZFRhZ3MuZ2V0KHRhZykgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlZFRhZ3MucHVzaCh0YWcpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWdzID0gdGhpcy50YWdzLmZpbHRlcih0YWdUb0ZpbHRlciA9PiB0YWdUb0ZpbHRlciAhPT0gdGFnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkVGFncyA9IHRoaXMuZmlsdGVyZWRUYWdzLmZpbHRlcih0YWdUb0ZpbHRlciA9PiB0YWdUb0ZpbHRlciAhPT0gdGFnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZWRUYWdzID0gdGhpcy5kZWxldGVkVGFncy5maWx0ZXIodGFnVG9GaWx0ZXIgPT4gdGFnVG9GaWx0ZXIgIT09IHRhZyk7XG4gICAgICAgICAgICB9LCAyMDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2F2aW5nVGFncyA9IHRoaXMuc2F2aW5nVGFncy5maWx0ZXIodGFnVG9GaWx0ZXIgPT4gdGFnVG9GaWx0ZXIgIT09IHRhZyk7XG4gICAgICAgICAgICB9LCA2MDAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { MatDialogRef } from "@angular/material/dialog";
|
|
3
|
-
export class FeatureOnboardingComponent {
|
|
4
|
-
constructor(dialogRef) {
|
|
5
|
-
this.dialogRef = dialogRef;
|
|
6
|
-
// translations
|
|
7
|
-
this.backButtonLabel = '';
|
|
8
|
-
this.finishButtonLabel = '';
|
|
9
|
-
this.nextButtonLabel = '';
|
|
10
|
-
this.arrowsDisplayed = false; // To display arrows to switch element on carousel
|
|
11
|
-
this.slideDisplayedIndex = 0; // The current element displayed
|
|
12
|
-
}
|
|
13
|
-
onClickNext() {
|
|
14
|
-
this.slideDisplayedIndex !== this.templates.length - 1 ? this.slideDisplayedIndex = this.slideDisplayedIndex + 1 : this.onCloseCarousel();
|
|
15
|
-
}
|
|
16
|
-
onClickPrevious() {
|
|
17
|
-
this.slideDisplayedIndex = this.slideDisplayedIndex - 1;
|
|
18
|
-
}
|
|
19
|
-
onCloseCarousel() {
|
|
20
|
-
this.dialogRef.close(true);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
FeatureOnboardingComponent.decorators = [
|
|
24
|
-
{ type: Component, args: [{
|
|
25
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
26
|
-
selector: 'ap-feature-onboarding',
|
|
27
|
-
template: "<ng-template #mainTemplate>\n <div class=\"carousel-main-container\">\n <div class=\"carousel-content\">\n <div *ngFor=\"let template of templates; let i = index\"\n class=\"carousel-slide-element\"\n [class.carousel-slide-element-not-displayed]=\"i !== slideDisplayedIndex\"\n [class.carousel-slide-element-active]=\"i === slideDisplayedIndex\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <div class=\"carousel-dots-container\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"templates.length > 1\"\n [items]=\"templates\"\n [index]=\"slideDisplayedIndex\"\n (dotClick)=\"slideDisplayedIndex = $event\"></ap-dots-stepper>\n </div>\n </div>\n\n <div *ngIf=\"arrowsDisplayed\">\n <ap-symbol *ngIf=\"slideDisplayedIndex !== 0\"\n class=\"nav-button prev\"\n [symbolId]=\"'arrow-button-left'\"\n (click)=\"onClickPrevious()\">\n </ap-symbol>\n\n <ap-symbol class=\"nav-button next\"\n [symbolId]=\"'arrow-button-right'\"\n (click)=\"onClickNext(); $event.stopPropagation();\">\n </ap-symbol>\n </div>\n </div>\n\n <div class=\"carousel-footer\">\n <div class=\"button-container\">\n <button *ngIf=\"slideDisplayedIndex !== 0\"\n mat-flat-button\n class=\"carousel-previous-button\"\n (click)=\"onClickPrevious()\">\n {{backButtonLabel}}\n </button>\n <button mat-flat-button\n [color]=\"'primary'\"\n (click)=\"onClickNext()\">\n <div *ngIf=\"slideDisplayedIndex !== templates.length - 1\">{{nextButtonLabel}}</div>\n <div *ngIf=\"slideDisplayedIndex === templates.length - 1\">{{finishButtonLabel}}</div>\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ap-modal class=\"design-system\"\n [closable]=\"false\"\n [mainTemplate]=\"mainTemplate\"\n></ap-modal>\n",
|
|
28
|
-
styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid red}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #fff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:#0000}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:initial}[border=transparent]{border:1px solid #0000}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}ap-modal ::ng-deep .modal-wrapper{padding:0!important}ap-modal ::ng-deep .modal-wrapper .content{padding:0!important}.carousel-main-container{display:flex;flex-direction:column;overflow:hidden}.carousel-main-container .carousel-content{width:100%;height:100%;position:relative;margin:auto;justify-content:center;align-items:center}.carousel-main-container .carousel-content .carousel-slide-element,.carousel-main-container .carousel-content .carousel-slide-element.carousel-slide-element-not-displayed{display:none}.carousel-main-container .carousel-content .carousel-slide-element.carousel-slide-element-active{display:flex;flex-direction:column;justify-content:center;align-items:center}.carousel-main-container .carousel-content .nav-button{width:30px;height:30px;position:absolute;top:0;bottom:0;cursor:pointer;margin:auto;opacity:.4;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}.carousel-main-container .carousel-content .nav-button.tiny{width:20px;height:20px}.carousel-main-container .carousel-content .nav-button path{fill:#fffc}.carousel-main-container .carousel-content .nav-button.prev{left:12px}.carousel-main-container .carousel-content .nav-button.next{right:12px}.carousel-main-container .carousel-content .nav-button.disabled{display:none}.carousel-main-container .carousel-content .carousel-dots-container{height:28px;margin-bottom:16px}.carousel-main-container .carousel-footer{align-items:center;justify-content:flex-end;display:flex;padding:0 16px;height:68px;border-top:1px solid #eaecef}.carousel-main-container .carousel-footer .button-container{margin-right:24px}.carousel-main-container .carousel-footer .button-container .carousel-previous-button{margin-right:8px}"]
|
|
29
|
-
},] }
|
|
30
|
-
];
|
|
31
|
-
/** @nocollapse */
|
|
32
|
-
FeatureOnboardingComponent.ctorParameters = () => [
|
|
33
|
-
{ type: MatDialogRef }
|
|
34
|
-
];
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1vbmJvYXJkaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2ZlYXR1cmUtb25ib2FyZGluZy9mZWF0dXJlLW9uYm9hcmRpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQVN0RCxNQUFNLE9BQU8sMEJBQTBCO0lBV25DLFlBQW1CLFNBQTJDO1FBQTNDLGNBQVMsR0FBVCxTQUFTLENBQWtDO1FBVDlELGVBQWU7UUFDZixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQUM3QixzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFDL0Isb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFFN0Isb0JBQWUsR0FBWSxLQUFLLENBQUMsQ0FBQyxrREFBa0Q7UUFFcEYsd0JBQW1CLEdBQVcsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDO0lBR2pFLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLG1CQUFtQixLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM5SSxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7O1lBOUJKLFNBQVMsU0FBQztnQkFDUCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsKy9FQUFrRDs7YUFFckQ7Ozs7WUFSTyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdERpYWxvZ1JlZn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHtDb21wb25lbnRUeXBlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1mZWF0dXJlLW9uYm9hcmRpbmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLW9uYm9hcmRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZlYXR1cmUtb25ib2FyZGluZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVPbmJvYXJkaW5nQ29tcG9uZW50IHtcblxuICAgIC8vIHRyYW5zbGF0aW9uc1xuICAgIGJhY2tCdXR0b25MYWJlbDogc3RyaW5nID0gJyc7XG4gICAgZmluaXNoQnV0dG9uTGFiZWw6IHN0cmluZyA9ICcnO1xuICAgIG5leHRCdXR0b25MYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBhcnJvd3NEaXNwbGF5ZWQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVG8gZGlzcGxheSBhcnJvd3MgdG8gc3dpdGNoIGVsZW1lbnQgb24gY2Fyb3VzZWxcbiAgICB0ZW1wbGF0ZXM6IGFueVtdOyAvLyBPbmUgdGVtcGxhdGUgcmVwcmVzZW50IG9uZSBlbGVtZW50IG9mIHRoZSBjYXJvdXNlbFxuICAgIHNsaWRlRGlzcGxheWVkSW5kZXg6IG51bWJlciA9IDA7IC8vIFRoZSBjdXJyZW50IGVsZW1lbnQgZGlzcGxheWVkXG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29tcG9uZW50VHlwZTxhbnk+Pikge1xuICAgIH1cblxuICAgIG9uQ2xpY2tOZXh0KCkge1xuICAgICAgICB0aGlzLnNsaWRlRGlzcGxheWVkSW5kZXggIT09IHRoaXMudGVtcGxhdGVzLmxlbmd0aCAtIDEgPyB0aGlzLnNsaWRlRGlzcGxheWVkSW5kZXggPSB0aGlzLnNsaWRlRGlzcGxheWVkSW5kZXggKyAxIDogdGhpcy5vbkNsb3NlQ2Fyb3VzZWwoKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrUHJldmlvdXMoKSB7XG4gICAgICAgIHRoaXMuc2xpZGVEaXNwbGF5ZWRJbmRleCA9IHRoaXMuc2xpZGVEaXNwbGF5ZWRJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgb25DbG9zZUNhcm91c2VsKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcbiAgICB9XG5cbn1cbiJdfQ==
|