design-angular-kit 1.0.0-0 → 1.0.0-10
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/README.md +183 -24
- package/assets/i18n/en.json +93 -0
- package/assets/i18n/it.json +93 -0
- package/esm2020/lib/abstracts/abstract-form-component.mjs +174 -0
- package/esm2020/lib/abstracts/abstract.component.mjs +27 -0
- package/esm2020/lib/components/core/accordion/accordion.component.mjs +31 -0
- package/esm2020/lib/components/core/alert/alert.component.mjs +69 -0
- package/esm2020/lib/components/core/badge/badge.directive.mjs +34 -0
- package/esm2020/lib/components/core/button/button.directive.mjs +80 -0
- package/esm2020/lib/components/core/callout/callout.component.mjs +84 -0
- package/esm2020/lib/components/core/card/card.component.mjs +58 -0
- package/esm2020/lib/components/core/carousel/carousel/carousel.component.mjs +66 -0
- package/esm2020/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +14 -0
- package/esm2020/lib/components/core/chip/chip.component.mjs +89 -0
- package/esm2020/lib/components/core/collapse/collapse.component.mjs +101 -0
- package/esm2020/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +24 -0
- package/esm2020/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
- package/esm2020/lib/components/core/dimmer/dimmer.component.mjs +59 -0
- package/esm2020/lib/components/core/dropdown/dropdown/dropdown.component.mjs +130 -0
- package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +68 -0
- package/esm2020/lib/components/core/forward/forward.directive.mjs +51 -0
- package/esm2020/lib/components/core/link/link.component.mjs +40 -0
- package/esm2020/lib/components/core/list/list/list.component.mjs +13 -0
- package/esm2020/lib/components/core/list/list-item/list-item.component.mjs +36 -0
- package/esm2020/lib/components/core/modal/modal.component.mjs +98 -0
- package/esm2020/lib/components/core/notifications/notifications.component.mjs +110 -0
- package/esm2020/lib/components/core/pagination/pagination.component.mjs +51 -0
- package/esm2020/lib/components/core/popover/popover.directive.mjs +179 -0
- package/esm2020/lib/components/core/progress-bar/progress-bar.component.mjs +34 -0
- package/esm2020/lib/components/core/progress-button/progress-button.component.mjs +27 -0
- package/esm2020/lib/components/core/rating/rating.component.mjs +45 -0
- package/esm2020/lib/components/core/spinner/spinner.component.mjs +35 -0
- package/esm2020/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +119 -0
- package/esm2020/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +18 -0
- package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +59 -0
- package/esm2020/lib/components/core/tab/tab-item/tab-item.component.mjs +36 -0
- package/esm2020/lib/components/core/table/table.component.mjs +57 -0
- package/esm2020/lib/components/core/tooltip/tooltip.directive.mjs +143 -0
- package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +40 -0
- package/esm2020/lib/components/form/input/input.component.mjs +222 -0
- package/esm2020/lib/components/form/password-input/password-input.component.mjs +112 -0
- package/esm2020/lib/components/form/radio-button/radio-button.component.mjs +53 -0
- package/esm2020/lib/components/form/select/select.component.mjs +62 -0
- package/esm2020/lib/components/form/textarea/textarea.component.mjs +46 -0
- package/esm2020/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +137 -0
- package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +104 -0
- package/esm2020/lib/components/navigation/back-button/back-button.component.mjs +69 -0
- package/esm2020/lib/components/navigation/back-to-top/back-to-top.component.mjs +74 -0
- package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +45 -0
- package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +23 -0
- package/esm2020/lib/components/navigation/header/header.component.mjs +63 -0
- package/esm2020/lib/components/utils/icon/icon.component.mjs +54 -0
- package/esm2020/lib/components/utils/language-switcher/language-switcher.component.mjs +39 -0
- package/esm2020/lib/components/utils/not-found-page/not-found-page.component.mjs +13 -0
- package/esm2020/lib/design-angular-kit.module.mjs +45 -131
- package/esm2020/lib/interfaces/core.mjs +16 -0
- package/esm2020/lib/interfaces/form.mjs +2 -0
- package/esm2020/lib/interfaces/icon.mjs +2 -0
- package/esm2020/lib/interfaces/utils.mjs +2 -0
- package/esm2020/lib/modules/components.module.mjs +261 -0
- package/esm2020/lib/pipes/mark-matching-text.pipe.mjs +36 -0
- package/esm2020/lib/services/notifications/notifications.service.mjs +120 -0
- package/esm2020/lib/utils/boolean-input.mjs +15 -0
- package/esm2020/lib/utils/file-utils.mjs +73 -0
- package/esm2020/lib/utils/regex.mjs +26 -0
- package/esm2020/lib/validators/it-validators.mjs +134 -0
- package/esm2020/public_api.mjs +67 -36
- package/fesm2015/design-angular-kit.mjs +3424 -2713
- package/fesm2015/design-angular-kit.mjs.map +1 -1
- package/fesm2020/design-angular-kit.mjs +3391 -2713
- package/fesm2020/design-angular-kit.mjs.map +1 -1
- package/lib/abstracts/abstract-form-component.d.ts +89 -0
- package/lib/abstracts/abstract.component.d.ts +20 -0
- package/lib/components/core/accordion/accordion.component.d.ts +12 -0
- package/lib/components/core/alert/alert.component.d.ts +39 -0
- package/lib/components/core/badge/badge.directive.d.ts +16 -0
- package/lib/components/core/button/button.directive.d.ts +36 -0
- package/lib/components/core/callout/callout.component.d.ts +47 -0
- package/lib/components/core/card/card.component.d.ts +41 -0
- package/lib/components/core/carousel/carousel/carousel.component.d.ts +46 -0
- package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +10 -0
- package/lib/components/core/chip/chip.component.d.ts +62 -0
- package/lib/components/core/collapse/collapse.component.d.ts +60 -0
- package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +12 -0
- package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +5 -0
- package/lib/components/core/dimmer/dimmer.component.d.ts +24 -0
- package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +81 -0
- package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +39 -0
- package/lib/components/core/forward/forward.directive.d.ts +14 -0
- package/lib/components/core/link/link.component.d.ts +31 -0
- package/lib/components/core/list/list/list.component.d.ts +10 -0
- package/lib/components/core/list/list-item/list-item.component.d.ts +24 -0
- package/lib/components/core/modal/modal.component.d.ts +59 -0
- package/lib/components/core/notifications/notifications.component.d.ts +44 -0
- package/lib/components/core/pagination/pagination.component.d.ts +31 -0
- package/lib/components/core/popover/popover.directive.d.ts +98 -0
- package/lib/components/core/progress-bar/progress-bar.component.d.ts +28 -0
- package/lib/components/core/progress-button/progress-button.component.d.ts +22 -0
- package/lib/components/core/rating/rating.component.d.ts +20 -0
- package/lib/components/core/spinner/spinner.component.d.ts +21 -0
- package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +102 -0
- package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +19 -0
- package/lib/components/core/tab/tab-container/tab-container.component.d.ts +30 -0
- package/lib/components/core/tab/tab-item/tab-item.component.d.ts +34 -0
- package/lib/components/core/table/table.component.d.ts +54 -0
- package/lib/components/core/tooltip/tooltip.directive.d.ts +81 -0
- package/lib/components/form/checkbox/checkbox.component.d.ts +30 -0
- package/lib/components/form/input/input.component.d.ts +96 -0
- package/lib/components/form/password-input/password-input.component.d.ts +55 -0
- package/lib/components/form/radio-button/radio-button.component.d.ts +29 -0
- package/lib/components/form/select/select.component.d.ts +30 -0
- package/lib/components/form/textarea/textarea.component.d.ts +24 -0
- package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +54 -0
- package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +59 -0
- package/lib/components/navigation/back-button/back-button.component.d.ts +47 -0
- package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +46 -0
- package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +30 -0
- package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +22 -0
- package/lib/components/navigation/header/header.component.d.ts +30 -0
- package/lib/components/utils/icon/icon.component.d.ts +40 -0
- package/lib/components/utils/language-switcher/language-switcher.component.d.ts +23 -0
- package/lib/components/utils/not-found-page/not-found-page.component.d.ts +5 -0
- package/lib/design-angular-kit.module.d.ts +7 -24
- package/lib/interfaces/core.d.ts +59 -0
- package/lib/interfaces/form.d.ts +67 -0
- package/lib/interfaces/icon.d.ts +3 -0
- package/lib/interfaces/utils.d.ts +10 -0
- package/lib/modules/components.module.d.ts +62 -0
- package/lib/services/notifications/notifications.service.d.ts +63 -0
- package/lib/utils/boolean-input.d.ts +11 -0
- package/lib/utils/file-utils.d.ts +32 -0
- package/lib/utils/regex.d.ts +25 -0
- package/lib/validators/it-validators.d.ts +58 -0
- package/package.json +22 -12
- package/public_api.d.ts +59 -35
- package/esm2020/lib/badge/badge.directive.mjs +0 -83
- package/esm2020/lib/breadcrumb/breadcrumb-item.component.mjs +0 -66
- package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +0 -89
- package/esm2020/lib/button/button.directive.mjs +0 -185
- package/esm2020/lib/button/button.module.mjs +0 -18
- package/esm2020/lib/checkbox/checkbox.component.mjs +0 -138
- package/esm2020/lib/collapse/collapse-group.component.mjs +0 -57
- package/esm2020/lib/collapse/collapse-item.component.mjs +0 -79
- package/esm2020/lib/collapse/collapse.config.mjs +0 -12
- package/esm2020/lib/collapse/collapse.directive.mjs +0 -55
- package/esm2020/lib/collapse/collapse.module.mjs +0 -22
- package/esm2020/lib/dropdown/dropdown-divider.component.mjs +0 -11
- package/esm2020/lib/dropdown/dropdown-item.component.mjs +0 -97
- package/esm2020/lib/dropdown/dropdown.component.mjs +0 -143
- package/esm2020/lib/dropdown/dropdown.config.mjs +0 -12
- package/esm2020/lib/dropdown/dropdown.directive.mjs +0 -156
- package/esm2020/lib/dropdown/dropdown.module.mjs +0 -25
- package/esm2020/lib/enums/icons.enum.mjs +0 -27
- package/esm2020/lib/form-input/form-input-password.utils.mjs +0 -154
- package/esm2020/lib/form-input/form-input.component.mjs +0 -495
- package/esm2020/lib/form-input/it-prefix.directive.mjs +0 -13
- package/esm2020/lib/form-input/it-suffix.directive.mjs +0 -13
- package/esm2020/lib/form-input/it-text-prefix.directive.mjs +0 -13
- package/esm2020/lib/form-input/it-text-suffix.directive.mjs +0 -13
- package/esm2020/lib/form-input/mark-matching-text.pipe.mjs +0 -36
- package/esm2020/lib/icon/icon.component.mjs +0 -87
- package/esm2020/lib/icon/icon.module.mjs +0 -18
- package/esm2020/lib/models/Alignment.mjs +0 -15
- package/esm2020/lib/models/ButtonSize.mjs +0 -15
- package/esm2020/lib/models/InputType.mjs +0 -44
- package/esm2020/lib/models/ThemeColor.mjs +0 -30
- package/esm2020/lib/popover/popover.config.mjs +0 -17
- package/esm2020/lib/popover/popover.directive.mjs +0 -33
- package/esm2020/lib/popover/popover.module.mjs +0 -19
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -98
- package/esm2020/lib/radio/radio.component.mjs +0 -287
- package/esm2020/lib/radio/unique-selection-dispatcher.mjs +0 -55
- package/esm2020/lib/tabs/tab-group.component.mjs +0 -177
- package/esm2020/lib/tabs/tab.component.mjs +0 -73
- package/esm2020/lib/tabs/tabs.module.mjs +0 -20
- package/esm2020/lib/toggle/toggle.component.mjs +0 -86
- package/esm2020/lib/tooltip/tooltip.config.mjs +0 -17
- package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -43
- package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
- package/esm2020/lib/util/focus-mouse.directive.mjs +0 -32
- package/esm2020/lib/util/util.mjs +0 -12
- package/esm2020/lib/util/utils.module.mjs +0 -16
- package/lib/badge/badge.directive.d.ts +0 -33
- package/lib/breadcrumb/breadcrumb-item.component.d.ts +0 -33
- package/lib/breadcrumb/breadcrumb.component.d.ts +0 -33
- package/lib/button/button.directive.d.ts +0 -72
- package/lib/button/button.module.d.ts +0 -8
- package/lib/checkbox/checkbox.component.d.ts +0 -61
- package/lib/collapse/collapse-group.component.d.ts +0 -16
- package/lib/collapse/collapse-item.component.d.ts +0 -46
- package/lib/collapse/collapse.config.d.ts +0 -6
- package/lib/collapse/collapse.directive.d.ts +0 -25
- package/lib/collapse/collapse.module.d.ts +0 -12
- package/lib/dropdown/dropdown-divider.component.d.ts +0 -5
- package/lib/dropdown/dropdown-item.component.d.ts +0 -56
- package/lib/dropdown/dropdown.component.d.ts +0 -65
- package/lib/dropdown/dropdown.config.d.ts +0 -6
- package/lib/dropdown/dropdown.directive.d.ts +0 -77
- package/lib/dropdown/dropdown.module.d.ts +0 -15
- package/lib/enums/icons.enum.d.ts +0 -23
- package/lib/form-input/form-input-password.utils.d.ts +0 -45
- package/lib/form-input/form-input.component.d.ts +0 -283
- package/lib/form-input/it-prefix.directive.d.ts +0 -5
- package/lib/form-input/it-suffix.directive.d.ts +0 -5
- package/lib/form-input/it-text-prefix.directive.d.ts +0 -5
- package/lib/form-input/it-text-suffix.directive.d.ts +0 -5
- package/lib/icon/icon.component.d.ts +0 -34
- package/lib/icon/icon.module.d.ts +0 -8
- package/lib/models/Alignment.d.ts +0 -12
- package/lib/models/ButtonSize.d.ts +0 -11
- package/lib/models/InputType.d.ts +0 -36
- package/lib/models/ThemeColor.d.ts +0 -21
- package/lib/popover/popover.config.d.ts +0 -11
- package/lib/popover/popover.directive.d.ts +0 -20
- package/lib/popover/popover.module.d.ts +0 -9
- package/lib/progress-bar/progress-bar.component.d.ts +0 -55
- package/lib/radio/radio.component.d.ts +0 -116
- package/lib/radio/unique-selection-dispatcher.d.ts +0 -36
- package/lib/tabs/tab-group.component.d.ts +0 -71
- package/lib/tabs/tab.component.d.ts +0 -44
- package/lib/tabs/tabs.module.d.ts +0 -10
- package/lib/toggle/toggle.component.d.ts +0 -46
- package/lib/tooltip/tooltip.config.d.ts +0 -11
- package/lib/tooltip/tooltip.directive.d.ts +0 -27
- package/lib/tooltip/tooltip.module.d.ts +0 -9
- package/lib/util/focus-mouse.directive.d.ts +0 -13
- package/lib/util/util.d.ts +0 -5
- package/lib/util/utils.module.d.ts +0 -7
- /package/lib/{form-input → pipes}/mark-matching-text.pipe.d.ts +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Directive, HostListener, Inject, Input } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ForwardDirective {
|
|
5
|
+
constructor(document) {
|
|
6
|
+
this.document = document;
|
|
7
|
+
this._itForward = undefined;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Indica, se HTMLElement, l'elemento a cui navigare, o se stringa, il selettore che selezionerà l'elemento a cui navigare.
|
|
11
|
+
*/
|
|
12
|
+
set itForward(value) { this._itForward = value; }
|
|
13
|
+
get itForward() { return this._itForward; }
|
|
14
|
+
onClick(event) {
|
|
15
|
+
event.preventDefault();
|
|
16
|
+
if (this.itForward) {
|
|
17
|
+
if (typeof this.itForward === 'string') {
|
|
18
|
+
this.document?.querySelector(this.itForward)?.scrollIntoView({
|
|
19
|
+
behavior: 'smooth',
|
|
20
|
+
block: 'start',
|
|
21
|
+
inline: "nearest"
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
else if (this.itForward instanceof HTMLElement) {
|
|
25
|
+
this.itForward.scrollIntoView({
|
|
26
|
+
behavior: 'smooth',
|
|
27
|
+
block: 'start',
|
|
28
|
+
inline: "nearest"
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
ForwardDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ForwardDirective, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
35
|
+
ForwardDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ForwardDirective, selector: "[itForward]", inputs: { itForward: "itForward" }, host: { listeners: { "click": "onClick($event)" }, classAttribute: "forward" }, ngImport: i0 });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ForwardDirective, decorators: [{
|
|
37
|
+
type: Directive,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: '[itForward]',
|
|
40
|
+
host: { 'class': 'forward' }
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
43
|
+
type: Inject,
|
|
44
|
+
args: [DOCUMENT]
|
|
45
|
+
}] }]; }, propDecorators: { itForward: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], onClick: [{
|
|
48
|
+
type: HostListener,
|
|
49
|
+
args: ['click', ['$event']]
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZm9yd2FyZC9mb3J3YXJkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNdkUsTUFBTSxPQUFPLGdCQUFnQjtJQVMzQixZQUM0QixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBSHZDLGVBQVUsR0FBcUMsU0FBUyxDQUFDO0lBSTdELENBQUM7SUFUTDs7TUFFRTtJQUNGLElBQWEsU0FBUyxDQUFDLEtBQXVDLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVGLElBQUksU0FBUyxLQUF1QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBUTdFLE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsY0FBYyxDQUFDO29CQUMzRCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsS0FBSyxFQUFFLE9BQU87b0JBQ2QsTUFBTSxFQUFFLFNBQVM7aUJBQ2xCLENBQUMsQ0FBQTthQUNIO2lCQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsWUFBWSxXQUFXLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO29CQUM1QixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsS0FBSyxFQUFFLE9BQU87b0JBQ2QsTUFBTSxFQUFFLFNBQVM7aUJBQ2xCLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDOzs2R0EvQlUsZ0JBQWdCLGtCQVVqQixRQUFRO2lHQVZQLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFDO2lCQUMzQjs7MEJBV0ksTUFBTTsyQkFBQyxRQUFROzRDQUxMLFNBQVM7c0JBQXJCLEtBQUs7Z0JBU04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpdEZvcndhcmRdJyxcbiAgaG9zdDogeydjbGFzcyc6ICdmb3J3YXJkJ31cbn0pXG5leHBvcnQgY2xhc3MgRm9yd2FyZERpcmVjdGl2ZSB7XG5cbiAgLyoqXG4gICAqIEluZGljYSwgc2UgSFRNTEVsZW1lbnQsIGwnZWxlbWVudG8gYSBjdWkgbmF2aWdhcmUsIG8gc2Ugc3RyaW5nYSwgaWwgc2VsZXR0b3JlIGNoZSBzZWxlemlvbmVyw6AgbCdlbGVtZW50byBhIGN1aSBuYXZpZ2FyZS5cbiAgKi9cbiAgQElucHV0KCkgc2V0IGl0Rm9yd2FyZCh2YWx1ZTogSFRNTEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQpIHsgdGhpcy5faXRGb3J3YXJkID0gdmFsdWU7IH1cbiAgZ2V0IGl0Rm9yd2FyZCgpOiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLl9pdEZvcndhcmQ7IH1cbiAgcHJpdmF0ZSBfaXRGb3J3YXJkOiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50PzogRG9jdW1lbnRcbiAgKSB7IH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuaXRGb3J3YXJkKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuaXRGb3J3YXJkID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5xdWVyeVNlbGVjdG9yKHRoaXMuaXRGb3J3YXJkKT8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICAgICAgICBpbmxpbmU6IFwibmVhcmVzdFwiXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXRGb3J3YXJkIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5pdEZvcndhcmQuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICAgICAgICBpbmxpbmU6IFwibmVhcmVzdFwiXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { isTrueBooleanInput } from '../../../utils/boolean-input';
|
|
3
|
+
import { AbstractComponent } from '../../../abstracts/abstract.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/router";
|
|
7
|
+
export class LinkComponent extends AbstractComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
/**
|
|
11
|
+
* Custom class
|
|
12
|
+
*/
|
|
13
|
+
this.class = '';
|
|
14
|
+
}
|
|
15
|
+
get isExternalLink() {
|
|
16
|
+
return isTrueBooleanInput(this.externalLink);
|
|
17
|
+
}
|
|
18
|
+
get isDisabled() {
|
|
19
|
+
return isTrueBooleanInput(this.disabled);
|
|
20
|
+
}
|
|
21
|
+
ngAfterViewInit() {
|
|
22
|
+
super.ngAfterViewInit();
|
|
23
|
+
this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LinkComponent, selector: "it-link", inputs: { href: "href", externalLink: "externalLink", disabled: "disabled", class: "class" }, usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"!isExternalLink; else externalLink\" [class]=\"class\" [routerLink]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [class]=\"class\" [attr.href]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LinkComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'it-link', template: "<a *ngIf=\"!isExternalLink; else externalLink\" [class]=\"class\" [routerLink]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [class]=\"class\" [attr.href]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
31
|
+
}], propDecorators: { href: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], externalLink: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], disabled: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], class: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGluay9saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9saW5rL2xpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFnQixrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7O0FBTzFFLE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBTHBEOztRQTJCRTs7V0FFRztRQUNNLFVBQUssR0FBVyxFQUFFLENBQUM7S0FjN0I7SUFaQyxJQUFJLGNBQWM7UUFDaEIsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFUSxlQUFlO1FBQ3RCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRSxDQUFDOzswR0F0Q1UsYUFBYTs4RkFBYixhQUFhLG9LQ1QxQixnY0FZQTsyRkRIYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7OEJBY1YsSUFBSTtzQkFBWixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGlzVHJ1ZUJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2Jvb2xlYW4taW5wdXQnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtbGluaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGluay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFRoZSByb3V0ZXIgbGluayBhY3Rpb25cbiAgICpcbiAgICogQ29tbWFuZHMgdG8gcGFzcyB0byBSb3V0ZXIjY3JlYXRlVXJsVHJlZS5cbiAgICogLSBhcnJheTogY29tbWFuZHMgdG8gcGFzcyB0byBSb3V0ZXIjY3JlYXRlVXJsVHJlZS5cbiAgICogLSBzdHJpbmc6IHNob3J0aGFuZCBmb3IgYXJyYXkgb2YgY29tbWFuZHMgd2l0aCBqdXN0IHRoZSBzdHJpbmcsIGkuZS4gWycvcm91dGUnXVxuICAgKiAtIG51bGx8dW5kZWZpbmVkOiBEaXNhYmxlcyB0aGUgbGluayBieSByZW1vdmluZyB0aGUgaHJlZlxuICAgKi9cbiAgQElucHV0KCkgaHJlZj86IGFueVtdIHwgc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogSXMgYW4gZXh0ZXJuYWwgbGluayAoZmFsc2UgdG8gbm90IHVzZSBBbmd1bGFyIHJvdXRlciBsaW5rKVxuICAgKi9cbiAgQElucHV0KCkgZXh0ZXJuYWxMaW5rPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBJcyBkaXNhYmxlZCBsaW5rXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZD86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogQ3VzdG9tIGNsYXNzXG4gICAqL1xuICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG5cbiAgZ2V0IGlzRXh0ZXJuYWxMaW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1RydWVCb29sZWFuSW5wdXQodGhpcy5leHRlcm5hbExpbmspO1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVHJ1ZUJvb2xlYW5JbnB1dCh0aGlzLmRpc2FibGVkKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xhc3MnKTtcbiAgfVxufVxuIiwiPGEgKm5nSWY9XCIhaXNFeHRlcm5hbExpbms7IGVsc2UgZXh0ZXJuYWxMaW5rXCIgW2NsYXNzXT1cImNsYXNzXCIgW3JvdXRlckxpbmtdPVwiaXNEaXNhYmxlZCA/IG51bGwgOiBocmVmXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuPG5nLXRlbXBsYXRlICNleHRlcm5hbExpbms+XG4gIDxhIFtjbGFzc109XCJjbGFzc1wiIFthdHRyLmhyZWZdPVwiaXNEaXNhYmxlZCA/IG51bGwgOiBocmVmXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlua0NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ListComponent {
|
|
4
|
+
}
|
|
5
|
+
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
+
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ListComponent, selector: "it-list", inputs: { linkList: "linkList" }, ngImport: i0, template: "<div class=\"it-list-wrapper\">\n <ul class=\"it-list\">\n <ng-content></ng-content>\n </ul>\n</div>\n", styles: [""] });
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'it-list', template: "<div class=\"it-list-wrapper\">\n <ul class=\"it-list\">\n <ng-content></ng-content>\n </ul>\n</div>\n" }]
|
|
10
|
+
}], propDecorators: { linkList: [{
|
|
11
|
+
type: Input
|
|
12
|
+
}] } });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2xpc3QvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFqRCxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTs4RkFBYixhQUFhLGlGQ1IxQiw2R0FLQTsyRkRHYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7OEJBU1YsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2Jvb2xlYW4taW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpdC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIEFkZCAnbGluay1saXN0JyBjbGFzcyBmb3IgbmF2aWdhdGlvbiBtZW7DuVxuICAgKi9cbiAgQElucHV0KCkgbGlua0xpc3Q/OiBCb29sZWFuSW5wdXQ7XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJpdC1saXN0LXdyYXBwZXJcIj5cbiAgPHVsIGNsYXNzPVwiaXQtbGlzdFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC91bD5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { isTrueBooleanInput } from '../../../../utils/boolean-input';
|
|
3
|
+
import { LinkComponent } from '../../link/link.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "../../link/link.component";
|
|
7
|
+
export class ListItemComponent extends LinkComponent {
|
|
8
|
+
get itemClass() {
|
|
9
|
+
let itemClass = 'list-item';
|
|
10
|
+
if (isTrueBooleanInput(this.active)) {
|
|
11
|
+
itemClass += ` active`;
|
|
12
|
+
}
|
|
13
|
+
if (isTrueBooleanInput(this.large)) {
|
|
14
|
+
itemClass += ` large`;
|
|
15
|
+
}
|
|
16
|
+
if (this.class) {
|
|
17
|
+
itemClass += ` ${this.class}`;
|
|
18
|
+
}
|
|
19
|
+
return itemClass;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
ListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ListItemComponent, selector: "it-list-item", inputs: { active: "active", large: "large", avatar: "avatar", image: "image" }, usesInheritance: true, ngImport: i0, template: "<li>\n <ng-template #content>\n <div class=\"it-rounded-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n\n <div *ngIf=\"avatar\" class=\"avatar size-lg\">\n <img [attr.src]=\"avatar\" alt=\"avatar\">\n </div>\n\n <div *ngIf=\"image\" class=\"it-thumb\">\n <img [attr.src]=\"image\" alt=\"thumb\">\n </div>\n\n <div class=\"it-right-zone\">\n <span class=\"text\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"[action]\"></ng-content>\n\n <span class=\"it-multiple\">\n <span class=\"metadata\">\n <ng-content select=\"[metadata]\"></ng-content>\n </span>\n\n <ng-content select=\"[multiple]\"></ng-content>\n </span>\n </div>\n </ng-template>\n\n\n <div *ngIf=\"!href; else link\" [class]=\"itemClass\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <ng-template #link>\n <it-link [class]=\"itemClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </it-link>\n </ng-template>\n</li>\n", styles: [".metadata:empty,.it-rounded-icon:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.LinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListItemComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'it-list-item', template: "<li>\n <ng-template #content>\n <div class=\"it-rounded-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n\n <div *ngIf=\"avatar\" class=\"avatar size-lg\">\n <img [attr.src]=\"avatar\" alt=\"avatar\">\n </div>\n\n <div *ngIf=\"image\" class=\"it-thumb\">\n <img [attr.src]=\"image\" alt=\"thumb\">\n </div>\n\n <div class=\"it-right-zone\">\n <span class=\"text\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"[action]\"></ng-content>\n\n <span class=\"it-multiple\">\n <span class=\"metadata\">\n <ng-content select=\"[metadata]\"></ng-content>\n </span>\n\n <ng-content select=\"[multiple]\"></ng-content>\n </span>\n </div>\n </ng-template>\n\n\n <div *ngIf=\"!href; else link\" [class]=\"itemClass\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <ng-template #link>\n <it-link [class]=\"itemClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </it-link>\n </ng-template>\n</li>\n", styles: [".metadata:empty,.it-rounded-icon:empty{display:none}\n"] }]
|
|
27
|
+
}], propDecorators: { active: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], large: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], avatar: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], image: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}] } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9saXN0L2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2xpc3QvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBTzFELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBdUJsRCxJQUFJLFNBQVM7UUFDWCxJQUFJLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDNUIsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkMsU0FBUyxJQUFJLFNBQVMsQ0FBQztTQUN4QjtRQUNELElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLFNBQVMsSUFBSSxRQUFRLENBQUM7U0FDdkI7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxTQUFTLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0I7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzs4R0FuQ1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsMkpDVDlCLHdvQ0F5Q0E7MkZEaENhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjOzhCQVNmLE1BQU07c0JBQWQsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgaXNUcnVlQm9vbGVhbklucHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvYm9vbGVhbi1pbnB1dCc7XG5pbXBvcnQgeyBMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGluay9saW5rLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l0LWxpc3QtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LWl0ZW0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBleHRlbmRzIExpbmtDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBBZGQgYWN0aXZlIGNsYXNzXG4gICAqL1xuICBASW5wdXQoKSBhY3RpdmU/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIEFkZCBsYXJnZSBjbGFzc1xuICAgKi9cbiAgQElucHV0KCkgbGFyZ2U/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBhdmF0YXIgdXJsXG4gICAqL1xuICBASW5wdXQoKSBhdmF0YXI/OiBVUkw7XG5cbiAgLyoqXG4gICAqIFRoZSB0aHVtYiBpbWFnZSB1cmxcbiAgICovXG4gIEBJbnB1dCgpIGltYWdlPzogVVJMO1xuXG5cbiAgZ2V0IGl0ZW1DbGFzcygpOiBzdHJpbmcge1xuICAgIGxldCBpdGVtQ2xhc3MgPSAnbGlzdC1pdGVtJztcbiAgICBpZiAoaXNUcnVlQm9vbGVhbklucHV0KHRoaXMuYWN0aXZlKSkge1xuICAgICAgaXRlbUNsYXNzICs9IGAgYWN0aXZlYDtcbiAgICB9XG4gICAgaWYgKGlzVHJ1ZUJvb2xlYW5JbnB1dCh0aGlzLmxhcmdlKSkge1xuICAgICAgaXRlbUNsYXNzICs9IGAgbGFyZ2VgO1xuICAgIH1cbiAgICBpZiAodGhpcy5jbGFzcykge1xuICAgICAgaXRlbUNsYXNzICs9IGAgJHt0aGlzLmNsYXNzfWA7XG4gICAgfVxuICAgIHJldHVybiBpdGVtQ2xhc3M7XG4gIH1cblxufVxuIiwiPGxpPlxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIml0LXJvdW5kZWQtaWNvblwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ljb25dXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImF2YXRhclwiIGNsYXNzPVwiYXZhdGFyIHNpemUtbGdcIj5cbiAgICAgIDxpbWcgW2F0dHIuc3JjXT1cImF2YXRhclwiIGFsdD1cImF2YXRhclwiPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImltYWdlXCIgY2xhc3M9XCJpdC10aHVtYlwiPlxuICAgICAgPGltZyBbYXR0ci5zcmNdPVwiaW1hZ2VcIiBhbHQ9XCJ0aHVtYlwiPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIml0LXJpZ2h0LXpvbmVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NwYW4+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYWN0aW9uXVwiPjwvbmctY29udGVudD5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJpdC1tdWx0aXBsZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGFkYXRhXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21ldGFkYXRhXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttdWx0aXBsZV1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cblxuICA8ZGl2ICpuZ0lmPVwiIWhyZWY7IGVsc2UgbGlua1wiIFtjbGFzc109XCJpdGVtQ2xhc3NcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgI2xpbms+XG4gICAgPGl0LWxpbmsgW2NsYXNzXT1cIml0ZW1DbGFzc1wiIFtocmVmXT1cImhyZWZcIiBbZXh0ZXJuYWxMaW5rXT1cImV4dGVybmFsTGlua1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2l0LWxpbms+XG4gIDwvbmctdGVtcGxhdGU+XG48L2xpPlxuIl19
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { AbstractComponent } from '../../../abstracts/abstract.component';
|
|
3
|
+
import { Modal } from 'bootstrap-italia';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-translate/core";
|
|
6
|
+
export class ModalComponent extends AbstractComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
/**
|
|
10
|
+
* This event fires immediately when the instance method show is called.
|
|
11
|
+
*/
|
|
12
|
+
this.onShow = new EventEmitter();
|
|
13
|
+
/**
|
|
14
|
+
* This event fires when the modal has been made visible to the user (it will wait for CSS transitions to complete).
|
|
15
|
+
*/
|
|
16
|
+
this.onShown = new EventEmitter();
|
|
17
|
+
/**
|
|
18
|
+
* This event is raised immediately when the instance method hide has been called.
|
|
19
|
+
*/
|
|
20
|
+
this.onHide = new EventEmitter();
|
|
21
|
+
/**
|
|
22
|
+
* This event fires when the modal has finished hiding from the user (it will wait for CSS transitions to complete).
|
|
23
|
+
*/
|
|
24
|
+
this.onHidden = new EventEmitter();
|
|
25
|
+
/**
|
|
26
|
+
* This event is fired when the modal is displayed, its background is static and a click outside the modal or a press
|
|
27
|
+
* of the esc key occurs and data-bs-keyboard is set to false.
|
|
28
|
+
*/
|
|
29
|
+
this.onHidePrevented = new EventEmitter();
|
|
30
|
+
}
|
|
31
|
+
ngAfterViewInit() {
|
|
32
|
+
super.ngAfterViewInit();
|
|
33
|
+
this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');
|
|
34
|
+
if (this.modalElement) {
|
|
35
|
+
const element = this.modalElement.nativeElement;
|
|
36
|
+
this.modal = Modal.getOrCreateInstance(element);
|
|
37
|
+
element.addEventListener('show.bs.modal', event => this.onShow.emit(event));
|
|
38
|
+
element.addEventListener('shown.bs.modal', event => this.onShown.emit(event));
|
|
39
|
+
element.addEventListener('hide.bs.modal', event => this.onHide.emit(event));
|
|
40
|
+
element.addEventListener('hidden.bs.modal', event => this.onHidden.emit(event));
|
|
41
|
+
element.addEventListener('hidePrevented.bs.modal', event => this.onHidePrevented.emit(event));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Manually activate/deactivate a modal. Returns to the caller before the modal has actually been shown or hidden
|
|
46
|
+
*/
|
|
47
|
+
toggle() {
|
|
48
|
+
this.modal?.toggle();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Manually open a modal. Returns to the caller before the modal has actually been displayed
|
|
52
|
+
*/
|
|
53
|
+
show() {
|
|
54
|
+
this.modal?.show();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Manually hide a modal. Returns to the caller before the modal has actually been hidden
|
|
58
|
+
*/
|
|
59
|
+
hide() {
|
|
60
|
+
this.modal?.hide();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Manually reposition the modal if the height of the modal changes when it is opened (in case a scroll bar appears).
|
|
64
|
+
*/
|
|
65
|
+
handleUpdate() {
|
|
66
|
+
this.modal?.handleUpdate();
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Destroys the modal of an element.
|
|
70
|
+
*/
|
|
71
|
+
dispose() {
|
|
72
|
+
this.modal?.dispose();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ModalComponent, selector: "it-modal[id][title]", inputs: { title: "title", size: "size" }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden", onHidePrevented: "onHidePrevented" }, viewQueries: [{ propertyName: "modalElement", first: true, predicate: ["modalElement"], descendants: true }], exportAs: ["itModal"], usesInheritance: true, ngImport: i0, template: "<div #modalElement [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\">\n <div class=\"modal-dialog {{size}}\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-title h5 no_toc\" id=\"{{id}}-label\">{{title}}</h2>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\"\n [attr.aria-label]=\"'it.core.close-modal'|translate\"></button>\n </div>\n <div class=\"modal-body mb-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer modal-footer-shadow\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal-footer:empty{display:none}\n"], dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ selector: 'it-modal[id][title]', exportAs: 'itModal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #modalElement [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\">\n <div class=\"modal-dialog {{size}}\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-title h5 no_toc\" id=\"{{id}}-label\">{{title}}</h2>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\"\n [attr.aria-label]=\"'it.core.close-modal'|translate\"></button>\n </div>\n <div class=\"modal-body mb-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer modal-footer-shadow\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal-footer:empty{display:none}\n"] }]
|
|
80
|
+
}], propDecorators: { title: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], size: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], onShow: [{
|
|
85
|
+
type: Output
|
|
86
|
+
}], onShown: [{
|
|
87
|
+
type: Output
|
|
88
|
+
}], onHide: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}], onHidden: [{
|
|
91
|
+
type: Output
|
|
92
|
+
}], onHidePrevented: [{
|
|
93
|
+
type: Output
|
|
94
|
+
}], modalElement: [{
|
|
95
|
+
type: ViewChild,
|
|
96
|
+
args: ['modalElement', { static: false }]
|
|
97
|
+
}] } });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVN6QyxNQUFNLE9BQU8sY0FBZSxTQUFRLGlCQUFpQjtJQVByRDs7UUFtQkU7O1dBRUc7UUFDTyxXQUFNLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0Q7O1dBRUc7UUFDTyxZQUFPLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUQ7O1dBRUc7UUFDTyxXQUFNLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0Q7O1dBRUc7UUFDTyxhQUFRLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0Q7OztXQUdHO1FBQ08sb0JBQWUsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQTBEckU7SUFuRFUsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRWhELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzVFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNoRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQy9GO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWTtRQUNqQixJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7OzJHQTVGVSxjQUFjOytGQUFkLGNBQWMsZ1lDWDNCLDZ3QkFxQkE7MkZEVmEsY0FBYztrQkFQMUIsU0FBUzsrQkFDRSxxQkFBcUIsWUFHckIsU0FBUyxtQkFDRix1QkFBdUIsQ0FBQyxNQUFNOzhCQU90QyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtJLE1BQU07c0JBQWYsTUFBTTtnQkFLRyxPQUFPO3NCQUFoQixNQUFNO2dCQUtHLE1BQU07c0JBQWYsTUFBTTtnQkFLRyxRQUFRO3NCQUFqQixNQUFNO2dCQU1HLGVBQWU7c0JBQXhCLE1BQU07Z0JBSytDLFlBQVk7c0JBQWpFLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICdib290c3RyYXAtaXRhbGlhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtbW9kYWxbaWRdW3RpdGxlXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnaXRNb2RhbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kYWwgVGl0bGVcbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kYWwgc2l6ZVxuICAgKi9cbiAgQElucHV0KCkgc2l6ZT86ICdtb2RhbC1zbScgfCAnbW9kYWwtbGcnIHwgJ21vZGFsLXhsJztcblxuICAvKipcbiAgICogVGhpcyBldmVudCBmaXJlcyBpbW1lZGlhdGVseSB3aGVuIHRoZSBpbnN0YW5jZSBtZXRob2Qgc2hvdyBpcyBjYWxsZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgb25TaG93OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGZpcmVzIHdoZW4gdGhlIG1vZGFsIGhhcyBiZWVuIG1hZGUgdmlzaWJsZSB0byB0aGUgdXNlciAoaXQgd2lsbCB3YWl0IGZvciBDU1MgdHJhbnNpdGlvbnMgdG8gY29tcGxldGUpLlxuICAgKi9cbiAgQE91dHB1dCgpIG9uU2hvd246IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgcmFpc2VkIGltbWVkaWF0ZWx5IHdoZW4gdGhlIGluc3RhbmNlIG1ldGhvZCBoaWRlIGhhcyBiZWVuIGNhbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBvbkhpZGU6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgd2hlbiB0aGUgbW9kYWwgaGFzIGZpbmlzaGVkIGhpZGluZyBmcm9tIHRoZSB1c2VyIChpdCB3aWxsIHdhaXQgZm9yIENTUyB0cmFuc2l0aW9ucyB0byBjb21wbGV0ZSkuXG4gICAqL1xuICBAT3V0cHV0KCkgb25IaWRkZW46IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgbW9kYWwgaXMgZGlzcGxheWVkLCBpdHMgYmFja2dyb3VuZCBpcyBzdGF0aWMgYW5kIGEgY2xpY2sgb3V0c2lkZSB0aGUgbW9kYWwgb3IgYSBwcmVzc1xuICAgKiBvZiB0aGUgZXNjIGtleSBvY2N1cnMgYW5kIGRhdGEtYnMta2V5Ym9hcmQgaXMgc2V0IHRvIGZhbHNlLlxuICAgKi9cbiAgQE91dHB1dCgpIG9uSGlkZVByZXZlbnRlZDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXG4gIHByaXZhdGUgbW9kYWw/OiBNb2RhbDtcblxuICBAVmlld0NoaWxkKCdtb2RhbEVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJpdmF0ZSBtb2RhbEVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RpdGxlJyk7XG5cbiAgICBpZiAodGhpcy5tb2RhbEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm1vZGFsRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgdGhpcy5tb2RhbCA9IE1vZGFsLmdldE9yQ3JlYXRlSW5zdGFuY2UoZWxlbWVudCk7XG5cbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2hvdy5icy5tb2RhbCcsIGV2ZW50ID0+IHRoaXMub25TaG93LmVtaXQoZXZlbnQpKTtcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2hvd24uYnMubW9kYWwnLCBldmVudCA9PiB0aGlzLm9uU2hvd24uZW1pdChldmVudCkpO1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdoaWRlLmJzLm1vZGFsJywgZXZlbnQgPT4gdGhpcy5vbkhpZGUuZW1pdChldmVudCkpO1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdoaWRkZW4uYnMubW9kYWwnLCBldmVudCA9PiB0aGlzLm9uSGlkZGVuLmVtaXQoZXZlbnQpKTtcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaGlkZVByZXZlbnRlZC5icy5tb2RhbCcsIGV2ZW50ID0+IHRoaXMub25IaWRlUHJldmVudGVkLmVtaXQoZXZlbnQpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWFudWFsbHkgYWN0aXZhdGUvZGVhY3RpdmF0ZSBhIG1vZGFsLiBSZXR1cm5zIHRvIHRoZSBjYWxsZXIgYmVmb3JlIHRoZSBtb2RhbCBoYXMgYWN0dWFsbHkgYmVlbiBzaG93biBvciBoaWRkZW5cbiAgICovXG4gIHB1YmxpYyB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbD8udG9nZ2xlKCk7XG4gIH1cblxuICAvKipcbiAgICogTWFudWFsbHkgb3BlbiBhIG1vZGFsLiBSZXR1cm5zIHRvIHRoZSBjYWxsZXIgYmVmb3JlIHRoZSBtb2RhbCBoYXMgYWN0dWFsbHkgYmVlbiBkaXNwbGF5ZWRcbiAgICovXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWw/LnNob3coKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSBoaWRlIGEgbW9kYWwuIFJldHVybnMgdG8gdGhlIGNhbGxlciBiZWZvcmUgdGhlIG1vZGFsIGhhcyBhY3R1YWxseSBiZWVuIGhpZGRlblxuICAgKi9cbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbD8uaGlkZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbnVhbGx5IHJlcG9zaXRpb24gdGhlIG1vZGFsIGlmIHRoZSBoZWlnaHQgb2YgdGhlIG1vZGFsIGNoYW5nZXMgd2hlbiBpdCBpcyBvcGVuZWQgKGluIGNhc2UgYSBzY3JvbGwgYmFyIGFwcGVhcnMpLlxuICAgKi9cbiAgcHVibGljIGhhbmRsZVVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsPy5oYW5kbGVVcGRhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGUgbW9kYWwgb2YgYW4gZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBkaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWw/LmRpc3Bvc2UoKTtcbiAgfVxuXG59XG4iLCI8ZGl2ICNtb2RhbEVsZW1lbnQgW2lkXT1cImlkXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCJcbiAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWQrJy1sYWJlbCdcIj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyB7e3NpemV9fVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgICAgIDxoMiBjbGFzcz1cIm1vZGFsLXRpdGxlIGg1IG5vX3RvY1wiIGlkPVwie3tpZH19LWxhYmVsXCI+e3t0aXRsZX19PC9oMj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInaXQuY29yZS5jbG9zZS1tb2RhbCd8dHJhbnNsYXRlXCI+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IG1iLTNcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyIG1vZGFsLWZvb3Rlci1zaGFkb3dcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { NotificationType } from '../../../interfaces/core';
|
|
3
|
+
import { Notification as BSNotification } from 'bootstrap-italia';
|
|
4
|
+
import { isTrueBooleanInput } from '../../../utils/boolean-input';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../services/notifications/notifications.service";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "../../utils/icon/icon.component";
|
|
9
|
+
import * as i4 from "@ngx-translate/core";
|
|
10
|
+
export class NotificationsComponent {
|
|
11
|
+
constructor(_changeDetectorRef, _notificationService) {
|
|
12
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
13
|
+
this._notificationService = _notificationService;
|
|
14
|
+
/**
|
|
15
|
+
* Default notifications duration (milliseconds)
|
|
16
|
+
* @default 8000
|
|
17
|
+
*/
|
|
18
|
+
this.duration = 8000;
|
|
19
|
+
/**
|
|
20
|
+
* Default notifications is dismissible
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
23
|
+
this.dismissible = true;
|
|
24
|
+
this.notificationCount = 0;
|
|
25
|
+
this.notifications = [];
|
|
26
|
+
this.subscription = this._notificationService.onNotification().subscribe(notification => {
|
|
27
|
+
if (!notification.duration) {
|
|
28
|
+
notification.duration = this.duration; // Add duration if not is set
|
|
29
|
+
}
|
|
30
|
+
if (!notification.position && this.position) {
|
|
31
|
+
notification.position = this.position; // Add position if not is set
|
|
32
|
+
}
|
|
33
|
+
if (notification.dismissible === undefined && isTrueBooleanInput(this.dismissible)) {
|
|
34
|
+
notification.dismissible = true; // Add dismissible if not is set
|
|
35
|
+
}
|
|
36
|
+
if (!notification.icon) {
|
|
37
|
+
notification.icon = this.getNotificationIcon(notification);
|
|
38
|
+
}
|
|
39
|
+
const newNotification = {
|
|
40
|
+
...notification,
|
|
41
|
+
id: `${notification.type}-${this.notificationCount++}-notification`
|
|
42
|
+
};
|
|
43
|
+
this.notifications.push(newNotification);
|
|
44
|
+
this._changeDetectorRef.detectChanges();
|
|
45
|
+
setTimeout(() => {
|
|
46
|
+
// Show the notification
|
|
47
|
+
new BSNotification(document.getElementById(newNotification.id), {
|
|
48
|
+
timeout: notification.duration
|
|
49
|
+
}).show();
|
|
50
|
+
// Clear notification after the duration
|
|
51
|
+
setTimeout(() => {
|
|
52
|
+
const index = this.notifications.findIndex(n => n.id === newNotification.id);
|
|
53
|
+
if (index > -1) {
|
|
54
|
+
this.notifications.splice(index, 1);
|
|
55
|
+
if (!this.notifications.length) {
|
|
56
|
+
this.notificationCount = 0;
|
|
57
|
+
}
|
|
58
|
+
this._changeDetectorRef.detectChanges();
|
|
59
|
+
}
|
|
60
|
+
}, notification.duration);
|
|
61
|
+
}, 200);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
ngOnDestroy() {
|
|
65
|
+
this.subscription.unsubscribe();
|
|
66
|
+
}
|
|
67
|
+
get NotificationType() {
|
|
68
|
+
return NotificationType;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Hide the notification
|
|
72
|
+
* @param id
|
|
73
|
+
*/
|
|
74
|
+
hideNotification(id) {
|
|
75
|
+
BSNotification.getInstance(document.getElementById(id))?.hide();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Retrieve the icon name by notification type
|
|
79
|
+
* @param notification the notification
|
|
80
|
+
* @protected
|
|
81
|
+
*/
|
|
82
|
+
getNotificationIcon(notification) {
|
|
83
|
+
switch (notification.type) {
|
|
84
|
+
case NotificationType.Success:
|
|
85
|
+
return 'check-circle';
|
|
86
|
+
case NotificationType.Error:
|
|
87
|
+
return 'close-circle';
|
|
88
|
+
case NotificationType.Warning:
|
|
89
|
+
return 'error';
|
|
90
|
+
case NotificationType.Info:
|
|
91
|
+
return 'info-circle';
|
|
92
|
+
case NotificationType.Standard:
|
|
93
|
+
default:
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
NotificationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NotificationsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
99
|
+
NotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: NotificationsComponent, selector: "it-notifications", inputs: { duration: "duration", position: "position", dismissible: "dismissible" }, ngImport: i0, template: "<div *ngFor=\"let notification of notifications\"\n [id]=\"notification.id\"\n class=\"notification {{notification.position}} {{notification.type}}\"\n [class.with-icon]=\"!!notification.icon\"\n [class.dismissable]=\"notification.dismissible\"\n role=\"alert\" [attr.aria-labelledby]=\"notification.id+'-title'\">\n\n <h2 [id]=\"notification.id+'-title'\" class=\"h5\">\n <it-icon *ngIf=\"!!notification.icon\" [name]=\"notification.icon\"></it-icon>\n <ng-container>{{notification.title}}</ng-container>\n </h2>\n <p *ngIf=\"notification.message\">{{notification.message}}</p>\n\n <button *ngIf=\"notification.dismissible\" type=\"button\" class=\"btn notification-close\"\n (click)=\"hideNotification(notification.id)\">\n <it-icon name=\"close\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.close-notification'|translate:{ title: notification.title } }}</span>\n </button>\n</div>\n", styles: [".notification{z-index:10000}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationsComponent, decorators: [{
|
|
101
|
+
type: Component,
|
|
102
|
+
args: [{ selector: 'it-notifications', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngFor=\"let notification of notifications\"\n [id]=\"notification.id\"\n class=\"notification {{notification.position}} {{notification.type}}\"\n [class.with-icon]=\"!!notification.icon\"\n [class.dismissable]=\"notification.dismissible\"\n role=\"alert\" [attr.aria-labelledby]=\"notification.id+'-title'\">\n\n <h2 [id]=\"notification.id+'-title'\" class=\"h5\">\n <it-icon *ngIf=\"!!notification.icon\" [name]=\"notification.icon\"></it-icon>\n <ng-container>{{notification.title}}</ng-container>\n </h2>\n <p *ngIf=\"notification.message\">{{notification.message}}</p>\n\n <button *ngIf=\"notification.dismissible\" type=\"button\" class=\"btn notification-close\"\n (click)=\"hideNotification(notification.id)\">\n <it-icon name=\"close\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.close-notification'|translate:{ title: notification.title } }}</span>\n </button>\n</div>\n", styles: [".notification{z-index:10000}\n"] }]
|
|
103
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NotificationsService }]; }, propDecorators: { duration: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], position: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], dismissible: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}] } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBR3hHLE9BQU8sRUFBc0MsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsWUFBWSxJQUFJLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBU2hGLE1BQU0sT0FBTyxzQkFBc0I7SUF1QmpDLFlBQ21CLGtCQUFxQyxFQUNyQyxvQkFBMEM7UUFEMUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBdkI3RDs7O1dBR0c7UUFDTSxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBT2pDOzs7V0FHRztRQUNNLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUduQyxzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFDNUIsa0JBQWEsR0FBeUMsRUFBRSxDQUFDO1FBTWpFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN0RixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtnQkFDMUIsWUFBWSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsNkJBQTZCO2FBQ3JFO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDM0MsWUFBWSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsNkJBQTZCO2FBQ3JFO1lBQ0QsSUFBSSxZQUFZLENBQUMsV0FBVyxLQUFLLFNBQVMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ2xGLFlBQVksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsZ0NBQWdDO2FBQ2xFO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUU7Z0JBQ3RCLFlBQVksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzVEO1lBRUQsTUFBTSxlQUFlLEdBQUc7Z0JBQ3RCLEdBQUcsWUFBWTtnQkFDZixFQUFFLEVBQUUsR0FBRyxZQUFZLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlO2FBQ3BFLENBQUM7WUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFFeEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCx3QkFBd0I7Z0JBQ3hCLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBRSxFQUFFO29CQUMvRCxPQUFPLEVBQUUsWUFBWSxDQUFDLFFBQVE7aUJBQy9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFFVix3Q0FBd0M7Z0JBQ3hDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDN0UsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7d0JBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7NEJBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7eUJBQzVCO3dCQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztxQkFDekM7Z0JBQ0gsQ0FBQyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDVixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBYyxnQkFBZ0I7UUFDNUIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ08sZ0JBQWdCLENBQUMsRUFBVTtRQUNuQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLG1CQUFtQixDQUFDLFlBQTBCO1FBQ3BELFFBQVEsWUFBWSxDQUFDLElBQUksRUFBRTtZQUN6QixLQUFLLGdCQUFnQixDQUFDLE9BQU87Z0JBQzNCLE9BQU8sY0FBYyxDQUFDO1lBQ3hCLEtBQUssZ0JBQWdCLENBQUMsS0FBSztnQkFDekIsT0FBTyxjQUFjLENBQUM7WUFDeEIsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPO2dCQUMzQixPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLGdCQUFnQixDQUFDLElBQUk7Z0JBQ3hCLE9BQU8sYUFBYSxDQUFDO1lBQ3ZCLEtBQUssZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1lBQy9CO2dCQUNFLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7bUhBeEdVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDRJQ2RuQyxpN0JBbUJBOzJGRExhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTsySUFRdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiwgTm90aWZpY2F0aW9uUG9zaXRpb24sIE5vdGlmaWNhdGlvblR5cGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2NvcmUnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIGFzIEJTTm90aWZpY2F0aW9uIH0gZnJvbSAnYm9vdHN0cmFwLWl0YWxpYSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGlzVHJ1ZUJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2Jvb2xlYW4taW5wdXQnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpdC1ub3RpZmljYXRpb25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IG5vdGlmaWNhdGlvbnMgZHVyYXRpb24gKG1pbGxpc2Vjb25kcylcbiAgICogQGRlZmF1bHQgODAwMFxuICAgKi9cbiAgQElucHV0KCkgZHVyYXRpb246IG51bWJlciA9IDgwMDA7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgbm90aWZpY2F0aW9ucyBwb3NpdGlvblxuICAgKi9cbiAgQElucHV0KCkgcG9zaXRpb24/OiBOb3RpZmljYXRpb25Qb3NpdGlvbjtcblxuICAvKipcbiAgICogRGVmYXVsdCBub3RpZmljYXRpb25zIGlzIGRpc21pc3NpYmxlXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIGRpc21pc3NpYmxlPzogQm9vbGVhbklucHV0ID0gdHJ1ZTtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIG5vdGlmaWNhdGlvbkNvdW50OiBudW1iZXIgPSAwO1xuICBwcm90ZWN0ZWQgbm90aWZpY2F0aW9uczogQXJyYXk8Tm90aWZpY2F0aW9uICYgeyBpZDogc3RyaW5nIH0+ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5vbk5vdGlmaWNhdGlvbigpLnN1YnNjcmliZShub3RpZmljYXRpb24gPT4ge1xuICAgICAgaWYgKCFub3RpZmljYXRpb24uZHVyYXRpb24pIHtcbiAgICAgICAgbm90aWZpY2F0aW9uLmR1cmF0aW9uID0gdGhpcy5kdXJhdGlvbjsgLy8gQWRkIGR1cmF0aW9uIGlmIG5vdCBpcyBzZXRcbiAgICAgIH1cbiAgICAgIGlmICghbm90aWZpY2F0aW9uLnBvc2l0aW9uICYmIHRoaXMucG9zaXRpb24pIHtcbiAgICAgICAgbm90aWZpY2F0aW9uLnBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbjsgLy8gQWRkIHBvc2l0aW9uIGlmIG5vdCBpcyBzZXRcbiAgICAgIH1cbiAgICAgIGlmIChub3RpZmljYXRpb24uZGlzbWlzc2libGUgPT09IHVuZGVmaW5lZCAmJiBpc1RydWVCb29sZWFuSW5wdXQodGhpcy5kaXNtaXNzaWJsZSkpIHtcbiAgICAgICAgbm90aWZpY2F0aW9uLmRpc21pc3NpYmxlID0gdHJ1ZTsgLy8gQWRkIGRpc21pc3NpYmxlIGlmIG5vdCBpcyBzZXRcbiAgICAgIH1cbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmljb24pIHtcbiAgICAgICAgbm90aWZpY2F0aW9uLmljb24gPSB0aGlzLmdldE5vdGlmaWNhdGlvbkljb24obm90aWZpY2F0aW9uKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV3Tm90aWZpY2F0aW9uID0ge1xuICAgICAgICAuLi5ub3RpZmljYXRpb24sXG4gICAgICAgIGlkOiBgJHtub3RpZmljYXRpb24udHlwZX0tJHt0aGlzLm5vdGlmaWNhdGlvbkNvdW50Kyt9LW5vdGlmaWNhdGlvbmBcbiAgICAgIH07XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMucHVzaChuZXdOb3RpZmljYXRpb24pO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8gU2hvdyB0aGUgbm90aWZpY2F0aW9uXG4gICAgICAgIG5ldyBCU05vdGlmaWNhdGlvbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChuZXdOb3RpZmljYXRpb24uaWQpISwge1xuICAgICAgICAgIHRpbWVvdXQ6IG5vdGlmaWNhdGlvbi5kdXJhdGlvblxuICAgICAgICB9KS5zaG93KCk7XG5cbiAgICAgICAgLy8gQ2xlYXIgbm90aWZpY2F0aW9uIGFmdGVyIHRoZSBkdXJhdGlvblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubm90aWZpY2F0aW9ucy5maW5kSW5kZXgobiA9PiBuLmlkID09PSBuZXdOb3RpZmljYXRpb24uaWQpO1xuICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5ub3RpZmljYXRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbkNvdW50ID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIG5vdGlmaWNhdGlvbi5kdXJhdGlvbik7XG4gICAgICB9LCAyMDApO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgTm90aWZpY2F0aW9uVHlwZSgpOiB0eXBlb2YgTm90aWZpY2F0aW9uVHlwZSB7XG4gICAgcmV0dXJuIE5vdGlmaWNhdGlvblR5cGU7XG4gIH1cblxuICAvKipcbiAgICogSGlkZSB0aGUgbm90aWZpY2F0aW9uXG4gICAqIEBwYXJhbSBpZFxuICAgKi9cbiAgcHJvdGVjdGVkIGhpZGVOb3RpZmljYXRpb24oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIEJTTm90aWZpY2F0aW9uLmdldEluc3RhbmNlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSEpPy5oaWRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGljb24gbmFtZSBieSBub3RpZmljYXRpb24gdHlwZVxuICAgKiBAcGFyYW0gbm90aWZpY2F0aW9uIHRoZSBub3RpZmljYXRpb25cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBnZXROb3RpZmljYXRpb25JY29uKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogSWNvbk5hbWUgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAobm90aWZpY2F0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgTm90aWZpY2F0aW9uVHlwZS5TdWNjZXNzOlxuICAgICAgICByZXR1cm4gJ2NoZWNrLWNpcmNsZSc7XG4gICAgICBjYXNlIE5vdGlmaWNhdGlvblR5cGUuRXJyb3I6XG4gICAgICAgIHJldHVybiAnY2xvc2UtY2lyY2xlJztcbiAgICAgIGNhc2UgTm90aWZpY2F0aW9uVHlwZS5XYXJuaW5nOlxuICAgICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICAgIGNhc2UgTm90aWZpY2F0aW9uVHlwZS5JbmZvOlxuICAgICAgICByZXR1cm4gJ2luZm8tY2lyY2xlJztcbiAgICAgIGNhc2UgTm90aWZpY2F0aW9uVHlwZS5TdGFuZGFyZDpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9uc1wiXG4gICAgIFtpZF09XCJub3RpZmljYXRpb24uaWRcIlxuICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbiB7e25vdGlmaWNhdGlvbi5wb3NpdGlvbn19IHt7bm90aWZpY2F0aW9uLnR5cGV9fVwiXG4gICAgIFtjbGFzcy53aXRoLWljb25dPVwiISFub3RpZmljYXRpb24uaWNvblwiXG4gICAgIFtjbGFzcy5kaXNtaXNzYWJsZV09XCJub3RpZmljYXRpb24uZGlzbWlzc2libGVcIlxuICAgICByb2xlPVwiYWxlcnRcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibm90aWZpY2F0aW9uLmlkKyctdGl0bGUnXCI+XG5cbiAgPGgyIFtpZF09XCJub3RpZmljYXRpb24uaWQrJy10aXRsZSdcIiBjbGFzcz1cImg1XCI+XG4gICAgPGl0LWljb24gKm5nSWY9XCIhIW5vdGlmaWNhdGlvbi5pY29uXCIgW25hbWVdPVwibm90aWZpY2F0aW9uLmljb25cIj48L2l0LWljb24+XG4gICAgPG5nLWNvbnRhaW5lcj57e25vdGlmaWNhdGlvbi50aXRsZX19PC9uZy1jb250YWluZXI+XG4gIDwvaDI+XG4gIDxwICpuZ0lmPVwibm90aWZpY2F0aW9uLm1lc3NhZ2VcIj57e25vdGlmaWNhdGlvbi5tZXNzYWdlfX08L3A+XG5cbiAgPGJ1dHRvbiAqbmdJZj1cIm5vdGlmaWNhdGlvbi5kaXNtaXNzaWJsZVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBub3RpZmljYXRpb24tY2xvc2VcIlxuICAgICAgICAgIChjbGljayk9XCJoaWRlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi5pZClcIj5cbiAgICA8aXQtaWNvbiBuYW1lPVwiY2xvc2VcIj48L2l0LWljb24+XG4gICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eydpdC5jb3JlLmNsb3NlLW5vdGlmaWNhdGlvbid8dHJhbnNsYXRlOnsgdGl0bGU6IG5vdGlmaWNhdGlvbi50aXRsZSB9IH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../../utils/icon/icon.component";
|
|
5
|
+
import * as i3 from "@ngx-translate/core";
|
|
6
|
+
export class PaginationComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* Fired when page is changed
|
|
10
|
+
*/
|
|
11
|
+
this.newPageEvent = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Create array to generate pagination of 5 element
|
|
15
|
+
*/
|
|
16
|
+
get pages() {
|
|
17
|
+
const length = this.pageNumbers > 5 ? 5 : this.pageNumbers;
|
|
18
|
+
let start = (this.currentPage > 1 && this.pageNumbers > 5) ? this.currentPage - 1 : 1;
|
|
19
|
+
if (this.pageNumbers > 5) {
|
|
20
|
+
if ((this.currentPage + 1) >= this.pageNumbers) {
|
|
21
|
+
start -= 2;
|
|
22
|
+
}
|
|
23
|
+
else if (this.currentPage >= (this.pageNumbers - 2)) {
|
|
24
|
+
start -= (this.pageNumbers - (this.currentPage + 1));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return Array.from({ length }, (_, i) => i + start);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* On click page change
|
|
31
|
+
* @param newPage the new page of table
|
|
32
|
+
*/
|
|
33
|
+
pageChange(newPage) {
|
|
34
|
+
this.newPageEvent.emit(newPage - 1); // emit new page
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PaginationComponent, selector: "it-pagination[currentPage][pageNumbers]", inputs: { currentPage: "currentPage", pageNumbers: "pageNumbers", alignment: "alignment" }, outputs: { newPageEvent: "newPageEvent" }, ngImport: i0, template: "<nav class=\"pagination-wrapper\"\n [class.justify-content-center]=\"alignment==='center'\"\n [class.justify-content-end]=\"alignment==='end'\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage < 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage)\">\n <it-icon name=\"chevron-left\" color=\"primary\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.previous-page'|translate}}</span>\n </a>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && currentPage > 2\">\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(1)\">1</a></li>\n <li class=\"page-item\" *ngIf=\"currentPage > 3\">\n <span class=\"page-link\">...</span>\n </li>\n </ng-container>\n\n <li class=\"page-item\" *ngFor=\"let page of pages\">\n <a class=\"page-link\" aria-current=\"page\" *ngIf=\"page === (currentPage + 1); else inactivePage\">\n <span class=\"d-inline-block d-sm-none\">{{'it.core.page'|translate}}</span> {{page}}\n </a>\n <ng-template #inactivePage>\n <a class=\"page-link\" (click)=\"pageChange(page)\">{{page}}</a>\n </ng-template>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && pageNumbers - currentPage > 3\">\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(pageNumbers)\">{{pageNumbers}}</a></li>\n </ng-container>\n\n <li class=\"page-item\" [class.disabled]=\"currentPage >= pageNumbers - 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage + 2)\">\n <span class=\"visually-hidden\">{{'it.core.next-page'|translate}}</span>\n <it-icon name=\"chevron-right\" color=\"primary\"></it-icon>\n </a>\n </li>\n </ul>\n</nav>\n", styles: [".page-item:not(.disabled)>a.page-link{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
40
|
+
type: Component,
|
|
41
|
+
args: [{ selector: 'it-pagination[currentPage][pageNumbers]', template: "<nav class=\"pagination-wrapper\"\n [class.justify-content-center]=\"alignment==='center'\"\n [class.justify-content-end]=\"alignment==='end'\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage < 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage)\">\n <it-icon name=\"chevron-left\" color=\"primary\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.previous-page'|translate}}</span>\n </a>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && currentPage > 2\">\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(1)\">1</a></li>\n <li class=\"page-item\" *ngIf=\"currentPage > 3\">\n <span class=\"page-link\">...</span>\n </li>\n </ng-container>\n\n <li class=\"page-item\" *ngFor=\"let page of pages\">\n <a class=\"page-link\" aria-current=\"page\" *ngIf=\"page === (currentPage + 1); else inactivePage\">\n <span class=\"d-inline-block d-sm-none\">{{'it.core.page'|translate}}</span> {{page}}\n </a>\n <ng-template #inactivePage>\n <a class=\"page-link\" (click)=\"pageChange(page)\">{{page}}</a>\n </ng-template>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && pageNumbers - currentPage > 3\">\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(pageNumbers)\">{{pageNumbers}}</a></li>\n </ng-container>\n\n <li class=\"page-item\" [class.disabled]=\"currentPage >= pageNumbers - 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage + 2)\">\n <span class=\"visually-hidden\">{{'it.core.next-page'|translate}}</span>\n <it-icon name=\"chevron-right\" color=\"primary\"></it-icon>\n </a>\n </li>\n </ul>\n</nav>\n", styles: [".page-item:not(.disabled)>a.page-link{cursor:pointer}\n"] }]
|
|
42
|
+
}], propDecorators: { currentPage: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], pageNumbers: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], alignment: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], newPageEvent: [{
|
|
49
|
+
type: Output
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPdkUsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQXNCRTs7V0FFRztRQUNPLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQTRCckQ7SUExQkM7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFDUCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzNELElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0RixJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzlDLEtBQUssSUFBSSxDQUFDLENBQUM7YUFDWjtpQkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNyRCxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3REO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCO0lBQ3ZELENBQUM7O2dIQTlDVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixzTkNQaEMsMjBEQTBDQTsyRkRuQ2EsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLHlDQUF5Qzs4QkFTMUMsV0FBVztzQkFBbkIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l0LXBhZ2luYXRpb25bY3VycmVudFBhZ2VdW3BhZ2VOdW1iZXJzXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBJbmRleCBvZiBwYWdlIChzdGFydCAwKVxuICAgKi9cbiAgQElucHV0KCkgY3VycmVudFBhZ2UhOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heCBudW1iZXIgb2YgcGFnZSAoY291bnRlcilcbiAgICovXG4gIEBJbnB1dCgpIHBhZ2VOdW1iZXJzITogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBQYWdpbmF0aW9uIGFsaWdubWVudCAoanVzdGlmeS1jb250ZW50KVxuICAgKi9cbiAgQElucHV0KCkgYWxpZ25tZW50PzogJ2NlbnRlcicgfCAnZW5kJztcblxuICAvKipcbiAgICogRmlyZWQgd2hlbiBwYWdlIGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBuZXdQYWdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAvKipcbiAgICogQ3JlYXRlIGFycmF5IHRvIGdlbmVyYXRlIHBhZ2luYXRpb24gb2YgNSBlbGVtZW50XG4gICAqL1xuICBnZXQgcGFnZXMoKTogQXJyYXk8bnVtYmVyPiB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5wYWdlTnVtYmVycyA+IDUgPyA1IDogdGhpcy5wYWdlTnVtYmVycztcbiAgICBsZXQgc3RhcnQgPSAodGhpcy5jdXJyZW50UGFnZSA+IDEgJiYgdGhpcy5wYWdlTnVtYmVycyA+IDUpID8gdGhpcy5jdXJyZW50UGFnZSAtIDEgOiAxO1xuXG4gICAgaWYgKHRoaXMucGFnZU51bWJlcnMgPiA1KSB7XG4gICAgICBpZiAoKHRoaXMuY3VycmVudFBhZ2UgKyAxKSA+PSB0aGlzLnBhZ2VOdW1iZXJzKSB7XG4gICAgICAgIHN0YXJ0IC09IDI7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFBhZ2UgPj0gKHRoaXMucGFnZU51bWJlcnMgLSAyKSkge1xuICAgICAgICBzdGFydCAtPSAodGhpcy5wYWdlTnVtYmVycyAtICh0aGlzLmN1cnJlbnRQYWdlICsgMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sIChfLCBpKSA9PiBpICsgc3RhcnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIGNsaWNrIHBhZ2UgY2hhbmdlXG4gICAqIEBwYXJhbSBuZXdQYWdlIHRoZSBuZXcgcGFnZSBvZiB0YWJsZVxuICAgKi9cbiAgcGFnZUNoYW5nZShuZXdQYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm5ld1BhZ2VFdmVudC5lbWl0KG5ld1BhZ2UgLSAxKTsgLy8gZW1pdCBuZXcgcGFnZVxuICB9XG5cbn1cbiIsIjxuYXYgY2xhc3M9XCJwYWdpbmF0aW9uLXdyYXBwZXJcIlxuICAgICBbY2xhc3MuanVzdGlmeS1jb250ZW50LWNlbnRlcl09XCJhbGlnbm1lbnQ9PT0nY2VudGVyJ1wiXG4gICAgIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtZW5kXT1cImFsaWdubWVudD09PSdlbmQnXCI+XG4gIDx1bCBjbGFzcz1cInBhZ2luYXRpb25cIj5cbiAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIiBbY2xhc3MuZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPCAxXCI+XG4gICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJwYWdlQ2hhbmdlKGN1cnJlbnRQYWdlKVwiPlxuICAgICAgICA8aXQtaWNvbiBuYW1lPVwiY2hldnJvbi1sZWZ0XCIgY29sb3I9XCJwcmltYXJ5XCI+PC9pdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7J2l0LmNvcmUucHJldmlvdXMtcGFnZSd8dHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9saT5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlTnVtYmVycyA+IDUgJiYgY3VycmVudFBhZ2UgPiAyXCI+XG4gICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj48YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJwYWdlQ2hhbmdlKDEpXCI+MTwvYT48L2xpPlxuICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA+IDNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLWxpbmtcIj4uLi48L3NwYW4+XG4gICAgICA8L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgcGFnZXNcIj5cbiAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgYXJpYS1jdXJyZW50PVwicGFnZVwiICpuZ0lmPVwicGFnZSA9PT0gKGN1cnJlbnRQYWdlICsgMSk7IGVsc2UgaW5hY3RpdmVQYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2sgZC1zbS1ub25lXCI+e3snaXQuY29yZS5wYWdlJ3x0cmFuc2xhdGV9fTwvc3Bhbj4ge3twYWdlfX1cbiAgICAgIDwvYT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaW5hY3RpdmVQYWdlPlxuICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJwYWdlQ2hhbmdlKHBhZ2UpXCI+e3twYWdlfX08L2E+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbGk+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZU51bWJlcnMgPiA1ICYmIHBhZ2VOdW1iZXJzIC0gY3VycmVudFBhZ2UgPiAzXCI+XG4gICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLWxpbmtcIj4uLi48L3NwYW4+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCI+PGEgY2xhc3M9XCJwYWdlLWxpbmtcIiAoY2xpY2spPVwicGFnZUNoYW5nZShwYWdlTnVtYmVycylcIj57e3BhZ2VOdW1iZXJzfX08L2E+PC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyZW50UGFnZSA+PSBwYWdlTnVtYmVycyAtIDFcIj5cbiAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgKGNsaWNrKT1cInBhZ2VDaGFuZ2UoY3VycmVudFBhZ2UgKyAyKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7J2l0LmNvcmUubmV4dC1wYWdlJ3x0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGl0LWljb24gbmFtZT1cImNoZXZyb24tcmlnaHRcIiBjb2xvcj1cInByaW1hcnlcIj48L2l0LWljb24+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvbmF2PlxuIl19
|