@acorex-platform/module-task-management-client 0.0.54 → 0.0.56

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.
Files changed (16) hide show
  1. package/fesm2022/{acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-ryc94crr.mjs → acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DcrxLUEb.mjs} +8 -8
  2. package/fesm2022/{acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-ryc94crr.mjs.map → acorex-platform-module-task-management-client-acorex-platform-module-task-management-client-DcrxLUEb.mjs.map} +1 -1
  3. package/fesm2022/{acorex-platform-module-task-management-client-list-task-board-assignees.query-DcaCQ102.mjs → acorex-platform-module-task-management-client-list-task-board-assignees.query-B4AWJplx.mjs} +2 -2
  4. package/fesm2022/{acorex-platform-module-task-management-client-list-task-board-assignees.query-DcaCQ102.mjs.map → acorex-platform-module-task-management-client-list-task-board-assignees.query-B4AWJplx.mjs.map} +1 -1
  5. package/fesm2022/{acorex-platform-module-task-management-client-list-task-types.query-DIylWC7L.mjs → acorex-platform-module-task-management-client-list-task-types.query-BHKIiUSV.mjs} +2 -2
  6. package/fesm2022/{acorex-platform-module-task-management-client-list-task-types.query-DIylWC7L.mjs.map → acorex-platform-module-task-management-client-list-task-types.query-BHKIiUSV.mjs.map} +1 -1
  7. package/fesm2022/{acorex-platform-module-task-management-client-start-task-flow.command-no0cwb1V.mjs → acorex-platform-module-task-management-client-start-task-flow.command-XleVbaRI.mjs} +25 -9
  8. package/fesm2022/acorex-platform-module-task-management-client-start-task-flow.command-XleVbaRI.mjs.map +1 -0
  9. package/fesm2022/{acorex-platform-module-task-management-client-task-board.page-PDqXVNW3.mjs → acorex-platform-module-task-management-client-task-board.page-Cl249xyY.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-module-task-management-client-task-board.page-PDqXVNW3.mjs.map → acorex-platform-module-task-management-client-task-board.page-Cl249xyY.mjs.map} +1 -1
  11. package/fesm2022/acorex-platform-module-task-management-client.mjs +1 -1
  12. package/i18n/en-AU/task-management.json +385 -0
  13. package/i18n/en-US/task-management.json +385 -0
  14. package/i18n/fa-IR/task-management.json +457 -0
  15. package/package.json +3 -3
  16. package/fesm2022/acorex-platform-module-task-management-client-start-task-flow.command-no0cwb1V.mjs.map +0 -1
