@axelor/aos-mobile-helpdesk 7.1.1 → 7.2.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.
Files changed (85) hide show
  1. package/lib/api/customer-api.js +3 -0
  2. package/lib/api/customer-api.js.map +1 -1
  3. package/lib/api/index.d.ts +5 -0
  4. package/lib/api/index.js +23 -0
  5. package/lib/api/index.js.map +1 -0
  6. package/lib/components/molecules/DurationFormInput/DurationFormInput.d.ts +5 -3
  7. package/lib/components/molecules/DurationFormInput/DurationFormInput.js +5 -5
  8. package/lib/components/molecules/DurationFormInput/DurationFormInput.js.map +1 -1
  9. package/lib/components/molecules/ProgressFormInput/ProgressFormInput.d.ts +3 -2
  10. package/lib/components/molecules/ProgressFormInput/ProgressFormInput.js +2 -2
  11. package/lib/components/molecules/ProgressFormInput/ProgressFormInput.js.map +1 -1
  12. package/lib/components/molecules/TicketCard/TicketCard.js +48 -48
  13. package/lib/components/molecules/TicketCard/TicketCard.js.map +1 -1
  14. package/lib/components/templates/ContactPartnerSearchBar/ContactPartnerSearchBar.d.ts +5 -6
  15. package/lib/components/templates/ContactPartnerSearchBar/ContactPartnerSearchBar.js +33 -29
  16. package/lib/components/templates/ContactPartnerSearchBar/ContactPartnerSearchBar.js.map +1 -1
  17. package/lib/components/templates/CustomerSearchBar/CustomerSearchBar.d.ts +5 -6
  18. package/lib/components/templates/CustomerSearchBar/CustomerSearchBar.js +4 -23
  19. package/lib/components/templates/CustomerSearchBar/CustomerSearchBar.js.map +1 -1
  20. package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.d.ts +5 -7
  21. package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.js +4 -23
  22. package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.js.map +1 -1
  23. package/lib/components/templates/TicketPriorityPicker/TicketPriorityPicker.d.ts +9 -0
  24. package/lib/components/templates/TicketPriorityPicker/TicketPriorityPicker.js +28 -0
  25. package/lib/components/templates/TicketPriorityPicker/TicketPriorityPicker.js.map +1 -0
  26. package/lib/components/templates/TicketStopwatch/TicketStopwatch.d.ts +2 -0
  27. package/lib/components/templates/TicketStopwatch/TicketStopwatch.js +82 -0
  28. package/lib/components/templates/TicketStopwatch/TicketStopwatch.js.map +1 -0
  29. package/lib/components/templates/TicketTypeSearchBar/TicketTypeSearchBar.d.ts +5 -6
  30. package/lib/components/templates/TicketTypeSearchBar/TicketTypeSearchBar.js +4 -24
  31. package/lib/components/templates/TicketTypeSearchBar/TicketTypeSearchBar.js.map +1 -1
  32. package/lib/components/templates/TicketsStatusButton/TicketsStatusButton.js +3 -3
  33. package/lib/components/templates/TicketsStatusButton/TicketsStatusButton.js.map +1 -1
  34. package/lib/components/templates/index.d.ts +2 -1
  35. package/lib/components/templates/index.js +2 -1
  36. package/lib/components/templates/index.js.map +1 -1
  37. package/lib/features/asyncFunctions-index.d.ts +5 -0
  38. package/lib/{api/user-api.js → features/asyncFunctions-index.js} +6 -14
  39. package/lib/features/asyncFunctions-index.js.map +1 -0
  40. package/lib/features/customerSlice.d.ts +2 -2
  41. package/lib/features/customerSlice.js +2 -6
  42. package/lib/features/customerSlice.js.map +1 -1
  43. package/lib/features/helpdeskConfigSlice.d.ts +1 -1
  44. package/lib/features/index.d.ts +0 -1
  45. package/lib/features/index.js +0 -1
  46. package/lib/features/index.js.map +1 -1
  47. package/lib/features/projectSlice.d.ts +1 -1
  48. package/lib/features/ticketSlice.d.ts +1 -1
  49. package/lib/features/timerSlice.d.ts +1 -1
  50. package/lib/i18n/en.json +0 -1
  51. package/lib/i18n/fr.json +0 -1
  52. package/lib/index.d.ts +5 -1
  53. package/lib/index.js +7 -2
  54. package/lib/index.js.map +1 -1
  55. package/lib/models/forms.d.ts +2 -0
  56. package/lib/models/forms.js +133 -0
  57. package/lib/models/forms.js.map +1 -0
  58. package/lib/models/index.d.ts +1 -0
  59. package/lib/models/index.js +1 -0
  60. package/lib/models/index.js.map +1 -1
  61. package/lib/models/objectFields.js +0 -3
  62. package/lib/models/objectFields.js.map +1 -1
  63. package/lib/models/searchFields.js +0 -1
  64. package/lib/models/searchFields.js.map +1 -1
  65. package/lib/models/sortFields.js +0 -1
  66. package/lib/models/sortFields.js.map +1 -1
  67. package/lib/screens/TicketDetailsScreen.js +13 -55
  68. package/lib/screens/TicketDetailsScreen.js.map +1 -1
  69. package/lib/screens/TicketFormScreen.js +48 -96
  70. package/lib/screens/TicketFormScreen.js.map +1 -1
  71. package/lib/screens/index.d.ts +13 -12
  72. package/lib/screens/index.js +4 -0
  73. package/lib/screens/index.js.map +1 -1
  74. package/lib/utils/index.d.ts +1 -0
  75. package/lib/utils/index.js +19 -0
  76. package/lib/utils/index.js.map +1 -0
  77. package/package.json +5 -5
  78. package/lib/api/user-api.d.ts +0 -4
  79. package/lib/api/user-api.js.map +0 -1
  80. package/lib/components/templates/UserSearchBar/UserSearchBar.d.ts +0 -15
  81. package/lib/components/templates/UserSearchBar/UserSearchBar.js +0 -53
  82. package/lib/components/templates/UserSearchBar/UserSearchBar.js.map +0 -1
  83. package/lib/features/userSlice.d.ts +0 -16
  84. package/lib/features/userSlice.js +0 -49
  85. package/lib/features/userSlice.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/models/forms.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export { helpdesk_formsRegister } from './forms';
