@seniorsistemas/data-seniorx-core 1.6.0 → 1.7.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/core/config/card.type.config.d.ts +2 -0
- package/core/config/row-card.type.config.d.ts +2 -0
- package/core/types/button.type.d.ts +2 -0
- package/core/types/card.type.d.ts +36 -0
- package/core/types/filters.type.d.ts +27 -0
- package/core/types/row-card.type.d.ts +39 -0
- package/core/types/semantics.type.d.ts +5 -0
- package/core/types/tab.type.d.ts +5 -0
- package/core/types/table.types.d.ts +2 -2
- package/esm2022/core/config/card.type.config.mjs +18 -0
- package/esm2022/core/config/row-card.type.config.mjs +20 -0
- package/esm2022/core/types/button.type.mjs +2 -0
- package/esm2022/core/types/card.type.mjs +39 -0
- package/esm2022/core/types/filters.type.mjs +2 -0
- package/esm2022/core/types/row-card.type.mjs +59 -0
- package/esm2022/core/types/semantics.type.mjs +1 -1
- package/esm2022/core/types/tab.type.mjs +2 -0
- package/esm2022/core/types/table.types.mjs +4 -2
- package/esm2022/features/button/button.component.mjs +5 -5
- package/esm2022/features/card-list/card/card.component.mjs +34 -0
- package/esm2022/features/card-list/card-list.component.mjs +136 -0
- package/esm2022/features/checkbox/checkbox.component.mjs +5 -5
- package/esm2022/features/combobox/combobox.component.mjs +88 -28
- package/esm2022/features/confirm/confirm.component.mjs +13 -13
- package/esm2022/features/filters/filters.component.mjs +190 -0
- package/esm2022/features/hyperlink/hyperlink.component.mjs +14 -14
- package/esm2022/features/inputs.mjs +1 -1
- package/esm2022/features/list/list.component.mjs +14 -14
- package/esm2022/features/modal/modal.component.mjs +11 -11
- package/esm2022/features/modalc/modalc.component.mjs +19 -13
- package/esm2022/features/paginator/paginator.component.mjs +43 -0
- package/esm2022/features/panel/panel.component.mjs +11 -11
- package/esm2022/features/row-card-list/row-card/row-card.component.mjs +58 -0
- package/esm2022/features/row-card-list/row-card-list.component.mjs +150 -0
- package/esm2022/features/scaffold/scaffold.component.mjs +4 -4
- package/esm2022/features/searchbox/searchbox.component.mjs +7 -6
- package/esm2022/features/sidebar/sidebar.component.mjs +6 -4
- package/esm2022/features/spinner/spinner.component.mjs +6 -8
- package/esm2022/features/sql-editor/sql-editor.component.mjs +34 -36
- package/esm2022/features/tab/tab.component.mjs +8 -7
- package/esm2022/features/table/table.component.mjs +52 -47
- package/esm2022/features/textbox/textbox.component.mjs +16 -9
- package/esm2022/features/toast/toast.component.mjs +17 -21
- package/esm2022/locales/en.json +6 -1
- package/esm2022/locales/es-CO.json +7 -2
- package/esm2022/locales/pt.json +6 -1
- package/esm2022/public-api.mjs +5 -1
- package/features/button/button.component.d.ts +5 -3
- package/features/card-list/card/card.component.d.ts +11 -0
- package/features/card-list/card-list.component.d.ts +36 -0
- package/features/combobox/combobox.component.d.ts +25 -8
- package/features/confirm/confirm.component.d.ts +4 -4
- package/features/filters/filters.component.d.ts +36 -0
- package/features/hyperlink/hyperlink.component.d.ts +3 -3
- package/features/list/list.component.d.ts +3 -3
- package/features/modal/modal.component.d.ts +3 -3
- package/features/paginator/paginator.component.d.ts +15 -0
- package/features/panel/panel.component.d.ts +4 -4
- package/features/row-card-list/row-card/row-card.component.d.ts +18 -0
- package/features/row-card-list/row-card-list.component.d.ts +40 -0
- package/features/searchbox/searchbox.component.d.ts +1 -1
- package/features/spinner/spinner.component.d.ts +1 -1
- package/features/sql-editor/sql-editor.component.d.ts +8 -8
- package/features/tab/tab.component.d.ts +2 -8
- package/features/table/table.component.d.ts +5 -6
- package/features/toast/toast.component.d.ts +5 -5
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +883 -226
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
- package/styles.css +49 -48
- package/styles.css.map +1 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { EmptyStateModule } from '@seniorsistemas/angular-components/empty-state';
|
|
3
|
+
import { LoadingStateModule } from '@seniorsistemas/angular-components/loading-state';
|
|
4
|
+
import { RowCardComponent } from './row-card/row-card.component';
|
|
5
|
+
import { isMobile, isTablet } from 'lib/src/core/utils/layout.util';
|
|
6
|
+
import { DEFAULT_ROW_CARD_LIST_OPTIONS } from 'lib/src/core/config/row-card.type.config';
|
|
7
|
+
import { PaginatorComponent } from '../paginator/paginator.component';
|
|
8
|
+
import { Component, EventEmitter, Input, Output, computed, signal, ContentChild, TemplateRef, ViewEncapsulation } from '@angular/core';
|
|
9
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngx-translate/core";
|
|
12
|
+
import * as i2 from "@seniorsistemas/angular-components/empty-state";
|
|
13
|
+
import * as i3 from "@seniorsistemas/angular-components/loading-state";
|
|
14
|
+
export class RowCardListComponent {
|
|
15
|
+
data = [];
|
|
16
|
+
loading = false;
|
|
17
|
+
config = DEFAULT_ROW_CARD_LIST_OPTIONS;
|
|
18
|
+
cardButtonClick = new EventEmitter();
|
|
19
|
+
expandCard = new EventEmitter();
|
|
20
|
+
detailTemplate;
|
|
21
|
+
isMobile = isMobile();
|
|
22
|
+
isTablet = isTablet();
|
|
23
|
+
options = signal(DEFAULT_ROW_CARD_LIST_OPTIONS);
|
|
24
|
+
emptyTitle = computed(() => this.options().empty?.title ?? '');
|
|
25
|
+
emptyText = computed(() => this.options().empty?.message ?? '');
|
|
26
|
+
totalRecordsLabel = computed(() => this.options().totalRecordsLabel ?? '');
|
|
27
|
+
expandedCardId = signal(null);
|
|
28
|
+
raw = signal([]);
|
|
29
|
+
filtered = signal([]);
|
|
30
|
+
page = signal({ first: 0, rows: DEFAULT_ROW_CARD_LIST_OPTIONS.initialRows });
|
|
31
|
+
isFirstPage = computed(() => this.page().first === 0);
|
|
32
|
+
isLastPage = computed(() => {
|
|
33
|
+
const list = this.filtered();
|
|
34
|
+
const { first, rows } = this.page();
|
|
35
|
+
const end = this.options().enablePagination ? first + rows : list.length;
|
|
36
|
+
return end >= list.length;
|
|
37
|
+
});
|
|
38
|
+
pagedData = computed(() => {
|
|
39
|
+
const list = this.filtered();
|
|
40
|
+
if (!this.options().enablePagination)
|
|
41
|
+
return list;
|
|
42
|
+
const { first, rows } = this.page();
|
|
43
|
+
return list.slice(first, first + rows);
|
|
44
|
+
});
|
|
45
|
+
configHash = '';
|
|
46
|
+
ngOnChanges(changes) {
|
|
47
|
+
if (changes['data']) {
|
|
48
|
+
const v = this.data ?? [];
|
|
49
|
+
this.raw.set(v);
|
|
50
|
+
this.filtered.set(v);
|
|
51
|
+
this.page.set({ first: 0, rows: this.options().initialRows ?? DEFAULT_ROW_CARD_LIST_OPTIONS.initialRows });
|
|
52
|
+
}
|
|
53
|
+
if (changes['config']) {
|
|
54
|
+
this.applyConfigOptions();
|
|
55
|
+
this.page.set({ first: 0, rows: this.options().initialRows ?? DEFAULT_ROW_CARD_LIST_OPTIONS.initialRows });
|
|
56
|
+
this.configHash = this.stableStringify(this.config);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
ngDoCheck() {
|
|
60
|
+
const nextHash = this.stableStringify(this.config);
|
|
61
|
+
if (nextHash !== this.configHash) {
|
|
62
|
+
this.configHash = nextHash;
|
|
63
|
+
this.applyConfigOptions();
|
|
64
|
+
this.page.set({ first: 0, rows: this.options().initialRows ?? DEFAULT_ROW_CARD_LIST_OPTIONS.initialRows });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
onChangePaginator(event) {
|
|
68
|
+
this.page.set({
|
|
69
|
+
first: event.first ?? 0,
|
|
70
|
+
rows: event.rows ?? (this.options().initialRows ?? DEFAULT_ROW_CARD_LIST_OPTIONS.initialRows)
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
nextPage() {
|
|
74
|
+
if (!this.options().enablePagination)
|
|
75
|
+
return;
|
|
76
|
+
const { first, rows } = this.page();
|
|
77
|
+
if (this.filtered().length > first + rows) {
|
|
78
|
+
this.page.set({ first: first + rows, rows });
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
prevPage() {
|
|
82
|
+
if (!this.options().enablePagination)
|
|
83
|
+
return;
|
|
84
|
+
const { first, rows } = this.page();
|
|
85
|
+
if (first - rows >= 0) {
|
|
86
|
+
this.page.set({ first: first - rows, rows });
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
onCardButtonClick(card) {
|
|
90
|
+
this.cardButtonClick.emit(card);
|
|
91
|
+
}
|
|
92
|
+
onButtonExpand(card) {
|
|
93
|
+
const isOpen = this.expandedCardId() === card.id;
|
|
94
|
+
this.expandedCardId.set(isOpen ? null : card.id);
|
|
95
|
+
this.expandCard.emit(card);
|
|
96
|
+
}
|
|
97
|
+
applyConfigOptions() {
|
|
98
|
+
const base = DEFAULT_ROW_CARD_LIST_OPTIONS;
|
|
99
|
+
const cfg = { ...base, ...(this.config ?? {}) };
|
|
100
|
+
cfg.customCard = { ...base.customCard, ...(this.config?.customCard ?? {}) };
|
|
101
|
+
this.options.set(cfg);
|
|
102
|
+
}
|
|
103
|
+
stableStringify(obj) {
|
|
104
|
+
const seen = new WeakSet();
|
|
105
|
+
const replacer = (_k, v) => {
|
|
106
|
+
if (v && typeof v === 'object') {
|
|
107
|
+
const asObj = v;
|
|
108
|
+
if (seen.has(asObj))
|
|
109
|
+
return;
|
|
110
|
+
seen.add(asObj);
|
|
111
|
+
if (Array.isArray(v))
|
|
112
|
+
return v;
|
|
113
|
+
const o = v;
|
|
114
|
+
return Object.keys(o).sort().reduce((acc, key) => {
|
|
115
|
+
acc[key] = o[key];
|
|
116
|
+
return acc;
|
|
117
|
+
}, {});
|
|
118
|
+
}
|
|
119
|
+
if (typeof v === 'function' || typeof v === 'undefined')
|
|
120
|
+
return undefined;
|
|
121
|
+
return v;
|
|
122
|
+
};
|
|
123
|
+
try {
|
|
124
|
+
return JSON.stringify(obj ?? {}, replacer);
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return JSON.stringify(obj ?? {});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowCardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RowCardListComponent, isStandalone: true, selector: "sdc-row-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick", expandCard: "expandCard" }, queries: [{ propertyName: "detailTemplate", first: true, predicate: ["rowCardDetail"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-row-card-list\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) { @for (card of pagedData(); track card.id) {\n <div class=\"sdc-row-card-item\">\n <sdc-row-card\n (cardButtonClick)=\"onCardButtonClick(card)\"\n (expandClick)=\"onButtonExpand(card)\"\n [options]=\"options().customCard\"\n [data]=\"card\"\n [isExpanded]=\"expandedCardId() === card.id\"\n [detailTemplate]=\"detailTemplate\"\n >\n </sdc-row-card>\n </div>\n } } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"sdc-paginator-wrap flex justify-content-start\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [totalRecords]=\"filtered().length\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.sdc-row-card-list{min-height:30rem;min-width:17rem;align-content:center}.sdc-row-card-list ::ng-deep .sdc-row-card-item sdc-row-card .row-card{border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0}.sdc-row-card-list ::ng-deep .sdc-row-card-item:not(:last-child) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:first-child sdc-row-card .row-card{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:nth-last-child(1 of.sdc-row-card-item) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:only-child sdc-row-card .row-card{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: RowCardComponent, selector: "sdc-row-card", inputs: ["data", "options", "isExpanded", "detailTemplate"], outputs: ["expandClick", "cardButtonClick"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i2.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "component", type: i3.LoadingStateComponent, selector: "s-loading-state", inputs: ["indicator", "id", "blockWindow", "loading"] }] });
|
|
132
|
+
}
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowCardListComponent, decorators: [{
|
|
134
|
+
type: Component,
|
|
135
|
+
args: [{ selector: 'sdc-row-card-list', standalone: true, imports: [CommonModule, TranslateModule, RowCardComponent, PaginatorComponent, EmptyStateModule, LoadingStateModule], encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-row-card-list\">\n @if (loading) {\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"false\" class=\"sdc-cardlist-loading-state\"></s-loading-state>\n } @else { @if (pagedData().length) { @for (card of pagedData(); track card.id) {\n <div class=\"sdc-row-card-item\">\n <sdc-row-card\n (cardButtonClick)=\"onCardButtonClick(card)\"\n (expandClick)=\"onButtonExpand(card)\"\n [options]=\"options().customCard\"\n [data]=\"card\"\n [isExpanded]=\"expandedCardId() === card.id\"\n [detailTemplate]=\"detailTemplate\"\n >\n </sdc-row-card>\n </div>\n } } @else {\n <s-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle() | translate\"\n [description]=\"emptyText() | translate\"\n class=\"sdc-cardlist-empty-state\"\n ></s-empty-state>\n } @if (options().enablePagination) {\n <div class=\"sdc-paginator-wrap flex justify-content-start\" [class.justify-content-center]=\"isMobile || isTablet\">\n <sdc-paginator\n style=\"min-width: 100%\"\n [totalRecordsLabel]=\"totalRecordsLabel() | translate\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [totalRecords]=\"filtered().length\"\n [isMobile]=\"isMobile\"\n >\n </sdc-paginator>\n </div>\n } }\n</div>\n", styles: [".bg-disabled{background-color:var(--p-inputtext-disabled-background)}.sdc-row-card-list{min-height:30rem;min-width:17rem;align-content:center}.sdc-row-card-list ::ng-deep .sdc-row-card-item sdc-row-card .row-card{border-inline:1px solid var(--sdc-formfield-default-border);border-block:0;border-radius:0}.sdc-row-card-list ::ng-deep .sdc-row-card-item:not(:last-child) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:first-child sdc-row-card .row-card{border-block-start:1px solid var(--sdc-formfield-default-border);border-start-start-radius:var(--sdc-formfield-border-radius);border-start-end-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:nth-last-child(1 of.sdc-row-card-item) sdc-row-card .row-card{border-block-end:1px solid var(--sdc-formfield-default-border);border-end-end-radius:var(--sdc-formfield-border-radius);border-end-start-radius:var(--sdc-formfield-border-radius)}.sdc-row-card-list ::ng-deep .sdc-row-card-item:only-child sdc-row-card .row-card{border:1px solid var(--sdc-formfield-default-border);border-radius:var(--sdc-formfield-border-radius)}\n"] }]
|
|
136
|
+
}], propDecorators: { data: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], loading: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], config: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], cardButtonClick: [{
|
|
143
|
+
type: Output
|
|
144
|
+
}], expandCard: [{
|
|
145
|
+
type: Output
|
|
146
|
+
}], detailTemplate: [{
|
|
147
|
+
type: ContentChild,
|
|
148
|
+
args: ['rowCardDetail', { read: TemplateRef }]
|
|
149
|
+
}] } });
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNhcmQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3Jvdy1jYXJkLWxpc3Qvcm93LWNhcmQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3Jvdy1jYXJkLWxpc3Qvcm93LWNhcmQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQXFDLFlBQVksRUFBRSxXQUFXLEVBQzdGLGlCQUFpQixFQUMzQyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBVXRELE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsSUFBSSxHQUFjLEVBQUUsQ0FBQztJQUNyQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLE1BQU0sR0FBdUIsNkJBQTZCLENBQUM7SUFFMUQsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFDOUMsVUFBVSxHQUFH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WUFDVCxDQUFDO1lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxVQUFVLElBQUksT0FBTyxDQUFDLEtBQUssV0FBVztnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUMxRSxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLFFBQWUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO0lBQ3hHLENBQUM7d0dBekhVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGdUQVFRLFdBQVcsa0RDL0JwRCwrMUNBc0NBLHV1Q0RwQlksWUFBWSw4QkFBRSxlQUFlLDRGQUFFLGdCQUFnQixtS0FBRSxrQkFBa0Isb0xBQUUsZ0JBQWdCLDRUQUFFLGtCQUFrQjs7NEZBS3hHLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxpQkFHckcsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUUrQyxjQUFjO3NCQUFuRSxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUGFnaW5hdG9yU3RhdGUgfSBmcm9tICdwcmltZW5nL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBFbXB0eVN0YXRlTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9lbXB0eS1zdGF0ZSc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGVNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2xvYWRpbmctc3RhdGUnO1xuaW1wb3J0IHsgUm93Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vcm93LWNhcmQvcm93LWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IGlzTW9iaWxlLCBpc1RhYmxldCB9IGZyb20gJ2xpYi9zcmMvY29yZS91dGlscy9sYXlvdXQudXRpbCc7XG5pbXBvcnQgeyBSb3dDYXJkLCBSb3dDYXJkTGlzdE9wdGlvbnMgfSBmcm9tICdsaWIvc3JjL2NvcmUvdHlwZXMvcm93LWNhcmQudHlwZSc7XG5pbXBvcnQgeyBERUZBVUxUX1JPV19DQVJEX0xJU1RfT1BUSU9OUyB9IGZyb20gJ2xpYi9zcmMvY29yZS9jb25maWcvcm93LWNhcmQudHlwZS5jb25maWcnO1xuaW1wb3J0IHsgUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGNvbXB1dGVkLCBzaWduYWwsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgRG9DaGVjaywgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1yb3ctY2FyZC1saXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBSb3dDYXJkQ29tcG9uZW50LCBQYWdpbmF0b3JDb21wb25lbnQsIEVtcHR5U3RhdGVNb2R1bGUsIExvYWRpbmdTdGF0ZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yb3ctY2FyZC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Jvdy1jYXJkLWxpc3QuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbn0pXG5leHBvcnQgY2xhc3MgUm93Q2FyZExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIERvQ2hlY2sge1xuICBASW5wdXQoKSBkYXRhOiBSb3dDYXJkW10gPSBbXTtcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBjb25maWc6IFJvd0NhcmRMaXN0T3B0aW9ucyA9IERFRkFVTFRfUk9XX0NBUkRfTElTVF9PUFRJT05TO1xuXG4gIEBPdXRwdXQoKSBjYXJkQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFJvd0NhcmQ+KCk7XG4gIEBPdXRwdXQoKSBleHBhbmRDYXJkID0gbmV3IEV2ZW50RW1pdHRlcjxSb3dDYXJkPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ3Jvd0NhcmREZXRhaWwnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGRldGFpbFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNUYWJsZXQgPSBpc1RhYmxldCgpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gc2lnbmFsPFJvd0NhcmRMaXN0T3B0aW9ucz4oREVGQVVMVF9ST1dfQ0FSRF9MSVNUX09QVElPTlMpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1wdHlUaXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLmVtcHR5Py50aXRsZSA/PyAnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBlbXB0eVRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS5lbXB0eT8ubWVzc2FnZSA/PyAnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0b3RhbFJlY29yZHNMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLnRvdGFsUmVjb3Jkc0xhYmVsID8/ICcnKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kZWRDYXJkSWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmF3ID0gc2lnbmFsPFJvd0NhcmRbXT4oW10pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyZWQgPSBzaWduYWw8Um93Q2FyZFtdPihbXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBwYWdlID0gc2lnbmFsKHsgZmlyc3Q6IDAsIHJvd3M6IERFRkFVTFRfUk9XX0NBUkRfTElTVF9PUFRJT05TLmluaXRpYWxSb3dzISB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNGaXJzdFBhZ2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBhZ2UoKS5maXJzdCA9PT0gMCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0xhc3RQYWdlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmZpbHRlcmVkKCk7XG4gICAgY29uc3QgeyBmaXJzdCwgcm93cyB9ID0gdGhpcy5wYWdlKCk7XG4gICAgY29uc3QgZW5kID0gdGhpcy5vcHRpb25zKCkuZW5hYmxlUGFnaW5hdGlvbiA/IGZpcnN0ICsgcm93cyA6IGxpc3QubGVuZ3RoO1xuICAgIHJldHVybiBlbmQgPj0gbGlzdC5sZW5ndGg7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwYWdlZERhdGEgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbGlzdCA9IHRoaXMuZmlsdGVyZWQoKTtcbiAgICBpZiAoIXRoaXMub3B0aW9ucygpLmVuYWJsZVBhZ2luYXRpb24pIHJldHVybiBsaXN0O1xuICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MgfSA9IHRoaXMucGFnZSgpO1xuICAgIHJldHVybiBsaXN0LnNsaWNlKGZpcnN0LCBmaXJzdCArIHJvd3MpO1xuICB9KTtcblxuICBwcml2YXRlIGNvbmZpZ0hhc2ggPSAnJztcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2RhdGEnXSkge1xuICAgICAgY29uc3QgdiA9IHRoaXMuZGF0YSA/PyBbXTtcbiAgICAgIHRoaXMucmF3LnNldCh2KTtcbiAgICAgIHRoaXMuZmlsdGVyZWQuc2V0KHYpO1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiAwLCByb3dzOiB0aGlzLm9wdGlvbnMoKS5pbml0aWFsUm93cyA/PyBERUZBVUxUX1JPV19DQVJEX0xJU1RfT1BUSU9OUy5pbml0aWFsUm93cyEgfSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgdGhpcy5hcHBseUNvbmZpZ09wdGlvbnMoKTtcbiAgICAgIHRoaXMucGFnZS5zZXQoeyBmaXJzdDogMCwgcm93czogdGhpcy5vcHRpb25zKCkuaW5pdGlhbFJvd3MgPz8gREVGQVVMVF9ST1dfQ0FSRF9MSVNUX09QVElPTlMuaW5pdGlhbFJvd3MhIH0pO1xuICAgICAgdGhpcy5jb25maWdIYXNoID0gdGhpcy5zdGFibGVTdHJpbmdpZnkodGhpcy5jb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBjb25zdCBuZXh0SGFzaCA9IHRoaXMuc3RhYmxlU3RyaW5naWZ5KHRoaXMuY29uZmlnKTtcbiAgICBpZiAobmV4dEhhc2ggIT09IHRoaXMuY29uZmlnSGFzaCkge1xuICAgICAgdGhpcy5jb25maWdIYXNoID0gbmV4dEhhc2g7XG4gICAgICB0aGlzLmFwcGx5Q29uZmlnT3B0aW9ucygpO1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiAwLCByb3dzOiB0aGlzLm9wdGlvbnMoKS5pbml0aWFsUm93cyA/PyBERUZBVUxUX1JPV19DQVJEX0xJU1RfT1BUSU9OUy5pbml0aWFsUm93cyEgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlUGFnaW5hdG9yKGV2ZW50OiBQYWdpbmF0b3JTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMucGFnZS5zZXQoe1xuICAgICAgZmlyc3Q6IGV2ZW50LmZpcnN0ID8/IDAsXG4gICAgICByb3dzOiBldmVudC5yb3dzID8/ICh0aGlzLm9wdGlvbnMoKS5pbml0aWFsUm93cyA/PyBERUZBVUxUX1JPV19DQVJEX0xJU1RfT1BUSU9OUy5pbml0aWFsUm93cyEpXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMoKS5lbmFibGVQYWdpbmF0aW9uKSByZXR1cm47XG4gICAgY29uc3QgeyBmaXJzdCwgcm93cyB9ID0gdGhpcy5wYWdlKCk7XG4gICAgaWYgKHRoaXMuZmlsdGVyZWQoKS5sZW5ndGggPiBmaXJzdCArIHJvd3MpIHtcbiAgICAgIHRoaXMucGFnZS5zZXQoeyBmaXJzdDogZmlyc3QgKyByb3dzLCByb3dzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucygpLmVuYWJsZVBhZ2luYXRpb24pIHJldHVybjtcbiAgICBjb25zdCB7IGZpcnN0LCByb3dzIH0gPSB0aGlzLnBhZ2UoKTtcbiAgICBpZiAoZmlyc3QgLSByb3dzID49IDApIHtcbiAgICAgIHRoaXMucGFnZS5zZXQoeyBmaXJzdDogZmlyc3QgLSByb3dzLCByb3dzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhcmRCdXR0b25DbGljayhjYXJkOiBSb3dDYXJkKTogdm9pZCB7XG4gICAgdGhpcy5jYXJkQnV0dG9uQ2xpY2suZW1pdChjYXJkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkJ1dHRvbkV4cGFuZChjYXJkOiBSb3dDYXJkKTogdm9pZCB7XG4gICAgY29uc3QgaXNPcGVuID0gdGhpcy5leHBhbmRlZENhcmRJZCgpID09PSBjYXJkLmlkO1xuICAgIHRoaXMuZXhwYW5kZWRDYXJkSWQuc2V0KGlzT3BlbiA/IG51bGwgOiBjYXJkLmlkKTtcbiAgICB0aGlzLmV4cGFuZENhcmQuZW1pdChjYXJkKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlDb25maWdPcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGJhc2UgPSBERUZBVUxUX1JPV19DQVJEX0xJU1RfT1BUSU9OUztcbiAgICBjb25zdCBjZmc6IFJvd0NhcmRMaXN0T3B0aW9ucyA9IHsgLi4uYmFzZSwgLi4uKHRoaXMuY29uZmlnID8/IHt9KSB9O1xuICAgIGNmZy5jdXN0b21DYXJkID0geyAuLi5iYXNlLmN1c3RvbUNhcmQsIC4uLih0aGlzLmNvbmZpZz8uY3VzdG9tQ2FyZCA/PyB7fSkgfTtcbiAgICB0aGlzLm9wdGlvbnMuc2V0KGNmZyk7XG4gIH1cblxuICBwcml2YXRlIHN0YWJsZVN0cmluZ2lmeShvYmo6IHVua25vd24pOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlZW4gPSBuZXcgV2Vha1NldDxvYmplY3Q+KCk7XG4gICAgY29uc3QgcmVwbGFjZXIgPSAoX2s6IHN0cmluZywgdjogdW5rbm93bik6IHVua25vd24gPT4ge1xuICAgICAgaWYgKHYgJiYgdHlwZW9mIHYgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IGFzT2JqID0gdiBhcyBvYmplY3Q7XG4gICAgICAgIGlmIChzZWVuLmhhcyhhc09iaikpIHJldHVybjtcbiAgICAgICAgc2Vlbi5hZGQoYXNPYmopO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkgcmV0dXJuIHY7XG4gICAgICAgIGNvbnN0IG8gPSB2IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMobykuc29ydCgpLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgYWNjW2tleV0gPSBvW2tleV07XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30pO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2ID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiB2ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB2O1xuICAgIH07XG4gICAgdHJ5IHsgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaiA/PyB7fSwgcmVwbGFjZXIgYXMgYW55KTsgfSBjYXRjaCB7IHJldHVybiBKU09OLnN0cmluZ2lmeShvYmogPz8ge30pOyB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtcm93LWNhcmQtbGlzdFwiPlxuICBAaWYgKGxvYWRpbmcpIHtcbiAgPHMtbG9hZGluZy1zdGF0ZSBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2Jsb2NrV2luZG93XT1cImZhbHNlXCIgY2xhc3M9XCJzZGMtY2FyZGxpc3QtbG9hZGluZy1zdGF0ZVwiPjwvcy1sb2FkaW5nLXN0YXRlPlxuICB9IEBlbHNlIHsgQGlmIChwYWdlZERhdGEoKS5sZW5ndGgpIHsgQGZvciAoY2FyZCBvZiBwYWdlZERhdGEoKTsgdHJhY2sgY2FyZC5pZCkge1xuICA8ZGl2IGNsYXNzPVwic2RjLXJvdy1jYXJkLWl0ZW1cIj5cbiAgICA8c2RjLXJvdy1jYXJkXG4gICAgICAoY2FyZEJ1dHRvbkNsaWNrKT1cIm9uQ2FyZEJ1dHRvbkNsaWNrKGNhcmQpXCJcbiAgICAgIChleHBhbmRDbGljayk9XCJvbkJ1dHRvbkV4cGFuZChjYXJkKVwiXG4gICAgICBbb3B0aW9uc109XCJvcHRpb25zKCkuY3VzdG9tQ2FyZFwiXG4gICAgICBbZGF0YV09XCJjYXJkXCJcbiAgICAgIFtpc0V4cGFuZGVkXT1cImV4cGFuZGVkQ2FyZElkKCkgPT09IGNhcmQuaWRcIlxuICAgICAgW2RldGFpbFRlbXBsYXRlXT1cImRldGFpbFRlbXBsYXRlXCJcbiAgICA+XG4gICAgPC9zZGMtcm93LWNhcmQ+XG4gIDwvZGl2PlxuICB9IH0gQGVsc2Uge1xuICA8cy1lbXB0eS1zdGF0ZVxuICAgIGlkPVwiY2FyZGxpc3QtZW1wdHlcIlxuICAgIGljb25DbGFzcz1cImZhIGZhLWluYm94XCJcbiAgICBbdGl0bGVdPVwiZW1wdHlUaXRsZSgpIHwgdHJhbnNsYXRlXCJcbiAgICBbZGVzY3JpcHRpb25dPVwiZW1wdHlUZXh0KCkgfCB0cmFuc2xhdGVcIlxuICAgIGNsYXNzPVwic2RjLWNhcmRsaXN0LWVtcHR5LXN0YXRlXCJcbiAgPjwvcy1lbXB0eS1zdGF0ZT5cbiAgfSBAaWYgKG9wdGlvbnMoKS5lbmFibGVQYWdpbmF0aW9uKSB7XG4gIDxkaXYgY2xhc3M9XCJzZGMtcGFnaW5hdG9yLXdyYXAgZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIiBbY2xhc3MuanVzdGlmeS1jb250ZW50LWNlbnRlcl09XCJpc01vYmlsZSB8fCBpc1RhYmxldFwiPlxuICAgIDxzZGMtcGFnaW5hdG9yXG4gICAgICBzdHlsZT1cIm1pbi13aWR0aDogMTAwJVwiXG4gICAgICBbdG90YWxSZWNvcmRzTGFiZWxdPVwidG90YWxSZWNvcmRzTGFiZWwoKSB8IHRyYW5zbGF0ZVwiXG4gICAgICAocGFnZUNoYW5nZSk9XCJvbkNoYW5nZVBhZ2luYXRvcigkZXZlbnQpXCJcbiAgICAgIFtmaXJzdF09XCJwYWdlKCkuZmlyc3RcIlxuICAgICAgW3Jvd3NdPVwicGFnZSgpLnJvd3NcIlxuICAgICAgW3RvdGFsUmVjb3Jkc109XCJmaWx0ZXJlZCgpLmxlbmd0aFwiXG4gICAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgID5cbiAgICA8L3NkYy1wYWdpbmF0b3I+XG4gIDwvZGl2PlxuICB9IH1cbjwvZGl2PlxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, Input, ContentChild, TemplateRef } from '@angular/core';
|
|
2
|
+
import { Component, Input, ContentChild, TemplateRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { ProductHeaderModule } from '@seniorsistemas/angular-components/product-header';
|
|
4
4
|
import { BreadcrumbModule } from '@seniorsistemas/angular-components/breadcrumb';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -13,11 +13,11 @@ export class ScaffoldComponent {
|
|
|
13
13
|
headerTpl;
|
|
14
14
|
footerTpl;
|
|
15
15
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScaffoldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScaffoldComponent, isStandalone: true, selector: "sdc-scaffold", inputs: { header: "header", title: "title", homeUrl: "homeUrl" }, queries: [{ propertyName: "headerTpl", first: true, predicate: ["scaffoldHeader"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["scaffoldFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<s-product-header [header]=\"header\">\n <ng-container *ngIf=\"headerTpl\" [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n</s-product-header>\n\n<div class=\"sdc-scaffold\">\n <div class=\"sdc-scaffold-title\">{{ title }}</div>\n <s-breadcrumb [homeUrl]=\"homeUrl\"></s-breadcrumb>\n\n <div class=\"sdc-scaffold-content\">\n <ng-content select=\"[sdc-scaffold-content]\"></ng-content>\n <ng-content></ng-content>\n </div>\n</div>\n\n<footer class=\"sdc-scaffold-footer\" *ngIf=\"footerTpl\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n", styles: ["::ng-deep .sds-container{padding:20px}::ng-deep .sdc-scaffold .p-breadcrumb{font-size:12px;padding:10px 0 0!important;background:transparent}::ng-deep .sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:5px 0 0;font-family:Open Sans,sans-serif;font-size:20px;font-weight:400;line-height:1em;color:#333}.sdc-scaffold{padding:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ProductHeaderModule }, { kind: "component", type: i2.ProductHeaderComponent, selector: "s-product-header", inputs: ["id", "header", "baseZIndex", "isHeaderFrame"] }, { kind: "ngmodule", type: BreadcrumbModule }, { kind: "component", type: i3.BreadcrumbComponent, selector: "s-breadcrumb", inputs: ["homeUrl", "targetHomeUrl"] }] });
|
|
16
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScaffoldComponent, isStandalone: true, selector: "sdc-scaffold", inputs: { header: "header", title: "title", homeUrl: "homeUrl" }, queries: [{ propertyName: "headerTpl", first: true, predicate: ["scaffoldHeader"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["scaffoldFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<s-product-header [header]=\"header\">\n <ng-container *ngIf=\"headerTpl\" [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n</s-product-header>\n\n<div class=\"sdc-scaffold\">\n <div class=\"sdc-scaffold-title\">{{ title }}</div>\n <s-breadcrumb [homeUrl]=\"homeUrl\"></s-breadcrumb>\n\n <div class=\"sdc-scaffold-content\">\n <ng-content select=\"[sdc-scaffold-content]\"></ng-content>\n <ng-content></ng-content>\n </div>\n</div>\n\n<footer class=\"sdc-scaffold-footer\" *ngIf=\"footerTpl\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n", styles: ["::ng-deep .sds-container{padding:20px}::ng-deep .sdc-scaffold .p-breadcrumb{font-size:12px;padding:10px 0 0!important;background:transparent}::ng-deep .sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:5px 0 0;font-family:Open Sans,sans-serif;font-size:20px;font-weight:400;line-height:1em;color:#333}@media (min-width: 750px){.sdc-scaffold{padding:5px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ProductHeaderModule }, { kind: "component", type: i2.ProductHeaderComponent, selector: "s-product-header", inputs: ["id", "header", "baseZIndex", "isHeaderFrame"] }, { kind: "ngmodule", type: BreadcrumbModule }, { kind: "component", type: i3.BreadcrumbComponent, selector: "s-breadcrumb", inputs: ["homeUrl", "targetHomeUrl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17
17
|
}
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScaffoldComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{ selector: 'sdc-scaffold', standalone: true, imports: [CommonModule, ProductHeaderModule, BreadcrumbModule], template: "<s-product-header [header]=\"header\">\n <ng-container *ngIf=\"headerTpl\" [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n</s-product-header>\n\n<div class=\"sdc-scaffold\">\n <div class=\"sdc-scaffold-title\">{{ title }}</div>\n <s-breadcrumb [homeUrl]=\"homeUrl\"></s-breadcrumb>\n\n <div class=\"sdc-scaffold-content\">\n <ng-content select=\"[sdc-scaffold-content]\"></ng-content>\n <ng-content></ng-content>\n </div>\n</div>\n\n<footer class=\"sdc-scaffold-footer\" *ngIf=\"footerTpl\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n", styles: ["::ng-deep .sds-container{padding:20px}::ng-deep .sdc-scaffold .p-breadcrumb{font-size:12px;padding:10px 0 0!important;background:transparent}::ng-deep .sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:5px 0 0;font-family:Open Sans,sans-serif;font-size:20px;font-weight:400;line-height:1em;color:#333}.sdc-scaffold{padding:5px}\n"] }]
|
|
20
|
+
args: [{ selector: 'sdc-scaffold', standalone: true, imports: [CommonModule, ProductHeaderModule, BreadcrumbModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<s-product-header [header]=\"header\">\n <ng-container *ngIf=\"headerTpl\" [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n</s-product-header>\n\n<div class=\"sdc-scaffold\">\n <div class=\"sdc-scaffold-title\">{{ title }}</div>\n <s-breadcrumb [homeUrl]=\"homeUrl\"></s-breadcrumb>\n\n <div class=\"sdc-scaffold-content\">\n <ng-content select=\"[sdc-scaffold-content]\"></ng-content>\n <ng-content></ng-content>\n </div>\n</div>\n\n<footer class=\"sdc-scaffold-footer\" *ngIf=\"footerTpl\">\n <ng-container [ngTemplateOutlet]=\"footerTpl\"></ng-container>\n</footer>\n", styles: ["::ng-deep .sds-container{padding:20px}::ng-deep .sdc-scaffold .p-breadcrumb{font-size:12px;padding:10px 0 0!important;background:transparent}::ng-deep .sdc-scaffold .sds-page-title{display:none}.sdc-scaffold-title{padding:5px 0 0;font-family:Open Sans,sans-serif;font-size:20px;font-weight:400;line-height:1em;color:#333}@media (min-width: 750px){.sdc-scaffold{padding:5px}}\n"] }]
|
|
21
21
|
}], propDecorators: { header: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}], title: [{
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
31
31
|
type: ContentChild,
|
|
32
32
|
args: ['scaffoldFooter', { read: TemplateRef }]
|
|
33
33
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhZmZvbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9zY2FmZm9sZC9zY2FmZm9sZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NjYWZmb2xkL3NjYWZmb2xkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7OztBQVdqRixNQUFNLE9BQU8saUJBQWlCO0lBQ25CLE1BQU0sR0FBVyxvQkFBb0IsQ0FBQztJQUN0QyxLQUFLLEdBQVcsMEJBQTBCLENBQUM7SUFDM0MsT0FBTyxHQUF1QixHQUFHLENBQUM7SUFFWSxTQUFTLENBQW9CO0lBQzdCLFNBQVMsQ0FBb0I7d0dBTnpFLGlCQUFpQjs0RkFBakIsaUJBQWlCLDhOQUtZLFdBQVcsc0dBQ1gsV0FBVyw2QkNwQnJELDBrQkFpQkEsaWJEVFksWUFBWSx5U0FBRSxtQkFBbUIsNktBQUUsZ0JBQWdCOzs0RkFNbEQsaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUMsbUJBRzdDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBR2hDLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVpRCxTQUFTO3NCQUEvRCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDRSxTQUFTO3NCQUEvRCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y3RIZWFkZXJNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Byb2R1Y3QtaGVhZGVyJztcbmltcG9ydCB7IEJyZWFkY3J1bWJNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2JyZWFkY3J1bWInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtc2NhZmZvbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQcm9kdWN0SGVhZGVyTW9kdWxlLCBCcmVhZGNydW1iTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NjYWZmb2xkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NhZmZvbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxufSlcbmV4cG9ydCBjbGFzcyBTY2FmZm9sZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nID0gJ1NjYWZmb2xkIENvbXBvbmVudCc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnU2NhZmZvbGQgQ29tcG9uZW50IFRpdGxlJztcbiAgQElucHV0KCkgaG9tZVVybDogc3RyaW5nIHwgdW5kZWZpbmVkID0gJy8nO1xuXG4gIEBDb250ZW50Q2hpbGQoJ3NjYWZmb2xkSGVhZGVyJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBoZWFkZXJUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKCdzY2FmZm9sZEZvb3RlcicsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgZm9vdGVyVHBsPzogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiIsIjxzLXByb2R1Y3QtaGVhZGVyIFtoZWFkZXJdPVwiaGVhZGVyXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJUcGxcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUcGxcIj48L25nLWNvbnRhaW5lcj5cbjwvcy1wcm9kdWN0LWhlYWRlcj5cblxuPGRpdiBjbGFzcz1cInNkYy1zY2FmZm9sZFwiPlxuICA8ZGl2IGNsYXNzPVwic2RjLXNjYWZmb2xkLXRpdGxlXCI+e3sgdGl0bGUgfX08L2Rpdj5cbiAgPHMtYnJlYWRjcnVtYiBbaG9tZVVybF09XCJob21lVXJsXCI+PC9zLWJyZWFkY3J1bWI+XG5cbiAgPGRpdiBjbGFzcz1cInNkYy1zY2FmZm9sZC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NkYy1zY2FmZm9sZC1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxmb290ZXIgY2xhc3M9XCJzZGMtc2NhZmZvbGQtZm9vdGVyXCIgKm5nSWY9XCJmb290ZXJUcGxcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUcGxcIj48L25nLWNvbnRhaW5lcj5cbjwvZm9vdGVyPlxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
4
|
import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
|
|
5
5
|
import { InputGroupModule } from 'primeng/inputgroup';
|
|
@@ -32,8 +32,9 @@ export class SearchboxComponent extends InputsComponent {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
onSearch() {
|
|
35
|
-
if (!this.disabled)
|
|
35
|
+
if (!this.disabled) {
|
|
36
36
|
this.searchEvent.emit(this.value);
|
|
37
|
+
}
|
|
37
38
|
}
|
|
38
39
|
onClear() {
|
|
39
40
|
this.value = '';
|
|
@@ -43,11 +44,11 @@ export class SearchboxComponent extends InputsComponent {
|
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchboxComponent, isStandalone: true, selector: "sdc-searchbox", inputs: { triggerMode: "triggerMode" }, outputs: { searchEvent: "onSearch", clearEvent: "onClear" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-searchbox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> •</span>\n </label>\n <p-inputgroup [ngStyle]=\"getStyles()\">\n <p-inputgroup-addon *ngIf=\"triggerMode === 'submit'\">\n <s-button priority=\"link\" class=\"height-100\" [disabled]=\"disabled\" (click)=\"onSearch()\">\n <i class=\"fas fa-search\"></i>\n </s-button>\n </p-inputgroup-addon>\n \n <input [ngClass]=\"getInvalidClass()\" pInputText type=\"text\" [(ngModel)]=\"value\" [disabled]=\"disabled\"\n [placeholder]=\"placeholder || ('platform.datacore.search' | translate)\" (input)=\"onInput($event)\"\n (keyup.enter)=\"onSearch()\" (keyup.esc)=\"onClear()\" />\n\n <p-inputgroup-addon>\n <s-button priority=\"link\" class=\"height-100\" [disabled]=\"disabled\" (click)=\"onClear()\">\n <i class=\"fas fa-times\"></i>\n </s-button>\n </p-inputgroup-addon>\n\n\n </p-inputgroup>\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>", styles: [".sdc-searchbox ::ng-deep .p-
|
|
47
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchboxComponent, isStandalone: true, selector: "sdc-searchbox", inputs: { triggerMode: "triggerMode" }, outputs: { searchEvent: "onSearch", clearEvent: "onClear" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-searchbox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> •</span>\n </label>\n <p-inputgroup [ngStyle]=\"getStyles()\">\n <p-inputgroup-addon *ngIf=\"triggerMode === 'submit'\">\n <s-button priority=\"link\" class=\"height-100\" [disabled]=\"disabled\" (click)=\"onSearch()\">\n <i class=\"fas fa-search\"></i>\n </s-button>\n </p-inputgroup-addon>\n \n <input [ngClass]=\"getInvalidClass()\" pInputText type=\"text\" [(ngModel)]=\"value\" [disabled]=\"disabled\"\n [placeholder]=\"placeholder || ('platform.datacore.search' | translate)\" (input)=\"onInput($event)\"\n (keyup.enter)=\"onSearch()\" (keyup.esc)=\"onClear()\" />\n\n <p-inputgroup-addon>\n <s-button priority=\"link\" class=\"height-100\" [disabled]=\"disabled\" (click)=\"onClear()\">\n <i class=\"fas fa-times\"></i>\n </s-button>\n </p-inputgroup-addon>\n\n\n </p-inputgroup>\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>", styles: [".sdc-searchbox ::ng-deep .p-inputgroup{display:flex;align-items:stretch;height:var(--sdc-formfield-default-height)!important;box-sizing:border-box!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;overflow:hidden;background:transparent}.sdc-searchbox ::ng-deep .p-inputgroup .p-inputtext,.sdc-searchbox ::ng-deep .p-inputgroupaddon{height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important}.sdc-searchbox ::ng-deep .p-inputtext{background:var(--sdc-formfield-default-bg)!important;border:0!important;box-shadow:none!important;outline:0!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox ::ng-deep .p-inputtext:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon{display:flex;align-items:stretch;justify-content:center;padding:0!important;border:0!important;line-height:var(--sdc-formfield-default-line-height)!important;background-color:var(--sdc-formfield-default-bg)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:has(button:disabled),.sdc-searchbox ::ng-deep .p-inputgroupaddon:has(button:disabled):hover{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:first-child{border-right:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:last-child{border-left:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon>*{width:100%!important;height:100%!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button{display:flex!important;background:transparent!important;color:var(--sdc-button-icon-default)!important;width:100%!important;height:100%!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;margin:0!important;padding:0 .75rem!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button button:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button i{color:var(--sdc-button-icon-default)!important}.sdc-searchbox label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:7px;padding-bottom:7px}.sdc-searchbox .required-field{margin-left:.25rem}.sdc-searchbox ::ng-deep .p-inputgroupaddon:last-child{border-start-end-radius:0;border-end-end-radius:0}.sdc-searchbox ::ng-deep .p-inputgroupaddon:first-child{border-start-start-radius:0;border-end-start-radius:0}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "component", type: i4.InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "component", type: i5.InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
48
|
}
|
|
48
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchboxComponent, decorators: [{
|
|
49
50
|
type: Component,
|
|
50
|
-
args: [{ imports: [
|
|
51
|
+
args: [{ selector: 'sdc-searchbox', standalone: true, imports: [
|
|
51
52
|
ButtonModule,
|
|
52
53
|
CommonModule,
|
|
53
54
|
FormsModule,
|
|
@@ -56,7 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
56
57
|
InputTextModule,
|
|
57
58
|
ReactiveFormsModule,
|
|
58
59
|
TranslateModule,
|
|
59
|
-
],
|
|
60
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-searchbox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> •</span>\n </label>\n <p-inputgroup [ngStyle]=\"getStyles()\">\n <p-inputgroup-addon *ngIf=\"triggerMode === 'submit'\">\n <s-button priority=\"link\" class=\"height-100\" [disabled]=\"disabled\" (click)=\"onSearch()\">\n <i class=\"fas fa-search\"></i>\n </s-button>\n </p-inputgroup-addon>\n \n <input [ngClass]=\"getInvalidClass()\" pInputText type=\"text\" [(ngModel)]=\"value\" [disabled]=\"disabled\"\n [placeholder]=\"placeholder || ('platform.datacore.search' | translate)\" (input)=\"onInput($event)\"\n (keyup.enter)=\"onSearch()\" (keyup.esc)=\"onClear()\" />\n\n <p-inputgroup-addon>\n <s-button priority=\"link\" class=\"height-100\" [disabled]=\"disabled\" (click)=\"onClear()\">\n <i class=\"fas fa-times\"></i>\n </s-button>\n </p-inputgroup-addon>\n\n\n </p-inputgroup>\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>", styles: [".sdc-searchbox ::ng-deep .p-inputgroup{display:flex;align-items:stretch;height:var(--sdc-formfield-default-height)!important;box-sizing:border-box!important;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;overflow:hidden;background:transparent}.sdc-searchbox ::ng-deep .p-inputgroup .p-inputtext,.sdc-searchbox ::ng-deep .p-inputgroupaddon{height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important}.sdc-searchbox ::ng-deep .p-inputtext{background:var(--sdc-formfield-default-bg)!important;border:0!important;box-shadow:none!important;outline:0!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox ::ng-deep .p-inputtext:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon{display:flex;align-items:stretch;justify-content:center;padding:0!important;border:0!important;line-height:var(--sdc-formfield-default-line-height)!important;background-color:var(--sdc-formfield-default-bg)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:hover{background-color:var(--sdc-button-bg-hover)!important;transition:var(--sdc-button-bg-hover-transition)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:has(button:disabled),.sdc-searchbox ::ng-deep .p-inputgroupaddon:has(button:disabled):hover{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:first-child{border-right:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon:last-child{border-left:1px solid var(--sdc-formfield-default-border)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon>*{width:100%!important;height:100%!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button{display:flex!important;background:transparent!important;color:var(--sdc-button-icon-default)!important;width:100%!important;height:100%!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;margin:0!important;padding:0 .75rem!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button button:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;color:var(--sdc-button-icon-default)!important;opacity:.6;cursor:not-allowed!important}.sdc-searchbox ::ng-deep .p-inputgroupaddon s-button i{color:var(--sdc-button-icon-default)!important}.sdc-searchbox label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:7px;padding-bottom:7px}.sdc-searchbox .required-field{margin-left:.25rem}.sdc-searchbox ::ng-deep .p-inputgroupaddon:last-child{border-start-end-radius:0;border-end-end-radius:0}.sdc-searchbox ::ng-deep .p-inputgroupaddon:first-child{border-start-start-radius:0;border-end-start-radius:0}\n"] }]
|
|
60
61
|
}], propDecorators: { triggerMode: [{
|
|
61
62
|
type: Input
|
|
62
63
|
}], searchEvent: [{
|
|
@@ -66,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
66
67
|
type: Output,
|
|
67
68
|
args: ['onClear']
|
|
68
69
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvc2VhcmNoYm94L3NlYXJjaGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NlYXJjaGJveC9zZWFyY2hib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7OztBQXFCNUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQXVCO0lBQzdDLEtBQUssR0FBVyxFQUFFLENBQUM7SUFFMUIsV0FBVyxHQUFzQixNQUFNLENBQUM7SUFFN0IsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDMUMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFaEQsT0FBTyxDQUFDLEVBQVM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBSSxFQUFFLENBQUMsTUFBMkIsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzFELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQWlCO1FBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxRQUFRLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7d0dBakNVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHFNQzdCL0IsZ21DQXlCTSw0bkdEVkYsWUFBWSxzV0FDWixZQUFZLHFUQUNaLFdBQVcsOG1CQUNYLHFCQUFxQixtS0FDckIsZ0JBQWdCLGtLQUNoQixlQUFlLDBJQUNmLG1CQUFtQiw4QkFDbkIsZUFBZTs7NEZBT04sa0JBQWtCO2tCQWxCOUIsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDaEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBS2hDLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRWMsV0FBVztzQkFBOUIsTUFBTTt1QkFBQyxVQUFVO2dCQUNDLFVBQVU7c0JBQTVCLE1BQU07dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0R3JvdXBBZGRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRncm91cGFkZG9uJztcbmltcG9ydCB7IElucHV0R3JvdXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0Z3JvdXAnO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBJbnB1dHNDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dHMnO1xuaW1wb3J0IHsgdHlwZSBTZWFyY2hUcmlnZ2VyTW9kZSB9IGZyb20gJ2xpYi9zcmMvY29yZS90eXBlcy9zZWFyY2hib3gudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zZWFyY2hib3gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJbnB1dEdyb3VwQWRkb25Nb2R1bGUsXG4gICAgSW5wdXRHcm91cE1vZHVsZSxcbiAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2hib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VhcmNoYm94LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hib3hDb21wb25lbnQgZXh0ZW5kcyBJbnB1dHNDb21wb25lbnQ8c3RyaW5nPiB7XG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgdHJpZ2dlck1vZGU6IFNlYXJjaFRyaWdnZXJNb2RlID0gJ2F1dG8nO1xuXG4gIEBPdXRwdXQoJ29uU2VhcmNoJykgc2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgnb25DbGVhcicpIGNsZWFyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XG5cbiAgb3ZlcnJpZGUgb25JbnB1dChldjogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gKGV2LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUgPz8gJyc7XG4gICAgaWYgKHRoaXMudHJpZ2dlck1vZGUgPT09ICdhdXRvJyAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5zZWFyY2hFdmVudC5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5ZG93bihldjogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXJNb2RlID09PSAnc3VibWl0JyAmJiBldi5rZXkgPT09ICdFbnRlcicgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvbkNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB0aGlzLmNsZWFyRXZlbnQuZW1pdCgpO1xuICAgIGlmICh0aGlzLnRyaWdnZXJNb2RlID09PSAnYXV0bycgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtc2VhcmNoYm94XCI+XG4gIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgW2Zvcl09XCJpZGVudGl0eS5pZFwiPlxuICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiAqbmdJZj1cInJlcXVpcmVkXCI+ICZidWxsOzwvc3Bhbj5cbiAgPC9sYWJlbD5cbiAgPHAtaW5wdXRncm91cCBbbmdTdHlsZV09XCJnZXRTdHlsZXMoKVwiPlxuICAgIDxwLWlucHV0Z3JvdXAtYWRkb24gKm5nSWY9XCJ0cmlnZ2VyTW9kZSA9PT0gJ3N1Ym1pdCdcIj5cbiAgICAgIDxzLWJ1dHRvbiBwcmlvcml0eT1cImxpbmtcIiBjbGFzcz1cImhlaWdodC0xMDBcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoY2xpY2spPVwib25TZWFyY2goKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1zZWFyY2hcIj48L2k+XG4gICAgICA8L3MtYnV0dG9uPlxuICAgIDwvcC1pbnB1dGdyb3VwLWFkZG9uPlxuICAgIFxuICAgIDxpbnB1dCBbbmdDbGFzc109XCJnZXRJbnZhbGlkQ2xhc3MoKVwiIHBJbnB1dFRleHQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8fCAoJ3BsYXRmb3JtLmRhdGFjb3JlLnNlYXJjaCcgfCB0cmFuc2xhdGUpXCIgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib25TZWFyY2goKVwiIChrZXl1cC5lc2MpPVwib25DbGVhcigpXCIgLz5cblxuICAgIDxwLWlucHV0Z3JvdXAtYWRkb24+XG4gICAgICA8cy1idXR0b24gcHJpb3JpdHk9XCJsaW5rXCIgY2xhc3M9XCJoZWlnaHQtMTAwXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiPjwvaT5cbiAgICAgIDwvcy1idXR0b24+XG4gICAgPC9wLWlucHV0Z3JvdXAtYWRkb24+XG5cblxuICA8L3AtaW5wdXRncm91cD5cbiAgPHNtYWxsICpuZ0lmPVwibWVzc2FnZVwiIFtuZ0NsYXNzXT1cImdldEludmFsaWRNZXNzYWdlQ2xhc3MoKVwiPnt7IG1lc3NhZ2UgfX08L3NtYWxsPlxuPC9kaXY+Il19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ContentChild, TemplateRef } from '@angular/core';
|
|
3
2
|
import { SidebarModule } from '@seniorsistemas/angular-components/sidebar';
|
|
4
3
|
import { ButtonModule } from '@seniorsistemas/angular-components/button';
|
|
5
4
|
import { StructureModule } from '@seniorsistemas/angular-components/structure';
|
|
5
|
+
import { Component, EventEmitter, Input, Output, ContentChild, TemplateRef, ChangeDetectionStrategy, ViewEncapsulation, } from '@angular/core';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/common";
|
|
8
8
|
import * as i2 from "@seniorsistemas/angular-components/sidebar";
|
|
@@ -17,6 +17,7 @@ export class SidebarComponent {
|
|
|
17
17
|
footerTpl;
|
|
18
18
|
ngOnChanges(changes) {
|
|
19
19
|
if (changes['visible'] || changes['closeOnBackdrop']) {
|
|
20
|
+
// reservado para futura lógica de reação
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
onVisibleChange(next) {
|
|
@@ -25,16 +26,17 @@ export class SidebarComponent {
|
|
|
25
26
|
}
|
|
26
27
|
close() {
|
|
27
28
|
this.visible = false;
|
|
29
|
+
this.visibleChange.emit(false);
|
|
28
30
|
}
|
|
29
31
|
get sidebarWidth() {
|
|
30
32
|
return typeof this.width === 'number' ? `${this.width}%` : this.width;
|
|
31
33
|
}
|
|
32
34
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SidebarComponent, isStandalone: true, selector: "sdc-sidebar", inputs: { visible: "visible", header: "header", largeSized: "largeSized", closeOnBackdrop: "closeOnBackdrop", width: "width" }, outputs: { visibleChange: "visibleChange" }, queries: [{ propertyName: "contentTpl", first: true, predicate: ["content"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["footer"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<s-sidebar [visible]=\"visible\" [header]=\"header\" [largeSized]=\"largeSized\" [dismissible]=\"closeOnBackdrop\"\n [ngClass]=\"{ 'sdc--locked': visible && !closeOnBackdrop }\" [style.--sdc-sidebar-width]=\"sidebarWidth\"\n (visibleChange)=\"onVisibleChange($event)\" (onShow)=\"onVisibleChange(true)\" (onHide)=\"onVisibleChange(false)\">\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n</s-sidebar>", styles: [".sdc-sidebar-content{flex:1 1 auto;overflow:auto}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{position:sticky;bottom:-20px;background:#fff}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;padding:0 0 15px;align-items:center;justify-content:flex-start;gap:1rem}::ng-deep s-sidebar .backdrop{transition:background-color .2s ease,opacity .2s ease}::ng-deep s-sidebar.sdc--locked .backdrop{background-color:#333!important;opacity:.8!important}::ng-deep .sidebar--open{width:var(--sdc-sidebar-width, 70%)!important;min-width:var(--sdc-sidebar-width, 70%)!important;max-width:var(--sdc-sidebar-width, 70%)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i2.SidebarComponent, selector: "s-sidebar", inputs: ["visible", "closable", "dismissible", "closeOnEscape", "header", "largeSized", "cache", "registerConfirmClose"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: StructureModule }] });
|
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SidebarComponent, isStandalone: true, selector: "sdc-sidebar", inputs: { visible: "visible", header: "header", largeSized: "largeSized", closeOnBackdrop: "closeOnBackdrop", width: "width" }, outputs: { visibleChange: "visibleChange" }, queries: [{ propertyName: "contentTpl", first: true, predicate: ["content"], descendants: true, read: TemplateRef }, { propertyName: "footerTpl", first: true, predicate: ["footer"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<s-sidebar [visible]=\"visible\" [header]=\"header\" [largeSized]=\"largeSized\" [dismissible]=\"closeOnBackdrop\"\n [ngClass]=\"{ 'sdc--locked': visible && !closeOnBackdrop }\" [style.--sdc-sidebar-width]=\"sidebarWidth\"\n (visibleChange)=\"onVisibleChange($event)\" (onShow)=\"onVisibleChange(true)\" (onHide)=\"onVisibleChange(false)\">\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n</s-sidebar>", styles: [".sdc-sidebar-content{flex:1 1 auto;overflow:auto}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{position:sticky;bottom:-20px;background:#fff}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;padding:0 0 15px;align-items:center;justify-content:flex-start;gap:1rem}::ng-deep s-sidebar .backdrop{transition:background-color .2s ease,opacity .2s ease}::ng-deep s-sidebar.sdc--locked .backdrop{background-color:#333!important;opacity:.8!important}::ng-deep .sidebar--open{width:var(--sdc-sidebar-width, 70%)!important;min-width:var(--sdc-sidebar-width, 70%)!important;max-width:var(--sdc-sidebar-width, 70%)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i2.SidebarComponent, selector: "s-sidebar", inputs: ["visible", "closable", "dismissible", "closeOnEscape", "header", "largeSized", "cache", "registerConfirmClose"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: StructureModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
34
36
|
}
|
|
35
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
36
38
|
type: Component,
|
|
37
|
-
args: [{ selector: 'sdc-sidebar', standalone: true, imports: [CommonModule, SidebarModule, ButtonModule, StructureModule], template: "<s-sidebar [visible]=\"visible\" [header]=\"header\" [largeSized]=\"largeSized\" [dismissible]=\"closeOnBackdrop\"\n [ngClass]=\"{ 'sdc--locked': visible && !closeOnBackdrop }\" [style.--sdc-sidebar-width]=\"sidebarWidth\"\n (visibleChange)=\"onVisibleChange($event)\" (onShow)=\"onVisibleChange(true)\" (onHide)=\"onVisibleChange(false)\">\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n</s-sidebar>", styles: [".sdc-sidebar-content{flex:1 1 auto;overflow:auto}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{position:sticky;bottom:-20px;background:#fff}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;padding:0 0 15px;align-items:center;justify-content:flex-start;gap:1rem}::ng-deep s-sidebar .backdrop{transition:background-color .2s ease,opacity .2s ease}::ng-deep s-sidebar.sdc--locked .backdrop{background-color:#333!important;opacity:.8!important}::ng-deep .sidebar--open{width:var(--sdc-sidebar-width, 70%)!important;min-width:var(--sdc-sidebar-width, 70%)!important;max-width:var(--sdc-sidebar-width, 70%)!important}\n"] }]
|
|
39
|
+
args: [{ selector: 'sdc-sidebar', standalone: true, imports: [CommonModule, SidebarModule, ButtonModule, StructureModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<s-sidebar [visible]=\"visible\" [header]=\"header\" [largeSized]=\"largeSized\" [dismissible]=\"closeOnBackdrop\"\n [ngClass]=\"{ 'sdc--locked': visible && !closeOnBackdrop }\" [style.--sdc-sidebar-width]=\"sidebarWidth\"\n (visibleChange)=\"onVisibleChange($event)\" (onShow)=\"onVisibleChange(true)\" (onHide)=\"onVisibleChange(false)\">\n\n <div class=\"sdc-sidebar-content\">\n <ng-container *ngIf=\"contentTpl; else projected\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ng-container>\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n </div>\n\n <div class=\"sdc-sidebar-footer\">\n <hr class=\"sdc-footer-divider\" />\n <div class=\"sdc-footer-actions\">\n <ng-container *ngIf=\"footerTpl\">\n <ng-container *ngTemplateOutlet=\"footerTpl\"></ng-container>\n </ng-container>\n </div>\n </div>\n</s-sidebar>", styles: [".sdc-sidebar-content{flex:1 1 auto;overflow:auto}.sdc-sidebar-content{flex:1 1 auto;overflow:auto;padding:0 1rem}.sdc-sidebar-footer{position:sticky;bottom:-20px;background:#fff}.sdc-footer-divider{margin:.75rem 0 1rem;border:0;border-top:1px solid #dcdcdc}.sdc-footer-actions{display:flex;padding:0 0 15px;align-items:center;justify-content:flex-start;gap:1rem}::ng-deep s-sidebar .backdrop{transition:background-color .2s ease,opacity .2s ease}::ng-deep s-sidebar.sdc--locked .backdrop{background-color:#333!important;opacity:.8!important}::ng-deep .sidebar--open{width:var(--sdc-sidebar-width, 70%)!important;min-width:var(--sdc-sidebar-width, 70%)!important;max-width:var(--sdc-sidebar-width, 70%)!important}\n"] }]
|
|
38
40
|
}], propDecorators: { visible: [{
|
|
39
41
|
type: Input,
|
|
40
42
|
args: [{ required: true }]
|
|
@@ -56,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
56
58
|
type: ContentChild,
|
|
57
59
|
args: ['footer', { read: TemplateRef }]
|
|
58
60
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUdYLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7QUFXdkIsTUFBTSxPQUFPLGdCQUFnQjtJQUNBLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsTUFBTSxHQUFHLG1CQUFtQixDQUFDO0lBQy9DLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsZUFBZSxHQUFHLElBQUksQ0FBQztJQUN2QixLQUFLLEdBQW9CLEtBQUssQ0FBQztJQUU5QixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVOLFVBQVUsQ0FBb0I7SUFDL0IsU0FBUyxDQUFvQjtJQUU1RSxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNyRCx5Q0FBeUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBYTtRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRVMsS0FBSztRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3hFLENBQUM7d0dBOUJVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLGtVQVNNLFdBQVcsOEZBQ1osV0FBVyxrRENwQzdDLCs5QkFxQlksbXdCRERBLFlBQVksdVlBQUUsYUFBYSw2UEFBRSxZQUFZLDhCQUFFLGVBQWU7OzRGQU16RCxnQkFBZ0I7a0JBVDVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxtQkFHcEQsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHZCxPQUFPO3NCQUFqQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUV5QyxVQUFVO3NCQUF6RCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ0MsU0FBUztzQkFBdkQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3NpZGViYXInO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgU3RydWN0dXJlTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9zdHJ1Y3R1cmUnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIENvbnRlbnRDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXNpZGViYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTaWRlYmFyTW9kdWxlLCBCdXR0b25Nb2R1bGUsIFN0cnVjdHVyZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NpZGViYXIuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB2aXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGhlYWRlciA9ICdUw610dWxvIGRvIFNpZGViYXInO1xuICBASW5wdXQoKSBsYXJnZVNpemVkID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xvc2VPbkJhY2tkcm9wID0gdHJ1ZTtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9ICc3MCUnO1xuXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2NvbnRlbnQnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGNvbnRlbnRUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKCdmb290ZXInLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGZvb3RlclRwbD86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWyd2aXNpYmxlJ10gfHwgY2hhbmdlc1snY2xvc2VPbkJhY2tkcm9wJ10pIHtcbiAgICAgIC8vIHJlc2VydmFkbyBwYXJhIGZ1dHVyYSBsw7NnaWNhIGRlIHJlYcOnw6NvXG4gICAgfVxuICB9XG5cbiAgb25WaXNpYmxlQ2hhbmdlKG5leHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSBuZXh0O1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KG5leHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIGdldCBzaWRlYmFyV2lkdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMud2lkdGggPT09ICdudW1iZXInID8gYCR7dGhpcy53aWR0aH0lYCA6IHRoaXMud2lkdGg7XG4gIH1cbn1cbiIsIjxzLXNpZGViYXIgW3Zpc2libGVdPVwidmlzaWJsZVwiIFtoZWFkZXJdPVwiaGVhZGVyXCIgW2xhcmdlU2l6ZWRdPVwibGFyZ2VTaXplZFwiIFtkaXNtaXNzaWJsZV09XCJjbG9zZU9uQmFja2Ryb3BcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3NkYy0tbG9ja2VkJzogdmlzaWJsZSAmJiAhY2xvc2VPbkJhY2tkcm9wIH1cIiBbc3R5bGUuLS1zZGMtc2lkZWJhci13aWR0aF09XCJzaWRlYmFyV2lkdGhcIlxuICAgICh2aXNpYmxlQ2hhbmdlKT1cIm9uVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCIgKG9uU2hvdyk9XCJvblZpc2libGVDaGFuZ2UodHJ1ZSlcIiAob25IaWRlKT1cIm9uVmlzaWJsZUNoYW5nZShmYWxzZSlcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJzZGMtc2lkZWJhci1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50VHBsOyBlbHNlIHByb2plY3RlZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcHJvamVjdGVkPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNkYy1zaWRlYmFyLWZvb3RlclwiPlxuICAgICAgICA8aHIgY2xhc3M9XCJzZGMtZm9vdGVyLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2RjLWZvb3Rlci1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9vdGVyVHBsXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9zLXNpZGViYXI+Il19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BlockUIModule } from 'primeng/blockui';
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { ProgressSpinnerModule } from 'primeng/progressspinner';
|
|
4
4
|
import { LoadingStateModule } from '@seniorsistemas/angular-components/loading-state';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -19,15 +19,13 @@ export class SpinnerComponent {
|
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
ngOnDestroy() {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.subscription = null;
|
|
25
|
-
}
|
|
22
|
+
this.subscription?.unsubscribe();
|
|
23
|
+
this.subscription = null;
|
|
26
24
|
}
|
|
27
25
|
getStyle() {
|
|
28
26
|
return {
|
|
29
27
|
width: '50px',
|
|
30
|
-
height: '50px'
|
|
28
|
+
height: '50px',
|
|
31
29
|
};
|
|
32
30
|
}
|
|
33
31
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerComponent, deps: [{ token: i1.SpinnerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -35,7 +33,7 @@ export class SpinnerComponent {
|
|
|
35
33
|
}
|
|
36
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
37
35
|
type: Component,
|
|
38
|
-
args: [{ imports: [ProgressSpinnerModule, BlockUIModule, LoadingStateModule],
|
|
36
|
+
args: [{ selector: 'sdc-spinner', standalone: true, imports: [ProgressSpinnerModule, BlockUIModule, LoadingStateModule], encapsulation: ViewEncapsulation.Emulated, template: " <div class=\"spinner-container\">\n <s-loading-state [loading]=\"loading\" [blockWindow]=\"blockWindow\">\n\n </s-loading-state>\n </div>\n\n\n", styles: [".spinner-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"] }]
|
|
39
37
|
}], ctorParameters: () => [{ type: i1.SpinnerService }], propDecorators: { loading: [{
|
|
40
38
|
type: Input,
|
|
41
39
|
args: [{ required: true }]
|
|
@@ -43,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43
41
|
type: Input,
|
|
44
42
|
args: [{ required: false }]
|
|
45
43
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQThDLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7O0FBV3RGLE1BQU0sT0FBTyxnQkFBZ0I7SUFNRTtJQUxGLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDZixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBRXhDLFlBQVksR0FBd0IsSUFBSSxDQUFDO0lBRWpELFlBQTZCLFFBQXdCO1FBQXhCLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBQUksQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU87WUFDTCxLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQztJQUNKLENBQUM7d0dBeEJVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLG1JQ2Y3QiwwSkFPQSw0SkRHWSxxQkFBcUIsOEJBQUUsYUFBYSw4QkFBRSxrQkFBa0I7OzRGQUt2RCxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxpQkFHcEQsaUJBQWlCLENBQUMsUUFBUTttRkFHZCxPQUFPO3NCQUFqQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRyxXQUFXO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJsb2NrVUlNb2R1bGUgfSBmcm9tICdwcmltZW5nL2Jsb2NrdWknO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wcm9ncmVzc3NwaW5uZXInO1xuaW1wb3J0IHsgU3Bpbm5lclNlcnZpY2UgfSBmcm9tICcuL3NwaW5uZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGVNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2xvYWRpbmctc3RhdGUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zcGlubmVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1Byb2dyZXNzU3Bpbm5lck1vZHVsZSwgQmxvY2tVSU1vZHVsZSwgTG9hZGluZ1N0YXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc3Bpbm5lci5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxufSlcbmV4cG9ydCBjbGFzcyBTcGlubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBsb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBibG9ja1dpbmRvdyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5ICRzZXJ2aWNlOiBTcGlubmVyU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLiRzZXJ2aWNlLnNwaW5uZXIuc3Vic2NyaWJlKChzdGF0dXM6IGJvb2xlYW4pID0+IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHN0YXR1cztcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgfVxuXG4gIGdldFN0eWxlKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogJzUwcHgnLFxuICAgICAgaGVpZ2h0OiAnNTBweCcsXG4gICAgfTtcbiAgfVxufVxuIiwiICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1jb250YWluZXJcIj5cbiAgICA8cy1sb2FkaW5nLXN0YXRlIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbYmxvY2tXaW5kb3ddPVwiYmxvY2tXaW5kb3dcIj5cblxuICAgIDwvcy1sb2FkaW5nLXN0YXRlPlxuICA8L2Rpdj5cblxuXG4iXX0=
|