@zeniai/client-epic-state 5.1.18-betaAA0 → 5.1.18-betaDI10

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 (386) hide show
  1. package/lib/commonStateTypes/viewAndReport/agingReportStateTypes.d.ts +1 -1
  2. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  3. package/lib/entity/snackbar/snackbarTypes.js +1 -0
  4. package/lib/entity/task/taskPayload.d.ts +1 -0
  5. package/lib/entity/task/taskPayload.js +1 -0
  6. package/lib/entity/task/taskReducer.d.ts +5 -1
  7. package/lib/entity/task/taskReducer.js +8 -2
  8. package/lib/entity/task/taskState.d.ts +2 -1
  9. package/lib/entity/tenant/clearAllEpic.d.ts +2 -39
  10. package/lib/entity/tenant/clearAllEpic.js +8 -82
  11. package/lib/entity/tenant/tenantReducer.js +3 -3
  12. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.js +3 -1
  13. package/lib/epic.d.ts +4 -31
  14. package/lib/epic.js +4 -32
  15. package/lib/esm/entity/snackbar/snackbarTypes.js +1 -0
  16. package/lib/esm/entity/task/taskPayload.js +1 -0
  17. package/lib/esm/entity/task/taskReducer.js +7 -1
  18. package/lib/esm/entity/tenant/clearAllEpic.js +0 -74
  19. package/lib/esm/entity/tenant/tenantReducer.js +3 -3
  20. package/lib/esm/entity/transaction/payloadTypes/customerTransactionPayload.js +3 -1
  21. package/lib/esm/epic.js +4 -32
  22. package/lib/esm/index.js +3 -80
  23. package/lib/esm/reducer.js +0 -114
  24. package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +2 -0
  25. package/lib/esm/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +8 -1
  26. package/lib/esm/view/taskManager/taskDetailView/epics/createSubTaskEpic.js +80 -0
  27. package/lib/esm/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.js +36 -0
  28. package/lib/esm/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.js +13 -0
  29. package/lib/esm/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +1 -0
  30. package/lib/esm/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +24 -4
  31. package/lib/esm/view/taskManager/taskDetailView/epics/sendCommentMentionNotificationEpic.js +37 -0
  32. package/lib/esm/view/taskManager/taskDetailView/taskDetailReducer.js +56 -2
  33. package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +21 -9
  34. package/lib/esm/view/taskManager/taskListView/epics/fetchTaskListEpic.js +3 -1
  35. package/lib/esm/view/taskManager/taskListView/taskList.js +1 -0
  36. package/lib/esm/view/taskManager/taskListView/taskListReducer.js +189 -10
  37. package/lib/esm/view/taskManager/taskListView/taskListSelector.js +1 -0
  38. package/lib/index.d.ts +4 -100
  39. package/lib/index.js +13 -372
  40. package/lib/reducer.d.ts +0 -114
  41. package/lib/reducer.js +12 -126
  42. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +2 -0
  43. package/lib/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +8 -1
  44. package/lib/view/companyView/types/cockpitTypes.d.ts +2 -0
  45. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  46. package/lib/view/reviewCompanyView/reviewCompanyViewState.d.ts +1 -1
  47. package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +1 -1
  48. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
  49. package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +1 -1
  50. package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +3 -3
  51. package/lib/view/taskManager/taskDetailView/epics/createSubTaskEpic.d.ts +9 -0
  52. package/lib/view/taskManager/taskDetailView/epics/createSubTaskEpic.js +84 -0
  53. package/lib/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.d.ts +8 -0
  54. package/lib/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.js +40 -0
  55. package/lib/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.d.ts +2 -1
  56. package/lib/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.js +13 -0
  57. package/lib/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +1 -0
  58. package/lib/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +24 -4
  59. package/lib/view/taskManager/taskDetailView/epics/sendCommentMentionNotificationEpic.d.ts +20 -0
  60. package/lib/view/taskManager/taskDetailView/epics/sendCommentMentionNotificationEpic.js +41 -0
  61. package/lib/view/taskManager/taskDetailView/taskDetail.d.ts +14 -0
  62. package/lib/view/taskManager/taskDetailView/taskDetailReducer.d.ts +14 -2
  63. package/lib/view/taskManager/taskDetailView/taskDetailReducer.js +57 -3
  64. package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +2 -1
  65. package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +19 -7
  66. package/lib/view/taskManager/taskListView/epics/fetchTaskListEpic.js +3 -1
  67. package/lib/view/taskManager/taskListView/taskList.d.ts +1 -1
  68. package/lib/view/taskManager/taskListView/taskList.js +1 -0
  69. package/lib/view/taskManager/taskListView/taskListPayload.d.ts +4 -0
  70. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +2 -1
  71. package/lib/view/taskManager/taskListView/taskListReducer.js +189 -10
  72. package/lib/view/taskManager/taskListView/taskListSelector.js +1 -0
  73. package/lib/zeniAPI.d.ts +0 -1
  74. package/package.json +1 -1
  75. package/lib/entity/invoicing/coupon/couponReducer.d.ts +0 -12
  76. package/lib/entity/invoicing/coupon/couponReducer.js +0 -33
  77. package/lib/entity/invoicing/creditNote/creditNoteReducer.d.ts +0 -12
  78. package/lib/entity/invoicing/creditNote/creditNoteReducer.js +0 -35
  79. package/lib/entity/invoicing/customer/customerReducer.d.ts +0 -12
  80. package/lib/entity/invoicing/customer/customerReducer.js +0 -33
  81. package/lib/entity/invoicing/dunningCase/dunningCaseReducer.d.ts +0 -12
  82. package/lib/entity/invoicing/dunningCase/dunningCaseReducer.js +0 -35
  83. package/lib/entity/invoicing/invoice/invoiceReducer.d.ts +0 -10
  84. package/lib/entity/invoicing/invoice/invoiceReducer.js +0 -36
  85. package/lib/entity/invoicing/invoice/invoiceSelector.d.ts +0 -5
  86. package/lib/entity/invoicing/invoice/invoiceSelector.js +0 -9
  87. package/lib/entity/invoicing/invoice/invoiceState.d.ts +0 -5
  88. package/lib/entity/invoicing/invoice/invoiceState.js +0 -2
  89. package/lib/entity/invoicing/invoicingTypes.d.ts +0 -766
  90. package/lib/entity/invoicing/invoicingTypes.js +0 -15
  91. package/lib/entity/invoicing/plan/planReducer.d.ts +0 -12
  92. package/lib/entity/invoicing/plan/planReducer.js +0 -33
  93. package/lib/entity/invoicing/product/productReducer.d.ts +0 -12
  94. package/lib/entity/invoicing/product/productReducer.js +0 -33
  95. package/lib/entity/invoicing/subscription/subscriptionReducer.d.ts +0 -12
  96. package/lib/entity/invoicing/subscription/subscriptionReducer.js +0 -35
  97. package/lib/entity/invoicing/transaction/transactionReducer.d.ts +0 -12
  98. package/lib/entity/invoicing/transaction/transactionReducer.js +0 -35
  99. package/lib/esm/entity/invoicing/coupon/couponReducer.js +0 -29
  100. package/lib/esm/entity/invoicing/creditNote/creditNoteReducer.js +0 -31
  101. package/lib/esm/entity/invoicing/customer/customerReducer.js +0 -29
  102. package/lib/esm/entity/invoicing/dunningCase/dunningCaseReducer.js +0 -31
  103. package/lib/esm/entity/invoicing/invoice/invoiceReducer.js +0 -32
  104. package/lib/esm/entity/invoicing/invoice/invoiceSelector.js +0 -4
  105. package/lib/esm/entity/invoicing/invoice/invoiceState.js +0 -1
  106. package/lib/esm/entity/invoicing/invoicingTypes.js +0 -14
  107. package/lib/esm/entity/invoicing/plan/planReducer.js +0 -29
  108. package/lib/esm/entity/invoicing/product/productReducer.js +0 -29
  109. package/lib/esm/entity/invoicing/subscription/subscriptionReducer.js +0 -31
  110. package/lib/esm/entity/invoicing/transaction/transactionReducer.js +0 -31
  111. package/lib/esm/view/invoicing/analyticsView/analyticsViewEpics.js +0 -42
  112. package/lib/esm/view/invoicing/analyticsView/analyticsViewReducer.js +0 -45
  113. package/lib/esm/view/invoicing/analyticsView/analyticsViewSelector.js +0 -10
  114. package/lib/esm/view/invoicing/approvalAction/approvalActionEpic.js +0 -28
  115. package/lib/esm/view/invoicing/approvalAction/approvalActionReducer.js +0 -36
  116. package/lib/esm/view/invoicing/approvalAction/approvalActionSelector.js +0 -5
  117. package/lib/esm/view/invoicing/approvalsView/approvalsViewEpics.js +0 -37
  118. package/lib/esm/view/invoicing/approvalsView/approvalsViewReducer.js +0 -62
  119. package/lib/esm/view/invoicing/approvalsView/approvalsViewSelector.js +0 -8
  120. package/lib/esm/view/invoicing/auditView/auditViewEpics.js +0 -46
  121. package/lib/esm/view/invoicing/auditView/auditViewReducer.js +0 -56
  122. package/lib/esm/view/invoicing/auditView/auditViewSelector.js +0 -8
  123. package/lib/esm/view/invoicing/catalogView/catalogViewEpics.js +0 -143
  124. package/lib/esm/view/invoicing/catalogView/catalogViewReducer.js +0 -162
  125. package/lib/esm/view/invoicing/catalogView/catalogViewSelector.js +0 -31
  126. package/lib/esm/view/invoicing/catalogWrite/catalogWriteEpic.js +0 -34
  127. package/lib/esm/view/invoicing/catalogWrite/catalogWriteReducer.js +0 -39
  128. package/lib/esm/view/invoicing/catalogWrite/catalogWriteSelector.js +0 -6
  129. package/lib/esm/view/invoicing/couponView/couponViewEpics.js +0 -83
  130. package/lib/esm/view/invoicing/couponView/couponViewReducer.js +0 -105
  131. package/lib/esm/view/invoicing/couponView/couponViewSelector.js +0 -18
  132. package/lib/esm/view/invoicing/couponWrite/couponWriteEpic.js +0 -29
  133. package/lib/esm/view/invoicing/couponWrite/couponWriteReducer.js +0 -36
  134. package/lib/esm/view/invoicing/couponWrite/couponWriteSelector.js +0 -5
  135. package/lib/esm/view/invoicing/createInvoice/createInvoiceEpic.js +0 -23
  136. package/lib/esm/view/invoicing/createInvoice/createInvoiceReducer.js +0 -36
  137. package/lib/esm/view/invoicing/createInvoice/createInvoiceSelector.js +0 -5
  138. package/lib/esm/view/invoicing/creditNoteView/creditNoteViewEpics.js +0 -87
  139. package/lib/esm/view/invoicing/creditNoteView/creditNoteViewReducer.js +0 -105
  140. package/lib/esm/view/invoicing/creditNoteView/creditNoteViewSelector.js +0 -20
  141. package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.js +0 -63
  142. package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodReducer.js +0 -84
  143. package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodSelector.js +0 -7
  144. package/lib/esm/view/invoicing/customerView/customerViewEpics.js +0 -71
  145. package/lib/esm/view/invoicing/customerView/customerViewReducer.js +0 -90
  146. package/lib/esm/view/invoicing/customerView/customerViewSelector.js +0 -17
  147. package/lib/esm/view/invoicing/customerWrite/customerWriteEpic.js +0 -23
  148. package/lib/esm/view/invoicing/customerWrite/customerWriteReducer.js +0 -36
  149. package/lib/esm/view/invoicing/customerWrite/customerWriteSelector.js +0 -5
  150. package/lib/esm/view/invoicing/dataImportAction/dataImportActionEpic.js +0 -41
  151. package/lib/esm/view/invoicing/dataImportAction/dataImportActionReducer.js +0 -73
  152. package/lib/esm/view/invoicing/dataImportAction/dataImportActionSelector.js +0 -5
  153. package/lib/esm/view/invoicing/dataImportView/dataImportViewEpics.js +0 -41
  154. package/lib/esm/view/invoicing/dataImportView/dataImportViewReducer.js +0 -66
  155. package/lib/esm/view/invoicing/dataImportView/dataImportViewSelector.js +0 -6
  156. package/lib/esm/view/invoicing/dunningAction/dunningActionEpic.js +0 -28
  157. package/lib/esm/view/invoicing/dunningAction/dunningActionReducer.js +0 -36
  158. package/lib/esm/view/invoicing/dunningAction/dunningActionSelector.js +0 -5
  159. package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewEpics.js +0 -85
  160. package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewReducer.js +0 -105
  161. package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewSelector.js +0 -20
  162. package/lib/esm/view/invoicing/invoiceAction/invoiceActionEpic.js +0 -50
  163. package/lib/esm/view/invoicing/invoiceAction/invoiceActionReducer.js +0 -42
  164. package/lib/esm/view/invoicing/invoiceAction/invoiceActionSelector.js +0 -5
  165. package/lib/esm/view/invoicing/invoiceDetail/fetchInvoiceDetailEpic.js +0 -20
  166. package/lib/esm/view/invoicing/invoiceDetail/invoiceDetailReducer.js +0 -34
  167. package/lib/esm/view/invoicing/invoiceDetail/invoiceDetailSelector.js +0 -9
  168. package/lib/esm/view/invoicing/invoiceDetail/invoiceDetailState.js +0 -1
  169. package/lib/esm/view/invoicing/invoiceList/fetchInvoiceCountsEpic.js +0 -32
  170. package/lib/esm/view/invoicing/invoiceList/fetchInvoiceKPIsEpic.js +0 -17
  171. package/lib/esm/view/invoicing/invoiceList/fetchInvoiceListEpic.js +0 -55
  172. package/lib/esm/view/invoicing/invoiceList/invoiceListReducer.js +0 -90
  173. package/lib/esm/view/invoicing/invoiceList/invoiceListSelector.js +0 -11
  174. package/lib/esm/view/invoicing/invoiceList/invoiceListState.js +0 -1
  175. package/lib/esm/view/invoicing/invoicePdf/invoicePdfEpic.js +0 -37
  176. package/lib/esm/view/invoicing/invoicePdf/invoicePdfReducer.js +0 -33
  177. package/lib/esm/view/invoicing/invoicePdf/invoicePdfSelector.js +0 -5
  178. package/lib/esm/view/invoicing/invoicingApiHelper.js +0 -38
  179. package/lib/esm/view/invoicing/paymentAction/paymentActionEpic.js +0 -28
  180. package/lib/esm/view/invoicing/paymentAction/paymentActionReducer.js +0 -36
  181. package/lib/esm/view/invoicing/paymentAction/paymentActionSelector.js +0 -5
  182. package/lib/esm/view/invoicing/recordPayment/recordPaymentEpic.js +0 -23
  183. package/lib/esm/view/invoicing/recordPayment/recordPaymentReducer.js +0 -36
  184. package/lib/esm/view/invoicing/recordPayment/recordPaymentSelector.js +0 -5
  185. package/lib/esm/view/invoicing/reportsView/reportsViewEpics.js +0 -28
  186. package/lib/esm/view/invoicing/reportsView/reportsViewReducer.js +0 -54
  187. package/lib/esm/view/invoicing/reportsView/reportsViewSelector.js +0 -13
  188. package/lib/esm/view/invoicing/settingsView/settingsViewEpics.js +0 -53
  189. package/lib/esm/view/invoicing/settingsView/settingsViewReducer.js +0 -69
  190. package/lib/esm/view/invoicing/settingsView/settingsViewSelector.js +0 -7
  191. package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionEpic.js +0 -28
  192. package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionReducer.js +0 -36
  193. package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionSelector.js +0 -5
  194. package/lib/esm/view/invoicing/subscriptionView/subscriptionViewEpics.js +0 -85
  195. package/lib/esm/view/invoicing/subscriptionView/subscriptionViewReducer.js +0 -90
  196. package/lib/esm/view/invoicing/subscriptionView/subscriptionViewSelector.js +0 -19
  197. package/lib/esm/view/invoicing/subscriptionWrite/subscriptionWriteEpic.js +0 -25
  198. package/lib/esm/view/invoicing/subscriptionWrite/subscriptionWriteReducer.js +0 -36
  199. package/lib/esm/view/invoicing/subscriptionWrite/subscriptionWriteSelector.js +0 -5
  200. package/lib/esm/view/invoicing/transactionView/transactionViewEpics.js +0 -76
  201. package/lib/esm/view/invoicing/transactionView/transactionViewReducer.js +0 -90
  202. package/lib/esm/view/invoicing/transactionView/transactionViewSelector.js +0 -19
  203. package/lib/view/invoicing/analyticsView/analyticsViewEpics.d.ts +0 -7
  204. package/lib/view/invoicing/analyticsView/analyticsViewEpics.js +0 -46
  205. package/lib/view/invoicing/analyticsView/analyticsViewReducer.d.ts +0 -22
  206. package/lib/view/invoicing/analyticsView/analyticsViewReducer.js +0 -49
  207. package/lib/view/invoicing/analyticsView/analyticsViewSelector.d.ts +0 -10
  208. package/lib/view/invoicing/analyticsView/analyticsViewSelector.js +0 -20
  209. package/lib/view/invoicing/approvalAction/approvalActionEpic.d.ts +0 -8
  210. package/lib/view/invoicing/approvalAction/approvalActionEpic.js +0 -32
  211. package/lib/view/invoicing/approvalAction/approvalActionReducer.d.ts +0 -20
  212. package/lib/view/invoicing/approvalAction/approvalActionReducer.js +0 -40
  213. package/lib/view/invoicing/approvalAction/approvalActionSelector.d.ts +0 -3
  214. package/lib/view/invoicing/approvalAction/approvalActionSelector.js +0 -9
  215. package/lib/view/invoicing/approvalsView/approvalsViewEpics.d.ts +0 -7
  216. package/lib/view/invoicing/approvalsView/approvalsViewEpics.js +0 -41
  217. package/lib/view/invoicing/approvalsView/approvalsViewReducer.d.ts +0 -33
  218. package/lib/view/invoicing/approvalsView/approvalsViewReducer.js +0 -66
  219. package/lib/view/invoicing/approvalsView/approvalsViewSelector.d.ts +0 -9
  220. package/lib/view/invoicing/approvalsView/approvalsViewSelector.js +0 -16
  221. package/lib/view/invoicing/auditView/auditViewEpics.d.ts +0 -7
  222. package/lib/view/invoicing/auditView/auditViewEpics.js +0 -50
  223. package/lib/view/invoicing/auditView/auditViewReducer.d.ts +0 -36
  224. package/lib/view/invoicing/auditView/auditViewReducer.js +0 -60
  225. package/lib/view/invoicing/auditView/auditViewSelector.d.ts +0 -9
  226. package/lib/view/invoicing/auditView/auditViewSelector.js +0 -16
  227. package/lib/view/invoicing/catalogView/catalogViewEpics.d.ts +0 -14
  228. package/lib/view/invoicing/catalogView/catalogViewEpics.js +0 -152
  229. package/lib/view/invoicing/catalogView/catalogViewReducer.d.ts +0 -76
  230. package/lib/view/invoicing/catalogView/catalogViewReducer.js +0 -166
  231. package/lib/view/invoicing/catalogView/catalogViewSelector.d.ts +0 -22
  232. package/lib/view/invoicing/catalogView/catalogViewSelector.js +0 -52
  233. package/lib/view/invoicing/catalogWrite/catalogWriteEpic.d.ts +0 -9
  234. package/lib/view/invoicing/catalogWrite/catalogWriteEpic.js +0 -38
  235. package/lib/view/invoicing/catalogWrite/catalogWriteReducer.d.ts +0 -21
  236. package/lib/view/invoicing/catalogWrite/catalogWriteReducer.js +0 -43
  237. package/lib/view/invoicing/catalogWrite/catalogWriteSelector.d.ts +0 -6
  238. package/lib/view/invoicing/catalogWrite/catalogWriteSelector.js +0 -12
  239. package/lib/view/invoicing/couponView/couponViewEpics.d.ts +0 -11
  240. package/lib/view/invoicing/couponView/couponViewEpics.js +0 -90
  241. package/lib/view/invoicing/couponView/couponViewReducer.d.ts +0 -42
  242. package/lib/view/invoicing/couponView/couponViewReducer.js +0 -109
  243. package/lib/view/invoicing/couponView/couponViewSelector.d.ts +0 -14
  244. package/lib/view/invoicing/couponView/couponViewSelector.js +0 -31
  245. package/lib/view/invoicing/couponWrite/couponWriteEpic.d.ts +0 -8
  246. package/lib/view/invoicing/couponWrite/couponWriteEpic.js +0 -33
  247. package/lib/view/invoicing/couponWrite/couponWriteReducer.d.ts +0 -17
  248. package/lib/view/invoicing/couponWrite/couponWriteReducer.js +0 -40
  249. package/lib/view/invoicing/couponWrite/couponWriteSelector.d.ts +0 -4
  250. package/lib/view/invoicing/couponWrite/couponWriteSelector.js +0 -10
  251. package/lib/view/invoicing/createInvoice/createInvoiceEpic.d.ts +0 -8
  252. package/lib/view/invoicing/createInvoice/createInvoiceEpic.js +0 -27
  253. package/lib/view/invoicing/createInvoice/createInvoiceReducer.d.ts +0 -34
  254. package/lib/view/invoicing/createInvoice/createInvoiceReducer.js +0 -40
  255. package/lib/view/invoicing/createInvoice/createInvoiceSelector.d.ts +0 -4
  256. package/lib/view/invoicing/createInvoice/createInvoiceSelector.js +0 -10
  257. package/lib/view/invoicing/creditNoteView/creditNoteViewEpics.d.ts +0 -11
  258. package/lib/view/invoicing/creditNoteView/creditNoteViewEpics.js +0 -94
  259. package/lib/view/invoicing/creditNoteView/creditNoteViewReducer.d.ts +0 -43
  260. package/lib/view/invoicing/creditNoteView/creditNoteViewReducer.js +0 -109
  261. package/lib/view/invoicing/creditNoteView/creditNoteViewSelector.d.ts +0 -14
  262. package/lib/view/invoicing/creditNoteView/creditNoteViewSelector.js +0 -33
  263. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.d.ts +0 -11
  264. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.js +0 -70
  265. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodReducer.d.ts +0 -42
  266. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodReducer.js +0 -88
  267. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodSelector.d.ts +0 -10
  268. package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodSelector.js +0 -17
  269. package/lib/view/invoicing/customerView/customerViewEpics.d.ts +0 -10
  270. package/lib/view/invoicing/customerView/customerViewEpics.js +0 -77
  271. package/lib/view/invoicing/customerView/customerViewReducer.d.ts +0 -41
  272. package/lib/view/invoicing/customerView/customerViewReducer.js +0 -94
  273. package/lib/view/invoicing/customerView/customerViewSelector.d.ts +0 -13
  274. package/lib/view/invoicing/customerView/customerViewSelector.js +0 -29
  275. package/lib/view/invoicing/customerWrite/customerWriteEpic.d.ts +0 -8
  276. package/lib/view/invoicing/customerWrite/customerWriteEpic.js +0 -27
  277. package/lib/view/invoicing/customerWrite/customerWriteReducer.d.ts +0 -17
  278. package/lib/view/invoicing/customerWrite/customerWriteReducer.js +0 -40
  279. package/lib/view/invoicing/customerWrite/customerWriteSelector.d.ts +0 -4
  280. package/lib/view/invoicing/customerWrite/customerWriteSelector.js +0 -10
  281. package/lib/view/invoicing/dataImportAction/dataImportActionEpic.d.ts +0 -7
  282. package/lib/view/invoicing/dataImportAction/dataImportActionEpic.js +0 -45
  283. package/lib/view/invoicing/dataImportAction/dataImportActionReducer.d.ts +0 -23
  284. package/lib/view/invoicing/dataImportAction/dataImportActionReducer.js +0 -77
  285. package/lib/view/invoicing/dataImportAction/dataImportActionSelector.d.ts +0 -4
  286. package/lib/view/invoicing/dataImportAction/dataImportActionSelector.js +0 -9
  287. package/lib/view/invoicing/dataImportView/dataImportViewEpics.d.ts +0 -9
  288. package/lib/view/invoicing/dataImportView/dataImportViewEpics.js +0 -47
  289. package/lib/view/invoicing/dataImportView/dataImportViewReducer.d.ts +0 -15
  290. package/lib/view/invoicing/dataImportView/dataImportViewReducer.js +0 -70
  291. package/lib/view/invoicing/dataImportView/dataImportViewSelector.d.ts +0 -9
  292. package/lib/view/invoicing/dataImportView/dataImportViewSelector.js +0 -15
  293. package/lib/view/invoicing/dunningAction/dunningActionEpic.d.ts +0 -8
  294. package/lib/view/invoicing/dunningAction/dunningActionEpic.js +0 -32
  295. package/lib/view/invoicing/dunningAction/dunningActionReducer.d.ts +0 -21
  296. package/lib/view/invoicing/dunningAction/dunningActionReducer.js +0 -40
  297. package/lib/view/invoicing/dunningAction/dunningActionSelector.d.ts +0 -3
  298. package/lib/view/invoicing/dunningAction/dunningActionSelector.js +0 -9
  299. package/lib/view/invoicing/dunningCaseView/dunningCaseViewEpics.d.ts +0 -11
  300. package/lib/view/invoicing/dunningCaseView/dunningCaseViewEpics.js +0 -92
  301. package/lib/view/invoicing/dunningCaseView/dunningCaseViewReducer.d.ts +0 -42
  302. package/lib/view/invoicing/dunningCaseView/dunningCaseViewReducer.js +0 -109
  303. package/lib/view/invoicing/dunningCaseView/dunningCaseViewSelector.d.ts +0 -14
  304. package/lib/view/invoicing/dunningCaseView/dunningCaseViewSelector.js +0 -33
  305. package/lib/view/invoicing/invoiceAction/invoiceActionEpic.d.ts +0 -9
  306. package/lib/view/invoicing/invoiceAction/invoiceActionEpic.js +0 -55
  307. package/lib/view/invoicing/invoiceAction/invoiceActionReducer.d.ts +0 -26
  308. package/lib/view/invoicing/invoiceAction/invoiceActionReducer.js +0 -46
  309. package/lib/view/invoicing/invoiceAction/invoiceActionSelector.d.ts +0 -3
  310. package/lib/view/invoicing/invoiceAction/invoiceActionSelector.js +0 -9
  311. package/lib/view/invoicing/invoiceDetail/fetchInvoiceDetailEpic.d.ts +0 -8
  312. package/lib/view/invoicing/invoiceDetail/fetchInvoiceDetailEpic.js +0 -24
  313. package/lib/view/invoicing/invoiceDetail/invoiceDetailReducer.d.ts +0 -11
  314. package/lib/view/invoicing/invoiceDetail/invoiceDetailReducer.js +0 -38
  315. package/lib/view/invoicing/invoiceDetail/invoiceDetailSelector.d.ts +0 -5
  316. package/lib/view/invoicing/invoiceDetail/invoiceDetailSelector.js +0 -14
  317. package/lib/view/invoicing/invoiceDetail/invoiceDetailState.d.ts +0 -4
  318. package/lib/view/invoicing/invoiceDetail/invoiceDetailState.js +0 -2
  319. package/lib/view/invoicing/invoiceList/fetchInvoiceCountsEpic.d.ts +0 -7
  320. package/lib/view/invoicing/invoiceList/fetchInvoiceCountsEpic.js +0 -36
  321. package/lib/view/invoicing/invoiceList/fetchInvoiceKPIsEpic.d.ts +0 -7
  322. package/lib/view/invoicing/invoiceList/fetchInvoiceKPIsEpic.js +0 -21
  323. package/lib/view/invoicing/invoiceList/fetchInvoiceListEpic.d.ts +0 -8
  324. package/lib/view/invoicing/invoiceList/fetchInvoiceListEpic.js +0 -59
  325. package/lib/view/invoicing/invoiceList/invoiceListReducer.d.ts +0 -22
  326. package/lib/view/invoicing/invoiceList/invoiceListReducer.js +0 -94
  327. package/lib/view/invoicing/invoiceList/invoiceListSelector.d.ts +0 -11
  328. package/lib/view/invoicing/invoiceList/invoiceListSelector.js +0 -21
  329. package/lib/view/invoicing/invoiceList/invoiceListState.d.ts +0 -25
  330. package/lib/view/invoicing/invoiceList/invoiceListState.js +0 -2
  331. package/lib/view/invoicing/invoicePdf/invoicePdfEpic.d.ts +0 -7
  332. package/lib/view/invoicing/invoicePdf/invoicePdfEpic.js +0 -41
  333. package/lib/view/invoicing/invoicePdf/invoicePdfReducer.d.ts +0 -20
  334. package/lib/view/invoicing/invoicePdf/invoicePdfReducer.js +0 -37
  335. package/lib/view/invoicing/invoicePdf/invoicePdfSelector.d.ts +0 -3
  336. package/lib/view/invoicing/invoicePdf/invoicePdfSelector.js +0 -9
  337. package/lib/view/invoicing/invoicingApiHelper.d.ts +0 -22
  338. package/lib/view/invoicing/invoicingApiHelper.js +0 -44
  339. package/lib/view/invoicing/paymentAction/paymentActionEpic.d.ts +0 -8
  340. package/lib/view/invoicing/paymentAction/paymentActionEpic.js +0 -32
  341. package/lib/view/invoicing/paymentAction/paymentActionReducer.d.ts +0 -21
  342. package/lib/view/invoicing/paymentAction/paymentActionReducer.js +0 -40
  343. package/lib/view/invoicing/paymentAction/paymentActionSelector.d.ts +0 -3
  344. package/lib/view/invoicing/paymentAction/paymentActionSelector.js +0 -9
  345. package/lib/view/invoicing/recordPayment/recordPaymentEpic.d.ts +0 -8
  346. package/lib/view/invoicing/recordPayment/recordPaymentEpic.js +0 -27
  347. package/lib/view/invoicing/recordPayment/recordPaymentReducer.d.ts +0 -32
  348. package/lib/view/invoicing/recordPayment/recordPaymentReducer.js +0 -40
  349. package/lib/view/invoicing/recordPayment/recordPaymentSelector.d.ts +0 -4
  350. package/lib/view/invoicing/recordPayment/recordPaymentSelector.js +0 -10
  351. package/lib/view/invoicing/reportsView/reportsViewEpics.d.ts +0 -7
  352. package/lib/view/invoicing/reportsView/reportsViewEpics.js +0 -32
  353. package/lib/view/invoicing/reportsView/reportsViewReducer.d.ts +0 -20
  354. package/lib/view/invoicing/reportsView/reportsViewReducer.js +0 -58
  355. package/lib/view/invoicing/reportsView/reportsViewSelector.d.ts +0 -12
  356. package/lib/view/invoicing/reportsView/reportsViewSelector.js +0 -24
  357. package/lib/view/invoicing/settingsView/settingsViewEpics.d.ts +0 -10
  358. package/lib/view/invoicing/settingsView/settingsViewEpics.js +0 -60
  359. package/lib/view/invoicing/settingsView/settingsViewReducer.d.ts +0 -12
  360. package/lib/view/invoicing/settingsView/settingsViewReducer.js +0 -73
  361. package/lib/view/invoicing/settingsView/settingsViewSelector.d.ts +0 -7
  362. package/lib/view/invoicing/settingsView/settingsViewSelector.js +0 -14
  363. package/lib/view/invoicing/subscriptionAction/subscriptionActionEpic.d.ts +0 -8
  364. package/lib/view/invoicing/subscriptionAction/subscriptionActionEpic.js +0 -32
  365. package/lib/view/invoicing/subscriptionAction/subscriptionActionReducer.d.ts +0 -21
  366. package/lib/view/invoicing/subscriptionAction/subscriptionActionReducer.js +0 -40
  367. package/lib/view/invoicing/subscriptionAction/subscriptionActionSelector.d.ts +0 -3
  368. package/lib/view/invoicing/subscriptionAction/subscriptionActionSelector.js +0 -9
  369. package/lib/view/invoicing/subscriptionView/subscriptionViewEpics.d.ts +0 -10
  370. package/lib/view/invoicing/subscriptionView/subscriptionViewEpics.js +0 -91
  371. package/lib/view/invoicing/subscriptionView/subscriptionViewReducer.d.ts +0 -44
  372. package/lib/view/invoicing/subscriptionView/subscriptionViewReducer.js +0 -94
  373. package/lib/view/invoicing/subscriptionView/subscriptionViewSelector.d.ts +0 -13
  374. package/lib/view/invoicing/subscriptionView/subscriptionViewSelector.js +0 -31
  375. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteEpic.d.ts +0 -8
  376. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteEpic.js +0 -29
  377. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteReducer.d.ts +0 -17
  378. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteReducer.js +0 -40
  379. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteSelector.d.ts +0 -4
  380. package/lib/view/invoicing/subscriptionWrite/subscriptionWriteSelector.js +0 -10
  381. package/lib/view/invoicing/transactionView/transactionViewEpics.d.ts +0 -10
  382. package/lib/view/invoicing/transactionView/transactionViewEpics.js +0 -82
  383. package/lib/view/invoicing/transactionView/transactionViewReducer.d.ts +0 -43
  384. package/lib/view/invoicing/transactionView/transactionViewReducer.js +0 -94
  385. package/lib/view/invoicing/transactionView/transactionViewSelector.d.ts +0 -13
  386. package/lib/view/invoicing/transactionView/transactionViewSelector.js +0 -31