1
2
  export { helpdesk_searchFields } from './searchFields';
2
3
  export { helpdesk_sortFields } from './sortFields';
3
4
  export { helpdesk_modelAPI } from './objectFields';
@@ -15,6 +15,7 @@
15
15
  * You should have received a copy of the GNU Affero General Public License
16
16
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
+ export { helpdesk_formsRegister } from './forms';
18
19
  export { helpdesk_searchFields } from './searchFields';
19
20
  export { helpdesk_sortFields } from './sortFields';
20
21
  export { helpdesk_modelAPI } from './objectFields';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAC,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC"}
@@ -65,8 +65,5 @@ export const helpdesk_modelAPI = {
65
65
  clientPartner: schemaContructor.subObject(),
66
66
  contactPartner: schemaContructor.subObject(),
67
67
  }),
68
- helpdesk_user: schemaContructor.object({
69
- fullName: schemaContructor.string(),
70
- }),
71
68
  };
72
69
  //# sourceMappingURL=objectFields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectFields.js","sourceRoot":"","sources":["../../src/models/objectFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAe,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAEvE,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC7C,eAAe,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACvC,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACpC,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAClC,cAAc,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACzC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,aAAa,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACxC,eAAe,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC7C,cAAc,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC5C,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACvC,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACxC,cAAc,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACzC,WAAW,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACtC,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACrC,eAAe,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC7C,cAAc,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC5C,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACrC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,SAAS,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;KACrE,CAAC;IACF,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;KAChC,CAAC;IACF,qBAAqB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAC7C,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACrC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;KACpC,CAAC;IACF,iBAAiB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACzC,cAAc,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACzC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,iBAAiB,EAAE,gBAAgB;aAChC,KAAK,EAAE;aACP,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;KACpC,CAAC;IACF,wBAAwB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAChD,cAAc,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACzC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,iBAAiB,EAAE,gBAAgB;aAChC,KAAK,EAAE;aACP,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;KACpC,CAAC;IACF,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACxC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC3C,cAAc,EAAE,gBAAgB,CAAC,SAAS,EAAE;KAC7C,CAAC;IACF,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACrC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;KACpC,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"objectFields.js","sourceRoot":"","sources":["../../src/models/objectFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAe,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAEvE,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC7C,eAAe,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACvC,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACpC,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAClC,cAAc,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACzC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,aAAa,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACxC,eAAe,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC7C,cAAc,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC5C,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACvC,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACxC,cAAc,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACzC,WAAW,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACtC,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACrC,eAAe,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC7C,cAAc,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC5C,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACrC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,SAAS,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;KACrE,CAAC;IACF,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;KAChC,CAAC;IACF,qBAAqB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAC7C,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACrC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;KACpC,CAAC;IACF,iBAAiB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACzC,cAAc,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACzC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,iBAAiB,EAAE,gBAAgB;aAChC,KAAK,EAAE;aACP,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;KACpC,CAAC;IACF,wBAAwB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAChD,cAAc,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACzC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,iBAAiB,EAAE,gBAAgB;aAChC,KAAK,EAAE;aACP,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;KACpC,CAAC;IACF,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACxC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC3C,cAAc,EAAE,gBAAgB,CAAC,SAAS,EAAE;KAC7C,CAAC;CACH,CAAC"}
@@ -41,6 +41,5 @@ export const helpdesk_searchFields = {
41
41
  'emailAddress.name',
42
42
  ],
43
43
  helpdesk_project: ['name', 'fullName'],
44
- helpdesk_user: ['fullName'],
45
44
  };
46
45
  //# sourceMappingURL=searchFields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"searchFields.js","sourceRoot":"","sources":["../../src/models/searchFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,eAAe,EAAE;QACf,WAAW;QACX,SAAS;QACT,0BAA0B;QAC1B,0BAA0B;QAC1B,kBAAkB;KACnB;IACD,mBAAmB,EAAE,CAAC,MAAM,CAAC;IAC7B,iBAAiB,EAAE;QACjB,gBAAgB;QAChB,YAAY;QACZ,sBAAsB;QACtB,aAAa;QACb,YAAY;QACZ,mBAAmB;KACpB;IACD,wBAAwB,EAAE;QACxB,gBAAgB;QAChB,YAAY;QACZ,sBAAsB;QACtB,aAAa;QACb,YAAY;QACZ,mBAAmB;KACpB;IACD,gBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IACtC,aAAa,EAAE,CAAC,UAAU,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"searchFields.js","sourceRoot":"","sources":["../../src/models/searchFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,eAAe,EAAE;QACf,WAAW;QACX,SAAS;QACT,0BAA0B;QAC1B,0BAA0B;QAC1B,kBAAkB;KACnB;IACD,mBAAmB,EAAE,CAAC,MAAM,CAAC;IAC7B,iBAAiB,EAAE;QACjB,gBAAgB;QAChB,YAAY;QACZ,sBAAsB;QACtB,aAAa;QACb,YAAY;QACZ,mBAAmB;KACpB;IACD,wBAAwB,EAAE;QACxB,gBAAgB;QAChB,YAAY;QACZ,sBAAsB;QACtB,aAAa;QACb,YAAY;QACZ,mBAAmB;KACpB;IACD,gBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;CACvC,CAAC"}
@@ -21,6 +21,5 @@ export const helpdesk_sortFields = {
21
21
  helpdesk_customerContact: ['name', 'partnerSeq', 'createdOn'],
22
22
  helpdesk_project: ['name', 'fullName'],
23
23
  helpdesk_ticketType: ['name'],
24
- helpdesk_user: ['fullName'],
25
24
  };
26
25
  //# sourceMappingURL=sortFields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../src/models/sortFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,eAAe,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;IAC3C,iBAAiB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC;IACtD,wBAAwB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC;IAC7D,gBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IACtC,mBAAmB,EAAE,CAAC,MAAM,CAAC;IAC7B,aAAa,EAAE,CAAC,UAAU,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../src/models/sortFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,eAAe,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;IAC3C,iBAAiB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC;IACtD,wBAAwB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC;IAC7D,gBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IACtC,mBAAmB,EAAE,CAAC,MAAM,CAAC;CAC9B,CAAC"}
@@ -15,78 +15,36 @@
15
15
  * You should have received a copy of the GNU Affero General Public License
16
16
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
- import React, { useEffect, useMemo, useCallback } from 'react';
19
- import { ScrollView } from 'react-native';
20
- import { Screen, HeaderContainer, NotesCard, useThemeColor, IconButton, } from '@axelor/aos-mobile-ui';
21
- import { Stopwatch, useDispatch, useSelector, useTranslator, getNowDateZonesISOString, StopwatchType, } from '@axelor/aos-mobile-core';
22
- import { fetchTicketById, updateTicketStatus } from '../features/ticketSlice';
23
- import { TicketHeader, TicketDropdownCards, TicketEditButton, TicketsStatusButton, } from '../components';
24
- import { clearTimer, fetchTimerById, searchTimerHistoryById, } from '../features/timerSlice';
18
+ import React, { useCallback, useEffect } from 'react';
19
+ import { Screen, HeaderContainer, NotesCard, ScrollView, } from '@axelor/aos-mobile-ui';
20
+ import { useDispatch, useSelector, useTranslator } from '@axelor/aos-mobile-core';
21
+ import { fetchTicketById } from '../features/ticketSlice';
22
+ import { TicketHeader, TicketDropdownCards, TicketEditButton, TicketStopwatch, } from '../components';
25
23
  import { Ticket } from '../types';
26
24
  import { fetchHelpdeskConfig } from '../features/helpdeskConfigSlice';
27
25
  const TicketDetailsScreen = ({ route }) => {
28
26
  const { idTicket } = route.params;
29
27
  const I18n = useTranslator();
30
- const Colors = useThemeColor();
31
28
  const dispatch = useDispatch();
32
- const { ticket } = useSelector(state => state.ticket);
33
- const { timer, timerHistory } = useSelector(state => state.timer);
34
- const { helpdeskConfig } = useSelector(state => state.helpdeskConfig);
35
- useEffect(() => {
36
- dispatch(fetchHelpdeskConfig());
37
- }, [dispatch]);
38
- useEffect(() => {
29
+ const { loadingTicket, ticket } = useSelector(state => state.ticket);
30
+ const fetchTicket = useCallback(() => {
39
31
  dispatch(fetchTicketById({ ticketId: idTicket }));
40
32
  }, [dispatch, idTicket]);
41
33
  useEffect(() => {
42
- if (ticket?.timerList?.length > 0) {
43
- dispatch(fetchTimerById({ timerId: ticket?.timerList[0]?.id }));
44
- }
45
- else {
46
- dispatch(clearTimer());
47
- }
48
- }, [dispatch, ticket?.timerList]);
34
+ dispatch(fetchHelpdeskConfig());
35
+ }, [dispatch]);
49
36
  useEffect(() => {
50
- dispatch(searchTimerHistoryById({ idTimer: timer?.id }));
51
- }, [dispatch, timer]);
52
- const statustimer = useMemo(() => {
53
- return Ticket.getTimerState(ticket?.statusSelect, timer?.statusSelect);
54
- }, [ticket, timer]);
55
- const disbaled = useMemo(() => {
56
- if (ticket?.statusSelect === Ticket.status.Closed ||
57
- ticket?.statusSelect === Ticket.status.Resolved) {
58
- return true;
59
- }
60
- return false;
61
- }, [ticket]);
62
- const timerDuration = useMemo(() => {
63
- if (!Array.isArray(ticket?.timerList) ||
64
- ticket.timerList.length === 0 ||
65
- ticket.timerList[0]?.id !== timer?.id) {
66
- return 0;
67
- }
68
- return Ticket.getTotalDuration(timerHistory);
69
- }, [ticket?.timerList, timer?.id, timerHistory]);
70
- const updateStatus = useCallback(status => {
71
- dispatch(updateTicketStatus({
72
- version: ticket?.version,
73
- dateTime: getNowDateZonesISOString(),
74
- targetStatus: status,
75
- ticketId: ticket?.id,
76
- }));
77
- }, [dispatch, ticket]);
37
+ fetchTicket();
38
+ }, [fetchTicket]);
78
39
  if (ticket?.id !== idTicket) {
79
40
  return null;
80
41
  }
81
42
  return (<Screen removeSpaceOnTop={true}>
82
43
  <HeaderContainer expandableFilter={false} fixedItems={<TicketHeader />}/>
83
- <ScrollView>
44
+ <ScrollView refresh={{ loading: loadingTicket, fetcher: fetchTicket }}>
84
45
  <NotesCard title={I18n.t('Base_Description')} data={ticket.description}/>
85
46
  <TicketDropdownCards />
86
- {helpdeskConfig?.manageTimer ? (<Stopwatch startTime={timerDuration} timerFormat={I18n.t('Stopwatch_TimerFormat')} status={statustimer} disableStop={statustimer === StopwatchType.status.Paused} onPlay={() => updateStatus(Ticket.stopWatchStatus.start)} onPause={() => updateStatus(Ticket.stopWatchStatus.pause)} onStop={() => updateStatus(Ticket.stopWatchStatus.stop)} onCancel={() => updateStatus(Ticket.stopWatchStatus.reset)} disable={disbaled}/>) : (<TicketsStatusButton />)}
87
- {ticket?.statusSelect !== Ticket.status.Closed &&
88
- ticket?.statusSelect !== Ticket.status.New && (<IconButton title={I18n.t('Helpdesk_Close')} iconName="power-off" onPress={() => updateStatus(Ticket.stopWatchStatus.validate)} color={Colors.primaryColor} disabled={ticket?.statusSelect === Ticket.status.Closed ||
89
- ticket?.statusSelect === Ticket.status.New}/>)}
47
+ <TicketStopwatch />
90
48
  </ScrollView>
91
49
  {ticket?.statusSelect !== Ticket.status.Closed && (<TicketEditButton idTicket={idTicket}/>)}
92
50
  </Screen>);
@@ -1 +1 @@
1
- {"version":3,"file":"TicketDetailsScreen.js","sourceRoot":"","sources":["../../src/screens/TicketDetailsScreen.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TicketDetailsScreen.js","sourceRoot":"","sources":["../../src/screens/TicketDetailsScreen.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,EACL,MAAM,EACN,eAAe,EACf,SAAS,EACT,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AAEpE,MAAM,mBAAmB,GAAG,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;IACtC,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAC,aAAa,EAAE,MAAM,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,QAAQ,CAAC,eAAe,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,IAAI,MAAM,EAAE,EAAE,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAC7B;MAAA,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,AAAD,EAAG,CAAC,EACvE;MAAA,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAC,CAAC,CAClE;QAAA,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAClC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAE3B;QAAA,CAAC,mBAAmB,CAAC,AAAD,EACpB;QAAA,CAAC,eAAe,CAAC,AAAD,EAClB;MAAA,EAAE,UAAU,CACZ;MAAA,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAChD,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAG,CACzC,CACH;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -15,113 +15,65 @@
15
15
  * You should have received a copy of the GNU Affero General Public License
16
16
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
- import React, { useState, useCallback } from 'react';
19
- import { StyleSheet, View } from 'react-native';
20
- import { Button, FormInput, KeyboardAvoidingScrollView, Picker, Screen, useThemeColor, FormHtmlInput, checkNullString, } from '@axelor/aos-mobile-ui';
21
- import { useSelector, useDispatch, useTranslator, DateInput, } from '@axelor/aos-mobile-core';
18
+ import React, { useCallback, useMemo, useEffect } from 'react';
19
+ import { useSelector, useDispatch, FormView } from '@axelor/aos-mobile-core';
22
20
  import { createTicket, updateTicket } from '../features/ticketSlice';
23
- import { ContactPartnerSearchBar, CustomerSearchBar, DurationFormInput, ProgressFormInput, ProjectSearchBar, TicketTypeSearchBar, UserSearchBar, } from '../components';
24
- import { Ticket } from '../types/';
25
- const PROJECT_KEY = 'project';
26
- const CUSTOMER_KEY = 'customerPartner';
27
- const CONTACT_KEY = 'contactPartner';
28
- const DEFAULT_TICKET_VALUE = { duration: 0 };
29
- const isObjectMissingRequiredField = object => checkNullString(object?.subject);
21
+ import { getCustomerbyId } from '../features/customerSlice';
30
22
  const TicketFormScreen = ({ navigation, route }) => {
31
23
  const idTicket = route?.params?.idTicket;
32
- const dispatch = useDispatch();
33
- const I18n = useTranslator();
34
- const Colors = useThemeColor();
24
+ const _dispatch = useDispatch();
35
25
  const { ticket } = useSelector(state => state.ticket);
36
- const [_ticket, setTicket] = useState(idTicket != null ? ticket : DEFAULT_TICKET_VALUE);
37
- const [disabledButton, setDisabledButton] = useState(isObjectMissingRequiredField(_ticket));
38
- const handleTicketFieldChange = useCallback((newValue, fieldName) => {
39
- setTicket(current => {
40
- if (current?.[fieldName] === newValue) {
41
- return current;
42
- }
43
- const updatedObject = current == null ? {} : { ...current };
44
- updatedObject[fieldName] = newValue;
45
- if (fieldName === PROJECT_KEY) {
46
- updatedObject[CUSTOMER_KEY] = newValue?.clientPartner;
47
- updatedObject[CONTACT_KEY] = newValue?.contactPartner;
48
- }
49
- setDisabledButton(isObjectMissingRequiredField(updatedObject));
50
- return updatedObject;
51
- });
26
+ const defaultValue = useMemo(() => {
27
+ const _default = {
28
+ duration: 0,
29
+ };
30
+ if (idTicket != null) {
31
+ return {
32
+ ...ticket,
33
+ duration: ticket.duration || _default.duration,
34
+ };
35
+ }
36
+ return _default;
37
+ }, [idTicket, ticket]);
38
+ const createTicketAPI = useCallback((_ticket, dispatch) => {
39
+ dispatch(createTicket({
40
+ ticket: _ticket,
41
+ }));
52
42
  }, []);
53
- const updateTicketAPI = useCallback(() => {
43
+ const updateTicketAPI = useCallback((_ticket, dispatch) => {
54
44
  dispatch(updateTicket({
55
45
  ticket: _ticket,
56
46
  }));
57
47
  navigation.navigate('TicketDetailsScreen', {
58
48
  idTicket: _ticket.id,
59
49
  });
60
- }, [dispatch, _ticket, navigation]);
61
- const createTicketAPI = useCallback(() => {
62
- dispatch(createTicket({
63
- ticket: _ticket,
64
- }));
65
- setTicket(DEFAULT_TICKET_VALUE);
66
- }, [_ticket, dispatch]);
67
- return (<Screen>
68
- <KeyboardAvoidingScrollView style={styles.scroll}>
69
- <View style={styles.container}>
70
- <FormInput style={styles.input} title={I18n.t('Hepdesk_Subject')} onChange={value => handleTicketFieldChange(value, 'subject')} defaultValue={_ticket?.subject} required={true}/>
71
- <ProgressFormInput title={I18n.t('Helpdesk_Progress')} defaultValue={_ticket?.progressSelect} onChange={value => handleTicketFieldChange(value, 'progressSelect')}/>
72
- <ProjectSearchBar titleKey="Helpdesk_Project" placeholderKey="Helpdesk_Project" defaultValue={_ticket?.[PROJECT_KEY]} onChange={value => handleTicketFieldChange(value, PROJECT_KEY)} style={styles.picker} styleTxt={styles.marginTitle}/>
73
- <CustomerSearchBar titleKey="Helpdesk_CustomPartner" placeholderKey="Helpdesk_CustomPartner" defaultValue={_ticket?.[CUSTOMER_KEY]} onChange={value => handleTicketFieldChange(value, CUSTOMER_KEY)} style={styles.picker} styleTxt={styles.marginTitle}/>
74
- <ContactPartnerSearchBar titleKey={I18n.t('Helpdesk_ContactPartner')} placeholderKey={I18n.t('Helpdesk_ContactPartner')} defaultValue={_ticket?.[CONTACT_KEY]} onChange={value => handleTicketFieldChange(value, CONTACT_KEY)} style={styles.picker} styleTxt={styles.marginTitle} client={_ticket?.[CUSTOMER_KEY]}/>
75
- <TicketTypeSearchBar titleKey="Helpdesk_Type" placeholderKey="Helpdesk_Type" defaultValue={_ticket?.ticketType} onChange={value => handleTicketFieldChange(value, 'ticketType')} style={styles.picker} styleTxt={styles.marginTitle}/>
76
- <Picker style={styles.picker} styleTxt={styles.pickerTitle} title={I18n.t('Helpdesk_Priority')} onValueChange={value => handleTicketFieldChange(value, 'prioritySelect')} listItems={Ticket.getPriorityList(Colors, I18n)} labelField="title" valueField="key" defaultValue={_ticket?.prioritySelect}/>
77
- <DateInput onDateChange={value => handleTicketFieldChange(value, 'startDateT')} title={I18n.t('Helpdesk_StartDate')} defaultDate={_ticket?.startDateT != null ? new Date(_ticket?.startDateT) : null} style={styles.input} nullable={true}/>
78
- <DateInput onDateChange={value => handleTicketFieldChange(value, 'endDateT')} title={I18n.t('Helpdesk_EndDate')} defaultDate={_ticket?.endDateT != null ? new Date(_ticket?.endDateT) : null} style={styles.input} nullable={true}/>
79
- <DateInput onDateChange={value => handleTicketFieldChange(value, 'deadlineDateT')} title={I18n.t('Helpdesk_DeadlineDate')} defaultDate={_ticket?.deadlineDateT != null
80
- ? new Date(_ticket?.deadlineDateT)
81
- : null} style={styles.input} nullable={true}/>
82
- <DurationFormInput duration={_ticket?.duration} onChange={value => handleTicketFieldChange(value, 'duration')}/>
83
- <UserSearchBar titleKey="Helpdesk_AssignedToUser" placeholderKey="Helpdesk_AssignedToUser" defaultValue={_ticket?.assignedToUser} onChange={value => handleTicketFieldChange(value, 'assignedToUser')} style={styles.picker} styleTxt={styles.marginTitle}/>
84
- <UserSearchBar titleKey="Helpdesk_ResponsibleUser" placeholderKey="Helpdesk_ResponsibleUser" defaultValue={_ticket?.responsibleUser} onChange={value => handleTicketFieldChange(value, 'responsibleUser')} style={styles.picker} styleTxt={styles.marginTitle}/>
85
- <FormHtmlInput title={I18n.t('Base_Description')} onChange={value => handleTicketFieldChange(value, 'description')} defaultValue={_ticket?.description}/>
86
- </View>
87
- </KeyboardAvoidingScrollView>
88
- <View style={styles.button_container}>
89
- <Button title={I18n.t('Base_Save')} onPress={idTicket != null ? updateTicketAPI : createTicketAPI} disabled={disabledButton} color={disabledButton ? Colors.secondaryColor : Colors.primaryColor}/>
90
- </View>
91
- </Screen>);
50
+ }, [navigation]);
51
+ useEffect(() => {
52
+ _dispatch(getCustomerbyId(null));
53
+ }, [_dispatch]);
54
+ return (<FormView formKey="helpdesk_ticket" defaultValue={defaultValue} actions={[
55
+ {
56
+ key: 'create-ticket',
57
+ type: 'create',
58
+ needValidation: true,
59
+ needRequiredFields: true,
60
+ hideIf: () => idTicket != null,
61
+ customAction: ({ dispatch, objectState, handleReset }) => {
62
+ createTicketAPI(objectState, dispatch);
63
+ handleReset();
64
+ },
65
+ },
66
+ {
67
+ key: 'update-ticket',
68
+ type: 'update',
69
+ needValidation: true,
70
+ needRequiredFields: true,
71
+ hideIf: () => idTicket == null,
72
+ customAction: ({ dispatch, objectState }) => {
73
+ updateTicketAPI(objectState, dispatch);
74
+ },
75
+ },
76
+ ]}/>);
92
77
  };
93
- const styles = StyleSheet.create({
94
- container: {
95
- alignItems: 'center',
96
- zIndex: 30,
97
- },
98
- scroll: {
99
- height: null,
100
- },
101
- picker: {
102
- width: '100%',
103
- marginLeft: 5,
104
- },
105
- pickerTitle: {
106
- marginLeft: 5,
107
- },
108
- marginTitle: {
109
- marginLeft: 28,
110
- },
111
- search: {
112
- width: '100%',
113
- marginLeft: 0,
114
- },
115
- input: {
116
- width: '90%',
117
- },
118
- button_container: {
119
- marginVertical: '1%',
120
- flexDirection: 'column',
121
- justifyContent: 'center',
122
- alignItems: 'center',
123
- alignContent: 'center',
124
- },
125
- });
126
78
  export default TicketFormScreen;
127
79
  //# sourceMappingURL=TicketFormScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TicketFormScreen.js","sourceRoot":"","sources":["../../src/screens/TicketFormScreen.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TicketFormScreen.js","sourceRoot":"","sources":["../../src/screens/TicketFormScreen.js"],"names":[],"mappings":"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"}
@@ -1,40 +1,41 @@
1
1
  declare namespace _default {
2
2
  namespace MyTicketListScreen {
3
- export const title: string;
3
+ export let title: string;
4
4
  export { MyTicketListScreen as component };
5
5
  export namespace options {
6
- const shadedHeader: boolean;
6
+ let shadedHeader: boolean;
7
7
  }
8
8
  }
9
9
  namespace MyTeamTicketListScreen {
10
- const title_1: string;
10
+ let title_1: string;
11
11
  export { title_1 as title };
12
12
  export { MyTeamTicketListScreen as component };
13
13
  export namespace options_1 {
14
- const shadedHeader_1: boolean;
14
+ let shadedHeader_1: boolean;
15
15
  export { shadedHeader_1 as shadedHeader };
16
16
  }
17
17
  export { options_1 as options };
18
18
  }
19
19
  namespace TicketFormScreen {
20
- const title_2: string;
20
+ let title_2: string;
21
21
  export { title_2 as title };
22
22
  export { TicketFormScreen as component };
23
23
  }
24
24
  namespace TicketDetailsScreen {
25
- const title_3: string;
25
+ let title_3: string;
26
26
  export { title_3 as title };
27
27
  export { TicketDetailsScreen as component };
28
- export const actionID: string;
28
+ export let actionID: string;
29
29
  export namespace options_2 {
30
- const shadedHeader_2: boolean;
30
+ let shadedHeader_2: boolean;
31
31
  export { shadedHeader_2 as shadedHeader };
32
32
  }
33
33
  export { options_2 as options };
34
34
  }
35
35
  }
36
36
  export default _default;
37
- import MyTicketListScreen_1 from "./MyTicketListScreen";
38
- import MyTeamTicketListScreen_1 from "./MyTeamTicketListScreen";
39
- import TicketFormScreen_1 from "./TicketFormScreen";
40
- import TicketDetailsScreen_1 from "./TicketDetailsScreen";
37
+ import MyTicketListScreen_1 from './MyTicketListScreen';
38
+ import MyTeamTicketListScreen_1 from './MyTeamTicketListScreen';
39
+ import TicketFormScreen_1 from './TicketFormScreen';
40
+ import TicketDetailsScreen_1 from './TicketDetailsScreen';
41
+ export { MyTicketListScreen_1 as MyTicketListScreen, MyTeamTicketListScreen_1 as MyTeamTicketListScreen, TicketDetailsScreen_1 as TicketDetailsScreen, TicketFormScreen_1 as TicketFormScreen };
@@ -47,4 +47,8 @@ export default {
47
47
  },
48
48
  },
49
49
  };
50
+ export { MyTicketListScreen };
51
+ export { MyTeamTicketListScreen };
52
+ export { TicketDetailsScreen };
53
+ export { TicketFormScreen };
50
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/screens/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,eAAe;IACb,kBAAkB,EAAE;QAClB,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;IACD,sBAAsB,EAAE;QACtB,KAAK,EAAE,wBAAwB;QAC/B,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,gBAAgB;KAC5B;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,yBAAyB;QACnC,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/screens/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,eAAe;IACb,kBAAkB,EAAE;QAClB,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;IACD,sBAAsB,EAAE;QACtB,KAAK,EAAE,wBAAwB;QAC/B,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,gBAAgB;KAC5B;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,yBAAyB;QACnC,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;CACF,CAAC;AAEF,OAAO,EAAC,kBAAkB,EAAC,CAAC;AAC5B,OAAO,EAAC,sBAAsB,EAAC,CAAC;AAChC,OAAO,EAAC,mBAAmB,EAAC,CAAC;AAC7B,OAAO,EAAC,gBAAgB,EAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './displayers';
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2023 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ export * from './displayers';
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axelor/aos-mobile-helpdesk",
3
- "version": "7.1.1",
3
+ "version": "7.2.0",
4
4
  "author": "Axelor",
5
5
  "license": "AGPL-3.0-only",
6
6
  "publishConfig": {
@@ -28,14 +28,14 @@
28
28
  "react-i18next": "^11.18.6"
29
29
  },
30
30
  "dependencies": {
31
- "@axelor/aos-mobile-core": "7.1.1",
32
- "@axelor/aos-mobile-ui": "7.1.1",
31
+ "@axelor/aos-mobile-core": "7.2.0",
32
+ "@axelor/aos-mobile-ui": "7.2.0",
33
33
  "@reduxjs/toolkit": "^1.8.5"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@babel/runtime": "^7.19.0",
37
37
  "@react-native-community/eslint-config": "^2.0.0",
38
- "@types/react": "18.0.20",
38
+ "@types/react": "18.2.0",
39
39
  "@types/react-native": "0.68.1",
40
40
  "cpx2": "^4.2.0",
41
41
  "eslint": "^7.32.0",
@@ -45,6 +45,6 @@
45
45
  "react-native": "0.68.1"
46
46
  },
47
47
  "resolutions": {
48
- "@types/react": "18.0.20"
48
+ "@types/react": "18.2.0"
49
49
  }
50
50
  }
@@ -1,4 +0,0 @@
1
- export function searchUser({ searchValue, page }: {
2
- searchValue: any;
3
- page?: number;
4
- }): Promise<any>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-api.js","sourceRoot":"","sources":["../../src/api/user-api.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,kBAAkB,GAAG,WAAW,CAAC,EAAE;IACvC,OAAO,CAAC,kBAAkB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAC,WAAW,EAAE,IAAI,GAAG,CAAC,EAAC;IACtD,OAAO,oBAAoB,CAAC;QAC1B,KAAK,EAAE,yBAAyB;QAChC,QAAQ,EAAE,kBAAkB,CAAC,WAAW,CAAC;QACzC,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -1,15 +0,0 @@
1
- export default UserSearchBar;
2
- declare function UserSearchBar({ placeholderKey, titleKey, defaultValue, onChange, showDetailsPopup, navigate, oneFilter, isFocus, style, styleTxt, showTitle, required, }: {
3
- placeholderKey?: string;
4
- titleKey?: string;
5
- defaultValue?: any;
6
- onChange?: () => void;
7
- showDetailsPopup?: boolean;
8
- navigate?: boolean;
9
- oneFilter?: boolean;
10
- isFocus?: boolean;
11
- style: any;
12
- styleTxt: any;
13
- showTitle?: boolean;
14
- required?: boolean;
15
- }): JSX.Element;
@@ -1,53 +0,0 @@
1
- /*
2
- * Axelor Business Solutions
3
- *
4
- * Copyright (C) 2023 Axelor (<http://axelor.com>).
5
- *
6
- * This program is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU Affero General Public License, version 3,
8
- * as published by the Free Software Foundation.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU Affero General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU Affero General Public License
16
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
- */
18
- import React, { useCallback, useMemo } from 'react';
19
- import { StyleSheet, View } from 'react-native';
20
- import { useDispatch, useSelector, useTranslator } from '@axelor/aos-mobile-core';
21
- import { AutoCompleteSearch, Text, useThemeColor } from '@axelor/aos-mobile-ui';
22
- import { searchUser } from '../../../features/userSlice';
23
- import { displayItemFullname } from '../../../utils/displayers';
24
- import { Platform } from 'react-native';
25
- const UserSearchBar = ({ placeholderKey = 'Helpdesk_User', titleKey = 'Helpdesk_User', defaultValue = null, onChange = () => { }, showDetailsPopup = true, navigate = false, oneFilter = false, isFocus = false, style, styleTxt, showTitle = true, required = false, }) => {
26
- const I18n = useTranslator();
27
- const Colors = useThemeColor();
28
- const dispatch = useDispatch();
29
- const { userList, loadingUser, moreLoading, isListEnd } = useSelector(state => state.userList);
30
- const styles = useMemo(() => getStyles(Colors), [Colors]);
31
- const searchUserTypeAPI = useCallback(({ page = 0, searchValue }) => {
32
- dispatch(searchUser({ page, searchValue }));
33
- }, [dispatch]);
34
- return (<View style={[Platform.OS === 'ios' ? styles.container : null, style]}>
35
- {showTitle && (<Text style={[styles.title, styleTxt]}>{I18n.t(titleKey)}</Text>)}
36
- <AutoCompleteSearch style={[
37
- defaultValue == null && required ? styles.requiredBorder : null,
38
- ]} objectList={userList} value={defaultValue} onChangeValue={onChange} fetchData={searchUserTypeAPI} displayValue={displayItemFullname} placeholder={I18n.t(placeholderKey)} showDetailsPopup={showDetailsPopup} loadingList={loadingUser} moreLoading={moreLoading} isListEnd={isListEnd} navigate={navigate} oneFilter={oneFilter} isFocus={isFocus}/>
39
- </View>);
40
- };
41
- const getStyles = Colors => StyleSheet.create({
42
- container: {
43
- zIndex: 41,
44
- },
45
- title: {
46
- marginHorizontal: 24,
47
- },
48
- requiredBorder: {
49
- borderColor: Colors.errorColor.background,
50
- },
51
- });
52
- export default UserSearchBar;
53
- //# sourceMappingURL=UserSearchBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserSearchBar.js","sourceRoot":"","sources":["../../../../src/components/templates/UserSearchBar/UserSearchBar.js"],"names":[],"mappings":"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"}