@@ -0,0 +1,457 @@
1
+ {
2
+ "module": {
3
+ "title": "مدیریت وظایف",
4
+ "description": "مدیریت وظایف، انتساب‌ها و ردیابی زمان"
5
+ },
6
+ "catalog-scopes": {
7
+ "tasks": {
8
+ "title": "جریان‌های کار وظایف",
9
+ "description": "تعاریف جریان کار برای نوع وظیفه"
10
+ }
11
+ },
12
+ "settings": {
13
+ "task-management": {
14
+ "group": {
15
+ "nav-title": "وظایف",
16
+ "title": "مدیریت وظایف",
17
+ "description": "ترجیحات مربوط به نماها و حالت‌های تختهٔ وظایف."
18
+ },
19
+ "taskboard": {
20
+ "section": {
21
+ "title": "تختهٔ وظایف",
22
+ "description": "تعیین کنید کدام چیدمان‌ها در تعویض‌گر نمای تختهٔ وظایف دیده شوند."
23
+ },
24
+ "parts": {
25
+ "calendar": {
26
+ "title": "حالت‌های تقویم",
27
+ "description": "انتخاب کنید کدام حالت‌های تقویم در تختهٔ وظایف در دسترس باشند.",
28
+ "mode-options": {
29
+ "day": "روزانه",
30
+ "week": "هفتگی",
31
+ "month": "ماهانه",
32
+ "agenda": "دستور کار"
33
+ }
34
+ },
35
+ "timeline": {
36
+ "title": "حالت‌های خط زمانی",
37
+ "description": "انتخاب کنید کدام حالت‌های خط زمانی در تختهٔ وظایف در دسترس باشند.",
38
+ "mode-options": {
39
+ "timeline-day": "خط زمانی روزانه",
40
+ "timeline-weekly": "خط زمانی هفتگی",
41
+ "timeline-month": "خط زمانی ماهانه",
42
+ "timeline-year": "خط زمانی سالانه"
43
+ }
44
+ },
45
+ "table": {
46
+ "title": "حالت‌های جدول",
47
+ "description": "انتخاب کنید کدام حالت‌های جدول در تختهٔ وظایف در دسترس باشند.",
48
+ "mode-options": {
49
+ "grid": "ساده",
50
+ "status-grouped-grid": "گروه‌بندی بر اساس وضعیت"
51
+ }
52
+ },
53
+ "kanban": {
54
+ "title": "حالت‌های کانبان",
55
+ "description": "انتخاب کنید کدام حالت‌های کانبان در تختهٔ وظایف در دسترس باشند.",
56
+ "mode-options": {
57
+ "kanban": "کانبان"
58
+ }
59
+ }
60
+ },
61
+ "color-by": {
62
+ "title": "رنگ‌آمیزی وظایف بر اساس",
63
+ "description": "رنگ پیش‌فرض نوار کناری ردیف‌ها و کارت‌های تخته وظایف.",
64
+ "due-date": "تاریخ سررسید",
65
+ "priority": "اولویت",
66
+ "status": "وضعیت"
67
+ }
68
+ }
69
+ }
70
+ },
71
+ "root-menu": "مدیریت وظایف",
72
+ "task": {
73
+ "individual-title": "وظیفه",
74
+ "plural-title": "وظایف",
75
+ "scheduling": "زمان‌بندی",
76
+ "classification": "طبقه‌بندی",
77
+ "tracking": "ردیابی",
78
+ "context": "زمینه",
79
+ "due-date": "تاریخ سررسید",
80
+ "start-date": "تاریخ شروع",
81
+ "completed-date": "تاریخ تکمیل",
82
+ "estimated-hours": "ساعت‌های تخمینی",
83
+ "actual-hours": "ساعت‌های واقعی",
84
+ "parent-task": "وظیفه والد",
85
+ "context-type": "نوع زمینه",
86
+ "subject": "موضوع",
87
+ "subject-type": "نوع موضوع",
88
+ "context-id": "شناسه زمینه",
89
+ "form-template": "قالب فرم",
90
+ "permissions": {
91
+ "task": {
92
+ "manage": {
93
+ "title": "مدیریت وظایف"
94
+ },
95
+ "view-all": {
96
+ "title": "مشاهده همه وظایف",
97
+ "description": "مشاهده و فیلتر وظایف همه مسئولان در تخته وظایف."
98
+ }
99
+ }
100
+ }
101
+ },
102
+ "task-type": {
103
+ "individual-title": "نوع وظیفه",
104
+ "plural-title": "انواع وظایف",
105
+ "configuration": "پیکربندی",
106
+ "allowed-context-types": "انواع زمینه مجاز",
107
+ "allowed-subject-types": "انواع موضوع مجاز",
108
+ "form-template": "قالب فرم",
109
+ "document-types": "نوع سند",
110
+ "features": {
111
+ "title": "ویژگی‌ها",
112
+ "has-checklist": "دارای چک‌لیست",
113
+ "has-time-tracking": "دارای ردیابی زمان",
114
+ "has-attachments": "دارای پیوست",
115
+ "has-dependencies": "دارای وابستگی‌ها",
116
+ "has-subtasks": "دارای زیروظایف"
117
+ },
118
+ "default-status": "وضعیت پیش‌فرض"
119
+ },
120
+ "task-type-categories": {
121
+ "title": "دسته نوع وظیفه",
122
+ "plural": "دسته‌های نوع وظیفه"
123
+ },
124
+ "task-status": {
125
+ "individual-title": "وضعیت وظیفه",
126
+ "plural-title": "وضعیت‌های وظیفه",
127
+ "configuration": "پیکربندی",
128
+ "workflow": "گردش کار",
129
+ "is-default": "پیش‌فرض است",
130
+ "is-final": "نهایی است",
131
+ "allowed-transitions": "انتقال‌های مجاز"
132
+ },
133
+ "task-checklist-item": {
134
+ "individual-title": "ردیف چک‌لیست",
135
+ "plural-title": "ردیف‌های چک‌لیست"
136
+ },
137
+ "checklist-item": {
138
+ "assignment": "واگذاری",
139
+ "status": "وضعیت",
140
+ "assigned-to": "واگذار شده به",
141
+ "due-date": "تاریخ سررسید",
142
+ "is-completed": "تکمیل شده است",
143
+ "completed-by": "تکمیل شده توسط",
144
+ "completed-at": "تکمیل شده در"
145
+ },
146
+ "task-assignment": {
147
+ "individual-title": "واگذاری وظیفه",
148
+ "plural-title": "واگذاری‌های وظیفه",
149
+ "assigned-to": "واگذار شده به",
150
+ "assigned-by": "واگذار شده توسط",
151
+ "assigned-at": "واگذار شده در"
152
+ },
153
+ "time-log": {
154
+ "individual-title": "ثبت زمان",
155
+ "plural-title": "ثبت‌های زمان",
156
+ "time-details": "جزئیات زمان",
157
+ "approval": "تأیید",
158
+ "start-time": "زمان شروع",
159
+ "end-time": "زمان پایان",
160
+ "duration": "مدت",
161
+ "is-approved": "تأیید شده است"
162
+ },
163
+ "task-dependency": {
164
+ "individual-title": "وابستگی وظیفه",
165
+ "plural-title": "وابستگی‌های وظیفه",
166
+ "depends-on-task": "وابسته به وظیفه",
167
+ "dependency-type": "نوع وابستگی",
168
+ "lag-days": "روزهای تأخیر"
169
+ },
170
+ "task-context": {
171
+ "individual-title": "زمینه وظیفه",
172
+ "plural-title": "زمینه‌های وظیفه",
173
+ "context-type": "نوع زمینه",
174
+ "subject": "موضوع",
175
+ "subject-type": "نوع موضوع",
176
+ "context-id": "شناسه زمینه",
177
+ "context-title": "عنوان زمینه",
178
+ "is-primary": "زمینه اصلی است"
179
+ },
180
+ "task-template": {
181
+ "individual-title": "قالب وظیفه",
182
+ "plural-title": "قالب‌های وظیفه",
183
+ "task-data": "داده وظیفه",
184
+ "template-data": "داده قالب",
185
+ "is-public": "عمومی است"
186
+ },
187
+ "task-board": {
188
+ "page-title": "تخته وظایف",
189
+ "all": "همه وظایف",
190
+ "calendar": "تقویم",
191
+ "table": "فهرست",
192
+ "kanban": "کانبان",
193
+ "widget-title": "عنوان ویجت",
194
+ "timeline": "خط زمانی",
195
+ "view-page-title": {
196
+ "calendar": {
197
+ "daily": "تقویم روزانه",
198
+ "weekly": "تقویم هفتگی",
199
+ "monthly": "تقویم ماهانه",
200
+ "agenda": "دستور کار"
201
+ },
202
+ "timeline": {
203
+ "daily": "خط زمانی روزانه",
204
+ "weekly": "خط زمانی هفتگی",
205
+ "monthly": "خط زمانی ماهانه",
206
+ "yearly": "خط زمانی سالانه"
207
+ },
208
+ "table": {
209
+ "simple": "فهرست وظایف",
210
+ "grouped": "وظایف بر اساس وضعیت"
211
+ },
212
+ "kanban": "تابلوی کانبان"
213
+ },
214
+ "navigator": {
215
+ "today": "امروز",
216
+ "current-week": "هفته جاری",
217
+ "current-month": "ماه جاری",
218
+ "current-year": "سال جاری",
219
+ "previous-period": "دوره قبل",
220
+ "next-period": "دوره بعد"
221
+ },
222
+ "shortcuts": {
223
+ "groups": {
224
+ "views": "نماها",
225
+ "panels": "پنل‌ها"
226
+ },
227
+ "go-to-today": "رفتن به امروز",
228
+ "dismiss-overlays": "بستن پنل یا پنجره",
229
+ "toggle-settings": "نمایش/مخفی کردن تنظیمات",
230
+ "previous-layout": "چیدمان قبلی",
231
+ "next-layout": "چیدمان بعدی",
232
+ "switch-to-calendar": "رفتن به تقویم",
233
+ "switch-to-timeline": "رفتن به خط زمان",
234
+ "switch-to-table": "رفتن به فهرست",
235
+ "switch-to-kanban": "رفتن به کانبان"
236
+ },
237
+ "view": {
238
+ "daily": "روزانه",
239
+ "daily-timeline": "خط زمان روزانه",
240
+ "multi-day-timeline": "خط زمان چند روزه",
241
+ "weekly": "هفتگی",
242
+ "weekly-timeline": "خط زمان هفتگی",
243
+ "monthly": "ماهانه",
244
+ "yearly": "سالانه",
245
+ "monthly-timeline": "خط زمان ماهانه",
246
+ "all-day": "تمام روز",
247
+ "agenda": "دستور کار",
248
+ "kanban": "کانبان",
249
+ "grid": "فهرست",
250
+ "status-grouped-grid": "وضعیت",
251
+ "time-grouped-grid": "گروه‌بندی بر اساس زمان",
252
+ "yearly-timeline": "خط زمان سالانه"
253
+ },
254
+ "detail-panel": {
255
+ "title": "جزئیات وظیفه",
256
+ "description": "توضیحات",
257
+ "start-date": "تاریخ شروع",
258
+ "end-date": "تاریخ پایان",
259
+ "status": "وضعیت",
260
+ "priority": "اولویت",
261
+ "no-task-selected": {
262
+ "title": "هیچ وظیفه‌ای انتخاب نشده",
263
+ "description": "لطفاً وظیفه‌ای را انتخاب کنید تا جزئیات آن را مشاهده کنید."
264
+ },
265
+ "reporter": "ارجاع دهنده",
266
+ "assignee": "واگذار شده به"
267
+ },
268
+ "grid-headers": {
269
+ "title": "عنوان",
270
+ "description": "توضیحات",
271
+ "start-date": "تاریخ شروع",
272
+ "due-date": "تاریخ سررسید",
273
+ "received": "تاریخ دریافت",
274
+ "priority": "اولویت",
275
+ "reporter": "ارجاع دهنده",
276
+ "assignee": "واگذار شده به",
277
+ "status": "وضعیت",
278
+ "type": "نوع",
279
+ "action-view": "مشاهده"
280
+ },
281
+ "filter": {
282
+ "title": "فیلتر",
283
+ "title-plural": "فیلترها",
284
+ "task-type": "نوع وظیفه",
285
+ "assignee": "واگذار شده به",
286
+ "unassigned": "بدون مسئول",
287
+ "reporter": "ارجاع دهنده",
288
+ "priority": "اولویت",
289
+ "due-status": "وضعیت سررسید",
290
+ "date-range": "بازه تاریخ",
291
+ "calendar-event-type": "تقویم‌های تعطیلات",
292
+ "calendars": "تقویم‌های تعطیلات"
293
+ },
294
+ "priority": {
295
+ "urgent": "فوری",
296
+ "high": "بالا",
297
+ "normal": "عادی",
298
+ "low": "پایین",
299
+ "no-priority": "بدون اولویت"
300
+ },
301
+ "due-status": {
302
+ "completed": "تکمیل‌شده",
303
+ "no-due-date": "بدون تاریخ سررسید",
304
+ "overdue": "گذشته از موعد",
305
+ "due-today": "سررسید امروز",
306
+ "due-tomorrow": "سررسید فردا",
307
+ "due-this-week": "سررسید این هفته",
308
+ "upcoming": "پیش‌رو"
309
+ },
310
+ "color-by": {
311
+ "due-date": "تاریخ سررسید",
312
+ "priority": "اولویت",
313
+ "status": "وضعیت"
314
+ },
315
+ "settings": {
316
+ "title": "تنظیمات",
317
+ "color-by": "رنگ‌بندی بر اساس"
318
+ }
319
+ },
320
+ "cartable": {
321
+ "menu-title": "کارتابل",
322
+ "page-title": "کارتابل",
323
+ "view-cards": "کارت",
324
+ "view-grid": "جدول",
325
+ "empty-state": {
326
+ "title": "موردی نیست",
327
+ "description": "در کارتابل شما وظیفهٔ استخری گردش کار وجود ندارد. وقتی در فهرست نامزدها باشید، موارد جدید اینجا نمایش داده می‌شوند."
328
+ },
329
+ "badge-pool": "استخر",
330
+ "badge-assigned": "واگذار به شما",
331
+ "open-actions": "اقدامات",
332
+ "col-title": "عنوان",
333
+ "col-type": "گردش کار",
334
+ "col-state": "وضعیت"
335
+ },
336
+ "queries": {
337
+ "shared": {
338
+ "title": "عنوان",
339
+ "value": "مقدار",
340
+ "icon": "آیکن",
341
+ "icon-tone": "تن آیکن",
342
+ "items": "موارد"
343
+ },
344
+ "dashboard": {
345
+ "open-tasks-kpi": {
346
+ "title": "مدیریت وظایف — KPI وظایف باز",
347
+ "description": "KPI سمت سرور: ردیف‌های باز TaskManagement.Task (قابل snapshot).",
348
+ "card-title": "وظایف باز"
349
+ },
350
+ "overdue-tasks-kpi": {
351
+ "title": "مدیریت وظایف — KPI وظایف سررسید گذشته",
352
+ "description": "KPI سمت سرور: وظایف باز با تاریخ سررسید گذشته (قابل snapshot).",
353
+ "card-title": "وظایف سررسید گذشته"
354
+ },
355
+ "my-open-tasks-kpi": {
356
+ "title": "مدیریت وظایف — KPI وظایف باز من",
357
+ "description": "KPI سمت سرور: وظایف باز کاربر جاری (قابل snapshot).",
358
+ "card-title": "وظایف باز من"
359
+ }
360
+ }
361
+ },
362
+ "tasks": {
363
+ "commands": {
364
+ "start-flow": {
365
+ "errors": {
366
+ "missing-input": "گردش کار، نوع وظیفه یا مرجع موضوع مشخص نیست.",
367
+ "task-type-not-found": "نوع وظیفه یافت نشد.",
368
+ "task-type-not-allowed": "این نوع وظیفه برای این نوع پروژه مجاز نیست.",
369
+ "execution-failed-title": "اجرای گردش کار ناموفق بود",
370
+ "execution-error-title": "خطای اجرای گردش کار",
371
+ "unknown": "خطای نامشخص"
372
+ }
373
+ }
374
+ }
375
+ },
376
+ "dashboard-widgets": {
377
+ "widget-picker-category": {
378
+ "tasks": "وظایف"
379
+ },
380
+ "widget-picker-sub-categories": {
381
+ "shortcut": "میان‌برها",
382
+ "board": "بورد وظایف"
383
+ }
384
+ },
385
+ "task-process-definition": {
386
+ "permissions": {
387
+ "manage": {
388
+ "title": "مدیریت تعریف فرآیند",
389
+ "description": "دسترسی کامل به تعریف فرآیند"
390
+ },
391
+ "view": {
392
+ "title": "مشاهده تعریف فرآیند",
393
+ "description": "مجوز مشاهده تعریف فرآیند"
394
+ },
395
+ "create": {
396
+ "title": "ایجاد تعریف فرآیند",
397
+ "description": "مجوز ایجاد تعریف فرآیند"
398
+ },
399
+ "edit": {
400
+ "title": "ویرایش تعریف فرآیند",
401
+ "description": "مجوز ویرایش تعریف فرآیند"
402
+ },
403
+ "delete": {
404
+ "title": "حذف تعریف فرآیند",
405
+ "description": "مجوز حذف تعریف فرآیند"
406
+ },
407
+ "history": {
408
+ "title": "تاریخچه تعریف فرآیند",
409
+ "description": "مجوز مشاهده تاریخچه تعریف فرآیند"
410
+ },
411
+ "show-xml": {
412
+ "title": "نمایش فرایند",
413
+ "description": "مجوز نمایش XML فرایند"
414
+ }
415
+ }
416
+ },
417
+ "task-process-instance": {
418
+ "permissions": {
419
+ "manage": {
420
+ "title": "مدیریت فرآیند اجرایی",
421
+ "description": "دسترسی کامل به فرآیند اجرایی"
422
+ },
423
+ "view": {
424
+ "title": "مشاهده فرآیند اجرایی",
425
+ "description": "مجوز مشاهده فرآیند اجرایی"
426
+ },
427
+ "create": {
428
+ "title": "ایجاد فرآیند اجرایی",
429
+ "description": "مجوز ایجاد فرآیند اجرایی"
430
+ },
431
+ "edit": {
432
+ "title": "ویرایش فرآیند اجرایی",
433
+ "description": "مجوز ویرایش فرآیند اجرایی"
434
+ },
435
+ "delete": {
436
+ "title": "حذف فرآیند اجرایی",
437
+ "description": "مجوز حذف فرآیند اجرایی"
438
+ },
439
+ "history": {
440
+ "title": "تاریخچه فرآیند اجرایی",
441
+ "description": "مجوز مشاهده تاریخچه فرآیند اجرایی"
442
+ },
443
+ "attachments": {
444
+ "title": "مستندات فرآیند",
445
+ "description": "مجوز مشاهده مستندات فرآیند اجرایی"
446
+ },
447
+ "comments": {
448
+ "title": "نظرات فرآیند",
449
+ "description": "مجوز مشاهده نظرات فرآیند اجرایی"
450
+ },
451
+ "show-xml": {
452
+ "title": "نمایش فرایند",
453
+ "description": "مجوز نمایش XML فرآیند اجرایی"
454
+ }
455
+ }
456
+ }
457
+ }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@acorex-platform/module-task-management-client",
3
- "version": "0.0.54",
3
+ "version": "0.0.56",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
- "@acorex-platform/module-dashboard-management-client": "0.0.54",
7
- "@acorex-platform/module-data-management-client": "0.0.54",
6
+ "@acorex-platform/module-dashboard-management-client": "0.0.56",
7
+ "@acorex-platform/module-data-management-client": "0.0.56",
8
8
  "@angular/common": "^21.0.0 || ^22.0.0",
