@topconsultnpm/sdkui-react 6.20.0-dev2.32 → 6.20.0-dev2.34
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.
|
@@ -62,6 +62,7 @@ export declare const getTaskNotPersonalAssignedToMe: (tasks: Array<TaskDescripto
|
|
|
62
62
|
export declare const getTaskPersonalAssignedToMe: (tasks: Array<TaskDescriptor>) => Array<TaskDescriptor>;
|
|
63
63
|
export declare const getTaskAssignedByMe: (tasks: Array<TaskDescriptor>) => Array<TaskDescriptor>;
|
|
64
64
|
export declare const getTaskNotCompletedAssignedByMe: (tasks: Array<TaskDescriptor>) => Array<TaskDescriptor>;
|
|
65
|
+
export declare const getTaskCompletedAssignedByMe: (tasks: Array<TaskDescriptor>) => Array<TaskDescriptor>;
|
|
65
66
|
export declare const getHeaderStatusFilterConfig: () => {
|
|
66
67
|
enabled: boolean;
|
|
67
68
|
dataSource: {
|
|
@@ -226,6 +226,24 @@ export const getTaskNotCompletedAssignedByMe = (tasks) => {
|
|
|
226
226
|
return a.endTime.getTime() - b.endTime.getTime();
|
|
227
227
|
});
|
|
228
228
|
};
|
|
229
|
+
export const getTaskCompletedAssignedByMe = (tasks) => {
|
|
230
|
+
const userID = SDK_Globals.tmSession?.SessionDescr?.userID;
|
|
231
|
+
return tasks
|
|
232
|
+
.filter((task) => task.toID !== undefined &&
|
|
233
|
+
task.toID !== userID &&
|
|
234
|
+
task.state === Task_States.Completed)
|
|
235
|
+
.sort((a, b) => {
|
|
236
|
+
// Task senza lastUpdateTime li mettiamo alla fine
|
|
237
|
+
if (!a.lastUpdateTime && !b.lastUpdateTime)
|
|
238
|
+
return 0;
|
|
239
|
+
if (!a.lastUpdateTime)
|
|
240
|
+
return 1; // a va dopo
|
|
241
|
+
if (!b.lastUpdateTime)
|
|
242
|
+
return -1; // b va dopo
|
|
243
|
+
// Ordine decrescente: più recente prima
|
|
244
|
+
return b.lastUpdateTime.getTime() - a.lastUpdateTime.getTime();
|
|
245
|
+
});
|
|
246
|
+
};
|
|
229
247
|
export const getHeaderStatusFilterConfig = () => ({
|
|
230
248
|
enabled: true,
|
|
231
249
|
dataSource: getStatusLocalizatorValues().map(item => ({
|
|
@@ -297,7 +315,10 @@ newTasks // Array of new tasks to merge
|
|
|
297
315
|
return Array.from(taskMap.values());
|
|
298
316
|
};
|
|
299
317
|
export const getOriginLabel = (pdg, ID1Name) => {
|
|
300
|
-
|
|
318
|
+
if (!pdg) {
|
|
319
|
+
return SDKUI_Localizator.NoSource;
|
|
320
|
+
}
|
|
321
|
+
let label = ID1Name ?? '';
|
|
301
322
|
try {
|
|
302
323
|
if (typeof label === 'string' && label.length > 0) {
|
|
303
324
|
// Rimuove: (TID: 123), (DID: 456), TID: 123, DID: 456
|
|
@@ -307,10 +328,9 @@ export const getOriginLabel = (pdg, ID1Name) => {
|
|
|
307
328
|
}
|
|
308
329
|
}
|
|
309
330
|
catch {
|
|
310
|
-
label
|
|
331
|
+
// Se fallisce, mantieni label così com'è ('' se undefined)
|
|
311
332
|
}
|
|
312
|
-
|
|
313
|
-
return pdg ? label : SDKUI_Localizator.NoSource;
|
|
333
|
+
return label;
|
|
314
334
|
};
|
|
315
335
|
export const taskValidatorAsync = async (taskDescriptor) => {
|
|
316
336
|
let vil = [];
|
|
@@ -35,6 +35,15 @@ export class UserSettings {
|
|
|
35
35
|
// Merge loaded settings with default settings
|
|
36
36
|
const defaultSettings = new UserSettings(true);
|
|
37
37
|
const settings = Object.assign(defaultSettings, loadedSettings);
|
|
38
|
+
// Ensure devSettings is properly initialized
|
|
39
|
+
if (settings.devSettings) {
|
|
40
|
+
// Ensure all devSettings properties exist
|
|
41
|
+
const defaultDevSettings = new DevSettings();
|
|
42
|
+
settings.devSettings = Object.assign(defaultDevSettings, settings.devSettings);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
settings.devSettings = new DevSettings();
|
|
46
|
+
}
|
|
38
47
|
// Ensure userID and archiveID are set
|
|
39
48
|
settings.userID = userID;
|
|
40
49
|
settings.archiveID = archiveID;
|
|
@@ -52,8 +61,15 @@ export class UserSettings {
|
|
|
52
61
|
if (!settings.userID || !settings.archiveID) {
|
|
53
62
|
throw new Error('User ID and Archive ID are required to save settings.');
|
|
54
63
|
}
|
|
64
|
+
// Properties that should always be saved, even if they match defaults
|
|
65
|
+
const alwaysSaveProperties = new Set(['userID', 'archiveID', 'devSettings']);
|
|
55
66
|
const defaultSettings = new UserSettings(true);
|
|
56
67
|
const filteredSettings = Object.fromEntries(Object.entries(settings).filter(([key, value]) => {
|
|
68
|
+
// Always save certain properties
|
|
69
|
+
if (alwaysSaveProperties.has(key)) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
// For other properties, only save if different from default
|
|
57
73
|
const defaultValue = defaultSettings[key];
|
|
58
74
|
return JSON.stringify(value) !== JSON.stringify(defaultValue);
|
|
59
75
|
}));
|