@yuuvis/bpm-management-app 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,440 @@
1
+ import { Route } from '@angular/router';
2
+ import { Observable } from 'rxjs';
3
+ import { TranslateService } from '@yuuvis/client-core';
4
+ import * as i0 from '@angular/core';
5
+
6
+ declare const YuvBpmManagementRoutes: Route[];
7
+
8
+ declare const APP_ID = "io.yuuvis.app.bpm-management";
9
+ interface DeploymentInstance {
10
+ id: string;
11
+ name: string;
12
+ category: string;
13
+ deploymentTime: string;
14
+ resources: DeploymentResourceData[];
15
+ definitions: ProcessDefinitionInstance[];
16
+ }
17
+ interface DeploymentResourceData {
18
+ id: string;
19
+ mediaType: string;
20
+ type: string;
21
+ }
22
+ interface ProcessDefinitionInstance {
23
+ id: string;
24
+ name: string;
25
+ description: string;
26
+ category: string;
27
+ version: string;
28
+ key: string;
29
+ global: boolean;
30
+ suspended: boolean;
31
+ deploymentId: string;
32
+ statistics: ProcessdefinitionStatisticsData;
33
+ }
34
+ interface ProcessdefinitionStatisticsData {
35
+ processInstanceCount: ProcessinstanceCountData;
36
+ }
37
+ interface ProcessinstanceCountData {
38
+ active: number;
39
+ suspended: number;
40
+ completed: number;
41
+ }
42
+ interface ProcessVariable {
43
+ name: string;
44
+ type: string;
45
+ value: any;
46
+ scope: string;
47
+ }
48
+ interface ProcessInstance {
49
+ id: string;
50
+ name: string;
51
+ businessKey: string;
52
+ processDefinitionId: string;
53
+ processDefinitionName: string;
54
+ processDefinitionDescription: string | null;
55
+ startUserId: string;
56
+ startTime: string;
57
+ deleteReason: string | null;
58
+ endActivityId: string | null;
59
+ startActivityId: string;
60
+ durationInMillis: number | null;
61
+ endTime: string | null;
62
+ suspended: boolean;
63
+ variables: ProcessVariable[];
64
+ }
65
+ interface ProcessHistory {
66
+ tasks: TaskInstance[];
67
+ }
68
+ interface TaskInstance {
69
+ id: string;
70
+ name: string;
71
+ description: string | null;
72
+ assignee: string;
73
+ owner: string;
74
+ createTime: string;
75
+ endTime: string | null;
76
+ claimTime: string | null;
77
+ dueDate: string | null;
78
+ processDefinitionId: string;
79
+ processInstanceId: string;
80
+ processInstanceName: string | null;
81
+ parentTaskId: string | null;
82
+ taskDefinitionKey: string;
83
+ delegationState: string | null;
84
+ suspended: boolean;
85
+ hasForm: boolean;
86
+ formKey: string | null;
87
+ variables?: TaskVariable[];
88
+ identityLinks?: TaskIdentityLinks;
89
+ }
90
+ interface TaskVariable {
91
+ name: string;
92
+ type: string;
93
+ value: any;
94
+ valueUrl?: string;
95
+ scope: string;
96
+ }
97
+ interface TaskIdentityLinks {
98
+ candidates: {
99
+ users: string[];
100
+ roles: string[];
101
+ };
102
+ assignmentHistory: TaskAssignmentHistoryEntry[];
103
+ }
104
+ interface TaskAssignmentHistoryEntry {
105
+ type: 'ASSIGNMENT' | 'DELEGATION' | 'RESOLVE';
106
+ assignee: string;
107
+ owner?: string;
108
+ timestamp: string;
109
+ }
110
+ declare const ProcessDefinitionScope: {
111
+ readonly GLOBAL: {
112
+ readonly value: "GLOBAL";
113
+ readonly label: "yuv.app.bpm-management.processdefinitions.scope.global";
114
+ readonly icon: "globe";
115
+ };
116
+ readonly TENANT: {
117
+ readonly value: "TENANT";
118
+ readonly label: "yuv.app.bpm-management.processdefinitions.scope.tenant";
119
+ readonly icon: "tenant";
120
+ };
121
+ };
122
+ declare const ProcessDefinitionStatus: {
123
+ readonly ACTIVE: {
124
+ readonly value: "ACTIVE";
125
+ readonly label: "yuv.app.bpm-management.status.active";
126
+ };
127
+ readonly SUSPENDED: {
128
+ readonly value: "SUSPENDED";
129
+ readonly label: "yuv.app.bpm-management.status.suspended";
130
+ };
131
+ };
132
+ declare const ProcessStatus: {
133
+ readonly RUNNING: {
134
+ readonly value: "RUNNING";
135
+ readonly label: "yuv.app.bpm-management.status.running";
136
+ };
137
+ readonly SUSPENDED: {
138
+ readonly value: "SUSPENDED";
139
+ readonly label: "yuv.app.bpm-management.status.suspended";
140
+ };
141
+ readonly RUNNING_SUSPENDED: {
142
+ readonly value: "RUNNING_SUSPENDED";
143
+ readonly label: "yuv.app.bpm-management.status.runningORsuspended";
144
+ };
145
+ readonly COMPLETED: {
146
+ readonly value: "COMPLETED";
147
+ readonly label: "yuv.app.bpm-management.status.completed";
148
+ };
149
+ };
150
+ declare const TaskStatus: {
151
+ readonly RUNNING: {
152
+ readonly value: "RUNNING";
153
+ readonly label: "yuv.app.bpm-management.status.running";
154
+ };
155
+ readonly COMPLETED: {
156
+ readonly value: "COMPLETED";
157
+ readonly label: "yuv.app.bpm-management.status.completed";
158
+ };
159
+ };
160
+ interface DeploymentsSearchResponse {
161
+ hasMoreItems: boolean;
162
+ numItems: number;
163
+ totalNumItems: number;
164
+ objects: DeploymentInstance[];
165
+ }
166
+ interface ProcessDefinitionSearchResponse {
167
+ hasMoreItems: boolean;
168
+ numItems: number;
169
+ totalNumItems: number;
170
+ objects: ProcessDefinitionInstance[];
171
+ }
172
+ interface ProcessesSearchResponse {
173
+ hasMoreItems: boolean;
174
+ numItems: number;
175
+ totalNumItems: number;
176
+ objects: ProcessInstance[];
177
+ }
178
+ interface TasksSearchResponse {
179
+ hasMoreItems: boolean;
180
+ numItems: number;
181
+ totalNumItems: number;
182
+ objects: TaskInstance[];
183
+ }
184
+ declare const APP_ICONS: {
185
+ assign: string;
186
+ cancel: string;
187
+ unassign: string;
188
+ clearFilter: string;
189
+ dockToLeft: string;
190
+ filterActive: string;
191
+ filterEquals: string;
192
+ filterContains: string;
193
+ filterStartsWith: string;
194
+ filterEndsWith: string;
195
+ filterGreaterThan: string;
196
+ filterLessThan: string;
197
+ filterAfter: string;
198
+ filterBefore: string;
199
+ filterBetween: string;
200
+ globe: string;
201
+ info: string;
202
+ refresh: string;
203
+ radioButtonChecked: string;
204
+ radioButtonUnchecked: string;
205
+ tenant: string;
206
+ delegated: string;
207
+ resolved: string;
208
+ activate: string;
209
+ suspend: string;
210
+ };
211
+ interface Pagination {
212
+ total: number;
213
+ pageSize: number;
214
+ page: number;
215
+ }
216
+ interface Column {
217
+ name: string;
218
+ displayName: string;
219
+ template?: any;
220
+ filter?: ColumnFilter;
221
+ }
222
+ type ColumnFilter = TextColumnFilter | NumberColumnFilter | DateColumnFilter | SelectColumnFilter;
223
+ interface TextColumnFilter {
224
+ type: typeof FILTER_TYPES.TEXT;
225
+ placeholder?: string;
226
+ operators?: FilterOption[];
227
+ }
228
+ interface NumberColumnFilter {
229
+ type: typeof FILTER_TYPES.NUMBER;
230
+ placeholder?: string;
231
+ operators?: FilterOption[];
232
+ minValue?: number;
233
+ maxValue?: number;
234
+ step?: number;
235
+ }
236
+ interface DateColumnFilter {
237
+ type: typeof FILTER_TYPES.DATE;
238
+ placeholder?: string;
239
+ operators?: FilterOption[];
240
+ }
241
+ interface SelectColumnFilter {
242
+ type: typeof FILTER_TYPES.SELECT;
243
+ placeholder?: string;
244
+ options: FilterOption[];
245
+ enableMultiselect?: boolean;
246
+ }
247
+ interface FilterOption {
248
+ value: string;
249
+ label: string;
250
+ icon?: string;
251
+ }
252
+ declare const FILTER_OPERATORS: {
253
+ readonly CONTAINS: {
254
+ readonly value: "contains";
255
+ readonly label: "yuv.app.bpm-management.filters.operators.contains";
256
+ readonly icon: "filterContains";
257
+ };
258
+ readonly EQUALS: {
259
+ readonly value: "equals";
260
+ readonly label: "yuv.app.bpm-management.filters.operators.equals";
261
+ readonly icon: "filterEquals";
262
+ };
263
+ readonly STARTS_WITH: {
264
+ readonly value: "startsWith";
265
+ readonly label: "yuv.app.bpm-management.filters.operators.startsWith";
266
+ readonly icon: "filterStartsWith";
267
+ };
268
+ readonly ENDS_WITH: {
269
+ readonly value: "endsWith";
270
+ readonly label: "yuv.app.bpm-management.filters.operators.endsWith";
271
+ readonly icon: "filterEndsWith";
272
+ };
273
+ readonly GREATER_THAN: {
274
+ readonly value: "greaterThan";
275
+ readonly label: "yuv.app.bpm-management.filters.operators.greaterThan";
276
+ readonly icon: "filterGreaterThan";
277
+ };
278
+ readonly LESS_THAN: {
279
+ readonly value: "lessThan";
280
+ readonly label: "yuv.app.bpm-management.filters.operators.lessThan";
281
+ readonly icon: "filterLessThan";
282
+ };
283
+ readonly BEFORE: {
284
+ readonly value: "before";
285
+ readonly label: "yuv.app.bpm-management.filters.operators.before";
286
+ readonly icon: "filterBefore";
287
+ };
288
+ readonly AFTER: {
289
+ readonly value: "after";
290
+ readonly label: "yuv.app.bpm-management.filters.operators.after";
291
+ readonly icon: "filterAfter";
292
+ };
293
+ readonly BETWEEN: {
294
+ readonly value: "between";
295
+ readonly label: "yuv.app.bpm-management.filters.operators.between";
296
+ readonly icon: "filterBetween";
297
+ };
298
+ };
299
+ declare const FILTER_TYPES: {
300
+ readonly TEXT: "text";
301
+ readonly NUMBER: "number";
302
+ readonly DATE: "date";
303
+ readonly SELECT: "select";
304
+ readonly CHECKBOX: "checkbox";
305
+ };
306
+ interface TableFilters {
307
+ [columnName: string]: FilterValue;
308
+ }
309
+ interface FilterValue {
310
+ type: typeof FILTER_TYPES.TEXT | typeof FILTER_TYPES.NUMBER | typeof FILTER_TYPES.DATE | typeof FILTER_TYPES.SELECT | typeof FILTER_TYPES.CHECKBOX;
311
+ value: any;
312
+ operator?: string;
313
+ endDate?: Date | null;
314
+ }
315
+ type DateFormatType = 'datetime' | 'date' | 'time';
316
+ declare function formatDateTime(utcDateString: string, locale: string, type?: DateFormatType): string;
317
+
318
+ /**
319
+ * Base class for BPM filter conversion with shared logic
320
+ */
321
+ declare abstract class BaseBpmFilter {
322
+ /**
323
+ * Converts AG Grid filter model to BPM filter format
324
+ * @param tableFilters - The AG Grid table filters
325
+ * @param ts - Optional TranslateService for date formatting
326
+ * @returns The converted BPM filter instance
327
+ */
328
+ protected static convertFromAgFilterModel<T extends BaseBpmFilter>(filterInstance: T, tableFilters: TableFilters, ts?: TranslateService): T;
329
+ private static handleTextFilter;
330
+ private static handleDateFilter;
331
+ protected static handleSelectFilter(_filterInstance: any, _columnFilter: string, _columnFilterData: any): void;
332
+ }
333
+ declare class DeploymentFilter extends BaseBpmFilter {
334
+ static bpmFilterToRestApiName: {
335
+ id: string;
336
+ name: string;
337
+ category: string;
338
+ };
339
+ id: FilterValue | undefined;
340
+ name: FilterValue | undefined;
341
+ category: FilterValue | undefined;
342
+ static fromAgFilterModel(tableFilters: TableFilters): DeploymentFilter;
343
+ }
344
+ declare class ProcessDefinitionFilter extends BaseBpmFilter {
345
+ static bpmFilterToRestApiName: {
346
+ id: string;
347
+ deploymentId: string;
348
+ name: string;
349
+ category: string;
350
+ version: string;
351
+ key: string;
352
+ status: string;
353
+ global: string;
354
+ latest: string;
355
+ };
356
+ id: FilterValue | undefined;
357
+ deploymentId: FilterValue | undefined;
358
+ name: FilterValue | undefined;
359
+ category: FilterValue | undefined;
360
+ version: FilterValue | undefined;
361
+ key: FilterValue | undefined;
362
+ status: FilterValue | undefined;
363
+ global: FilterValue | undefined;
364
+ latest: FilterValue | undefined;
365
+ static fromAgFilterModel(tableFilters: TableFilters): ProcessDefinitionFilter;
366
+ protected static handleSelectFilter(filterInstance: any, columnFilter: string, columnFilterData: any): void;
367
+ }
368
+ declare class ProcessFilter extends BaseBpmFilter {
369
+ static bpmFilterToRestApiName: {
370
+ id: string;
371
+ processDefinitionId: string;
372
+ name: string;
373
+ startUserId: string;
374
+ businessKey: string;
375
+ startTimeBefore: string;
376
+ startTimeAfter: string;
377
+ endTimeBefore: string;
378
+ endTimeAfter: string;
379
+ status: string;
380
+ };
381
+ id: FilterValue | undefined;
382
+ processDefinitionId: FilterValue | undefined;
383
+ name: FilterValue | undefined;
384
+ startUserId: FilterValue | undefined;
385
+ startTimeBefore: FilterValue | undefined;
386
+ startTimeAfter: FilterValue | undefined;
387
+ endTimeBefore: FilterValue | undefined;
388
+ endTimeAfter: FilterValue | undefined;
389
+ businessKey: FilterValue | undefined;
390
+ status: FilterValue | undefined;
391
+ static fromAgFilterModel(tableFilters: TableFilters, ts: TranslateService): ProcessFilter;
392
+ protected static handleSelectFilter(filterInstance: any, columnFilter: string, columnFilterData: any): void;
393
+ }
394
+ declare class TaskFilter extends BaseBpmFilter {
395
+ static bpmFilterToRestApiName: {
396
+ id: string;
397
+ name: string;
398
+ status: string;
399
+ assignee: string;
400
+ owner: string;
401
+ createTimeBefore: string;
402
+ createTimeAfter: string;
403
+ endTimeBefore: string;
404
+ endTimeAfter: string;
405
+ };
406
+ id: FilterValue | undefined;
407
+ name: FilterValue | undefined;
408
+ status: FilterValue | undefined;
409
+ assignee: FilterValue | undefined;
410
+ owner: FilterValue | undefined;
411
+ createTimeBefore: FilterValue | undefined;
412
+ createimeAfter: FilterValue | undefined;
413
+ endTimeBefore: FilterValue | undefined;
414
+ endTimeAfter: FilterValue | undefined;
415
+ static fromAgFilterModel(tableFilters: TableFilters, ts: TranslateService): TaskFilter;
416
+ protected static handleSelectFilter(filterInstance: any, columnFilter: string, columnFilterData: any): void;
417
+ }
418
+
419
+ declare class YuvBpmAdminService {
420
+ #private;
421
+ static DEFAULT_PAGE_SIZE: number;
422
+ private readonly bpmApiBase;
423
+ getDeployments(page: number, size: number, filter?: DeploymentFilter): Observable<any>;
424
+ getDeployment(deploymentId: string): Observable<DeploymentInstance | null>;
425
+ getDeploymentResources(deploymentId: string): Observable<any>;
426
+ getProcessDefinitions(page: number, size: number, filter?: ProcessDefinitionFilter): Observable<any>;
427
+ getProcessDefinition(processDefinitionInstanceId: string): Observable<ProcessDefinitionInstance | null>;
428
+ executeProcessDefinitionAction(processDefinitionInstanceId: string, action: string, includeProcesses: boolean): Observable<any>;
429
+ getProcesses(page: number, size: number, filter?: ProcessFilter): Observable<any>;
430
+ getProcess(processInstanceId: string): Observable<ProcessInstance | null>;
431
+ getProcessHistory(processInstanceId: string): Observable<ProcessHistory | null>;
432
+ getTasks(page: number, size: number, filter?: TaskFilter): Observable<any>;
433
+ getTask(taskId: string): Observable<TaskInstance | null>;
434
+ assignTask(taskId: string, assignee: string | null): Observable<any>;
435
+ static ɵfac: i0.ɵɵFactoryDeclaration<YuvBpmAdminService, never>;
436
+ static ɵprov: i0.ɵɵInjectableDeclaration<YuvBpmAdminService>;
437
+ }
438
+
439
+ export { APP_ICONS, APP_ID, FILTER_OPERATORS, FILTER_TYPES, ProcessDefinitionScope, ProcessDefinitionStatus, ProcessStatus, TaskStatus, YuvBpmAdminService, YuvBpmManagementRoutes, formatDateTime };
440
+ export type { Column, ColumnFilter, DateColumnFilter, DateFormatType, DeploymentInstance, DeploymentResourceData, DeploymentsSearchResponse, FilterOption, FilterValue, NumberColumnFilter, Pagination, ProcessDefinitionInstance, ProcessDefinitionSearchResponse, ProcessHistory, ProcessInstance, ProcessVariable, ProcessdefinitionStatisticsData, ProcessesSearchResponse, ProcessinstanceCountData, SelectColumnFilter, TableFilters, TaskAssignmentHistoryEntry, TaskIdentityLinks, TaskInstance, TaskVariable, TasksSearchResponse, TextColumnFilter };
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "io.yuuvis.app.bpm-management",
3
+ "title": "yuuvis BPM Admin",
4
+ "ui": {
5
+ "path": "bpm-management",
6
+ "iconName": "flowchart",
7
+ "routes": "YuvBpmAdminRoutes",
8
+ "options": {
9
+ "appHeader": true
10
+ }
11
+ },
12
+ "extension": "YuvBpmAdminExtension"
13
+ }