@sinequa/atomic-angular 0.1.35 → 0.1.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/sinequa-atomic-angular.mjs +561 -549
- package/fesm2022/sinequa-atomic-angular.mjs.map +1 -1
- package/index.d.ts +2687 -2687
- package/package.json +2 -4
- package/components/no-result/i18n/de.json +0 -5
- package/components/no-result/i18n/en.json +0 -5
- package/components/no-result/i18n/fr.json +0 -5
- package/components/sort-selector/i18n/de.json +0 -3
- package/components/sort-selector/i18n/en.json +0 -3
- package/components/sort-selector/i18n/fr.json +0 -3
- package/components/source/i18n/de.json +0 -3
- package/components/source/i18n/en.json +0 -3
- package/components/source/i18n/fr.json +0 -3
- package/features/alerts/i18n/de.json +0 -33
- package/features/alerts/i18n/en.json +0 -33
- package/features/alerts/i18n/fr.json +0 -33
- package/features/bookmarks/i18n/de.json +0 -11
- package/features/bookmarks/i18n/en.json +0 -11
- package/features/bookmarks/i18n/fr.json +0 -11
- package/features/collections/i18n/de.json +0 -17
- package/features/collections/i18n/en.json +0 -17
- package/features/collections/i18n/fr.json +0 -16
- package/features/dialogs/i18n/de.json +0 -15
- package/features/dialogs/i18n/en.json +0 -15
- package/features/dialogs/i18n/fr.json +0 -15
- package/features/did-you-mean/i18n/de.json +0 -5
- package/features/did-you-mean/i18n/en.json +0 -5
- package/features/did-you-mean/i18n/fr.json +0 -5
- package/features/drawer/i18n/de.json +0 -22
- package/features/drawer/i18n/en.json +0 -22
- package/features/drawer/i18n/fr.json +0 -22
- package/features/export/i18n/de.json +0 -10
- package/features/export/i18n/en.json +0 -10
- package/features/export/i18n/fr.json +0 -10
- package/features/feedback/i18n/de.json +0 -26
- package/features/feedback/i18n/en.json +0 -26
- package/features/feedback/i18n/fr.json +0 -26
- package/features/filters/i18n/de.json +0 -14
- package/features/filters/i18n/en.json +0 -14
- package/features/filters/i18n/fr.json +0 -14
- package/features/labels/i18n/de.json +0 -8
- package/features/labels/i18n/en.json +0 -8
- package/features/labels/i18n/fr.json +0 -8
- package/features/searches/i18n/de.json +0 -15
- package/features/searches/i18n/en.json +0 -15
- package/features/searches/i18n/fr.json +0 -15
- package/features/sign-in/i18n/de.json +0 -12
- package/features/sign-in/i18n/en.json +0 -12
- package/features/sign-in/i18n/fr.json +0 -14
|
@@ -21,10 +21,10 @@ import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
|
21
21
|
import { Overlay } from '@angular/cdk/overlay';
|
|
22
22
|
|
|
23
23
|
class DropdownListComponent {
|
|
24
|
-
items = input.required();
|
|
24
|
+
items = input.required(...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
25
25
|
onClick = output();
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
27
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DropdownListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: DropdownListComponent, isStandalone: true, selector: "dropdown-list, DropdownList", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
28
28
|
@for (item of items(); track $index) {
|
|
29
29
|
<span class="bg-primary text-primary-foreground m-1 inline-flex cursor-default select-none items-center rounded-full px-2 py-1 text-sm font-semibold">
|
|
30
30
|
{{ item.display || item.value }}
|
|
@@ -45,7 +45,7 @@ class DropdownListComponent {
|
|
|
45
45
|
}
|
|
46
46
|
`, isInline: true });
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DropdownListComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{
|
|
51
51
|
selector: 'dropdown-list, DropdownList',
|
|
@@ -74,17 +74,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
74
74
|
}] });
|
|
75
75
|
|
|
76
76
|
class DropdownInputComponent {
|
|
77
|
-
label = input();
|
|
78
|
-
placeholder = input('Start typing to search...');
|
|
79
|
-
noResultLabel = input('No results to be displayed...');
|
|
80
|
-
suggestions = input([]);
|
|
81
|
-
selected = input.required();
|
|
77
|
+
label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
|
|
78
|
+
placeholder = input('Start typing to search...', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
79
|
+
noResultLabel = input('No results to be displayed...', ...(ngDevMode ? [{ debugName: "noResultLabel" }] : []));
|
|
80
|
+
suggestions = input([], ...(ngDevMode ? [{ debugName: "suggestions" }] : []));
|
|
81
|
+
selected = input.required(...(ngDevMode ? [{ debugName: "selected" }] : []));
|
|
82
82
|
onFocus = output(); // emits the input value
|
|
83
83
|
onKeyUp = output(); // emits the input value
|
|
84
84
|
removeItem = output();
|
|
85
85
|
addItem = output();
|
|
86
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
87
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
86
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DropdownInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: DropdownInputComponent, isStandalone: true, selector: "dropdown-input, DropdownInput", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, noResultLabel: { classPropertyName: "noResultLabel", publicName: "noResultLabel", isSignal: true, isRequired: false, transformFunction: null }, suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onFocus: "onFocus", onKeyUp: "onKeyUp", removeItem: "removeItem", addItem: "addItem" }, ngImport: i0, template: `
|
|
88
88
|
@if (label()) {
|
|
89
89
|
<p class="font-semibold">{{ label() }}</p>
|
|
90
90
|
}
|
|
@@ -118,7 +118,7 @@ class DropdownInputComponent {
|
|
|
118
118
|
</Dropdown>
|
|
119
119
|
`, isInline: true, dependencies: [{ kind: "component", type: DropdownComponent, selector: "dropdown, Dropdown", inputs: ["disabled"] }, { kind: "component", type: DropdownListComponent, selector: "dropdown-list, DropdownList", inputs: ["items"], outputs: ["onClick"] }, { kind: "directive", type: DropdownContentComponent, selector: "dropdown-content, dropdowncontent, DropdownContent", inputs: ["class", "position"] }] });
|
|
120
120
|
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DropdownInputComponent, decorators: [{
|
|
122
122
|
type: Component,
|
|
123
123
|
args: [{
|
|
124
124
|
selector: 'dropdown-input, DropdownInput',
|
|
@@ -168,10 +168,10 @@ class BackdropService {
|
|
|
168
168
|
hide() {
|
|
169
169
|
this.isVisible.next(false);
|
|
170
170
|
}
|
|
171
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
172
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
171
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BackdropService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
172
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BackdropService, providedIn: 'root' });
|
|
173
173
|
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BackdropService, decorators: [{
|
|
175
175
|
type: Injectable,
|
|
176
176
|
args: [{
|
|
177
177
|
providedIn: 'root'
|
|
@@ -188,10 +188,10 @@ class BackdropComponent {
|
|
|
188
188
|
ngOnDestroy() {
|
|
189
189
|
this.sub.unsubscribe();
|
|
190
190
|
}
|
|
191
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
192
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
191
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
192
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: BackdropComponent, isStandalone: true, selector: "app-backdrop", host: { properties: { "attr.backdrop-visible": "this.backdropVisible" }, classAttribute: "z-[var(--z-backdrop)] bg-backdrop absolute bottom-0 left-0 right-0 top-0 hidden select-none" }, ngImport: i0, template: ``, isInline: true, styles: [":host{--backdrop-animation-duration: .25s;animation:hide-backdrop var(--backdrop-animation-duration, .25s) ease-out;@keyframes show-backdrop{0%{display:none;opacity:0}1%{display:block}to{opacity:1}}@keyframes hide-backdrop{0%{display:block;opacity:1}99%{opacity:0}to{display:none}}}:host[backdrop-visible=true]{display:block;animation:show-backdrop var(--backdrop-animation-duration, .25s) ease-out}\n"] });
|
|
193
193
|
}
|
|
194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BackdropComponent, decorators: [{
|
|
195
195
|
type: Component,
|
|
196
196
|
args: [{ selector: 'app-backdrop', standalone: true, imports: [], template: ``, host: {
|
|
197
197
|
class: 'z-[var(--z-backdrop)] bg-backdrop absolute bottom-0 left-0 right-0 top-0 hidden select-none'
|
|
@@ -295,10 +295,10 @@ class AppService {
|
|
|
295
295
|
return EMPTY;
|
|
296
296
|
}));
|
|
297
297
|
}
|
|
298
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
299
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
298
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AppService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
299
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AppService, providedIn: 'root' });
|
|
300
300
|
}
|
|
301
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
301
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AppService, decorators: [{
|
|
302
302
|
type: Injectable,
|
|
303
303
|
args: [{
|
|
304
304
|
providedIn: 'root'
|
|
@@ -796,10 +796,10 @@ class PrincipalService {
|
|
|
796
796
|
return EMPTY;
|
|
797
797
|
}));
|
|
798
798
|
}
|
|
799
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
800
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
799
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: PrincipalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
800
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: PrincipalService, providedIn: 'root' });
|
|
801
801
|
}
|
|
802
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
802
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: PrincipalService, decorators: [{
|
|
803
803
|
type: Injectable,
|
|
804
804
|
args: [{
|
|
805
805
|
providedIn: 'root'
|
|
@@ -870,7 +870,7 @@ function withPrincipalFeatures() {
|
|
|
870
870
|
* ```
|
|
871
871
|
*/
|
|
872
872
|
function debouncedSignal(input, timeOutMs = 0) {
|
|
873
|
-
const debounceSignal = signal(input());
|
|
873
|
+
const debounceSignal = signal(input(), ...(ngDevMode ? [{ debugName: "debounceSignal" }] : []));
|
|
874
874
|
let timeout;
|
|
875
875
|
effect(onCleanUp => {
|
|
876
876
|
const value = input();
|
|
@@ -1228,10 +1228,10 @@ class QueryService {
|
|
|
1228
1228
|
};
|
|
1229
1229
|
this.queryParamsStore.patch({ page }, audit);
|
|
1230
1230
|
}
|
|
1231
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1232
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
1231
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: QueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1232
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: QueryService, providedIn: 'root' });
|
|
1233
1233
|
}
|
|
1234
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1234
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: QueryService, decorators: [{
|
|
1235
1235
|
type: Injectable,
|
|
1236
1236
|
args: [{
|
|
1237
1237
|
providedIn: 'root'
|
|
@@ -1478,10 +1478,10 @@ class AggregationsService {
|
|
|
1478
1478
|
}
|
|
1479
1479
|
return node;
|
|
1480
1480
|
}
|
|
1481
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1482
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
1481
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AggregationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1482
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AggregationsService, providedIn: 'root' });
|
|
1483
1483
|
}
|
|
1484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AggregationsService, decorators: [{
|
|
1485
1485
|
type: Injectable,
|
|
1486
1486
|
args: [{
|
|
1487
1487
|
providedIn: 'root'
|
|
@@ -2080,8 +2080,8 @@ class ApplicationService {
|
|
|
2080
2080
|
router = inject(Router);
|
|
2081
2081
|
title = inject(Title);
|
|
2082
2082
|
components = inject(ROUTE_COMPONENTS);
|
|
2083
|
-
defaultComponent = computed(() => this.components.find(c => c.path === 'all')?.component);
|
|
2084
|
-
defaultLayoutComponent = computed(() => this.components.find(c => c.isRoot)?.component);
|
|
2083
|
+
defaultComponent = computed(() => this.components.find(c => c.path === 'all')?.component, ...(ngDevMode ? [{ debugName: "defaultComponent" }] : []));
|
|
2084
|
+
defaultLayoutComponent = computed(() => this.components.find(c => c.isRoot)?.component, ...(ngDevMode ? [{ debugName: "defaultLayoutComponent" }] : []));
|
|
2085
2085
|
/**
|
|
2086
2086
|
* Initializes the application and creates routes.
|
|
2087
2087
|
*
|
|
@@ -2173,7 +2173,19 @@ class ApplicationService {
|
|
|
2173
2173
|
const firstQuery = queriesMap[0];
|
|
2174
2174
|
// We need to create a route path object for each tab in the first query
|
|
2175
2175
|
// if the query has no tabs, we create a route with the query name as the tab name
|
|
2176
|
-
const firstQueryConfig = {
|
|
2176
|
+
const firstQueryConfig = {
|
|
2177
|
+
name: firstQuery.name,
|
|
2178
|
+
tabs: (firstQuery.tabSearch.tabs && firstQuery.tabSearch.tabs.length
|
|
2179
|
+
? firstQuery.tabSearch.tabs
|
|
2180
|
+
: [{
|
|
2181
|
+
name: firstQuery.name,
|
|
2182
|
+
display: firstQuery.name,
|
|
2183
|
+
value: firstQuery.name,
|
|
2184
|
+
isDefault: false,
|
|
2185
|
+
excludedIndices: [],
|
|
2186
|
+
icon: ''
|
|
2187
|
+
}])
|
|
2188
|
+
};
|
|
2177
2189
|
// We need to remove the current search route from the router config
|
|
2178
2190
|
// the route exists in the router config because it was created in the app-routing.module.ts and we need it
|
|
2179
2191
|
// to be able to navigate to the search page. We will recreate it with the new tabs
|
|
@@ -2311,10 +2323,10 @@ class ApplicationService {
|
|
|
2311
2323
|
document.documentElement.style.setProperty('--logo-large', `url('${light.large}')`);
|
|
2312
2324
|
}
|
|
2313
2325
|
}
|
|
2314
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
2315
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
2326
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ApplicationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2327
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ApplicationService, providedIn: 'root' });
|
|
2316
2328
|
}
|
|
2317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
2329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ApplicationService, decorators: [{
|
|
2318
2330
|
type: Injectable,
|
|
2319
2331
|
args: [{
|
|
2320
2332
|
providedIn: 'root'
|
|
@@ -2323,7 +2335,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
2323
2335
|
|
|
2324
2336
|
class AuditService {
|
|
2325
2337
|
appStore = inject(AppStore);
|
|
2326
|
-
app = computed(() => getState(this.appStore));
|
|
2338
|
+
app = computed(() => getState(this.appStore), ...(ngDevMode ? [{ debugName: "app" }] : []));
|
|
2327
2339
|
http = inject(HttpClient);
|
|
2328
2340
|
router = inject(Router);
|
|
2329
2341
|
API_URL = `${globalConfig.backendUrl}/${globalConfig.apiPath}`;
|
|
@@ -2408,7 +2420,7 @@ class AuditService {
|
|
|
2408
2420
|
// Second event triggered when we come back
|
|
2409
2421
|
document.addEventListener('visibilitychange', () => {
|
|
2410
2422
|
if (document.visibilityState === 'visible') {
|
|
2411
|
-
this.notify({ type:
|
|
2423
|
+
this.notify({ type: 'Navigation_Return' });
|
|
2412
2424
|
}
|
|
2413
2425
|
}, { once: true });
|
|
2414
2426
|
}
|
|
@@ -2426,10 +2438,10 @@ class AuditService {
|
|
|
2426
2438
|
}
|
|
2427
2439
|
});
|
|
2428
2440
|
}
|
|
2429
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
2430
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
2441
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AuditService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2442
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AuditService, providedIn: 'root' });
|
|
2431
2443
|
}
|
|
2432
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
2444
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AuditService, decorators: [{
|
|
2433
2445
|
type: Injectable,
|
|
2434
2446
|
args: [{
|
|
2435
2447
|
providedIn: 'root'
|
|
@@ -2437,7 +2449,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
2437
2449
|
}] });
|
|
2438
2450
|
|
|
2439
2451
|
class AutocompleteService {
|
|
2440
|
-
opened = signal(false);
|
|
2452
|
+
opened = signal(false, ...(ngDevMode ? [{ debugName: "opened" }] : []));
|
|
2441
2453
|
injector = inject(Injector);
|
|
2442
2454
|
userSettingsStore = inject(UserSettingsStore);
|
|
2443
2455
|
appStore = inject(AppStore);
|
|
@@ -2500,10 +2512,10 @@ class AutocompleteService {
|
|
|
2500
2512
|
}
|
|
2501
2513
|
return items;
|
|
2502
2514
|
}
|
|
2503
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
2504
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
2515
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AutocompleteService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2516
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AutocompleteService, providedIn: 'root' });
|
|
2505
2517
|
}
|
|
2506
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
2518
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AutocompleteService, decorators: [{
|
|
2507
2519
|
type: Injectable,
|
|
2508
2520
|
args: [{
|
|
2509
2521
|
providedIn: 'root'
|
|
@@ -2541,10 +2553,10 @@ class JsonMethodPluginService {
|
|
|
2541
2553
|
...options
|
|
2542
2554
|
});
|
|
2543
2555
|
}
|
|
2544
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
2545
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
2556
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: JsonMethodPluginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2557
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: JsonMethodPluginService, providedIn: 'root' });
|
|
2546
2558
|
}
|
|
2547
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
2559
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: JsonMethodPluginService, decorators: [{
|
|
2548
2560
|
type: Injectable,
|
|
2549
2561
|
args: [{
|
|
2550
2562
|
providedIn: 'root'
|
|
@@ -2576,10 +2588,10 @@ class NavigationService {
|
|
|
2576
2588
|
this.auditService.notifyRouteChange(url);
|
|
2577
2589
|
}
|
|
2578
2590
|
}), tap(event => (this.urlAfterNavigation = event.url)), shareReplay(1));
|
|
2579
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
2580
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
2591
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: NavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2592
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: NavigationService, providedIn: 'root' });
|
|
2581
2593
|
}
|
|
2582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
2594
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: NavigationService, decorators: [{
|
|
2583
2595
|
type: Injectable,
|
|
2584
2596
|
args: [{
|
|
2585
2597
|
providedIn: 'root'
|
|
@@ -2759,7 +2771,7 @@ class PreviewService {
|
|
|
2759
2771
|
close(id, query) {
|
|
2760
2772
|
const detail = this.getAuditPreviewDetail(id, query);
|
|
2761
2773
|
const auditEvent = {
|
|
2762
|
-
type: "Preview_Close"
|
|
2774
|
+
type: "Preview_Close",
|
|
2763
2775
|
detail
|
|
2764
2776
|
};
|
|
2765
2777
|
Audit.notify(auditEvent);
|
|
@@ -2953,10 +2965,10 @@ class PreviewService {
|
|
|
2953
2965
|
// merge the entities with the default highlights without duplicates
|
|
2954
2966
|
this.entities = [...new Set([...this.entities, ...entities])];
|
|
2955
2967
|
}
|
|
2956
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
2957
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
2968
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: PreviewService, deps: [{ token: i0.DestroyRef }, { token: HIGHLIGHTS }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2969
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: PreviewService, providedIn: 'root' });
|
|
2958
2970
|
}
|
|
2959
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
2971
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: PreviewService, decorators: [{
|
|
2960
2972
|
type: Injectable,
|
|
2961
2973
|
args: [{
|
|
2962
2974
|
providedIn: 'root'
|
|
@@ -3025,10 +3037,10 @@ class SavedSearchesService {
|
|
|
3025
3037
|
deleteSavedSearch(index) {
|
|
3026
3038
|
this.userSettingsStore.deleteSavedSearch(index);
|
|
3027
3039
|
}
|
|
3028
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3029
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3040
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SavedSearchesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3041
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SavedSearchesService, providedIn: 'root' });
|
|
3030
3042
|
}
|
|
3031
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3043
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SavedSearchesService, decorators: [{
|
|
3032
3044
|
type: Injectable,
|
|
3033
3045
|
args: [{
|
|
3034
3046
|
providedIn: 'root'
|
|
@@ -3121,10 +3133,10 @@ class SearchService {
|
|
|
3121
3133
|
}
|
|
3122
3134
|
});
|
|
3123
3135
|
}
|
|
3124
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3125
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3136
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3137
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchService, providedIn: 'root' });
|
|
3126
3138
|
}
|
|
3127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchService, decorators: [{
|
|
3128
3140
|
type: Injectable,
|
|
3129
3141
|
args: [{
|
|
3130
3142
|
providedIn: 'root'
|
|
@@ -3273,10 +3285,10 @@ class SelectionService {
|
|
|
3273
3285
|
const url = this.router.createUrlTree([], { relativeTo: this.route, queryParams }).toString();
|
|
3274
3286
|
this.location.replaceState(url);
|
|
3275
3287
|
}
|
|
3276
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3277
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3288
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3289
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SelectionService, providedIn: 'root' });
|
|
3278
3290
|
}
|
|
3279
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SelectionService, decorators: [{
|
|
3280
3292
|
type: Injectable,
|
|
3281
3293
|
args: [{
|
|
3282
3294
|
providedIn: 'root'
|
|
@@ -3360,10 +3372,10 @@ class SelectionHistoryService {
|
|
|
3360
3372
|
this.selectionHistoryEvent.next('back');
|
|
3361
3373
|
return last;
|
|
3362
3374
|
}
|
|
3363
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3364
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3375
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SelectionHistoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3376
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SelectionHistoryService, providedIn: 'root' });
|
|
3365
3377
|
}
|
|
3366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SelectionHistoryService, decorators: [{
|
|
3367
3379
|
type: Injectable,
|
|
3368
3380
|
args: [{
|
|
3369
3381
|
providedIn: 'root'
|
|
@@ -3398,10 +3410,10 @@ class TextChunkService {
|
|
|
3398
3410
|
return [];
|
|
3399
3411
|
}));
|
|
3400
3412
|
}
|
|
3401
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3402
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3413
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TextChunkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3414
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TextChunkService, providedIn: 'root' });
|
|
3403
3415
|
}
|
|
3404
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3416
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TextChunkService, decorators: [{
|
|
3405
3417
|
type: Injectable,
|
|
3406
3418
|
args: [{
|
|
3407
3419
|
providedIn: 'root'
|
|
@@ -3860,8 +3872,8 @@ function applyThemeToNativeElement(element, cssVars) {
|
|
|
3860
3872
|
}
|
|
3861
3873
|
|
|
3862
3874
|
class SourceComponent {
|
|
3863
|
-
collection = input();
|
|
3864
|
-
connector = input('');
|
|
3875
|
+
collection = input(...(ngDevMode ? [undefined, { debugName: "collection" }] : []));
|
|
3876
|
+
connector = input('', ...(ngDevMode ? [{ debugName: "connector" }] : []));
|
|
3865
3877
|
appStore = inject(AppStore);
|
|
3866
3878
|
iconDetails = computed(() => {
|
|
3867
3879
|
const [collection] = this.collection() || [];
|
|
@@ -3888,11 +3900,11 @@ class SourceComponent {
|
|
|
3888
3900
|
return { iconClass, iconPath };
|
|
3889
3901
|
}
|
|
3890
3902
|
return { iconClass: defaultIconClass };
|
|
3891
|
-
});
|
|
3892
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3893
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
3903
|
+
}, ...(ngDevMode ? [{ debugName: "iconDetails" }] : []));
|
|
3904
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SourceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3905
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: SourceComponent, isStandalone: true, selector: "source, Source", inputs: { collection: { classPropertyName: "collection", publicName: "collection", isSignal: true, isRequired: false, transformFunction: null }, connector: { classPropertyName: "connector", publicName: "connector", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTranslocoScope('sources')], ngImport: i0, template: "@if (iconDetails()?.iconPath) {\n <img [src]=\"iconDetails()?.iconPath\" [alt]=\"collection()?.[0] || ('sources.sourceIcon' | transloco)\" />\n} @else {\n <i class=\"{{ iconDetails()?.iconClass }}\" [attr.aria-label]=\"'sources.sourceIcon' | transloco\"></i>\n}\n", dependencies: [{ kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
3894
3906
|
}
|
|
3895
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3907
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SourceComponent, decorators: [{
|
|
3896
3908
|
type: Component,
|
|
3897
3909
|
args: [{ selector: 'source, Source', standalone: true, imports: [TranslocoPipe], providers: [provideTranslocoScope('sources')], template: "@if (iconDetails()?.iconPath) {\n <img [src]=\"iconDetails()?.iconPath\" [alt]=\"collection()?.[0] || ('sources.sourceIcon' | transloco)\" />\n} @else {\n <i class=\"{{ iconDetails()?.iconClass }}\" [attr.aria-label]=\"'sources.sourceIcon' | transloco\"></i>\n}\n" }]
|
|
3898
3910
|
}] });
|
|
@@ -3903,20 +3915,20 @@ class DocumentLocatorComponent {
|
|
|
3903
3915
|
* This property is used to ensure that an `Article` object is provided
|
|
3904
3916
|
* as an input to the component.
|
|
3905
3917
|
*/
|
|
3906
|
-
article = input.required();
|
|
3918
|
+
article = input.required(...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
3907
3919
|
/**
|
|
3908
3920
|
* The name of the aggregation to use for the document locator.
|
|
3909
3921
|
*/
|
|
3910
|
-
aggregation = input.required();
|
|
3911
|
-
shadow = viewChild('shadowRender', { read: ElementRef });
|
|
3912
|
-
client = viewChild('documentLocator', { read: ElementRef });
|
|
3922
|
+
aggregation = input.required(...(ngDevMode ? [{ debugName: "aggregation" }] : []));
|
|
3923
|
+
shadow = viewChild('shadowRender', ...(ngDevMode ? [{ debugName: "shadow", read: ElementRef }] : [{ read: ElementRef }]));
|
|
3924
|
+
client = viewChild('documentLocator', ...(ngDevMode ? [{ debugName: "client", read: ElementRef }] : [{ read: ElementRef }]));
|
|
3913
3925
|
el = inject(ElementRef);
|
|
3914
3926
|
router = inject(Router);
|
|
3915
3927
|
queryParamStore = inject(QueryParamsStore);
|
|
3916
3928
|
aggregationStore = inject(AggregationsStore);
|
|
3917
|
-
locationSegments = signal([]);
|
|
3918
|
-
visibleSegments = signal([]);
|
|
3919
|
-
invisibleSegments = signal([]);
|
|
3929
|
+
locationSegments = signal([], ...(ngDevMode ? [{ debugName: "locationSegments" }] : []));
|
|
3930
|
+
visibleSegments = signal([], ...(ngDevMode ? [{ debugName: "visibleSegments" }] : []));
|
|
3931
|
+
invisibleSegments = signal([], ...(ngDevMode ? [{ debugName: "invisibleSegments" }] : []));
|
|
3920
3932
|
// margin for dropdown segment with separator
|
|
3921
3933
|
margin = 70;
|
|
3922
3934
|
previousCount;
|
|
@@ -3977,8 +3989,8 @@ class DocumentLocatorComponent {
|
|
|
3977
3989
|
const { filters } = getState(this.queryParamStore);
|
|
3978
3990
|
this.router.navigate([], { queryParams: { f: JSON.stringify(filters) }, queryParamsHandling: 'merge' });
|
|
3979
3991
|
}
|
|
3980
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3981
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
3992
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DocumentLocatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3993
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: DocumentLocatorComponent, isStandalone: true, selector: "document-locator, DocumentLocator", inputs: { article: { classPropertyName: "article", publicName: "article", isSignal: true, isRequired: true, transformFunction: null }, aggregation: { classPropertyName: "aggregation", publicName: "aggregation", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "flex items-center grow gap-2 overflow-hidden" }, viewQueries: [{ propertyName: "shadow", first: true, predicate: ["shadowRender"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "client", first: true, predicate: ["documentLocator"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
|
|
3982
3994
|
<!-- Renders all segment hidden to user to compute width -->
|
|
3983
3995
|
<div #shadowRender class="pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2">
|
|
3984
3996
|
@for (segment of locationSegments(); track $index) {
|
|
@@ -4023,7 +4035,7 @@ class DocumentLocatorComponent {
|
|
|
4023
4035
|
</div>
|
|
4024
4036
|
`, isInline: true, dependencies: [{ kind: "component", type: SourceComponent, selector: "source, Source", inputs: ["collection", "connector"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: MenuComponent, selector: "menu, Menu", inputs: ["disabled"] }, { kind: "directive", type: MenuContentComponent, selector: "MenuContent, menucontent, menu-content", inputs: ["class", "position"] }, { kind: "directive", type: MenuItemComponent, selector: "menu-item, menuitem, MenuItem", inputs: ["class", "variant"] }] });
|
|
4025
4037
|
}
|
|
4026
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4038
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DocumentLocatorComponent, decorators: [{
|
|
4027
4039
|
type: Component,
|
|
4028
4040
|
args: [{
|
|
4029
4041
|
selector: 'document-locator, DocumentLocator',
|
|
@@ -4084,8 +4096,8 @@ class ErrorComponent {
|
|
|
4084
4096
|
reload() {
|
|
4085
4097
|
this.router.navigate(['/']).then(() => window.location.reload());
|
|
4086
4098
|
}
|
|
4087
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4088
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
4099
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4100
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: ErrorComponent, isStandalone: true, selector: "error-component, ErrorComponent", ngImport: i0, template: `
|
|
4089
4101
|
<div class="bg-background text-foreground flex min-h-screen flex-col items-center justify-center">
|
|
4090
4102
|
<svg
|
|
4091
4103
|
class="mb-8 h-20 w-20 text-red-600"
|
|
@@ -4128,7 +4140,7 @@ class ErrorComponent {
|
|
|
4128
4140
|
</div>
|
|
4129
4141
|
`, isInline: true });
|
|
4130
4142
|
}
|
|
4131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ErrorComponent, decorators: [{
|
|
4132
4144
|
type: Component,
|
|
4133
4145
|
args: [{
|
|
4134
4146
|
selector: 'error-component, ErrorComponent',
|
|
@@ -4180,7 +4192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
4180
4192
|
}] });
|
|
4181
4193
|
|
|
4182
4194
|
class LoadingComponent {
|
|
4183
|
-
state = computed(() => getState(this.application));
|
|
4195
|
+
state = computed(() => getState(this.application), ...(ngDevMode ? [{ debugName: "state" }] : []));
|
|
4184
4196
|
application = inject(ApplicationStore);
|
|
4185
4197
|
queryParamsStore = inject(QueryParamsStore);
|
|
4186
4198
|
route = inject(ActivatedRoute);
|
|
@@ -4225,8 +4237,8 @@ class LoadingComponent {
|
|
|
4225
4237
|
});
|
|
4226
4238
|
}
|
|
4227
4239
|
}
|
|
4228
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4229
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
4240
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: LoadingComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4241
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: LoadingComponent, isStandalone: true, selector: "app-wait", ngImport: i0, template: `
|
|
4230
4242
|
<div class="flex h-[100dvh] w-full items-center justify-center">
|
|
4231
4243
|
<div class="flex flex-col items-center space-y-4">
|
|
4232
4244
|
<span class="loader"></span>
|
|
@@ -4234,7 +4246,7 @@ class LoadingComponent {
|
|
|
4234
4246
|
</div>
|
|
4235
4247
|
`, isInline: true, styles: [".loader{--w: 96px;--h: 96px;transform:rotate(45deg);perspective:1000px;border-radius:50%;width:var(--w);height:var(--h);color:#0040bf}.loader:before,.loader:after{content:\"\";display:block;position:absolute;top:0;left:0;width:inherit;height:inherit;border-radius:50%;transform:rotateX(70deg);animation:1s spin linear infinite}.loader:after{color:#ff854a;transform:rotateY(70deg);animation-delay:.4s}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes rotateccw{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-360deg)}}@keyframes spin{0%,to{box-shadow:.4em 0 0 0 currentcolor}12%{box-shadow:.4em .4em 0 0 currentcolor}25%{box-shadow:0 .4em 0 0 currentcolor}37%{box-shadow:-.4em .4em 0 0 currentcolor}50%{box-shadow:-.4em 0 0 0 currentcolor}62%{box-shadow:-.4em -.4em 0 0 currentcolor}75%{box-shadow:0 -.4em 0 0 currentcolor}87%{box-shadow:.4em -.4em 0 0 currentcolor}}\n"] });
|
|
4236
4248
|
}
|
|
4237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4249
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: LoadingComponent, decorators: [{
|
|
4238
4250
|
type: Component,
|
|
4239
4251
|
args: [{ selector: 'app-wait', standalone: true, imports: [], template: `
|
|
4240
4252
|
<div class="flex h-[100dvh] w-full items-center justify-center">
|
|
@@ -4247,17 +4259,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
4247
4259
|
|
|
4248
4260
|
class MetadataComponent {
|
|
4249
4261
|
click = output();
|
|
4250
|
-
class = input();
|
|
4251
|
-
variant = input('default');
|
|
4252
|
-
metadata = input.required();
|
|
4253
|
-
article = input.required();
|
|
4254
|
-
limit = input(undefined, { transform: (value) => (value ? Math.max(0, Number(value)) : undefined) });
|
|
4255
|
-
items = computed(() => getMetadata(this.article(), this.metadata()));
|
|
4262
|
+
class = input(...(ngDevMode ? [undefined, { debugName: "class" }] : []));
|
|
4263
|
+
variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
4264
|
+
metadata = input.required(...(ngDevMode ? [{ debugName: "metadata" }] : []));
|
|
4265
|
+
article = input.required(...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
4266
|
+
limit = input(undefined, ...(ngDevMode ? [{ debugName: "limit", transform: (value) => (value ? Math.max(0, Number(value)) : undefined) }] : [{ transform: (value) => (value ? Math.max(0, Number(value)) : undefined) }]));
|
|
4267
|
+
items = computed(() => getMetadata(this.article(), this.metadata()), ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
4256
4268
|
handleClick(event, item) {
|
|
4257
4269
|
this.click.emit({ filter: item, event });
|
|
4258
4270
|
}
|
|
4259
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4260
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
4271
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MetadataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4272
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: MetadataComponent, isStandalone: true, selector: "Metadata, metadata", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, metadata: { classPropertyName: "metadata", publicName: "metadata", isSignal: true, isRequired: true, transformFunction: null }, article: { classPropertyName: "article", publicName: "article", isSignal: true, isRequired: true, transformFunction: null }, limit: { classPropertyName: "limit", publicName: "limit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, host: { properties: { "class.hidden": "items().length === 0" } }, exportAs: ["metadata"], ngImport: i0, template: `
|
|
4261
4273
|
@for (item of items().slice(0, limit()); track $index) {
|
|
4262
4274
|
@if (item) {
|
|
4263
4275
|
<badge [variant]="variant()" [class]="class()" (click)="handleClick($event, { field: this.metadata(), value: item })">{{ item }}</badge>
|
|
@@ -4265,7 +4277,7 @@ class MetadataComponent {
|
|
|
4265
4277
|
}
|
|
4266
4278
|
`, isInline: true, styles: [":host{display:contents}:host,:host:hover{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: BadgeComponent, selector: "badge, Badge", inputs: ["class", "variant"] }] });
|
|
4267
4279
|
}
|
|
4268
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MetadataComponent, decorators: [{
|
|
4269
4281
|
type: Component,
|
|
4270
4282
|
args: [{ selector: 'Metadata, metadata', exportAs: 'metadata', standalone: true, imports: [BadgeComponent], template: `
|
|
4271
4283
|
@for (item of items().slice(0, limit()); track $index) {
|
|
@@ -4279,7 +4291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
4279
4291
|
}] });
|
|
4280
4292
|
|
|
4281
4293
|
class MissingTermsComponent {
|
|
4282
|
-
article = input.required();
|
|
4294
|
+
article = input.required(...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
4283
4295
|
queryParamsStore = inject(QueryParamsStore);
|
|
4284
4296
|
router = inject(Router);
|
|
4285
4297
|
missingTerms = computed(() => {
|
|
@@ -4293,27 +4305,27 @@ class MissingTermsComponent {
|
|
|
4293
4305
|
queryParams: { q: `${text} +[${tp.term}]` }
|
|
4294
4306
|
};
|
|
4295
4307
|
});
|
|
4296
|
-
});
|
|
4297
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4298
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
4308
|
+
}, ...(ngDevMode ? [{ debugName: "missingTerms" }] : []));
|
|
4309
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MissingTermsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4310
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: MissingTermsComponent, isStandalone: true, selector: "missing-terms, MissingTerms, missingterms", inputs: { article: { classPropertyName: "article", publicName: "article", isSignal: true, isRequired: true, transformFunction: null } }, providers: [provideTranslocoScope('article')], ngImport: i0, template: "@if ((missingTerms() || []).length > 0) {\n <span class=\"terms-label\">{{ 'article.missingTerms' | transloco }}</span>\n <span class=\"terms\">\n @for (term of missingTerms(); track $index) {\n <span class=\"term ms-1\">{{ term.value }}</span>\n }\n </span>\n <span class=\"mx-1\">|</span>\n <span class=\"terms-label ms-1\">{{ 'article.mustInclude' | transloco }}</span>\n <span class=\"terms\">\n @for (term of missingTerms(); track $index) {\n <a role=\"button\" class=\"ms-1\" routerLink=\"search\" [queryParams]=\"term.queryParams\" (click)=\"$event.stopPropagation()\">{{ term.value }}</a>\n }\n </span>\n}\n", styles: [".term{text-decoration-line:line-through}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
4299
4311
|
}
|
|
4300
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MissingTermsComponent, decorators: [{
|
|
4301
4313
|
type: Component,
|
|
4302
4314
|
args: [{ selector: 'missing-terms, MissingTerms, missingterms', standalone: true, imports: [TranslocoPipe, RouterLink], providers: [provideTranslocoScope('article')], template: "@if ((missingTerms() || []).length > 0) {\n <span class=\"terms-label\">{{ 'article.missingTerms' | transloco }}</span>\n <span class=\"terms\">\n @for (term of missingTerms(); track $index) {\n <span class=\"term ms-1\">{{ term.value }}</span>\n }\n </span>\n <span class=\"mx-1\">|</span>\n <span class=\"terms-label ms-1\">{{ 'article.mustInclude' | transloco }}</span>\n <span class=\"terms\">\n @for (term of missingTerms(); track $index) {\n <a role=\"button\" class=\"ms-1\" routerLink=\"search\" [queryParams]=\"term.queryParams\" (click)=\"$event.stopPropagation()\">{{ term.value }}</a>\n }\n </span>\n}\n", styles: [".term{text-decoration-line:line-through}\n"] }]
|
|
4303
4315
|
}] });
|
|
4304
4316
|
|
|
4305
4317
|
class CollectionsDialog {
|
|
4306
4318
|
closed = output();
|
|
4307
|
-
createInputElement = viewChild('createInput');
|
|
4308
|
-
dialogElement = viewChild(DialogComponent);
|
|
4319
|
+
createInputElement = viewChild('createInput', ...(ngDevMode ? [{ debugName: "createInputElement" }] : []));
|
|
4320
|
+
dialogElement = viewChild(DialogComponent, ...(ngDevMode ? [{ debugName: "dialogElement" }] : []));
|
|
4309
4321
|
queryParamStore = inject(QueryParamsStore);
|
|
4310
4322
|
userSettingsStore = inject(UserSettingsStore);
|
|
4311
|
-
collection = signal(undefined);
|
|
4312
|
-
article = signal([]);
|
|
4313
|
-
newCollectionName = signal('');
|
|
4314
|
-
creating = signal(false);
|
|
4315
|
-
removedFromCollection = signal(false);
|
|
4316
|
-
collections = computed(() => this.userSettingsStore.baskets());
|
|
4323
|
+
collection = signal(undefined, ...(ngDevMode ? [{ debugName: "collection" }] : []));
|
|
4324
|
+
article = signal([], ...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
4325
|
+
newCollectionName = signal('', ...(ngDevMode ? [{ debugName: "newCollectionName" }] : []));
|
|
4326
|
+
creating = signal(false, ...(ngDevMode ? [{ debugName: "creating" }] : []));
|
|
4327
|
+
removedFromCollection = signal(false, ...(ngDevMode ? [{ debugName: "removedFromCollection" }] : []));
|
|
4328
|
+
collections = computed(() => this.userSettingsStore.baskets(), ...(ngDevMode ? [{ debugName: "collections" }] : []));
|
|
4317
4329
|
// Compute map of collection names to their article inclusion status
|
|
4318
4330
|
collectionsMap = linkedSignal(() => this.collections().reduce((acc, collection) => {
|
|
4319
4331
|
acc[collection.name] = this.containsArticle(collection);
|
|
@@ -4392,8 +4404,8 @@ class CollectionsDialog {
|
|
|
4392
4404
|
this.newCollectionName.set('');
|
|
4393
4405
|
this.creating.set(false);
|
|
4394
4406
|
}
|
|
4395
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4396
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
4407
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: CollectionsDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4408
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: CollectionsDialog, isStandalone: true, selector: "add-to-collection-dialog", outputs: { closed: "closed" }, providers: [provideTranslocoScope('collections')], viewQueries: [{ propertyName: "createInputElement", first: true, predicate: ["createInput"], descendants: true, isSignal: true }, { propertyName: "dialogElement", first: true, predicate: DialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
4397
4409
|
<dialog #dialog (closed)="closeBtn.click()">
|
|
4398
4410
|
<DialogHeader>
|
|
4399
4411
|
<DialogTitle>{{ 'collections.addToCollection' | transloco }}</DialogTitle>
|
|
@@ -4456,9 +4468,9 @@ class CollectionsDialog {
|
|
|
4456
4468
|
</button>
|
|
4457
4469
|
</DialogFooter>
|
|
4458
4470
|
</dialog>
|
|
4459
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "
|
|
4471
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: DialogComponent, selector: "dialog", inputs: ["class"], outputs: ["closed"] }, { kind: "component", type: DialogHeaderComponent, selector: "DialogHeader" }, { kind: "directive", type: DialogTitleComponent, selector: "DialogTitle" }, { kind: "directive", type: DialogContentComponent, selector: "DialogContent" }, { kind: "directive", type: DialogFooterComponent, selector: "DialogFooter" }, { kind: "directive", type: ListItemComponent, selector: "[role=\"listitem\"], [role=\"option\"]", inputs: ["class", "variant"] }, { kind: "directive", type: InputComponent, selector: "input[type=\"text\"], input[type=\"email\"], input[type=\"password\"], input[type=\"number\"], input[type=\"tel\"], input[type=\"url\"], input[type=\"time\"]", inputs: ["class", "variant"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
4460
4472
|
}
|
|
4461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4473
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: CollectionsDialog, decorators: [{
|
|
4462
4474
|
type: Component,
|
|
4463
4475
|
args: [{
|
|
4464
4476
|
selector: 'add-to-collection-dialog',
|
|
@@ -4625,7 +4637,7 @@ class ExportService {
|
|
|
4625
4637
|
exportedColumns: exportedColumns,
|
|
4626
4638
|
selection: (selection ?? []).length > 0 ? selection : undefined,
|
|
4627
4639
|
$auditRecord: {
|
|
4628
|
-
type: "Search_ExportCSV"
|
|
4640
|
+
type: "Search_ExportCSV",
|
|
4629
4641
|
detail: {
|
|
4630
4642
|
resultid: results ? results.id : undefined
|
|
4631
4643
|
}
|
|
@@ -4636,10 +4648,10 @@ class ExportService {
|
|
|
4636
4648
|
responseType: 'blob'
|
|
4637
4649
|
});
|
|
4638
4650
|
}
|
|
4639
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4640
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
4651
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4652
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ExportService, providedIn: 'root' });
|
|
4641
4653
|
}
|
|
4642
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4654
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ExportService, decorators: [{
|
|
4643
4655
|
type: Injectable,
|
|
4644
4656
|
args: [{
|
|
4645
4657
|
providedIn: 'root'
|
|
@@ -4652,14 +4664,14 @@ class ExportDialog {
|
|
|
4652
4664
|
appStore = inject(AppStore);
|
|
4653
4665
|
exportService = inject(ExportService);
|
|
4654
4666
|
queryParamsStore = inject(QueryParamsStore);
|
|
4655
|
-
dialog = viewChild(DialogComponent);
|
|
4656
|
-
selection = signal([]);
|
|
4667
|
+
dialog = viewChild(DialogComponent, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
4668
|
+
selection = signal([], ...(ngDevMode ? [{ debugName: "selection" }] : []));
|
|
4657
4669
|
fromSelection = linkedSignal(() => this.selection()?.length > 0);
|
|
4658
|
-
exportableColumns = signal([]);
|
|
4670
|
+
exportableColumns = signal([], ...(ngDevMode ? [{ debugName: "exportableColumns" }] : []));
|
|
4659
4671
|
supportedFormats = ['Csv', 'Xlsx', 'Json'];
|
|
4660
|
-
format = model('Csv');
|
|
4661
|
-
maxCount = model(undefined);
|
|
4662
|
-
columnsToExport = model([]);
|
|
4672
|
+
format = model('Csv', ...(ngDevMode ? [{ debugName: "format" }] : []));
|
|
4673
|
+
maxCount = model(undefined, ...(ngDevMode ? [{ debugName: "maxCount" }] : []));
|
|
4674
|
+
columnsToExport = model([], ...(ngDevMode ? [{ debugName: "columnsToExport" }] : []));
|
|
4663
4675
|
destroyRef = inject(DestroyRef);
|
|
4664
4676
|
open(selection) {
|
|
4665
4677
|
const app = getState(this.appStore);
|
|
@@ -4707,8 +4719,8 @@ class ExportDialog {
|
|
|
4707
4719
|
this.maxCount.set(1);
|
|
4708
4720
|
}
|
|
4709
4721
|
}
|
|
4710
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4711
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
4722
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ExportDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4723
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: ExportDialog, isStandalone: true, selector: "export-dialog", inputs: { format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, maxCount: { classPropertyName: "maxCount", publicName: "maxCount", isSignal: true, isRequired: false, transformFunction: null }, columnsToExport: { classPropertyName: "columnsToExport", publicName: "columnsToExport", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onExport: "onExport", format: "formatChange", maxCount: "maxCountChange", columnsToExport: "columnsToExportChange" }, providers: [provideTranslocoScope('export')], viewQueries: [{ propertyName: "dialog", first: true, predicate: DialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
4712
4724
|
<dialog #dialog>
|
|
4713
4725
|
<DialogHeader>
|
|
4714
4726
|
<DialogTitle>{{ 'export.title' | transloco }}</DialogTitle>
|
|
@@ -4777,9 +4789,9 @@ class ExportDialog {
|
|
|
4777
4789
|
</button>
|
|
4778
4790
|
</DialogFooter>
|
|
4779
4791
|
</dialog>
|
|
4780
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "
|
|
4792
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: DialogComponent, selector: "dialog", inputs: ["class"], outputs: ["closed"] }, { kind: "component", type: DialogHeaderComponent, selector: "DialogHeader" }, { kind: "directive", type: DialogTitleComponent, selector: "DialogTitle" }, { kind: "directive", type: DialogContentComponent, selector: "DialogContent" }, { kind: "directive", type: DialogFooterComponent, selector: "DialogFooter" }, { kind: "component", type: SwitchComponent, selector: "switch, Switch", inputs: ["toggled", "disabled", "className", "size"], outputs: ["toggledChange"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
4781
4793
|
}
|
|
4782
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4794
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ExportDialog, decorators: [{
|
|
4783
4795
|
type: Component,
|
|
4784
4796
|
args: [{
|
|
4785
4797
|
selector: 'export-dialog',
|
|
@@ -4887,11 +4899,11 @@ class MultiSelectionToolbarComponent {
|
|
|
4887
4899
|
selection = inject(SelectionStore);
|
|
4888
4900
|
dialog = inject(DialogService);
|
|
4889
4901
|
appFeatures = inject(APP_FEATURES);
|
|
4890
|
-
className = input('');
|
|
4891
|
-
variant = input('dark');
|
|
4902
|
+
className = input('', ...(ngDevMode ? [{ debugName: "className" }] : []));
|
|
4903
|
+
variant = input('dark', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
4892
4904
|
count = this.selection.multiSelectCount;
|
|
4893
|
-
variants = computed(() => cn(multiSelectionToolbarVariants({ variant: this.variant(), class: this.className() })));
|
|
4894
|
-
ids = computed(() => getState(this.selection).multiSelection.map(x => x.id));
|
|
4905
|
+
variants = computed(() => cn(multiSelectionToolbarVariants({ variant: this.variant(), class: this.className() })), ...(ngDevMode ? [{ debugName: "variants" }] : []));
|
|
4906
|
+
ids = computed(() => getState(this.selection).multiSelection.map(x => x.id), ...(ngDevMode ? [{ debugName: "ids" }] : []));
|
|
4895
4907
|
instanceId = computed(() => {
|
|
4896
4908
|
const { assistant: { usePrefixName = true } } = this.appFeatures;
|
|
4897
4909
|
if (usePrefixName) {
|
|
@@ -4899,14 +4911,14 @@ class MultiSelectionToolbarComponent {
|
|
|
4899
4911
|
return `${name}-search-results-assistant`;
|
|
4900
4912
|
}
|
|
4901
4913
|
return `search-results-assistant`;
|
|
4902
|
-
});
|
|
4903
|
-
enabledUserInput = computed(() => this.appStore.assistants()[this.instanceId()]?.['modeSettings']?.['enabledUserInput'] === true);
|
|
4914
|
+
}, ...(ngDevMode ? [{ debugName: "instanceId" }] : []));
|
|
4915
|
+
enabledUserInput = computed(() => this.appStore.assistants()[this.instanceId()]?.['modeSettings']?.['enabledUserInput'] === true, ...(ngDevMode ? [{ debugName: "enabledUserInput" }] : []));
|
|
4904
4916
|
clearSelection = () => this.selection.clearMultiSelection();
|
|
4905
4917
|
openCollectionDialog = () => this.dialog.open(CollectionsDialog, getState(this.selection).multiSelection);
|
|
4906
4918
|
openExportDialog = () => this.dialog.open(ExportDialog, this.ids());
|
|
4907
4919
|
attachToAssistant = () => this.selection.update({ assistantIdsToAttach: this.ids() });
|
|
4908
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4909
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
4920
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MultiSelectionToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4921
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: MultiSelectionToolbarComponent, isStandalone: true, selector: "MultiSelectionToolbar, multi-selection-toolbar", inputs: { className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.opacity-100": "count() > 0", "class.-translate-y-14": "count() > 0" }, classAttribute: "fixed bottom-[-40px] left-[50%] translate-x-[-50%] z-50 transition-[translate,opacity,discrete] duration-300 opacity-0" }, ngImport: i0, template: `
|
|
4910
4922
|
<menu id="multi-select-toolbar" [class]="cn(variants(), className())">
|
|
4911
4923
|
<li class="!ps-0">
|
|
4912
4924
|
{{ count() }} items selected
|
|
@@ -4940,7 +4952,7 @@ class MultiSelectionToolbarComponent {
|
|
|
4940
4952
|
</menu>
|
|
4941
4953
|
`, isInline: true });
|
|
4942
4954
|
}
|
|
4943
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4955
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MultiSelectionToolbarComponent, decorators: [{
|
|
4944
4956
|
type: Component,
|
|
4945
4957
|
args: [{
|
|
4946
4958
|
selector: 'MultiSelectionToolbar, multi-selection-toolbar',
|
|
@@ -5003,7 +5015,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
5003
5015
|
*/
|
|
5004
5016
|
class InfinityScrollDirective {
|
|
5005
5017
|
el;
|
|
5006
|
-
options = input({ root: null });
|
|
5018
|
+
options = input({ root: null }, ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
5007
5019
|
onScroll = output();
|
|
5008
5020
|
observer = new IntersectionObserver(([entry]) => {
|
|
5009
5021
|
if (entry.isIntersecting) {
|
|
@@ -5019,10 +5031,10 @@ class InfinityScrollDirective {
|
|
|
5019
5031
|
ngOnDestroy() {
|
|
5020
5032
|
this.observer.disconnect();
|
|
5021
5033
|
}
|
|
5022
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5023
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
5034
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: InfinityScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
5035
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.2", type: InfinityScrollDirective, isStandalone: true, selector: "[infinity-scroll]", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScroll: "onScroll" }, ngImport: i0 });
|
|
5024
5036
|
}
|
|
5025
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5037
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: InfinityScrollDirective, decorators: [{
|
|
5026
5038
|
type: Directive,
|
|
5027
5039
|
args: [{
|
|
5028
5040
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -5043,19 +5055,19 @@ const defaultNavigatorOptions = {
|
|
|
5043
5055
|
}
|
|
5044
5056
|
};
|
|
5045
5057
|
class KeyboardNavigatorDirective {
|
|
5046
|
-
keyboardNavigator = input(defaultNavigatorOptions, { transform: this.normalizeOptions });
|
|
5047
|
-
listboxId = input('', { alias: 'aria-controls' });
|
|
5058
|
+
keyboardNavigator = input(defaultNavigatorOptions, ...(ngDevMode ? [{ debugName: "keyboardNavigator", transform: this.normalizeOptions }] : [{ transform: this.normalizeOptions }]));
|
|
5059
|
+
listboxId = input('', ...(ngDevMode ? [{ debugName: "listboxId", alias: 'aria-controls' }] : [{ alias: 'aria-controls' }]));
|
|
5048
5060
|
onFocus = output();
|
|
5049
5061
|
onBlur = output();
|
|
5050
5062
|
onSelected = output();
|
|
5051
|
-
ariaExpanded = signal(false);
|
|
5052
|
-
activeDescendant = signal(undefined);
|
|
5063
|
+
ariaExpanded = signal(false, ...(ngDevMode ? [{ debugName: "ariaExpanded" }] : []));
|
|
5064
|
+
activeDescendant = signal(undefined, ...(ngDevMode ? [{ debugName: "activeDescendant" }] : []));
|
|
5053
5065
|
renderer = inject(Renderer2);
|
|
5054
|
-
listboxElement = signal(null);
|
|
5055
|
-
items = signal(null);
|
|
5056
|
-
hasItems = computed(() => this.items() && this.items().length > 0);
|
|
5057
|
-
currentIndex = signal(-1);
|
|
5058
|
-
previousIndex = signal(-1);
|
|
5066
|
+
listboxElement = signal(null, ...(ngDevMode ? [{ debugName: "listboxElement" }] : []));
|
|
5067
|
+
items = signal(null, ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
5068
|
+
hasItems = computed(() => this.items() && this.items().length > 0, ...(ngDevMode ? [{ debugName: "hasItems" }] : []));
|
|
5069
|
+
currentIndex = signal(-1, ...(ngDevMode ? [{ debugName: "currentIndex" }] : []));
|
|
5070
|
+
previousIndex = signal(-1, ...(ngDevMode ? [{ debugName: "previousIndex" }] : []));
|
|
5059
5071
|
unlisteners = [];
|
|
5060
5072
|
mutationObserver = new MutationObserver(() => this.setItems());
|
|
5061
5073
|
constructor() {
|
|
@@ -5326,10 +5338,10 @@ class KeyboardNavigatorDirective {
|
|
|
5326
5338
|
this.renderer.setAttribute(this.listboxElement(), 'aria-hidden', 'true');
|
|
5327
5339
|
this.ariaExpanded.set(false);
|
|
5328
5340
|
}
|
|
5329
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5330
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
5341
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: KeyboardNavigatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5342
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.2", type: KeyboardNavigatorDirective, isStandalone: true, selector: "input[role=\"combobox\"]", inputs: { keyboardNavigator: { classPropertyName: "keyboardNavigator", publicName: "keyboardNavigator", isSignal: true, isRequired: false, transformFunction: null }, listboxId: { classPropertyName: "listboxId", publicName: "aria-controls", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onFocus: "onFocus", onBlur: "onBlur", onSelected: "onSelected" }, host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown.arrowup": "up()", "keydown.arrowdown": "down()", "keydown.arrowleft": "left()", "keydown.arrowright": "right()", "keydown.home": "home()", "keydown.end": "end()", "keydown.pageup": "pageUp()", "keydown.pagedown": "pageDown()", "keydown.enter": "enter()", "keydown.escape": "escape()" }, properties: { "attr.aria-expanded": "ariaExpanded()", "attr.aria-activedescendant": "activeDescendant()" } }, ngImport: i0 });
|
|
5331
5343
|
}
|
|
5332
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: KeyboardNavigatorDirective, decorators: [{
|
|
5333
5345
|
type: Directive,
|
|
5334
5346
|
args: [{
|
|
5335
5347
|
selector: 'input[role="combobox"]',
|
|
@@ -5358,16 +5370,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
5358
5370
|
*/
|
|
5359
5371
|
class OpenArticleOnCtrlEnterDirective {
|
|
5360
5372
|
previewService = inject(PreviewService);
|
|
5361
|
-
article = input.required();
|
|
5373
|
+
article = input.required(...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
5362
5374
|
onCtrlEnter() {
|
|
5363
5375
|
if (!this.article())
|
|
5364
5376
|
return;
|
|
5365
5377
|
this.previewService.openExternal(this.article());
|
|
5366
5378
|
}
|
|
5367
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5368
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
5379
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OpenArticleOnCtrlEnterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5380
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.2", type: OpenArticleOnCtrlEnterDirective, isStandalone: true, selector: "[appOpenArticleOnCtrlEnter],[openArticleOnCtrlEnter]", inputs: { article: { classPropertyName: "article", publicName: "article", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "keydown.control.Enter": "onCtrlEnter()" } }, ngImport: i0 });
|
|
5369
5381
|
}
|
|
5370
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5382
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OpenArticleOnCtrlEnterDirective, decorators: [{
|
|
5371
5383
|
type: Directive,
|
|
5372
5384
|
args: [{
|
|
5373
5385
|
selector: '[appOpenArticleOnCtrlEnter],[openArticleOnCtrlEnter]',
|
|
@@ -5383,10 +5395,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
5383
5395
|
* overflow manager.
|
|
5384
5396
|
*/
|
|
5385
5397
|
class OverflowItemDirective {
|
|
5386
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5387
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
5398
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OverflowItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5399
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.2", type: OverflowItemDirective, isStandalone: true, selector: "[overflowItem]", ngImport: i0 });
|
|
5388
5400
|
}
|
|
5389
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5401
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OverflowItemDirective, decorators: [{
|
|
5390
5402
|
type: Directive,
|
|
5391
5403
|
args: [{
|
|
5392
5404
|
selector: '[overflowItem]',
|
|
@@ -5398,10 +5410,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
5398
5410
|
* for the overflow manager.
|
|
5399
5411
|
*/
|
|
5400
5412
|
class OverflowStopDirective {
|
|
5401
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5402
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
5413
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OverflowStopDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5414
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.2", type: OverflowStopDirective, isStandalone: true, selector: "[overflowStop]", ngImport: i0 });
|
|
5403
5415
|
}
|
|
5404
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5416
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OverflowStopDirective, decorators: [{
|
|
5405
5417
|
type: Directive,
|
|
5406
5418
|
args: [{
|
|
5407
5419
|
selector: '[overflowStop]',
|
|
@@ -5446,11 +5458,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
5446
5458
|
* ```
|
|
5447
5459
|
*/
|
|
5448
5460
|
class OverflowManagerDirective {
|
|
5449
|
-
items = contentChildren(OverflowItemDirective, { descendants: true, read: ElementRef });
|
|
5450
|
-
stop = contentChild(OverflowStopDirective, { descendants: true, read: ElementRef });
|
|
5451
|
-
target = input();
|
|
5452
|
-
margin = input(4);
|
|
5453
|
-
direction = input('horizontal');
|
|
5461
|
+
items = contentChildren(OverflowItemDirective, ...(ngDevMode ? [{ debugName: "items", descendants: true, read: ElementRef }] : [{ descendants: true, read: ElementRef }]));
|
|
5462
|
+
stop = contentChild(OverflowStopDirective, ...(ngDevMode ? [{ debugName: "stop", descendants: true, read: ElementRef }] : [{ descendants: true, read: ElementRef }]));
|
|
5463
|
+
target = input(...(ngDevMode ? [undefined, { debugName: "target" }] : []));
|
|
5464
|
+
margin = input(4, ...(ngDevMode ? [{ debugName: "margin" }] : []));
|
|
5465
|
+
direction = input('horizontal', ...(ngDevMode ? [{ debugName: "direction" }] : []));
|
|
5454
5466
|
count = output();
|
|
5455
5467
|
el = inject(ElementRef).nativeElement;
|
|
5456
5468
|
resizeObserver = new ResizeObserver(() => this.countItems());
|
|
@@ -5509,10 +5521,10 @@ class OverflowManagerDirective {
|
|
|
5509
5521
|
item.nativeElement.style.visibility = state;
|
|
5510
5522
|
});
|
|
5511
5523
|
}
|
|
5512
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5513
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.
|
|
5524
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OverflowManagerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5525
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.1.2", type: OverflowManagerDirective, isStandalone: true, selector: "[overflowManager]", inputs: { target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { count: "count" }, queries: [{ propertyName: "items", predicate: OverflowItemDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "stop", first: true, predicate: OverflowStopDirective, descendants: true, read: ElementRef, isSignal: true }], ngImport: i0 });
|
|
5514
5526
|
}
|
|
5515
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5527
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OverflowManagerDirective, decorators: [{
|
|
5516
5528
|
type: Directive,
|
|
5517
5529
|
args: [{
|
|
5518
5530
|
selector: '[overflowManager]',
|
|
@@ -5654,10 +5666,10 @@ class DrawerStackService {
|
|
|
5654
5666
|
this.openAssistant();
|
|
5655
5667
|
this.askAI$.next(text);
|
|
5656
5668
|
}
|
|
5657
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5658
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
5669
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerStackService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5670
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerStackService, providedIn: 'root' });
|
|
5659
5671
|
}
|
|
5660
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5672
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerStackService, decorators: [{
|
|
5661
5673
|
type: Injectable,
|
|
5662
5674
|
args: [{
|
|
5663
5675
|
providedIn: 'root'
|
|
@@ -5669,8 +5681,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
5669
5681
|
*/
|
|
5670
5682
|
class SelectArticleOnClickDirective {
|
|
5671
5683
|
drawerStack = inject(DrawerStackService);
|
|
5672
|
-
article = input.required();
|
|
5673
|
-
strategy = input('stack');
|
|
5684
|
+
article = input.required(...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
5685
|
+
strategy = input('stack', ...(ngDevMode ? [{ debugName: "strategy" }] : []));
|
|
5674
5686
|
onEnter(e) {
|
|
5675
5687
|
if (e && isNotInputEvent(e)) {
|
|
5676
5688
|
this.onClick();
|
|
@@ -5689,10 +5701,10 @@ class SelectArticleOnClickDirective {
|
|
|
5689
5701
|
break;
|
|
5690
5702
|
}
|
|
5691
5703
|
}
|
|
5692
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5693
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
5704
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SelectArticleOnClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5705
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.2", type: SelectArticleOnClickDirective, isStandalone: true, selector: "[appSelectArticleOnClick],[selectArticleOnClick]", inputs: { article: { classPropertyName: "article", publicName: "article", isSignal: true, isRequired: true, transformFunction: null }, strategy: { classPropertyName: "strategy", publicName: "strategy", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown.enter": "onEnter($event)", "click": "onClick()" } }, ngImport: i0 });
|
|
5694
5706
|
}
|
|
5695
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SelectArticleOnClickDirective, decorators: [{
|
|
5696
5708
|
type: Directive,
|
|
5697
5709
|
args: [{
|
|
5698
5710
|
selector: '[appSelectArticleOnClick],[selectArticleOnClick]',
|
|
@@ -5725,14 +5737,14 @@ class ShowBookmarkDirective {
|
|
|
5725
5737
|
mouseLeave() {
|
|
5726
5738
|
this.bookmarkHovered.set(false);
|
|
5727
5739
|
}
|
|
5728
|
-
bookmarkHovered = signal(false);
|
|
5740
|
+
bookmarkHovered = signal(false, ...(ngDevMode ? [{ debugName: "bookmarkHovered" }] : []));
|
|
5729
5741
|
userSettingsStore = inject(UserSettingsStore);
|
|
5730
5742
|
isBookmarked = computed(() => {
|
|
5731
5743
|
if (!this.article())
|
|
5732
5744
|
return false;
|
|
5733
5745
|
return this.userSettingsStore.isBookmarked(this.article());
|
|
5734
|
-
});
|
|
5735
|
-
article = input.required();
|
|
5746
|
+
}, ...(ngDevMode ? [{ debugName: "isBookmarked" }] : []));
|
|
5747
|
+
article = input.required(...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
5736
5748
|
showBookmark = output();
|
|
5737
5749
|
constructor() {
|
|
5738
5750
|
effect(() => {
|
|
@@ -5741,10 +5753,10 @@ class ShowBookmarkDirective {
|
|
|
5741
5753
|
this.showBookmark.emit(bookmarkHovered || isBookmarked);
|
|
5742
5754
|
});
|
|
5743
5755
|
}
|
|
5744
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5745
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
5756
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ShowBookmarkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5757
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.2", type: ShowBookmarkDirective, isStandalone: true, selector: "[showBookmark]", inputs: { article: { classPropertyName: "article", publicName: "article", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { showBookmark: "showBookmark" }, host: { listeners: { "mouseenter": "mouseEnter()", "mouseleave": "mouseLeave()" } }, ngImport: i0 });
|
|
5746
5758
|
}
|
|
5747
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5759
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ShowBookmarkDirective, decorators: [{
|
|
5748
5760
|
type: Directive,
|
|
5749
5761
|
args: [{
|
|
5750
5762
|
selector: '[showBookmark]',
|
|
@@ -5762,7 +5774,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
5762
5774
|
* This directive is used to apply a theme to a native element based on the theme scope.
|
|
5763
5775
|
*/
|
|
5764
5776
|
class ThemeProviderDirective {
|
|
5765
|
-
themeProvider = input.required();
|
|
5777
|
+
themeProvider = input.required(...(ngDevMode ? [{ debugName: "themeProvider" }] : []));
|
|
5766
5778
|
host = inject(ElementRef);
|
|
5767
5779
|
themeStore = inject(ThemeStore);
|
|
5768
5780
|
constructor() {
|
|
@@ -5775,10 +5787,10 @@ class ThemeProviderDirective {
|
|
|
5775
5787
|
applyThemeToNativeElement(this.host.nativeElement, vars);
|
|
5776
5788
|
});
|
|
5777
5789
|
}
|
|
5778
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5779
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
5790
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ThemeProviderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5791
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.2", type: ThemeProviderDirective, isStandalone: true, selector: "[themeProvider]", inputs: { themeProvider: { classPropertyName: "themeProvider", publicName: "themeProvider", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
5780
5792
|
}
|
|
5781
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5793
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ThemeProviderDirective, decorators: [{
|
|
5782
5794
|
type: Directive,
|
|
5783
5795
|
args: [{
|
|
5784
5796
|
selector: '[themeProvider]',
|
|
@@ -5802,10 +5814,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
5802
5814
|
*/
|
|
5803
5815
|
class ChildMarkerDirective {
|
|
5804
5816
|
template = inject((TemplateRef));
|
|
5805
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5806
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
5817
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ChildMarkerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5818
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.2", type: ChildMarkerDirective, isStandalone: true, selector: "[childMarker]", ngImport: i0 });
|
|
5807
5819
|
}
|
|
5808
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5820
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ChildMarkerDirective, decorators: [{
|
|
5809
5821
|
type: Directive,
|
|
5810
5822
|
args: [{
|
|
5811
5823
|
selector: '[childMarker]'
|
|
@@ -5832,10 +5844,10 @@ class HighlightWordPipe {
|
|
|
5832
5844
|
const wordNormalized = word.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
5833
5845
|
return highlightWords({ text: valueNormalized, query: wordNormalized, clipBy });
|
|
5834
5846
|
}
|
|
5835
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5836
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
5847
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: HighlightWordPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5848
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.2", ngImport: i0, type: HighlightWordPipe, isStandalone: true, name: "highlightWord" });
|
|
5837
5849
|
}
|
|
5838
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5850
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: HighlightWordPipe, decorators: [{
|
|
5839
5851
|
type: Pipe,
|
|
5840
5852
|
args: [{
|
|
5841
5853
|
name: 'highlightWord',
|
|
@@ -5870,10 +5882,10 @@ class SourceIconPipe {
|
|
|
5870
5882
|
}
|
|
5871
5883
|
return 'far fa-file';
|
|
5872
5884
|
}
|
|
5873
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5874
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
5885
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SourceIconPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5886
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.2", ngImport: i0, type: SourceIconPipe, isStandalone: true, name: "sourceIcon" });
|
|
5875
5887
|
}
|
|
5876
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5888
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SourceIconPipe, decorators: [{
|
|
5877
5889
|
type: Pipe,
|
|
5878
5890
|
args: [{
|
|
5879
5891
|
name: 'sourceIcon',
|
|
@@ -5911,10 +5923,10 @@ class OperatorPipe {
|
|
|
5911
5923
|
return '';
|
|
5912
5924
|
}
|
|
5913
5925
|
}
|
|
5914
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5915
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
5926
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OperatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5927
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.2", ngImport: i0, type: OperatorPipe, isStandalone: true, name: "operator" });
|
|
5916
5928
|
}
|
|
5917
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5929
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OperatorPipe, decorators: [{
|
|
5918
5930
|
type: Pipe,
|
|
5919
5931
|
args: [{
|
|
5920
5932
|
name: 'operator',
|
|
@@ -5965,10 +5977,10 @@ class SyslangPipe {
|
|
|
5965
5977
|
}
|
|
5966
5978
|
return this.lastValue;
|
|
5967
5979
|
}
|
|
5968
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
5969
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
5980
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SyslangPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5981
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.2", ngImport: i0, type: SyslangPipe, isStandalone: true, name: "syslang", pure: false });
|
|
5970
5982
|
}
|
|
5971
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
5983
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SyslangPipe, decorators: [{
|
|
5972
5984
|
type: Pipe,
|
|
5973
5985
|
args: [{
|
|
5974
5986
|
name: 'syslang',
|
|
@@ -6000,10 +6012,10 @@ class TranslocoDateImpurePipe extends DatePipe {
|
|
|
6000
6012
|
});
|
|
6001
6013
|
return this.lastTransformedValue;
|
|
6002
6014
|
}
|
|
6003
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6004
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
6015
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TranslocoDateImpurePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }, { token: DATE_PIPE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
6016
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.2", ngImport: i0, type: TranslocoDateImpurePipe, isStandalone: true, name: "translocoDate", pure: false });
|
|
6005
6017
|
}
|
|
6006
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6018
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: TranslocoDateImpurePipe, decorators: [{
|
|
6007
6019
|
type: Pipe,
|
|
6008
6020
|
args: [{
|
|
6009
6021
|
name: 'translocoDate',
|
|
@@ -6029,13 +6041,13 @@ class NavbarTabsComponent {
|
|
|
6029
6041
|
router = inject(Router);
|
|
6030
6042
|
route = inject(ActivatedRoute);
|
|
6031
6043
|
drawerStack = inject(DrawerStackService);
|
|
6032
|
-
drawerOpened = signal(false);
|
|
6044
|
+
drawerOpened = signal(false, ...(ngDevMode ? [{ debugName: "drawerOpened" }] : []));
|
|
6033
6045
|
queryParamsStore = inject(QueryParamsStore);
|
|
6034
6046
|
searchText = computed(() => {
|
|
6035
6047
|
const state = getState(this.queryParamsStore);
|
|
6036
6048
|
return state.text || '';
|
|
6037
|
-
});
|
|
6038
|
-
visibleTabCount = signal(undefined);
|
|
6049
|
+
}, ...(ngDevMode ? [{ debugName: "searchText" }] : []));
|
|
6050
|
+
visibleTabCount = signal(undefined, ...(ngDevMode ? [{ debugName: "visibleTabCount" }] : []));
|
|
6039
6051
|
currentPath = computed(() => {
|
|
6040
6052
|
let current = this.route.snapshot;
|
|
6041
6053
|
while (current.firstChild) {
|
|
@@ -6043,7 +6055,7 @@ class NavbarTabsComponent {
|
|
|
6043
6055
|
}
|
|
6044
6056
|
const childPath = current.url.map(segment => segment.path).join('/');
|
|
6045
6057
|
return childPath || 'all';
|
|
6046
|
-
});
|
|
6058
|
+
}, ...(ngDevMode ? [{ debugName: "currentPath" }] : []));
|
|
6047
6059
|
// create tabs from the search routes
|
|
6048
6060
|
tabs = computed(() => this.router.config
|
|
6049
6061
|
.find(item => item.path === 'search')
|
|
@@ -6055,8 +6067,8 @@ class NavbarTabsComponent {
|
|
|
6055
6067
|
routerLink: `/search/${child.path}`,
|
|
6056
6068
|
icon: child.data?.['icon'],
|
|
6057
6069
|
queryName: child.data?.['queryName']
|
|
6058
|
-
})) ?? []);
|
|
6059
|
-
moreTabs = computed(() => this.tabs().slice(this.visibleTabCount()));
|
|
6070
|
+
})) ?? [], ...(ngDevMode ? [{ debugName: "tabs" }] : []));
|
|
6071
|
+
moreTabs = computed(() => this.tabs().slice(this.visibleTabCount()), ...(ngDevMode ? [{ debugName: "moreTabs" }] : []));
|
|
6060
6072
|
changeTab(tab) {
|
|
6061
6073
|
// we use the routerlink to navigate, so just close the drawer and remove the id parameter from the query params
|
|
6062
6074
|
this.drawerStack.closeAll();
|
|
@@ -6064,8 +6076,8 @@ class NavbarTabsComponent {
|
|
|
6064
6076
|
constructor() {
|
|
6065
6077
|
this.drawerStack.isOpened.pipe(takeUntilDestroyed()).subscribe(state => this.drawerOpened.set(state));
|
|
6066
6078
|
}
|
|
6067
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6068
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
6079
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: NavbarTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6080
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: NavbarTabsComponent, isStandalone: true, selector: "navbar-tabs", ngImport: i0, template: `
|
|
6069
6081
|
<!-- do not display the tabs if there are no tabs -->
|
|
6070
6082
|
@if (tabs().length > 0) {
|
|
6071
6083
|
<div overflowManager class="relative col-span-2 col-start-2 row-start-2 flex" (count)="visibleTabCount.set($event)">
|
|
@@ -6118,9 +6130,9 @@ class NavbarTabsComponent {
|
|
|
6118
6130
|
}
|
|
6119
6131
|
</div>
|
|
6120
6132
|
}
|
|
6121
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "
|
|
6133
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: MenuComponent, selector: "menu, Menu", inputs: ["disabled"] }, { kind: "directive", type: MenuItemComponent, selector: "menu-item, menuitem, MenuItem", inputs: ["class", "variant"] }, { kind: "directive", type: MenuContentComponent, selector: "MenuContent, menucontent, menu-content", inputs: ["class", "position"] }, { kind: "directive", type: TabsComponent, selector: "tabs, Tabs", inputs: ["class", "variant", "size"] }, { kind: "component", type: TabComponent, selector: "tab, Tab", inputs: ["class", "variant", "size", "value", "active"], outputs: ["clicked"] }, { kind: "directive", type: OverflowManagerDirective, selector: "[overflowManager]", inputs: ["target", "margin", "direction"], outputs: ["count"] }, { kind: "directive", type: OverflowItemDirective, selector: "[overflowItem]" }, { kind: "directive", type: OverflowStopDirective, selector: "[overflowStop]" }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }, { kind: "pipe", type: SyslangPipe, name: "syslang" }] });
|
|
6122
6134
|
}
|
|
6123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: NavbarTabsComponent, decorators: [{
|
|
6124
6136
|
type: Component,
|
|
6125
6137
|
args: [{
|
|
6126
6138
|
selector: 'navbar-tabs',
|
|
@@ -6197,8 +6209,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
6197
6209
|
}], ctorParameters: () => [] });
|
|
6198
6210
|
|
|
6199
6211
|
class NoResultComponent {
|
|
6200
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6201
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
6212
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: NoResultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6213
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: NoResultComponent, isStandalone: true, selector: "NoResult", host: { classAttribute: "p-4 flex flex-col gap-2 bg-gray-100 rounded-md" }, providers: [provideTranslocoScope('no-result')], ngImport: i0, template: `
|
|
6202
6214
|
<header class="flex items-center gap-2 text-xl font-semibold">
|
|
6203
6215
|
<i class="fa-fw far fa-face-sad-sweat text-3xl"></i>
|
|
6204
6216
|
<p>{{ 'noResult.noResult' | transloco }}</p>
|
|
@@ -6211,7 +6223,7 @@ class NoResultComponent {
|
|
|
6211
6223
|
<p>{{ 'noResult.noResultAssistance' | transloco }}</p>
|
|
6212
6224
|
`, isInline: true, dependencies: [{ kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
6213
6225
|
}
|
|
6214
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: NoResultComponent, decorators: [{
|
|
6215
6227
|
type: Component,
|
|
6216
6228
|
args: [{
|
|
6217
6229
|
selector: 'NoResult',
|
|
@@ -6237,12 +6249,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
6237
6249
|
}] });
|
|
6238
6250
|
|
|
6239
6251
|
class PagerComponent {
|
|
6240
|
-
configuration = input.required();
|
|
6241
|
-
page = signal(0);
|
|
6252
|
+
configuration = input.required(...(ngDevMode ? [{ debugName: "configuration" }] : []));
|
|
6253
|
+
page = signal(0, ...(ngDevMode ? [{ debugName: "page" }] : []));
|
|
6242
6254
|
hasPages = computed(() => {
|
|
6243
6255
|
const { page, pageSize, rowCount } = this.configuration();
|
|
6244
6256
|
return page * pageSize < rowCount;
|
|
6245
|
-
});
|
|
6257
|
+
}, ...(ngDevMode ? [{ debugName: "hasPages" }] : []));
|
|
6246
6258
|
queryService = inject(QueryService);
|
|
6247
6259
|
constructor() {
|
|
6248
6260
|
effect(() => {
|
|
@@ -6257,8 +6269,8 @@ class PagerComponent {
|
|
|
6257
6269
|
this.page.set(this.page() - 1);
|
|
6258
6270
|
this.queryService.gotoPage(this.page());
|
|
6259
6271
|
}
|
|
6260
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6261
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
6272
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: PagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6273
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: PagerComponent, isStandalone: true, selector: "pager", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
6262
6274
|
<div class="flex gap-2">
|
|
6263
6275
|
@if ((hasPages() && page() > 1) || (!hasPages() && page() > 1)) {
|
|
6264
6276
|
<button variant="ghost" [attr.title]="'previousPage' | transloco" (click)="previousPage()">
|
|
@@ -6280,9 +6292,9 @@ class PagerComponent {
|
|
|
6280
6292
|
</button>
|
|
6281
6293
|
}
|
|
6282
6294
|
</div>
|
|
6283
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
6295
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
6284
6296
|
}
|
|
6285
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: PagerComponent, decorators: [{
|
|
6286
6298
|
type: Component,
|
|
6287
6299
|
args: [{
|
|
6288
6300
|
selector: 'pager',
|
|
@@ -6316,11 +6328,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
6316
6328
|
|
|
6317
6329
|
class SearchInputComponent {
|
|
6318
6330
|
cn = cn;
|
|
6319
|
-
searchElement = viewChild('search');
|
|
6331
|
+
searchElement = viewChild('search', ...(ngDevMode ? [{ debugName: "searchElement" }] : []));
|
|
6320
6332
|
onFocus = output();
|
|
6321
6333
|
onBlur = output();
|
|
6322
6334
|
onSelected = output();
|
|
6323
|
-
controls = input.required();
|
|
6335
|
+
controls = input.required(...(ngDevMode ? [{ debugName: "controls" }] : []));
|
|
6324
6336
|
keyboardNavigatorOptions = input({
|
|
6325
6337
|
name: 'searchInputKeyboardNavigator',
|
|
6326
6338
|
optionSelector: '[role="option"]:not([aria-disabled="true"])',
|
|
@@ -6331,15 +6343,15 @@ class SearchInputComponent {
|
|
|
6331
6343
|
hideListbox: true,
|
|
6332
6344
|
resetSelection: true
|
|
6333
6345
|
}
|
|
6334
|
-
});
|
|
6335
|
-
placeholder = input('Search...');
|
|
6336
|
-
disabled = input(false);
|
|
6337
|
-
hotkey = input('shift+/');
|
|
6338
|
-
class = input();
|
|
6339
|
-
variant = input('default');
|
|
6346
|
+
}, ...(ngDevMode ? [{ debugName: "keyboardNavigatorOptions" }] : []));
|
|
6347
|
+
placeholder = input('Search...', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
6348
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
6349
|
+
hotkey = input('shift+/', ...(ngDevMode ? [{ debugName: "hotkey" }] : []));
|
|
6350
|
+
class = input(...(ngDevMode ? [undefined, { debugName: "class" }] : []));
|
|
6351
|
+
variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
6340
6352
|
variants = computed(() => {
|
|
6341
6353
|
return searchVariants({ variant: this.variant(), class: this.class() });
|
|
6342
|
-
});
|
|
6354
|
+
}, ...(ngDevMode ? [{ debugName: "variants" }] : []));
|
|
6343
6355
|
clearSearch(e) {
|
|
6344
6356
|
const searchEl = this.searchElement()?.nativeElement;
|
|
6345
6357
|
if (searchEl) {
|
|
@@ -6363,8 +6375,8 @@ class SearchInputComponent {
|
|
|
6363
6375
|
registerOnTouched(fn) {
|
|
6364
6376
|
this.onTouched = fn;
|
|
6365
6377
|
}
|
|
6366
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6367
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.
|
|
6378
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6379
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.2", type: SearchInputComponent, isStandalone: true, selector: "SearchInput", inputs: { controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: true, transformFunction: null }, keyboardNavigatorOptions: { classPropertyName: "keyboardNavigatorOptions", publicName: "keyboardNavigatorOptions", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hotkey: { classPropertyName: "hotkey", publicName: "hotkey", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onFocus: "onFocus", onBlur: "onBlur", onSelected: "onSelected" }, host: { properties: { "class": "cn(variants(), disabled() && 'pointer-events-none opacity-50')" } }, providers: [
|
|
6368
6380
|
{
|
|
6369
6381
|
provide: NG_VALUE_ACCESSOR,
|
|
6370
6382
|
useExisting: forwardRef(() => SearchInputComponent),
|
|
@@ -6400,7 +6412,7 @@ class SearchInputComponent {
|
|
|
6400
6412
|
<ng-content />
|
|
6401
6413
|
`, isInline: true, styles: [":host input[type=search]::-ms-clear,:host input[type=search]::-ms-reveal{appearance:none;width:0;height:0}:host input[type=search]::-webkit-search-decoration,:host input[type=search]::-webkit-search-cancel-button,:host input[type=search]::-webkit-search-results-button,:host input[type=search]::-webkit-search-results-decoration{appearance:none}\n"], dependencies: [{ kind: "component", type: SearchIconComponent, selector: "SearchIcon", inputs: ["class", "width", "height"] }, { kind: "component", type: XMarkIConComponent, selector: "XMark, xmark, x-mark", inputs: ["class", "width", "height"] }, { kind: "directive", type: KeyboardNavigatorDirective, selector: "input[role=\"combobox\"]", inputs: ["keyboardNavigator", "aria-controls"], outputs: ["onFocus", "onBlur", "onSelected"] }] });
|
|
6402
6414
|
}
|
|
6403
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6415
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchInputComponent, decorators: [{
|
|
6404
6416
|
type: Component,
|
|
6405
6417
|
args: [{ selector: 'SearchInput', standalone: true, imports: [SearchIconComponent, XMarkIConComponent, KeyboardNavigatorDirective], template: `
|
|
6406
6418
|
<SearchIcon class="text-foreground size-4 rotate-0 transition-[rotate] duration-500 group-focus-within:rotate-90" />
|
|
@@ -6442,12 +6454,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
6442
6454
|
}] });
|
|
6443
6455
|
|
|
6444
6456
|
class SortSelectorComponent {
|
|
6445
|
-
dropdown = viewChild(DropdownComponent);
|
|
6446
|
-
result = input.required();
|
|
6447
|
-
position = input('bottom-start');
|
|
6457
|
+
dropdown = viewChild(DropdownComponent, ...(ngDevMode ? [{ debugName: "dropdown" }] : []));
|
|
6458
|
+
result = input.required(...(ngDevMode ? [{ debugName: "result" }] : []));
|
|
6459
|
+
position = input('bottom-start', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
6448
6460
|
onSort = output();
|
|
6449
6461
|
appStore = inject(AppStore);
|
|
6450
|
-
queryName = computed(() => this.result()?.queryName);
|
|
6462
|
+
queryName = computed(() => this.result()?.queryName, ...(ngDevMode ? [{ debugName: "queryName" }] : []));
|
|
6451
6463
|
// fetch the sorting choices from the queries and process if choice is desc or asc
|
|
6452
6464
|
sortOptions = computed(() => {
|
|
6453
6465
|
const query = this.appStore.getQueryByName(this.queryName());
|
|
@@ -6477,19 +6489,19 @@ class SortSelectorComponent {
|
|
|
6477
6489
|
return acc;
|
|
6478
6490
|
}, [])
|
|
6479
6491
|
.filter(s => this.result().hasRelevance || !s.orderByClause.includes('globalrelevance'));
|
|
6480
|
-
});
|
|
6481
|
-
sort = computed(() => this.sortOptions()?.find(x => x.name === this.result()?.sort));
|
|
6482
|
-
isSortingDesc = computed(() => this.sort()?.orderByClause?.includes('desc'));
|
|
6492
|
+
}, ...(ngDevMode ? [{ debugName: "sortOptions" }] : []));
|
|
6493
|
+
sort = computed(() => this.sortOptions()?.find(x => x.name === this.result()?.sort), ...(ngDevMode ? [{ debugName: "sort" }] : []));
|
|
6494
|
+
isSortingDesc = computed(() => this.sort()?.orderByClause?.includes('desc'), ...(ngDevMode ? [{ debugName: "isSortingDesc" }] : []));
|
|
6483
6495
|
onSortOptionClicked(sort) {
|
|
6484
6496
|
if (sort.name !== this.sort()?.name) {
|
|
6485
6497
|
this.dropdown()?.close();
|
|
6486
6498
|
this.onSort.emit(sort);
|
|
6487
6499
|
}
|
|
6488
6500
|
}
|
|
6489
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6490
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
6501
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SortSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6502
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: SortSelectorComponent, isStandalone: true, selector: "sort-selector, sortselector, SortSelector", inputs: { result: { classPropertyName: "result", publicName: "result", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSort: "onSort" }, providers: [provideTranslocoScope('sort-selector')], viewQueries: [{ propertyName: "dropdown", first: true, predicate: DropdownComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<menu>\n <button tabindex=\"0\" variant=\"ghost\" [attr.title]=\"'sortSelector.selectSort' | transloco\">\n <i class=\"fa-fw fa-regular fa-arrow-{{ sort()?.$isDesc ? 'down' : 'up' }}-big-small me-1\"></i>\n <span>{{ sort()?.display | transloco }}</span>\n </button>\n\n <MenuContent [position]=\"position()\" class=\"min-w-max\">\n @if (sortOptions().length > 0) {\n @for (option of sortOptions(); track $index) {\n <menuitem (click)=\"onSortOptionClicked(option)\" class=\"justify-between\">\n <span>{{ option.display | transloco }}</span>\n <i class=\"fa-fw fa-regular fa-arrow-{{ option.$isDesc ? 'down' : 'up' }}-big-small\"></i>\n </menuitem>\n }\n }\n </MenuContent>\n</menu>\n", dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: MenuComponent, selector: "menu, Menu", inputs: ["disabled"] }, { kind: "directive", type: MenuContentComponent, selector: "MenuContent, menucontent, menu-content", inputs: ["class", "position"] }, { kind: "directive", type: MenuItemComponent, selector: "menu-item, menuitem, MenuItem", inputs: ["class", "variant"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
6491
6503
|
}
|
|
6492
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6504
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SortSelectorComponent, decorators: [{
|
|
6493
6505
|
type: Component,
|
|
6494
6506
|
args: [{ selector: 'sort-selector, sortselector, SortSelector', standalone: true, imports: [TranslocoPipe, ButtonComponent, MenuComponent, MenuContentComponent, MenuItemComponent], providers: [provideTranslocoScope('sort-selector')], template: "<menu>\n <button tabindex=\"0\" variant=\"ghost\" [attr.title]=\"'sortSelector.selectSort' | transloco\">\n <i class=\"fa-fw fa-regular fa-arrow-{{ sort()?.$isDesc ? 'down' : 'up' }}-big-small me-1\"></i>\n <span>{{ sort()?.display | transloco }}</span>\n </button>\n\n <MenuContent [position]=\"position()\" class=\"min-w-max\">\n @if (sortOptions().length > 0) {\n @for (option of sortOptions(); track $index) {\n <menuitem (click)=\"onSortOptionClicked(option)\" class=\"justify-between\">\n <span>{{ option.display | transloco }}</span>\n <i class=\"fa-fw fa-regular fa-arrow-{{ option.$isDesc ? 'down' : 'up' }}-big-small\"></i>\n </menuitem>\n }\n }\n </MenuContent>\n</menu>\n" }]
|
|
6495
6507
|
}] });
|
|
@@ -6499,7 +6511,7 @@ class SponsoredResultsComponent {
|
|
|
6499
6511
|
* The directive used to mark the child template for the "Promoted" badge.
|
|
6500
6512
|
* This allows users to customize the appearance of the badge.
|
|
6501
6513
|
*/
|
|
6502
|
-
childElement = contentChild(ChildMarkerDirective);
|
|
6514
|
+
childElement = contentChild(ChildMarkerDirective, ...(ngDevMode ? [{ debugName: "childElement" }] : []));
|
|
6503
6515
|
injector = inject(Injector);
|
|
6504
6516
|
appStore = inject(AppStore);
|
|
6505
6517
|
queryParamStore = inject(QueryParamsStore);
|
|
@@ -6507,17 +6519,17 @@ class SponsoredResultsComponent {
|
|
|
6507
6519
|
* The maximum number of sponsored results to display.
|
|
6508
6520
|
* This is set to 3 by default, but can be overridden by the `maxSponsoredResults` query parameter.
|
|
6509
6521
|
*/
|
|
6510
|
-
slice = input(3);
|
|
6522
|
+
slice = input(3, ...(ngDevMode ? [{ debugName: "slice" }] : []));
|
|
6511
6523
|
/**
|
|
6512
6524
|
* Whether to display the "Promoted" badge next to sponsored results.
|
|
6513
6525
|
* This is set to true by default, but can be overridden by the `displayPromoted` query parameter.
|
|
6514
6526
|
*/
|
|
6515
|
-
displayPromoted = input(true);
|
|
6527
|
+
displayPromoted = input(true, ...(ngDevMode ? [{ debugName: "displayPromoted" }] : []));
|
|
6516
6528
|
sponsoredLinks = computed(() => {
|
|
6517
6529
|
const { sponsoredLinks } = getState(this.appStore);
|
|
6518
6530
|
return sponsoredLinks;
|
|
6519
|
-
});
|
|
6520
|
-
sponsoredResults = signal(undefined);
|
|
6531
|
+
}, ...(ngDevMode ? [{ debugName: "sponsoredLinks" }] : []));
|
|
6532
|
+
sponsoredResults = signal(undefined, ...(ngDevMode ? [{ debugName: "sponsoredResults" }] : []));
|
|
6521
6533
|
constructor() {
|
|
6522
6534
|
afterNextRender(async () => {
|
|
6523
6535
|
if (this.sponsoredLinks()) {
|
|
@@ -6540,8 +6552,8 @@ class SponsoredResultsComponent {
|
|
|
6540
6552
|
}
|
|
6541
6553
|
});
|
|
6542
6554
|
}
|
|
6543
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6544
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
6555
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SponsoredResultsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6556
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: SponsoredResultsComponent, isStandalone: true, selector: "sponsored-results, SponsoredResults, sponsoredresults", inputs: { slice: { classPropertyName: "slice", publicName: "slice", isSignal: true, isRequired: false, transformFunction: null }, displayPromoted: { classPropertyName: "displayPromoted", publicName: "displayPromoted", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "list" } }, queries: [{ propertyName: "childElement", first: true, predicate: ChildMarkerDirective, descendants: true, isSignal: true }], ngImport: i0, template: ` @if (sponsoredResults()?.length) {
|
|
6545
6557
|
@for (link of sponsoredResults(); track $index) {
|
|
6546
6558
|
<li role="listitem" class="text-primary flex items-center gap-2 rounded px-3 py-2 font-bold">
|
|
6547
6559
|
<a href="{{ link.url }}" target="_blank" rel="noopener" title="{{ link.tooltip }}" class="result-link peer flex items-center gap-2 hover:underline">
|
|
@@ -6559,7 +6571,7 @@ class SponsoredResultsComponent {
|
|
|
6559
6571
|
}
|
|
6560
6572
|
}`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
6561
6573
|
}
|
|
6562
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6574
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SponsoredResultsComponent, decorators: [{
|
|
6563
6575
|
type: Component,
|
|
6564
6576
|
args: [{
|
|
6565
6577
|
selector: 'sponsored-results, SponsoredResults, sponsoredresults',
|
|
@@ -6589,10 +6601,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
6589
6601
|
}], ctorParameters: () => [] });
|
|
6590
6602
|
|
|
6591
6603
|
class ThemeSelectorComponent {
|
|
6592
|
-
scope = input.required();
|
|
6593
|
-
showPrivate = input(false);
|
|
6594
|
-
themes = computed(() => THEMES.filter(theme => (this.showPrivate() ? true : !theme.private)));
|
|
6595
|
-
selectedTheme = model();
|
|
6604
|
+
scope = input.required(...(ngDevMode ? [{ debugName: "scope" }] : []));
|
|
6605
|
+
showPrivate = input(false, ...(ngDevMode ? [{ debugName: "showPrivate" }] : []));
|
|
6606
|
+
themes = computed(() => THEMES.filter(theme => (this.showPrivate() ? true : !theme.private)), ...(ngDevMode ? [{ debugName: "themes" }] : []));
|
|
6607
|
+
selectedTheme = model(...(ngDevMode ? [undefined, { debugName: "selectedTheme" }] : []));
|
|
6596
6608
|
themeStore = inject(ThemeStore);
|
|
6597
6609
|
constructor() {
|
|
6598
6610
|
effect(() => {
|
|
@@ -6607,8 +6619,8 @@ class ThemeSelectorComponent {
|
|
|
6607
6619
|
theme = theme.name;
|
|
6608
6620
|
this.themeStore.setCurrentTheme(this.scope(), theme);
|
|
6609
6621
|
}
|
|
6610
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6611
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
6622
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ThemeSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6623
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: ThemeSelectorComponent, isStandalone: true, selector: "theme-selector", inputs: { scope: { classPropertyName: "scope", publicName: "scope", isSignal: true, isRequired: true, transformFunction: null }, showPrivate: { classPropertyName: "showPrivate", publicName: "showPrivate", isSignal: true, isRequired: false, transformFunction: null }, selectedTheme: { classPropertyName: "selectedTheme", publicName: "selectedTheme", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedTheme: "selectedThemeChange" }, ngImport: i0, template: `
|
|
6612
6624
|
<Menu>
|
|
6613
6625
|
<ng-content></ng-content>
|
|
6614
6626
|
|
|
@@ -6627,7 +6639,7 @@ class ThemeSelectorComponent {
|
|
|
6627
6639
|
</Menu>
|
|
6628
6640
|
`, isInline: true, styles: [""], dependencies: [{ kind: "component", type: MenuComponent, selector: "menu, Menu", inputs: ["disabled"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: MenuContentComponent, selector: "MenuContent, menucontent, menu-content", inputs: ["class", "position"] }] });
|
|
6629
6641
|
}
|
|
6630
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6642
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ThemeSelectorComponent, decorators: [{
|
|
6631
6643
|
type: Component,
|
|
6632
6644
|
args: [{ selector: 'theme-selector', standalone: true, imports: [MenuComponent, NgStyle, MenuContentComponent], template: `
|
|
6633
6645
|
<Menu>
|
|
@@ -6650,8 +6662,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
6650
6662
|
}], ctorParameters: () => [] });
|
|
6651
6663
|
|
|
6652
6664
|
class ThemeToggleComponent {
|
|
6653
|
-
scope = input.required();
|
|
6654
|
-
darkMode = model();
|
|
6665
|
+
scope = input.required(...(ngDevMode ? [{ debugName: "scope" }] : []));
|
|
6666
|
+
darkMode = model(...(ngDevMode ? [undefined, { debugName: "darkMode" }] : []));
|
|
6655
6667
|
themeStore = inject(ThemeStore);
|
|
6656
6668
|
constructor() {
|
|
6657
6669
|
effect(() => {
|
|
@@ -6667,8 +6679,8 @@ class ThemeToggleComponent {
|
|
|
6667
6679
|
return;
|
|
6668
6680
|
this.themeStore.setDarkMode(this.scope(), status);
|
|
6669
6681
|
}
|
|
6670
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6671
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
6682
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ThemeToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6683
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: ThemeToggleComponent, isStandalone: true, selector: "theme-toggle", inputs: { scope: { classPropertyName: "scope", publicName: "scope", isSignal: true, isRequired: true, transformFunction: null }, darkMode: { classPropertyName: "darkMode", publicName: "darkMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { darkMode: "darkModeChange" }, ngImport: i0, template: `
|
|
6672
6684
|
<label class="flex cursor-pointer select-none items-center gap-2">
|
|
6673
6685
|
@if (darkMode()) {
|
|
6674
6686
|
<i class="fa-fw far fa-toggle-large-on text-primary"></i>
|
|
@@ -6682,7 +6694,7 @@ class ThemeToggleComponent {
|
|
|
6682
6694
|
</label>
|
|
6683
6695
|
`, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
6684
6696
|
}
|
|
6685
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6697
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ThemeToggleComponent, decorators: [{
|
|
6686
6698
|
type: Component,
|
|
6687
6699
|
args: [{ selector: 'theme-toggle', standalone: true, imports: [FormsModule], template: `
|
|
6688
6700
|
<label class="flex cursor-pointer select-none items-center gap-2">
|
|
@@ -6877,24 +6889,24 @@ const queryNameResolver = () => {
|
|
|
6877
6889
|
};
|
|
6878
6890
|
|
|
6879
6891
|
class SearchFooterComponent {
|
|
6880
|
-
hasMore = input.required();
|
|
6881
|
-
config = input.required();
|
|
6892
|
+
hasMore = input.required(...(ngDevMode ? [{ debugName: "hasMore" }] : []));
|
|
6893
|
+
config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
|
|
6882
6894
|
loadMore = output();
|
|
6883
6895
|
onLoadMore(event) {
|
|
6884
6896
|
event.stopPropagation();
|
|
6885
6897
|
this.loadMore.emit();
|
|
6886
6898
|
}
|
|
6887
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6888
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
6899
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6900
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: SearchFooterComponent, isStandalone: true, selector: "search-footer, searchfooter, SearchFooter", inputs: { hasMore: { classPropertyName: "hasMore", publicName: "hasMore", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { loadMore: "loadMore" }, ngImport: i0, template: ` <div class="flex flex-col px-2">
|
|
6889
6901
|
@if (hasMore() && config().showLoadMore) {
|
|
6890
6902
|
<button variant="outline" class="w-full" tabindex="0" [attr.title]="'loadMore' | transloco" (click)="onLoadMore($event)">
|
|
6891
6903
|
{{ 'loadMore' | transloco }}
|
|
6892
6904
|
</button>
|
|
6893
6905
|
}
|
|
6894
6906
|
<button variant="link" class="ml-auto" [attr.title]="'seeMore' | transloco" [routerLink]="[config().routerLink]">{{ 'seeMore' | transloco }}</button>
|
|
6895
|
-
</div>`, isInline: true, dependencies: [{ kind: "
|
|
6907
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
6896
6908
|
}
|
|
6897
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6909
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchFooterComponent, decorators: [{
|
|
6898
6910
|
type: Component,
|
|
6899
6911
|
args: [{
|
|
6900
6912
|
selector: 'search-footer, searchfooter, SearchFooter',
|
|
@@ -6912,9 +6924,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
6912
6924
|
|
|
6913
6925
|
class SearchHeaderComponent {
|
|
6914
6926
|
floating = inject(PopoverContentComponent, { skipSelf: true, optional: true });
|
|
6915
|
-
label = input('');
|
|
6916
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6917
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
6927
|
+
label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
6928
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6929
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: SearchHeaderComponent, isStandalone: true, selector: "search-header, searchheader, SearchHeader", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
6918
6930
|
@if (floating) {
|
|
6919
6931
|
<div class="p-2">
|
|
6920
6932
|
<label class="text-xl font-bold">{{ label() }}</label>
|
|
@@ -6923,7 +6935,7 @@ class SearchHeaderComponent {
|
|
|
6923
6935
|
}
|
|
6924
6936
|
`, isInline: true, dependencies: [{ kind: "component", type: HorizontalDividerComponent, selector: "menu-separator, MenuSeparator, menuseparator, horizontal-divider, HorizontalDivider, horizontaldivider" }] });
|
|
6925
6937
|
}
|
|
6926
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
6938
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchHeaderComponent, decorators: [{
|
|
6927
6939
|
type: Component,
|
|
6928
6940
|
args: [{
|
|
6929
6941
|
selector: 'search-header, searchheader, SearchHeader',
|
|
@@ -6942,9 +6954,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
6942
6954
|
class SearchListComponent {
|
|
6943
6955
|
cn = cn;
|
|
6944
6956
|
getRelativeDate = getRelativeDate;
|
|
6945
|
-
iconTemplate = contentChild(ChildMarkerDirective);
|
|
6946
|
-
paginatedSearches = input.required();
|
|
6947
|
-
deleteButtonTitle = input('remove');
|
|
6957
|
+
iconTemplate = contentChild(ChildMarkerDirective, ...(ngDevMode ? [{ debugName: "iconTemplate" }] : []));
|
|
6958
|
+
paginatedSearches = input.required(...(ngDevMode ? [{ debugName: "paginatedSearches" }] : []));
|
|
6959
|
+
deleteButtonTitle = input('remove', ...(ngDevMode ? [{ debugName: "deleteButtonTitle" }] : []));
|
|
6948
6960
|
delete = output();
|
|
6949
6961
|
router = inject(Router);
|
|
6950
6962
|
userSettingsStore = inject(UserSettingsStore);
|
|
@@ -6961,8 +6973,8 @@ class SearchListComponent {
|
|
|
6961
6973
|
e.stopPropagation();
|
|
6962
6974
|
this.delete.emit(index);
|
|
6963
6975
|
}
|
|
6964
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
6965
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
6976
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6977
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: SearchListComponent, isStandalone: true, selector: "search-list, searchlist, SearchList", inputs: { paginatedSearches: { classPropertyName: "paginatedSearches", publicName: "paginatedSearches", isSignal: true, isRequired: true, transformFunction: null }, deleteButtonTitle: { classPropertyName: "deleteButtonTitle", publicName: "deleteButtonTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { delete: "delete" }, host: { attributes: { "role": "list" }, classAttribute: "flex max-h-[460px] flex-col overflow-auto" }, providers: [provideTranslocoScope('searches')], queries: [{ propertyName: "iconTemplate", first: true, predicate: ChildMarkerDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
6966
6978
|
@for (search of paginatedSearches(); track $index) {
|
|
6967
6979
|
<li
|
|
6968
6980
|
role="listitem"
|
|
@@ -7004,9 +7016,9 @@ class SearchListComponent {
|
|
|
7004
7016
|
<ng-content />
|
|
7005
7017
|
</li>
|
|
7006
7018
|
}
|
|
7007
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
7019
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: ListItemComponent, selector: "[role=\"listitem\"], [role=\"option\"]", inputs: ["class", "variant"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
7008
7020
|
}
|
|
7009
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7021
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchListComponent, decorators: [{
|
|
7010
7022
|
type: Component,
|
|
7011
7023
|
args: [{
|
|
7012
7024
|
selector: 'search-list, searchlist, SearchList',
|
|
@@ -7075,10 +7087,10 @@ class RecentSearchesComponent {
|
|
|
7075
7087
|
* Represents the configuration options for recent searches.
|
|
7076
7088
|
* This property is initialized using the `input` function with a `RecentSearchesConfig` type.
|
|
7077
7089
|
*/
|
|
7078
|
-
options = input();
|
|
7090
|
+
options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : []));
|
|
7079
7091
|
config = inject(RECENT_SEARCHES_CONFIG);
|
|
7080
7092
|
userSettingsStore = inject(UserSettingsStore);
|
|
7081
|
-
range = signal(10);
|
|
7093
|
+
range = signal(10, ...(ngDevMode ? [{ debugName: "range" }] : []));
|
|
7082
7094
|
recentSearches = computed(() => (this.userSettingsStore.recentSearches() || []).reduce((acc, item) => {
|
|
7083
7095
|
const queryParams = getQueryParamsFromUrl(item.url);
|
|
7084
7096
|
acc.push(Object.assign(item, {
|
|
@@ -7087,9 +7099,9 @@ class RecentSearchesComponent {
|
|
|
7087
7099
|
queryParams
|
|
7088
7100
|
}));
|
|
7089
7101
|
return acc;
|
|
7090
|
-
}, []));
|
|
7091
|
-
paginatedRecentSearches = computed(() => this.recentSearches().slice(0, this.range()));
|
|
7092
|
-
hasMore = computed(() => this.recentSearches().length > 0 && this.range() < this.recentSearches().length);
|
|
7102
|
+
}, []), ...(ngDevMode ? [{ debugName: "recentSearches" }] : []));
|
|
7103
|
+
paginatedRecentSearches = computed(() => this.recentSearches().slice(0, this.range()), ...(ngDevMode ? [{ debugName: "paginatedRecentSearches" }] : []));
|
|
7104
|
+
hasMore = computed(() => this.recentSearches().length > 0 && this.range() < this.recentSearches().length, ...(ngDevMode ? [{ debugName: "hasMore" }] : []));
|
|
7093
7105
|
constructor() {
|
|
7094
7106
|
effect(() => {
|
|
7095
7107
|
if (this.options()) {
|
|
@@ -7110,8 +7122,8 @@ class RecentSearchesComponent {
|
|
|
7110
7122
|
loadMore() {
|
|
7111
7123
|
this.range.set(this.range() + (this.config.itemsPerPage ?? 10));
|
|
7112
7124
|
}
|
|
7113
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
7114
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.
|
|
7125
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: RecentSearchesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7126
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.2", type: RecentSearchesComponent, isStandalone: true, selector: "RecentSearches, recent-searches", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTranslocoScope('searches')], ngImport: i0, template: `
|
|
7115
7127
|
<SearchHeader [label]="'searches.recent.label' | transloco" />
|
|
7116
7128
|
|
|
7117
7129
|
<SearchList
|
|
@@ -7125,9 +7137,9 @@ class RecentSearchesComponent {
|
|
|
7125
7137
|
</SearchList>
|
|
7126
7138
|
|
|
7127
7139
|
<SearchFooter [hasMore]="hasMore()" [config]="config" (loadMore)="loadMore()" />
|
|
7128
|
-
`, isInline: true, styles: [":host ul{scrollbar-width:thin}\n"], dependencies: [{ kind: "
|
|
7140
|
+
`, isInline: true, styles: [":host ul{scrollbar-width:thin}\n"], dependencies: [{ kind: "directive", type: ChildMarkerDirective, selector: "[childMarker]" }, { kind: "component", type: SearchHeaderComponent, selector: "search-header, searchheader, SearchHeader", inputs: ["label"] }, { kind: "component", type: SearchListComponent, selector: "search-list, searchlist, SearchList", inputs: ["paginatedSearches", "deleteButtonTitle"], outputs: ["delete"] }, { kind: "component", type: SearchFooterComponent, selector: "search-footer, searchfooter, SearchFooter", inputs: ["hasMore", "config"], outputs: ["loadMore"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
7129
7141
|
}
|
|
7130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: RecentSearchesComponent, decorators: [{
|
|
7131
7143
|
type: Component,
|
|
7132
7144
|
args: [{ selector: 'RecentSearches, recent-searches', standalone: true, providers: [provideTranslocoScope('searches')], imports: [TranslocoPipe, ChildMarkerDirective, SearchHeaderComponent, SearchListComponent, SearchFooterComponent], template: `
|
|
7133
7145
|
<SearchHeader [label]="'searches.recent.label' | transloco" />
|
|
@@ -7153,10 +7165,10 @@ const SAVED_SEARCHES_OPTIONS = {
|
|
|
7153
7165
|
};
|
|
7154
7166
|
const SAVED_SEARCHES_CONFIG = new InjectionToken('saved searches options', { factory: () => SAVED_SEARCHES_OPTIONS });
|
|
7155
7167
|
class SavedSearchesComponent {
|
|
7156
|
-
options = input();
|
|
7168
|
+
options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : []));
|
|
7157
7169
|
config = inject(SAVED_SEARCHES_CONFIG);
|
|
7158
7170
|
userSettingsStore = inject(UserSettingsStore);
|
|
7159
|
-
range = signal(10);
|
|
7171
|
+
range = signal(10, ...(ngDevMode ? [{ debugName: "range" }] : []));
|
|
7160
7172
|
savedSearches = computed(() => (this.userSettingsStore.savedSearches() || []).reduce((acc, item) => {
|
|
7161
7173
|
const queryParams = getQueryParamsFromUrl(item.url);
|
|
7162
7174
|
acc.push(Object.assign(item, {
|
|
@@ -7165,9 +7177,9 @@ class SavedSearchesComponent {
|
|
|
7165
7177
|
queryParams
|
|
7166
7178
|
}));
|
|
7167
7179
|
return acc;
|
|
7168
|
-
}, []));
|
|
7169
|
-
paginatedSearches = computed(() => this.savedSearches().slice(0, this.range()));
|
|
7170
|
-
hasMore = computed(() => this.savedSearches().length > 0 && this.range() < this.savedSearches().length);
|
|
7180
|
+
}, []), ...(ngDevMode ? [{ debugName: "savedSearches" }] : []));
|
|
7181
|
+
paginatedSearches = computed(() => this.savedSearches().slice(0, this.range()), ...(ngDevMode ? [{ debugName: "paginatedSearches" }] : []));
|
|
7182
|
+
hasMore = computed(() => this.savedSearches().length > 0 && this.range() < this.savedSearches().length, ...(ngDevMode ? [{ debugName: "hasMore" }] : []));
|
|
7171
7183
|
constructor() {
|
|
7172
7184
|
effect(() => {
|
|
7173
7185
|
if (this.options()) {
|
|
@@ -7183,8 +7195,8 @@ class SavedSearchesComponent {
|
|
|
7183
7195
|
loadMore() {
|
|
7184
7196
|
this.range.set(this.range() + (this.config.itemsPerPage ?? 10));
|
|
7185
7197
|
}
|
|
7186
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
7187
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.
|
|
7198
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SavedSearchesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7199
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.2", type: SavedSearchesComponent, isStandalone: true, selector: "saved-searches, SavedSearches", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTranslocoScope('searches')], ngImport: i0, template: `
|
|
7188
7200
|
<SearchHeader [label]="'searches.saved.label' | transloco" />
|
|
7189
7201
|
|
|
7190
7202
|
<SearchList [paginatedSearches]="paginatedSearches()" deleteButtonTitle="searches.saved.remove" (delete)="onDelete($event)">
|
|
@@ -7194,9 +7206,9 @@ class SavedSearchesComponent {
|
|
|
7194
7206
|
</SearchList>
|
|
7195
7207
|
|
|
7196
7208
|
<SearchFooter [hasMore]="hasMore()" [config]="config" (loadMore)="loadMore()" />
|
|
7197
|
-
`, isInline: true, styles: [":host ul{scrollbar-width:thin}\n"], dependencies: [{ kind: "
|
|
7209
|
+
`, isInline: true, styles: [":host ul{scrollbar-width:thin}\n"], dependencies: [{ kind: "directive", type: ChildMarkerDirective, selector: "[childMarker]" }, { kind: "component", type: SearchHeaderComponent, selector: "search-header, searchheader, SearchHeader", inputs: ["label"] }, { kind: "component", type: SearchListComponent, selector: "search-list, searchlist, SearchList", inputs: ["paginatedSearches", "deleteButtonTitle"], outputs: ["delete"] }, { kind: "component", type: SearchFooterComponent, selector: "search-footer, searchfooter, SearchFooter", inputs: ["hasMore", "config"], outputs: ["loadMore"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
7198
7210
|
}
|
|
7199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SavedSearchesComponent, decorators: [{
|
|
7200
7212
|
type: Component,
|
|
7201
7213
|
args: [{ selector: 'saved-searches, SavedSearches', standalone: true, imports: [TranslocoPipe, ChildMarkerDirective, SearchHeaderComponent, SearchListComponent, SearchFooterComponent], providers: [provideTranslocoScope('searches')], template: `
|
|
7202
7214
|
<SearchHeader [label]="'searches.saved.label' | transloco" />
|
|
@@ -7214,8 +7226,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
7214
7226
|
class SavedSearchDialog {
|
|
7215
7227
|
savedSearchesService = inject(SavedSearchesService);
|
|
7216
7228
|
queryParamsStore = inject(QueryParamsStore);
|
|
7217
|
-
dialog = viewChild(DialogComponent);
|
|
7218
|
-
saveName = signal('');
|
|
7229
|
+
dialog = viewChild(DialogComponent, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
7230
|
+
saveName = signal('', ...(ngDevMode ? [{ debugName: "saveName" }] : []));
|
|
7219
7231
|
closed = output();
|
|
7220
7232
|
open(text) {
|
|
7221
7233
|
this.saveName.set(text || '');
|
|
@@ -7228,8 +7240,8 @@ class SavedSearchDialog {
|
|
|
7228
7240
|
// emit closed event for the diaglog service
|
|
7229
7241
|
this.closed.emit('dialog-confirm');
|
|
7230
7242
|
}
|
|
7231
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
7232
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.
|
|
7243
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SavedSearchDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7244
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.2", type: SavedSearchDialog, isStandalone: true, selector: "saved-search-dialog, savedsearchdialog, SavedSearchDialog", outputs: { closed: "closed" }, providers: [provideTranslocoScope('searches')], viewQueries: [{ propertyName: "dialog", first: true, predicate: DialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
7233
7245
|
<dialog #dialog>
|
|
7234
7246
|
<DialogHeader>
|
|
7235
7247
|
<DialogTitle>{{ 'searches.saved.save' | transloco }}</DialogTitle>
|
|
@@ -7257,9 +7269,9 @@ class SavedSearchDialog {
|
|
|
7257
7269
|
</div>
|
|
7258
7270
|
</DialogFooter>
|
|
7259
7271
|
</dialog>
|
|
7260
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "
|
|
7272
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: DialogComponent, selector: "dialog", inputs: ["class"], outputs: ["closed"] }, { kind: "component", type: DialogHeaderComponent, selector: "DialogHeader" }, { kind: "directive", type: DialogTitleComponent, selector: "DialogTitle" }, { kind: "directive", type: DialogContentComponent, selector: "DialogContent" }, { kind: "directive", type: DialogFooterComponent, selector: "DialogFooter" }, { kind: "directive", type: InputComponent, selector: "input[type=\"text\"], input[type=\"email\"], input[type=\"password\"], input[type=\"number\"], input[type=\"tel\"], input[type=\"url\"], input[type=\"time\"]", inputs: ["class", "variant"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
7261
7273
|
}
|
|
7262
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SavedSearchDialog, decorators: [{
|
|
7263
7275
|
type: Component,
|
|
7264
7276
|
args: [{
|
|
7265
7277
|
selector: 'saved-search-dialog, savedsearchdialog, SavedSearchDialog',
|
|
@@ -7309,14 +7321,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
7309
7321
|
}] });
|
|
7310
7322
|
|
|
7311
7323
|
class BookmarkButtonComponent {
|
|
7312
|
-
article = input.required();
|
|
7324
|
+
article = input.required(...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
7313
7325
|
userSettingsStore = inject(UserSettingsStore);
|
|
7314
7326
|
route = inject(ActivatedRoute);
|
|
7315
7327
|
transloco = inject(TranslocoService);
|
|
7316
7328
|
isBookmarked = computed(() => {
|
|
7317
7329
|
return this.userSettingsStore.isBookmarked(this.article());
|
|
7318
|
-
});
|
|
7319
|
-
title = computed(() => this.transloco.translate('bookmarks.bookmarkDocument'));
|
|
7330
|
+
}, ...(ngDevMode ? [{ debugName: "isBookmarked" }] : []));
|
|
7331
|
+
title = computed(() => this.transloco.translate('bookmarks.bookmarkDocument'), ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
7320
7332
|
async bookmark(e) {
|
|
7321
7333
|
e.stopPropagation();
|
|
7322
7334
|
const isBookmarked = await this.userSettingsStore.isBookmarked(this.article());
|
|
@@ -7334,14 +7346,14 @@ class BookmarkButtonComponent {
|
|
|
7334
7346
|
notify.success(this.transloco.translate('bookmarks.bookmarkAdded'), { duration: 2000 });
|
|
7335
7347
|
}
|
|
7336
7348
|
}
|
|
7337
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
7338
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
7349
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BookmarkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7350
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: BookmarkButtonComponent, isStandalone: true, selector: "bookmark-button, bookmarkbutton, BookmarkButton", inputs: { article: { classPropertyName: "article", publicName: "article", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "click": "bookmark($event)" }, properties: { "title": "title()" }, classAttribute: "cursor-pointer" }, providers: [provideTranslocoScope('bookmark')], ngImport: i0, template: ` @if (isBookmarked()) {
|
|
7339
7351
|
<i class="fa-fw fa-bookmark fa-solid"></i>
|
|
7340
7352
|
} @else {
|
|
7341
7353
|
<i class="fa-fw fa-bookmark fa-regular"></i>
|
|
7342
7354
|
}`, isInline: true });
|
|
7343
7355
|
}
|
|
7344
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7356
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BookmarkButtonComponent, decorators: [{
|
|
7345
7357
|
type: Component,
|
|
7346
7358
|
args: [{
|
|
7347
7359
|
selector: 'bookmark-button, bookmarkbutton, BookmarkButton',
|
|
@@ -7374,12 +7386,12 @@ class BookmarksComponent {
|
|
|
7374
7386
|
userSettingsStore = inject(UserSettingsStore);
|
|
7375
7387
|
appStore = inject(AppStore);
|
|
7376
7388
|
destroyRef = inject(DestroyRef);
|
|
7377
|
-
options = input();
|
|
7389
|
+
options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : []));
|
|
7378
7390
|
config = inject(BOOKMARKS_CONFIG);
|
|
7379
|
-
range = signal(10);
|
|
7380
|
-
bookmarks = computed(() => this.userSettingsStore.bookmarks());
|
|
7381
|
-
paginatedBookmarks = computed(() => this.bookmarks().slice(0, this.range()));
|
|
7382
|
-
hasMore = computed(() => this.bookmarks().length > 0 && this.range() < this.bookmarks().length);
|
|
7391
|
+
range = signal(10, ...(ngDevMode ? [{ debugName: "range" }] : []));
|
|
7392
|
+
bookmarks = computed(() => this.userSettingsStore.bookmarks(), ...(ngDevMode ? [{ debugName: "bookmarks" }] : []));
|
|
7393
|
+
paginatedBookmarks = computed(() => this.bookmarks().slice(0, this.range()), ...(ngDevMode ? [{ debugName: "paginatedBookmarks" }] : []));
|
|
7394
|
+
hasMore = computed(() => this.bookmarks().length > 0 && this.range() < this.bookmarks().length, ...(ngDevMode ? [{ debugName: "hasMore" }] : []));
|
|
7383
7395
|
constructor() {
|
|
7384
7396
|
effect(() => {
|
|
7385
7397
|
if (this.options()) {
|
|
@@ -7433,20 +7445,20 @@ class BookmarksComponent {
|
|
|
7433
7445
|
e.stopPropagation();
|
|
7434
7446
|
this.range.set(this.range() + (this.config.itemsPerPage ?? 10));
|
|
7435
7447
|
}
|
|
7436
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
7437
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
7448
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BookmarksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7449
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: BookmarksComponent, isStandalone: true, selector: "bookmarks, Bookmarks", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTranslocoScope('bookmarks')], ngImport: i0, template: "@if (floating) {\n <div class=\"p-2\">\n <label class=\"text-xl font-bold\">{{ 'bookmarks.label' | transloco }}</label>\n <MenuSeparator />\n </div>\n}\n\n<ul class=\"flex max-h-[460px] flex-col overflow-auto\" role=\"list\">\n @for (bookmark of paginatedBookmarks(); track $index) {\n <li role=\"listitem\" class=\"group h-10\" tabindex=\"0\" (click)=\"onClick(bookmark)\" (keydown.enter)=\"onClick(bookmark)\">\n <i class=\"fa-fw fas fa-bookmark shrink-0\" aria-hidden=\"true\"></i>\n\n <p class=\"line-clamp-1\">{{ bookmark.label }}</p>\n\n @if (bookmark.author) {\n <p class=\"line-clamp-1 text-neutral-500\">\n <i class=\"fa-fw far fa-user\" aria-hidden=\"true\"></i>\n {{ bookmark.author }}\n </p>\n }\n @if (bookmark.parentFolder) {\n <p class=\"line-clamp-1 text-neutral-500\">\n <i class=\"fa-fw far fa-folder\" aria-hidden=\"true\"></i>\n {{ bookmark.parentFolder }}\n </p>\n }\n\n <button\n variant=\"icon\"\n title=\"{{ 'bookmarks.openBookmark' | transloco }}\"\n class=\"text-destructive hover:text-destructive invisible ms-auto transition-transform hover:scale-125 group-hover:visible\"\n [attr.title]=\"'bookmarks.removeBookmark' | transloco\"\n [attr.aria-label]=\"'bookmarks.removeBookmark' | transloco\"\n (click)=\"onDelete(bookmark, $event)\">\n <i class=\"fa-fw fa-regular fa-trash-can\" aria-hidden=\"true\"></i>\n </button>\n </li>\n } @empty {\n <li class=\"py-4 text-center text-neutral-500\">{{ 'bookmarks.noBookmarks' | transloco }}</li>\n }\n</ul>\n\n<div class=\"flex flex-col px-2\">\n @if (hasMore() && config.showLoadMore) {\n <button variant=\"outline\" class=\"w-full\" tabindex=\"0\" [attr.title]=\"'loadMore' | transloco\" (click)=\"loadMore($event)\">{{ 'loadMore' | transloco }}</button>\n }\n <button variant=\"link\" class=\"ml-auto\" [attr.title]=\"'seeMore' | transloco\" [routerLink]=\"[config.routerLink]\">{{ 'seeMore' | transloco }}</button>\n</div>\n", styles: [":host ul{scrollbar-width:thin}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: HorizontalDividerComponent, selector: "menu-separator, MenuSeparator, menuseparator, horizontal-divider, HorizontalDivider, horizontaldivider" }, { kind: "directive", type: ListItemComponent, selector: "[role=\"listitem\"], [role=\"option\"]", inputs: ["class", "variant"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
7438
7450
|
}
|
|
7439
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7451
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: BookmarksComponent, decorators: [{
|
|
7440
7452
|
type: Component,
|
|
7441
7453
|
args: [{ selector: 'bookmarks, Bookmarks', standalone: true, imports: [TranslocoPipe, RouterLink, ButtonComponent, HorizontalDividerComponent, ListItemComponent], providers: [provideTranslocoScope('bookmarks')], template: "@if (floating) {\n <div class=\"p-2\">\n <label class=\"text-xl font-bold\">{{ 'bookmarks.label' | transloco }}</label>\n <MenuSeparator />\n </div>\n}\n\n<ul class=\"flex max-h-[460px] flex-col overflow-auto\" role=\"list\">\n @for (bookmark of paginatedBookmarks(); track $index) {\n <li role=\"listitem\" class=\"group h-10\" tabindex=\"0\" (click)=\"onClick(bookmark)\" (keydown.enter)=\"onClick(bookmark)\">\n <i class=\"fa-fw fas fa-bookmark shrink-0\" aria-hidden=\"true\"></i>\n\n <p class=\"line-clamp-1\">{{ bookmark.label }}</p>\n\n @if (bookmark.author) {\n <p class=\"line-clamp-1 text-neutral-500\">\n <i class=\"fa-fw far fa-user\" aria-hidden=\"true\"></i>\n {{ bookmark.author }}\n </p>\n }\n @if (bookmark.parentFolder) {\n <p class=\"line-clamp-1 text-neutral-500\">\n <i class=\"fa-fw far fa-folder\" aria-hidden=\"true\"></i>\n {{ bookmark.parentFolder }}\n </p>\n }\n\n <button\n variant=\"icon\"\n title=\"{{ 'bookmarks.openBookmark' | transloco }}\"\n class=\"text-destructive hover:text-destructive invisible ms-auto transition-transform hover:scale-125 group-hover:visible\"\n [attr.title]=\"'bookmarks.removeBookmark' | transloco\"\n [attr.aria-label]=\"'bookmarks.removeBookmark' | transloco\"\n (click)=\"onDelete(bookmark, $event)\">\n <i class=\"fa-fw fa-regular fa-trash-can\" aria-hidden=\"true\"></i>\n </button>\n </li>\n } @empty {\n <li class=\"py-4 text-center text-neutral-500\">{{ 'bookmarks.noBookmarks' | transloco }}</li>\n }\n</ul>\n\n<div class=\"flex flex-col px-2\">\n @if (hasMore() && config.showLoadMore) {\n <button variant=\"outline\" class=\"w-full\" tabindex=\"0\" [attr.title]=\"'loadMore' | transloco\" (click)=\"loadMore($event)\">{{ 'loadMore' | transloco }}</button>\n }\n <button variant=\"link\" class=\"ml-auto\" [attr.title]=\"'seeMore' | transloco\" [routerLink]=\"[config.routerLink]\">{{ 'seeMore' | transloco }}</button>\n</div>\n", styles: [":host ul{scrollbar-width:thin}\n"] }]
|
|
7442
7454
|
}], ctorParameters: () => [] });
|
|
7443
7455
|
|
|
7444
7456
|
class DeleteCollectionDialog {
|
|
7445
|
-
dialog = viewChild(DialogComponent);
|
|
7457
|
+
dialog = viewChild(DialogComponent, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
7446
7458
|
userSettingsStore = inject(UserSettingsStore);
|
|
7447
7459
|
translocoService = inject(TranslocoService);
|
|
7448
|
-
collection = signal(undefined);
|
|
7449
|
-
index = signal(undefined);
|
|
7460
|
+
collection = signal(undefined, ...(ngDevMode ? [{ debugName: "collection" }] : []));
|
|
7461
|
+
index = signal(undefined, ...(ngDevMode ? [{ debugName: "index" }] : []));
|
|
7450
7462
|
open(collection, index) {
|
|
7451
7463
|
this.collection.set(collection);
|
|
7452
7464
|
this.index.set(index);
|
|
@@ -7458,8 +7470,8 @@ class DeleteCollectionDialog {
|
|
|
7458
7470
|
const message = this.translocoService.translate('collections.deleted');
|
|
7459
7471
|
notify.success(message, { duration: 2000 });
|
|
7460
7472
|
}
|
|
7461
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
7462
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.
|
|
7473
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DeleteCollectionDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7474
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.2", type: DeleteCollectionDialog, isStandalone: true, selector: "delete-collection-dialog", providers: [provideTranslocoScope('collections')], viewQueries: [{ propertyName: "dialog", first: true, predicate: DialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
7463
7475
|
<dialog #dialog>
|
|
7464
7476
|
<DialogHeader>
|
|
7465
7477
|
<DialogTitle>{{ 'collections.deleteCollection' | transloco }}</DialogTitle>
|
|
@@ -7479,9 +7491,9 @@ class DeleteCollectionDialog {
|
|
|
7479
7491
|
</button>
|
|
7480
7492
|
</DialogFooter>
|
|
7481
7493
|
</dialog>
|
|
7482
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "
|
|
7494
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: DialogComponent, selector: "dialog", inputs: ["class"], outputs: ["closed"] }, { kind: "component", type: DialogHeaderComponent, selector: "DialogHeader" }, { kind: "directive", type: DialogTitleComponent, selector: "DialogTitle" }, { kind: "directive", type: DialogContentComponent, selector: "DialogContent" }, { kind: "directive", type: DialogFooterComponent, selector: "DialogFooter" }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
7483
7495
|
}
|
|
7484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7496
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DeleteCollectionDialog, decorators: [{
|
|
7485
7497
|
type: Component,
|
|
7486
7498
|
args: [{
|
|
7487
7499
|
selector: 'delete-collection-dialog',
|
|
@@ -7534,13 +7546,13 @@ class CollectionsComponent {
|
|
|
7534
7546
|
userSettingsStore = inject(UserSettingsStore);
|
|
7535
7547
|
drawerStack = inject(DrawerStackService);
|
|
7536
7548
|
router = inject(Router);
|
|
7537
|
-
options = input();
|
|
7549
|
+
options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : []));
|
|
7538
7550
|
config = inject(COLLECTIONS_CONFIG);
|
|
7539
|
-
range = signal(10);
|
|
7540
|
-
collections = computed(() => this.userSettingsStore.baskets());
|
|
7541
|
-
paginatedCollections = computed(() => this.collections().slice(0, this.range()));
|
|
7542
|
-
hasMore = computed(() => this.collections().length > 0 && this.range() < this.collections().length);
|
|
7543
|
-
deleteCollectionDialog = viewChild(DeleteCollectionDialog);
|
|
7551
|
+
range = signal(10, ...(ngDevMode ? [{ debugName: "range" }] : []));
|
|
7552
|
+
collections = computed(() => this.userSettingsStore.baskets(), ...(ngDevMode ? [{ debugName: "collections" }] : []));
|
|
7553
|
+
paginatedCollections = computed(() => this.collections().slice(0, this.range()), ...(ngDevMode ? [{ debugName: "paginatedCollections" }] : []));
|
|
7554
|
+
hasMore = computed(() => this.collections().length > 0 && this.range() < this.collections().length, ...(ngDevMode ? [{ debugName: "hasMore" }] : []));
|
|
7555
|
+
deleteCollectionDialog = viewChild(DeleteCollectionDialog, ...(ngDevMode ? [{ debugName: "deleteCollectionDialog" }] : []));
|
|
7544
7556
|
constructor() {
|
|
7545
7557
|
effect(() => {
|
|
7546
7558
|
if (this.options()) {
|
|
@@ -7561,10 +7573,10 @@ class CollectionsComponent {
|
|
|
7561
7573
|
e.stopPropagation();
|
|
7562
7574
|
this.range.set(this.range() + (this.config.itemsPerPage ?? 10));
|
|
7563
7575
|
}
|
|
7564
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
7565
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
7576
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: CollectionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7577
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: CollectionsComponent, isStandalone: true, selector: "app-collections", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTranslocoScope('collections')], viewQueries: [{ propertyName: "deleteCollectionDialog", first: true, predicate: DeleteCollectionDialog, descendants: true, isSignal: true }], ngImport: i0, template: "@if (floating) {\n <div class=\"p-2\">\n <label class=\"text-xl font-bold\">{{ 'collections.label' | transloco }}</label>\n <MenuSeparator />\n </div>\n}\n<ul class=\"flex max-h-[460px] flex-col overflow-auto\">\n @for (collection of paginatedCollections(); track $index) {\n <li role=\"listitem\" class=\"group h-10\" tabindex=\"0\" (click)=\"onClick(collection)\" (keydown.enter)=\"onClick(collection)\">\n <i class=\"fas fa-inbox\"></i>\n\n <p class=\"line-clamp-1\">{{ collection.name }}</p>\n\n <button\n variant=\"icon\"\n class=\"text-destructive hover:text-destructive invisible ms-auto transition-transform hover:scale-125 group-hover:visible\"\n title=\"{{ 'collections.deleteCollection' | transloco }}\"\n [attr.aria-label]=\"'collections.deleteCollection' | transloco\"\n (click)=\"onDelete(collection, $index, $event)\">\n <i class=\"fa-fw fa-regular fa-trash-can\" aria-hidden=\"true\"></i>\n </button>\n </li>\n } @empty {\n <li class=\"list-none py-4 text-center text-neutral-500\">{{ 'collections.noCollections' | transloco }}</li>\n }\n</ul>\n\n<div class=\"flex flex-col px-2\">\n @if (hasMore() && config.showLoadMore) {\n <button variant=\"outline\" class=\"w-full\" tabindex=\"0\" [attr.title]=\"'loadMore' | transloco\" (click)=\"loadMore($event)\">{{ 'loadMore' | transloco }}</button>\n }\n <button variant=\"link\" class=\"ml-auto\" [attr.title]=\"'seeMore' | transloco\" [routerLink]=\"[config.routerLink]\">{{ 'seeMore' | transloco }}</button>\n</div>\n\n<delete-collection-dialog />\n", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: HorizontalDividerComponent, selector: "menu-separator, MenuSeparator, menuseparator, horizontal-divider, HorizontalDivider, horizontaldivider" }, { kind: "component", type: DeleteCollectionDialog, selector: "delete-collection-dialog" }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "directive", type: ListItemComponent, selector: "[role=\"listitem\"], [role=\"option\"]", inputs: ["class", "variant"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
7566
7578
|
}
|
|
7567
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7579
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: CollectionsComponent, decorators: [{
|
|
7568
7580
|
type: Component,
|
|
7569
7581
|
args: [{ selector: 'app-collections', standalone: true, imports: [TranslocoPipe, RouterLink, HorizontalDividerComponent, DeleteCollectionDialog, ButtonComponent, ListItemComponent], providers: [provideTranslocoScope('collections')], template: "@if (floating) {\n <div class=\"p-2\">\n <label class=\"text-xl font-bold\">{{ 'collections.label' | transloco }}</label>\n <MenuSeparator />\n </div>\n}\n<ul class=\"flex max-h-[460px] flex-col overflow-auto\">\n @for (collection of paginatedCollections(); track $index) {\n <li role=\"listitem\" class=\"group h-10\" tabindex=\"0\" (click)=\"onClick(collection)\" (keydown.enter)=\"onClick(collection)\">\n <i class=\"fas fa-inbox\"></i>\n\n <p class=\"line-clamp-1\">{{ collection.name }}</p>\n\n <button\n variant=\"icon\"\n class=\"text-destructive hover:text-destructive invisible ms-auto transition-transform hover:scale-125 group-hover:visible\"\n title=\"{{ 'collections.deleteCollection' | transloco }}\"\n [attr.aria-label]=\"'collections.deleteCollection' | transloco\"\n (click)=\"onDelete(collection, $index, $event)\">\n <i class=\"fa-fw fa-regular fa-trash-can\" aria-hidden=\"true\"></i>\n </button>\n </li>\n } @empty {\n <li class=\"list-none py-4 text-center text-neutral-500\">{{ 'collections.noCollections' | transloco }}</li>\n }\n</ul>\n\n<div class=\"flex flex-col px-2\">\n @if (hasMore() && config.showLoadMore) {\n <button variant=\"outline\" class=\"w-full\" tabindex=\"0\" [attr.title]=\"'loadMore' | transloco\" (click)=\"loadMore($event)\">{{ 'loadMore' | transloco }}</button>\n }\n <button variant=\"link\" class=\"ml-auto\" [attr.title]=\"'seeMore' | transloco\" [routerLink]=\"[config.routerLink]\">{{ 'seeMore' | transloco }}</button>\n</div>\n\n<delete-collection-dialog />\n" }]
|
|
7570
7582
|
}], ctorParameters: () => [] });
|
|
@@ -7573,7 +7585,7 @@ class AlertDialog {
|
|
|
7573
7585
|
queryService = inject(QueryService);
|
|
7574
7586
|
queryParamsStore = inject(QueryParamsStore);
|
|
7575
7587
|
userSettingsStore = inject(UserSettingsStore);
|
|
7576
|
-
dialog = viewChild(DialogComponent);
|
|
7588
|
+
dialog = viewChild(DialogComponent, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
7577
7589
|
frequencies = [Alert.Frequency.Daily, Alert.Frequency.Hourly, Alert.Frequency.Immediate];
|
|
7578
7590
|
frequency = Alert.Frequency;
|
|
7579
7591
|
weekdays = [
|
|
@@ -7587,14 +7599,14 @@ class AlertDialog {
|
|
|
7587
7599
|
];
|
|
7588
7600
|
index;
|
|
7589
7601
|
alert;
|
|
7590
|
-
alertName = signal('');
|
|
7591
|
-
alertFrequency = signal(Alert.Frequency.Daily);
|
|
7592
|
-
alertDays = signal(Alert.Days.None);
|
|
7593
|
-
alertTimes = signal('09:00');
|
|
7594
|
-
alertActive = signal(true);
|
|
7595
|
-
canUpdateQuery = signal(false);
|
|
7596
|
-
updateStatus = signal('idle');
|
|
7597
|
-
invalidForm = computed(() => !this.alertName() || !this.alertTimes());
|
|
7602
|
+
alertName = signal('', ...(ngDevMode ? [{ debugName: "alertName" }] : []));
|
|
7603
|
+
alertFrequency = signal(Alert.Frequency.Daily, ...(ngDevMode ? [{ debugName: "alertFrequency" }] : []));
|
|
7604
|
+
alertDays = signal(Alert.Days.None, ...(ngDevMode ? [{ debugName: "alertDays" }] : []));
|
|
7605
|
+
alertTimes = signal('09:00', ...(ngDevMode ? [{ debugName: "alertTimes" }] : []));
|
|
7606
|
+
alertActive = signal(true, ...(ngDevMode ? [{ debugName: "alertActive" }] : []));
|
|
7607
|
+
canUpdateQuery = signal(false, ...(ngDevMode ? [{ debugName: "canUpdateQuery" }] : []));
|
|
7608
|
+
updateStatus = signal('idle', ...(ngDevMode ? [{ debugName: "updateStatus" }] : []));
|
|
7609
|
+
invalidForm = computed(() => !this.alertName() || !this.alertTimes(), ...(ngDevMode ? [{ debugName: "invalidForm" }] : []));
|
|
7598
7610
|
closed = output();
|
|
7599
7611
|
open(index) {
|
|
7600
7612
|
this.showModal(index);
|
|
@@ -7691,8 +7703,8 @@ class AlertDialog {
|
|
|
7691
7703
|
this.queryParamsStore.patch({ text: q.text, tab: q.tab, basket: q.basket, sort: q.sort, filters, name: q.name });
|
|
7692
7704
|
this.dialog().close(e);
|
|
7693
7705
|
}
|
|
7694
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
7695
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
7706
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AlertDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7707
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: AlertDialog, isStandalone: true, selector: "alert-dialog, alertdialog, AlertDialog", outputs: { closed: "closed" }, providers: [provideTranslocoScope('alerts')], viewQueries: [{ propertyName: "dialog", first: true, predicate: DialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
7696
7708
|
<dialog #dialog>
|
|
7697
7709
|
<DialogHeader class="px-1">
|
|
7698
7710
|
<DialogTitle>{{ 'alerts.createAlert' | transloco }}</DialogTitle>
|
|
@@ -7802,9 +7814,9 @@ class AlertDialog {
|
|
|
7802
7814
|
</div>
|
|
7803
7815
|
</DialogFooter>
|
|
7804
7816
|
</dialog>
|
|
7805
|
-
`, isInline: true, styles: [".weekdays-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "
|
|
7817
|
+
`, isInline: true, styles: [".weekdays-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: DialogComponent, selector: "dialog", inputs: ["class"], outputs: ["closed"] }, { kind: "component", type: DialogHeaderComponent, selector: "DialogHeader" }, { kind: "directive", type: DialogTitleComponent, selector: "DialogTitle" }, { kind: "directive", type: DialogContentComponent, selector: "DialogContent" }, { kind: "directive", type: DialogFooterComponent, selector: "DialogFooter" }, { kind: "directive", type: InputComponent, selector: "input[type=\"text\"], input[type=\"email\"], input[type=\"password\"], input[type=\"number\"], input[type=\"tel\"], input[type=\"url\"], input[type=\"time\"]", inputs: ["class", "variant"] }, { kind: "component", type: ChevronRightIconComponent, selector: "chevron-right, ChevronRight, chevronright", inputs: ["class", "width", "height"] }, { kind: "component", type: LoadingCircleIconComponent, selector: "loading-circle, LoadingCircle, loadingcircle", inputs: ["class", "width", "height"] }, { kind: "component", type: CircleCheckIconComponent, selector: "circle-check, CircleCheck, circlecheck", inputs: ["class", "width", "height"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
7806
7818
|
}
|
|
7807
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7819
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AlertDialog, decorators: [{
|
|
7808
7820
|
type: Component,
|
|
7809
7821
|
args: [{ selector: 'alert-dialog, alertdialog, AlertDialog', standalone: true, imports: [
|
|
7810
7822
|
FormsModule,
|
|
@@ -7936,9 +7948,9 @@ class AlertsComponent {
|
|
|
7936
7948
|
floating = inject(PopoverComponent, { skipSelf: true, optional: true });
|
|
7937
7949
|
userSettingsStore = inject(UserSettingsStore);
|
|
7938
7950
|
modal = inject(DialogService);
|
|
7939
|
-
alertFormDialog = viewChild(AlertDialog);
|
|
7940
|
-
reordering = signal(false);
|
|
7941
|
-
alerts = computed(() => this.userSettingsStore.alerts());
|
|
7951
|
+
alertFormDialog = viewChild(AlertDialog, ...(ngDevMode ? [{ debugName: "alertFormDialog" }] : []));
|
|
7952
|
+
reordering = signal(false, ...(ngDevMode ? [{ debugName: "reordering" }] : []));
|
|
7953
|
+
alerts = computed(() => this.userSettingsStore.alerts(), ...(ngDevMode ? [{ debugName: "alerts" }] : []));
|
|
7942
7954
|
tmpAlerts = [];
|
|
7943
7955
|
query;
|
|
7944
7956
|
constructor() {
|
|
@@ -7974,19 +7986,19 @@ class AlertsComponent {
|
|
|
7974
7986
|
}
|
|
7975
7987
|
this.tmpAlerts.splice(drop.currentIndex, 0, this.tmpAlerts.splice(drop.previousIndex, 1)[0]);
|
|
7976
7988
|
}
|
|
7977
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
7978
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
7989
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AlertsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7990
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: AlertsComponent, isStandalone: true, selector: "Alerts", providers: [provideTranslocoScope('alerts')], viewQueries: [{ propertyName: "alertFormDialog", first: true, predicate: AlertDialog, descendants: true, isSignal: true }], ngImport: i0, template: "<ul\n role=\"list\"\n class=\"flex min-w-80 flex-col p-2\"\n cdkDropList\n [cdkDropListData]=\"tmpAlerts\"\n [cdkDropListDisabled]=\"!reordering()\"\n (cdkDropListDropped)=\"dropped($event)\">\n @if (floating) {\n <label class=\"text-xl font-bold\">{{ 'alerts.label' | transloco }}</label>\n <MenuSeparator />\n }\n @for (alert of tmpAlerts; track $index) {\n <li role=\"listitem\" class=\"group h-10\" tabindex=\"0\" cdkDrag (click)=\"onClick($index)\" (keydown.enter)=\"onClick($index)\">\n <i class=\"fa-fw fas fa-bell shrink-0\" aria-hidden=\"true\"></i>\n <p class=\"line-clamp-1\">{{ alert.name }}</p>\n @if (!reordering()) {\n <button\n variant=\"icon\"\n class=\"text-destructive hover:text-destructive invisible ms-auto transition-transform hover:scale-125 group-hover:visible\"\n title=\"{{ 'alerts.deleteAlert' | transloco }}\"\n [attr.aria-label]=\"'alerts.deleteAlert' | transloco\"\n (click)=\"deleteAlert($event, $index)\">\n <i class=\"fa-fw fa-regular fa-trash-can\" aria-hidden=\"true\"></i>\n </button>\n } @else {\n <i class=\"fa-fw fa-regular fa-bars\"></i>\n }\n </li>\n } @empty {\n <li role=\"listitem\" class=\"py-4 text-center text-neutral-500\">{{ 'alerts.noAlerts' | transloco }}</li>\n }\n</ul>\n<div class=\"flex flex-col gap-2 p-2\">\n <button variant=\"outline\" class=\"w-full\" tabindex=\"0\" [attr.title]=\"'alerts.manageAlerts' | transloco\" [disabled]=\"!alerts().length\" (click)=\"reorder()\">\n {{ (reordering() ? 'save' : 'alerts.manageAlerts') | transloco }}\n </button>\n <button class=\"w-full\" [attr.title]=\"'alerts.createAlert' | transloco\" (click)=\"createAlert()\">{{ 'alerts.createAlert' | transloco }}</button>\n</div>\n", dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: HorizontalDividerComponent, selector: "menu-separator, MenuSeparator, menuseparator, horizontal-divider, HorizontalDivider, horizontaldivider" }, { kind: "directive", type: ListItemComponent, selector: "[role=\"listitem\"], [role=\"option\"]", inputs: ["class", "variant"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i1$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i1$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
7979
7991
|
}
|
|
7980
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
7992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AlertsComponent, decorators: [{
|
|
7981
7993
|
type: Component,
|
|
7982
7994
|
args: [{ selector: 'Alerts', standalone: true, imports: [TranslocoPipe, ButtonComponent, HorizontalDividerComponent, ListItemComponent, DragDropModule], providers: [provideTranslocoScope('alerts')], template: "<ul\n role=\"list\"\n class=\"flex min-w-80 flex-col p-2\"\n cdkDropList\n [cdkDropListData]=\"tmpAlerts\"\n [cdkDropListDisabled]=\"!reordering()\"\n (cdkDropListDropped)=\"dropped($event)\">\n @if (floating) {\n <label class=\"text-xl font-bold\">{{ 'alerts.label' | transloco }}</label>\n <MenuSeparator />\n }\n @for (alert of tmpAlerts; track $index) {\n <li role=\"listitem\" class=\"group h-10\" tabindex=\"0\" cdkDrag (click)=\"onClick($index)\" (keydown.enter)=\"onClick($index)\">\n <i class=\"fa-fw fas fa-bell shrink-0\" aria-hidden=\"true\"></i>\n <p class=\"line-clamp-1\">{{ alert.name }}</p>\n @if (!reordering()) {\n <button\n variant=\"icon\"\n class=\"text-destructive hover:text-destructive invisible ms-auto transition-transform hover:scale-125 group-hover:visible\"\n title=\"{{ 'alerts.deleteAlert' | transloco }}\"\n [attr.aria-label]=\"'alerts.deleteAlert' | transloco\"\n (click)=\"deleteAlert($event, $index)\">\n <i class=\"fa-fw fa-regular fa-trash-can\" aria-hidden=\"true\"></i>\n </button>\n } @else {\n <i class=\"fa-fw fa-regular fa-bars\"></i>\n }\n </li>\n } @empty {\n <li role=\"listitem\" class=\"py-4 text-center text-neutral-500\">{{ 'alerts.noAlerts' | transloco }}</li>\n }\n</ul>\n<div class=\"flex flex-col gap-2 p-2\">\n <button variant=\"outline\" class=\"w-full\" tabindex=\"0\" [attr.title]=\"'alerts.manageAlerts' | transloco\" [disabled]=\"!alerts().length\" (click)=\"reorder()\">\n {{ (reordering() ? 'save' : 'alerts.manageAlerts') | transloco }}\n </button>\n <button class=\"w-full\" [attr.title]=\"'alerts.createAlert' | transloco\" (click)=\"createAlert()\">{{ 'alerts.createAlert' | transloco }}</button>\n</div>\n" }]
|
|
7983
7995
|
}], ctorParameters: () => [] });
|
|
7984
7996
|
|
|
7985
7997
|
class OverrideUserDialogComponent {
|
|
7986
|
-
dialog = viewChild(DialogComponent);
|
|
7998
|
+
dialog = viewChild(DialogComponent, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
7987
7999
|
appService = inject(ApplicationService);
|
|
7988
8000
|
principalStore = inject(PrincipalStore);
|
|
7989
|
-
overrideUser = model({ username: '', domain: '' });
|
|
8001
|
+
overrideUser = model({ username: '', domain: '' }, ...(ngDevMode ? [{ debugName: "overrideUser" }] : []));
|
|
7990
8002
|
open() {
|
|
7991
8003
|
this.dialog().showModal();
|
|
7992
8004
|
}
|
|
@@ -8039,8 +8051,8 @@ class OverrideUserDialogComponent {
|
|
|
8039
8051
|
});
|
|
8040
8052
|
}
|
|
8041
8053
|
}
|
|
8042
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8043
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.
|
|
8054
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OverrideUserDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8055
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.2", type: OverrideUserDialogComponent, isStandalone: true, selector: "override-user-dialog", inputs: { overrideUser: { classPropertyName: "overrideUser", publicName: "overrideUser", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { overrideUser: "overrideUserChange" }, providers: [provideTranslocoScope('dialogs')], viewQueries: [{ propertyName: "dialog", first: true, predicate: DialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
8044
8056
|
<dialog #dialog class="max-w-md">
|
|
8045
8057
|
<DialogHeader>
|
|
8046
8058
|
<DialogTitle>{{ 'dialogs.overrideUser.title' | transloco }}</DialogTitle>
|
|
@@ -8088,7 +8100,7 @@ class OverrideUserDialogComponent {
|
|
|
8088
8100
|
</dialog>
|
|
8089
8101
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "directive", type: InputComponent, selector: "input[type=\"text\"], input[type=\"email\"], input[type=\"password\"], input[type=\"number\"], input[type=\"tel\"], input[type=\"url\"], input[type=\"time\"]", inputs: ["class", "variant"] }, { kind: "component", type: DialogComponent, selector: "dialog", inputs: ["class"], outputs: ["closed"] }, { kind: "directive", type: DialogContentComponent, selector: "DialogContent" }, { kind: "directive", type: DialogTitleComponent, selector: "DialogTitle" }, { kind: "component", type: DialogHeaderComponent, selector: "DialogHeader" }, { kind: "directive", type: DialogFooterComponent, selector: "DialogFooter" }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
8090
8102
|
}
|
|
8091
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
8103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: OverrideUserDialogComponent, decorators: [{
|
|
8092
8104
|
type: Component,
|
|
8093
8105
|
args: [{
|
|
8094
8106
|
selector: 'override-user-dialog',
|
|
@@ -8156,7 +8168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
8156
8168
|
}] });
|
|
8157
8169
|
|
|
8158
8170
|
class ResetUserSettingsDialogComponent {
|
|
8159
|
-
dialog = viewChild(DialogComponent);
|
|
8171
|
+
dialog = viewChild(DialogComponent, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
8160
8172
|
userSettingsStore = inject(UserSettingsStore);
|
|
8161
8173
|
translocoService = inject(TranslocoService);
|
|
8162
8174
|
open() {
|
|
@@ -8169,8 +8181,8 @@ class ResetUserSettingsDialogComponent {
|
|
|
8169
8181
|
notify.success(message, { duration: 2000 });
|
|
8170
8182
|
});
|
|
8171
8183
|
}
|
|
8172
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8173
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.
|
|
8184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ResetUserSettingsDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8185
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.2", type: ResetUserSettingsDialogComponent, isStandalone: true, selector: "reset-user-settings-dialog", providers: [provideTranslocoScope('dialogs')], viewQueries: [{ propertyName: "dialog", first: true, predicate: DialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
8174
8186
|
<dialog #dialog>
|
|
8175
8187
|
<DialogHeader>
|
|
8176
8188
|
<DialogTitle>{{ 'dialogs.resetUserSettings.title' | transloco }}</DialogTitle>
|
|
@@ -8192,7 +8204,7 @@ class ResetUserSettingsDialogComponent {
|
|
|
8192
8204
|
</dialog>
|
|
8193
8205
|
`, isInline: true, dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: DialogComponent, selector: "dialog", inputs: ["class"], outputs: ["closed"] }, { kind: "directive", type: DialogTitleComponent, selector: "DialogTitle" }, { kind: "directive", type: DialogContentComponent, selector: "DialogContent" }, { kind: "directive", type: DialogFooterComponent, selector: "DialogFooter" }, { kind: "component", type: DialogHeaderComponent, selector: "DialogHeader" }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
8194
8206
|
}
|
|
8195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
8207
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: ResetUserSettingsDialogComponent, decorators: [{
|
|
8196
8208
|
type: Component,
|
|
8197
8209
|
args: [{
|
|
8198
8210
|
selector: 'reset-user-settings-dialog',
|
|
@@ -8224,10 +8236,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
8224
8236
|
}] });
|
|
8225
8237
|
|
|
8226
8238
|
class DidYouMeanComponent {
|
|
8227
|
-
result = input();
|
|
8228
|
-
spellingCorrectionMode = computed(() => this.result()?.didYouMean?.spellingCorrectionMode);
|
|
8229
|
-
correction = computed(() => this.result()?.didYouMean?.text.corrected);
|
|
8230
|
-
original = computed(() => this.result()?.didYouMean?.text.original);
|
|
8239
|
+
result = input(...(ngDevMode ? [undefined, { debugName: "result" }] : []));
|
|
8240
|
+
spellingCorrectionMode = computed(() => this.result()?.didYouMean?.spellingCorrectionMode, ...(ngDevMode ? [{ debugName: "spellingCorrectionMode" }] : []));
|
|
8241
|
+
correction = computed(() => this.result()?.didYouMean?.text.corrected, ...(ngDevMode ? [{ debugName: "correction" }] : []));
|
|
8242
|
+
original = computed(() => this.result()?.didYouMean?.text.original, ...(ngDevMode ? [{ debugName: "original" }] : []));
|
|
8231
8243
|
router = inject(Router);
|
|
8232
8244
|
queryParamsStore = inject(QueryParamsStore);
|
|
8233
8245
|
selectCorrected() {
|
|
@@ -8238,10 +8250,10 @@ class DidYouMeanComponent {
|
|
|
8238
8250
|
this.queryParamsStore.patch({ spellingCorrectionMode: 'dymonly' });
|
|
8239
8251
|
this.router.navigate([], { queryParamsHandling: 'merge', queryParams: { c: 'dymonly', q: this.original() } });
|
|
8240
8252
|
}
|
|
8241
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8242
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
8253
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DidYouMeanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8254
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: DidYouMeanComponent, isStandalone: true, selector: "app-did-you-mean", inputs: { result: { classPropertyName: "result", publicName: "result", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTranslocoScope('did-you-mean')], ngImport: i0, template: "@switch (spellingCorrectionMode()?.toLowerCase()) { @case ('dymonly') {\n<p>\n <span class=\"me-1\">{{ 'didYouMean.didYouMean' | transloco }}</span>\n <a class=\"text-primary\" role=\"button\" (click)=\"selectCorrected()\">{{ correction() }}</a>\n <span>?</span>\n</p>\n} @case ('correct') {\n<p>\n <span class=\"me-1\">{{ 'didYouMean.showingResultsFor' | transloco }}</span>\n <a class=\"text-primary font-bold\" role=\"button\" (click)=\"selectCorrected()\">{{ correction() }}</a>\n\n <span class=\"me-1\">. {{ 'didYouMean.searchInsteadFor' | transloco }}</span>\n <a class=\"text-primary\" role=\"button\" (click)=\"selectOriginal()\">{{ original() }}</a>\n</p>\n} @case ('smart') {\n<p>\n <span class=\"me-1\">{{ 'didYouMean.showingResultsFor' | transloco }}</span>\n <a class=\"text-primary\" role=\"button\" (click)=\"selectOriginal()\">{{ original() }}</a>\n\n <span class=\"mx-1\">and</span>\n <a class=\"text-primary font-bold\" role=\"button\" (click)=\"selectCorrected()\">{{ correction() }}</a>\n</p>\n} }\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
8243
8255
|
}
|
|
8244
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
8256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DidYouMeanComponent, decorators: [{
|
|
8245
8257
|
type: Component,
|
|
8246
8258
|
args: [{ selector: 'app-did-you-mean', standalone: true, imports: [RouterModule, TranslocoPipe], providers: [provideTranslocoScope('did-you-mean')], template: "@switch (spellingCorrectionMode()?.toLowerCase()) { @case ('dymonly') {\n<p>\n <span class=\"me-1\">{{ 'didYouMean.didYouMean' | transloco }}</span>\n <a class=\"text-primary\" role=\"button\" (click)=\"selectCorrected()\">{{ correction() }}</a>\n <span>?</span>\n</p>\n} @case ('correct') {\n<p>\n <span class=\"me-1\">{{ 'didYouMean.showingResultsFor' | transloco }}</span>\n <a class=\"text-primary font-bold\" role=\"button\" (click)=\"selectCorrected()\">{{ correction() }}</a>\n\n <span class=\"me-1\">. {{ 'didYouMean.searchInsteadFor' | transloco }}</span>\n <a class=\"text-primary\" role=\"button\" (click)=\"selectOriginal()\">{{ original() }}</a>\n</p>\n} @case ('smart') {\n<p>\n <span class=\"me-1\">{{ 'didYouMean.showingResultsFor' | transloco }}</span>\n <a class=\"text-primary\" role=\"button\" (click)=\"selectOriginal()\">{{ original() }}</a>\n\n <span class=\"mx-1\">and</span>\n <a class=\"text-primary font-bold\" role=\"button\" (click)=\"selectCorrected()\">{{ correction() }}</a>\n</p>\n} }\n", styles: [":host{display:block}\n"] }]
|
|
8247
8259
|
}] });
|
|
@@ -8256,10 +8268,10 @@ class SignInComponent {
|
|
|
8256
8268
|
/**
|
|
8257
8269
|
* Represents the user credentials for login.
|
|
8258
8270
|
*/
|
|
8259
|
-
credentials = signal({ username: '', password: '' });
|
|
8260
|
-
authenticated = signal(isAuthenticated());
|
|
8261
|
-
user = signal(null);
|
|
8262
|
-
returnUrl = signal(null);
|
|
8271
|
+
credentials = signal({ username: '', password: '' }, ...(ngDevMode ? [{ debugName: "credentials" }] : []));
|
|
8272
|
+
authenticated = signal(isAuthenticated(), ...(ngDevMode ? [{ debugName: "authenticated" }] : []));
|
|
8273
|
+
user = signal(null, ...(ngDevMode ? [{ debugName: "user" }] : []));
|
|
8274
|
+
returnUrl = signal(null, ...(ngDevMode ? [{ debugName: "returnUrl" }] : []));
|
|
8263
8275
|
router = inject(Router);
|
|
8264
8276
|
route = inject(ActivatedRoute);
|
|
8265
8277
|
principalService = inject(PrincipalService);
|
|
@@ -8268,7 +8280,7 @@ class SignInComponent {
|
|
|
8268
8280
|
* Indicates whether the login credentials are valid.
|
|
8269
8281
|
* Returns true if both the username and password are non-empty, otherwise false.
|
|
8270
8282
|
*/
|
|
8271
|
-
valid = computed(() => this.credentials().username.length > 0 && this.credentials().password.length > 0);
|
|
8283
|
+
valid = computed(() => this.credentials().username.length > 0 && this.credentials().password.length > 0, ...(ngDevMode ? [{ debugName: "valid" }] : []));
|
|
8272
8284
|
constructor(destroyRef) {
|
|
8273
8285
|
this.destroyRef = destroyRef;
|
|
8274
8286
|
effect(() => {
|
|
@@ -8362,10 +8374,10 @@ class SignInComponent {
|
|
|
8362
8374
|
this.router.navigate(['/']);
|
|
8363
8375
|
}
|
|
8364
8376
|
}
|
|
8365
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8366
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: SignInComponent, isStandalone: true, selector: "signIn, signin, sign-in", providers: [provideTranslocoScope('login')], ngImport: i0, template: "<Card>\n <CardHeader>\n <a href=\"#\" title=\"Logo\">\n <ng-content select=\"[logo]\">\n <svg\n version=\"1.1\"\n id=\"Calque_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 858 228\"\n style=\"enable-background: new 0 0 858 228\"\n xml:space=\"preserve\">\n <style type=\"text/css\">\n .st0 {\n fill: #0040bf;\n }\n .st1 {\n fill: url(#SVGID_1_);\n }\n .st2 {\n fill: url(#SVGID_00000085217246274894832600000009342302383523206054_);\n }\n </style>\n <path\n class=\"st0\"\n d=\"M44.7,168.7c-10.1-4.1-17.6-9.9-22.5-17.1c-5-7.3-7.6-15.7-8.1-25.2h25.7c0.5,10.2,4.6,17.9,12.2,23.1\n c7.6,5.2,18.4,7.8,32.4,7.8c13.5,0,23.5-2.2,30.2-6.5c6.7-4.3,10-10.4,10-18.1c0-6.5-1.7-11.4-5.2-14.6c-3.5-3.2-8.5-5.5-15.1-7\n c-6.6-1.5-14.6-2.9-24.2-4.1c-12.5-1.6-23.4-3.8-32.7-6.4C38.1,98,31,93.9,25.9,88.4c-5-5.5-7.5-13.1-7.5-22.9\n c0-9.1,2.6-16.8,7.7-23.1c5.2-6.3,12.5-11.1,22-14.5c9.5-3.3,20.7-5,33.4-5c19.3,0,34.3,3.8,45.1,11.5c10.8,7.7,16.6,18.4,17.4,32.1\n h-24.9c-0.5-9-4.2-15.6-11.1-19.9c-6.9-4.3-16.1-6.4-27.6-6.4c-11.8,0-21,2-27.4,6.1c-6.5,4.1-9.7,9.6-9.7,16.5\n c0,5.8,1.6,10.2,4.7,13.1c3.1,2.9,7.9,5.1,14.3,6.5c6.4,1.4,14.5,2.8,24.3,4c9.6,1.2,18.3,2.7,26.1,4.4c7.7,1.7,14.4,4.1,20,7.2\n c5.6,3.1,9.8,7.3,12.7,12.5c2.9,5.2,4.4,12,4.4,20.3c0,13.6-5.6,24.3-16.9,32.2c-11.3,7.9-27.7,11.8-49.3,11.8\n C67.7,174.9,54.7,172.9,44.7,168.7z\" />\n <path\n class=\"st0\"\n d=\"M346.6,168.2c-9.4-4.5-16.6-10.9-21.7-19.2c-5.1-8.3-7.6-18.1-7.6-29.4c0-11.5,2.5-21.5,7.6-29.9\n c5.1-8.4,12.3-14.8,21.5-19.4c9.2-4.6,20.1-6.8,32.6-6.8c13,0,24.2,2.4,33.3,7.1c9.2,4.8,16.1,11.6,20.7,20.6\n c4.6,9,6.5,19.8,5.7,32.4h-97.8c0.3,10.9,3.9,19.3,10.9,25.3c7,6,16.5,9,28.4,9c9.2,0,17-1.7,23.2-5c6.2-3.3,10.3-7.8,12-13.4h22.6\n c-1.1,7.1-4.3,13.2-9.7,18.5c-5.4,5.3-12.3,9.4-20.7,12.3c-8.4,2.9-17.8,4.4-28.1,4.4C367,174.9,356,172.7,346.6,168.2z M352.5,88.4\n c-6.7,5.2-10.6,12.4-11.8,21.5h74.4c-0.4-9.4-3.8-16.6-10.3-21.7c-6.5-5.1-15.1-7.6-26-7.6C367.9,80.6,359.2,83.2,352.5,88.4z\" />\n <path\n class=\"st0\"\n d=\"M546,151.9h-1c-3.4,7.1-9,12.7-16.9,16.8c-7.9,4.1-16.7,6.2-26.5,6.2c-10.7,0-20.1-2.3-28.1-6.8\n c-8-4.6-14.3-11-18.8-19.5c-4.5-8.4-6.7-18.3-6.7-29.6c0-11.4,2.2-21.3,6.7-29.6c4.5-8.3,10.8-14.7,18.9-19.2\n c8.1-4.5,17.4-6.7,28-6.7c11,0,20.3,2,27.8,6c7.5,4,12.9,9.3,16,15.8h1l0.8-20.2h22.4v141.9H546V151.9z M528.6,151.9\n c5.6-3.1,10-7.3,12.9-12.4c3-5.2,4.5-10.7,4.5-16.7v-7.9c0-6-1.5-11.4-4.5-16.4c-3-5-7.3-8.9-12.9-11.9c-5.6-3-12.5-4.5-20.5-4.5\n c-10.7,0-19.5,3.2-26.2,9.7c-6.7,6.5-10.1,15.6-10.1,27.4c0,11.6,3.3,20.7,10,27.4c6.7,6.7,15.4,10.1,26.3,10.1\n C516.1,156.6,522.9,155,528.6,151.9z\" />\n <linearGradient id=\"SVGID_1_\" gradientUnits=\"userSpaceOnUse\" x1=\"780.8157\" y1=\"119.2805\" x2=\"690.0867\" y2=\"119.2805\">\n <stop offset=\"0\" style=\"stop-color: #ff854a\" />\n <stop offset=\"0.8407\" style=\"stop-color: #0040bf\" />\n </linearGradient>\n <path\n class=\"st1\"\n d=\"M803.4,65.3l-0.8,20.2h-1c-3.3-6.5-8.6-11.8-16.1-15.8c-7.5-4-16.7-6-27.7-6c-10.6,0-19.9,2.2-28,6.7\n c-8.1,4.5-14.4,10.9-18.9,19.2c-4.5,8.3-6.7,18.2-6.7,29.8c0,11.3,2.2,21.1,6.7,29.5s10.7,14.8,18.8,19.4c8,4.6,17.4,6.8,28.1,6.8\n c9.9,0,18.8-2.1,26.6-6.2c7.8-4.1,14.4-12.2,17.8-19.3h23.6V65.3H803.4z M802.2,122.7c0,6-1.5,11.6-4.5,16.7\n c-3,5.2-7.3,9.3-12.9,12.4c-5.6,3.1-12.5,4.7-20.5,4.7c-10.9,0-19.6-3.3-26.3-10c-6.7-6.7-10-15.8-10-27.3c0-12,3.4-21.2,10.1-27.6\n c6.7-6.5,15.5-9.7,26.2-9.7c8,0,14.8,1.5,20.5,4.5c5.6,3,10,7,12.9,11.9c3,5,4.5,10.4,4.5,16.2V122.7z\" />\n <linearGradient\n id=\"SVGID_00000152963432808947599350000011020247854886079881_\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"780.8157\"\n y1=\"161.271\"\n x2=\"690.0867\"\n y2=\"161.271\">\n <stop offset=\"0\" style=\"stop-color: #ff854a\" />\n <stop offset=\"0.8407\" style=\"stop-color: #0040bf\" />\n </linearGradient>\n <path\n style=\"fill: url(#SVGID_00000152963432808947599350000011020247854886079881_)\"\n d=\"M843.9,161.3c0,6.5-5.3,11.8-11.8,11.8l0,0\n c-6.5,0-11.8-5.3-11.8-11.8v0c0-6.5,5.3-11.8,11.8-11.8l0,0C838.6,149.4,843.9,154.7,843.9,161.3\" />\n <rect x=\"159.2\" y=\"25.3\" class=\"st0\" width=\"23.6\" height=\"23.6\" />\n <g>\n <polygon class=\"st0\" points=\"159.2,149.4 159.2,173.1 182.8,173.1 182.8,149.4 182.8,65.3 159.2,65.3 \t\" />\n <rect x=\"159.2\" y=\"25.3\" class=\"st0\" width=\"23.6\" height=\"23.6\" />\n </g>\n <path\n class=\"st0\"\n d=\"M302.7,84.2c-4-7.3-9.5-12.6-16.5-15.8c-7-3.2-15.1-4.8-24.4-4.8c-9.2,0-17.8,2.1-25.8,6.2\n c-7.9,4.1-13.9,10-17.8,17.6h-1.4l-0.6-22.2h-23v107.8h23.6v-53.4c0-7.5,1.6-14,4.7-19.7c3.1-5.6,7.5-10.1,13.1-13.2\n c5.6-3.2,12.2-4.8,19.7-4.8c10.6,0,18.4,3,23.3,8.9c5,5.9,7.4,15,7.4,27.2v55h23.6V114C308.7,101.5,306.7,91.6,302.7,84.2z\" />\n <path\n class=\"st0\"\n d=\"M671.7,65.3v53.4c0,7.5-1.6,14.1-4.7,19.8c-3.1,5.7-7.5,10.2-13.1,13.4c-5.6,3.2-12.2,4.8-19.7,4.8\n c-10.7,0-18.6-3-23.5-9.1c-5-6-7.4-15-7.4-27V65.3h-23.4v59.5c0,12.2,2,22,5.9,29.4c3.9,7.3,9.4,12.6,16.5,15.9\n c7.1,3.3,15.2,4.9,24.5,4.9c9.6,0,18.4-2.1,26.2-6.3c7.6-4.1,15-11.3,18.9-18.6v23.1h23.4v-23.6v-5.2v-79H671.7z\" />\n </svg>\n </ng-content>\n </a>\n @if (authenticated()) {\n <h3 class=\"whitespace-nowrap text-2xl font-semibold tracking-tight\">{{ 'login.welcomeBack' | transloco : { name: user()?.fullName ?? '' } }}</h3>\n <p class=\"text-muted-foreground text-sm\">{{ 'login.youAreLoggedIn' | transloco }}</p>\n }\n </CardHeader>\n\n @if (!authenticated()) {\n <CardContent>\n <div class=\"grid gap-4\">\n @if (!config.autoOAuthProvider && !config.autoSAMLProvider) {\n <div class=\"grid gap-2\">\n <label class=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\" for=\"username\"\n >{{ 'login.username' | transloco }}</label\n >\n\n <input\n type=\"text\"\n id=\"username\"\n required\n [ngModel]=\"credentials().username\"\n (ngModelChange)=\"updateCredentials({ username: $event })\"\n (keydown.enter)=\"handleLoginWithCredentials()\" />\n </div>\n <div class=\"grid gap-2\">\n <div class=\"flex items-center\">\n <label class=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\" for=\"password\"\n >{{ 'login.password' | transloco }}</label\n >\n </div>\n <input\n type=\"password\"\n id=\"password\"\n required\n [ngModel]=\"credentials().password\"\n (ngModelChange)=\"updateCredentials({ password: $event })\"\n (keydown.enter)=\"handleLoginWithCredentials()\" />\n </div>\n <button [disabled]=\"!valid()\" (click)=\"handleLoginWithCredentials()\">{{ 'login.connect' | transloco }}</button>\n } @else {\n <button (click)=\"handleLogin()\">{{ 'login.SignInWith' | transloco: { provider: config.autoOAuthProvider ? 'OAuth' : 'SAML' } }}</button>\n }\n </div>\n </CardContent>\n } @else {\n <CardFooter class=\"justify-between gap-2\">\n <button class=\"w-full\" (click)=\"handleLogout()\" type=\"submit\">{{ 'login.disconnect' | transloco }}</button>\n <button class=\"w-full\" variant=\"ghost\" (click)=\"handleBack()\">{{ 'login.back' | transloco }}</button>\n </CardFooter>\n }\n</Card>\n", styles: [":host{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem}.btn-primary{background-color:#000;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }, { kind: "directive", type: InputComponent, selector: "input[type=\"text\"], input[type=\"email\"], input[type=\"password\"], input[type=\"number\"], input[type=\"tel\"], input[type=\"url\"], input[type=\"time\"]", inputs: ["class", "variant"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "directive", type: CardComponent, selector: ".card, card, Card", inputs: ["class"] }, { kind: "directive", type: CardHeaderComponent, selector: ".card-header, card-header, CardHeader, cardheader", inputs: ["class"] }, { kind: "directive", type: CardContentComponent, selector: ".card-content, card-content, CardContent, cardcontent", inputs: ["class"] }, { kind: "directive", type: CardFooterComponent, selector: ".card-footer, card-footer, CardFooter, cardfooter", inputs: ["class"] }] });
|
|
8377
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SignInComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8378
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: SignInComponent, isStandalone: true, selector: "signIn, signin, sign-in", providers: [provideTranslocoScope('login')], ngImport: i0, template: "<Card>\n <CardHeader>\n <a href=\"#\" title=\"Logo\">\n <ng-content select=\"[logo]\">\n <svg\n version=\"1.1\"\n id=\"Calque_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 858 228\"\n style=\"enable-background: new 0 0 858 228\"\n xml:space=\"preserve\">\n <style type=\"text/css\">\n .st0 {\n fill: #0040bf;\n }\n .st1 {\n fill: url(#SVGID_1_);\n }\n .st2 {\n fill: url(#SVGID_00000085217246274894832600000009342302383523206054_);\n }\n </style>\n <path\n class=\"st0\"\n d=\"M44.7,168.7c-10.1-4.1-17.6-9.9-22.5-17.1c-5-7.3-7.6-15.7-8.1-25.2h25.7c0.5,10.2,4.6,17.9,12.2,23.1\n c7.6,5.2,18.4,7.8,32.4,7.8c13.5,0,23.5-2.2,30.2-6.5c6.7-4.3,10-10.4,10-18.1c0-6.5-1.7-11.4-5.2-14.6c-3.5-3.2-8.5-5.5-15.1-7\n c-6.6-1.5-14.6-2.9-24.2-4.1c-12.5-1.6-23.4-3.8-32.7-6.4C38.1,98,31,93.9,25.9,88.4c-5-5.5-7.5-13.1-7.5-22.9\n c0-9.1,2.6-16.8,7.7-23.1c5.2-6.3,12.5-11.1,22-14.5c9.5-3.3,20.7-5,33.4-5c19.3,0,34.3,3.8,45.1,11.5c10.8,7.7,16.6,18.4,17.4,32.1\n h-24.9c-0.5-9-4.2-15.6-11.1-19.9c-6.9-4.3-16.1-6.4-27.6-6.4c-11.8,0-21,2-27.4,6.1c-6.5,4.1-9.7,9.6-9.7,16.5\n c0,5.8,1.6,10.2,4.7,13.1c3.1,2.9,7.9,5.1,14.3,6.5c6.4,1.4,14.5,2.8,24.3,4c9.6,1.2,18.3,2.7,26.1,4.4c7.7,1.7,14.4,4.1,20,7.2\n c5.6,3.1,9.8,7.3,12.7,12.5c2.9,5.2,4.4,12,4.4,20.3c0,13.6-5.6,24.3-16.9,32.2c-11.3,7.9-27.7,11.8-49.3,11.8\n C67.7,174.9,54.7,172.9,44.7,168.7z\" />\n <path\n class=\"st0\"\n d=\"M346.6,168.2c-9.4-4.5-16.6-10.9-21.7-19.2c-5.1-8.3-7.6-18.1-7.6-29.4c0-11.5,2.5-21.5,7.6-29.9\n c5.1-8.4,12.3-14.8,21.5-19.4c9.2-4.6,20.1-6.8,32.6-6.8c13,0,24.2,2.4,33.3,7.1c9.2,4.8,16.1,11.6,20.7,20.6\n c4.6,9,6.5,19.8,5.7,32.4h-97.8c0.3,10.9,3.9,19.3,10.9,25.3c7,6,16.5,9,28.4,9c9.2,0,17-1.7,23.2-5c6.2-3.3,10.3-7.8,12-13.4h22.6\n c-1.1,7.1-4.3,13.2-9.7,18.5c-5.4,5.3-12.3,9.4-20.7,12.3c-8.4,2.9-17.8,4.4-28.1,4.4C367,174.9,356,172.7,346.6,168.2z M352.5,88.4\n c-6.7,5.2-10.6,12.4-11.8,21.5h74.4c-0.4-9.4-3.8-16.6-10.3-21.7c-6.5-5.1-15.1-7.6-26-7.6C367.9,80.6,359.2,83.2,352.5,88.4z\" />\n <path\n class=\"st0\"\n d=\"M546,151.9h-1c-3.4,7.1-9,12.7-16.9,16.8c-7.9,4.1-16.7,6.2-26.5,6.2c-10.7,0-20.1-2.3-28.1-6.8\n c-8-4.6-14.3-11-18.8-19.5c-4.5-8.4-6.7-18.3-6.7-29.6c0-11.4,2.2-21.3,6.7-29.6c4.5-8.3,10.8-14.7,18.9-19.2\n c8.1-4.5,17.4-6.7,28-6.7c11,0,20.3,2,27.8,6c7.5,4,12.9,9.3,16,15.8h1l0.8-20.2h22.4v141.9H546V151.9z M528.6,151.9\n c5.6-3.1,10-7.3,12.9-12.4c3-5.2,4.5-10.7,4.5-16.7v-7.9c0-6-1.5-11.4-4.5-16.4c-3-5-7.3-8.9-12.9-11.9c-5.6-3-12.5-4.5-20.5-4.5\n c-10.7,0-19.5,3.2-26.2,9.7c-6.7,6.5-10.1,15.6-10.1,27.4c0,11.6,3.3,20.7,10,27.4c6.7,6.7,15.4,10.1,26.3,10.1\n C516.1,156.6,522.9,155,528.6,151.9z\" />\n <linearGradient id=\"SVGID_1_\" gradientUnits=\"userSpaceOnUse\" x1=\"780.8157\" y1=\"119.2805\" x2=\"690.0867\" y2=\"119.2805\">\n <stop offset=\"0\" style=\"stop-color: #ff854a\" />\n <stop offset=\"0.8407\" style=\"stop-color: #0040bf\" />\n </linearGradient>\n <path\n class=\"st1\"\n d=\"M803.4,65.3l-0.8,20.2h-1c-3.3-6.5-8.6-11.8-16.1-15.8c-7.5-4-16.7-6-27.7-6c-10.6,0-19.9,2.2-28,6.7\n c-8.1,4.5-14.4,10.9-18.9,19.2c-4.5,8.3-6.7,18.2-6.7,29.8c0,11.3,2.2,21.1,6.7,29.5s10.7,14.8,18.8,19.4c8,4.6,17.4,6.8,28.1,6.8\n c9.9,0,18.8-2.1,26.6-6.2c7.8-4.1,14.4-12.2,17.8-19.3h23.6V65.3H803.4z M802.2,122.7c0,6-1.5,11.6-4.5,16.7\n c-3,5.2-7.3,9.3-12.9,12.4c-5.6,3.1-12.5,4.7-20.5,4.7c-10.9,0-19.6-3.3-26.3-10c-6.7-6.7-10-15.8-10-27.3c0-12,3.4-21.2,10.1-27.6\n c6.7-6.5,15.5-9.7,26.2-9.7c8,0,14.8,1.5,20.5,4.5c5.6,3,10,7,12.9,11.9c3,5,4.5,10.4,4.5,16.2V122.7z\" />\n <linearGradient\n id=\"SVGID_00000152963432808947599350000011020247854886079881_\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"780.8157\"\n y1=\"161.271\"\n x2=\"690.0867\"\n y2=\"161.271\">\n <stop offset=\"0\" style=\"stop-color: #ff854a\" />\n <stop offset=\"0.8407\" style=\"stop-color: #0040bf\" />\n </linearGradient>\n <path\n style=\"fill: url(#SVGID_00000152963432808947599350000011020247854886079881_)\"\n d=\"M843.9,161.3c0,6.5-5.3,11.8-11.8,11.8l0,0\n c-6.5,0-11.8-5.3-11.8-11.8v0c0-6.5,5.3-11.8,11.8-11.8l0,0C838.6,149.4,843.9,154.7,843.9,161.3\" />\n <rect x=\"159.2\" y=\"25.3\" class=\"st0\" width=\"23.6\" height=\"23.6\" />\n <g>\n <polygon class=\"st0\" points=\"159.2,149.4 159.2,173.1 182.8,173.1 182.8,149.4 182.8,65.3 159.2,65.3 \t\" />\n <rect x=\"159.2\" y=\"25.3\" class=\"st0\" width=\"23.6\" height=\"23.6\" />\n </g>\n <path\n class=\"st0\"\n d=\"M302.7,84.2c-4-7.3-9.5-12.6-16.5-15.8c-7-3.2-15.1-4.8-24.4-4.8c-9.2,0-17.8,2.1-25.8,6.2\n c-7.9,4.1-13.9,10-17.8,17.6h-1.4l-0.6-22.2h-23v107.8h23.6v-53.4c0-7.5,1.6-14,4.7-19.7c3.1-5.6,7.5-10.1,13.1-13.2\n c5.6-3.2,12.2-4.8,19.7-4.8c10.6,0,18.4,3,23.3,8.9c5,5.9,7.4,15,7.4,27.2v55h23.6V114C308.7,101.5,306.7,91.6,302.7,84.2z\" />\n <path\n class=\"st0\"\n d=\"M671.7,65.3v53.4c0,7.5-1.6,14.1-4.7,19.8c-3.1,5.7-7.5,10.2-13.1,13.4c-5.6,3.2-12.2,4.8-19.7,4.8\n c-10.7,0-18.6-3-23.5-9.1c-5-6-7.4-15-7.4-27V65.3h-23.4v59.5c0,12.2,2,22,5.9,29.4c3.9,7.3,9.4,12.6,16.5,15.9\n c7.1,3.3,15.2,4.9,24.5,4.9c9.6,0,18.4-2.1,26.2-6.3c7.6-4.1,15-11.3,18.9-18.6v23.1h23.4v-23.6v-5.2v-79H671.7z\" />\n </svg>\n </ng-content>\n </a>\n @if (authenticated()) {\n <h3 class=\"whitespace-nowrap text-2xl font-semibold tracking-tight\">{{ 'login.welcomeBack' | transloco : { name: user()?.fullName ?? '' } }}</h3>\n <p class=\"text-muted-foreground text-sm\">{{ 'login.youAreLoggedIn' | transloco }}</p>\n }\n </CardHeader>\n\n @if (!authenticated()) {\n <CardContent>\n <div class=\"grid gap-4\">\n @if (!config.autoOAuthProvider && !config.autoSAMLProvider) {\n <div class=\"grid gap-2\">\n <label class=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\" for=\"username\"\n >{{ 'login.username' | transloco }}</label\n >\n\n <input\n type=\"text\"\n id=\"username\"\n required\n [ngModel]=\"credentials().username\"\n (ngModelChange)=\"updateCredentials({ username: $event })\"\n (keydown.enter)=\"handleLoginWithCredentials()\" />\n </div>\n <div class=\"grid gap-2\">\n <div class=\"flex items-center\">\n <label class=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\" for=\"password\"\n >{{ 'login.password' | transloco }}</label\n >\n </div>\n <input\n type=\"password\"\n id=\"password\"\n required\n [ngModel]=\"credentials().password\"\n (ngModelChange)=\"updateCredentials({ password: $event })\"\n (keydown.enter)=\"handleLoginWithCredentials()\" />\n </div>\n <button [disabled]=\"!valid()\" (click)=\"handleLoginWithCredentials()\">{{ 'login.connect' | transloco }}</button>\n } @else {\n <button (click)=\"handleLogin()\">{{ 'login.SignInWith' | transloco: { provider: config.autoOAuthProvider ? 'OAuth' : 'SAML' } }}</button>\n }\n </div>\n </CardContent>\n } @else {\n <CardFooter class=\"justify-between gap-2\">\n <button class=\"w-full\" (click)=\"handleLogout()\" type=\"submit\">{{ 'login.disconnect' | transloco }}</button>\n <button class=\"w-full\" variant=\"ghost\" (click)=\"handleBack()\">{{ 'login.back' | transloco }}</button>\n </CardFooter>\n }\n</Card>\n", styles: [":host{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem}.btn-primary{background-color:#000;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: InputComponent, selector: "input[type=\"text\"], input[type=\"email\"], input[type=\"password\"], input[type=\"number\"], input[type=\"tel\"], input[type=\"url\"], input[type=\"time\"]", inputs: ["class", "variant"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "directive", type: CardComponent, selector: ".card, card, Card", inputs: ["class"] }, { kind: "directive", type: CardHeaderComponent, selector: ".card-header, card-header, CardHeader, cardheader", inputs: ["class"] }, { kind: "directive", type: CardContentComponent, selector: ".card-content, card-content, CardContent, cardcontent", inputs: ["class"] }, { kind: "directive", type: CardFooterComponent, selector: ".card-footer, card-footer, CardFooter, cardfooter", inputs: ["class"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
8367
8379
|
}
|
|
8368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
8380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SignInComponent, decorators: [{
|
|
8369
8381
|
type: Component,
|
|
8370
8382
|
args: [{ selector: 'signIn, signin, sign-in', standalone: true, providers: [provideTranslocoScope('login')], imports: [
|
|
8371
8383
|
RouterModule,
|
|
@@ -8382,7 +8394,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
8382
8394
|
|
|
8383
8395
|
class LabelService {
|
|
8384
8396
|
appStore = inject(AppStore);
|
|
8385
|
-
hasAccess = signal(undefined);
|
|
8397
|
+
hasAccess = signal(undefined, ...(ngDevMode ? [{ debugName: "hasAccess" }] : []));
|
|
8386
8398
|
/**
|
|
8387
8399
|
* Check user rights to verify if they can access labels handling
|
|
8388
8400
|
* @returns if has the rights
|
|
@@ -8516,10 +8528,10 @@ class LabelService {
|
|
|
8516
8528
|
return from(labels.bulkRemove(labelsToRemove, query, publicOnly));
|
|
8517
8529
|
}));
|
|
8518
8530
|
}
|
|
8519
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8520
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
8531
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: LabelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
8532
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: LabelService, providedIn: 'root' });
|
|
8521
8533
|
}
|
|
8522
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
8534
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: LabelService, decorators: [{
|
|
8523
8535
|
type: Injectable,
|
|
8524
8536
|
args: [{
|
|
8525
8537
|
providedIn: 'root'
|
|
@@ -8528,18 +8540,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
8528
8540
|
|
|
8529
8541
|
const DEBOUNCE_DELAY = 300;
|
|
8530
8542
|
class MultiSelectLabelsComponent {
|
|
8531
|
-
article = model();
|
|
8532
|
-
isPublic = input(false);
|
|
8533
|
-
allowModification = input(false);
|
|
8534
|
-
labelsField = input();
|
|
8535
|
-
anchor = signal(`--${guid()}
|
|
8536
|
-
suggestedLabels = signal([]);
|
|
8537
|
-
labelInput = model('');
|
|
8543
|
+
article = model(...(ngDevMode ? [undefined, { debugName: "article" }] : []));
|
|
8544
|
+
isPublic = input(false, ...(ngDevMode ? [{ debugName: "isPublic" }] : []));
|
|
8545
|
+
allowModification = input(false, ...(ngDevMode ? [{ debugName: "allowModification" }] : []));
|
|
8546
|
+
labelsField = input(...(ngDevMode ? [undefined, { debugName: "labelsField" }] : []));
|
|
8547
|
+
anchor = signal(`--${guid()}`, ...(ngDevMode ? [{ debugName: "anchor" }] : []));
|
|
8548
|
+
suggestedLabels = signal([], ...(ngDevMode ? [{ debugName: "suggestedLabels" }] : []));
|
|
8549
|
+
labelInput = model('', ...(ngDevMode ? [{ debugName: "labelInput" }] : []));
|
|
8538
8550
|
debouncedLabelInput = debouncedSignal(this.labelInput, DEBOUNCE_DELAY);
|
|
8539
|
-
popover = viewChild('LabelsPopover');
|
|
8540
|
-
popoverElement = computed(() => this.popover()?.nativeElement);
|
|
8541
|
-
labels = signal([]);
|
|
8542
|
-
id = signal(`labels-form-${guid()}
|
|
8551
|
+
popover = viewChild('LabelsPopover', ...(ngDevMode ? [{ debugName: "popover" }] : []));
|
|
8552
|
+
popoverElement = computed(() => this.popover()?.nativeElement, ...(ngDevMode ? [{ debugName: "popoverElement" }] : []));
|
|
8553
|
+
labels = signal([], ...(ngDevMode ? [{ debugName: "labels" }] : []));
|
|
8554
|
+
id = signal(`labels-form-${guid()}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
8543
8555
|
constructor() {
|
|
8544
8556
|
afterEveryRender(() => {
|
|
8545
8557
|
this.popoverElement().style.positionAnchor = this.anchor();
|
|
@@ -8626,8 +8638,8 @@ class MultiSelectLabelsComponent {
|
|
|
8626
8638
|
updateArticleWithLabels() {
|
|
8627
8639
|
this.article()[this.labelsField()] = this.labels();
|
|
8628
8640
|
}
|
|
8629
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8630
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
8641
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MultiSelectLabelsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8642
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: MultiSelectLabelsComponent, isStandalone: true, selector: "multiselect-labels, multiselectlabels, MultiSelectLabels", inputs: { article: { classPropertyName: "article", publicName: "article", isSignal: true, isRequired: false, transformFunction: null }, isPublic: { classPropertyName: "isPublic", publicName: "isPublic", isSignal: true, isRequired: false, transformFunction: null }, allowModification: { classPropertyName: "allowModification", publicName: "allowModification", isSignal: true, isRequired: false, transformFunction: null }, labelsField: { classPropertyName: "labelsField", publicName: "labelsField", isSignal: true, isRequired: false, transformFunction: null }, labelInput: { classPropertyName: "labelInput", publicName: "labelInput", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { article: "articleChange", labelInput: "labelInputChange" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["LabelsPopover"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
8631
8643
|
<div class="anchor" [ngStyle]="{ 'anchor-name': anchor() }">
|
|
8632
8644
|
<label [htmlFor]="id()" class="font-semibold">{{ (isPublic() ? 'labels.publicLabels' : 'labels.privateLabels') | transloco }}</label>
|
|
8633
8645
|
<input
|
|
@@ -8664,9 +8676,9 @@ class MultiSelectLabelsComponent {
|
|
|
8664
8676
|
</Badge>
|
|
8665
8677
|
}
|
|
8666
8678
|
</div>
|
|
8667
|
-
`, isInline: true, styles: [".anchor:has(.popover:popover-open){z-index:var(--z-menu, 1000);border-radius:var(--radius) var(--radius) 0 0}.anchor .popover::backdrop{background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.popover{width:anchor-size(width);top:anchor(bottom);left:anchor(left)}@supports (-moz-appearance: none){.popover{margin:calc(33.3333333333vh + 30px) 25vw;width:50vw}}@supports (background: -webkit-named-image(i)){.popover{margin:calc(33.3333333333vh + 30px) 25vw;width:50vw}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "
|
|
8679
|
+
`, isInline: true, styles: [".anchor:has(.popover:popover-open){z-index:var(--z-menu, 1000);border-radius:var(--radius) var(--radius) 0 0}.anchor .popover::backdrop{background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.popover{width:anchor-size(width);top:anchor(bottom);left:anchor(left)}@supports (-moz-appearance: none){.popover{margin:calc(33.3333333333vh + 30px) 25vw;width:50vw}}@supports (background: -webkit-named-image(i)){.popover{margin:calc(33.3333333333vh + 30px) 25vw;width:50vw}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: InputComponent, selector: "input[type=\"text\"], input[type=\"email\"], input[type=\"password\"], input[type=\"number\"], input[type=\"tel\"], input[type=\"url\"], input[type=\"time\"]", inputs: ["class", "variant"] }, { kind: "directive", type: BadgeComponent, selector: "badge, Badge", inputs: ["class", "variant"] }, { kind: "directive", type: ListItemComponent, selector: "[role=\"listitem\"], [role=\"option\"]", inputs: ["class", "variant"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
8668
8680
|
}
|
|
8669
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
8681
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MultiSelectLabelsComponent, decorators: [{
|
|
8670
8682
|
type: Component,
|
|
8671
8683
|
args: [{ selector: 'multiselect-labels, multiselectlabels, MultiSelectLabels', standalone: true, imports: [FormsModule, NgStyle, TranslocoPipe, InputComponent, BadgeComponent, ListItemComponent], template: `
|
|
8672
8684
|
<div class="anchor" [ngStyle]="{ 'anchor-name': anchor() }">
|
|
@@ -8710,11 +8722,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
8710
8722
|
|
|
8711
8723
|
class LabelsEditDialog {
|
|
8712
8724
|
destroyRef;
|
|
8713
|
-
dialog = viewChild(DialogComponent);
|
|
8725
|
+
dialog = viewChild(DialogComponent, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
8714
8726
|
labelService = inject(LabelService);
|
|
8715
8727
|
closed = output();
|
|
8716
|
-
article = model({});
|
|
8717
|
-
labelsConfig = signal(undefined);
|
|
8728
|
+
article = model({}, ...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
8729
|
+
labelsConfig = signal(undefined, ...(ngDevMode ? [{ debugName: "labelsConfig" }] : []));
|
|
8718
8730
|
constructor(destroyRef) {
|
|
8719
8731
|
this.destroyRef = destroyRef;
|
|
8720
8732
|
this.labelService
|
|
@@ -8729,8 +8741,8 @@ class LabelsEditDialog {
|
|
|
8729
8741
|
close(event) {
|
|
8730
8742
|
this.closed.emit({ type: event, article: this.article() });
|
|
8731
8743
|
}
|
|
8732
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8733
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
8744
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: LabelsEditDialog, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8745
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: LabelsEditDialog, isStandalone: true, selector: "labels-edit-dialog, labelseditdialog, LabelsEditDialog", inputs: { article: { classPropertyName: "article", publicName: "article", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", article: "articleChange" }, providers: [provideTranslocoScope('labels')], viewQueries: [{ propertyName: "dialog", first: true, predicate: DialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
8734
8746
|
<dialog #dialog (closed)="close($event)">
|
|
8735
8747
|
<DialogHeader>
|
|
8736
8748
|
<DialogTitle>{{ 'labels.title' | transloco }}</DialogTitle>
|
|
@@ -8758,9 +8770,9 @@ class LabelsEditDialog {
|
|
|
8758
8770
|
</button>
|
|
8759
8771
|
</DialogFooter>
|
|
8760
8772
|
</dialog>
|
|
8761
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "
|
|
8773
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: DialogComponent, selector: "dialog", inputs: ["class"], outputs: ["closed"] }, { kind: "component", type: DialogHeaderComponent, selector: "DialogHeader" }, { kind: "directive", type: DialogFooterComponent, selector: "DialogFooter" }, { kind: "directive", type: DialogTitleComponent, selector: "DialogTitle" }, { kind: "directive", type: DialogContentComponent, selector: "DialogContent" }, { kind: "component", type: MultiSelectLabelsComponent, selector: "multiselect-labels, multiselectlabels, MultiSelectLabels", inputs: ["article", "isPublic", "allowModification", "labelsField", "labelInput"], outputs: ["articleChange", "labelInputChange"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
8762
8774
|
}
|
|
8763
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
8775
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: LabelsEditDialog, decorators: [{
|
|
8764
8776
|
type: Component,
|
|
8765
8777
|
args: [{
|
|
8766
8778
|
selector: 'labels-edit-dialog, labelseditdialog, LabelsEditDialog',
|
|
@@ -8811,12 +8823,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
8811
8823
|
|
|
8812
8824
|
const AuditFeedbackType = 'UserFeedback_UserFeedback';
|
|
8813
8825
|
class FeedbackDialogComponent {
|
|
8814
|
-
dialog = viewChild(DialogComponent);
|
|
8826
|
+
dialog = viewChild(DialogComponent, ...(ngDevMode ? [{ debugName: "dialog" }] : []));
|
|
8815
8827
|
auditService = inject(AuditService);
|
|
8816
8828
|
appStore = inject(AppStore);
|
|
8817
8829
|
transloco = inject(TranslocoService);
|
|
8818
|
-
comment = model('');
|
|
8819
|
-
type = signal(undefined);
|
|
8830
|
+
comment = model('', ...(ngDevMode ? [{ debugName: "comment" }] : []));
|
|
8831
|
+
type = signal(undefined, ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
8820
8832
|
open(type) {
|
|
8821
8833
|
this.type.set(type);
|
|
8822
8834
|
this.dialog().showModal();
|
|
@@ -8835,8 +8847,8 @@ class FeedbackDialogComponent {
|
|
|
8835
8847
|
this.dialog().close(e);
|
|
8836
8848
|
notify.success(this.transloco.translate('feedback.feedbackSuccess'), { duration: 2000 });
|
|
8837
8849
|
}
|
|
8838
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8839
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
8850
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: FeedbackDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8851
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: FeedbackDialogComponent, isStandalone: true, selector: "feedback-dialog, feedbackdialog, FeedbackDialog", inputs: { comment: { classPropertyName: "comment", publicName: "comment", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { comment: "commentChange" }, providers: [provideTranslocoScope('feedback')], viewQueries: [{ propertyName: "dialog", first: true, predicate: DialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
8840
8852
|
<dialog #dialog>
|
|
8841
8853
|
<DialogHeader>
|
|
8842
8854
|
<DialogTitle>{{ 'feedback.dialogTitle' | transloco }}</DialogTitle>
|
|
@@ -8863,9 +8875,9 @@ class FeedbackDialogComponent {
|
|
|
8863
8875
|
</button>
|
|
8864
8876
|
</DialogFooter>
|
|
8865
8877
|
</dialog>
|
|
8866
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
8878
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: DialogComponent, selector: "dialog", inputs: ["class"], outputs: ["closed"] }, { kind: "component", type: DialogHeaderComponent, selector: "DialogHeader" }, { kind: "directive", type: DialogFooterComponent, selector: "DialogFooter" }, { kind: "directive", type: DialogTitleComponent, selector: "DialogTitle" }, { kind: "directive", type: DialogContentComponent, selector: "DialogContent" }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
8867
8879
|
}
|
|
8868
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
8880
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: FeedbackDialogComponent, decorators: [{
|
|
8869
8881
|
type: Component,
|
|
8870
8882
|
args: [{
|
|
8871
8883
|
selector: 'feedback-dialog, feedbackdialog, FeedbackDialog',
|
|
@@ -8914,13 +8926,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
8914
8926
|
|
|
8915
8927
|
class SearchFeedbackComponent {
|
|
8916
8928
|
onClose = output();
|
|
8917
|
-
feedbackDialog = viewChild(FeedbackDialogComponent);
|
|
8918
|
-
pages = input.required();
|
|
8929
|
+
feedbackDialog = viewChild(FeedbackDialogComponent, ...(ngDevMode ? [{ debugName: "feedbackDialog" }] : []));
|
|
8930
|
+
pages = input.required(...(ngDevMode ? [{ debugName: "pages" }] : []));
|
|
8919
8931
|
auditService = inject(AuditService);
|
|
8920
8932
|
queryParamsStore = inject(QueryParamsStore);
|
|
8921
8933
|
transloco = inject(TranslocoService);
|
|
8922
|
-
liked = signal(false);
|
|
8923
|
-
disliked = signal(false);
|
|
8934
|
+
liked = signal(false, ...(ngDevMode ? [{ debugName: "liked" }] : []));
|
|
8935
|
+
disliked = signal(false, ...(ngDevMode ? [{ debugName: "disliked" }] : []));
|
|
8924
8936
|
menus = [
|
|
8925
8937
|
{ type: 'content', icon: 'far fa-file-alt' },
|
|
8926
8938
|
{ type: 'ui', icon: 'fas fa-desktop' },
|
|
@@ -8970,10 +8982,10 @@ class SearchFeedbackComponent {
|
|
|
8970
8982
|
openFeedbackDialog(type) {
|
|
8971
8983
|
this.feedbackDialog()?.open(type);
|
|
8972
8984
|
}
|
|
8973
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
8974
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
8985
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchFeedbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8986
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: SearchFeedbackComponent, isStandalone: true, selector: "feedback, Feedback", inputs: { pages: { classPropertyName: "pages", publicName: "pages", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClose: "onClose" }, providers: [provideTranslocoScope('feedback')], viewQueries: [{ propertyName: "feedbackDialog", first: true, predicate: FeedbackDialogComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<menu>\n <button class=\"border border-gray-200 p-5\" variant=\"ghost\" title=\"{{'feedback.button' | transloco }}\">\n <i class=\"fa-fw far fa-commenting\" aria-hidden=\"true\"></i>\n {{ 'feedback.label' | transloco }}\n <i class=\"fa-fw fas fa-xmark ms-2\" (click)=\"close($event);\" aria-hidden=\"true\"></i>\n </button>\n\n <MenuContent>\n @if (!disliked()) {\n <menuitem (click)=\"like()\" [attr.aria-label]=\"'feedback.like' | transloco\">\n @if (liked()) {\n <i class=\"fa-fw fas fa-thumbs-up\"></i> {{ 'feedback.liked' | transloco }} } @else { <i class=\"fa-fw far fa-thumbs-up\"></i> {{ 'feedback.like' | transloco\n }} }\n </menuitem>\n } @if (!liked()) {\n <menuitem (click)=\"dislike()\" [attr.aria-label]=\"'feedback.dislike' | transloco\">\n @if (disliked()) {\n <i class=\"fa-fw fas fa-thumbs-down\"></i> {{ 'feedback.disliked' | transloco }} } @else { <i class=\"fa-fw far fa-thumbs-down\"></i> {{ 'feedback.dislike' |\n transloco }} }\n </menuitem>\n } @for (menu of menus; track $index) {\n <menuitem (click)=\"openFeedbackDialog(menu.type)\" [attr.aria-label]=\"'feedback.' + menu.type + '.title' | transloco\">\n <i class=\"fa-fw {{menu.icon}}\"></i> {{ 'feedback.' + menu.type + '.title' | transloco }}\n </menuitem>\n }\n </MenuContent>\n</menu>\n\n<feedback-dialog />\n", dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: MenuComponent, selector: "menu, Menu", inputs: ["disabled"] }, { kind: "directive", type: MenuContentComponent, selector: "MenuContent, menucontent, menu-content", inputs: ["class", "position"] }, { kind: "directive", type: MenuItemComponent, selector: "menu-item, menuitem, MenuItem", inputs: ["class", "variant"] }, { kind: "component", type: FeedbackDialogComponent, selector: "feedback-dialog, feedbackdialog, FeedbackDialog", inputs: ["comment"], outputs: ["commentChange"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
8975
8987
|
}
|
|
8976
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
8988
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: SearchFeedbackComponent, decorators: [{
|
|
8977
8989
|
type: Component,
|
|
8978
8990
|
args: [{ selector: 'feedback, Feedback', standalone: true, imports: [ButtonComponent, MenuComponent, MenuContentComponent, MenuItemComponent, TranslocoPipe, FeedbackDialogComponent], providers: [provideTranslocoScope('feedback')], template: "<menu>\n <button class=\"border border-gray-200 p-5\" variant=\"ghost\" title=\"{{'feedback.button' | transloco }}\">\n <i class=\"fa-fw far fa-commenting\" aria-hidden=\"true\"></i>\n {{ 'feedback.label' | transloco }}\n <i class=\"fa-fw fas fa-xmark ms-2\" (click)=\"close($event);\" aria-hidden=\"true\"></i>\n </button>\n\n <MenuContent>\n @if (!disliked()) {\n <menuitem (click)=\"like()\" [attr.aria-label]=\"'feedback.like' | transloco\">\n @if (liked()) {\n <i class=\"fa-fw fas fa-thumbs-up\"></i> {{ 'feedback.liked' | transloco }} } @else { <i class=\"fa-fw far fa-thumbs-up\"></i> {{ 'feedback.like' | transloco\n }} }\n </menuitem>\n } @if (!liked()) {\n <menuitem (click)=\"dislike()\" [attr.aria-label]=\"'feedback.dislike' | transloco\">\n @if (disliked()) {\n <i class=\"fa-fw fas fa-thumbs-down\"></i> {{ 'feedback.disliked' | transloco }} } @else { <i class=\"fa-fw far fa-thumbs-down\"></i> {{ 'feedback.dislike' |\n transloco }} }\n </menuitem>\n } @for (menu of menus; track $index) {\n <menuitem (click)=\"openFeedbackDialog(menu.type)\" [attr.aria-label]=\"'feedback.' + menu.type + '.title' | transloco\">\n <i class=\"fa-fw {{menu.icon}}\"></i> {{ 'feedback.' + menu.type + '.title' | transloco }}\n </menuitem>\n }\n </MenuContent>\n</menu>\n\n<feedback-dialog />\n" }]
|
|
8979
8991
|
}] });
|
|
@@ -8985,19 +8997,19 @@ class AggregationItemComponent {
|
|
|
8985
8997
|
}
|
|
8986
8998
|
onSelect = new EventEmitter();
|
|
8987
8999
|
onOpen = new EventEmitter();
|
|
8988
|
-
node = input.required();
|
|
9000
|
+
node = input.required(...(ngDevMode ? [{ debugName: "node" }] : []));
|
|
8989
9001
|
searchText = inject(AggregationComponent).searchText;
|
|
8990
9002
|
name = computed(() => {
|
|
8991
9003
|
const value = this.node().display || this.node().value;
|
|
8992
9004
|
return typeof value === 'string' ? value : `${value}`;
|
|
8993
|
-
});
|
|
9005
|
+
}, ...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
8994
9006
|
level = computed(() => {
|
|
8995
9007
|
const level = (this.node().$level ?? 0) - 1 + (!this.node().hasChildren ? 1 : 0);
|
|
8996
9008
|
if (this.node().hasChildren === false) {
|
|
8997
9009
|
return level + 1;
|
|
8998
9010
|
}
|
|
8999
9011
|
return level;
|
|
9000
|
-
});
|
|
9012
|
+
}, ...(ngDevMode ? [{ debugName: "level" }] : []));
|
|
9001
9013
|
select(e, item) {
|
|
9002
9014
|
e.stopImmediatePropagation();
|
|
9003
9015
|
item.$selected = !item.$selected;
|
|
@@ -9017,10 +9029,10 @@ class AggregationItemComponent {
|
|
|
9017
9029
|
}
|
|
9018
9030
|
this.onOpen.emit(node);
|
|
9019
9031
|
}
|
|
9020
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
9021
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
9032
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AggregationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9033
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: AggregationItemComponent, isStandalone: true, selector: "aggregation-item, AggregationItem, aggregationitem", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onSelect: "onSelect", onOpen: "onOpen" }, host: { properties: { "attr.disabled": "this.disabled" } }, ngImport: i0, template: "<a\n role=\"listitem\"\n [attr.aria-selected]=\"node().$selected\"\n [attr.aria-label]=\"name() | syslang\"\n [style.--level]=\"level()\"\n [class]=\"\n cn(\n 'flex grow items-center gap-2 p-1 leading-7',\n node().count === 0 && 'disabled pointer-events-none text-neutral-300',\n node().$selected && 'bg-primary-100 text-primary'\n )\n \"\n (click)=\"select($event, node())\">\n <!-- chrevron is visible only if the node has children -->\n <button (click)=\"open($event, node())\" class=\"transition-transform ease-in hover:scale-125\" aria-label=\"Open\">\n <ChevronRight [class]=\"cn('size-4 translate-x-1', node().$opened && 'rotate-90', !node().hasChildren && 'hidden')\" width=\"16\" height=\"16\" />\n </button>\n\n <input\n type=\"checkbox\"\n role=\"checkbox\"\n value=\"{{ node().value }}\"\n [attr.disabled]=\"node().count === 0 ? true : null\"\n [attr.aria-disabled]=\"node().count === 0\"\n (keydown.enter)=\"select($event, node())\"\n [checked]=\"node().$selected\" />\n\n @if (node().icon) {\n <i class=\"fa-fw {{ node().icon }} self-center justify-self-center\" aria-hidden=\"true\"></i>\n }\n <p class=\"line-clamp-1 text-ellipsis break-all\" [title]=\"name() | syslang\">\n @for (chunk of (name() | syslang) ?? '' | highlightWord: searchText() : 10; track $index) {\n <span [class]=\"{ 'font-bold': chunk.match }\" aria-hidden=\"true\">{{ chunk.text }}</span>\n }\n </p>\n</a>\n\n@if (node().hasChildren && node().$opened) {\n @for (item of node().items; track $index) {\n <AggregationItem [node]=\"item\" (onOpen)=\"onOpen.emit($event)\" (onSelect)=\"onSelect.emit($event)\" />\n }\n}\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none}:host a{padding-left:calc((var(--agg-tree-indent, .5rem) * var(--level)))}a{line-height:var(--agg-item-height, inherit)}\n"], dependencies: [{ kind: "component", type: AggregationItemComponent, selector: "aggregation-item, AggregationItem, aggregationitem", inputs: ["node"], outputs: ["onSelect", "onOpen"] }, { kind: "directive", type: ListItemComponent, selector: "[role=\"listitem\"], [role=\"option\"]", inputs: ["class", "variant"] }, { kind: "component", type: ChevronRightIconComponent, selector: "chevron-right, ChevronRight, chevronright", inputs: ["class", "width", "height"] }, { kind: "pipe", type: HighlightWordPipe, name: "highlightWord" }, { kind: "pipe", type: SyslangPipe, name: "syslang" }] });
|
|
9022
9034
|
}
|
|
9023
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
9035
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AggregationItemComponent, decorators: [{
|
|
9024
9036
|
type: Component,
|
|
9025
9037
|
args: [{ selector: 'aggregation-item, AggregationItem, aggregationitem', standalone: true, imports: [HighlightWordPipe, ListItemComponent, SyslangPipe, ChevronRightIconComponent], template: "<a\n role=\"listitem\"\n [attr.aria-selected]=\"node().$selected\"\n [attr.aria-label]=\"name() | syslang\"\n [style.--level]=\"level()\"\n [class]=\"\n cn(\n 'flex grow items-center gap-2 p-1 leading-7',\n node().count === 0 && 'disabled pointer-events-none text-neutral-300',\n node().$selected && 'bg-primary-100 text-primary'\n )\n \"\n (click)=\"select($event, node())\">\n <!-- chrevron is visible only if the node has children -->\n <button (click)=\"open($event, node())\" class=\"transition-transform ease-in hover:scale-125\" aria-label=\"Open\">\n <ChevronRight [class]=\"cn('size-4 translate-x-1', node().$opened && 'rotate-90', !node().hasChildren && 'hidden')\" width=\"16\" height=\"16\" />\n </button>\n\n <input\n type=\"checkbox\"\n role=\"checkbox\"\n value=\"{{ node().value }}\"\n [attr.disabled]=\"node().count === 0 ? true : null\"\n [attr.aria-disabled]=\"node().count === 0\"\n (keydown.enter)=\"select($event, node())\"\n [checked]=\"node().$selected\" />\n\n @if (node().icon) {\n <i class=\"fa-fw {{ node().icon }} self-center justify-self-center\" aria-hidden=\"true\"></i>\n }\n <p class=\"line-clamp-1 text-ellipsis break-all\" [title]=\"name() | syslang\">\n @for (chunk of (name() | syslang) ?? '' | highlightWord: searchText() : 10; track $index) {\n <span [class]=\"{ 'font-bold': chunk.match }\" aria-hidden=\"true\">{{ chunk.text }}</span>\n }\n </p>\n</a>\n\n@if (node().hasChildren && node().$opened) {\n @for (item of node().items; track $index) {\n <AggregationItem [node]=\"item\" (onOpen)=\"onOpen.emit($event)\" (onSelect)=\"onSelect.emit($event)\" />\n }\n}\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none}:host a{padding-left:calc((var(--agg-tree-indent, .5rem) * var(--level)))}a{line-height:var(--agg-item-height, inherit)}\n"] }]
|
|
9026
9038
|
}], propDecorators: { disabled: [{
|
|
@@ -9039,8 +9051,8 @@ class AggregationComponent {
|
|
|
9039
9051
|
/* services */
|
|
9040
9052
|
aggregationsService = inject(AggregationsService);
|
|
9041
9053
|
el = inject(ElementRef);
|
|
9042
|
-
name = input.required();
|
|
9043
|
-
column = input.required();
|
|
9054
|
+
name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
9055
|
+
column = input.required(...(ngDevMode ? [{ debugName: "column" }] : []));
|
|
9044
9056
|
onSelect = output();
|
|
9045
9057
|
/**
|
|
9046
9058
|
* A boolean flag indicating whether the component should operate in headless mode.
|
|
@@ -9048,19 +9060,19 @@ class AggregationComponent {
|
|
|
9048
9060
|
*
|
|
9049
9061
|
* @default false
|
|
9050
9062
|
*/
|
|
9051
|
-
headless = input(false);
|
|
9063
|
+
headless = input(false, ...(ngDevMode ? [{ debugName: "headless" }] : []));
|
|
9052
9064
|
/**
|
|
9053
9065
|
* A boolean flag indicating whether the component is searchable.
|
|
9054
9066
|
* This property is initialized to `undefined` by default.
|
|
9055
9067
|
* "Undefined" and not "false" because this input overrides the custom json settings
|
|
9056
9068
|
*/
|
|
9057
|
-
searchable = input(undefined);
|
|
9058
|
-
selection = signal(false);
|
|
9069
|
+
searchable = input(undefined, ...(ngDevMode ? [{ debugName: "searchable" }] : []));
|
|
9070
|
+
selection = signal(false, ...(ngDevMode ? [{ debugName: "selection" }] : []));
|
|
9059
9071
|
/**
|
|
9060
9072
|
* A boolean flag indicating whether we want to see the filters count when some is applied
|
|
9061
9073
|
* This property is initialized to `false` by default.
|
|
9062
9074
|
*/
|
|
9063
|
-
showCount = input(false);
|
|
9075
|
+
showCount = input(false, ...(ngDevMode ? [{ debugName: "showCount" }] : []));
|
|
9064
9076
|
/* aggregation */
|
|
9065
9077
|
aggregation = computed(() => {
|
|
9066
9078
|
// when the aggegation store updates, we need to check if the aggregation is still valid
|
|
@@ -9076,7 +9088,7 @@ class AggregationComponent {
|
|
|
9076
9088
|
}
|
|
9077
9089
|
}
|
|
9078
9090
|
return null;
|
|
9079
|
-
});
|
|
9091
|
+
}, ...(ngDevMode ? [{ debugName: "aggregation" }] : []));
|
|
9080
9092
|
/* items of the aggretions */
|
|
9081
9093
|
items = computed(() => {
|
|
9082
9094
|
// when the aggegation store updates, we need to check if the aggregation is still valid
|
|
@@ -9091,7 +9103,7 @@ class AggregationComponent {
|
|
|
9091
9103
|
return currentFilters;
|
|
9092
9104
|
}
|
|
9093
9105
|
return [];
|
|
9094
|
-
});
|
|
9106
|
+
}, ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
9095
9107
|
/**
|
|
9096
9108
|
* A computed property that determines whether there are active filters
|
|
9097
9109
|
* for the current aggregation column.
|
|
@@ -9103,7 +9115,7 @@ class AggregationComponent {
|
|
|
9103
9115
|
hasFilters = computed(() => {
|
|
9104
9116
|
const { count = 0 } = this.queryParamsStore.getFilter({ field: this.aggregation()?.column, name: this.aggregation()?.name }) || {};
|
|
9105
9117
|
return count > 0;
|
|
9106
|
-
});
|
|
9118
|
+
}, ...(ngDevMode ? [{ debugName: "hasFilters" }] : []));
|
|
9107
9119
|
/**
|
|
9108
9120
|
* A computed property that returns the number of items of this aggregation applied in the active filters
|
|
9109
9121
|
*
|
|
@@ -9114,21 +9126,21 @@ class AggregationComponent {
|
|
|
9114
9126
|
filtersCount = computed(() => {
|
|
9115
9127
|
const { count = 0 } = this.queryParamsStore.getFilter({ field: this.aggregation()?.column, name: this.aggregation()?.name }) || {};
|
|
9116
9128
|
return count;
|
|
9117
|
-
});
|
|
9129
|
+
}, ...(ngDevMode ? [{ debugName: "filtersCount" }] : []));
|
|
9118
9130
|
/*
|
|
9119
9131
|
* A computed property that returns the height of the component based on its state.
|
|
9120
9132
|
*
|
|
9121
9133
|
* @returns {number} the height of the component in rem.
|
|
9122
9134
|
*/
|
|
9123
|
-
computeHeight = computed(() => (this.headless() ? 0 : 2) + (this.aggregation()?.searchable ? 2 : 0));
|
|
9135
|
+
computeHeight = computed(() => (this.headless() ? 0 : 2) + (this.aggregation()?.searchable ? 2 : 0), ...(ngDevMode ? [{ debugName: "computeHeight" }] : []));
|
|
9124
9136
|
/* search feature */
|
|
9125
|
-
searchText = model('');
|
|
9137
|
+
searchText = model('', ...(ngDevMode ? [{ debugName: "searchText" }] : []));
|
|
9126
9138
|
debouncedSearchText = debouncedSignal(this.searchText, 300);
|
|
9127
9139
|
normalizedSearchText = computed(() => this.debouncedSearchText()
|
|
9128
9140
|
.normalize('NFD')
|
|
9129
|
-
.replace(/[\u0300-\u036f]/g, ''));
|
|
9141
|
+
.replace(/[\u0300-\u036f]/g, ''), ...(ngDevMode ? [{ debugName: "normalizedSearchText" }] : []));
|
|
9130
9142
|
/* suggestions */
|
|
9131
|
-
suggests = signal([]);
|
|
9143
|
+
suggests = signal([], ...(ngDevMode ? [{ debugName: "suggests" }] : []));
|
|
9132
9144
|
/* searched items */
|
|
9133
9145
|
searchedItems = computed(() => {
|
|
9134
9146
|
if (!this.suggests())
|
|
@@ -9147,7 +9159,7 @@ class AggregationComponent {
|
|
|
9147
9159
|
$selected: false,
|
|
9148
9160
|
items: []
|
|
9149
9161
|
}));
|
|
9150
|
-
});
|
|
9162
|
+
}, ...(ngDevMode ? [{ debugName: "searchedItems" }] : []));
|
|
9151
9163
|
query;
|
|
9152
9164
|
constructor() {
|
|
9153
9165
|
this.query = buildQuery();
|
|
@@ -9379,10 +9391,10 @@ class AggregationComponent {
|
|
|
9379
9391
|
}
|
|
9380
9392
|
return currentItems;
|
|
9381
9393
|
}
|
|
9382
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
9383
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
9394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AggregationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9395
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: AggregationComponent, isStandalone: true, selector: "Aggregation, aggregation", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, headless: { classPropertyName: "headless", publicName: "headless", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, showCount: { classPropertyName: "showCount", publicName: "showCount", isSignal: true, isRequired: false, transformFunction: null }, searchText: { classPropertyName: "searchText", publicName: "searchText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelect: "onSelect", searchText: "searchTextChange" }, host: { properties: { "style.--header-height": "`${this.computeHeight()}rem`" }, classAttribute: "d-flex flex-column h-100" }, ngImport: i0, template: "<fieldset class=\"flex flex-col gap-2\">\n @if (!headless()) {\n <legend class=\"mb-1 flex h-8 w-full select-none items-center pl-1 text-sm font-semibold text-gray-600\">\n <ng-content select=\"label\">\n @if (aggregation()?.icon) {\n <i class=\"fa-fw {{ aggregation()?.icon }} mr-1\" aria-hidden=\"true\"></i>\n }\n <span class=\"grow\">{{ aggregation()?.display | syslang | transloco }}</span>\n </ng-content>\n\n @if (showCount() && filtersCount() > 0) {\n <!-- count -->\n <Badge>\n {{ filtersCount() }}\n </Badge>\n }\n @if (hasFilters()) {\n <button\n variant=\"ghost\"\n size=\"icon\"\n [attr.title]=\"'filters.clearFilters' | transloco\"\n [attr.aria-label]=\"'filters.clearFilters' | transloco\"\n (click)=\"clear()\">\n <i class=\"fa-fw far fa-filter-circle-xmark\"></i>\n </button>\n }\n @if (selection()) {\n <button\n variant=\"ghost\"\n size=\"icon\"\n [attr.title]=\"'filters.applyFilters' | transloco\"\n [attr.aria-label]=\"'filters.applyFilters' | transloco\"\n (click)=\"apply()\">\n <i class=\"fa-fw far fa-filter\"></i>\n </button>\n }\n </legend>\n }\n\n @if (aggregation()?.searchable && items().length) {\n <input type=\"text\" [placeholder]=\"'search' | transloco\" [(ngModel)]=\"searchText\" />\n }\n\n <ul class=\"snap-y snap-start overflow-auto\" role=\"list\" [attr.aria-label]=\"aggregation()?.display | syslang | transloco\">\n @for (item of items(); track $index) {\n <AggregationItem [node]=\"item\" (onSelect)=\"select()\" (onOpen)=\"open($event)\" />\n }\n </ul>\n @if (aggregation()?.$hasMore && this.searchedItems().length === 0) {\n <button variant=\"link\" class=\"mt-1 flex w-full justify-center\" [attr.aria-label]=\"'loadMore' | transloco\" (click)=\"loadMore()\">\n {{ 'loadMore' | transloco }}\n </button>\n }\n</fieldset>\n", styles: [":host{display:block}fieldset{height:100%;max-height:inherit;scrollbar-width:thin}ul[role=list]{scrollbar-width:inherit;max-height:calc(100vh - var(--header-height, 0px) - var(--agg-header-height, 0px))}AggregationItem:has(+AggregationItem){margin-bottom:var(--agg-item-gap, inherit)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "directive", type: InputComponent, selector: "input[type=\"text\"], input[type=\"email\"], input[type=\"password\"], input[type=\"number\"], input[type=\"tel\"], input[type=\"url\"], input[type=\"time\"]", inputs: ["class", "variant"] }, { kind: "component", type: AggregationItemComponent, selector: "aggregation-item, AggregationItem, aggregationitem", inputs: ["node"], outputs: ["onSelect", "onOpen"] }, { kind: "directive", type: BadgeComponent, selector: "badge, Badge", inputs: ["class", "variant"] }, { kind: "pipe", type: SyslangPipe, name: "syslang" }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
9384
9396
|
}
|
|
9385
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
9397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AggregationComponent, decorators: [{
|
|
9386
9398
|
type: Component,
|
|
9387
9399
|
args: [{ selector: 'Aggregation, aggregation', imports: [FormsModule, ReactiveFormsModule, ButtonComponent, InputComponent, AggregationItemComponent, SyslangPipe, TranslocoPipe, BadgeComponent], standalone: true, host: {
|
|
9388
9400
|
class: 'd-flex flex-column h-100',
|
|
@@ -9409,11 +9421,11 @@ const FILTER_DATE_ALLOW_CUSTOM_RANGE = new InjectionToken('date allow custom ran
|
|
|
9409
9421
|
class DateComponent extends AggregationComponent {
|
|
9410
9422
|
destroyRef;
|
|
9411
9423
|
cn = cn;
|
|
9412
|
-
title = input({ label: 'Date', icon: 'far fa-calendar-day' });
|
|
9413
|
-
displayEmptyDistributionIntervals = input(false);
|
|
9424
|
+
title = input({ label: 'Date', icon: 'far fa-calendar-day' }, ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
9425
|
+
displayEmptyDistributionIntervals = input(false, ...(ngDevMode ? [{ debugName: "displayEmptyDistributionIntervals" }] : []));
|
|
9414
9426
|
allowCustomRange = inject(FILTER_DATE_ALLOW_CUSTOM_RANGE);
|
|
9415
9427
|
transloco = inject(TranslocoService);
|
|
9416
|
-
dateOptions = computed(() => translateAggregationToDateOptions(this.aggregation(), this.displayEmptyDistributionIntervals()));
|
|
9428
|
+
dateOptions = computed(() => translateAggregationToDateOptions(this.aggregation(), this.displayEmptyDistributionIntervals()), ...(ngDevMode ? [{ debugName: "dateOptions" }] : []));
|
|
9417
9429
|
form = new FormGroup({
|
|
9418
9430
|
option: new FormControl(null),
|
|
9419
9431
|
customRange: new FormGroup({
|
|
@@ -9422,7 +9434,7 @@ class DateComponent extends AggregationComponent {
|
|
|
9422
9434
|
})
|
|
9423
9435
|
});
|
|
9424
9436
|
today = new Date().toISOString().split('T')[0];
|
|
9425
|
-
validSelection = signal(false);
|
|
9437
|
+
validSelection = signal(false, ...(ngDevMode ? [{ debugName: "validSelection" }] : []));
|
|
9426
9438
|
constructor(destroyRef) {
|
|
9427
9439
|
super();
|
|
9428
9440
|
this.destroyRef = destroyRef;
|
|
@@ -9441,7 +9453,7 @@ class DateComponent extends AggregationComponent {
|
|
|
9441
9453
|
return { ...agg, items: agg?.items?.filter((item) => item.display !== 'custom-range') ?? [] };
|
|
9442
9454
|
}
|
|
9443
9455
|
return null;
|
|
9444
|
-
});
|
|
9456
|
+
}, ...(ngDevMode ? [{ debugName: "aggregation" }] : []));
|
|
9445
9457
|
apply() {
|
|
9446
9458
|
try {
|
|
9447
9459
|
const filter = this.getFormValueFilter();
|
|
@@ -9552,19 +9564,19 @@ class DateComponent extends AggregationComponent {
|
|
|
9552
9564
|
}
|
|
9553
9565
|
throw new Error('filters.filterInvalid');
|
|
9554
9566
|
}
|
|
9555
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
9556
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
9567
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DateComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
9568
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: DateComponent, isStandalone: true, selector: "date-filter,DateFilter", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, displayEmptyDistributionIntervals: { classPropertyName: "displayEmptyDistributionIntervals", publicName: "displayEmptyDistributionIntervals", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideTranslocoScope('filters')], usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <fieldset class=\"overflow-auto\">\n @if (!headless()) {\n <legend class=\"mb-1 flex h-8 w-full select-none items-center pl-1 text-sm font-semibold text-gray-600\">\n <p class=\"me-4 grow\">\n <i class=\"fa-fw {{ title().icon }}\" aria-hidden=\"true\"></i>\n {{ title().label | syslang | transloco }}\n </p>\n <div class=\"ms-4\">\n @if (hasFilters()) {\n <button\n variant=\"ghost\"\n size=\"icon\"\n [attr.title]=\"'filters.clearFilters' | transloco\"\n [attr.aria-label]=\"'filters.clearFilters' | transloco\"\n (click)=\"clear()\"\n (keydown.enter)=\"clear()\">\n <i class=\"fa-fw far fa-filter-circle-xmark\" aria-hidden=\"true\"></i>\n </button>\n }\n\n @if (selection() && validSelection()) {\n <button\n variant=\"ghost\"\n size=\"icon\"\n [attr.title]=\"'filters.applyFilters' | transloco\"\n [attr.aria-label]=\"'filters.applyFilters' | transloco\"\n (click)=\"apply()\"\n (keydown.enter)=\"apply()\">\n <i class=\"fa-fw far fa-filter\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n </legend>\n }\n\n <ul class=\"flex flex-col gap-1 pt-2\" role=\"list\">\n @for (option of dateOptions(); track $index) {\n <li\n role=\"listitem\"\n tabindex=\"0\"\n (click)=\"radio.click()\"\n [attr.aria-label]=\"option.display | syslang | transloco\"\n [class]=\"\n cn(\n 'flex p-0 px-2 leading-7',\n form.get('option')?.value === option.display && 'bg-accent',\n option.hidden && 'hidden',\n option.disabled && 'disabled pointer-events-none text-neutral-300'\n )\n \"\n [attr.aria-hidden]=\"option.disabled\">\n <input\n #radio\n type=\"radio\"\n formControlName=\"option\"\n id=\"date-filter-{{ option.display }}\"\n [attr.disabled]=\"option.disabled ? true : null\"\n [attr.aria-disabled]=\"option.disabled\"\n (click)=\"select()\"\n value=\"{{ option.display }}\" />\n\n <label for=\"date-filter-{{ option.display }}\" class=\"grow cursor-pointer p-1\">\n {{ option.display | syslang | transloco }}\n </label>\n </li>\n }\n\n @if (allowCustomRange) {\n <li role=\"listitem\" aria-label=\"custom range\" class=\"flex px-2 leading-7\" [ngClass]=\"{ selected: form.get('option')?.value === 'custom-range' }\">\n <input #radiorange type=\"radio\" formControlName=\"option\" id=\"date-filter-custom-range\" value=\"custom-range\" (click)=\"select()\" />\n\n <div class=\"grid grow grid-cols-[4rem_auto] p-1 *:cursor-pointer\" formGroupName=\"customRange\" (click)=\"radiorange.click()\">\n <label for=\"date-filter-custom-from\">{{ 'from' | transloco }}</label>\n\n <input\n class=\"grow border-b border-neutral-400 bg-transparent text-neutral-600\"\n type=\"date\"\n id=\"date-filter-custom-from\"\n #dateFilterCustomFrom\n formControlName=\"from\"\n [max]=\"form.get('customRange.to')?.value ?? today\" />\n\n <label for=\"date-filter-custom-to\">{{ 'to' | transloco }}</label>\n\n <input\n class=\"border-b border-neutral-400 bg-transparent text-neutral-600\"\n type=\"date\"\n id=\"date-filter-custom-to\"\n formControlName=\"to\"\n [min]=\"form.get('customRange.from')?.value\"\n [max]=\"today\" />\n </div>\n </li>\n }\n </ul>\n </fieldset>\n</form>\n", styles: [":host{display:block}ul[role=list]{scrollbar-width:thin}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "directive", type: ListItemComponent, selector: "[role=\"listitem\"], [role=\"option\"]", inputs: ["class", "variant"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }, { kind: "pipe", type: SyslangPipe, name: "syslang" }] });
|
|
9557
9569
|
}
|
|
9558
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
9570
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DateComponent, decorators: [{
|
|
9559
9571
|
type: Component,
|
|
9560
9572
|
args: [{ selector: 'date-filter,DateFilter', standalone: true, providers: [provideTranslocoScope('filters')], imports: [NgClass, ButtonComponent, ListItemComponent, ReactiveFormsModule, TranslocoPipe, SyslangPipe], template: "<form [formGroup]=\"form\">\n <fieldset class=\"overflow-auto\">\n @if (!headless()) {\n <legend class=\"mb-1 flex h-8 w-full select-none items-center pl-1 text-sm font-semibold text-gray-600\">\n <p class=\"me-4 grow\">\n <i class=\"fa-fw {{ title().icon }}\" aria-hidden=\"true\"></i>\n {{ title().label | syslang | transloco }}\n </p>\n <div class=\"ms-4\">\n @if (hasFilters()) {\n <button\n variant=\"ghost\"\n size=\"icon\"\n [attr.title]=\"'filters.clearFilters' | transloco\"\n [attr.aria-label]=\"'filters.clearFilters' | transloco\"\n (click)=\"clear()\"\n (keydown.enter)=\"clear()\">\n <i class=\"fa-fw far fa-filter-circle-xmark\" aria-hidden=\"true\"></i>\n </button>\n }\n\n @if (selection() && validSelection()) {\n <button\n variant=\"ghost\"\n size=\"icon\"\n [attr.title]=\"'filters.applyFilters' | transloco\"\n [attr.aria-label]=\"'filters.applyFilters' | transloco\"\n (click)=\"apply()\"\n (keydown.enter)=\"apply()\">\n <i class=\"fa-fw far fa-filter\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n </legend>\n }\n\n <ul class=\"flex flex-col gap-1 pt-2\" role=\"list\">\n @for (option of dateOptions(); track $index) {\n <li\n role=\"listitem\"\n tabindex=\"0\"\n (click)=\"radio.click()\"\n [attr.aria-label]=\"option.display | syslang | transloco\"\n [class]=\"\n cn(\n 'flex p-0 px-2 leading-7',\n form.get('option')?.value === option.display && 'bg-accent',\n option.hidden && 'hidden',\n option.disabled && 'disabled pointer-events-none text-neutral-300'\n )\n \"\n [attr.aria-hidden]=\"option.disabled\">\n <input\n #radio\n type=\"radio\"\n formControlName=\"option\"\n id=\"date-filter-{{ option.display }}\"\n [attr.disabled]=\"option.disabled ? true : null\"\n [attr.aria-disabled]=\"option.disabled\"\n (click)=\"select()\"\n value=\"{{ option.display }}\" />\n\n <label for=\"date-filter-{{ option.display }}\" class=\"grow cursor-pointer p-1\">\n {{ option.display | syslang | transloco }}\n </label>\n </li>\n }\n\n @if (allowCustomRange) {\n <li role=\"listitem\" aria-label=\"custom range\" class=\"flex px-2 leading-7\" [ngClass]=\"{ selected: form.get('option')?.value === 'custom-range' }\">\n <input #radiorange type=\"radio\" formControlName=\"option\" id=\"date-filter-custom-range\" value=\"custom-range\" (click)=\"select()\" />\n\n <div class=\"grid grow grid-cols-[4rem_auto] p-1 *:cursor-pointer\" formGroupName=\"customRange\" (click)=\"radiorange.click()\">\n <label for=\"date-filter-custom-from\">{{ 'from' | transloco }}</label>\n\n <input\n class=\"grow border-b border-neutral-400 bg-transparent text-neutral-600\"\n type=\"date\"\n id=\"date-filter-custom-from\"\n #dateFilterCustomFrom\n formControlName=\"from\"\n [max]=\"form.get('customRange.to')?.value ?? today\" />\n\n <label for=\"date-filter-custom-to\">{{ 'to' | transloco }}</label>\n\n <input\n class=\"border-b border-neutral-400 bg-transparent text-neutral-600\"\n type=\"date\"\n id=\"date-filter-custom-to\"\n formControlName=\"to\"\n [min]=\"form.get('customRange.from')?.value\"\n [max]=\"today\" />\n </div>\n </li>\n }\n </ul>\n </fieldset>\n</form>\n", styles: [":host{display:block}ul[role=list]{scrollbar-width:thin}\n"] }]
|
|
9561
9573
|
}], ctorParameters: () => [{ type: i0.DestroyRef }] });
|
|
9562
9574
|
|
|
9563
9575
|
class FilterButtonComponent {
|
|
9564
|
-
name = input.required();
|
|
9565
|
-
column = input.required();
|
|
9566
|
-
position = input('bottom-start');
|
|
9567
|
-
variant = signal('ghost');
|
|
9576
|
+
name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
9577
|
+
column = input.required(...(ngDevMode ? [{ debugName: "column" }] : []));
|
|
9578
|
+
position = input('bottom-start', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
9579
|
+
variant = signal('ghost', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
9568
9580
|
filter = signal({
|
|
9569
9581
|
name: '',
|
|
9570
9582
|
icon: '',
|
|
@@ -9574,7 +9586,7 @@ class FilterButtonComponent {
|
|
|
9574
9586
|
count: 0,
|
|
9575
9587
|
hidden: false,
|
|
9576
9588
|
disabled: false
|
|
9577
|
-
});
|
|
9589
|
+
}, ...(ngDevMode ? [{ debugName: "filter" }] : []));
|
|
9578
9590
|
nativeElement = inject(ElementRef).nativeElement;
|
|
9579
9591
|
aggregationsStore = inject(AggregationsStore);
|
|
9580
9592
|
queryParamsStore = inject(QueryParamsStore);
|
|
@@ -9617,8 +9629,8 @@ class FilterButtonComponent {
|
|
|
9617
9629
|
isDate(column) {
|
|
9618
9630
|
return this.appStore.isDateColumn(column);
|
|
9619
9631
|
}
|
|
9620
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
9621
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
9632
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: FilterButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9633
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: FilterButtonComponent, isStandalone: true, selector: "filter-button, FilterButton", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.hidden": "filter().hidden" } }, ngImport: i0, template: `
|
|
9622
9634
|
<Popover [disabled]="filter().disabled" class="group">
|
|
9623
9635
|
<button
|
|
9624
9636
|
[variant]="variant()"
|
|
@@ -9660,9 +9672,9 @@ class FilterButtonComponent {
|
|
|
9660
9672
|
}
|
|
9661
9673
|
</PopoverContent>
|
|
9662
9674
|
</Popover>
|
|
9663
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: PopoverComponent, selector: "popover, Popover", inputs: ["disabled", "closeOnScroll"] }, { kind: "directive", type: PopoverContentComponent, selector: "popover-content, PopoverContent, popovercontent", inputs: ["position", "keepOpen", "class"] }, { kind: "
|
|
9675
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: PopoverComponent, selector: "popover, Popover", inputs: ["disabled", "closeOnScroll"] }, { kind: "directive", type: PopoverContentComponent, selector: "popover-content, PopoverContent, popovercontent", inputs: ["position", "keepOpen", "class"] }, { kind: "component", type: AggregationComponent, selector: "Aggregation, aggregation", inputs: ["name", "column", "headless", "searchable", "showCount", "searchText"], outputs: ["onSelect", "searchTextChange"] }, { kind: "component", type: DateComponent, selector: "date-filter,DateFilter", inputs: ["title", "displayEmptyDistributionIntervals"] }, { kind: "directive", type: BadgeComponent, selector: "badge, Badge", inputs: ["class", "variant"] }, { kind: "pipe", type: OperatorPipe, name: "operator" }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }, { kind: "pipe", type: SyslangPipe, name: "syslang" }] });
|
|
9664
9676
|
}
|
|
9665
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
9677
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: FilterButtonComponent, decorators: [{
|
|
9666
9678
|
type: Component,
|
|
9667
9679
|
args: [{
|
|
9668
9680
|
selector: 'filter-button, FilterButton',
|
|
@@ -9731,13 +9743,13 @@ const FILTERS_BREAKPOINT = new InjectionToken('FILTERS_BREAKPOINT', { factory: (
|
|
|
9731
9743
|
|
|
9732
9744
|
class MoreComponent {
|
|
9733
9745
|
cn = cn;
|
|
9734
|
-
count = input(2);
|
|
9735
|
-
excludedFilters = input([]);
|
|
9746
|
+
count = input(2, ...(ngDevMode ? [{ debugName: "count" }] : []));
|
|
9747
|
+
excludedFilters = input([], ...(ngDevMode ? [{ debugName: "excludedFilters" }] : []));
|
|
9736
9748
|
route = inject(ActivatedRoute);
|
|
9737
9749
|
appStore = inject(AppStore);
|
|
9738
9750
|
aggregationsStore = inject(AggregationsStore);
|
|
9739
9751
|
queryParamsStore = inject(QueryParamsStore);
|
|
9740
|
-
filters = signal([]);
|
|
9752
|
+
filters = signal([], ...(ngDevMode ? [{ debugName: "filters" }] : []));
|
|
9741
9753
|
constructor() {
|
|
9742
9754
|
effect(() => {
|
|
9743
9755
|
const count = this.count();
|
|
@@ -9804,8 +9816,8 @@ class MoreComponent {
|
|
|
9804
9816
|
const { count = 0 } = this.queryParamsStore.getFilter({ field: aggregation.column, name: aggregation.name }) || {};
|
|
9805
9817
|
return count > 0;
|
|
9806
9818
|
}
|
|
9807
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
9808
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
9819
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9820
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: MoreComponent, isStandalone: true, selector: "more, More", inputs: { count: { classPropertyName: "count", publicName: "count", isSignal: true, isRequired: false, transformFunction: null }, excludedFilters: { classPropertyName: "excludedFilters", publicName: "excludedFilters", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "divide-y divide-gray-200" }, ngImport: i0, template: `
|
|
9809
9821
|
@for (filter of filters(); track $index) {
|
|
9810
9822
|
<li [class]="cn('collapse pb-1', filter.hidden && 'hidden')">
|
|
9811
9823
|
<!-- header -->
|
|
@@ -9865,9 +9877,9 @@ class MoreComponent {
|
|
|
9865
9877
|
</div>
|
|
9866
9878
|
</ng-template>
|
|
9867
9879
|
}
|
|
9868
|
-
`, isInline: true, styles: [":host{scrollbar-width:none}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: AggregationComponent, selector: "Aggregation, aggregation", inputs: ["name", "column", "headless", "searchable", "showCount", "searchText"], outputs: ["onSelect", "searchTextChange"] }, { kind: "
|
|
9880
|
+
`, isInline: true, styles: [":host{scrollbar-width:none}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: AggregationComponent, selector: "Aggregation, aggregation", inputs: ["name", "column", "headless", "searchable", "showCount", "searchText"], outputs: ["onSelect", "searchTextChange"] }, { kind: "component", type: DateComponent, selector: "date-filter,DateFilter", inputs: ["title", "displayEmptyDistributionIntervals"] }, { kind: "directive", type: BadgeComponent, selector: "badge, Badge", inputs: ["class", "variant"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
9869
9881
|
}
|
|
9870
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
9882
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MoreComponent, decorators: [{
|
|
9871
9883
|
type: Component,
|
|
9872
9884
|
args: [{ selector: 'more, More', standalone: true, imports: [NgTemplateOutlet, ButtonComponent, AggregationComponent, TranslocoPipe, DateComponent, BadgeComponent], template: `
|
|
9873
9885
|
@for (filter of filters(); track $index) {
|
|
@@ -9939,9 +9951,9 @@ class MoreButtonComponent {
|
|
|
9939
9951
|
appStore = inject(AppStore);
|
|
9940
9952
|
queryParamsStore = inject(QueryParamsStore);
|
|
9941
9953
|
nativeElement = inject(ElementRef).nativeElement;
|
|
9942
|
-
count = input(2);
|
|
9943
|
-
position = input('bottom-end');
|
|
9944
|
-
excludedFilters = input([]);
|
|
9954
|
+
count = input(2, ...(ngDevMode ? [{ debugName: "count" }] : []));
|
|
9955
|
+
position = input('bottom-end', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
9956
|
+
excludedFilters = input([], ...(ngDevMode ? [{ debugName: "excludedFilters" }] : []));
|
|
9945
9957
|
totalFiltersCount = computed(() => {
|
|
9946
9958
|
const count = this.count();
|
|
9947
9959
|
const authorizedFilters = this.appStore
|
|
@@ -9955,9 +9967,9 @@ class MoreButtonComponent {
|
|
|
9955
9967
|
return acc;
|
|
9956
9968
|
}, 0);
|
|
9957
9969
|
return total;
|
|
9958
|
-
});
|
|
9959
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
9960
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
9970
|
+
}, ...(ngDevMode ? [{ debugName: "totalFiltersCount" }] : []));
|
|
9971
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MoreButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9972
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: MoreButtonComponent, isStandalone: true, selector: "more-button, MoreButton", inputs: { count: { classPropertyName: "count", publicName: "count", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, excludedFilters: { classPropertyName: "excludedFilters", publicName: "excludedFilters", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
9961
9973
|
<Popover class="group">
|
|
9962
9974
|
<button
|
|
9963
9975
|
variant="ghost"
|
|
@@ -9977,9 +9989,9 @@ class MoreButtonComponent {
|
|
|
9977
9989
|
<More [count]="count()" [excludedFilters]="excludedFilters()" class="h-full max-w-80 overflow-y-scroll" />
|
|
9978
9990
|
</PopoverContent>
|
|
9979
9991
|
</Popover>
|
|
9980
|
-
`, isInline: true, styles: [".more-filters{overflow:var(--scrollbar-overflow, hidden);padding-right:0;scrollbar-width:thin;scrollbar-gutter:stable}.more-filters:hover{--scrollbar-overflow: overlay}\n"], dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: PopoverComponent, selector: "popover, Popover", inputs: ["disabled", "closeOnScroll"] }, { kind: "directive", type: PopoverContentComponent, selector: "popover-content, PopoverContent, popovercontent", inputs: ["position", "keepOpen", "class"] }, { kind: "
|
|
9992
|
+
`, isInline: true, styles: [".more-filters{overflow:var(--scrollbar-overflow, hidden);padding-right:0;scrollbar-width:thin;scrollbar-gutter:stable}.more-filters:hover{--scrollbar-overflow: overlay}\n"], dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: PopoverComponent, selector: "popover, Popover", inputs: ["disabled", "closeOnScroll"] }, { kind: "directive", type: PopoverContentComponent, selector: "popover-content, PopoverContent, popovercontent", inputs: ["position", "keepOpen", "class"] }, { kind: "component", type: MoreComponent, selector: "more, More", inputs: ["count", "excludedFilters"] }, { kind: "directive", type: BadgeComponent, selector: "badge, Badge", inputs: ["class", "variant"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
9981
9993
|
}
|
|
9982
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
9994
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: MoreButtonComponent, decorators: [{
|
|
9983
9995
|
type: Component,
|
|
9984
9996
|
args: [{ selector: 'more-button, MoreButton', standalone: true, imports: [ButtonComponent, PopoverComponent, PopoverContentComponent, TranslocoPipe, MoreComponent, BadgeComponent], template: `
|
|
9985
9997
|
<Popover class="group">
|
|
@@ -10005,8 +10017,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
10005
10017
|
}] });
|
|
10006
10018
|
|
|
10007
10019
|
class FiltersBarComponent {
|
|
10008
|
-
class = input();
|
|
10009
|
-
position = input('bottom-start');
|
|
10020
|
+
class = input(...(ngDevMode ? [undefined, { debugName: "class" }] : []));
|
|
10021
|
+
position = input('bottom-start', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
10010
10022
|
/**
|
|
10011
10023
|
* Filters that should be excluded from the filters bar.
|
|
10012
10024
|
* This can be used to hide specific filters from the UI.
|
|
@@ -10014,14 +10026,14 @@ class FiltersBarComponent {
|
|
|
10014
10026
|
* Use the filter column names to specify which filters to exclude.
|
|
10015
10027
|
* For example, to exclude the "geo" filter, set `excludeFilters = ['Geo']`.
|
|
10016
10028
|
*/
|
|
10017
|
-
excludeFilters = input([]);
|
|
10029
|
+
excludeFilters = input([], ...(ngDevMode ? [{ debugName: "excludeFilters" }] : []));
|
|
10018
10030
|
/**
|
|
10019
10031
|
* The number of filters to display before showing the "more filters" button.
|
|
10020
10032
|
* This is used to limit the number of visible filters in the UI.
|
|
10021
10033
|
* The default value is set by the FILTERS_BREAKPOINT injection token.
|
|
10022
10034
|
*/
|
|
10023
|
-
filtersCount = input(inject(FILTERS_BREAKPOINT));
|
|
10024
|
-
direction = input('horizontal');
|
|
10035
|
+
filtersCount = input(inject(FILTERS_BREAKPOINT), ...(ngDevMode ? [{ debugName: "filtersCount" }] : []));
|
|
10036
|
+
direction = input('horizontal', ...(ngDevMode ? [{ debugName: "direction" }] : []));
|
|
10025
10037
|
/**
|
|
10026
10038
|
* Event emitted when the clear filters button is clicked.
|
|
10027
10039
|
* This event can be used to perform additional actions when filters are cleared.
|
|
@@ -10033,9 +10045,9 @@ class FiltersBarComponent {
|
|
|
10033
10045
|
*/
|
|
10034
10046
|
onClearBasket = output();
|
|
10035
10047
|
cn = cn;
|
|
10036
|
-
moreFilterElement = viewChild(MoreButtonComponent);
|
|
10037
|
-
dropdownElements = viewChildren(FilterButtonComponent);
|
|
10038
|
-
overflowManager = viewChild(OverflowManagerDirective);
|
|
10048
|
+
moreFilterElement = viewChild(MoreButtonComponent, ...(ngDevMode ? [{ debugName: "moreFilterElement" }] : []));
|
|
10049
|
+
dropdownElements = viewChildren(FilterButtonComponent, ...(ngDevMode ? [{ debugName: "dropdownElements" }] : []));
|
|
10050
|
+
overflowManager = viewChild(OverflowManagerDirective, ...(ngDevMode ? [{ debugName: "overflowManager" }] : []));
|
|
10039
10051
|
cdr = inject(ChangeDetectorRef);
|
|
10040
10052
|
route = inject(ActivatedRoute);
|
|
10041
10053
|
appStore = inject(AppStore);
|
|
@@ -10045,23 +10057,23 @@ class FiltersBarComponent {
|
|
|
10045
10057
|
transloco = inject(TranslocoService);
|
|
10046
10058
|
router = inject(Router);
|
|
10047
10059
|
destroyRef = inject(DestroyRef);
|
|
10048
|
-
filters = signal([]);
|
|
10049
|
-
moreFilterCount = signal(this.filtersCount());
|
|
10060
|
+
filters = signal([], ...(ngDevMode ? [{ debugName: "filters" }] : []));
|
|
10061
|
+
moreFilterCount = signal(this.filtersCount(), ...(ngDevMode ? [{ debugName: "moreFilterCount" }] : []));
|
|
10050
10062
|
hasFilters = computed(() => {
|
|
10051
10063
|
// when the query parameters store updates, update the hasFilters signal
|
|
10052
10064
|
// to show or hide the clear filters button
|
|
10053
10065
|
const state = getState(this.queryParamsStore);
|
|
10054
10066
|
return state.basket || (Array.isArray(state.filters) && state.filters.length > 0);
|
|
10055
|
-
});
|
|
10067
|
+
}, ...(ngDevMode ? [{ debugName: "hasFilters" }] : []));
|
|
10056
10068
|
currentBasket = computed(() => {
|
|
10057
10069
|
const { basket } = getState(this.queryParamsStore);
|
|
10058
10070
|
return basket;
|
|
10059
|
-
});
|
|
10071
|
+
}, ...(ngDevMode ? [{ debugName: "currentBasket" }] : []));
|
|
10060
10072
|
hasAggregations = computed(() => {
|
|
10061
10073
|
if (this.aggregationsStore.aggregations())
|
|
10062
10074
|
return this.aggregationsStore.aggregations().length > 0;
|
|
10063
10075
|
return false;
|
|
10064
|
-
});
|
|
10076
|
+
}, ...(ngDevMode ? [{ debugName: "hasAggregations" }] : []));
|
|
10065
10077
|
hasMoreFilters = computed(() => {
|
|
10066
10078
|
const moreFiltersAggregations = this.appStore
|
|
10067
10079
|
.getAuthorizedFilters(this.route)
|
|
@@ -10070,7 +10082,7 @@ class FiltersBarComponent {
|
|
|
10070
10082
|
.toSpliced(0, this.moreFilterCount())
|
|
10071
10083
|
.map(f => this.aggregationsStore.getAggregation(f.column, 'column'));
|
|
10072
10084
|
return moreFiltersAggregations;
|
|
10073
|
-
});
|
|
10085
|
+
}, ...(ngDevMode ? [{ debugName: "hasMoreFilters" }] : []));
|
|
10074
10086
|
constructor() {
|
|
10075
10087
|
effect(() => {
|
|
10076
10088
|
// set filters according to the route and the authorized filters with default values
|
|
@@ -10113,8 +10125,8 @@ class FiltersBarComponent {
|
|
|
10113
10125
|
// filtersCount is the number of filters that can be displayed before the "more filters" option is shown
|
|
10114
10126
|
this.moreFilterCount.set(count > this.filtersCount() ? this.filtersCount() : count);
|
|
10115
10127
|
}
|
|
10116
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
10117
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
10128
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: FiltersBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10129
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: FiltersBarComponent, isStandalone: true, selector: "filters-bar, FiltersBar, filtersbar", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, excludeFilters: { classPropertyName: "excludeFilters", publicName: "excludeFilters", isSignal: true, isRequired: false, transformFunction: null }, filtersCount: { classPropertyName: "filtersCount", publicName: "filtersCount", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClearFilters: "onClearFilters", onClearBasket: "onClearBasket" }, host: { attributes: { "role": "list", "aria-label": "Filters list" }, properties: { "class": "cn(\"flex relative z-filter gap-2\", direction() === \"vertical\" ? \"flex-col items-start\" : \"flex-row\", class())" } }, providers: [provideTranslocoScope('filters')], viewQueries: [{ propertyName: "moreFilterElement", first: true, predicate: MoreButtonComponent, descendants: true, isSignal: true }, { propertyName: "dropdownElements", predicate: FilterButtonComponent, descendants: true, isSignal: true }, { propertyName: "overflowManager", first: true, predicate: OverflowManagerDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
10118
10130
|
<ng-container overflowManager [direction]="direction()" [target]="el.nativeElement" (count)="adjustFiltersCount($event)">
|
|
10119
10131
|
@if (hasFilters()) {
|
|
10120
10132
|
<button
|
|
@@ -10151,7 +10163,7 @@ class FiltersBarComponent {
|
|
|
10151
10163
|
</ng-container>
|
|
10152
10164
|
`, isInline: true, dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: MoreButtonComponent, selector: "more-button, MoreButton", inputs: ["count", "position", "excludedFilters"] }, { kind: "component", type: FilterButtonComponent, selector: "filter-button, FilterButton", inputs: ["name", "column", "position"] }, { kind: "directive", type: OverflowManagerDirective, selector: "[overflowManager]", inputs: ["target", "margin", "direction"], outputs: ["count"] }, { kind: "directive", type: OverflowItemDirective, selector: "[overflowItem]" }, { kind: "directive", type: OverflowStopDirective, selector: "[overflowStop]" }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
10153
10165
|
}
|
|
10154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
10166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: FiltersBarComponent, decorators: [{
|
|
10155
10167
|
type: Component,
|
|
10156
10168
|
args: [{
|
|
10157
10169
|
selector: 'filters-bar, FiltersBar, filtersbar',
|
|
@@ -10299,10 +10311,10 @@ class DrawerStackComponent {
|
|
|
10299
10311
|
drawer?.destroy();
|
|
10300
10312
|
}, 250);
|
|
10301
10313
|
}
|
|
10302
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
10303
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
10314
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerStackComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
10315
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: DrawerStackComponent, isStandalone: true, selector: "app-drawer-stack", host: { properties: { "attr.drawer-opened": "this.drawerOpened" } }, ngImport: i0, template: ``, isInline: true, styles: [":host{position:absolute;top:50%;right:0;--drawer-width: 46;--drawer-subdrawer-width: 400px;z-index:var(--z-drawer);transition:right .3s linear}:host[drawer-opened=true]{right:calc(1% * var(--drawer-width))}\n"] });
|
|
10304
10316
|
}
|
|
10305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
10317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerStackComponent, decorators: [{
|
|
10306
10318
|
type: Component,
|
|
10307
10319
|
args: [{ selector: 'app-drawer-stack', template: ``, styles: [":host{position:absolute;top:50%;right:0;--drawer-width: 46;--drawer-subdrawer-width: 400px;z-index:var(--z-drawer);transition:right .3s linear}:host[drawer-opened=true]{right:calc(1% * var(--drawer-width))}\n"] }]
|
|
10308
10320
|
}], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { drawerOpened: [{
|
|
@@ -10335,10 +10347,10 @@ class DrawerService {
|
|
|
10335
10347
|
toggleExtension() {
|
|
10336
10348
|
this.isExtended.getValue() ? this.collapse() : this.extend();
|
|
10337
10349
|
}
|
|
10338
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
10339
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
10350
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10351
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerService });
|
|
10340
10352
|
}
|
|
10341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
10353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerService, decorators: [{
|
|
10342
10354
|
type: Injectable
|
|
10343
10355
|
}] });
|
|
10344
10356
|
|
|
@@ -10346,8 +10358,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
10346
10358
|
* Each Drawer component has it's own drawer service to handle its state and link it to the drawer stack.
|
|
10347
10359
|
*/
|
|
10348
10360
|
class DrawerComponent {
|
|
10349
|
-
drawerOpened = signal(false);
|
|
10350
|
-
drawerExtended = signal(false);
|
|
10361
|
+
drawerOpened = signal(false, ...(ngDevMode ? [{ debugName: "drawerOpened" }] : []));
|
|
10362
|
+
drawerExtended = signal(false, ...(ngDevMode ? [{ debugName: "drawerExtended" }] : []));
|
|
10351
10363
|
drawerGridTemplateColumns = '';
|
|
10352
10364
|
mouseMove(event) {
|
|
10353
10365
|
if (!this.isSliding)
|
|
@@ -10368,7 +10380,7 @@ class DrawerComponent {
|
|
|
10368
10380
|
this.enableAnimation();
|
|
10369
10381
|
this.isSliding = false;
|
|
10370
10382
|
}
|
|
10371
|
-
drawerHandle = viewChild('drawerHandle');
|
|
10383
|
+
drawerHandle = viewChild('drawerHandle', ...(ngDevMode ? [{ debugName: "drawerHandle" }] : []));
|
|
10372
10384
|
drawer = inject(DrawerService);
|
|
10373
10385
|
drawerStack = inject(DrawerStackService);
|
|
10374
10386
|
element = inject(ElementRef).nativeElement;
|
|
@@ -10399,10 +10411,10 @@ class DrawerComponent {
|
|
|
10399
10411
|
resetGridTemplateColumns() {
|
|
10400
10412
|
this.element.style.gridTemplateColumns = this.defaultDrawerGridTemplate;
|
|
10401
10413
|
}
|
|
10402
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
10403
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.
|
|
10414
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10415
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.2", type: DrawerComponent, isStandalone: true, selector: "app-drawer", host: { listeners: { "mousemove": "mouseMove($event)", "mousedown": "mouseDown($event)", "mouseup": "mouseUp()" }, properties: { "attr.drawer-opened": "drawerOpened()", "attr.drawer-extended": "drawerExtended()", "style.grid-template-columns": "this.drawerGridTemplateColumns" } }, providers: [DrawerService], viewQueries: [{ propertyName: "drawerHandle", first: true, predicate: ["drawerHandle"], descendants: true, isSignal: true }], ngImport: i0, template: ``, isInline: true, styles: [":host{--drawer-width: 46;--drawer-subdrawer-width: 400px;display:grid;position:absolute;height:100%;top:0;right:-100%;justify-content:flex-end;width:calc(100vw / 100 * var(--drawer-width) + var(--drawer-subdrawer-width));z-index:var(--z-drawer);grid-template-columns:0 1fr var(--drawer-subdrawer-width);transition:right .3s ease-in-out,transform .3s ease-in-out}:host[drawer-opened=true]{right:calc(var(--drawer-subdrawer-width) * -1);box-shadow:var(--drawer-box-shadow)}:host[drawer-extended=true]{right:0;width:100vw;grid-template-columns:1fr calc(var(--drawer-width) * 1%) var(--drawer-subdrawer-width);box-shadow:unset}\n"] });
|
|
10404
10416
|
}
|
|
10405
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
10417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerComponent, decorators: [{
|
|
10406
10418
|
type: Component,
|
|
10407
10419
|
args: [{ selector: 'app-drawer', standalone: true, providers: [DrawerService], template: ``, host: {
|
|
10408
10420
|
'[attr.drawer-opened]': 'drawerOpened()',
|
|
@@ -10426,10 +10438,10 @@ class DrawerNavbarComponent {
|
|
|
10426
10438
|
drawerStack = inject(DrawerStackService);
|
|
10427
10439
|
drawerService = inject(DrawerService);
|
|
10428
10440
|
isExtended = toSignal(this.drawerService.isExtended);
|
|
10429
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
10430
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
10441
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10442
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: DrawerNavbarComponent, isStandalone: true, selector: "app-drawer-navbar", ngImport: i0, template: "<menu class=\"flex items-center gap-2 p-4 font-semibold\">\n <button variant=\"ghost\" class=\"group\" [attr.title]=\"'back' | transloco\" (click)=\"drawerStack.close()\">\n <i class=\"fa-fw far fa-arrow-left [&_svg]-ms-1 [&_svg]transition-transform opacity-60 group-hover:-translate-x-0.5\"></i>\n {{ 'back' | transloco }}\n </button>\n\n <VerticalDivider />\n\n <ng-content></ng-content>\n</menu>\n", dependencies: [{ kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: VerticalDividerComponent, selector: "vertical-divider, VerticalDivider, verticaldivider" }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
10431
10443
|
}
|
|
10432
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
10444
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerNavbarComponent, decorators: [{
|
|
10433
10445
|
type: Component,
|
|
10434
10446
|
args: [{ selector: 'app-drawer-navbar', standalone: true, imports: [TranslocoPipe, ButtonComponent, VerticalDividerComponent], template: "<menu class=\"flex items-center gap-2 p-4 font-semibold\">\n <button variant=\"ghost\" class=\"group\" [attr.title]=\"'back' | transloco\" (click)=\"drawerStack.close()\">\n <i class=\"fa-fw far fa-arrow-left [&_svg]-ms-1 [&_svg]transition-transform opacity-60 group-hover:-translate-x-0.5\"></i>\n {{ 'back' | transloco }}\n </button>\n\n <VerticalDivider />\n\n <ng-content></ng-content>\n</menu>\n" }]
|
|
10435
10447
|
}] });
|
|
@@ -10466,15 +10478,15 @@ class DrawerAdvancedFiltersComponent extends DrawerComponent {
|
|
|
10466
10478
|
value: this.formBuilder.control(undefined)
|
|
10467
10479
|
})
|
|
10468
10480
|
});
|
|
10469
|
-
currentTab = signal('all');
|
|
10470
|
-
currentFilter = signal(undefined);
|
|
10471
|
-
appliedFilters = signal([]);
|
|
10472
|
-
suggestions = signal([]);
|
|
10473
|
-
aggregations = signal(undefined);
|
|
10481
|
+
currentTab = signal('all', ...(ngDevMode ? [{ debugName: "currentTab" }] : []));
|
|
10482
|
+
currentFilter = signal(undefined, ...(ngDevMode ? [{ debugName: "currentFilter" }] : []));
|
|
10483
|
+
appliedFilters = signal([], ...(ngDevMode ? [{ debugName: "appliedFilters" }] : []));
|
|
10484
|
+
suggestions = signal([], ...(ngDevMode ? [{ debugName: "suggestions" }] : []));
|
|
10485
|
+
aggregations = signal(undefined, ...(ngDevMode ? [{ debugName: "aggregations" }] : []));
|
|
10474
10486
|
tabs = computed(() => {
|
|
10475
10487
|
const routeData = this.router.config.find(c => c.path === searchRoute);
|
|
10476
10488
|
return !routeData ? [] : ['all'].concat(routeData.children.filter(c => !!c.path && c.path !== 'all' && c.path !== '**').map(c => c.path));
|
|
10477
|
-
});
|
|
10489
|
+
}, ...(ngDevMode ? [{ debugName: "tabs" }] : []));
|
|
10478
10490
|
filters = computed(() => {
|
|
10479
10491
|
return (this.appStore
|
|
10480
10492
|
.customizationJson()
|
|
@@ -10484,7 +10496,7 @@ class DrawerAdvancedFiltersComponent extends DrawerComponent {
|
|
|
10484
10496
|
alias: this.appStore.getColumnAlias(f.column),
|
|
10485
10497
|
items: this.aggregations()?.find(a => a.column === f.column)?.items
|
|
10486
10498
|
})) || []);
|
|
10487
|
-
});
|
|
10499
|
+
}, ...(ngDevMode ? [{ debugName: "filters" }] : []));
|
|
10488
10500
|
text = '';
|
|
10489
10501
|
constructor() {
|
|
10490
10502
|
super();
|
|
@@ -10648,16 +10660,16 @@ class DrawerAdvancedFiltersComponent extends DrawerComponent {
|
|
|
10648
10660
|
// todo handle tree items
|
|
10649
10661
|
return res;
|
|
10650
10662
|
}
|
|
10651
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
10652
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
10663
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerAdvancedFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10664
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: DrawerAdvancedFiltersComponent, isStandalone: true, selector: "advanced-filters", providers: [DrawerService, provideTranslocoScope('drawers')], usesInheritance: true, ngImport: i0, template: "<div (click)=\"drawer.toggleExtension()\" (keydown.escape)=\"drawer.toggleExtension()\" [attr.aria-hidden]=\"true\"></div>\n\n<div class=\"flex h-full flex-col overflow-auto bg-white\">\n <app-drawer-navbar class=\"block border-b border-neutral-300 bg-white\">\n <button [attr.title]=\"'drawers.search' | transloco\" (click)=\"onSearch()\">\n {{ 'drawers.search' | transloco }}\n </button>\n </app-drawer-navbar>\n\n <div class=\"flex h-full flex-grow flex-col overflow-auto\">\n <section class=\"flex flex-col gap-4 p-6\" [formGroup]=\"form\">\n <!-- FIND IN -->\n <h1 class=\"text-xl font-bold\">{{ 'drawers.findInContent' | transloco }}</h1>\n <div class=\"flex items-center gap-4\" formGroupName=\"content\">\n <span class=\"w-1/3 font-semibold\">{{ 'drawers.findInContent' | transloco }}</span>\n <select\n id=\"content-operator\"\n class=\"hover:outline-primary focus:outline-primary h-8 w-full rounded-md border border-gray-200 bg-neutral-50 px-2 hover:bg-white hover:outline focus:bg-white focus:outline\"\n formControlName=\"operator\">\n @for (data of selectData; track $index) {\n <option [value]=\"data.operator\">{{ 'drawers.' + data.display | transloco }}</option>\n }\n </select>\n <input\n id=\"content-value\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [placeholder]=\"getPlaceholder('content.operator')\"\n formControlName=\"value\" />\n </div>\n <div class=\"flex items-center gap-4\" formGroupName=\"title\">\n <span class=\"w-1/3 font-semibold\">{{ 'drawers.findInTitle' | transloco }}</span>\n <select\n id=\"title-operator\"\n class=\"hover:outline-primary focus:outline-primary h-8 w-full rounded-md border border-gray-200 bg-neutral-50 px-2 hover:bg-white hover:outline focus:bg-white focus:outline\"\n formControlName=\"operator\">\n @for (data of selectData; track $index) {\n <option [value]=\"data.operator\">{{ 'drawers.' + data.display | transloco }}</option>\n }\n </select>\n <input id=\"title-value\" type=\"text\" autocomplete=\"off\" spellcheck=\"false\" [placeholder]=\"getPlaceholder('title.operator')\" formControlName=\"value\" />\n </div>\n <div class=\"flex items-center gap-4\" formGroupName=\"location\">\n <span class=\"w-1/3 font-semibold\">{{ 'drawers.findInLocation' | transloco }}</span>\n <select\n id=\"location-operator\"\n class=\"hover:outline-primary focus:outline-primary h-8 w-full rounded-md border border-gray-200 bg-neutral-50 px-2 hover:bg-white hover:outline focus:bg-white focus:outline\"\n formControlName=\"operator\">\n @for (data of selectData; track $index) {\n <option [value]=\"data.operator\">{{ 'drawers.' + data.display | transloco }}</option>\n }\n </select>\n <input\n id=\"location-value\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [placeholder]=\"getPlaceholder('location.operator')\"\n formControlName=\"value\" />\n </div>\n\n <!-- TABS -->\n <h1 class=\"mt-4 text-xl font-bold\">{{ 'drawers.inScope' | transloco }} "{{ currentTab() }}"</h1>\n <div class=\"inline-flex -space-x-px rtl:space-x-reverse\">\n @for (tab of tabs(); track $index) {\n <button\n [variant]=\"tab !== currentTab() ? 'outline' : 'default'\"\n class=\"rounded-none shadow-none first:rounded-s-md last:rounded-e-md\"\n (click)=\"onTabChange(tab)\">\n {{ tab }}\n </button>\n }\n </div>\n\n <!-- FILTERS -->\n <h1 class=\"mt-4 text-xl font-bold\">{{ 'drawers.applyFilters' | transloco }}</h1>\n @for (filter of filters(); track $index) {\n <DropdownInput\n [suggestions]=\"suggestions()\"\n [selected]=\"getItems(filter.column)\"\n [label]=\"filter.alias\"\n [placeholder]=\"'drawers.startTyping' | transloco\"\n [noResultLabel]=\"'drawers.noResult' | transloco\"\n (onFocus)=\"setFilterFocus($event, filter)\"\n (onKeyUp)=\"onInputTyping($event)\"\n (removeItem)=\"removeItem($event, filter)\"\n (addItem)=\"addItem($event, filter)\" />\n } @empty {\n {{ 'drawers.noFilters' | transloco }}\n }\n </section>\n </div>\n</div>\n", styles: [":host{--drawer-width: 46;--drawer-subdrawer-width: 400px;display:grid;justify-content:flex-end;position:absolute;top:0;height:100%;right:-100%;width:calc(100vw / 100 * var(--drawer-width) + var(--drawer-subdrawer-width));z-index:var(--z-drawer);grid-template-columns:0 1fr var(--drawer-subdrawer-width);transition:right .3s ease-in-out,transform .3s ease-in-out}:host[drawer-opened=true]{right:calc(var(--drawer-subdrawer-width) * -1);box-shadow:var(--drawer-box-shadow)}:host[drawer-extended=true]{width:100vw;right:calc(var(--spacing) * 0);grid-template-columns:1fr calc(var(--drawer-width) * 1%) var(--drawer-subdrawer-width);box-shadow:unset}:is() .dropdown{width:100%}:is() .dropdown-content{width:50%}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: DrawerNavbarComponent, selector: "app-drawer-navbar" }, { kind: "component", type: DropdownInputComponent, selector: "dropdown-input, DropdownInput", inputs: ["label", "placeholder", "noResultLabel", "suggestions", "selected"], outputs: ["onFocus", "onKeyUp", "removeItem", "addItem"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "directive", type: InputComponent, selector: "input[type=\"text\"], input[type=\"email\"], input[type=\"password\"], input[type=\"number\"], input[type=\"tel\"], input[type=\"url\"], input[type=\"time\"]", inputs: ["class", "variant"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
10653
10665
|
}
|
|
10654
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
10666
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerAdvancedFiltersComponent, decorators: [{
|
|
10655
10667
|
type: Component,
|
|
10656
10668
|
args: [{ selector: 'advanced-filters', standalone: true, imports: [ReactiveFormsModule, TranslocoPipe, DrawerNavbarComponent, DropdownInputComponent, ButtonComponent, InputComponent], providers: [DrawerService, provideTranslocoScope('drawers')], template: "<div (click)=\"drawer.toggleExtension()\" (keydown.escape)=\"drawer.toggleExtension()\" [attr.aria-hidden]=\"true\"></div>\n\n<div class=\"flex h-full flex-col overflow-auto bg-white\">\n <app-drawer-navbar class=\"block border-b border-neutral-300 bg-white\">\n <button [attr.title]=\"'drawers.search' | transloco\" (click)=\"onSearch()\">\n {{ 'drawers.search' | transloco }}\n </button>\n </app-drawer-navbar>\n\n <div class=\"flex h-full flex-grow flex-col overflow-auto\">\n <section class=\"flex flex-col gap-4 p-6\" [formGroup]=\"form\">\n <!-- FIND IN -->\n <h1 class=\"text-xl font-bold\">{{ 'drawers.findInContent' | transloco }}</h1>\n <div class=\"flex items-center gap-4\" formGroupName=\"content\">\n <span class=\"w-1/3 font-semibold\">{{ 'drawers.findInContent' | transloco }}</span>\n <select\n id=\"content-operator\"\n class=\"hover:outline-primary focus:outline-primary h-8 w-full rounded-md border border-gray-200 bg-neutral-50 px-2 hover:bg-white hover:outline focus:bg-white focus:outline\"\n formControlName=\"operator\">\n @for (data of selectData; track $index) {\n <option [value]=\"data.operator\">{{ 'drawers.' + data.display | transloco }}</option>\n }\n </select>\n <input\n id=\"content-value\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [placeholder]=\"getPlaceholder('content.operator')\"\n formControlName=\"value\" />\n </div>\n <div class=\"flex items-center gap-4\" formGroupName=\"title\">\n <span class=\"w-1/3 font-semibold\">{{ 'drawers.findInTitle' | transloco }}</span>\n <select\n id=\"title-operator\"\n class=\"hover:outline-primary focus:outline-primary h-8 w-full rounded-md border border-gray-200 bg-neutral-50 px-2 hover:bg-white hover:outline focus:bg-white focus:outline\"\n formControlName=\"operator\">\n @for (data of selectData; track $index) {\n <option [value]=\"data.operator\">{{ 'drawers.' + data.display | transloco }}</option>\n }\n </select>\n <input id=\"title-value\" type=\"text\" autocomplete=\"off\" spellcheck=\"false\" [placeholder]=\"getPlaceholder('title.operator')\" formControlName=\"value\" />\n </div>\n <div class=\"flex items-center gap-4\" formGroupName=\"location\">\n <span class=\"w-1/3 font-semibold\">{{ 'drawers.findInLocation' | transloco }}</span>\n <select\n id=\"location-operator\"\n class=\"hover:outline-primary focus:outline-primary h-8 w-full rounded-md border border-gray-200 bg-neutral-50 px-2 hover:bg-white hover:outline focus:bg-white focus:outline\"\n formControlName=\"operator\">\n @for (data of selectData; track $index) {\n <option [value]=\"data.operator\">{{ 'drawers.' + data.display | transloco }}</option>\n }\n </select>\n <input\n id=\"location-value\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [placeholder]=\"getPlaceholder('location.operator')\"\n formControlName=\"value\" />\n </div>\n\n <!-- TABS -->\n <h1 class=\"mt-4 text-xl font-bold\">{{ 'drawers.inScope' | transloco }} "{{ currentTab() }}"</h1>\n <div class=\"inline-flex -space-x-px rtl:space-x-reverse\">\n @for (tab of tabs(); track $index) {\n <button\n [variant]=\"tab !== currentTab() ? 'outline' : 'default'\"\n class=\"rounded-none shadow-none first:rounded-s-md last:rounded-e-md\"\n (click)=\"onTabChange(tab)\">\n {{ tab }}\n </button>\n }\n </div>\n\n <!-- FILTERS -->\n <h1 class=\"mt-4 text-xl font-bold\">{{ 'drawers.applyFilters' | transloco }}</h1>\n @for (filter of filters(); track $index) {\n <DropdownInput\n [suggestions]=\"suggestions()\"\n [selected]=\"getItems(filter.column)\"\n [label]=\"filter.alias\"\n [placeholder]=\"'drawers.startTyping' | transloco\"\n [noResultLabel]=\"'drawers.noResult' | transloco\"\n (onFocus)=\"setFilterFocus($event, filter)\"\n (onKeyUp)=\"onInputTyping($event)\"\n (removeItem)=\"removeItem($event, filter)\"\n (addItem)=\"addItem($event, filter)\" />\n } @empty {\n {{ 'drawers.noFilters' | transloco }}\n }\n </section>\n </div>\n</div>\n", styles: [":host{--drawer-width: 46;--drawer-subdrawer-width: 400px;display:grid;justify-content:flex-end;position:absolute;top:0;height:100%;right:-100%;width:calc(100vw / 100 * var(--drawer-width) + var(--drawer-subdrawer-width));z-index:var(--z-drawer);grid-template-columns:0 1fr var(--drawer-subdrawer-width);transition:right .3s ease-in-out,transform .3s ease-in-out}:host[drawer-opened=true]{right:calc(var(--drawer-subdrawer-width) * -1);box-shadow:var(--drawer-box-shadow)}:host[drawer-extended=true]{width:100vw;right:calc(var(--spacing) * 0);grid-template-columns:1fr calc(var(--drawer-width) * 1%) var(--drawer-subdrawer-width);box-shadow:unset}:is() .dropdown{width:100%}:is() .dropdown-content{width:50%}\n"] }]
|
|
10657
10669
|
}], ctorParameters: () => [] });
|
|
10658
10670
|
|
|
10659
10671
|
class AdvancedSearchComponent {
|
|
10660
|
-
article = input.required();
|
|
10672
|
+
article = input.required(...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
10661
10673
|
destroyRef = inject(DestroyRef);
|
|
10662
10674
|
labels = inject(AppStore).getLabels();
|
|
10663
10675
|
applicationStore = inject(ApplicationStore);
|
|
@@ -10665,14 +10677,14 @@ class AdvancedSearchComponent {
|
|
|
10665
10677
|
selectionStore = inject(SelectionStore);
|
|
10666
10678
|
previewService = inject(PreviewService);
|
|
10667
10679
|
queryParamsStore = inject(QueryParamsStore);
|
|
10668
|
-
input = signal(getState(this.selectionStore).queryText || '');
|
|
10680
|
+
input = signal(getState(this.selectionStore).queryText || '', ...(ngDevMode ? [{ debugName: "input" }] : []));
|
|
10669
10681
|
extracts = computed(() => {
|
|
10670
10682
|
getState(this.applicationStore);
|
|
10671
10683
|
if (!this.article())
|
|
10672
10684
|
return [];
|
|
10673
10685
|
return this.applicationStore.getExtracts(this.article().id);
|
|
10674
|
-
});
|
|
10675
|
-
similarDocuments = signal([]);
|
|
10686
|
+
}, ...(ngDevMode ? [{ debugName: "extracts" }] : []));
|
|
10687
|
+
similarDocuments = signal([], ...(ngDevMode ? [{ debugName: "similarDocuments" }] : []));
|
|
10676
10688
|
previewHighlights = computed(() => {
|
|
10677
10689
|
const highlights = this.appStore.getWebServiceByType('preview')?.highlights
|
|
10678
10690
|
?.split(',')
|
|
@@ -10682,17 +10694,17 @@ class AdvancedSearchComponent {
|
|
|
10682
10694
|
entity: highlight,
|
|
10683
10695
|
metadata: this.article()[highlight]
|
|
10684
10696
|
}));
|
|
10685
|
-
});
|
|
10686
|
-
navigation = signal(undefined);
|
|
10687
|
-
hovering = signal(undefined);
|
|
10688
|
-
hoverIndex = computed(() => (this.navigation()?.value === this.hovering() ? this.navigation().index : 0));
|
|
10697
|
+
}, ...(ngDevMode ? [{ debugName: "previewHighlights" }] : []));
|
|
10698
|
+
navigation = signal(undefined, ...(ngDevMode ? [{ debugName: "navigation" }] : []));
|
|
10699
|
+
hovering = signal(undefined, ...(ngDevMode ? [{ debugName: "hovering" }] : []));
|
|
10700
|
+
hoverIndex = computed(() => (this.navigation()?.value === this.hovering() ? this.navigation().index : 0), ...(ngDevMode ? [{ debugName: "hoverIndex" }] : []));
|
|
10689
10701
|
hasLabels = computed(() => {
|
|
10690
10702
|
const article = this.article(); // required as any otherwise the lines below won't compile
|
|
10691
10703
|
const publicLabels = article[this.labels.public];
|
|
10692
10704
|
const privateLabels = article[this.labels.private];
|
|
10693
10705
|
return (publicLabels && publicLabels.length > 0) || (privateLabels && privateLabels.length > 0);
|
|
10694
|
-
});
|
|
10695
|
-
loading = signal(true);
|
|
10706
|
+
}, ...(ngDevMode ? [{ debugName: "hasLabels" }] : []));
|
|
10707
|
+
loading = signal(true, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
10696
10708
|
constructor() {
|
|
10697
10709
|
this.previewService.events.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(event => {
|
|
10698
10710
|
switch (event) {
|
|
@@ -10746,10 +10758,10 @@ class AdvancedSearchComponent {
|
|
|
10746
10758
|
this.scrollTo(entity, id);
|
|
10747
10759
|
}
|
|
10748
10760
|
}
|
|
10749
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
10750
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
10761
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AdvancedSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10762
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: AdvancedSearchComponent, isStandalone: true, selector: "advanced-search", inputs: { article: { classPropertyName: "article", publicName: "article", isSignal: true, isRequired: true, transformFunction: null } }, providers: [provideTranslocoScope('drawers')], ngImport: i0, template: "@if (article()) {\n <div class=\"scroll-stable flex h-screen flex-col overflow-y-auto pb-6 pl-6 pr-3\">\n <section class=\"mb-4 mt-6 flex w-full flex-col gap-6\">\n <header\n id=\"panel-control\"\n class=\"focus-within:outline-primary group flex rounded focus-within:outline hover:outline [&:not(:focus-within)]:hover:outline-neutral-300\">\n <div class=\"flex grow items-center gap-2 rounded-e-none rounded-s bg-neutral-50 pl-2 group-hover:bg-white\">\n <input\n id=\"advanced-search-input\"\n type=\"search\"\n class=\"grow bg-neutral-50 focus:outline-none group-hover:bg-white\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [attr.placeholder]=\"'drawers.inputPlaceholder' | transloco\"\n [attr.aria-label]=\"'drawers.inputPlaceholder' | transloco\"\n [ngModel]=\"input()\"\n (ngModelChange)=\"input.set($event)\"\n (keydown.enter)=\"executeSearch()\" />\n\n @if (input() !== '') {\n <button\n variant=\"icon\"\n size=\"icon\"\n [attr.title]=\"'clear' | transloco\"\n [attr.aria-label]=\"'clear' | transloco\"\n (click)=\"clearInput()\"\n (keydown.enter)=\"clearInput()\">\n <i class=\"fa-fw far fa-circle-xmark\"></i>\n </button>\n }\n </div>\n\n <button\n size=\"icon\"\n class=\"rounded-e rounded-s-none group-focus-within:rounded-br-none\"\n [disabled]=\"input() === '' || null\"\n [attr.title]=\"'search' | transloco\"\n [attr.aria-label]=\"'search' | transloco\"\n (click)=\"executeSearch()\">\n <i class=\"fa-fw far fa-magnifying-glass\"></i>\n </button>\n </header>\n </section>\n\n <!-- the same name is used everywhere to simulate an accordion -->\n <!-- extracts -->\n <details name=\"advanced-search-panels\" class=\"group border-b border-neutral-300\" open>\n <summary class=\"sticky top-0 flex cursor-pointer select-none items-baseline justify-between bg-white p-3\">\n <p class=\"flex items-baseline gap-2 font-semibold\">\n <i class=\"fa-fw far fa-magnifying-glass\"></i>\n {{ 'extracts' | transloco }}\n </p>\n\n <i class=\"fa-fw far fa-chevron-down group-open:rotate-180\"></i>\n </summary>\n\n @if (loading()) {\n <div class=\"flex h-32 items-center justify-center\">\n <i class=\"fa-fw far fa-spinner-third fa-spin text-primary\"></i>\n </div>\n } @else {\n <ul>\n @for (extract of extracts(); track $index) {\n <li class=\"hover:bg-highlight mr-2 rounded px-2 py-1\" [id]=\"extract.id\" [attr.data-id]=\"extract.textIndex\">\n <p class=\"cursor-pointer\" role=\"button\" [innerHTML]=\"extract.text\" (click)=\"scrollTo(undefined, extract.textIndex, true)\"></p>\n </li>\n\n <li class=\"mr-2 h-[1px] bg-neutral-200 px-2\"></li>\n } @empty {\n <li class=\"text-slate-300\">{{ 'drawers.noRelevantExtracts' | transloco }}</li>\n }\n </ul>\n }\n </details>\n\n <!-- labels -->\n @if (hasLabels()) {\n <details class=\"group border-b border-neutral-300\" name=\"advanced-search-panels\">\n <summary class=\"sticky top-0 flex cursor-pointer select-none items-baseline justify-between bg-white p-3\">\n <p class=\"flex items-baseline gap-2 font-semibold\">\n <i class=\"fa-fw far fa-tags\"></i>\n {{ 'labels' | transloco }}\n </p>\n\n <i class=\"fa-fw far fa-chevron-down group-open:rotate-180\"></i>\n </summary>\n\n <div>\n <ul class=\"mt-4 flex flex-col flex-wrap gap-2\">\n <li>\n <Metadata variant=\"outline\" [article]=\"article()!\" [metadata]=\"labels.public\" />\n </li>\n\n <li>\n <Metadata variant=\"outline\" [article]=\"article()!\" [metadata]=\"labels.private\" />\n </li>\n </ul>\n </div>\n </details>\n }\n\n <!-- entities -->\n <details name=\"advanced-search-panels\" class=\"group border-b border-neutral-300\">\n <summary class=\"sticky top-0 flex cursor-pointer select-none items-baseline justify-between bg-white p-3\">\n <p class=\"flex items-baseline gap-2 font-semibold capitalize\">\n <i class=\"fa-fw far fa-highlighter\"></i>\n {{ 'entities' | transloco }}\n </p>\n\n <i class=\"fa-fw far fa-chevron-down group-open:rotate-180\"></i>\n </summary>\n @for (highlight of previewHighlights(); track $index) {\n @if (highlight.metadata) {\n <ng-container *ngTemplateOutlet=\"metadataPanel; context: highlight\" />\n }\n }\n </details>\n\n <!-- similar documents -->\n @if (similarDocuments().length > 0) {\n <details class=\"group border-b border-neutral-300\" name=\"advanced-search-panels\">\n <summary class=\"sticky top-0 flex cursor-pointer select-none items-baseline justify-between bg-white p-3\">\n <p class=\"flex items-baseline gap-2 font-semibold\">\n <i class=\"fa-fw far fa-tags\"></i>\n {{ 'drawers.similarDocuments' | transloco }}\n </p>\n\n <i class=\"fa-fw far fa-chevron-down group-open:rotate-180\"></i>\n </summary>\n\n <div>\n <ul class=\"mb-2 mt-4 flex flex-col flex-wrap px-2\" role=\"list\">\n @for (document of similarDocuments(); track $index) {\n <li role=\"listitem\" selectArticleOnClick [article]=\"document\" strategy=\"stack\">\n <div class=\"text-primary flex size-[20px] items-center justify-center rounded-full bg-neutral-50\">\n <source [collection]=\"article().collection\" [connector]=\"article().connector\" class=\"text-xs\" />\n </div>\n\n <span>{{ document.displayTitle ?? document.title }}</span>\n </li>\n }\n </ul>\n </div>\n </details>\n }\n </div>\n}\n\n<!-- entities's template -->\n<ng-template #metadataPanel let-metadata=\"metadata\" let-name=\"name\" let-iconClass=\"iconClass\" let-entity=\"entity\">\n <details name=\"advanced-search-entities\" class=\"group/entities px-3 pb-3\">\n <summary class=\"sticky top-8 flex cursor-pointer select-none items-baseline justify-between bg-white\">\n <p class=\"flex items-baseline gap-2 font-semibold capitalize\">\n <i class=\"fa-fw {{ iconClass || 'far fa-list' }}\"></i>\n {{ name | transloco }}\n </p>\n\n <i class=\"fa-fw far fa-chevron-down group-open/entities:rotate-180\"></i>\n </summary>\n\n <ul role=\"list\">\n @for (data of metadata; track $index) {\n <li role=\"listitem\" class=\"flex justify-between py-1 pl-2\" (mouseenter)=\"hovering.set(data.value)\" (mouseleave)=\"hovering.set(undefined)\">\n <!-- shrink w-1/2 grow truncate ovoid the overlap when hovering the row -->\n <p class=\"w-1/2 shrink grow truncate\">{{ data.display }}</p>\n\n <p class=\"flex items-center gap-2\">\n @if (hovering() === data.value) {\n <i class=\"fa-light fa-chevron-left\" aria-label=\"previous entity\" role=\"button\" (click)=\"navigatePrev(entity, data)\"></i>\n\n <span>{{ hoverIndex() }} / {{ data.count }}</span>\n\n <i class=\"fa-light fa-chevron-right\" aria-label=\"next entity\" role=\"button\" (click)=\"navigateNext(entity, data)\"></i>\n } @else {\n {{ data.count }}\n }\n </p>\n </li>\n }\n </ul>\n </details>\n</ng-template>\n", styles: [":host{--panel-max-height: none}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ButtonComponent, selector: "button", inputs: ["class", "variant", "size"] }, { kind: "component", type: MetadataComponent, selector: "Metadata, metadata", inputs: ["class", "variant", "metadata", "article", "limit"], outputs: ["click"], exportAs: ["metadata"] }, { kind: "directive", type: ListItemComponent, selector: "[role=\"listitem\"], [role=\"option\"]", inputs: ["class", "variant"] }, { kind: "component", type: SourceComponent, selector: "source, Source", inputs: ["collection", "connector"] }, { kind: "directive", type: SelectArticleOnClickDirective, selector: "[appSelectArticleOnClick],[selectArticleOnClick]", inputs: ["article", "strategy"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] });
|
|
10751
10763
|
}
|
|
10752
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
10764
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: AdvancedSearchComponent, decorators: [{
|
|
10753
10765
|
type: Component,
|
|
10754
10766
|
args: [{ selector: 'advanced-search', standalone: true, providers: [provideTranslocoScope('drawers')], imports: [NgTemplateOutlet, FormsModule, ButtonComponent, MetadataComponent, ListItemComponent, TranslocoPipe, SourceComponent, SelectArticleOnClickDirective], template: "@if (article()) {\n <div class=\"scroll-stable flex h-screen flex-col overflow-y-auto pb-6 pl-6 pr-3\">\n <section class=\"mb-4 mt-6 flex w-full flex-col gap-6\">\n <header\n id=\"panel-control\"\n class=\"focus-within:outline-primary group flex rounded focus-within:outline hover:outline [&:not(:focus-within)]:hover:outline-neutral-300\">\n <div class=\"flex grow items-center gap-2 rounded-e-none rounded-s bg-neutral-50 pl-2 group-hover:bg-white\">\n <input\n id=\"advanced-search-input\"\n type=\"search\"\n class=\"grow bg-neutral-50 focus:outline-none group-hover:bg-white\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [attr.placeholder]=\"'drawers.inputPlaceholder' | transloco\"\n [attr.aria-label]=\"'drawers.inputPlaceholder' | transloco\"\n [ngModel]=\"input()\"\n (ngModelChange)=\"input.set($event)\"\n (keydown.enter)=\"executeSearch()\" />\n\n @if (input() !== '') {\n <button\n variant=\"icon\"\n size=\"icon\"\n [attr.title]=\"'clear' | transloco\"\n [attr.aria-label]=\"'clear' | transloco\"\n (click)=\"clearInput()\"\n (keydown.enter)=\"clearInput()\">\n <i class=\"fa-fw far fa-circle-xmark\"></i>\n </button>\n }\n </div>\n\n <button\n size=\"icon\"\n class=\"rounded-e rounded-s-none group-focus-within:rounded-br-none\"\n [disabled]=\"input() === '' || null\"\n [attr.title]=\"'search' | transloco\"\n [attr.aria-label]=\"'search' | transloco\"\n (click)=\"executeSearch()\">\n <i class=\"fa-fw far fa-magnifying-glass\"></i>\n </button>\n </header>\n </section>\n\n <!-- the same name is used everywhere to simulate an accordion -->\n <!-- extracts -->\n <details name=\"advanced-search-panels\" class=\"group border-b border-neutral-300\" open>\n <summary class=\"sticky top-0 flex cursor-pointer select-none items-baseline justify-between bg-white p-3\">\n <p class=\"flex items-baseline gap-2 font-semibold\">\n <i class=\"fa-fw far fa-magnifying-glass\"></i>\n {{ 'extracts' | transloco }}\n </p>\n\n <i class=\"fa-fw far fa-chevron-down group-open:rotate-180\"></i>\n </summary>\n\n @if (loading()) {\n <div class=\"flex h-32 items-center justify-center\">\n <i class=\"fa-fw far fa-spinner-third fa-spin text-primary\"></i>\n </div>\n } @else {\n <ul>\n @for (extract of extracts(); track $index) {\n <li class=\"hover:bg-highlight mr-2 rounded px-2 py-1\" [id]=\"extract.id\" [attr.data-id]=\"extract.textIndex\">\n <p class=\"cursor-pointer\" role=\"button\" [innerHTML]=\"extract.text\" (click)=\"scrollTo(undefined, extract.textIndex, true)\"></p>\n </li>\n\n <li class=\"mr-2 h-[1px] bg-neutral-200 px-2\"></li>\n } @empty {\n <li class=\"text-slate-300\">{{ 'drawers.noRelevantExtracts' | transloco }}</li>\n }\n </ul>\n }\n </details>\n\n <!-- labels -->\n @if (hasLabels()) {\n <details class=\"group border-b border-neutral-300\" name=\"advanced-search-panels\">\n <summary class=\"sticky top-0 flex cursor-pointer select-none items-baseline justify-between bg-white p-3\">\n <p class=\"flex items-baseline gap-2 font-semibold\">\n <i class=\"fa-fw far fa-tags\"></i>\n {{ 'labels' | transloco }}\n </p>\n\n <i class=\"fa-fw far fa-chevron-down group-open:rotate-180\"></i>\n </summary>\n\n <div>\n <ul class=\"mt-4 flex flex-col flex-wrap gap-2\">\n <li>\n <Metadata variant=\"outline\" [article]=\"article()!\" [metadata]=\"labels.public\" />\n </li>\n\n <li>\n <Metadata variant=\"outline\" [article]=\"article()!\" [metadata]=\"labels.private\" />\n </li>\n </ul>\n </div>\n </details>\n }\n\n <!-- entities -->\n <details name=\"advanced-search-panels\" class=\"group border-b border-neutral-300\">\n <summary class=\"sticky top-0 flex cursor-pointer select-none items-baseline justify-between bg-white p-3\">\n <p class=\"flex items-baseline gap-2 font-semibold capitalize\">\n <i class=\"fa-fw far fa-highlighter\"></i>\n {{ 'entities' | transloco }}\n </p>\n\n <i class=\"fa-fw far fa-chevron-down group-open:rotate-180\"></i>\n </summary>\n @for (highlight of previewHighlights(); track $index) {\n @if (highlight.metadata) {\n <ng-container *ngTemplateOutlet=\"metadataPanel; context: highlight\" />\n }\n }\n </details>\n\n <!-- similar documents -->\n @if (similarDocuments().length > 0) {\n <details class=\"group border-b border-neutral-300\" name=\"advanced-search-panels\">\n <summary class=\"sticky top-0 flex cursor-pointer select-none items-baseline justify-between bg-white p-3\">\n <p class=\"flex items-baseline gap-2 font-semibold\">\n <i class=\"fa-fw far fa-tags\"></i>\n {{ 'drawers.similarDocuments' | transloco }}\n </p>\n\n <i class=\"fa-fw far fa-chevron-down group-open:rotate-180\"></i>\n </summary>\n\n <div>\n <ul class=\"mb-2 mt-4 flex flex-col flex-wrap px-2\" role=\"list\">\n @for (document of similarDocuments(); track $index) {\n <li role=\"listitem\" selectArticleOnClick [article]=\"document\" strategy=\"stack\">\n <div class=\"text-primary flex size-[20px] items-center justify-center rounded-full bg-neutral-50\">\n <source [collection]=\"article().collection\" [connector]=\"article().connector\" class=\"text-xs\" />\n </div>\n\n <span>{{ document.displayTitle ?? document.title }}</span>\n </li>\n }\n </ul>\n </div>\n </details>\n }\n </div>\n}\n\n<!-- entities's template -->\n<ng-template #metadataPanel let-metadata=\"metadata\" let-name=\"name\" let-iconClass=\"iconClass\" let-entity=\"entity\">\n <details name=\"advanced-search-entities\" class=\"group/entities px-3 pb-3\">\n <summary class=\"sticky top-8 flex cursor-pointer select-none items-baseline justify-between bg-white\">\n <p class=\"flex items-baseline gap-2 font-semibold capitalize\">\n <i class=\"fa-fw {{ iconClass || 'far fa-list' }}\"></i>\n {{ name | transloco }}\n </p>\n\n <i class=\"fa-fw far fa-chevron-down group-open/entities:rotate-180\"></i>\n </summary>\n\n <ul role=\"list\">\n @for (data of metadata; track $index) {\n <li role=\"listitem\" class=\"flex justify-between py-1 pl-2\" (mouseenter)=\"hovering.set(data.value)\" (mouseleave)=\"hovering.set(undefined)\">\n <!-- shrink w-1/2 grow truncate ovoid the overlap when hovering the row -->\n <p class=\"w-1/2 shrink grow truncate\">{{ data.display }}</p>\n\n <p class=\"flex items-center gap-2\">\n @if (hovering() === data.value) {\n <i class=\"fa-light fa-chevron-left\" aria-label=\"previous entity\" role=\"button\" (click)=\"navigatePrev(entity, data)\"></i>\n\n <span>{{ hoverIndex() }} / {{ data.count }}</span>\n\n <i class=\"fa-light fa-chevron-right\" aria-label=\"next entity\" role=\"button\" (click)=\"navigateNext(entity, data)\"></i>\n } @else {\n {{ data.count }}\n }\n </p>\n </li>\n }\n </ul>\n </details>\n</ng-template>\n", styles: [":host{--panel-max-height: none}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}\n"] }]
|
|
10755
10767
|
}], ctorParameters: () => [] });
|
|
@@ -10778,14 +10790,14 @@ class DrawerPreviewComponent extends DrawerComponent {
|
|
|
10778
10790
|
const { queryText } = getState(this.selectionStore);
|
|
10779
10791
|
const { text } = getState(this.queryParamsStore);
|
|
10780
10792
|
return queryText ?? text;
|
|
10781
|
-
});
|
|
10782
|
-
articleId = input.required();
|
|
10783
|
-
previewData = signal(undefined);
|
|
10784
|
-
article = computed(() => this.previewData()?.record);
|
|
10785
|
-
inputs = computed(() => ({ previewData: this.previewData() }));
|
|
10793
|
+
}, ...(ngDevMode ? [{ debugName: "queryText" }] : []));
|
|
10794
|
+
articleId = input.required(...(ngDevMode ? [{ debugName: "articleId" }] : []));
|
|
10795
|
+
previewData = signal(undefined, ...(ngDevMode ? [{ debugName: "previewData" }] : []));
|
|
10796
|
+
article = computed(() => this.previewData()?.record, ...(ngDevMode ? [{ debugName: "article" }] : []));
|
|
10797
|
+
inputs = computed(() => ({ previewData: this.previewData() }), ...(ngDevMode ? [{ debugName: "inputs" }] : []));
|
|
10786
10798
|
previewType = computed(() => {
|
|
10787
10799
|
return this.getComponentsForDocumentType(this.article()?.docformat || '').previewComponent;
|
|
10788
|
-
});
|
|
10800
|
+
}, ...(ngDevMode ? [{ debugName: "previewType" }] : []));
|
|
10789
10801
|
constructor(globalQueryName, destroyRef) {
|
|
10790
10802
|
super();
|
|
10791
10803
|
this.globalQueryName = globalQueryName;
|
|
@@ -10825,10 +10837,10 @@ class DrawerPreviewComponent extends DrawerComponent {
|
|
|
10825
10837
|
});
|
|
10826
10838
|
});
|
|
10827
10839
|
}
|
|
10828
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
10829
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
10840
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerPreviewComponent, deps: [{ token: GLOBAL_QUERY_NAME }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
10841
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.2", type: DrawerPreviewComponent, isStandalone: true, selector: "app-drawer-preview", inputs: { articleId: { classPropertyName: "articleId", publicName: "articleId", isSignal: true, isRequired: true, transformFunction: null } }, providers: [DrawerService, PreviewService], usesInheritance: true, ngImport: i0, template: "<div (click)=\"drawer.toggleExtension()\" (keydown.escape)=\"drawer.toggleExtension()\" [attr.aria-hidden]=\"true\"></div>\n\n<div class=\"flex overflow-auto bg-white\">\n <div\n #drawerHandle\n class=\"fixed h-full w-[5px] select-none hover:cursor-ew-resize hover:bg-orange-300\"\n [ngClass]=\"{ hidden: (drawer.isExtended | async) === false }\"></div>\n\n @if (previewType()) {\n <ng-container *ngComponentOutlet=\"previewType()!; inputs: inputs()\" />\n }\n</div>\n\n@if (article()) {\n <div class=\"flex flex-col border-l border-gray-200 bg-white\">\n <div class=\"relative flex grow flex-col\">\n <advanced-search class=\"absolute h-full w-full overflow-y-auto\" [article]=\"article()!\" (close)=\"drawer.collapse()\" />\n </div>\n </div>\n}\n", styles: [":host{--drawer-width: 46;--drawer-subdrawer-width: 400px;display:grid;height:100%;top:0;right:-100%;justify-content:flex-end;width:calc(100vw / 100 * var(--drawer-width) + var(--drawer-subdrawer-width));z-index:var(--z-drawer);grid-template-columns:0 1fr var(--drawer-subdrawer-width);transition:right .3s ease-in-out,transform .3s ease-in-out}:host[drawer-opened=true]{right:calc(var(--drawer-subdrawer-width) * -1);box-shadow:var(--drawer-box-shadow)}:host[drawer-extended=true]{right:0;width:100vw;grid-template-columns:1fr calc(var(--drawer-width) * 1%) var(--drawer-subdrawer-width);box-shadow:unset}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "component", type: AdvancedSearchComponent, selector: "advanced-search", inputs: ["article"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
10830
10842
|
}
|
|
10831
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
10843
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DrawerPreviewComponent, decorators: [{
|
|
10832
10844
|
type: Component,
|
|
10833
10845
|
args: [{ selector: 'app-drawer-preview', standalone: true, imports: [NgClass, NgComponentOutlet, AsyncPipe, AdvancedSearchComponent], providers: [DrawerService, PreviewService], template: "<div (click)=\"drawer.toggleExtension()\" (keydown.escape)=\"drawer.toggleExtension()\" [attr.aria-hidden]=\"true\"></div>\n\n<div class=\"flex overflow-auto bg-white\">\n <div\n #drawerHandle\n class=\"fixed h-full w-[5px] select-none hover:cursor-ew-resize hover:bg-orange-300\"\n [ngClass]=\"{ hidden: (drawer.isExtended | async) === false }\"></div>\n\n @if (previewType()) {\n <ng-container *ngComponentOutlet=\"previewType()!; inputs: inputs()\" />\n }\n</div>\n\n@if (article()) {\n <div class=\"flex flex-col border-l border-gray-200 bg-white\">\n <div class=\"relative flex grow flex-col\">\n <advanced-search class=\"absolute h-full w-full overflow-y-auto\" [article]=\"article()!\" (close)=\"drawer.collapse()\" />\n </div>\n </div>\n}\n", styles: [":host{--drawer-width: 46;--drawer-subdrawer-width: 400px;display:grid;height:100%;top:0;right:-100%;justify-content:flex-end;width:calc(100vw / 100 * var(--drawer-width) + var(--drawer-subdrawer-width));z-index:var(--z-drawer);grid-template-columns:0 1fr var(--drawer-subdrawer-width);transition:right .3s ease-in-out,transform .3s ease-in-out}:host[drawer-opened=true]{right:calc(var(--drawer-subdrawer-width) * -1);box-shadow:var(--drawer-box-shadow)}:host[drawer-extended=true]{right:0;width:100vw;grid-template-columns:1fr calc(var(--drawer-width) * 1%) var(--drawer-subdrawer-width);box-shadow:unset}\n"] }]
|
|
10834
10846
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|