@acorex/modules 20.0.12 → 20.0.13
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/calendar-management/README.md +271 -0
- package/calendar-management/index.d.ts +156 -0
- package/contact-management/README.md +150 -0
- package/contact-management/index.d.ts +15 -4
- package/fesm2022/acorex-modules-calendar-management.mjs +1509 -0
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-common-search-popup.component-B_bJ0ZRM.mjs +128 -0
- package/fesm2022/acorex-modules-common-search-popup.component-B_bJ0ZRM.mjs.map +1 -0
- package/fesm2022/acorex-modules-common.mjs +2 -2
- package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-DVjMlS0K.mjs +2548 -0
- package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-DVjMlS0K.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs → acorex-modules-contact-management-address-type.entity-CWIBwWfZ.mjs} +65 -38
- package/fesm2022/acorex-modules-contact-management-address-type.entity-CWIBwWfZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs → acorex-modules-contact-management-contact-address.entity-DO6GizbS.mjs} +49 -95
- package/fesm2022/acorex-modules-contact-management-contact-address.entity-DO6GizbS.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs → acorex-modules-contact-management-contact-method.entity-tEtMSV4f.mjs} +67 -69
- package/fesm2022/acorex-modules-contact-management-contact-method.entity-tEtMSV4f.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs → acorex-modules-contact-management-contact-relationship.entity-C-B5aOoq.mjs} +34 -63
- package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-C-B5aOoq.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs → acorex-modules-contact-management-contact-source.entity-Dw8jwcox.mjs} +67 -40
- package/fesm2022/acorex-modules-contact-management-contact-source.entity-Dw8jwcox.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-management-emergency-contact-category.entity-BJOOhcD1.mjs +680 -0
- package/fesm2022/acorex-modules-contact-management-emergency-contact-category.entity-BJOOhcD1.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-Cr7_5JKD.mjs +1062 -0
- package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-Cr7_5JKD.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-management.mjs +1 -2331
- package/fesm2022/acorex-modules-contact-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-create-root.component-CcNJIUk2.mjs → acorex-modules-report-management-report-create-root.component-DqrLa6vh.mjs} +4 -4
- package/fesm2022/{acorex-modules-report-management-report-create-root.component-CcNJIUk2.mjs.map → acorex-modules-report-management-report-create-root.component-DqrLa6vh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-CAxcD_pe.mjs → acorex-modules-report-management-report-runner-root-page.component-S8qyvs79.mjs} +41 -24
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-S8qyvs79.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management.mjs +670 -8
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +4 -2
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/package.json +9 -5
- package/report-management/index.d.ts +303 -5
- package/fesm2022/acorex-modules-common-search-popup.component-CNh7TFpe.mjs +0 -128
- package/fesm2022/acorex-modules-common-search-popup.component-CNh7TFpe.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-CAxcD_pe.mjs.map +0 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@acorex/modules",
|
3
|
-
"version": "20.0.
|
3
|
+
"version": "20.0.13",
|
4
4
|
"peerDependencies": {
|
5
5
|
"@angular/common": ">=19.0.0",
|
6
6
|
"@angular/core": ">=19.0.0",
|
@@ -30,6 +30,10 @@
|
|
30
30
|
"types": "./auth/index.d.ts",
|
31
31
|
"default": "./fesm2022/acorex-modules-auth.mjs"
|
32
32
|
},
|
33
|
+
"./calendar-management": {
|
34
|
+
"types": "./calendar-management/index.d.ts",
|
35
|
+
"default": "./fesm2022/acorex-modules-calendar-management.mjs"
|
36
|
+
},
|
33
37
|
"./common": {
|
34
38
|
"types": "./common/index.d.ts",
|
35
39
|
"default": "./fesm2022/acorex-modules-common.mjs"
|
@@ -94,14 +98,14 @@
|
|
94
98
|
"types": "./scheduler-job-management/index.d.ts",
|
95
99
|
"default": "./fesm2022/acorex-modules-scheduler-job-management.mjs"
|
96
100
|
},
|
97
|
-
"./security-management": {
|
98
|
-
"types": "./security-management/index.d.ts",
|
99
|
-
"default": "./fesm2022/acorex-modules-security-management.mjs"
|
100
|
-
},
|
101
101
|
"./settings-management": {
|
102
102
|
"types": "./settings-management/index.d.ts",
|
103
103
|
"default": "./fesm2022/acorex-modules-settings-management.mjs"
|
104
104
|
},
|
105
|
+
"./security-management": {
|
106
|
+
"types": "./security-management/index.d.ts",
|
107
|
+
"default": "./fesm2022/acorex-modules-security-management.mjs"
|
108
|
+
},
|
105
109
|
"./text-template-management": {
|
106
110
|
"types": "./text-template-management/index.d.ts",
|
107
111
|
"default": "./fesm2022/acorex-modules-text-template-management.mjs"
|
@@ -1,11 +1,25 @@
|
|
1
|
-
import * as
|
1
|
+
import * as _angular_core from '@angular/core';
|
2
2
|
import * as i1 from '@acorex/platform/domain';
|
3
3
|
import * as i2 from '@acorex/platform/workflow';
|
4
|
+
import * as _ngrx_signals from '@ngrx/signals';
|
5
|
+
import * as _acorex_platform_core from '@acorex/platform/core';
|
6
|
+
import { AXPBreadcrumbItem, AXPBackButton, AXPActionMenuItem, AXPExecuteCommand } from '@acorex/platform/core';
|
7
|
+
import * as _acorex_platform_common from '@acorex/platform/common';
|
8
|
+
import { AXPReportDefinition, AXPTableLayout } from '@acorex/platform/common';
|
9
|
+
import * as _acorex_platform_layout_builder from '@acorex/platform/layout/builder';
|
10
|
+
import { AXPPageStatus, AXPLayoutContextChangeEvent } from '@acorex/platform/layout/builder';
|
11
|
+
import * as _acorex_platform_layout_components from '@acorex/platform/layout/components';
|
12
|
+
import { AXPDynamicFormDefinition } from '@acorex/platform/layout/components';
|
13
|
+
import * as _acorex_cdk_common from '@acorex/cdk/common';
|
14
|
+
import { AXDataSource } from '@acorex/cdk/common';
|
15
|
+
import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
|
16
|
+
import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
|
17
|
+
import { AXDataTableRowClick } from '@acorex/components/data-table';
|
4
18
|
|
5
19
|
declare class AXMReportManagementModule {
|
6
|
-
static ɵfac:
|
7
|
-
static ɵmod:
|
8
|
-
static ɵinj:
|
20
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMReportManagementModule, never>;
|
21
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXMReportManagementModule, never, [typeof i1.AXPDomainModule, typeof i2.AXPWorkflowModule], never>;
|
22
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXMReportManagementModule>;
|
9
23
|
}
|
10
24
|
|
11
25
|
declare const RootConfig: {
|
@@ -43,4 +57,288 @@ declare const RootConfig: {
|
|
43
57
|
};
|
44
58
|
};
|
45
59
|
|
46
|
-
|
60
|
+
declare const AXPReportViewerViewModel: _angular_core.Type<{
|
61
|
+
reportDefinition: _angular_core.Signal<AXPReportDefinition | null>;
|
62
|
+
reportData: _angular_core.Signal<any[]>;
|
63
|
+
filterContext: _angular_core.Signal<Record<string, any>>;
|
64
|
+
previousFilterContext: _angular_core.Signal<Record<string, any>>;
|
65
|
+
categoriesPath: _angular_core.Signal<any[]>;
|
66
|
+
status: _angular_core.Signal<AXPPageStatus>;
|
67
|
+
totalRecords: _angular_core.Signal<number>;
|
68
|
+
currentPage: _angular_core.Signal<number>;
|
69
|
+
pageSize: _angular_core.Signal<number>;
|
70
|
+
error: _angular_core.Signal<string | null>;
|
71
|
+
layoutType: _angular_core.Signal<"table" | "custom" | "chart" | "cards" | undefined>;
|
72
|
+
tableLayoutConfig: _angular_core.Signal<AXPTableLayout | null>;
|
73
|
+
isLoading: _angular_core.Signal<boolean>;
|
74
|
+
isExecuting: _angular_core.Signal<boolean>;
|
75
|
+
hasData: _angular_core.Signal<boolean>;
|
76
|
+
hasError: _angular_core.Signal<boolean>;
|
77
|
+
title: _angular_core.Signal<string>;
|
78
|
+
description: _angular_core.Signal<string | null>;
|
79
|
+
formDefinition: _angular_core.Signal<AXPDynamicFormDefinition>;
|
80
|
+
dataSource: _angular_core.Signal<AXDataSource<any>>;
|
81
|
+
isTableLayout: _angular_core.Signal<boolean>;
|
82
|
+
isChartLayout: _angular_core.Signal<boolean>;
|
83
|
+
isCardsLayout: _angular_core.Signal<boolean>;
|
84
|
+
isCustomLayout: _angular_core.Signal<boolean>;
|
85
|
+
columns: _angular_core.Signal<{
|
86
|
+
field: string;
|
87
|
+
title: string;
|
88
|
+
width: string | number;
|
89
|
+
visible: boolean;
|
90
|
+
align: "left" | "center" | "right";
|
91
|
+
widget: {
|
92
|
+
type: string;
|
93
|
+
options?: _acorex_platform_core.AXPOptionsData;
|
94
|
+
} | undefined;
|
95
|
+
}[]>;
|
96
|
+
paginationEnabled: _angular_core.Signal<boolean>;
|
97
|
+
canExecute: _angular_core.Signal<boolean>;
|
98
|
+
loadReport: (reportId: string) => Promise<void>;
|
99
|
+
executeReport: () => Promise<void>;
|
100
|
+
updateFilterContext: (context: Record<string, any>) => void;
|
101
|
+
clearFilters: () => void;
|
102
|
+
resetFilters: () => void;
|
103
|
+
changePage: (page: number) => void;
|
104
|
+
changePageSize: (pageSize: number) => void;
|
105
|
+
refresh: () => void;
|
106
|
+
clearError: () => void;
|
107
|
+
reset: () => void;
|
108
|
+
} & _ngrx_signals.StateSource<{
|
109
|
+
reportDefinition: AXPReportDefinition | null;
|
110
|
+
reportData: any[];
|
111
|
+
filterContext: Record<string, any>;
|
112
|
+
previousFilterContext: Record<string, any>;
|
113
|
+
categoriesPath: any[];
|
114
|
+
status: AXPPageStatus;
|
115
|
+
totalRecords: number;
|
116
|
+
currentPage: number;
|
117
|
+
pageSize: number;
|
118
|
+
error: string | null;
|
119
|
+
}>>;
|
120
|
+
|
121
|
+
declare class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
|
122
|
+
protected layoutService: {
|
123
|
+
currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
|
124
|
+
currentPalette: _angular_core.Signal<string>;
|
125
|
+
systemThemeMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
|
126
|
+
font: _ngrx_signals.DeepSignal<{
|
127
|
+
family: string;
|
128
|
+
size: string;
|
129
|
+
}>;
|
130
|
+
screenSize: _angular_core.Signal<_acorex_platform_themes_shared.AXPScreenSize>;
|
131
|
+
deviceType: _angular_core.Signal<_acorex_platform_themes_shared.AXPDeviceType>;
|
132
|
+
isTouchDevice: _angular_core.Signal<boolean>;
|
133
|
+
overlayLoading: _angular_core.Signal<boolean>;
|
134
|
+
navigationLoading: _angular_core.Signal<boolean>;
|
135
|
+
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
136
|
+
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
137
|
+
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
138
|
+
sideMenuWidth: _angular_core.Signal<number>;
|
139
|
+
menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
|
140
|
+
isDarkMode: _angular_core.Signal<boolean>;
|
141
|
+
isLightMode: _angular_core.Signal<boolean>;
|
142
|
+
isSystemMode: _angular_core.Signal<boolean>;
|
143
|
+
isSideMenuOpen: _angular_core.Signal<boolean>;
|
144
|
+
isSideMenuOverlay: _angular_core.Signal<boolean>;
|
145
|
+
isSmall: _angular_core.Signal<boolean>;
|
146
|
+
isMedium: _angular_core.Signal<boolean>;
|
147
|
+
isLarge: _angular_core.Signal<boolean>;
|
148
|
+
isMobileDevice: _angular_core.Signal<boolean>;
|
149
|
+
isTabletDevice: _angular_core.Signal<boolean>;
|
150
|
+
isDesktopDevice: _angular_core.Signal<boolean>;
|
151
|
+
isTouchScreen: _angular_core.Signal<boolean>;
|
152
|
+
isOverlayLoading: _angular_core.Signal<boolean>;
|
153
|
+
isNavigationLoading: _angular_core.Signal<boolean>;
|
154
|
+
isMenuHorizontal: _angular_core.Signal<boolean>;
|
155
|
+
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
156
|
+
openSideMenu: () => void;
|
157
|
+
closeSideMenu: () => void;
|
158
|
+
setSideMenuWidth: (width: number) => void;
|
159
|
+
toggleSideMenu: () => void;
|
160
|
+
setNavigationLoading: (value: boolean, delay?: number) => void;
|
161
|
+
setOverlayLoading: (value: boolean, delay?: number) => void;
|
162
|
+
loadSettings: () => Promise<void>;
|
163
|
+
} & _ngrx_signals.StateSource<{
|
164
|
+
currentMode: _acorex_platform_themes_shared.AXPThemeMode;
|
165
|
+
currentPalette: string;
|
166
|
+
systemThemeMode: _acorex_platform_themes_shared.AXPThemeMode;
|
167
|
+
font: {
|
168
|
+
family: string;
|
169
|
+
size: string;
|
170
|
+
};
|
171
|
+
screenSize: _acorex_platform_themes_shared.AXPScreenSize;
|
172
|
+
deviceType: _acorex_platform_themes_shared.AXPDeviceType;
|
173
|
+
isTouchDevice: boolean;
|
174
|
+
overlayLoading: boolean;
|
175
|
+
navigationLoading: boolean;
|
176
|
+
overlayLoadingTaskCount: number;
|
177
|
+
navigationLoadingTaskCount: number;
|
178
|
+
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
179
|
+
sideMenuWidth: number;
|
180
|
+
menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
|
181
|
+
}>;
|
182
|
+
private readonly route;
|
183
|
+
private readonly router;
|
184
|
+
private readonly reportDefinitionService;
|
185
|
+
private unsubscriber;
|
186
|
+
reportId: _angular_core.InputSignal<string | undefined>;
|
187
|
+
reportParameters: _angular_core.InputSignal<Record<string, any>>;
|
188
|
+
reportExecuted: _angular_core.OutputEmitterRef<any>;
|
189
|
+
private filtersForm;
|
190
|
+
private mobileFiltersForm;
|
191
|
+
protected readonly vm: {
|
192
|
+
reportDefinition: _angular_core.Signal<_acorex_platform_common.AXPReportDefinition | null>;
|
193
|
+
reportData: _angular_core.Signal<any[]>;
|
194
|
+
filterContext: _angular_core.Signal<Record<string, any>>;
|
195
|
+
previousFilterContext: _angular_core.Signal<Record<string, any>>;
|
196
|
+
categoriesPath: _angular_core.Signal<any[]>;
|
197
|
+
status: _angular_core.Signal<_acorex_platform_layout_builder.AXPPageStatus>;
|
198
|
+
totalRecords: _angular_core.Signal<number>;
|
199
|
+
currentPage: _angular_core.Signal<number>;
|
200
|
+
pageSize: _angular_core.Signal<number>;
|
201
|
+
error: _angular_core.Signal<string | null>;
|
202
|
+
layoutType: _angular_core.Signal<"table" | "custom" | "chart" | "cards" | undefined>;
|
203
|
+
tableLayoutConfig: _angular_core.Signal<_acorex_platform_common.AXPTableLayout | null>;
|
204
|
+
isLoading: _angular_core.Signal<boolean>;
|
205
|
+
isExecuting: _angular_core.Signal<boolean>;
|
206
|
+
hasData: _angular_core.Signal<boolean>;
|
207
|
+
hasError: _angular_core.Signal<boolean>;
|
208
|
+
title: _angular_core.Signal<string>;
|
209
|
+
description: _angular_core.Signal<string | null>;
|
210
|
+
formDefinition: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormDefinition>;
|
211
|
+
dataSource: _angular_core.Signal<_acorex_cdk_common.AXDataSource<any>>;
|
212
|
+
isTableLayout: _angular_core.Signal<boolean>;
|
213
|
+
isChartLayout: _angular_core.Signal<boolean>;
|
214
|
+
isCardsLayout: _angular_core.Signal<boolean>;
|
215
|
+
isCustomLayout: _angular_core.Signal<boolean>;
|
216
|
+
columns: _angular_core.Signal<{
|
217
|
+
field: string;
|
218
|
+
title: string;
|
219
|
+
width: string | number;
|
220
|
+
visible: boolean;
|
221
|
+
align: "left" | "center" | "right";
|
222
|
+
widget: {
|
223
|
+
type: string;
|
224
|
+
options?: _acorex_platform_core.AXPOptionsData;
|
225
|
+
} | undefined;
|
226
|
+
}[]>;
|
227
|
+
paginationEnabled: _angular_core.Signal<boolean>;
|
228
|
+
canExecute: _angular_core.Signal<boolean>;
|
229
|
+
loadReport: (reportId: string) => Promise<void>;
|
230
|
+
executeReport: () => Promise<void>;
|
231
|
+
updateFilterContext: (context: Record<string, any>) => void;
|
232
|
+
clearFilters: () => void;
|
233
|
+
resetFilters: () => void;
|
234
|
+
changePage: (page: number) => void;
|
235
|
+
changePageSize: (pageSize: number) => void;
|
236
|
+
refresh: () => void;
|
237
|
+
clearError: () => void;
|
238
|
+
reset: () => void;
|
239
|
+
} & _ngrx_signals.StateSource<{
|
240
|
+
reportDefinition: _acorex_platform_common.AXPReportDefinition | null;
|
241
|
+
reportData: any[];
|
242
|
+
filterContext: Record<string, any>;
|
243
|
+
previousFilterContext: Record<string, any>;
|
244
|
+
categoriesPath: any[];
|
245
|
+
status: _acorex_platform_layout_builder.AXPPageStatus;
|
246
|
+
totalRecords: number;
|
247
|
+
currentPage: number;
|
248
|
+
pageSize: number;
|
249
|
+
error: string | null;
|
250
|
+
}>;
|
251
|
+
protected showFiltersPanel: () => boolean;
|
252
|
+
private baseRoutes;
|
253
|
+
protected defaultLayout: () => {
|
254
|
+
positions: {
|
255
|
+
default: {
|
256
|
+
colSpan: number;
|
257
|
+
};
|
258
|
+
md: {
|
259
|
+
colSpan: number;
|
260
|
+
};
|
261
|
+
lg: {
|
262
|
+
colSpan: number;
|
263
|
+
};
|
264
|
+
};
|
265
|
+
};
|
266
|
+
protected compactLayout: () => {
|
267
|
+
positions: {
|
268
|
+
default: {
|
269
|
+
colSpan: number;
|
270
|
+
};
|
271
|
+
sm: {
|
272
|
+
colSpan: number;
|
273
|
+
};
|
274
|
+
md: {
|
275
|
+
colSpan: number;
|
276
|
+
};
|
277
|
+
lg: {
|
278
|
+
colSpan: number;
|
279
|
+
};
|
280
|
+
};
|
281
|
+
};
|
282
|
+
ngOnInit(): Promise<void>;
|
283
|
+
protected handleFiltersChange(event: AXPLayoutContextChangeEvent): void;
|
284
|
+
protected handleFiltersInitiated(event: AXPLayoutContextChangeEvent): void;
|
285
|
+
protected handleExecuteReport(): Promise<void>;
|
286
|
+
protected handleRefresh(): void;
|
287
|
+
protected handleClearFilters(): void;
|
288
|
+
protected handleRowClick(rowData: any): void;
|
289
|
+
protected handleActionClick(event: {
|
290
|
+
action: string;
|
291
|
+
data: any;
|
292
|
+
}): void;
|
293
|
+
protected getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]>;
|
294
|
+
getPageTitle(): Promise<string>;
|
295
|
+
getPageDescription(): Promise<string | null>;
|
296
|
+
getBackButton(): Promise<AXPBackButton | null>;
|
297
|
+
onBackButtonClick(): Promise<void>;
|
298
|
+
getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
|
299
|
+
getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
|
300
|
+
execute(command: AXPExecuteCommand): Promise<void>;
|
301
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPReportViewerPageComponent, never>;
|
302
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPReportViewerPageComponent, "axp-report-viewer-page", never, { "reportId": { "alias": "reportId"; "required": false; "isSignal": true; }; "reportParameters": { "alias": "reportParameters"; "required": false; "isSignal": true; }; }, { "reportExecuted": "reportExecuted"; }, never, never, true, never>;
|
303
|
+
}
|
304
|
+
|
305
|
+
declare class AXPReportTableViewComponent {
|
306
|
+
dataSource: _angular_core.InputSignal<AXDataSource<unknown>>;
|
307
|
+
columns: _angular_core.InputSignal<any[]>;
|
308
|
+
isLoading: _angular_core.InputSignal<boolean>;
|
309
|
+
hasError: _angular_core.InputSignal<boolean>;
|
310
|
+
errorMessage: _angular_core.InputSignal<string | null>;
|
311
|
+
hasData: _angular_core.InputSignal<boolean>;
|
312
|
+
paginationEnabled: _angular_core.InputSignal<boolean>;
|
313
|
+
rowClick: _angular_core.OutputEmitterRef<AXDataTableRowClick>;
|
314
|
+
actionClick: _angular_core.OutputEmitterRef<{
|
315
|
+
action: string;
|
316
|
+
data: any;
|
317
|
+
}>;
|
318
|
+
protected handleRowClick(event: AXDataTableRowClick): void;
|
319
|
+
protected getStatusColor(status: string): string;
|
320
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPReportTableViewComponent, never>;
|
321
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPReportTableViewComponent, "axp-report-table-view", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "hasData": { "alias": "hasData"; "required": false; "isSignal": true; }; "paginationEnabled": { "alias": "paginationEnabled"; "required": false; "isSignal": true; }; }, { "rowClick": "rowClick"; "actionClick": "actionClick"; }, never, never, true, never>;
|
322
|
+
}
|
323
|
+
|
324
|
+
interface AXMReportExecuteCommandInput {
|
325
|
+
reportId: string;
|
326
|
+
parameters: Record<string, any>;
|
327
|
+
page?: number;
|
328
|
+
pageSize?: number;
|
329
|
+
}
|
330
|
+
interface AXMReportExecuteCommandOutput {
|
331
|
+
data: any[];
|
332
|
+
total: number;
|
333
|
+
page: number;
|
334
|
+
pageSize: number;
|
335
|
+
}
|
336
|
+
declare class AXMReportExecuteCommand {
|
337
|
+
execute(input: AXMReportExecuteCommandInput): Promise<AXMReportExecuteCommandOutput>;
|
338
|
+
private generateMockData;
|
339
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMReportExecuteCommand, never>;
|
340
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMReportExecuteCommand>;
|
341
|
+
}
|
342
|
+
|
343
|
+
export { AXMReportExecuteCommand, AXMReportManagementModule, AXPReportTableViewComponent, AXPReportViewerPageComponent, AXPReportViewerViewModel, RootConfig };
|
344
|
+
export type { AXMReportExecuteCommandInput, AXMReportExecuteCommandOutput };
|
@@ -1,128 +0,0 @@
|
|
1
|
-
import * as i7 from '@acorex/cdk/list-navigation';
|
2
|
-
import { AXListNavigationDirective, AXListNavigationItemDirective, AXListNavigationModule } from '@acorex/cdk/list-navigation';
|
3
|
-
import * as i3$1 from '@acorex/components/button';
|
4
|
-
import { AXButtonModule } from '@acorex/components/button';
|
5
|
-
import { AXChipsModule } from '@acorex/components/chips';
|
6
|
-
import * as i4 from '@acorex/cdk/common';
|
7
|
-
import { AXCommonModule } from '@acorex/cdk/common';
|
8
|
-
import * as i4$1 from '@acorex/components/decorators';
|
9
|
-
import { AXDecoratorModule } from '@acorex/components/decorators';
|
10
|
-
import { AXBasePageComponent } from '@acorex/components/page';
|
11
|
-
import * as i3 from '@acorex/components/search-box';
|
12
|
-
import { AXSearchBoxComponent, AXSearchBoxModule } from '@acorex/components/search-box';
|
13
|
-
import * as i9 from '@acorex/components/skeleton';
|
14
|
-
import { AXSkeletonModule } from '@acorex/components/skeleton';
|
15
|
-
import * as i4$2 from '@acorex/core/translation';
|
16
|
-
import { AXTranslationModule } from '@acorex/core/translation';
|
17
|
-
import { AXPThemeLayoutBlockComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutHeaderComponent } from '@acorex/platform/layout/components';
|
18
|
-
import * as i1 from '@angular/common';
|
19
|
-
import { CommonModule } from '@angular/common';
|
20
|
-
import * as i0 from '@angular/core';
|
21
|
-
import { inject, viewChild, viewChildren, ChangeDetectionStrategy, Component } from '@angular/core';
|
22
|
-
import * as i2 from '@angular/forms';
|
23
|
-
import { FormsModule } from '@angular/forms';
|
24
|
-
import { first } from 'rxjs';
|
25
|
-
import { AXPGlobalSearchViewModel } from './acorex-modules-common.mjs';
|
26
|
-
|
27
|
-
class AXPGlobalSearchPopupComponent extends AXBasePageComponent {
|
28
|
-
constructor() {
|
29
|
-
super(...arguments);
|
30
|
-
this.i18nScope = 'global-search';
|
31
|
-
this.vm = inject(AXPGlobalSearchViewModel);
|
32
|
-
this.text = null;
|
33
|
-
this.list = viewChild(AXListNavigationDirective);
|
34
|
-
this.searchBox = viewChild(AXSearchBoxComponent);
|
35
|
-
this.items = viewChildren(AXListNavigationItemDirective);
|
36
|
-
}
|
37
|
-
async handleTextChanged(e) {
|
38
|
-
if (e.isUserInteraction) {
|
39
|
-
await this.vm.search(e.value);
|
40
|
-
}
|
41
|
-
}
|
42
|
-
ngOnInit() {
|
43
|
-
super.ngOnInit();
|
44
|
-
//
|
45
|
-
this.vm.onItemSelected.pipe(first()).subscribe((item) => {
|
46
|
-
this.close(item);
|
47
|
-
});
|
48
|
-
}
|
49
|
-
handleSearchKeyDown(e) {
|
50
|
-
const event = e.nativeEvent;
|
51
|
-
switch (event.code) {
|
52
|
-
case 'ArrowDown':
|
53
|
-
const item = this.items()[0];
|
54
|
-
if (item && this.list()) {
|
55
|
-
this.list()?.navigateTo(item);
|
56
|
-
}
|
57
|
-
event.preventDefault();
|
58
|
-
event.stopPropagation();
|
59
|
-
break;
|
60
|
-
}
|
61
|
-
}
|
62
|
-
handleClearClick($event) {
|
63
|
-
this.vm.clearRecentItems();
|
64
|
-
}
|
65
|
-
handleListKeyDown(e) {
|
66
|
-
switch (e.code) {
|
67
|
-
case 'ArrowUp': {
|
68
|
-
const item = this.items()[0];
|
69
|
-
if (item && this.list() && item.isActive()) {
|
70
|
-
this.searchBox()?.focus();
|
71
|
-
}
|
72
|
-
break;
|
73
|
-
}
|
74
|
-
case 'Escape': {
|
75
|
-
this.searchBox()?.focus();
|
76
|
-
e.preventDefault();
|
77
|
-
e.stopPropagation();
|
78
|
-
break;
|
79
|
-
}
|
80
|
-
}
|
81
|
-
}
|
82
|
-
handleItemKeyDown(e, item) {
|
83
|
-
switch (e.code) {
|
84
|
-
case 'Enter':
|
85
|
-
case 'Space': {
|
86
|
-
e.preventDefault();
|
87
|
-
e.stopPropagation();
|
88
|
-
this.vm.execute(item);
|
89
|
-
break;
|
90
|
-
}
|
91
|
-
}
|
92
|
-
}
|
93
|
-
handlePinClick(e, item) {
|
94
|
-
e.stopPropagation();
|
95
|
-
this.vm.togglePin(item);
|
96
|
-
}
|
97
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPGlobalSearchPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
98
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: AXPGlobalSearchPopupComponent, isStandalone: true, selector: "ng-component", providers: [AXPGlobalSearchViewModel], viewQueries: [{ propertyName: "list", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }, { propertyName: "searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true, isSignal: true }, { propertyName: "items", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-layout-content *translate=\"let t\">\n <axp-layout-header class=\"ax-lg\">\n <ax-search-box\n [axAutoFocus]\n [look]=\"'none'\"\n [ngModel]=\"vm.text()\"\n (onValueChanged)=\"handleTextChanged($event)\"\n [placeholder]=\"t('search-anything', { scope: i18nScope }) | async\"\n (onKeyDown)=\"handleSearchKeyDown($event)\"\n ></ax-search-box>\n <div class=\"__close-button\">\n <ax-button [look]=\"'blank'\" class=\"ax-rounded-full\" (onClick)=\"close()\">\n <ax-icon icon=\"fa-light fa-xmark fa-sm\"></ax-icon>\n </ax-button>\n </div>\n </axp-layout-header>\n\n <!-- Results Area -->\n <axp-layout-body>\n @if(vm.isBusy()) {\n <ng-container *ngTemplateOutlet=\"skeleton\"></ng-container>\n } @else if(vm.isEmpty()) {\n <ng-container *ngTemplateOutlet=\"empty\"></ng-container>\n } @else if(vm.isWelcome()) {\n <ng-container *ngTemplateOutlet=\"welcome\"></ng-container>\n } @else if(vm.isStart()) {\n <ng-container *ngTemplateOutlet=\"start\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"result\"></ng-container>\n }\n </axp-layout-body>\n\n <!-- Skeleton Template -->\n <ng-template #skeleton>\n <div class=\"ax-flex ax-flex-col ax-gap-10 ax-p-8\">\n @for (item of [1,2,3,4,5]; track $index) {\n <div class=\"ax-flex ax-items-center ax-gap-4\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-4 ax-h-4 ax-rounded-full\"></ax-skeleton>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-flex-1\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-1/4 ax-h-2 ax-rounded\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-w-1/2 ax-h-2 ax-rounded\"></ax-skeleton>\n </div>\n </div>\n }\n </div>\n </ng-template>\n\n <!-- Empty Template -->\n <ng-template #empty>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-rounded-md ax-p-8\">\n <!-- Icon -->\n <div class=\"ax-mb-4\">\n <i class=\"fas fa-search ax-text-gray-400 ax-text-4xl\"></i>\n </div>\n <!-- Message -->\n <div class=\"ax-text-center\">\n <h2 class=\"ax-text-lg ax-font-semibold\">{{ t('no-result.title', { scope: i18nScope }) | async }}</h2>\n <p class=\"ax-mt-2 ax-leading-relaxed\">\n {{ t('no-result.message', { scope: i18nScope }) | async }}\n </p>\n </div>\n </div>\n </ng-template>\n\n <!-- Welcome Template -->\n <ng-template #welcome>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-rounded-md ax-p-8\">\n <!-- Icon -->\n <div class=\"ax-mb-4\">\n <i class=\"fas fa-search ax-text-gray-400 ax-text-4xl\"></i>\n </div>\n <!-- Message -->\n <div class=\"ax-text-center\">\n <h2 class=\"ax-text-lg ax-font-semibold\">{{ t('start.title', { scope: i18nScope }) | async }}</h2>\n <p class=\"ax-mt-2\">{{ t('start.message', { scope: i18nScope }) | async }}</p>\n </div>\n </div>\n </ng-template>\n\n <!-- Start Template -->\n <ng-template #start>\n <!-- Pinned Items -->\n <axp-layout-list\n *translate=\"let t\"\n class=\"ax-p-4 ax-divide-none\"\n (keydown)=\"handleListKeyDown($event)\"\n axListNavigation\n #list=\"axListNavigation\"\n >\n @if(vm.pinnedItems().length>0) {\n <axp-layout-list-group>\n <axp-layout-title>{{ t('pinned', { scope: i18nScope }) | async }}</axp-layout-title>\n @for (item of vm.pinnedItems(); track $index) {\n <axp-layout-list-item\n (click)=\"vm.execute(item)\"\n (keydown)=\"handleItemKeyDown($event, item)\"\n class=\"ax-group\"\n axListNavigationItem\n #i=\"axListNavigationItem\"\n [class.axp-state-focused]=\"i.isActive()\"\n >\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n <!-- Recent Items -->\n @if(vm.recentItems().length>0) {\n <axp-layout-list-group>\n <axp-layout-header>\n <axp-layout-prefix>\n <axp-layout-title>{{ t('recent', { scope: i18nScope }) | async }}</axp-layout-title>\n </axp-layout-prefix>\n <axp-layout-prefix class=\"ax-xs\">\n <ax-button\n [text]=\"t('clear', { scope: i18nScope }) | async\"\n look=\"blank\"\n [color]=\"'default'\"\n (onClick)=\"handleClearClick($event)\"\n ></ax-button>\n </axp-layout-prefix>\n </axp-layout-header>\n @for (item of vm.recentItems(); track $index) {\n <axp-layout-list-item\n (click)=\"vm.execute(item)\"\n (keydown)=\"handleItemKeyDown($event, item)\"\n class=\"ax-group\"\n axListNavigationItem\n #i=\"axListNavigationItem\"\n [class.axp-state-focused]=\"i.isActive()\"\n >\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n </axp-layout-list>\n </ng-template>\n\n <!-- Result Template -->\n <ng-template #result>\n <axp-layout-list\n class=\"ax-p-4 ax-divide-none\"\n (keydown)=\"handleListKeyDown($event)\"\n axListNavigation\n #list=\"axListNavigation\"\n >\n @for (group of vm.results(); track $index) {\n <axp-layout-list-group>\n <axp-layout-title> {{ t(group.title) | async }}</axp-layout-title>\n @for (item of group.children; track $index) {\n <axp-layout-list-item\n (click)=\"vm.execute(item)\"\n (keydown)=\"handleItemKeyDown($event, item)\"\n class=\"ax-group\"\n axListNavigationItem\n #i=\"axListNavigationItem\"\n [class.axp-state-focused]=\"i.isActive()\"\n >\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n </axp-layout-list>\n </ng-template>\n\n <ng-template #listItem let-item=\"item\">\n <axp-layout-prefix>\n <ax-icon icon=\"fal {{ item.icon }}\"></ax-icon>\n </axp-layout-prefix>\n <axp-layout-content>\n <axp-layout-title class=\"ax-group\">\n <span>{{ t(item.title) | async }}</span>\n <span class=\"ax-ms-3\" (click)=\"handlePinClick($event, item)\">\n <i\n [class.ax-invisible]=\"!vm.isPinned(item)\"\n class=\"fa-light fa-thumbtack ax-rotate-45 group-hover:!ax-visible\"\n [class.fa-solid]=\"vm.isPinned(item)\"\n ></i>\n </span>\n </axp-layout-title>\n @if(item.parent) {\n <axp-layout-description>\n {{ t(item.parent.title) | async }}\n </axp-layout-description>\n }@else if (item.description) {\n <axp-layout-description>\n {{ t(item.description) | async }}\n </axp-layout-description>\n }\n </axp-layout-content>\n <axp-layout-suffix>\n <i class=\"far fa-chevron-right rtl:ax-rotate-180\"></i>\n </axp-layout-suffix>\n </ng-template>\n</axp-layout-content>\n", styles: [":host .ax-editor-container:focus-within{outline-style:none}:host>axp-layout-content{display:flex;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));width:90vw;max-width:36rem}@media (min-width: 640px){:host>axp-layout-content{width:80vw}}@media (min-width: 768px){:host>axp-layout-content{width:60vw}}@media (min-width: 1024px){:host>axp-layout-content{width:40vw}}@media (min-width: 1280px){:host>axp-layout-content{width:30vw}}:host>axp-layout-content>axp-layout-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}:host>axp-layout-content>axp-layout-header>.__close-button{position:absolute;inset-inline-end:1rem;top:1rem;--ax-sys-size-base: 2rem}:host>axp-layout-content>axp-layout-body{display:flex;flex-direction:column}:host>axp-layout-content>axp-layout-body>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}:host>axp-layout-content>axp-layout-body{overflow-y:auto;border-radius:.375rem;max-height:50vh;min-height:30vh}@media (min-width: 640px){:host>axp-layout-content>axp-layout-body{max-height:60vh;min-height:40vh}}@media (min-width: 768px){:host>axp-layout-content>axp-layout-body{max-height:70vh;min-height:50vh}}@media (min-width: 1024px){:host>axp-layout-content>axp-layout-body{max-height:80vh;min-height:40vh}}:host>axp-layout-content>axp-layout-body .axp-search-recent{display:flex;flex-direction:column;padding:1rem}:host>axp-layout-content>axp-layout-body .axp-search-recent>axp-layout-header{margin-bottom:.5rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;font-size:.875rem;line-height:1.25rem;font-weight:600}:host>axp-layout-content>axp-layout-body .axp-search-recent>axp-layout-body{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;border-radius:.375rem}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:.375rem;background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-darker-surface));color:rgb(var(--ax-sys-color-on-darker-surface));border-color:rgb(var(--ax-sys-color-border-darker-surface))}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon{font-size:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
|
99
|
-
//
|
100
|
-
AXSearchBoxModule }, { kind: "component", type: i3.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXCommonModule }, { kind: "directive", type: i4.AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4$2.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i7.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onPressEnterOrSpace"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i7.AXListNavigationItemDirective, selector: "[axListNavigationItem]", exportAs: ["axListNavigationItem"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type:
|
101
|
-
//
|
102
|
-
AXSkeletonModule }, { kind: "component", type: i9.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "ngmodule", type: AXChipsModule }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPThemeLayoutListComponent, selector: "axp-layout-list" }, { kind: "component", type: AXPThemeLayoutListItemComponent, selector: "axp-layout-list-item" }, { kind: "component", type: AXPThemeLayoutListItemsGroupComponent, selector: "axp-layout-list-group" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
103
|
-
}
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPGlobalSearchPopupComponent, decorators: [{
|
105
|
-
type: Component,
|
106
|
-
args: [{ imports: [
|
107
|
-
CommonModule,
|
108
|
-
FormsModule,
|
109
|
-
//
|
110
|
-
AXSearchBoxModule,
|
111
|
-
AXCommonModule,
|
112
|
-
AXDecoratorModule,
|
113
|
-
AXTranslationModule,
|
114
|
-
AXListNavigationModule,
|
115
|
-
AXButtonModule,
|
116
|
-
//
|
117
|
-
AXSkeletonModule,
|
118
|
-
AXChipsModule,
|
119
|
-
AXPThemeLayoutBlockComponent,
|
120
|
-
AXPThemeLayoutListComponent,
|
121
|
-
AXPThemeLayoutListItemComponent,
|
122
|
-
AXPThemeLayoutListItemsGroupComponent,
|
123
|
-
AXPThemeLayoutHeaderComponent,
|
124
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXPGlobalSearchViewModel], template: "<axp-layout-content *translate=\"let t\">\n <axp-layout-header class=\"ax-lg\">\n <ax-search-box\n [axAutoFocus]\n [look]=\"'none'\"\n [ngModel]=\"vm.text()\"\n (onValueChanged)=\"handleTextChanged($event)\"\n [placeholder]=\"t('search-anything', { scope: i18nScope }) | async\"\n (onKeyDown)=\"handleSearchKeyDown($event)\"\n ></ax-search-box>\n <div class=\"__close-button\">\n <ax-button [look]=\"'blank'\" class=\"ax-rounded-full\" (onClick)=\"close()\">\n <ax-icon icon=\"fa-light fa-xmark fa-sm\"></ax-icon>\n </ax-button>\n </div>\n </axp-layout-header>\n\n <!-- Results Area -->\n <axp-layout-body>\n @if(vm.isBusy()) {\n <ng-container *ngTemplateOutlet=\"skeleton\"></ng-container>\n } @else if(vm.isEmpty()) {\n <ng-container *ngTemplateOutlet=\"empty\"></ng-container>\n } @else if(vm.isWelcome()) {\n <ng-container *ngTemplateOutlet=\"welcome\"></ng-container>\n } @else if(vm.isStart()) {\n <ng-container *ngTemplateOutlet=\"start\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"result\"></ng-container>\n }\n </axp-layout-body>\n\n <!-- Skeleton Template -->\n <ng-template #skeleton>\n <div class=\"ax-flex ax-flex-col ax-gap-10 ax-p-8\">\n @for (item of [1,2,3,4,5]; track $index) {\n <div class=\"ax-flex ax-items-center ax-gap-4\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-4 ax-h-4 ax-rounded-full\"></ax-skeleton>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-flex-1\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-1/4 ax-h-2 ax-rounded\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-w-1/2 ax-h-2 ax-rounded\"></ax-skeleton>\n </div>\n </div>\n }\n </div>\n </ng-template>\n\n <!-- Empty Template -->\n <ng-template #empty>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-rounded-md ax-p-8\">\n <!-- Icon -->\n <div class=\"ax-mb-4\">\n <i class=\"fas fa-search ax-text-gray-400 ax-text-4xl\"></i>\n </div>\n <!-- Message -->\n <div class=\"ax-text-center\">\n <h2 class=\"ax-text-lg ax-font-semibold\">{{ t('no-result.title', { scope: i18nScope }) | async }}</h2>\n <p class=\"ax-mt-2 ax-leading-relaxed\">\n {{ t('no-result.message', { scope: i18nScope }) | async }}\n </p>\n </div>\n </div>\n </ng-template>\n\n <!-- Welcome Template -->\n <ng-template #welcome>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-rounded-md ax-p-8\">\n <!-- Icon -->\n <div class=\"ax-mb-4\">\n <i class=\"fas fa-search ax-text-gray-400 ax-text-4xl\"></i>\n </div>\n <!-- Message -->\n <div class=\"ax-text-center\">\n <h2 class=\"ax-text-lg ax-font-semibold\">{{ t('start.title', { scope: i18nScope }) | async }}</h2>\n <p class=\"ax-mt-2\">{{ t('start.message', { scope: i18nScope }) | async }}</p>\n </div>\n </div>\n </ng-template>\n\n <!-- Start Template -->\n <ng-template #start>\n <!-- Pinned Items -->\n <axp-layout-list\n *translate=\"let t\"\n class=\"ax-p-4 ax-divide-none\"\n (keydown)=\"handleListKeyDown($event)\"\n axListNavigation\n #list=\"axListNavigation\"\n >\n @if(vm.pinnedItems().length>0) {\n <axp-layout-list-group>\n <axp-layout-title>{{ t('pinned', { scope: i18nScope }) | async }}</axp-layout-title>\n @for (item of vm.pinnedItems(); track $index) {\n <axp-layout-list-item\n (click)=\"vm.execute(item)\"\n (keydown)=\"handleItemKeyDown($event, item)\"\n class=\"ax-group\"\n axListNavigationItem\n #i=\"axListNavigationItem\"\n [class.axp-state-focused]=\"i.isActive()\"\n >\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n <!-- Recent Items -->\n @if(vm.recentItems().length>0) {\n <axp-layout-list-group>\n <axp-layout-header>\n <axp-layout-prefix>\n <axp-layout-title>{{ t('recent', { scope: i18nScope }) | async }}</axp-layout-title>\n </axp-layout-prefix>\n <axp-layout-prefix class=\"ax-xs\">\n <ax-button\n [text]=\"t('clear', { scope: i18nScope }) | async\"\n look=\"blank\"\n [color]=\"'default'\"\n (onClick)=\"handleClearClick($event)\"\n ></ax-button>\n </axp-layout-prefix>\n </axp-layout-header>\n @for (item of vm.recentItems(); track $index) {\n <axp-layout-list-item\n (click)=\"vm.execute(item)\"\n (keydown)=\"handleItemKeyDown($event, item)\"\n class=\"ax-group\"\n axListNavigationItem\n #i=\"axListNavigationItem\"\n [class.axp-state-focused]=\"i.isActive()\"\n >\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n </axp-layout-list>\n </ng-template>\n\n <!-- Result Template -->\n <ng-template #result>\n <axp-layout-list\n class=\"ax-p-4 ax-divide-none\"\n (keydown)=\"handleListKeyDown($event)\"\n axListNavigation\n #list=\"axListNavigation\"\n >\n @for (group of vm.results(); track $index) {\n <axp-layout-list-group>\n <axp-layout-title> {{ t(group.title) | async }}</axp-layout-title>\n @for (item of group.children; track $index) {\n <axp-layout-list-item\n (click)=\"vm.execute(item)\"\n (keydown)=\"handleItemKeyDown($event, item)\"\n class=\"ax-group\"\n axListNavigationItem\n #i=\"axListNavigationItem\"\n [class.axp-state-focused]=\"i.isActive()\"\n >\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n </axp-layout-list>\n </ng-template>\n\n <ng-template #listItem let-item=\"item\">\n <axp-layout-prefix>\n <ax-icon icon=\"fal {{ item.icon }}\"></ax-icon>\n </axp-layout-prefix>\n <axp-layout-content>\n <axp-layout-title class=\"ax-group\">\n <span>{{ t(item.title) | async }}</span>\n <span class=\"ax-ms-3\" (click)=\"handlePinClick($event, item)\">\n <i\n [class.ax-invisible]=\"!vm.isPinned(item)\"\n class=\"fa-light fa-thumbtack ax-rotate-45 group-hover:!ax-visible\"\n [class.fa-solid]=\"vm.isPinned(item)\"\n ></i>\n </span>\n </axp-layout-title>\n @if(item.parent) {\n <axp-layout-description>\n {{ t(item.parent.title) | async }}\n </axp-layout-description>\n }@else if (item.description) {\n <axp-layout-description>\n {{ t(item.description) | async }}\n </axp-layout-description>\n }\n </axp-layout-content>\n <axp-layout-suffix>\n <i class=\"far fa-chevron-right rtl:ax-rotate-180\"></i>\n </axp-layout-suffix>\n </ng-template>\n</axp-layout-content>\n", styles: [":host .ax-editor-container:focus-within{outline-style:none}:host>axp-layout-content{display:flex;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));width:90vw;max-width:36rem}@media (min-width: 640px){:host>axp-layout-content{width:80vw}}@media (min-width: 768px){:host>axp-layout-content{width:60vw}}@media (min-width: 1024px){:host>axp-layout-content{width:40vw}}@media (min-width: 1280px){:host>axp-layout-content{width:30vw}}:host>axp-layout-content>axp-layout-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}:host>axp-layout-content>axp-layout-header>.__close-button{position:absolute;inset-inline-end:1rem;top:1rem;--ax-sys-size-base: 2rem}:host>axp-layout-content>axp-layout-body{display:flex;flex-direction:column}:host>axp-layout-content>axp-layout-body>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}:host>axp-layout-content>axp-layout-body{overflow-y:auto;border-radius:.375rem;max-height:50vh;min-height:30vh}@media (min-width: 640px){:host>axp-layout-content>axp-layout-body{max-height:60vh;min-height:40vh}}@media (min-width: 768px){:host>axp-layout-content>axp-layout-body{max-height:70vh;min-height:50vh}}@media (min-width: 1024px){:host>axp-layout-content>axp-layout-body{max-height:80vh;min-height:40vh}}:host>axp-layout-content>axp-layout-body .axp-search-recent{display:flex;flex-direction:column;padding:1rem}:host>axp-layout-content>axp-layout-body .axp-search-recent>axp-layout-header{margin-bottom:.5rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;font-size:.875rem;line-height:1.25rem;font-weight:600}:host>axp-layout-content>axp-layout-body .axp-search-recent>axp-layout-body{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;border-radius:.375rem}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:.375rem;background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-darker-surface));color:rgb(var(--ax-sys-color-on-darker-surface));border-color:rgb(var(--ax-sys-color-border-darker-surface))}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon{font-size:1rem}\n"] }]
|
125
|
-
}] });
|
126
|
-
|
127
|
-
export { AXPGlobalSearchPopupComponent };
|
128
|
-
//# sourceMappingURL=acorex-modules-common-search-popup.component-CNh7TFpe.mjs.map
|