@axelor/aos-mobile-intervention 8.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 (271) hide show
  1. package/README.md +46 -0
  2. package/lib/api/client-and-prospect-api.d.ts +4 -0
  3. package/lib/api/client-and-prospect-api.js +57 -0
  4. package/lib/api/client-and-prospect-api.js.map +1 -0
  5. package/lib/api/contract-api.d.ts +5 -0
  6. package/lib/api/contract-api.js +45 -0
  7. package/lib/api/contract-api.js.map +1 -0
  8. package/lib/api/equipment-api.d.ts +43 -0
  9. package/lib/api/equipment-api.js +212 -0
  10. package/lib/api/equipment-api.js.map +1 -0
  11. package/lib/api/equipment-family-api.d.ts +4 -0
  12. package/lib/api/equipment-family-api.js +28 -0
  13. package/lib/api/equipment-family-api.js.map +1 -0
  14. package/lib/api/equipment-line-api.d.ts +4 -0
  15. package/lib/api/equipment-line-api.js +38 -0
  16. package/lib/api/equipment-line-api.js.map +1 -0
  17. package/lib/api/equipment-picture-api.d.ts +14 -0
  18. package/lib/api/equipment-picture-api.js +56 -0
  19. package/lib/api/equipment-picture-api.js.map +1 -0
  20. package/lib/api/index.d.ts +9 -0
  21. package/lib/api/index.js +27 -0
  22. package/lib/api/index.js.map +1 -0
  23. package/lib/api/intervention-api.d.ts +34 -0
  24. package/lib/api/intervention-api.js +149 -0
  25. package/lib/api/intervention-api.js.map +1 -0
  26. package/lib/api/intervention-note-api.d.ts +19 -0
  27. package/lib/api/intervention-note-api.js +79 -0
  28. package/lib/api/intervention-note-api.js.map +1 -0
  29. package/lib/api/question-api.d.ts +14 -0
  30. package/lib/api/question-api.js +78 -0
  31. package/lib/api/question-api.js.map +1 -0
  32. package/lib/components/atoms/EquipmentCard/EquipmentCard.d.ts +11 -0
  33. package/lib/components/atoms/EquipmentCard/EquipmentCard.js +65 -0
  34. package/lib/components/atoms/EquipmentCard/EquipmentCard.js.map +1 -0
  35. package/lib/components/atoms/EquipmentLineCard/EquipmentLineCard.d.ts +12 -0
  36. package/lib/components/atoms/EquipmentLineCard/EquipmentLineCard.js +42 -0
  37. package/lib/components/atoms/EquipmentLineCard/EquipmentLineCard.js.map +1 -0
  38. package/lib/components/atoms/InterventionCard/InterventionCard.d.ts +15 -0
  39. package/lib/components/atoms/InterventionCard/InterventionCard.js +97 -0
  40. package/lib/components/atoms/InterventionCard/InterventionCard.js.map +1 -0
  41. package/lib/components/atoms/NoteCard/NoteCard.d.ts +12 -0
  42. package/lib/components/atoms/NoteCard/NoteCard.js +65 -0
  43. package/lib/components/atoms/NoteCard/NoteCard.js.map +1 -0
  44. package/lib/components/atoms/PictureCard/PictureCard.d.ts +10 -0
  45. package/lib/components/atoms/PictureCard/PictureCard.js +71 -0
  46. package/lib/components/atoms/PictureCard/PictureCard.js.map +1 -0
  47. package/lib/components/atoms/QuestionCard/QuestionCard.d.ts +10 -0
  48. package/lib/components/atoms/QuestionCard/QuestionCard.js +67 -0
  49. package/lib/components/atoms/QuestionCard/QuestionCard.js.map +1 -0
  50. package/lib/components/atoms/index.d.ts +6 -0
  51. package/lib/components/atoms/index.js +24 -0
  52. package/lib/components/atoms/index.js.map +1 -0
  53. package/lib/components/index.d.ts +5 -0
  54. package/lib/components/index.js +23 -0
  55. package/lib/components/index.js.map +1 -0
  56. package/lib/components/molecules/DropdownGeneralView/DropdownGeneralView.d.ts +9 -0
  57. package/lib/components/molecules/DropdownGeneralView/DropdownGeneralView.js +32 -0
  58. package/lib/components/molecules/DropdownGeneralView/DropdownGeneralView.js.map +1 -0
  59. package/lib/components/molecules/EquipmentActionCard/EquipmentActionCard.d.ts +19 -0
  60. package/lib/components/molecules/EquipmentActionCard/EquipmentActionCard.js +77 -0
  61. package/lib/components/molecules/EquipmentActionCard/EquipmentActionCard.js.map +1 -0
  62. package/lib/components/molecules/EquipmentDetailsHeader/EquipmentDetailsHeader.d.ts +3 -0
  63. package/lib/components/molecules/EquipmentDetailsHeader/EquipmentDetailsHeader.js +48 -0
  64. package/lib/components/molecules/EquipmentDetailsHeader/EquipmentDetailsHeader.js.map +1 -0
  65. package/lib/components/molecules/GtCard/GtCard.d.ts +11 -0
  66. package/lib/components/molecules/GtCard/GtCard.js +76 -0
  67. package/lib/components/molecules/GtCard/GtCard.js.map +1 -0
  68. package/lib/components/molecules/InterventionDetailCard/InterventionDetailCard.d.ts +19 -0
  69. package/lib/components/molecules/InterventionDetailCard/InterventionDetailCard.js +52 -0
  70. package/lib/components/molecules/InterventionDetailCard/InterventionDetailCard.js.map +1 -0
  71. package/lib/components/molecules/InterventionHeader/InterventionHeader.d.ts +6 -0
  72. package/lib/components/molecules/InterventionHeader/InterventionHeader.js +52 -0
  73. package/lib/components/molecules/InterventionHeader/InterventionHeader.js.map +1 -0
  74. package/lib/components/molecules/NoteDetailCard/NoteDetailCard.d.ts +19 -0
  75. package/lib/components/molecules/NoteDetailCard/NoteDetailCard.js +68 -0
  76. package/lib/components/molecules/NoteDetailCard/NoteDetailCard.js.map +1 -0
  77. package/lib/components/molecules/PicturesRow/PicturesRow.d.ts +10 -0
  78. package/lib/components/molecules/PicturesRow/PicturesRow.js +36 -0
  79. package/lib/components/molecules/PicturesRow/PicturesRow.js.map +1 -0
  80. package/lib/components/molecules/QuestionAdvancedMonitoring/QuestionAdvancedMonitoring.d.ts +9 -0
  81. package/lib/components/molecules/QuestionAdvancedMonitoring/QuestionAdvancedMonitoring.js +31 -0
  82. package/lib/components/molecules/QuestionAdvancedMonitoring/QuestionAdvancedMonitoring.js.map +1 -0
  83. package/lib/components/molecules/QuestionCheckbox/QuestionCheckbox.d.ts +7 -0
  84. package/lib/components/molecules/QuestionCheckbox/QuestionCheckbox.js +36 -0
  85. package/lib/components/molecules/QuestionCheckbox/QuestionCheckbox.js.map +1 -0
  86. package/lib/components/molecules/QuestionList/QuestionList.d.ts +9 -0
  87. package/lib/components/molecules/QuestionList/QuestionList.js +29 -0
  88. package/lib/components/molecules/QuestionList/QuestionList.js.map +1 -0
  89. package/lib/components/molecules/QuestionMeasure/QuestionMeasure.d.ts +9 -0
  90. package/lib/components/molecules/QuestionMeasure/QuestionMeasure.js +39 -0
  91. package/lib/components/molecules/QuestionMeasure/QuestionMeasure.js.map +1 -0
  92. package/lib/components/molecules/index.d.ts +12 -0
  93. package/lib/components/molecules/index.js +30 -0
  94. package/lib/components/molecules/index.js.map +1 -0
  95. package/lib/components/organisms/ClientProspectSearchBar/ClientProspectSearchBar.d.ts +4 -0
  96. package/lib/components/organisms/ClientProspectSearchBar/ClientProspectSearchBar.js +32 -0
  97. package/lib/components/organisms/ClientProspectSearchBar/ClientProspectSearchBar.js.map +1 -0
  98. package/lib/components/organisms/ContractSearchBar/ContractSearchBar.d.ts +4 -0
  99. package/lib/components/organisms/ContractSearchBar/ContractSearchBar.js +35 -0
  100. package/lib/components/organisms/ContractSearchBar/ContractSearchBar.js.map +1 -0
  101. package/lib/components/organisms/DropdownCards/DropdownCards.d.ts +6 -0
  102. package/lib/components/organisms/DropdownCards/DropdownCards.js +45 -0
  103. package/lib/components/organisms/DropdownCards/DropdownCards.js.map +1 -0
  104. package/lib/components/organisms/EquipmentFamilySearchBar/EquipmentFamilySearchBar.d.ts +4 -0
  105. package/lib/components/organisms/EquipmentFamilySearchBar/EquipmentFamilySearchBar.js +35 -0
  106. package/lib/components/organisms/EquipmentFamilySearchBar/EquipmentFamilySearchBar.js.map +1 -0
  107. package/lib/components/organisms/EquipmentModeSwitch/EquipmentModeSwitch.d.ts +5 -0
  108. package/lib/components/organisms/EquipmentModeSwitch/EquipmentModeSwitch.js +50 -0
  109. package/lib/components/organisms/EquipmentModeSwitch/EquipmentModeSwitch.js.map +1 -0
  110. package/lib/components/organisms/InterventionNoteTypePicker/InterventionNoteTypePicker.d.ts +8 -0
  111. package/lib/components/organisms/InterventionNoteTypePicker/InterventionNoteTypePicker.js +32 -0
  112. package/lib/components/organisms/InterventionNoteTypePicker/InterventionNoteTypePicker.js.map +1 -0
  113. package/lib/components/organisms/PlaceEquipmentSearchBar/PlaceEquipmentSearchBar.d.ts +4 -0
  114. package/lib/components/organisms/PlaceEquipmentSearchBar/PlaceEquipmentSearchBar.js +36 -0
  115. package/lib/components/organisms/PlaceEquipmentSearchBar/PlaceEquipmentSearchBar.js.map +1 -0
  116. package/lib/components/organisms/TypePicker/TypePicker.d.ts +4 -0
  117. package/lib/components/organisms/TypePicker/TypePicker.js +29 -0
  118. package/lib/components/organisms/TypePicker/TypePicker.js.map +1 -0
  119. package/lib/components/organisms/index.d.ts +8 -0
  120. package/lib/components/organisms/index.js +26 -0
  121. package/lib/components/organisms/index.js.map +1 -0
  122. package/lib/components/pages/EquipmentView/EquipmentView.d.ts +3 -0
  123. package/lib/components/pages/EquipmentView/EquipmentView.js +161 -0
  124. package/lib/components/pages/EquipmentView/EquipmentView.js.map +1 -0
  125. package/lib/components/pages/GeneralInformationView/GeneralInformationView.d.ts +3 -0
  126. package/lib/components/pages/GeneralInformationView/GeneralInformationView.js +94 -0
  127. package/lib/components/pages/GeneralInformationView/GeneralInformationView.js.map +1 -0
  128. package/lib/components/pages/HistoryView/HistoryView.d.ts +3 -0
  129. package/lib/components/pages/HistoryView/HistoryView.js +33 -0
  130. package/lib/components/pages/HistoryView/HistoryView.js.map +1 -0
  131. package/lib/components/pages/NoteView/NoteView.d.ts +3 -0
  132. package/lib/components/pages/NoteView/NoteView.js +47 -0
  133. package/lib/components/pages/NoteView/NoteView.js.map +1 -0
  134. package/lib/components/pages/SurveyView/SurveyView.d.ts +7 -0
  135. package/lib/components/pages/SurveyView/SurveyView.js +60 -0
  136. package/lib/components/pages/SurveyView/SurveyView.js.map +1 -0
  137. package/lib/components/pages/index.d.ts +5 -0
  138. package/lib/components/pages/index.js +23 -0
  139. package/lib/components/pages/index.js.map +1 -0
  140. package/lib/components/templates/InterventionsListView/InterventionsListView.d.ts +7 -0
  141. package/lib/components/templates/InterventionsListView/InterventionsListView.js +73 -0
  142. package/lib/components/templates/InterventionsListView/InterventionsListView.js.map +1 -0
  143. package/lib/components/templates/LinkEquipmentPopup/LinkEquipmentPopup.d.ts +7 -0
  144. package/lib/components/templates/LinkEquipmentPopup/LinkEquipmentPopup.js +70 -0
  145. package/lib/components/templates/LinkEquipmentPopup/LinkEquipmentPopup.js.map +1 -0
  146. package/lib/components/templates/SurveyRangeNavigation/SurveyRangeNavigation.d.ts +7 -0
  147. package/lib/components/templates/SurveyRangeNavigation/SurveyRangeNavigation.js +76 -0
  148. package/lib/components/templates/SurveyRangeNavigation/SurveyRangeNavigation.js.map +1 -0
  149. package/lib/components/templates/index.d.ts +3 -0
  150. package/lib/components/templates/index.js +21 -0
  151. package/lib/components/templates/index.js.map +1 -0
  152. package/lib/features/asyncFunctions-index.d.ts +9 -0
  153. package/lib/features/asyncFunctions-index.js +27 -0
  154. package/lib/features/asyncFunctions-index.js.map +1 -0
  155. package/lib/features/clientAndProspectSlice.d.ts +7 -0
  156. package/lib/features/clientAndProspectSlice.js +49 -0
  157. package/lib/features/clientAndProspectSlice.js.map +1 -0
  158. package/lib/features/contractSlice.d.ts +7 -0
  159. package/lib/features/contractSlice.js +49 -0
  160. package/lib/features/contractSlice.js.map +1 -0
  161. package/lib/features/equipmentFamilySlice.d.ts +7 -0
  162. package/lib/features/equipmentFamilySlice.js +49 -0
  163. package/lib/features/equipmentFamilySlice.js.map +1 -0
  164. package/lib/features/equipmentLineSlice.d.ts +7 -0
  165. package/lib/features/equipmentLineSlice.js +49 -0
  166. package/lib/features/equipmentLineSlice.js.map +1 -0
  167. package/lib/features/equipmentPictureSlice.d.ts +37 -0
  168. package/lib/features/equipmentPictureSlice.js +67 -0
  169. package/lib/features/equipmentPictureSlice.js.map +1 -0
  170. package/lib/features/equipmentSlice.d.ts +34 -0
  171. package/lib/features/equipmentSlice.js +205 -0
  172. package/lib/features/equipmentSlice.js.map +1 -0
  173. package/lib/features/index.d.ts +9 -0
  174. package/lib/features/index.js +27 -0
  175. package/lib/features/index.js.map +1 -0
  176. package/lib/features/interventionNoteSlice.d.ts +16 -0
  177. package/lib/features/interventionNoteSlice.js +114 -0
  178. package/lib/features/interventionNoteSlice.js.map +1 -0
  179. package/lib/features/interventionSlice.d.ts +21 -0
  180. package/lib/features/interventionSlice.js +140 -0
  181. package/lib/features/interventionSlice.js.map +1 -0
  182. package/lib/features/questionSlice.d.ts +14 -0
  183. package/lib/features/questionSlice.js +104 -0
  184. package/lib/features/questionSlice.js.map +1 -0
  185. package/lib/hooks/use-intervention-header-actions.d.ts +1 -0
  186. package/lib/hooks/use-intervention-header-actions.js +141 -0
  187. package/lib/hooks/use-intervention-header-actions.js.map +1 -0
  188. package/lib/i18n/en.json +106 -0
  189. package/lib/i18n/fr.json +106 -0
  190. package/lib/index.d.ts +7 -0
  191. package/lib/index.js +94 -0
  192. package/lib/index.js.map +1 -0
  193. package/lib/models/forms.d.ts +2 -0
  194. package/lib/models/forms.js +333 -0
  195. package/lib/models/forms.js.map +1 -0
  196. package/lib/models/index.d.ts +5 -0
  197. package/lib/models/index.js +23 -0
  198. package/lib/models/index.js.map +1 -0
  199. package/lib/models/objectFields.d.ts +2 -0
  200. package/lib/models/objectFields.js +143 -0
  201. package/lib/models/objectFields.js.map +1 -0
  202. package/lib/models/searchFields.d.ts +2 -0
  203. package/lib/models/searchFields.js +33 -0
  204. package/lib/models/searchFields.js.map +1 -0
  205. package/lib/models/sortFields.d.ts +2 -0
  206. package/lib/models/sortFields.js +28 -0
  207. package/lib/models/sortFields.js.map +1 -0
  208. package/lib/models/typeObjects.d.ts +2 -0
  209. package/lib/models/typeObjects.js +205 -0
  210. package/lib/models/typeObjects.js.map +1 -0
  211. package/lib/screens/equipment/CustomerParkScreen.d.ts +3 -0
  212. package/lib/screens/equipment/CustomerParkScreen.js +56 -0
  213. package/lib/screens/equipment/CustomerParkScreen.js.map +1 -0
  214. package/lib/screens/equipment/EquipmentFormView.d.ts +6 -0
  215. package/lib/screens/equipment/EquipmentFormView.js +104 -0
  216. package/lib/screens/equipment/EquipmentFormView.js.map +1 -0
  217. package/lib/screens/equipment/EquipmentInterventionListScreen.d.ts +3 -0
  218. package/lib/screens/equipment/EquipmentInterventionListScreen.js +43 -0
  219. package/lib/screens/equipment/EquipmentInterventionListScreen.js.map +1 -0
  220. package/lib/screens/equipment/EquipmentLineListScreen.d.ts +3 -0
  221. package/lib/screens/equipment/EquipmentLineListScreen.js +37 -0
  222. package/lib/screens/equipment/EquipmentLineListScreen.js.map +1 -0
  223. package/lib/screens/equipment/EquipmentPictureScreen.d.ts +3 -0
  224. package/lib/screens/equipment/EquipmentPictureScreen.js +113 -0
  225. package/lib/screens/equipment/EquipmentPictureScreen.js.map +1 -0
  226. package/lib/screens/equipment/index.d.ts +45 -0
  227. package/lib/screens/equipment/index.js +61 -0
  228. package/lib/screens/equipment/index.js.map +1 -0
  229. package/lib/screens/intervention/ActiveInterventionScreen.d.ts +3 -0
  230. package/lib/screens/intervention/ActiveInterventionScreen.js +72 -0
  231. package/lib/screens/intervention/ActiveInterventionScreen.js.map +1 -0
  232. package/lib/screens/intervention/DayInterventionsScreen.d.ts +3 -0
  233. package/lib/screens/intervention/DayInterventionsScreen.js +33 -0
  234. package/lib/screens/intervention/DayInterventionsScreen.js.map +1 -0
  235. package/lib/screens/intervention/InterventionDetailsScreen.d.ts +7 -0
  236. package/lib/screens/intervention/InterventionDetailsScreen.js +83 -0
  237. package/lib/screens/intervention/InterventionDetailsScreen.js.map +1 -0
  238. package/lib/screens/intervention/InterventionNoteFormScreen.d.ts +6 -0
  239. package/lib/screens/intervention/InterventionNoteFormScreen.js +81 -0
  240. package/lib/screens/intervention/InterventionNoteFormScreen.js.map +1 -0
  241. package/lib/screens/intervention/InterventionQuestionFormScreen.d.ts +6 -0
  242. package/lib/screens/intervention/InterventionQuestionFormScreen.js +114 -0
  243. package/lib/screens/intervention/InterventionQuestionFormScreen.js.map +1 -0
  244. package/lib/screens/intervention/InterventionsHistoryScreen.d.ts +3 -0
  245. package/lib/screens/intervention/InterventionsHistoryScreen.js +29 -0
  246. package/lib/screens/intervention/InterventionsHistoryScreen.js.map +1 -0
  247. package/lib/screens/intervention/PlannedInterventionsScreen.d.ts +3 -0
  248. package/lib/screens/intervention/PlannedInterventionsScreen.js +29 -0
  249. package/lib/screens/intervention/PlannedInterventionsScreen.js.map +1 -0
  250. package/lib/screens/intervention/index.d.ts +79 -0
  251. package/lib/screens/intervention/index.js +89 -0
  252. package/lib/screens/intervention/index.js.map +1 -0
  253. package/lib/types/equipment.d.ts +7 -0
  254. package/lib/types/equipment.js +25 -0
  255. package/lib/types/equipment.js.map +1 -0
  256. package/lib/types/index.d.ts +3 -0
  257. package/lib/types/index.js +21 -0
  258. package/lib/types/index.js.map +1 -0
  259. package/lib/types/intervention.d.ts +4 -0
  260. package/lib/types/intervention.js +38 -0
  261. package/lib/types/intervention.js.map +1 -0
  262. package/lib/types/question.d.ts +4 -0
  263. package/lib/types/question.js +44 -0
  264. package/lib/types/question.js.map +1 -0
  265. package/lib/utils/form-types.d.ts +9 -0
  266. package/lib/utils/form-types.js +19 -0
  267. package/lib/utils/form-types.js.map +1 -0
  268. package/lib/utils/index.d.ts +1 -0
  269. package/lib/utils/index.js +19 -0
  270. package/lib/utils/index.js.map +1 -0
  271. package/package.json +47 -0
@@ -0,0 +1,205 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2024 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 intervention_typeObjects = [
19
+ {
20
+ modelName: 'com.axelor.apps.intervention.db.Equipment',
21
+ fields: {
22
+ serviceSelect: {
23
+ content: [
24
+ {
25
+ key: 'InService',
26
+ value: true,
27
+ title: 'Intervention_EquipmentStatus_InService',
28
+ color: 'successColor',
29
+ },
30
+ {
31
+ key: 'NotInService',
32
+ value: false,
33
+ title: 'Intervention_EquipmentStatus_NotInService',
34
+ color: 'cautionColor',
35
+ },
36
+ ],
37
+ },
38
+ typeSelect: {
39
+ content: [
40
+ {
41
+ key: 'Equipment',
42
+ value: 'equipment',
43
+ title: 'Intervention_EquipmentType_Equipment',
44
+ },
45
+ {
46
+ key: 'Place',
47
+ value: 'place',
48
+ title: 'Intervention_EquipmentType_Place',
49
+ },
50
+ ],
51
+ },
52
+ },
53
+ },
54
+ {
55
+ modelName: 'com.axelor.apps.intervention.db.Intervention',
56
+ fields: {
57
+ statusSelect: {
58
+ content: [
59
+ {
60
+ key: 'Planned',
61
+ value: 20,
62
+ title: 'Intervention_Status_Planned',
63
+ color: 'plannedColor',
64
+ },
65
+ {
66
+ key: 'Started',
67
+ value: 30,
68
+ title: 'Intervention_Status_Started',
69
+ color: 'progressColor',
70
+ },
71
+ {
72
+ key: 'Suspended',
73
+ value: 40,
74
+ title: 'Intervention_Status_Suspended',
75
+ color: 'cautionColor',
76
+ },
77
+ {
78
+ key: 'Finished',
79
+ value: 50,
80
+ title: 'Intervention_Status_Finished',
81
+ color: 'successColor',
82
+ },
83
+ ],
84
+ },
85
+ },
86
+ },
87
+ {
88
+ modelName: 'com.axelor.apps.intervention.db.InterventionQuestion',
89
+ fields: {
90
+ statusSelect: {
91
+ content: [
92
+ {
93
+ key: 'Answered',
94
+ value: 1,
95
+ title: null,
96
+ color: 'successColor',
97
+ },
98
+ {
99
+ key: 'Required',
100
+ value: 2,
101
+ title: 'Intervention_QuestionRequired',
102
+ color: 'importantColor',
103
+ },
104
+ {
105
+ key: 'Info',
106
+ value: 3,
107
+ title: null,
108
+ color: 'infoColor',
109
+ },
110
+ {
111
+ key: 'Conditional',
112
+ value: 4,
113
+ title: 'Intervention_QuestionConditional',
114
+ color: 'plannedColor',
115
+ },
116
+ {
117
+ key: 'Default',
118
+ value: 5,
119
+ title: null,
120
+ color: 'secondaryColor',
121
+ },
122
+ {
123
+ key: 'Hidden',
124
+ value: 6,
125
+ title: null,
126
+ },
127
+ ],
128
+ },
129
+ answerTypeSelect: {
130
+ content: [
131
+ {
132
+ key: 'AdvancedMonitoring',
133
+ value: 'advancedMonitoring',
134
+ title: null,
135
+ },
136
+ {
137
+ key: 'CheckBox',
138
+ value: 'checkbox',
139
+ title: null,
140
+ },
141
+ {
142
+ key: 'Date',
143
+ value: 'date',
144
+ title: null,
145
+ },
146
+ {
147
+ key: 'Indication',
148
+ value: 'indication',
149
+ title: null,
150
+ },
151
+ {
152
+ key: 'Measure',
153
+ value: 'measure',
154
+ title: null,
155
+ },
156
+ {
157
+ key: 'Picture',
158
+ value: 'picture',
159
+ title: null,
160
+ },
161
+ {
162
+ key: 'Signature',
163
+ value: 'signature',
164
+ title: null,
165
+ },
166
+ {
167
+ key: 'Text',
168
+ value: 'text',
169
+ title: null,
170
+ },
171
+ {
172
+ key: 'ValueList',
173
+ value: 'list',
174
+ title: null,
175
+ },
176
+ ],
177
+ },
178
+ advancedMonitoringAnswer: {
179
+ content: [
180
+ {
181
+ key: 'Home',
182
+ value: 'home',
183
+ title: 'Intervention_AdvancedMonitoringAnswerHome',
184
+ },
185
+ {
186
+ key: 'Office',
187
+ value: 'office',
188
+ title: 'Intervention_AdvancedMonitoringAnswerOffice',
189
+ },
190
+ {
191
+ key: 'PreviousIntervention',
192
+ value: 'previous',
193
+ title: 'Intervention_AdvancedMonitoringAnswerPreviousIntervention',
194
+ },
195
+ {
196
+ key: 'NextIntervention',
197
+ value: 'next',
198
+ title: 'Intervention_AdvancedMonitoringAnswerNextIntervention',
199
+ },
200
+ ],
201
+ },
202
+ },
203
+ },
204
+ ];
205
+ //# sourceMappingURL=typeObjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeObjects.js","sourceRoot":"","sources":["../../src/models/typeObjects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const CustomerParkScreen: ({}: {}) => React.JSX.Element;
3
+ export default CustomerParkScreen;
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2024 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, { useMemo, useState } from 'react';
19
+ import { ChipSelect, Screen, Text } from '@axelor/aos-mobile-ui';
20
+ import { displayItemName, SearchTreeView, usePermitted, useSelector, useTranslator, useTypes, useTypeHelpers, } from '@axelor/aos-mobile-core';
21
+ import { searchEquipment, searchPlaceEquipment, } from '../../features/equipmentSlice';
22
+ import { searchEquipmentApi } from '../../api';
23
+ import { ClientProspectSearchBar, EquipmentActionCard } from '../../components';
24
+ const CustomerParkScreen = ({}) => {
25
+ const I18n = useTranslator();
26
+ const { canDelete, readonly, canCreate } = usePermitted({
27
+ modelName: 'com.axelor.apps.intervention.db.Equipment',
28
+ });
29
+ const { Equipment } = useTypes();
30
+ const { getSelectionItems } = useTypeHelpers();
31
+ const [selectedStatus, setSelectedStatus] = useState([]);
32
+ const [customer, setCustomer] = useState(null);
33
+ const { loadingList, moreLoading, isListEnd, equipmentList, equipmentPlaceList, } = useSelector((state) => state.intervention_equipment);
34
+ const serviceStatusList = useMemo(() => getSelectionItems(Equipment?.serviceSelect, selectedStatus), [Equipment?.serviceSelect, getSelectionItems, selectedStatus]);
35
+ const sliceParentFunctionData = useMemo(() => ({
36
+ partnerId: customer?.id,
37
+ }), [customer?.id]);
38
+ const sliceFunctionData = useMemo(() => ({
39
+ inService: selectedStatus[0]?.value,
40
+ partnerId: customer?.id,
41
+ }), [customer?.id, selectedStatus]);
42
+ return (<Screen removeSpaceOnTop={true}>
43
+ <SearchTreeView parentList={equipmentPlaceList} list={equipmentList} loading={loadingList} moreLoading={moreLoading} isListEnd={isListEnd} sliceParentFunction={searchPlaceEquipment} sliceParentFunctionData={sliceParentFunctionData} sliceFunction={searchEquipment} sliceFunctionData={sliceFunctionData} sliceFunctionDataParentIdName="parentPlaceId" sliceFunctionDataNoParentName="noParent" fetchBranchData={branchId => searchEquipmentApi({
44
+ inService: selectedStatus[0]?.key,
45
+ partnerId: customer?.id,
46
+ parentPlaceId: branchId,
47
+ })} branchCondition={item => item.typeSelect === Equipment?.typeSelect.Place} displayParentSearchValue={displayItemName} searchParentPlaceholder={I18n.t('Intervention_ParentPlace')} searchPlaceholder={I18n.t('Base_Search')} parentFieldName="parentEquipment" renderBranch={({ item }) => (<>
48
+ <Text writingType="important">{item.name}</Text>
49
+ <Text>{item.sequence}</Text>
50
+ </>)} renderLeaf={({ item }) => (<EquipmentActionCard idEquipment={item.id} equipmentVersion={item.version} sequence={item.sequence} name={item.name} code={item.code} equipmentFamily={item.equipmentFamily?.name} inService={item.inService} handleArchive={() => {
51
+ setCustomer(_current => ({ ..._current }));
52
+ }} canArchive={canDelete} canCopy={canCreate} canEdit={!readonly}/>)} headerTopChildren={<ClientProspectSearchBar required={true} defaultValue={customer} onChange={setCustomer}/>} chipComponent={<ChipSelect mode="switch" onChangeValue={setSelectedStatus} selectionItems={serviceStatusList}/>}/>
53
+ </Screen>);
54
+ };
55
+ export default CustomerParkScreen;
56
+ //# sourceMappingURL=CustomerParkScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomerParkScreen.js","sourceRoot":"","sources":["../../../src/screens/equipment/CustomerParkScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ declare const EquipmentFormView: ({ navigation, route }: {
3
+ navigation: any;
4
+ route: any;
5
+ }) => React.JSX.Element;
6
+ export default EquipmentFormView;
@@ -0,0 +1,104 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2024 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 } from 'react';
19
+ import { FormView, useDispatch, useSelector, useTypes, } from '@axelor/aos-mobile-core';
20
+ import { useThemeColor } from '@axelor/aos-mobile-ui';
21
+ import { clearEquipment, deleteEquipment, getEquipmentById, saveEquipment, } from '../../features/equipmentSlice';
22
+ const EquipmentFormView = ({ navigation, route }) => {
23
+ const idEquipment = route.params.idEquipment;
24
+ const isCreation = route.params.isCreation;
25
+ const Colors = useThemeColor();
26
+ const _dispatch = useDispatch();
27
+ const { Equipment } = useTypes();
28
+ const { equipment } = useSelector((state) => state.intervention_equipment);
29
+ const { intervention } = useSelector((state) => state.intervention_intervention);
30
+ useEffect(() => {
31
+ if (idEquipment != null) {
32
+ _dispatch(getEquipmentById({ equipmentId: idEquipment }));
33
+ }
34
+ else {
35
+ _dispatch(clearEquipment());
36
+ }
37
+ }, [_dispatch, idEquipment]);
38
+ const saveEquipmentAPI = useCallback((_equipment, dispatch) => {
39
+ dispatch(saveEquipment({
40
+ equipment: _equipment,
41
+ partnerId: _equipment?.partner?.id,
42
+ isCreation: isCreation,
43
+ interventionId: route.params.interventionId,
44
+ interventionVersion: route.params.interventionVersion,
45
+ })).then(() => navigation.pop());
46
+ }, [
47
+ isCreation,
48
+ navigation,
49
+ route.params.interventionId,
50
+ route.params.interventionVersion,
51
+ ]);
52
+ const deleteEquipmentAPI = useCallback((_equipment, dispatch) => {
53
+ dispatch(deleteEquipment({
54
+ equipmentId: _equipment?.id,
55
+ })).then(() => navigation.pop());
56
+ }, [navigation]);
57
+ const _defaultValue = useMemo(() => (idEquipment != null ? equipment : null), [equipment, idEquipment]);
58
+ const _creationDefaultValue = useMemo(() => ({
59
+ partner: intervention.deliveredPartner,
60
+ inService: true,
61
+ typeSelect: Equipment?.typeSelect.Equipment,
62
+ commissioningDate: new Date().toISOString().split('T')[0],
63
+ }), [Equipment?.typeSelect, intervention.deliveredPartner]);
64
+ return (<FormView formKey="intervention_equipment" defaultValue={_defaultValue} creationDefaultValue={_creationDefaultValue} defaultEditMode actions={[
65
+ {
66
+ key: 'create-equipment',
67
+ type: 'create',
68
+ needRequiredFields: true,
69
+ needValidation: true,
70
+ customAction: ({ dispatch, objectState }) => {
71
+ saveEquipmentAPI(objectState, dispatch);
72
+ },
73
+ hideIf: () => !isCreation,
74
+ },
75
+ {
76
+ key: 'update-equipment',
77
+ type: 'update',
78
+ needRequiredFields: true,
79
+ needValidation: true,
80
+ customAction: ({ dispatch, objectState }) => {
81
+ saveEquipmentAPI(objectState, dispatch);
82
+ },
83
+ hideIf: () => isCreation,
84
+ },
85
+ {
86
+ color: Colors.cautionColor,
87
+ key: 'reset-equipment',
88
+ type: 'reset',
89
+ hideIf: () => isCreation,
90
+ },
91
+ {
92
+ color: Colors.cautionColor,
93
+ key: 'delete-equipment',
94
+ type: 'custom',
95
+ titleKey: 'Base_Cancel',
96
+ customAction: ({ dispatch, objectState }) => {
97
+ deleteEquipmentAPI(objectState, dispatch);
98
+ },
99
+ hideIf: () => !(isCreation && idEquipment != null),
100
+ },
101
+ ]}/>);
102
+ };
103
+ export default EquipmentFormView;
104
+ //# sourceMappingURL=EquipmentFormView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EquipmentFormView.js","sourceRoot":"","sources":["../../../src/screens/equipment/EquipmentFormView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const EquipmentInterventionListScreen: ({}: {}) => React.JSX.Element;
3
+ export default EquipmentInterventionListScreen;
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2024 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 } from 'react';
19
+ import { HeaderContainer, Screen, ScrollList } from '@axelor/aos-mobile-ui';
20
+ import { clipboardProvider, useDispatch, useSelector, useTranslator, useTypes, useTypeHelpers, } from '@axelor/aos-mobile-core';
21
+ import { EquipmentDetailsHeader, InterventionDetailCard } from '../../components';
22
+ import { searchHistoryInterventionByEquipment } from '../../features/interventionSlice';
23
+ const EquipmentInterventionListScreen = ({}) => {
24
+ const dispatch = useDispatch();
25
+ const I18n = useTranslator();
26
+ const { Intervention } = useTypes();
27
+ const { getSelectionItems } = useTypeHelpers();
28
+ const { equipment } = useSelector((state) => state.intervention_equipment);
29
+ const { loadingHistoryList, moreLoadingHistory, isListEndHistory, interventionHistoryList, } = useSelector((state) => state.intervention_intervention);
30
+ const fetchEquipmentHistoryAPI = useCallback((page = 0) => {
31
+ dispatch(searchHistoryInterventionByEquipment({
32
+ equipmentId: equipment?.id,
33
+ statusList: getSelectionItems(Intervention?.statusSelect)?.map(status => status.value),
34
+ page,
35
+ }));
36
+ }, [Intervention?.statusSelect, dispatch, equipment?.id, getSelectionItems]);
37
+ return (<Screen removeSpaceOnTop={true}>
38
+ <HeaderContainer expandableFilter={false} fixedItems={<EquipmentDetailsHeader />}/>
39
+ <ScrollList loadingList={loadingHistoryList} data={interventionHistoryList} renderItem={({ item }) => (<InterventionDetailCard intervention={item} isCopyCard={true} onPress={() => clipboardProvider.copyToClipboard(item.sequence)}/>)} fetchData={fetchEquipmentHistoryAPI} moreLoading={moreLoadingHistory} isListEnd={isListEndHistory} translator={I18n.t}/>
40
+ </Screen>);
41
+ };
42
+ export default EquipmentInterventionListScreen;
43
+ //# sourceMappingURL=EquipmentInterventionListScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EquipmentInterventionListScreen.js","sourceRoot":"","sources":["../../../src/screens/equipment/EquipmentInterventionListScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,EAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAC,oCAAoC,EAAC,MAAM,kCAAkC,CAAC;AAEtF,MAAM,+BAA+B,GAAG,CAAC,EAAE,EAAE,EAAE;IAC7C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,EAAC,YAAY,EAAC,GAAG,QAAQ,EAAE,CAAC;IAClC,MAAM,EAAC,iBAAiB,EAAC,GAAG,cAAc,EAAE,CAAC;IAE7C,MAAM,EAAC,SAAS,EAAC,GAAG,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9E,MAAM,EACJ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,GAAG,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEjE,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE;QACX,QAAQ,CACL,oCAA4C,CAAC;YAC5C,WAAW,EAAE,SAAS,EAAE,EAAE;YAC1B,UAAU,EAAE,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,GAAG,CAC5D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CACvB;YACD,IAAI;SACL,CAAC,CACH,CAAC;IACJ,CAAC,EACD,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,CAAC,CACzE,CAAC;IAEF,OAAO,CACL,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAC7B;MAAA,CAAC,eAAe,CACd,gBAAgB,CAAC,CAAC,KAAK,CAAC,CACxB,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,AAAD,EAAG,CAAC,EAEzC;MAAA,CAAC,UAAU,CACT,WAAW,CAAC,CAAC,kBAAkB,CAAC,CAChC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAC9B,UAAU,CAAC,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CACtB,CAAC,sBAAsB,CACrB,YAAY,CAAC,CAAC,IAAI,CAAC,CACnB,UAAU,CAAC,CAAC,IAAI,CAAC,CACjB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAChE,CACH,CAAC,CACF,SAAS,CAAC,CAAC,wBAAwB,CAAC,CACpC,WAAW,CAAC,CAAC,kBAAkB,CAAC,CAChC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAC5B,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAEvB;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const EquipmentLineListScreen: ({}: {}) => React.JSX.Element;
3
+ export default EquipmentLineListScreen;
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2024 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 } from 'react';
19
+ import { HeaderContainer, Screen, ScrollList } from '@axelor/aos-mobile-ui';
20
+ import { useSelector, useDispatch, useTranslator } from '@axelor/aos-mobile-core';
21
+ import { searchEquipmentLine } from '../../features/equipmentLineSlice';
22
+ import { EquipmentLineCard, EquipmentDetailsHeader } from '../../components';
23
+ const EquipmentLineListScreen = ({}) => {
24
+ const dispatch = useDispatch();
25
+ const I18n = useTranslator();
26
+ const { equipment } = useSelector((state) => state.intervention_equipment);
27
+ const { loadingList, moreLoading, isListEnd, equipmentLineList } = useSelector((state) => state.intervention_equipmentLine);
28
+ const fetchEquipmentLineAPI = useCallback((page = 0) => {
29
+ dispatch(searchEquipmentLine({ equipmentId: equipment?.id, page }));
30
+ }, [dispatch, equipment.id]);
31
+ return (<Screen removeSpaceOnTop={true}>
32
+ <HeaderContainer expandableFilter={false} fixedItems={<EquipmentDetailsHeader />}/>
33
+ <ScrollList loadingList={loadingList} data={equipmentLineList} renderItem={({ item }) => (<EquipmentLineCard productName={item.product?.name} productCode={item.product?.code} trackingNumber={item.trackingNumber?.trackingNumberSeq} comments={item.comments} quantity={item.quantity} unit={item.product?.unit?.name}/>)} fetchData={fetchEquipmentLineAPI} moreLoading={moreLoading} isListEnd={isListEnd} translator={I18n.t}/>
34
+ </Screen>);
35
+ };
36
+ export default EquipmentLineListScreen;
37
+ //# sourceMappingURL=EquipmentLineListScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EquipmentLineListScreen.js","sourceRoot":"","sources":["../../../src/screens/equipment/EquipmentLineListScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,EAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAC,mBAAmB,EAAC,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AAE3E,MAAM,uBAAuB,GAAG,CAAC,EAAE,EAAE,EAAE;IACrC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,EAAC,SAAS,EAAC,GAAG,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9E,MAAM,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAC,GAAG,WAAW,CAC1E,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,0BAA0B,CACjD,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE;QACX,QAAQ,CACL,mBAA2B,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAC,CAAC,CACjE,CAAC;IACJ,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CACzB,CAAC;IAEF,OAAO,CACL,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAC7B;MAAA,CAAC,eAAe,CACd,gBAAgB,CAAC,CAAC,KAAK,CAAC,CACxB,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,AAAD,EAAG,CAAC,EAEzC;MAAA,CAAC,UAAU,CACT,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,IAAI,CAAC,CAAC,iBAAiB,CAAC,CACxB,UAAU,CAAC,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CACtB,CAAC,iBAAiB,CAChB,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAChC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAChC,cAAc,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CACvD,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAC/B,CACH,CAAC,CACF,SAAS,CAAC,CAAC,qBAAqB,CAAC,CACjC,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAEvB;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const EquipmentPictureScreen: ({}: {}) => React.JSX.Element;
3
+ export default EquipmentPictureScreen;
@@ -0,0 +1,113 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2024 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 { HeaderContainer, Screen, ScrollList } from '@axelor/aos-mobile-ui';
20
+ import { useSelector, useDispatch, useTranslator, enableCamera, handleDocumentSelection, uploadBase64, showToastMessage, useCameraValueByKey, usePermitted, } from '@axelor/aos-mobile-core';
21
+ import { createEquipmentPicture, deleteEquipmentPicture, searchEquipmentPicture, } from '../../features/equipmentPictureSlice';
22
+ import { EquipmentDetailsHeader, PicturesRow } from '../../components';
23
+ const cameraKey = 'equipment_createPicture';
24
+ const EquipmentPictureScreen = ({}) => {
25
+ const photo = useCameraValueByKey(cameraKey);
26
+ const dispatch = useDispatch();
27
+ const I18n = useTranslator();
28
+ const { readonly } = usePermitted({
29
+ modelName: 'com.axelor.apps.intervention.db.Equipment',
30
+ });
31
+ const { canCreate, canDelete } = usePermitted({
32
+ modelName: 'com.axelor.apps.intervention.db.Picture',
33
+ });
34
+ const { baseUrl, token, jsessionId } = useSelector((state) => state.auth);
35
+ const { equipment } = useSelector((state) => state.intervention_equipment);
36
+ const { equipmentPictureList, loadingList, moreLoading, isListEnd } = useSelector((state) => state.intervention_equipmentPicture);
37
+ const [selectedImageId, setSelectedImageId] = useState(null);
38
+ const fetchEquipmentPictureAPI = useCallback((page = 0) => {
39
+ dispatch(searchEquipmentPicture({ equipmentId: equipment?.id, page }));
40
+ }, [dispatch, equipment.id]);
41
+ const pairedEquipmentPictureList = useMemo(() => {
42
+ const pairedData = [];
43
+ if (Array.isArray(equipmentPictureList)) {
44
+ for (let i = 0; i < equipmentPictureList.length; i += 2) {
45
+ pairedData.push({
46
+ item1: equipmentPictureList?.[i],
47
+ item2: equipmentPictureList?.[i + 1],
48
+ });
49
+ }
50
+ }
51
+ return pairedData;
52
+ }, [equipmentPictureList]);
53
+ const handleDeletePicture = useCallback((pictureId) => {
54
+ dispatch(deleteEquipmentPicture({
55
+ equipmentId: equipment.id,
56
+ version: equipment.version,
57
+ pictureId,
58
+ }));
59
+ }, [dispatch, equipment]);
60
+ const handleUpload = useCallback(async (file) => {
61
+ try {
62
+ const metaFile = await uploadBase64(file, {
63
+ baseUrl,
64
+ token,
65
+ jsessionId,
66
+ });
67
+ dispatch(createEquipmentPicture({
68
+ equipmentId: equipment.id,
69
+ version: equipment.version,
70
+ metaFileId: metaFile.id,
71
+ }));
72
+ }
73
+ catch (error) {
74
+ showToastMessage({
75
+ type: 'error',
76
+ position: 'bottom',
77
+ text1: 'Error',
78
+ text2: `Could not upload the file.\n${error}`,
79
+ onPress: () => { },
80
+ });
81
+ }
82
+ }, [baseUrl, dispatch, equipment, jsessionId, token]);
83
+ useEffect(() => {
84
+ if (photo) {
85
+ handleUpload(photo);
86
+ }
87
+ }, [handleUpload, photo]);
88
+ return (<Screen removeSpaceOnTop={true}>
89
+ <HeaderContainer expandableFilter={false} fixedItems={<EquipmentDetailsHeader />}/>
90
+ <ScrollList actionList={readonly || !canCreate
91
+ ? []
92
+ : [
93
+ {
94
+ iconName: 'plus-lg',
95
+ title: I18n.t('Intervention_ChoosePhoto'),
96
+ onPress: () => {
97
+ handleDocumentSelection(handleUpload);
98
+ },
99
+ },
100
+ {
101
+ iconName: 'camera-fill',
102
+ title: I18n.t('Intervention_TakePicture'),
103
+ onPress: () => {
104
+ dispatch(enableCamera(cameraKey));
105
+ },
106
+ },
107
+ ]} loadingList={loadingList} data={pairedEquipmentPictureList} renderItem={({ item }) => (<PicturesRow item={item} handleDelete={handleDeletePicture} selectedImageId={selectedImageId} onSelectImage={itemId => canDelete
108
+ ? setSelectedImageId(itemId !== selectedImageId ? itemId : null)
109
+ : null}/>)} fetchData={fetchEquipmentPictureAPI} moreLoading={moreLoading} isListEnd={isListEnd} translator={I18n.t}/>
110
+ </Screen>);
111
+ };
112
+ export default EquipmentPictureScreen;
113
+ //# sourceMappingURL=EquipmentPictureScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EquipmentPictureScreen.js","sourceRoot":"","sources":["../../../src/screens/equipment/EquipmentPictureScreen.tsx"],"names":[],"mappings":"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"}