@acorex/modules 21.0.0-next.83 → 21.0.0-next.85
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/{acorex-modules-task-management-task-board.page-Dx6oov4j.mjs → acorex-modules-task-management-task-board.page-D8kQVaxY.mjs} +60 -29
- package/fesm2022/acorex-modules-task-management-task-board.page-D8kQVaxY.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +18 -8
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/package.json +2 -2
- package/fesm2022/acorex-modules-task-management-task-board.page-Dx6oov4j.mjs.map +0 -1
|
@@ -1148,6 +1148,7 @@ class AXMTaskBoardGridViewComponent {
|
|
|
1148
1148
|
this.calendarService = inject(AXCalendarService);
|
|
1149
1149
|
this.taskBoardService = inject(AXPTaskBoardService);
|
|
1150
1150
|
this.taskPopoverOverlay = inject(AXMTaskBoardTaskPopoverOverlayService);
|
|
1151
|
+
this.translationService = inject(AXTranslationService);
|
|
1151
1152
|
this.destroyRef = inject(DestroyRef);
|
|
1152
1153
|
this.dataSource = input.required(...(ngDevMode ? [{ debugName: "dataSource" }] : /* istanbul ignore next */ []));
|
|
1153
1154
|
this.refreshNonce = input(0, ...(ngDevMode ? [{ debugName: "refreshNonce" }] : /* istanbul ignore next */ []));
|
|
@@ -1165,6 +1166,7 @@ class AXMTaskBoardGridViewComponent {
|
|
|
1165
1166
|
load: async (e) => {
|
|
1166
1167
|
const result = await parentDataSource({ skip: e.skip, take: e.take });
|
|
1167
1168
|
this.fetchedTasks.set(result.items);
|
|
1169
|
+
const unassignedLabel = await this.translationService.translateAsync('@task-management:task-board.filter.unassigned');
|
|
1168
1170
|
const mappedItems = result.items.map((task) => ({
|
|
1169
1171
|
id: task.id,
|
|
1170
1172
|
data: task.data,
|
|
@@ -1173,7 +1175,7 @@ class AXMTaskBoardGridViewComponent {
|
|
|
1173
1175
|
description: task.description,
|
|
1174
1176
|
statusTitle: task.status.title,
|
|
1175
1177
|
reporter: task.reporter.fullName ?? '-',
|
|
1176
|
-
assignee: task.assignee?.fullName ??
|
|
1178
|
+
assignee: task.assignee?.fullName ?? unassignedLabel,
|
|
1177
1179
|
type: this.taskBoardService.getProvider(task.provider)?.title,
|
|
1178
1180
|
endDate: this.calendarService.format(task.endDate, 'DD/MM/YYYY HH:mm', {
|
|
1179
1181
|
locale: this.localeService.activeProfile().calendar.system,
|
|
@@ -1581,6 +1583,7 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
|
|
|
1581
1583
|
this.calendarService = inject(AXCalendarService);
|
|
1582
1584
|
this.taskBoardService = inject(AXPTaskBoardService);
|
|
1583
1585
|
this.taskPopoverOverlay = inject(AXMTaskBoardTaskPopoverOverlayService);
|
|
1586
|
+
this.translationService = inject(AXTranslationService);
|
|
1584
1587
|
this.destroyRef = inject(DestroyRef);
|
|
1585
1588
|
this.provider = input(...(ngDevMode ? [undefined, { debugName: "provider" }] : /* istanbul ignore next */ []));
|
|
1586
1589
|
this.dataSource = input.required(...(ngDevMode ? [{ debugName: "dataSource" }] : /* istanbul ignore next */ []));
|
|
@@ -1686,6 +1689,7 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
|
|
|
1686
1689
|
createTaskDataSourceForGroup(tasks) {
|
|
1687
1690
|
return new AXDataSource({
|
|
1688
1691
|
load: async (e) => {
|
|
1692
|
+
const unassignedLabel = await this.translationService.translateAsync('@task-management:task-board.filter.unassigned');
|
|
1689
1693
|
const items = tasks.map((task) => ({
|
|
1690
1694
|
id: task.id,
|
|
1691
1695
|
data: task.data,
|
|
@@ -1693,7 +1697,7 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
|
|
|
1693
1697
|
priority: task.priority,
|
|
1694
1698
|
description: task.description,
|
|
1695
1699
|
reporter: task.reporter.fullName ?? '-',
|
|
1696
|
-
assignee: task.assignee?.fullName ??
|
|
1700
|
+
assignee: task.assignee?.fullName ?? unassignedLabel,
|
|
1697
1701
|
endDate: this.calendarService.format(task.endDate, 'DD/MM/YYYY HH:mm', {
|
|
1698
1702
|
locale: this.localeService.activeProfile().calendar.system,
|
|
1699
1703
|
}),
|
|
@@ -1782,6 +1786,9 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
1782
1786
|
initialValue: this.localeService.activeProfile(),
|
|
1783
1787
|
});
|
|
1784
1788
|
this.navigatorTimeTextVersion = 0;
|
|
1789
|
+
/** Translated priority/due-status options for filter dropdowns; rebuilt on locale change. */
|
|
1790
|
+
this.priorityOptions = signal([], ...(ngDevMode ? [{ debugName: "priorityOptions" }] : /* istanbul ignore next */ []));
|
|
1791
|
+
this.dueStatusOptions = signal([], ...(ngDevMode ? [{ debugName: "dueStatusOptions" }] : /* istanbul ignore next */ []));
|
|
1785
1792
|
this.colorByItems = [
|
|
1786
1793
|
{ key: 'dueDate', titleKey: '@task-management:task-board.color-by.due-date' },
|
|
1787
1794
|
{ key: 'priority', titleKey: '@task-management:task-board.color-by.priority' },
|
|
@@ -1850,6 +1857,11 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
1850
1857
|
this.localeService.activeProfile().localeInfo?.code;
|
|
1851
1858
|
void this.loadSettingsPanelCopy();
|
|
1852
1859
|
}, ...(ngDevMode ? [{ debugName: "settingsPanelI18nEffect" }] : /* istanbul ignore next */ []));
|
|
1860
|
+
/** Resolves localized priority/due-status filter option labels when the locale changes. */
|
|
1861
|
+
this.filterOptionsI18nEffect = effect(() => {
|
|
1862
|
+
this.localeService.activeProfile().localeInfo?.code;
|
|
1863
|
+
void this.loadFilterOptionLabels();
|
|
1864
|
+
}, ...(ngDevMode ? [{ debugName: "filterOptionsI18nEffect" }] : /* istanbul ignore next */ []));
|
|
1853
1865
|
/** Resolves navigator date label asynchronously so month names react to locale/profile changes. */
|
|
1854
1866
|
this.navigatorTimeTextEffect = effect(() => {
|
|
1855
1867
|
this.profileChanged();
|
|
@@ -1961,7 +1973,7 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
1961
1973
|
multiple: true,
|
|
1962
1974
|
valueField: 'name',
|
|
1963
1975
|
textField: 'title',
|
|
1964
|
-
dataSource:
|
|
1976
|
+
dataSource: this.priorityOptions(),
|
|
1965
1977
|
},
|
|
1966
1978
|
},
|
|
1967
1979
|
filterType: { advance: true, inline: false },
|
|
@@ -1977,7 +1989,7 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
1977
1989
|
multiple: true,
|
|
1978
1990
|
valueField: 'name',
|
|
1979
1991
|
textField: 'title',
|
|
1980
|
-
dataSource:
|
|
1992
|
+
dataSource: this.dueStatusOptions(),
|
|
1981
1993
|
},
|
|
1982
1994
|
},
|
|
1983
1995
|
filterType: { advance: true, inline: false },
|
|
@@ -2251,21 +2263,21 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
2251
2263
|
return mode === 'kanban' || mode === 'grid' || mode === 'status-grouped-grid';
|
|
2252
2264
|
}, ...(ngDevMode ? [{ debugName: "isNonCalendarView" }] : /* istanbul ignore next */ []));
|
|
2253
2265
|
}
|
|
2254
|
-
static { this.
|
|
2255
|
-
{
|
|
2256
|
-
{
|
|
2257
|
-
{
|
|
2258
|
-
{
|
|
2259
|
-
{
|
|
2266
|
+
static { this.PRIORITY_OPTION_KEYS = [
|
|
2267
|
+
{ titleKey: '@task-management:task-board.priority.urgent', name: 'urgent' },
|
|
2268
|
+
{ titleKey: '@task-management:task-board.priority.high', name: 'high' },
|
|
2269
|
+
{ titleKey: '@task-management:task-board.priority.normal', name: 'normal' },
|
|
2270
|
+
{ titleKey: '@task-management:task-board.priority.low', name: 'low' },
|
|
2271
|
+
{ titleKey: '@task-management:task-board.priority.no-priority', name: 'no_priority' },
|
|
2260
2272
|
]; }
|
|
2261
|
-
static { this.
|
|
2262
|
-
{
|
|
2263
|
-
{
|
|
2264
|
-
{
|
|
2265
|
-
{
|
|
2266
|
-
{
|
|
2267
|
-
{
|
|
2268
|
-
{
|
|
2273
|
+
static { this.DUE_STATUS_OPTION_KEYS = [
|
|
2274
|
+
{ titleKey: '@task-management:task-board.due-status.completed', name: 'completed' },
|
|
2275
|
+
{ titleKey: '@task-management:task-board.due-status.no-due-date', name: 'no-due-date' },
|
|
2276
|
+
{ titleKey: '@task-management:task-board.due-status.overdue', name: 'overdue' },
|
|
2277
|
+
{ titleKey: '@task-management:task-board.due-status.due-today', name: 'due-today' },
|
|
2278
|
+
{ titleKey: '@task-management:task-board.due-status.due-tomorrow', name: 'due-tomorrow' },
|
|
2279
|
+
{ titleKey: '@task-management:task-board.due-status.due-this-week', name: 'due-this-week' },
|
|
2280
|
+
{ titleKey: '@task-management:task-board.due-status.upcoming', name: 'upcoming' },
|
|
2269
2281
|
]; }
|
|
2270
2282
|
enrichTasks(tasks) {
|
|
2271
2283
|
return enrichTaskBoardTasks(tasks, this.vm.effectiveColorBy(), this.dueStatusProviderService);
|
|
@@ -2559,7 +2571,7 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
2559
2571
|
field: 'priority',
|
|
2560
2572
|
operator: { type: 'equal' },
|
|
2561
2573
|
value: priorities,
|
|
2562
|
-
displayText: this.resolvePriorityDisplayText(priorities),
|
|
2574
|
+
displayText: await this.resolvePriorityDisplayText(priorities),
|
|
2563
2575
|
});
|
|
2564
2576
|
}
|
|
2565
2577
|
if (dueStatusKeys.length > 0) {
|
|
@@ -2567,20 +2579,39 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
2567
2579
|
field: 'dueStatus',
|
|
2568
2580
|
operator: { type: 'equal' },
|
|
2569
2581
|
value: dueStatusKeys,
|
|
2570
|
-
displayText: this.resolveDueStatusDisplayText(dueStatusKeys),
|
|
2582
|
+
displayText: await this.resolveDueStatusDisplayText(dueStatusKeys),
|
|
2571
2583
|
});
|
|
2572
2584
|
}
|
|
2573
2585
|
return filters;
|
|
2574
2586
|
}
|
|
2575
|
-
resolveDueStatusDisplayText(values) {
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
.
|
|
2587
|
+
async resolveDueStatusDisplayText(values) {
|
|
2588
|
+
const titles = await Promise.all(values.map((name) => {
|
|
2589
|
+
const titleKey = AXMTaskBoardPage.DUE_STATUS_OPTION_KEYS.find((option) => option.name === name)?.titleKey;
|
|
2590
|
+
return titleKey ? this.translationService.translateAsync(titleKey) : Promise.resolve(String(name));
|
|
2591
|
+
}));
|
|
2592
|
+
return titles.join(', ');
|
|
2579
2593
|
}
|
|
2580
|
-
resolvePriorityDisplayText(values) {
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
.
|
|
2594
|
+
async resolvePriorityDisplayText(values) {
|
|
2595
|
+
const titles = await Promise.all(values.map((name) => {
|
|
2596
|
+
const titleKey = AXMTaskBoardPage.PRIORITY_OPTION_KEYS.find((option) => option.name === name)?.titleKey;
|
|
2597
|
+
return titleKey ? this.translationService.translateAsync(titleKey) : Promise.resolve(String(name));
|
|
2598
|
+
}));
|
|
2599
|
+
return titles.join(', ');
|
|
2600
|
+
}
|
|
2601
|
+
/** Builds localized label arrays for the priority and due-status filter dropdowns. */
|
|
2602
|
+
async loadFilterOptionLabels() {
|
|
2603
|
+
const [priorities, dueStatuses] = await Promise.all([
|
|
2604
|
+
Promise.all(AXMTaskBoardPage.PRIORITY_OPTION_KEYS.map(async (option) => ({
|
|
2605
|
+
name: option.name,
|
|
2606
|
+
title: await this.translationService.translateAsync(option.titleKey),
|
|
2607
|
+
}))),
|
|
2608
|
+
Promise.all(AXMTaskBoardPage.DUE_STATUS_OPTION_KEYS.map(async (option) => ({
|
|
2609
|
+
name: option.name,
|
|
2610
|
+
title: await this.translationService.translateAsync(option.titleKey),
|
|
2611
|
+
}))),
|
|
2612
|
+
]);
|
|
2613
|
+
this.priorityOptions.set(priorities);
|
|
2614
|
+
this.dueStatusOptions.set(dueStatuses);
|
|
2584
2615
|
}
|
|
2585
2616
|
async resolveSelectFilterDisplayText(dataSourceName, valueField, textField, values) {
|
|
2586
2617
|
const ids = Array.isArray(values) ? values : values != null && values !== '' ? [values] : [];
|
|
@@ -3400,4 +3431,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
3400
3431
|
}] } });
|
|
3401
3432
|
|
|
3402
3433
|
export { AXMTaskBoardPage };
|
|
3403
|
-
//# sourceMappingURL=acorex-modules-task-management-task-board.page-
|
|
3434
|
+
//# sourceMappingURL=acorex-modules-task-management-task-board.page-D8kQVaxY.mjs.map
|