@@ -3,6 +3,7 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.clearTaskList = exports.removeTaskFromList = exports.updateTaskListOnCreateTaskFromTemplateSuccess = exports.updateTasksListOnUpdateTaskFailure = exports.updateTasksListOnUpdateTaskSuccess = exports.updateTaskFromListView = exports.updateTaskListOnTaskGroupNameUpdate = exports.updateTaskListOnNewTaskCreationSuccess = exports.dragNDropTasks = exports.updateTaskListOnTaskGroupDeletion = exports.updateTaskListLocalData = exports.initiateTaskListLocalData = exports.updateTasksListOnBulkUpdateTasksFailure = exports.updateTasksListOnBulkUpdateTasksSuccess = exports.bulkUpdateTaskList = exports.updateTaskListOnNewGroupCreationSuccess = exports.updateTaskFilters = exports.updateTaskListUIState = exports.updateTaskListSearchText = exports.updateTaskListFetchStatus = exports.updateTaskListTab = exports.updateTaskList = exports.fetchTaskList = exports.fetchTaskListPage = exports.initialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
+ const taskReducer_1 = require("../../../entity/task/taskReducer");
6
7
  const taskState_1 = require("../../../entity/task/taskState");
7
8
  const zeniDayJS_1 = require("../../../zeniDayJS");