9
9
  "@angular/core": "^21.0.0 || ^22.0.0"
10
10
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-task-management-client-start-task-flow.command-no0cwb1V.mjs","sources":["../../../../libs/modules/task-management/client/src/lib/features/task/commands/start-task-flow.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { type AXPEntityReference, AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXToastService } from '@acorex/components/toast';\n\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport { AXPWorkflowManager } from '@acorex-platform/framework-client/workflow';\nimport { defaultTo, get, isEmpty, merge } from 'lodash';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPTaskManagementCommandKeys } from '@acorex-platform/module-task-management-client/contracts';\nimport { RootConfig } from '@acorex-platform/module-task-management-client/contracts';\nimport type { AXMTaskManagementTaskTypeEntityModel } from '@acorex-platform/module-task-management-client/contracts';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface StartTaskFlowInput {\n workflowId?: string;\n taskTypeId?: string;\n subjectRef?: AXPEntityReference;\n projectTypeId?: string;\n input?: Record<string, unknown>;\n options?: StartTaskFlowOptions;\n}\n\nexport interface StartTaskFlowOptions {\n workflowId: string;\n input: {\n taskTypeId: string;\n subjectRef: AXPEntityReference;\n projectTypeId?: string;\n taskTypeTitle?: string;\n } & Record<string, unknown>;\n}\n\n//#endregion\n\n/**\n * Starts a workflow for a {@link TaskManagement.Task} when the task type defines {@link workflowConfig}.\n */\n@Injectable({ providedIn: 'root' })\nexport class StartTaskFlowCommand implements AXPCommand<StartTaskFlowInput, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly toastService = inject(AXToastService);\n private readonly entityService = inject(AXPEntityService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: StartTaskFlowInput): AXPCommandExecuteResultPromise<void> {\n const options = (input?.options ?? input) as StartTaskFlowOptions;\n const flowInput = defaultTo(options?.input, {} as StartTaskFlowOptions['input']);\n const workflowId = (options?.workflowId ?? input?.workflowId)?.trim();\n const taskTypeId = flowInput?.taskTypeId?.trim();\n const subjectRef = flowInput?.subjectRef ?? input?.subjectRef;\n const projectTypeId = flowInput?.projectTypeId?.trim() ?? input?.projectTypeId?.trim();\n\n if (!workflowId || !taskTypeId || !subjectRef?.id || !subjectRef?.type) {\n return { success: false, message: { text: 'Missing workflow, task type, or subject reference.' } };\n }\n\n try {\n const taskType = await this.loadTaskType(taskTypeId);\n if (!taskType) {\n return { success: false, message: { text: 'Task type not found.' } };\n }\n\n if (projectTypeId) {\n const allowed = await this.isTaskTypeAllowedForProjectType(projectTypeId, taskTypeId);\n if (!allowed) {\n return { success: false, message: { text: 'Task type is not allowed for this project type.' } };\n }\n }\n\n const defaultInput = defaultTo(get(taskType, 'workflowConfig.defaultInput'), {});\n const startResult = await this.workflowManager.start(workflowId, merge(\n defaultInput,\n {\n taskTypeId,\n taskTypeTitle: flowInput.taskTypeTitle ?? taskType.title,\n subjectRef,\n ...(projectTypeId ? { projectTypeId } : {}),\n refId: subjectRef.id,\n refType: subjectRef.type,\n correlationId: this.buildCorrelationId(subjectRef.id, taskTypeId, workflowId),\n },\n flowInput,\n ));\n\n if (!startResult.success) {\n this.toastService.show({\n color: 'danger',\n title: 'Workflow Execution Failed',\n content: startResult.error ?? 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: startResult.error ?? 'Unknown error' } };\n }\n\n return { success: true, kind: 'object', data: undefined };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n console.error('[StartTaskFlowCommand]', error);\n this.toastService.show({\n color: 'danger',\n title: 'Workflow Execution Error',\n content: message,\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: message } };\n }\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async loadTaskType(taskTypeId: string): Promise<AXMTaskManagementTaskTypeEntityModel | null> {\n const row = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.taskType.name)\n .data()\n .byKey(taskTypeId);\n return (row ?? null) as AXMTaskManagementTaskTypeEntityModel | null;\n }\n\n private async isTaskTypeAllowedForProjectType(projectTypeId: string, taskTypeId: string): Promise<boolean> {\n const projectType = (await this.entityService\n .withEntity('ProjectManagement', 'ProjectType')\n .data()\n .byKey(projectTypeId)) as {\n allowedTaskTypeIds?: string[];\n allowedTaskTypes?: Array<{ id: string }>;\n allowedTaskTypesList?: Array<{ id: string }>;\n } | null;\n\n if (!projectType) {\n return false;\n }\n\n const allowedIds =\n (projectType.allowedTaskTypesList ?? projectType.allowedTaskTypes)?.map((row) => row.id).filter(Boolean) ?? [];\n if (!isEmpty(allowedIds)) {\n return allowedIds.includes(taskTypeId);\n }\n\n return defaultTo(projectType.allowedTaskTypeIds, []).includes(taskTypeId);\n }\n\n private buildCorrelationId(subjectId: string, taskTypeId: string, workflowId: string): string {\n return `${subjectId}:${taskTypeId}:${workflowId}`;\n }\n\n //#endregion\n}\n\nexport const START_TASK_FLOW_COMMAND_KEY = AXPTaskManagementCommandKeys.Task.StartFlow;\n"],"names":[],"mappings":";;;;;;;;AAsCA;AAEA;;AAEG;MAEU,oBAAoB,CAAA;AADjC,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AACrC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAgH9D,IAAA;;;IA1GC,MAAM,OAAO,CAAC,KAAyB,EAAA;QACrC,MAAM,OAAO,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,CAAyB;QACjE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,EAAmC,CAAC;AAChF,QAAA,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,UAAU,GAAG,IAAI,EAAE;QACrE,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;QAChD,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,IAAI,KAAK,EAAE,UAAU;AAC7D,QAAA,MAAM,aAAa,GAAG,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;AAEtF,QAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE;AACtE,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,oDAAoD,EAAE,EAAE;QACpG;AAEA,QAAA,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YACpD,IAAI,CAAC,QAAQ,EAAE;AACb,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE;YACtE;YAEA,IAAI,aAAa,EAAE;gBACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,aAAa,EAAE,UAAU,CAAC;gBACrF,IAAI,CAAC,OAAO,EAAE;AACZ,oBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,iDAAiD,EAAE,EAAE;gBACjG;YACF;AAEA,YAAA,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,6BAA6B,CAAC,EAAE,EAAE,CAAC;AAChF,YAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CACpE,YAAY,EACZ;gBACE,UAAU;AACV,gBAAA,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK;gBACxD,UAAU;AACV,gBAAA,IAAI,aAAa,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;gBAC3C,KAAK,EAAE,UAAU,CAAC,EAAE;gBACpB,OAAO,EAAE,UAAU,CAAC,IAAI;AACxB,gBAAA,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC;aAC9E,EACD,SAAS,CACV,CAAC;AAEF,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;AACxB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,KAAK,EAAE,2BAA2B;AAClC,oBAAA,OAAO,EAAE,WAAW,CAAC,KAAK,IAAI,eAAe;AAC7C,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA,CAAC;AACF,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE;YACpF;AAEA,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3D;QAAE,OAAO,KAAc,EAAE;AACvB,YAAA,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,eAAe;AACxE,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC;AAC9C,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,KAAK,EAAE,0BAA0B;AACjC,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,OAAO,EAAE,IAAI;AACd,aAAA,CAAC;AACF,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QACvD;IACF;;;IAMQ,MAAM,YAAY,CAAC,UAAkB,EAAA;AAC3C,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;AACpB,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI;AACpE,aAAA,IAAI;aACJ,KAAK,CAAC,UAAU,CAAC;AACpB,QAAA,QAAQ,GAAG,IAAI,IAAI;IACrB;AAEQ,IAAA,MAAM,+BAA+B,CAAC,aAAqB,EAAE,UAAkB,EAAA;AACrF,QAAA,MAAM,WAAW,IAAI,MAAM,IAAI,CAAC;AAC7B,aAAA,UAAU,CAAC,mBAAmB,EAAE,aAAa;AAC7C,aAAA,IAAI;AACJ,aAAA,KAAK,CAAC,aAAa,CAAC,CAIf;QAER,IAAI,CAAC,WAAW,EAAE;AAChB,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,MAAM,UAAU,GACd,CAAC,WAAW,CAAC,oBAAoB,IAAI,WAAW,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;AAChH,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACxB,YAAA,OAAO,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxC;AAEA,QAAA,OAAO,SAAS,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC3E;AAEQ,IAAA,kBAAkB,CAAC,SAAiB,EAAE,UAAkB,EAAE,UAAkB,EAAA;AAClF,QAAA,OAAO,GAAG,SAAS,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA,EAAI,UAAU,EAAE;IACnD;8GAlHW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA,CAAA;;2FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;MAwHrB,2BAA2B,GAAG,4BAA4B,CAAC,IAAI,CAAC;;"}