@axelor/aos-mobile-helpdesk 7.1.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 (142) hide show
  1. package/README.md +44 -0
  2. package/lib/api/customer-api.d.ts +11 -0
  3. package/lib/api/customer-api.js +57 -0
  4. package/lib/api/customer-api.js.map +1 -0
  5. package/lib/api/helpdesk-config-api.d.ts +1 -0
  6. package/lib/api/helpdesk-config-api.js +23 -0
  7. package/lib/api/helpdesk-config-api.js.map +1 -0
  8. package/lib/api/project-api.d.ts +4 -0
  9. package/lib/api/project-api.js +31 -0
  10. package/lib/api/project-api.js.map +1 -0
  11. package/lib/api/ticket-api.d.ts +26 -0
  12. package/lib/api/ticket-api.js +99 -0
  13. package/lib/api/ticket-api.js.map +1 -0
  14. package/lib/api/timer-api.d.ts +6 -0
  15. package/lib/api/timer-api.js +44 -0
  16. package/lib/api/timer-api.js.map +1 -0
  17. package/lib/api/user-api.d.ts +4 -0
  18. package/lib/api/user-api.js +31 -0
  19. package/lib/api/user-api.js.map +1 -0
  20. package/lib/components/index.d.ts +2 -0
  21. package/lib/components/index.js +20 -0
  22. package/lib/components/index.js.map +1 -0
  23. package/lib/components/molecules/DurationFormInput/DurationFormInput.d.ts +8 -0
  24. package/lib/components/molecules/DurationFormInput/DurationFormInput.js +73 -0
  25. package/lib/components/molecules/DurationFormInput/DurationFormInput.js.map +1 -0
  26. package/lib/components/molecules/DurationFormInput/duration.helpers.d.ts +9 -0
  27. package/lib/components/molecules/DurationFormInput/duration.helpers.js +44 -0
  28. package/lib/components/molecules/DurationFormInput/duration.helpers.js.map +1 -0
  29. package/lib/components/molecules/ProgressFormInput/ProgressFormInput.d.ts +9 -0
  30. package/lib/components/molecules/ProgressFormInput/ProgressFormInput.js +31 -0
  31. package/lib/components/molecules/ProgressFormInput/ProgressFormInput.js.map +1 -0
  32. package/lib/components/molecules/TicketCard/TicketCard.d.ts +17 -0
  33. package/lib/components/molecules/TicketCard/TicketCard.js +87 -0
  34. package/lib/components/molecules/TicketCard/TicketCard.js.map +1 -0
  35. package/lib/components/molecules/index.d.ts +3 -0
  36. package/lib/components/molecules/index.js +21 -0
  37. package/lib/components/molecules/index.js.map +1 -0
  38. package/lib/components/templates/ContactPartnerSearchBar/ContactPartnerSearchBar.d.ts +15 -0
  39. package/lib/components/templates/ContactPartnerSearchBar/ContactPartnerSearchBar.js +56 -0
  40. package/lib/components/templates/ContactPartnerSearchBar/ContactPartnerSearchBar.js.map +1 -0
  41. package/lib/components/templates/CustomerSearchBar/CustomerSearchBar.d.ts +15 -0
  42. package/lib/components/templates/CustomerSearchBar/CustomerSearchBar.js +52 -0
  43. package/lib/components/templates/CustomerSearchBar/CustomerSearchBar.js.map +1 -0
  44. package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.d.ts +15 -0
  45. package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.js +52 -0
  46. package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.js.map +1 -0
  47. package/lib/components/templates/TicketDropdownCards/DropdownGeneralView.d.ts +8 -0
  48. package/lib/components/templates/TicketDropdownCards/DropdownGeneralView.js +42 -0
  49. package/lib/components/templates/TicketDropdownCards/DropdownGeneralView.js.map +1 -0
  50. package/lib/components/templates/TicketDropdownCards/DropdownTimingView.d.ts +7 -0
  51. package/lib/components/templates/TicketDropdownCards/DropdownTimingView.js +46 -0
  52. package/lib/components/templates/TicketDropdownCards/DropdownTimingView.js.map +1 -0
  53. package/lib/components/templates/TicketDropdownCards/TicketDropdownCards.d.ts +2 -0
  54. package/lib/components/templates/TicketDropdownCards/TicketDropdownCards.js +51 -0
  55. package/lib/components/templates/TicketDropdownCards/TicketDropdownCards.js.map +1 -0
  56. package/lib/components/templates/TicketEditButton/TicketEditButton.d.ts +4 -0
  57. package/lib/components/templates/TicketEditButton/TicketEditButton.js +36 -0
  58. package/lib/components/templates/TicketEditButton/TicketEditButton.js.map +1 -0
  59. package/lib/components/templates/TicketHeader/TicketHeader.d.ts +2 -0
  60. package/lib/components/templates/TicketHeader/TicketHeader.js +75 -0
  61. package/lib/components/templates/TicketHeader/TicketHeader.js.map +1 -0
  62. package/lib/components/templates/TicketSearchBar/TicketSearchBar.d.ts +11 -0
  63. package/lib/components/templates/TicketSearchBar/TicketSearchBar.js +39 -0
  64. package/lib/components/templates/TicketSearchBar/TicketSearchBar.js.map +1 -0
  65. package/lib/components/templates/TicketTypeSearchBar/TicketTypeSearchBar.d.ts +15 -0
  66. package/lib/components/templates/TicketTypeSearchBar/TicketTypeSearchBar.js +52 -0
  67. package/lib/components/templates/TicketTypeSearchBar/TicketTypeSearchBar.js.map +1 -0
  68. package/lib/components/templates/TicketsStatusButton/TicketsStatusButton.d.ts +2 -0
  69. package/lib/components/templates/TicketsStatusButton/TicketsStatusButton.js +45 -0
  70. package/lib/components/templates/TicketsStatusButton/TicketsStatusButton.js.map +1 -0
  71. package/lib/components/templates/UserSearchBar/UserSearchBar.d.ts +15 -0
  72. package/lib/components/templates/UserSearchBar/UserSearchBar.js +53 -0
  73. package/lib/components/templates/UserSearchBar/UserSearchBar.js.map +1 -0
  74. package/lib/components/templates/index.d.ts +10 -0
  75. package/lib/components/templates/index.js +28 -0
  76. package/lib/components/templates/index.js.map +1 -0
  77. package/lib/features/customerSlice.d.ts +41 -0
  78. package/lib/features/customerSlice.js +85 -0
  79. package/lib/features/customerSlice.js.map +1 -0
  80. package/lib/features/helpdeskConfigSlice.d.ts +14 -0
  81. package/lib/features/helpdeskConfigSlice.js +49 -0
  82. package/lib/features/helpdeskConfigSlice.js.map +1 -0
  83. package/lib/features/index.d.ts +6 -0
  84. package/lib/features/index.js +24 -0
  85. package/lib/features/index.js.map +1 -0
  86. package/lib/features/projectSlice.d.ts +16 -0
  87. package/lib/features/projectSlice.js +49 -0
  88. package/lib/features/projectSlice.js.map +1 -0
  89. package/lib/features/ticketSlice.d.ts +81 -0
  90. package/lib/features/ticketSlice.js +175 -0
  91. package/lib/features/ticketSlice.js.map +1 -0
  92. package/lib/features/timerSlice.d.ts +26 -0
  93. package/lib/features/timerSlice.js +73 -0
  94. package/lib/features/timerSlice.js.map +1 -0
  95. package/lib/features/userSlice.d.ts +16 -0
  96. package/lib/features/userSlice.js +49 -0
  97. package/lib/features/userSlice.js.map +1 -0
  98. package/lib/hooks/use-helpdesk-header-actions.d.ts +1 -0
  99. package/lib/hooks/use-helpdesk-header-actions.js +35 -0
  100. package/lib/hooks/use-helpdesk-header-actions.js.map +1 -0
  101. package/lib/i18n/en.json +57 -0
  102. package/lib/i18n/fr.json +57 -0
  103. package/lib/index.d.ts +4 -0
  104. package/lib/index.js +67 -0
  105. package/lib/index.js.map +1 -0
  106. package/lib/models/index.d.ts +3 -0
  107. package/lib/models/index.js +21 -0
  108. package/lib/models/index.js.map +1 -0
  109. package/lib/models/objectFields.d.ts +2 -0
  110. package/lib/models/objectFields.js +72 -0
  111. package/lib/models/objectFields.js.map +1 -0
  112. package/lib/models/searchFields.d.ts +2 -0
  113. package/lib/models/searchFields.js +46 -0
  114. package/lib/models/searchFields.js.map +1 -0
  115. package/lib/models/sortFields.d.ts +2 -0
  116. package/lib/models/sortFields.js +26 -0
  117. package/lib/models/sortFields.js.map +1 -0
  118. package/lib/screens/MyTeamTicketListScreen.d.ts +4 -0
  119. package/lib/screens/MyTeamTicketListScreen.js +124 -0
  120. package/lib/screens/MyTeamTicketListScreen.js.map +1 -0
  121. package/lib/screens/MyTicketListScreen.d.ts +4 -0
  122. package/lib/screens/MyTicketListScreen.js +124 -0
  123. package/lib/screens/MyTicketListScreen.js.map +1 -0
  124. package/lib/screens/TicketDetailsScreen.d.ts +4 -0
  125. package/lib/screens/TicketDetailsScreen.js +95 -0
  126. package/lib/screens/TicketDetailsScreen.js.map +1 -0
  127. package/lib/screens/TicketFormScreen.d.ts +5 -0
  128. package/lib/screens/TicketFormScreen.js +127 -0
  129. package/lib/screens/TicketFormScreen.js.map +1 -0
  130. package/lib/screens/index.d.ts +40 -0
  131. package/lib/screens/index.js +50 -0
  132. package/lib/screens/index.js.map +1 -0
  133. package/lib/types/index.d.ts +1 -0
  134. package/lib/types/index.js +19 -0
  135. package/lib/types/index.js.map +1 -0
  136. package/lib/types/ticket.d.ts +53 -0
  137. package/lib/types/ticket.js +217 -0
  138. package/lib/types/ticket.js.map +1 -0
  139. package/lib/utils/displayers.d.ts +1 -0
  140. package/lib/utils/displayers.js +19 -0
  141. package/lib/utils/displayers.js.map +1 -0
  142. package/package.json +50 -0
@@ -0,0 +1,57 @@
1
+ {
2
+ "Helpdesk_Helpdesk": "Support client",
3
+ "Helpdesk_Ticket": "Ticket",
4
+ "Helpdesk_Progress": "Progression",
5
+ "Helpdesk_Duration": "Durée",
6
+ "Helpdesk_Deadline": "Date limite",
7
+ "Helpdesk_User_In_Charge": "Utilisateur en charge",
8
+ "Helpdesk_Assigned_To": "Assigné à",
9
+ "Helpdesk_Status_New": "Nouveau",
10
+ "Helpdesk_Status_In_Progress": "En cours",
11
+ "Helpdesk_Status_Resolved": "Résolu",
12
+ "Helpdesk_Status_Closed": "Fermé",
13
+ "Helpdesk_Priority": "Priorité",
14
+ "Helpdesk_Priority_Low": "Faible",
15
+ "Helpdesk_Priority_Normal": "Normal",
16
+ "Helpdesk_Priority_High": "Elevé",
17
+ "Helpdesk_Priority_Urgent": "Urgent",
18
+ "Helpdesk_myTickets": "Mes tickets",
19
+ "Helpdesk_Status": "Statut",
20
+ "Helpdesk_Type": "Type",
21
+ "Helpdesk_myTeamTickets": "Les tickets de mon équipe",
22
+ "helpdesk_createTicket": "Créer un ticket",
23
+ "Helpdesk_StartDate": "Date de début",
24
+ "Helpdesk_EndDate": "Date de fin",
25
+ "Helpdesk_Project": "Projet",
26
+ "Helpdesk_CustomPartner": "Client",
27
+ "Helpdesk_ContactPartner": "Contact client",
28
+ "Helpdesk_GeneralInformations": "Informations Générales",
29
+ "Helpdesk_Timing": "Dates",
30
+ "Helpdesk_Close": "Fermer",
31
+ "Helpdesk_Start": "Démarrer",
32
+ "Helpdesk_Pause": "Mettre en pause",
33
+ "Helpdesk_Resolve": "Résoudre",
34
+ "Helpdesk_Reset": "Réinitialiser",
35
+ "Hepdesk_Subject": "Sujet",
36
+ "Helpdesk_NoGeneralInformation": "Pas d'informations générales.",
37
+ "Helpdesk_NoTimingInformation": "Pas d'informations temporelles.",
38
+ "Helpdesk_AssignedToUser": "Assigné à",
39
+ "Helpdesk_ResponsibleUser": "Utilisateur en charge",
40
+ "Helpdesk_DeadlineDate": "Date limite",
41
+ "Helpdesk_SliceAction_FetchMyTicket": "récupération de mes tickets",
42
+ "Helpdesk_SliceAction_FetchTicketType": "récupération des types de tickets",
43
+ "Helpdesk_SliceAction_FetchMyTeamTicket": "récupération des tickets de mon équipe",
44
+ "Helpdesk_SliceAction_FetchTicketById": "récupération du ticket par id",
45
+ "Helpdesk_SliceAction_FetchTimerById": "récupération du timer par id",
46
+ "Helpdesk_SliceAction_FetchTimerHistory": "récupération de l'historique du timer",
47
+ "Helpdesk_SliceAction_UpdateTicketStatus": "mise à jour du statut du ticket",
48
+ "Helpdesk_SliceAction_FetchHelpdeskConfig": "récupération de la configuration support client",
49
+ "Helpdesk_SliceAction_SearchUser": "récupération des utilisateurs",
50
+ "Helpdesk_SliceAction_FetchCustomer": "récupération des clients",
51
+ "Helpdesk_SliceAction_FetchCustomerById": "récupération du client par id",
52
+ "Helpdesk_SliceAction_FetchProject": "récupération des projets",
53
+ "Helpdesk_SliceAction_SearchTicketType": "recherche sur les types de tickets",
54
+ "Helpdesk_SliceAction_UpdateTicket": "mise à jour du ticket",
55
+ "Helpdesk_SliceAction_CreateTicket": "creation du ticket",
56
+ "Helpdesk_SliceAction_FetchCustomerContact": "récupération des contacts clients"
57
+ }
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import { Module } from '@axelor/aos-mobile-core';
2
+ export declare const HelpDeskModule: Module;
3
+ export * from './types';
4
+ export * from './components';
package/lib/index.js ADDED
@@ -0,0 +1,67 @@
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 enTranslations from './i18n/en.json';
19
+ import frTranslations from './i18n/fr.json';
20
+ import MyTicketScreens from './screens/';
21
+ import { helpdesk_modelAPI, helpdesk_searchFields, helpdesk_sortFields, } from './models';
22
+ import * as helpdeskReducers from './features';
23
+ import { useHelpdeskHeaders } from './hooks/use-helpdesk-header-actions';
24
+ export const HelpDeskModule = {
25
+ name: 'app-helpdesk',
26
+ title: 'Helpdesk_Helpdesk',
27
+ subtitle: 'Helpdesk_Helpdesk',
28
+ icon: 'life-ring',
29
+ compatibilityAOS: {
30
+ moduleName: 'axelor-helpdesk',
31
+ downToVersion: '7.1.0',
32
+ },
33
+ translations: {
34
+ en: enTranslations,
35
+ fr: frTranslations,
36
+ },
37
+ menus: {
38
+ helpdesk_menu_myTickets: {
39
+ title: 'Helpdesk_myTickets',
40
+ icon: 'user-tag',
41
+ screen: 'MyTicketListScreen',
42
+ },
43
+ helpdesk_menu_myTeamTickets: {
44
+ title: 'Helpdesk_myTeamTickets',
45
+ icon: 'users',
46
+ screen: 'MyTeamTicketListScreen',
47
+ },
48
+ helpdesk_menu_createTicket: {
49
+ title: 'helpdesk_createTicket',
50
+ icon: 'plus',
51
+ screen: 'TicketFormScreen',
52
+ },
53
+ },
54
+ screens: {
55
+ ...MyTicketScreens,
56
+ },
57
+ reducers: { ...helpdeskReducers },
58
+ models: {
59
+ objectFields: { ...helpdesk_modelAPI },
60
+ sortFields: { ...helpdesk_sortFields },
61
+ searchFields: { ...helpdesk_searchFields },
62
+ headerRegisters: useHelpdeskHeaders,
63
+ },
64
+ };
65
+ export * from './types';
66
+ export * from './components';
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,eAAe,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,gBAAgB,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAC,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AAEvE,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,mBAAmB;IAC1B,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,WAAW;IACjB,gBAAgB,EAAE;QAChB,UAAU,EAAE,iBAAiB;QAC7B,aAAa,EAAE,OAAO;KACvB;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,EAAE,EAAE,cAAc;KACnB;IACD,KAAK,EAAE;QACL,uBAAuB,EAAE;YACvB,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,oBAAoB;SAC7B;QACD,2BAA2B,EAAE;YAC3B,KAAK,EAAE,wBAAwB;YAC/B,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,wBAAwB;SACjC;QACD,0BAA0B,EAAE;YAC1B,KAAK,EAAE,uBAAuB;YAC9B,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,kBAAkB;SAC3B;KACF;IACD,OAAO,EAAE;QACP,GAAG,eAAe;KACnB;IACD,QAAQ,EAAE,EAAC,GAAG,gBAAgB,EAAC;IAC/B,MAAM,EAAE;QACN,YAAY,EAAE,EAAC,GAAG,iBAAiB,EAAC;QACpC,UAAU,EAAE,EAAC,GAAG,mBAAmB,EAAC;QACpC,YAAY,EAAE,EAAC,GAAG,qBAAqB,EAAC;QACxC,eAAe,EAAE,kBAAkB;KACpC;CACF,CAAC;AAEF,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { helpdesk_searchFields } from './searchFields';
2
+ export { helpdesk_sortFields } from './sortFields';
3
+ export { helpdesk_modelAPI } from './objectFields';
@@ -0,0 +1,21 @@
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 { helpdesk_searchFields } from './searchFields';
19
+ export { helpdesk_sortFields } from './sortFields';
20
+ export { helpdesk_modelAPI } from './objectFields';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ import { ObjectFields } from '@axelor/aos-mobile-core';
2
+ export declare const helpdesk_modelAPI: ObjectFields;
@@ -0,0 +1,72 @@
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 { schemaContructor } from '@axelor/aos-mobile-core';
19
+ export const helpdesk_modelAPI = {
20
+ helpdesk_ticket: schemaContructor.object({
21
+ ticketSeq: schemaContructor.string(),
22
+ subject: schemaContructor.string(),
23
+ progressSelect: schemaContructor.number(),
24
+ duration: schemaContructor.number(),
25
+ deadlineDateT: schemaContructor.string(),
26
+ responsibleUser: schemaContructor.subObject(),
27
+ assignedToUser: schemaContructor.subObject(),
28
+ statusSelect: schemaContructor.number(),
29
+ ticketType: schemaContructor.subObject(),
30
+ prioritySelect: schemaContructor.number(),
31
+ description: schemaContructor.string(),
32
+ project: schemaContructor.subObject(),
33
+ customerPartner: schemaContructor.subObject(),
34
+ contactPartner: schemaContructor.subObject(),
35
+ startDateT: schemaContructor.string(),
36
+ endDateT: schemaContructor.string(),
37
+ timerList: schemaContructor.array().of(schemaContructor.subObject()),
38
+ }),
39
+ helpdesk_ticketType: schemaContructor.object({
40
+ name: schemaContructor.string(),
41
+ }),
42
+ helpdesk_timerHistory: schemaContructor.object({
43
+ startDateT: schemaContructor.string(),
44
+ endDateT: schemaContructor.string(),
45
+ }),
46
+ helpdesk_customer: schemaContructor.object({
47
+ simpleFullName: schemaContructor.string(),
48
+ name: schemaContructor.string(),
49
+ fullName: schemaContructor.string(),
50
+ contactPartnerSet: schemaContructor
51
+ .array()
52
+ .of(schemaContructor.subObject()),
53
+ }),
54
+ helpdesk_customerContact: schemaContructor.object({
55
+ simpleFullName: schemaContructor.string(),
56
+ name: schemaContructor.string(),
57
+ fullName: schemaContructor.string(),
58
+ contactPartnerSet: schemaContructor
59
+ .array()
60
+ .of(schemaContructor.subObject()),
61
+ }),
62
+ helpdesk_project: schemaContructor.object({
63
+ fullName: schemaContructor.string(),
64
+ name: schemaContructor.string(),
65
+ clientPartner: schemaContructor.subObject(),
66
+ contactPartner: schemaContructor.subObject(),
67
+ }),
68
+ helpdesk_user: schemaContructor.object({
69
+ fullName: schemaContructor.string(),
70
+ }),
71
+ };
72
+ //# sourceMappingURL=objectFields.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ import { SearchFields } from '@axelor/aos-mobile-core';
2
+ export declare const helpdesk_searchFields: SearchFields;
@@ -0,0 +1,46 @@
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 const helpdesk_searchFields = {
19
+ helpdesk_ticket: [
20
+ 'ticketSeq',
21
+ 'subject',
22
+ 'responsibleUser.fullName',
23
+ 'customerPartner.fullName',
24
+ 'project.fullName',
25
+ ],
26
+ helpdesk_ticketType: ['name'],
27
+ helpdesk_customer: [
28
+ 'simpleFullName',
29
+ 'partnerSeq',
30
+ 'mainAddress.fullName',
31
+ 'mobilePhone',
32
+ 'fixedPhone',
33
+ 'emailAddress.name',
34
+ ],
35
+ helpdesk_customerContact: [
36
+ 'simpleFullName',
37
+ 'partnerSeq',
38
+ 'mainAddress.fullName',
39
+ 'mobilePhone',
40
+ 'fixedPhone',
41
+ 'emailAddress.name',
42
+ ],
43
+ helpdesk_project: ['name', 'fullName'],
44
+ helpdesk_user: ['fullName'],
45
+ };
46
+ //# sourceMappingURL=searchFields.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ import { SortFields } from '@axelor/aos-mobile-core';
2
+ export declare const helpdesk_sortFields: SortFields;
@@ -0,0 +1,26 @@
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 const helpdesk_sortFields = {
19
+ helpdesk_ticket: ['ticketSeq', 'createdOn'],
20
+ helpdesk_customer: ['name', 'partnerSeq', 'createdOn'],
21
+ helpdesk_customerContact: ['name', 'partnerSeq', 'createdOn'],
22
+ helpdesk_project: ['name', 'fullName'],
23
+ helpdesk_ticketType: ['name'],
24
+ helpdesk_user: ['fullName'],
25
+ };
26
+ //# sourceMappingURL=sortFields.js.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ export default MyTeamTicketListScreen;
2
+ declare function MyTeamTicketListScreen({ navigation }: {
3
+ navigation: any;
4
+ }): JSX.Element;
@@ -0,0 +1,124 @@
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, useEffect, useMemo, useState } from 'react';
19
+ import { Dimensions, StyleSheet, View } from 'react-native';
20
+ import { Screen, HeaderContainer, ScrollList, MultiValuePicker, useThemeColor, ChipSelect, } from '@axelor/aos-mobile-ui';
21
+ import { useDispatch, useSelector, useTranslator, filterChip, } from '@axelor/aos-mobile-core';
22
+ import { fetchTickets, fetchTicketType } from '../features/ticketSlice';
23
+ import { TicketCard, TicketSearchBar } from '../components';
24
+ import { Ticket } from '../types';
25
+ const MyTeamTicketListScreen = ({ navigation }) => {
26
+ const I18n = useTranslator();
27
+ const dispatch = useDispatch();
28
+ const Colors = useThemeColor();
29
+ const { user } = useSelector(state => state.user);
30
+ const { ticketList, loadingTicket, moreLoading, isListEnd, ticketTypeList } = useSelector(state => state.ticket);
31
+ const [selectedType, setSelectedType] = useState([]);
32
+ const [selectedStatus, setSelectedStatus] = useState([]);
33
+ const [priorityStatus, setPriorityStatus] = useState([
34
+ {
35
+ color: Ticket.getPriorityColor(Ticket.priority.Low, Colors),
36
+ isActive: true,
37
+ key: 1,
38
+ title: I18n.t('Helpdesk_Priority_Low'),
39
+ },
40
+ {
41
+ color: Ticket.getPriorityColor(Ticket.priority.Low, Colors),
42
+ isActive: true,
43
+ key: 2,
44
+ title: I18n.t('Helpdesk_Priority_Normal'),
45
+ },
46
+ ]);
47
+ useEffect(() => {
48
+ dispatch(fetchTicketType());
49
+ }, [dispatch]);
50
+ const fetchTicketsAPI = useCallback((page = 0) => {
51
+ dispatch(fetchTickets({ userTeam: user.activeTeam, page: page }));
52
+ }, [dispatch, user]);
53
+ const ticketTypeListItems = useMemo(() => {
54
+ return ticketTypeList
55
+ ? ticketTypeList.map((type, index) => {
56
+ return {
57
+ title: type.name,
58
+ color: Ticket.getTypeColor(index, Colors),
59
+ key: type.id,
60
+ };
61
+ })
62
+ : [];
63
+ }, [ticketTypeList, Colors]);
64
+ const ticketStatusListItems = useMemo(() => {
65
+ return Ticket.getStatusList(Colors, I18n);
66
+ }, [Colors, I18n]);
67
+ const filterOnType = useCallback(list => {
68
+ if (list == null || list === []) {
69
+ return list;
70
+ }
71
+ else {
72
+ if (selectedType.length > 0) {
73
+ return list?.filter(item => selectedType.find(status => item?.ticketType?.id === status.key));
74
+ }
75
+ else {
76
+ return list;
77
+ }
78
+ }
79
+ }, [selectedType]);
80
+ const filterOnStatus = useCallback(list => {
81
+ if (list == null || list === []) {
82
+ return list;
83
+ }
84
+ else {
85
+ if (selectedStatus.length > 0) {
86
+ return list?.filter(item => selectedStatus.find(status => item?.statusSelect === status.key));
87
+ }
88
+ else {
89
+ return list;
90
+ }
91
+ }
92
+ }, [selectedStatus]);
93
+ const filterOnPriority = useCallback(list => {
94
+ return filterChip(list, priorityStatus, 'prioritySelect');
95
+ }, [priorityStatus]);
96
+ const filteredList = useMemo(() => filterOnStatus(filterOnType(filterOnPriority(ticketList))), [ticketList, filterOnType, filterOnStatus, filterOnPriority]);
97
+ return (<Screen removeSpaceOnTop={true}>
98
+ <HeaderContainer expandableFilter={true} fixedItems={<View style={styles.headerContainer}>
99
+ <TicketSearchBar showDetailsPopup={false} oneFilter={true} placeholderKey={I18n.t('Helpdesk_Ticket')} team={true}/>
100
+ </View>} chipComponent={<ChipSelect mode="multi" marginHorizontal={4} width={Dimensions.get('window').width * 0.3} onChangeValue={chiplist => setPriorityStatus(chiplist)} selectionItems={Ticket.getPriorityList(Colors, I18n)}/>}>
101
+ <View style={styles.headerContainer}>
102
+ <MultiValuePicker listItems={ticketStatusListItems} title={I18n.t('Helpdesk_Status')} onValueChange={statusList => setSelectedStatus(statusList)}/>
103
+ <MultiValuePicker listItems={ticketTypeListItems} title={I18n.t('Helpdesk_Type')} onValueChange={typeList => setSelectedType(typeList)}/>
104
+ </View>
105
+ </HeaderContainer>
106
+ <ScrollList loadingList={loadingTicket} data={filteredList} renderItem={({ item }) => (<TicketCard style={styles.item} ticketSeq={item.ticketSeq} subject={item.subject} progressSelect={item.progressSelect} ticketType={item.ticketType} statusSelect={item.statusSelect} deadlineDateT={item.deadlineDateT} responsibleUser={item?.responsibleUser?.fullName} prioritySelect={item.prioritySelect} duration={item.duration} allTicketType={ticketTypeList} assignedToUser={item?.assignedToUser?.fullName} onPress={() => navigation.navigate('TicketDetailsScreen', {
107
+ idTicket: item.id,
108
+ })}/>)} fetchData={fetchTicketsAPI} moreLoading={moreLoading} isListEnd={isListEnd} translator={I18n.t}/>
109
+ </Screen>);
110
+ };
111
+ const styles = StyleSheet.create({
112
+ item: {
113
+ marginHorizontal: 12,
114
+ marginVertical: 4,
115
+ },
116
+ headerContainer: {
117
+ alignItems: 'center',
118
+ zIndex: 30,
119
+ },
120
+ toggleSwitchContainer: { width: '90%', height: 40 },
121
+ toggle: { width: '54%', height: 38, borderRadius: 13 },
122
+ });
123
+ export default MyTeamTicketListScreen;
124
+ //# sourceMappingURL=MyTeamTicketListScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MyTeamTicketListScreen.js","sourceRoot":"","sources":["../../src/screens/MyTeamTicketListScreen.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export default MyTicketListScreen;
2
+ declare function MyTicketListScreen({ navigation }: {
3
+ navigation: any;
4
+ }): JSX.Element;
@@ -0,0 +1,124 @@
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, useEffect, useMemo, useState } from 'react';
19
+ import { Dimensions, StyleSheet, View } from 'react-native';
20
+ import { Screen, HeaderContainer, ScrollList, MultiValuePicker, useThemeColor, ChipSelect, } from '@axelor/aos-mobile-ui';
21
+ import { useDispatch, useSelector, useTranslator, filterChip, } from '@axelor/aos-mobile-core';
22
+ import { fetchTickets, fetchTicketType } from '../features/ticketSlice';
23
+ import { TicketCard, TicketSearchBar } from '../components';
24
+ import { Ticket } from '../types';
25
+ const MyTicketListScreen = ({ navigation }) => {
26
+ const I18n = useTranslator();
27
+ const dispatch = useDispatch();
28
+ const Colors = useThemeColor();
29
+ const { userId } = useSelector(state => state.auth);
30
+ const { ticketList, loadingTicket, moreLoading, isListEnd, ticketTypeList } = useSelector(state => state.ticket);
31
+ const [selectedType, setSelectedType] = useState([]);
32
+ const [selectedStatus, setSelectedStatus] = useState([]);
33
+ const [priorityStatus, setPriorityStatus] = useState([
34
+ {
35
+ color: Ticket.getPriorityColor(Ticket.priority.Low, Colors),
36
+ isActive: true,
37
+ key: 1,
38
+ title: I18n.t('Helpdesk_Priority_Low'),
39
+ },
40
+ {
41
+ color: Ticket.getPriorityColor(Ticket.priority.Low, Colors),
42
+ isActive: true,
43
+ key: 2,
44
+ title: I18n.t('Helpdesk_Priority_Normal'),
45
+ },
46
+ ]);
47
+ useEffect(() => {
48
+ dispatch(fetchTicketType());
49
+ }, [dispatch]);
50
+ const fetchTicketsAPI = useCallback((page = 0) => {
51
+ dispatch(fetchTickets({ userId: userId, page: page }));
52
+ }, [dispatch, userId]);
53
+ const ticketTypeListItems = useMemo(() => {
54
+ return ticketTypeList
55
+ ? ticketTypeList.map((type, index) => {
56
+ return {
57
+ title: type.name,
58
+ color: Ticket.getTypeColor(index, Colors),
59
+ key: type.id,
60
+ };
61
+ })
62
+ : [];
63
+ }, [ticketTypeList, Colors]);
64
+ const ticketStatusListItems = useMemo(() => {
65
+ return Ticket.getStatusList(Colors, I18n);
66
+ }, [Colors, I18n]);
67
+ const filterOnType = useCallback(list => {
68
+ if (list == null || list === []) {
69
+ return list;
70
+ }
71
+ else {
72
+ if (selectedType.length > 0) {
73
+ return list?.filter(item => selectedType.find(status => item?.ticketType?.id === status.key));
74
+ }
75
+ else {
76
+ return list;
77
+ }
78
+ }
79
+ }, [selectedType]);
80
+ const filterOnStatus = useCallback(list => {
81
+ if (list == null || list === []) {
82
+ return list;
83
+ }
84
+ else {
85
+ if (selectedStatus.length > 0) {
86
+ return list?.filter(item => selectedStatus.find(status => item?.statusSelect === status.key));
87
+ }
88
+ else {
89
+ return list;
90
+ }
91
+ }
92
+ }, [selectedStatus]);
93
+ const filterOnPriority = useCallback(list => {
94
+ return filterChip(list, priorityStatus, 'prioritySelect');
95
+ }, [priorityStatus]);
96
+ const filteredList = useMemo(() => filterOnStatus(filterOnType(filterOnPriority(ticketList))), [ticketList, filterOnType, filterOnStatus, filterOnPriority]);
97
+ return (<Screen removeSpaceOnTop={true}>
98
+ <HeaderContainer expandableFilter={true} fixedItems={<View style={styles.headerContainer}>
99
+ <TicketSearchBar showDetailsPopup={false} oneFilter={true} placeholderKey={I18n.t('Helpdesk_Ticket')}/>
100
+ </View>} chipComponent={<ChipSelect mode="multi" marginHorizontal={4} width={Dimensions.get('window').width * 0.3} onChangeValue={chiplist => setPriorityStatus(chiplist)} selectionItems={Ticket.getPriorityList(Colors, I18n)}/>}>
101
+ <View style={styles.headerContainer}>
102
+ <MultiValuePicker listItems={ticketStatusListItems} title={I18n.t('Helpdesk_Status')} onValueChange={statusList => setSelectedStatus(statusList)}/>
103
+ <MultiValuePicker listItems={ticketTypeListItems} title={I18n.t('Helpdesk_Type')} onValueChange={typeList => setSelectedType(typeList)}/>
104
+ </View>
105
+ </HeaderContainer>
106
+ <ScrollList loadingList={loadingTicket} data={filteredList} renderItem={({ item }) => (<TicketCard style={styles.item} ticketSeq={item.ticketSeq} subject={item.subject} progressSelect={item.progressSelect} ticketType={item.ticketType} statusSelect={item.statusSelect} deadlineDateT={item.deadlineDateT} responsibleUser={item?.responsibleUser?.fullName} prioritySelect={item.prioritySelect} duration={item.duration} allTicketType={ticketTypeList} onPress={() => navigation.navigate('TicketDetailsScreen', {
107
+ idTicket: item.id,
108
+ })}/>)} fetchData={fetchTicketsAPI} moreLoading={moreLoading} isListEnd={isListEnd} translator={I18n.t}/>
109
+ </Screen>);
110
+ };
111
+ const styles = StyleSheet.create({
112
+ item: {
113
+ marginHorizontal: 12,
114
+ marginVertical: 4,
115
+ },
116
+ headerContainer: {
117
+ alignItems: 'center',
118
+ zIndex: 30,
119
+ },
120
+ toggleSwitchContainer: { width: '90%', height: 40 },
121
+ toggle: { width: '54%', height: 38, borderRadius: 13 },
122
+ });
123
+ export default MyTicketListScreen;
124
+ //# sourceMappingURL=MyTicketListScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MyTicketListScreen.js","sourceRoot":"","sources":["../../src/screens/MyTicketListScreen.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export default TicketDetailsScreen;
2
+ declare function TicketDetailsScreen({ route }: {
3
+ route: any;
4
+ }): JSX.Element;