8
9
  const taskList_1 = require("./taskList");
@@ -46,6 +47,7 @@ exports.initialState = {
46
47
  currentTab: 'live',
47
48
  byTab: {
48
49
  live: { ...initialTabData },
50
+ completed: { ...initialTabData },
49
51
  archived: { ...initialTabData },
50
52
  deleted: { ...initialTabData },
51
53
  snoozed: { ...initialTabData },
@@ -67,14 +69,12 @@ exports.initialState = {
67
69
  },
68
70
  filters: {
69
71
  categoryCombinationOperator: 'AND',
70
- categories: [
71
- {
72
- field: 'status',
73
- matchingOperator: 'not_equal',
74
- values: ['resolved'],
75
- valuesCombinationOperator: 'ANY',
76
- },
77
- ],
72
+ // Default to no filters. The Completed tab now owns the "hide resolved
73
+ // tasks from the live list" responsibility via the byTab split in
74
+ // updateTaskList / updateTaskFromListView / the updateTasks
75
+ // extraReducer. Keeping the historical `status != resolved` filter
76
+ // here would empty out the Completed tab.
77
+ categories: [],
78
78
  },
79
79
  hasValidState() {
80
80
  return this.fetchState == 'Completed';
@@ -106,13 +106,16 @@ const taskList = (0, toolkit_1.createSlice)({
106
106
  draft.error = undefined;
107
107
  },
108
108
  updateTaskList(draft, action) {
109
- const { data, archived, deleted, snoozed } = action.payload;
109
+ const { data, archived, completed, deleted, snoozed } = action.payload;
110
110
  draft.fetchState = 'Completed';
111
111
  draft.error = undefined;
112
112
  // Group live tasks
113
113
  const liveGrouped = getGroupedTaskIds(data);
114
114
  draft.byTab.live = toTabData(liveGrouped);
115
115
  // Group other tabs if provided
116
+ if (completed != null) {
117
+ draft.byTab.completed = toTabData(getGroupedTaskIds(completed));
118
+ }
116
119
  if (archived != null) {
117
120
  draft.byTab.archived = toTabData(getGroupedTaskIds(archived));
118
121
  }
@@ -384,6 +387,7 @@ const taskList = (0, toolkit_1.createSlice)({
384
387
  const taskId = task.id;
385
388
  draft.updateTasksFetchState.fetchState = 'In-Progress';
386
389
  draft.updateTasksFetchState.error = undefined;
390
+ let didMigrateTab = false;
387
391
  if (updates.priority != null) {
388
392
  const prevPriorityCode = (0, taskState_1.toPriorityCodeType)(task.priority.code);
389
393
  draft.taskIdsByPriority[prevPriorityCode] = draft.taskIdsByPriority[prevPriorityCode].filter((id) => id != taskId);
@@ -395,6 +399,25 @@ const taskList = (0, toolkit_1.createSlice)({
395
399
  draft.taskIdsByStatus[prevStatusCode] = draft.taskIdsByStatus[prevStatusCode].filter((id) => id != taskId);
396
400
  const newStatusCode = (0, taskState_1.toTaskStatusCodeType)(updates.status.code);
397
401
  draft.taskIdsByStatus[newStatusCode].push(taskId);
402
+ // Optimistically re-bucket between the live and completed tabs
403
+ // when status transitions in/out of "resolved", so the task
404
+ // moves to the Completed tab without waiting for the next
405
+ // fetch. Mirrors backend split in task_handler.py: only
406
+ // `resolved` counts as completed; `done` stays Active.
407
+ //
408
+ // Subtasks travel with their parent — they appear nested under
409
+ // the parent row, not as standalone entries in byTab.taskIds.
410
+ // So we only rebucket parent tasks (tasks with no parentTaskId).
411
+ const isParent = task.parentTaskId == null;
412
+ const wasCompleted = prevStatusCode === 'resolved';
413
+ const isCompleted = newStatusCode === 'resolved';
414
+ if (isParent && wasCompleted !== isCompleted) {
415
+ const from = isCompleted ? 'live' : 'completed';
416
+ const to = isCompleted ? 'completed' : 'live';
417
+ const updatedTask = { ...task, ...updates };
418
+ migrateTaskBetweenTabs(draft, taskId, updatedTask, from, to);
419
+ didMigrateTab = true;
420
+ }
398
421
  }
399
422
  if (updates.assignees != null) {
400
423
  const prevGroupId = getAssigneesGroupKey(task.assignees);
@@ -434,7 +457,18 @@ const taskList = (0, toolkit_1.createSlice)({
434
457
  };
435
458
  }
436
459
  }
437
- syncTopLevelToActiveTab(draft);
460
+ if (didMigrateTab) {
461
+ // The migration moved the task out of the source byTab and into
462
+ // the destination byTab. The active tab's grouping arrays are
463
+ // now authoritative — mirror them back to the top-level so the
464
+ // UI sees the task gone from Live (or freshly arrived in
465
+ // Completed). Inverse of syncTopLevelToActiveTab, used only on
466
+ // this path.
467
+ copyTabDataToTopLevel(draft, draft.byTab[draft.currentTab]);
468
+ }
469
+ else {
470
+ syncTopLevelToActiveTab(draft);
471
+ }
438
472
  },
439
473
  updateTasksListOnUpdateTaskSuccess(draft) {
440
474
  draft.updateTasksFetchState.fetchState = 'Completed';
@@ -451,6 +485,42 @@ const taskList = (0, toolkit_1.createSlice)({
451
485
  Object.assign(draft, exports.initialState);
452
486
  },
453
487
  },
488
+ extraReducers: (builder) => {
489
+ // When the entity store receives updated tasks (e.g. from task detail
490
+ // save, snooze/archive/unarchive, etc.), re-bucket parent tasks between
491
+ // the live and completed tabs based on the new status. Mirrors the
492
+ // backend split in task_handler.py: only `resolved` parents count as
493
+ // completed. Subtasks are nested under their parent row, so they
494
+ // never move between tabs on their own.
495
+ builder.addCase(taskReducer_1.updateTasks, (draft, action) => {
496
+ action.payload.forEach((taskPayload) => {
497
+ if (taskPayload.parent_task_id) {
498
+ return;
499
+ }
500
+ const taskId = taskPayload.task_id;
501
+ const statusCode = taskPayload.status?.code;
502
+ const isCompleted = statusCode === 'resolved';
503
+ const targetTab = isCompleted ? 'completed' : 'live';
504
+ const otherTab = isCompleted ? 'live' : 'completed';
505
+ // Skip if the task isn't currently in either of these buckets
506
+ // (archived/snoozed/deleted are managed by their own actions).
507
+ const inLive = draft.byTab.live.taskIds.includes(taskId);
508
+ const inCompleted = draft.byTab.completed.taskIds.includes(taskId);
509
+ if (!inLive && !inCompleted) {
510
+ return;
511
+ }
512
+ if (draft.byTab[otherTab].taskIds.includes(taskId)) {
513
+ migrateTaskPayloadBetweenTabs(draft, taskId, taskPayload, otherTab, targetTab);
514
+ }
515
+ else if (!draft.byTab[targetTab].taskIds.includes(taskId)) {
516
+ draft.byTab[targetTab].taskIds.push(taskId);
517
+ }
518
+ });
519
+ // Re-sync the top-level taskIds / grouping arrays for whichever
520
+ // tab the user is currently looking at.
521
+ copyTabDataToTopLevel(draft, draft.byTab[draft.currentTab]);
522
+ });
523
+ },
454
524
  });
455
525
  _a = taskList.actions, exports.fetchTaskListPage = _a.fetchTaskListPage, exports.fetchTaskList = _a.fetchTaskList, exports.updateTaskList = _a.updateTaskList, exports.updateTaskListTab = _a.updateTaskListTab, exports.updateTaskListFetchStatus = _a.updateTaskListFetchStatus, exports.updateTaskListSearchText = _a.updateTaskListSearchText, exports.updateTaskListUIState = _a.updateTaskListUIState, exports.updateTaskFilters = _a.updateTaskFilters, exports.updateTaskListOnNewGroupCreationSuccess = _a.updateTaskListOnNewGroupCreationSuccess, exports.bulkUpdateTaskList = _a.bulkUpdateTaskList, exports.updateTasksListOnBulkUpdateTasksSuccess = _a.updateTasksListOnBulkUpdateTasksSuccess, exports.updateTasksListOnBulkUpdateTasksFailure = _a.updateTasksListOnBulkUpdateTasksFailure, exports.initiateTaskListLocalData = _a.initiateTaskListLocalData, exports.updateTaskListLocalData = _a.updateTaskListLocalData, exports.updateTaskListOnTaskGroupDeletion = _a.updateTaskListOnTaskGroupDeletion, exports.dragNDropTasks = _a.dragNDropTasks, exports.updateTaskListOnNewTaskCreationSuccess = _a.updateTaskListOnNewTaskCreationSuccess, exports.updateTaskListOnTaskGroupNameUpdate = _a.updateTaskListOnTaskGroupNameUpdate, exports.updateTaskFromListView = _a.updateTaskFromListView, exports.updateTasksListOnUpdateTaskSuccess = _a.updateTasksListOnUpdateTaskSuccess, exports.updateTasksListOnUpdateTaskFailure = _a.updateTasksListOnUpdateTaskFailure, exports.updateTaskListOnCreateTaskFromTemplateSuccess = _a.updateTaskListOnCreateTaskFromTemplateSuccess, exports.removeTaskFromList = _a.removeTaskFromList, exports.clearTaskList = _a.clearTaskList;
456
526
  exports.default = taskList.reducer;
@@ -559,6 +629,115 @@ const copyTabDataToTopLevel = (draft, tabData) => {
559
629
  draft.taskIdsByDueDate = tabData.taskIdsByDueDate;
560
630
  draft.taskIdsByTags = tabData.taskIdsByTags;
561
631
  };
632
+ /**
633
+ * Migrate a parent task between two `byTab` buckets (live ↔ completed)
634
+ * when its status flips into / out of `resolved`. The destination tab
635
+ * picks up the task in EVERY grouping dimension (status, priority,
636
+ * group id, assignees, dueDate, tags) using the UPDATED task as the
637
+ * source-of-truth for the new bucket keys. Otherwise the Completed tab
638
+ * shows the task in the right tab-level list but the grouped views
639
+ * (Group by Status, Group by Priority, etc.) miss it until the next
640
+ * full fetch. See PR #3101 review.
641
+ */
642
+ const migrateTaskBetweenTabs = (draft, taskId, updatedTask, from, to) => {
643
+ const fromTab = draft.byTab[from];
644
+ const toTab = draft.byTab[to];
645
+ // Source tab: drop the task from every grouping dimension.
646
+ removeIdsFromTabData(fromTab, [taskId]);
647
+ // Destination tab: add the task to taskIds (deduped) plus the
648
+ // appropriate bucket inside each grouping dimension based on the
649
+ // updated task.
650
+ if (!toTab.taskIds.includes(taskId)) {
651
+ toTab.taskIds.push(taskId);
652
+ }
653
+ const priorityKey = (0, taskState_1.toPriorityCodeType)(updatedTask.priority.code);
654
+ if (!toTab.taskIdsByPriority[priorityKey].includes(taskId)) {
655
+ toTab.taskIdsByPriority[priorityKey].push(taskId);
656
+ }
657
+ const statusKey = (0, taskState_1.toTaskStatusCodeType)(updatedTask.status.code);
658
+ if (!toTab.taskIdsByStatus[statusKey].includes(taskId)) {
659
+ toTab.taskIdsByStatus[statusKey].push(taskId);
660
+ }
661
+ const dueDateKey = updatedTask.dueDate != null
662
+ ? getDueDateGroupKey(updatedTask.dueDate.toString())
663
+ : 'upcoming';
664
+ if (!toTab.taskIdsByDueDate[dueDateKey].includes(taskId)) {
665
+ toTab.taskIdsByDueDate[dueDateKey].push(taskId);
666
+ }
667
+ const assigneeKey = getAssigneesGroupKey(updatedTask.assignees);
668
+ if (toTab.taskIdsByAssignees[assigneeKey] == null) {
669
+ toTab.taskIdsByAssignees[assigneeKey] = [taskId];
670
+ }
671
+ else if (!toTab.taskIdsByAssignees[assigneeKey].includes(taskId)) {
672
+ toTab.taskIdsByAssignees[assigneeKey].push(taskId);
673
+ }
674
+ const tagIds = [...updatedTask.tagIds].sort();
675
+ const tagsKey = tagIds.join(',');
676
+ if (toTab.taskIdsByTags[tagsKey] == null) {
677
+ toTab.taskIdsByTags[tagsKey] = [taskId];
678
+ }
679
+ else if (!toTab.taskIdsByTags[tagsKey].includes(taskId)) {
680
+ toTab.taskIdsByTags[tagsKey].push(taskId);
681
+ }
682
+ (updatedTask.taskGroupIds ?? []).forEach((groupId) => {
683
+ if (toTab.taskIdsByGroupsIds[groupId] == null) {
684
+ toTab.taskIdsByGroupsIds[groupId] = [taskId];
685
+ }
686
+ else if (!toTab.taskIdsByGroupsIds[groupId].includes(taskId)) {
687
+ toTab.taskIdsByGroupsIds[groupId].push(taskId);
688
+ }
689
+ });
690
+ };
691
+ /**
692
+ * `updateTasks` extraReducer variant — same migration semantics but
693
+ * keyed off the raw `TaskPayload` instead of the rich `Task` entity.
694
+ */
695
+ const migrateTaskPayloadBetweenTabs = (draft, taskId, payload, from, to) => {
696
+ const fromTab = draft.byTab[from];
697
+ const toTab = draft.byTab[to];
698
+ removeIdsFromTabData(fromTab, [taskId]);
699
+ if (!toTab.taskIds.includes(taskId)) {
700
+ toTab.taskIds.push(taskId);
701
+ }
702
+ if (payload.priority?.code != null) {
703
+ const priorityKey = (0, taskState_1.toPriorityCodeType)(payload.priority.code);
704
+ if (!toTab.taskIdsByPriority[priorityKey].includes(taskId)) {
705
+ toTab.taskIdsByPriority[priorityKey].push(taskId);
706
+ }
707
+ }
708
+ if (payload.status?.code != null) {
709
+ const statusKey = (0, taskState_1.toTaskStatusCodeType)(payload.status.code);
710
+ if (!toTab.taskIdsByStatus[statusKey].includes(taskId)) {
711
+ toTab.taskIdsByStatus[statusKey].push(taskId);
712
+ }
713
+ }
714
+ const dueDateKey = getDueDateGroupKey(payload.due_date);
715
+ if (!toTab.taskIdsByDueDate[dueDateKey].includes(taskId)) {
716
+ toTab.taskIdsByDueDate[dueDateKey].push(taskId);
717
+ }
718
+ const assigneeKey = getAssigneesGroupKey(payload.assignees ?? []);
719
+ if (toTab.taskIdsByAssignees[assigneeKey] == null) {
720
+ toTab.taskIdsByAssignees[assigneeKey] = [taskId];
721
+ }
722
+ else if (!toTab.taskIdsByAssignees[assigneeKey].includes(taskId)) {
723
+ toTab.taskIdsByAssignees[assigneeKey].push(taskId);
724
+ }
725
+ const tagsKey = getTagsGroupKey(payload.tags ?? []);
726
+ if (toTab.taskIdsByTags[tagsKey] == null) {
727
+ toTab.taskIdsByTags[tagsKey] = [taskId];
728
+ }
729
+ else if (!toTab.taskIdsByTags[tagsKey].includes(taskId)) {
730
+ toTab.taskIdsByTags[tagsKey].push(taskId);
731
+ }
732
+ (payload.task_group_ids ?? []).forEach((groupId) => {
733
+ if (toTab.taskIdsByGroupsIds[groupId] == null) {
734
+ toTab.taskIdsByGroupsIds[groupId] = [taskId];
735
+ }
736
+ else if (!toTab.taskIdsByGroupsIds[groupId].includes(taskId)) {
737
+ toTab.taskIdsByGroupsIds[groupId].push(taskId);
738
+ }
739
+ });
740
+ };
562
741
  const removeIdsFromTabData = (tabData, taskIds) => {
563
742
  const removedSet = new Set(taskIds);
564
743
  const isRemoved = (id) => removedSet.has(id);
@@ -342,6 +342,7 @@ exports.getAllTasks = (0, toolkit_1.createSelector)((state) => state.taskListSta
342
342
  const taskGroupTemplates = (0, taskGroupTemplateSelector_1.getTaskGroupTemplateByIds)(taskGroupTemplateState, taskGroupTemplateViewState.taskGroupTemplateIds);
343
343
  const tabCounts = {
344
344
  live: taskListState.byTab.live.taskIds.length,
345
+ completed: taskListState.byTab.completed.taskIds.length,
345
346
  archived: taskListState.byTab.archived.taskIds.length,
346
347
  deleted: taskListState.byTab.deleted.taskIds.length,
347
348
  snoozed: taskListState.byTab.snoozed.taskIds.length,
package/lib/zeniAPI.d.ts CHANGED
@@ -15,7 +15,6 @@ export interface RESTAPIEndpoints {
15
15
  readonly documentAIMicroServiceBaseUrl: string;
16
16
  readonly fileMicroServiceBaseUrl: string;
17
17
  readonly insightsMicroServiceBaseUrl: string;
18
- readonly invoicingMicroServiceBaseUrl: string;
19
18
  readonly noAuthMicroServiceBaseUrl: string;
20
19
  readonly notificationMicroServiceBaseUrl: string;
21
20
  readonly payMicroServiceBaseUrl: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "5.1.18-betaAA0",
3
+ "version": "5.1.18-betaDI10",
4
4
  "description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/esm/index.js",
@@ -1,12 +0,0 @@
1
- import { ID, UpdateType } from '../../../commonStateTypes/common';
2
- import { InvoicingCoupon } from '../invoicingTypes';
3
- export interface InvoicingCouponState {
4
- couponByID: Record<ID, InvoicingCoupon>;
5
- }
6
- export declare const initialState: InvoicingCouponState;
7
- export declare const updateInvoicingCoupons: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[items: InvoicingCoupon[], updateType?: UpdateType | undefined], {
8
- items: InvoicingCoupon[];
9
- updateType: UpdateType | undefined;
10
- }, "invoicingCoupon/updateInvoicingCoupons", never, never>, removeInvoicingCoupon: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "invoicingCoupon/removeInvoicingCoupon">, clearAllInvoicingCoupons: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"invoicingCoupon/clearAllInvoicingCoupons">;
11
- declare const _default: import("redux").Reducer<InvoicingCouponState>;
12
- export default _default;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearAllInvoicingCoupons = exports.removeInvoicingCoupon = exports.updateInvoicingCoupons = exports.initialState = void 0;
5
- const toolkit_1 = require("@reduxjs/toolkit");
6
- exports.initialState = { couponByID: {} };
7
- const coupon = (0, toolkit_1.createSlice)({
8
- name: 'invoicingCoupon',
9
- initialState: exports.initialState,
10
- reducers: {
11
- updateInvoicingCoupons: {
12
- reducer(draft, action) {
13
- if (action.payload.updateType === 'replace') {
14
- draft.couponByID = {};
15
- }
16
- action.payload.items.forEach((item) => {
17
- draft.couponByID[item.id] = item;
18
- });
19
- },
20
- prepare(items, updateType) {
21
- return { payload: { items, updateType } };
22
- },
23
- },
24
- removeInvoicingCoupon(draft, action) {
25
- delete draft.couponByID[action.payload];
26
- },
27
- clearAllInvoicingCoupons(draft) {
28
- draft.couponByID = {};
29
- },
30
- },
31
- });
32
- _a = coupon.actions, exports.updateInvoicingCoupons = _a.updateInvoicingCoupons, exports.removeInvoicingCoupon = _a.removeInvoicingCoupon, exports.clearAllInvoicingCoupons = _a.clearAllInvoicingCoupons;
33
- exports.default = coupon.reducer;
@@ -1,12 +0,0 @@
1
- import { ID, UpdateType } from '../../../commonStateTypes/common';
2
- import { InvoicingCreditNote } from '../invoicingTypes';
3
- export interface InvoicingCreditNoteState {
4
- creditNoteByID: Record<ID, InvoicingCreditNote>;
5
- }
6
- export declare const initialState: InvoicingCreditNoteState;
7
- export declare const updateInvoicingCreditNotes: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[items: InvoicingCreditNote[], updateType?: UpdateType | undefined], {
8
- items: InvoicingCreditNote[];
9
- updateType: UpdateType | undefined;
10
- }, "invoicingCreditNote/updateInvoicingCreditNotes", never, never>, removeInvoicingCreditNote: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "invoicingCreditNote/removeInvoicingCreditNote">, clearAllInvoicingCreditNotes: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"invoicingCreditNote/clearAllInvoicingCreditNotes">;
11
- declare const _default: import("redux").Reducer<InvoicingCreditNoteState>;
12
- export default _default;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearAllInvoicingCreditNotes = exports.removeInvoicingCreditNote = exports.updateInvoicingCreditNotes = exports.initialState = void 0;
5
- const toolkit_1 = require("@reduxjs/toolkit");
6
- exports.initialState = {
7
- creditNoteByID: {},
8
- };
9
- const creditNote = (0, toolkit_1.createSlice)({
10
- name: 'invoicingCreditNote',
11
- initialState: exports.initialState,
12
- reducers: {
13
- updateInvoicingCreditNotes: {
14
- reducer(draft, action) {
15
- if (action.payload.updateType === 'replace') {
16
- draft.creditNoteByID = {};
17
- }
18
- action.payload.items.forEach((item) => {
19
- draft.creditNoteByID[item.id] = item;
20
- });
21
- },
22
- prepare(items, updateType) {
23
- return { payload: { items, updateType } };
24
- },
25
- },
26
- removeInvoicingCreditNote(draft, action) {
27
- delete draft.creditNoteByID[action.payload];
28
- },
29
- clearAllInvoicingCreditNotes(draft) {
30
- draft.creditNoteByID = {};
31
- },
32
- },
33
- });
34
- _a = creditNote.actions, exports.updateInvoicingCreditNotes = _a.updateInvoicingCreditNotes, exports.removeInvoicingCreditNote = _a.removeInvoicingCreditNote, exports.clearAllInvoicingCreditNotes = _a.clearAllInvoicingCreditNotes;
35
- exports.default = creditNote.reducer;
@@ -1,12 +0,0 @@
1
- import { ID, UpdateType } from '../../../commonStateTypes/common';
2
- import { InvoicingCustomer } from '../invoicingTypes';
3
- export interface InvoicingCustomerState {
4
- customerByID: Record<ID, InvoicingCustomer>;
5
- }
6
- export declare const initialState: InvoicingCustomerState;
7
- export declare const updateInvoicingCustomers: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[items: InvoicingCustomer[], updateType?: UpdateType | undefined], {
8
- items: InvoicingCustomer[];
9
- updateType: UpdateType | undefined;
10
- }, "invoicingCustomer/updateInvoicingCustomers", never, never>, removeInvoicingCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "invoicingCustomer/removeInvoicingCustomer">, clearAllInvoicingCustomers: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"invoicingCustomer/clearAllInvoicingCustomers">;
11
- declare const _default: import("redux").Reducer<InvoicingCustomerState>;
12
- export default _default;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearAllInvoicingCustomers = exports.removeInvoicingCustomer = exports.updateInvoicingCustomers = exports.initialState = void 0;
5
- const toolkit_1 = require("@reduxjs/toolkit");
6
- exports.initialState = { customerByID: {} };
7
- const customer = (0, toolkit_1.createSlice)({
8
- name: 'invoicingCustomer',
9
- initialState: exports.initialState,
10
- reducers: {
11
- updateInvoicingCustomers: {
12
- reducer(draft, action) {
13
- if (action.payload.updateType === 'replace') {
14
- draft.customerByID = {};
15
- }
16
- action.payload.items.forEach((item) => {
17
- draft.customerByID[item.id] = item;
18
- });
19
- },
20
- prepare(items, updateType) {
21
- return { payload: { items, updateType } };
22
- },
23
- },
24
- removeInvoicingCustomer(draft, action) {
25
- delete draft.customerByID[action.payload];
26
- },
27
- clearAllInvoicingCustomers(draft) {
28
- draft.customerByID = {};
29
- },
30
- },
31
- });
32
- _a = customer.actions, exports.updateInvoicingCustomers = _a.updateInvoicingCustomers, exports.removeInvoicingCustomer = _a.removeInvoicingCustomer, exports.clearAllInvoicingCustomers = _a.clearAllInvoicingCustomers;
33
- exports.default = customer.reducer;
@@ -1,12 +0,0 @@
1
- import { ID, UpdateType } from '../../../commonStateTypes/common';
2
- import { InvoicingDunningCase } from '../invoicingTypes';
3
- export interface InvoicingDunningCaseState {
4
- dunningCaseByID: Record<ID, InvoicingDunningCase>;
5
- }
6
- export declare const initialState: InvoicingDunningCaseState;
7
- export declare const updateInvoicingDunningCases: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[items: InvoicingDunningCase[], updateType?: UpdateType | undefined], {
8
- items: InvoicingDunningCase[];
9
- updateType: UpdateType | undefined;
10
- }, "invoicingDunningCase/updateInvoicingDunningCases", never, never>, removeInvoicingDunningCase: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "invoicingDunningCase/removeInvoicingDunningCase">, clearAllInvoicingDunningCases: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"invoicingDunningCase/clearAllInvoicingDunningCases">;
11
- declare const _default: import("redux").Reducer<InvoicingDunningCaseState>;
12
- export default _default;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearAllInvoicingDunningCases = exports.removeInvoicingDunningCase = exports.updateInvoicingDunningCases = exports.initialState = void 0;
5
- const toolkit_1 = require("@reduxjs/toolkit");
6
- exports.initialState = {
7
- dunningCaseByID: {},
8
- };
9
- const dunningCase = (0, toolkit_1.createSlice)({
10
- name: 'invoicingDunningCase',
11
- initialState: exports.initialState,
12
- reducers: {
13
- updateInvoicingDunningCases: {
14
- reducer(draft, action) {
15
- if (action.payload.updateType === 'replace') {
16
- draft.dunningCaseByID = {};
17
- }
18
- action.payload.items.forEach((item) => {
19
- draft.dunningCaseByID[item.id] = item;
20
- });
21
- },
22
- prepare(items, updateType) {
23
- return { payload: { items, updateType } };
24
- },
25
- },
26
- removeInvoicingDunningCase(draft, action) {
27
- delete draft.dunningCaseByID[action.payload];
28
- },
29
- clearAllInvoicingDunningCases(draft) {
30
- draft.dunningCaseByID = {};
31
- },
32
- },
33
- });
34
- _a = dunningCase.actions, exports.updateInvoicingDunningCases = _a.updateInvoicingDunningCases, exports.removeInvoicingDunningCase = _a.removeInvoicingDunningCase, exports.clearAllInvoicingDunningCases = _a.clearAllInvoicingDunningCases;
35
- exports.default = dunningCase.reducer;
@@ -1,10 +0,0 @@
1
- import { UpdateType } from '../../../commonStateTypes/common';
2
- import { InvoicingInvoice } from '../invoicingTypes';
3
- import { InvoiceState } from './invoiceState';
4
- export declare const initialState: InvoiceState;
5
- export declare const updateInvoices: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[invoices: InvoicingInvoice[], updateType?: UpdateType | undefined], {
6
- invoices: InvoicingInvoice[];
7
- updateType: UpdateType | undefined;
8
- }, "invoicingInvoice/updateInvoices", never, never>, removeInvoice: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "invoicingInvoice/removeInvoice">, clearAllInvoices: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"invoicingInvoice/clearAllInvoices">;
9
- declare const _default: import("redux").Reducer<InvoiceState>;
10
- export default _default;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearAllInvoices = exports.removeInvoice = exports.updateInvoices = exports.initialState = void 0;
5
- const toolkit_1 = require("@reduxjs/toolkit");
6
- exports.initialState = {
7
- invoiceByID: {},
8
- };
9
- const invoice = (0, toolkit_1.createSlice)({
10
- name: 'invoicingInvoice',
11
- initialState: exports.initialState,
12
- reducers: {
13
- updateInvoices: {
14
- reducer(draft, action) {
15
- const { invoices, updateType } = action.payload;
16
- if (updateType === 'replace') {
17
- draft.invoiceByID = {};
18
- }
19
- invoices.forEach((invoice) => {
20
- draft.invoiceByID[invoice.id] = invoice;
21
- });
22
- },
23
- prepare(invoices, updateType) {
24
- return { payload: { invoices, updateType } };
25
- },
26
- },
27
- removeInvoice(draft, action) {
28
- delete draft.invoiceByID[action.payload];
29
- },
30
- clearAllInvoices(draft) {
31
- draft.invoiceByID = {};
32
- },
33
- },
34
- });
35
- _a = invoice.actions, exports.updateInvoices = _a.updateInvoices, exports.removeInvoice = _a.removeInvoice, exports.clearAllInvoices = _a.clearAllInvoices;
36
- exports.default = invoice.reducer;
@@ -1,5 +0,0 @@
1
- import { ID } from '../../../commonStateTypes/common';
2
- import { RootState } from '../../../reducer';
3
- import { InvoicingInvoice } from '../invoicingTypes';
4
- export declare const getInvoiceById: (state: RootState, invoiceId: ID) => InvoicingInvoice | undefined;
5
- export declare const getInvoicesByIds: (state: RootState, invoiceIds: ID[]) => InvoicingInvoice[];
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInvoicesByIds = exports.getInvoiceById = void 0;
4
- const getInvoiceById = (state, invoiceId) => state.invoicingInvoiceState.invoiceByID[invoiceId];
5
- exports.getInvoiceById = getInvoiceById;
6
- const getInvoicesByIds = (state, invoiceIds) => invoiceIds
7
- .map((id) => state.invoicingInvoiceState.invoiceByID[id])
8
- .filter((invoice) => invoice != null);
9
- exports.getInvoicesByIds = getInvoicesByIds;
@@ -1,5 +0,0 @@
1
- import { ID } from '../../../commonStateTypes/common';
2
- import { InvoicingInvoice } from '../invoicingTypes';
3
- export interface InvoiceState {
4
- invoiceByID: Record<ID, InvoicingInvoice>;
5
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });