@gisce/react-ooui 0.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 (698) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -0
  3. package/dist/Config.d.ts +6 -0
  4. package/dist/Config.d.ts.map +1 -0
  5. package/dist/Config.js +7 -0
  6. package/dist/Config.js.map +1 -0
  7. package/dist/ConnectionProvider.d.ts +7 -0
  8. package/dist/ConnectionProvider.d.ts.map +1 -0
  9. package/dist/ConnectionProvider.js +18 -0
  10. package/dist/ConnectionProvider.js.map +1 -0
  11. package/dist/actionbar/ActionButton.d.ts +13 -0
  12. package/dist/actionbar/ActionButton.d.ts.map +1 -0
  13. package/dist/actionbar/ActionButton.js +17 -0
  14. package/dist/actionbar/ActionButton.js.map +1 -0
  15. package/dist/actionbar/AttachmentsButton.d.ts +11 -0
  16. package/dist/actionbar/AttachmentsButton.d.ts.map +1 -0
  17. package/dist/actionbar/AttachmentsButton.js +170 -0
  18. package/dist/actionbar/AttachmentsButton.js.map +1 -0
  19. package/dist/actionbar/AttachmentsButtonWrapper.d.ts +18 -0
  20. package/dist/actionbar/AttachmentsButtonWrapper.d.ts.map +1 -0
  21. package/dist/actionbar/AttachmentsButtonWrapper.js +72 -0
  22. package/dist/actionbar/AttachmentsButtonWrapper.js.map +1 -0
  23. package/dist/actionbar/ButtonWithBadge.d.ts +8 -0
  24. package/dist/actionbar/ButtonWithBadge.d.ts.map +1 -0
  25. package/dist/actionbar/ButtonWithBadge.js +47 -0
  26. package/dist/actionbar/ButtonWithBadge.js.map +1 -0
  27. package/dist/actionbar/ChangeViewButton.d.ts +12 -0
  28. package/dist/actionbar/ChangeViewButton.d.ts.map +1 -0
  29. package/dist/actionbar/ChangeViewButton.js +97 -0
  30. package/dist/actionbar/ChangeViewButton.js.map +1 -0
  31. package/dist/actionbar/DashboardActionBar.d.ts +4 -0
  32. package/dist/actionbar/DashboardActionBar.d.ts.map +1 -0
  33. package/dist/actionbar/DashboardActionBar.js +50 -0
  34. package/dist/actionbar/DashboardActionBar.js.map +1 -0
  35. package/dist/actionbar/DropdownButton.d.ts +12 -0
  36. package/dist/actionbar/DropdownButton.d.ts.map +1 -0
  37. package/dist/actionbar/DropdownButton.js +38 -0
  38. package/dist/actionbar/DropdownButton.js.map +1 -0
  39. package/dist/actionbar/FormActionBar.d.ts +4 -0
  40. package/dist/actionbar/FormActionBar.d.ts.map +1 -0
  41. package/dist/actionbar/FormActionBar.js +346 -0
  42. package/dist/actionbar/FormActionBar.js.map +1 -0
  43. package/dist/actionbar/NewButton.d.ts +7 -0
  44. package/dist/actionbar/NewButton.d.ts.map +1 -0
  45. package/dist/actionbar/NewButton.js +50 -0
  46. package/dist/actionbar/NewButton.js.map +1 -0
  47. package/dist/actionbar/SearchBar.d.ts +9 -0
  48. package/dist/actionbar/SearchBar.d.ts.map +1 -0
  49. package/dist/actionbar/SearchBar.js +55 -0
  50. package/dist/actionbar/SearchBar.js.map +1 -0
  51. package/dist/actionbar/TreeActionBar.d.ts +7 -0
  52. package/dist/actionbar/TreeActionBar.d.ts.map +1 -0
  53. package/dist/actionbar/TreeActionBar.js +233 -0
  54. package/dist/actionbar/TreeActionBar.js.map +1 -0
  55. package/dist/common/ButtonWithTooltip.d.ts +8 -0
  56. package/dist/common/ButtonWithTooltip.d.ts.map +1 -0
  57. package/dist/common/ButtonWithTooltip.js +36 -0
  58. package/dist/common/ButtonWithTooltip.js.map +1 -0
  59. package/dist/common/DatePicker.d.ts +8 -0
  60. package/dist/common/DatePicker.d.ts.map +1 -0
  61. package/dist/common/DatePicker.js +66 -0
  62. package/dist/common/DatePicker.js.map +1 -0
  63. package/dist/common/Field.d.ts +14 -0
  64. package/dist/common/Field.d.ts.map +1 -0
  65. package/dist/common/Field.js +68 -0
  66. package/dist/common/Field.js.map +1 -0
  67. package/dist/context/ActionViewContext.d.ts +54 -0
  68. package/dist/context/ActionViewContext.d.ts.map +1 -0
  69. package/dist/context/ActionViewContext.js +93 -0
  70. package/dist/context/ActionViewContext.js.map +1 -0
  71. package/dist/context/ContentRootContext.d.ts +19 -0
  72. package/dist/context/ContentRootContext.d.ts.map +1 -0
  73. package/dist/context/ContentRootContext.js +419 -0
  74. package/dist/context/ContentRootContext.js.map +1 -0
  75. package/dist/context/DashboardActionContext.d.ts +19 -0
  76. package/dist/context/DashboardActionContext.d.ts.map +1 -0
  77. package/dist/context/DashboardActionContext.js +39 -0
  78. package/dist/context/DashboardActionContext.js.map +1 -0
  79. package/dist/context/FormContext.d.ts +30 -0
  80. package/dist/context/FormContext.d.ts.map +1 -0
  81. package/dist/context/FormContext.js +29 -0
  82. package/dist/context/FormContext.js.map +1 -0
  83. package/dist/context/FormModalContext.d.ts +11 -0
  84. package/dist/context/FormModalContext.d.ts.map +1 -0
  85. package/dist/context/FormModalContext.js +16 -0
  86. package/dist/context/FormModalContext.js.map +1 -0
  87. package/dist/context/LocaleContext.d.ts +14 -0
  88. package/dist/context/LocaleContext.d.ts.map +1 -0
  89. package/dist/context/LocaleContext.js +34 -0
  90. package/dist/context/LocaleContext.js.map +1 -0
  91. package/dist/context/One2manyContext.d.ts +17 -0
  92. package/dist/context/One2manyContext.d.ts.map +1 -0
  93. package/dist/context/One2manyContext.js +40 -0
  94. package/dist/context/One2manyContext.js.map +1 -0
  95. package/dist/context/TabManagerContext.d.ts +50 -0
  96. package/dist/context/TabManagerContext.d.ts.map +1 -0
  97. package/dist/context/TabManagerContext.js +45 -0
  98. package/dist/context/TabManagerContext.js.map +1 -0
  99. package/dist/helpers/containerHelper.d.ts +22 -0
  100. package/dist/helpers/containerHelper.d.ts.map +1 -0
  101. package/dist/helpers/containerHelper.js +108 -0
  102. package/dist/helpers/containerHelper.js.map +1 -0
  103. package/dist/helpers/dynamicColumnsHelper.d.ts +8 -0
  104. package/dist/helpers/dynamicColumnsHelper.d.ts.map +1 -0
  105. package/dist/helpers/dynamicColumnsHelper.js +67 -0
  106. package/dist/helpers/dynamicColumnsHelper.js.map +1 -0
  107. package/dist/helpers/filesHelper.d.ts +8 -0
  108. package/dist/helpers/filesHelper.d.ts.map +1 -0
  109. package/dist/helpers/filesHelper.js +91 -0
  110. package/dist/helpers/filesHelper.js.map +1 -0
  111. package/dist/helpers/formHelper.d.ts +31 -0
  112. package/dist/helpers/formHelper.d.ts.map +1 -0
  113. package/dist/helpers/formHelper.js +191 -0
  114. package/dist/helpers/formHelper.js.map +1 -0
  115. package/dist/helpers/iconMapper.d.ts +3 -0
  116. package/dist/helpers/iconMapper.d.ts.map +1 -0
  117. package/dist/helpers/iconMapper.js +125 -0
  118. package/dist/helpers/iconMapper.js.map +1 -0
  119. package/dist/helpers/logInfoHelper.d.ts +3 -0
  120. package/dist/helpers/logInfoHelper.d.ts.map +1 -0
  121. package/dist/helpers/logInfoHelper.js +78 -0
  122. package/dist/helpers/logInfoHelper.js.map +1 -0
  123. package/dist/helpers/one2manyHelper.d.ts +29 -0
  124. package/dist/helpers/one2manyHelper.d.ts.map +1 -0
  125. package/dist/helpers/one2manyHelper.js +159 -0
  126. package/dist/helpers/one2manyHelper.js.map +1 -0
  127. package/dist/helpers/searchFilterHelper.d.ts +5 -0
  128. package/dist/helpers/searchFilterHelper.d.ts.map +1 -0
  129. package/dist/helpers/searchFilterHelper.js +157 -0
  130. package/dist/helpers/searchFilterHelper.js.map +1 -0
  131. package/dist/helpers/timeHelper.d.ts +4 -0
  132. package/dist/helpers/timeHelper.d.ts.map +1 -0
  133. package/dist/helpers/timeHelper.js +53 -0
  134. package/dist/helpers/timeHelper.js.map +1 -0
  135. package/dist/helpers/treeHelper.d.ts +16 -0
  136. package/dist/helpers/treeHelper.d.ts.map +1 -0
  137. package/dist/helpers/treeHelper.js +128 -0
  138. package/dist/helpers/treeHelper.js.map +1 -0
  139. package/dist/hooks/useEffectDebugger.d.ts +3 -0
  140. package/dist/hooks/useEffectDebugger.d.ts.map +1 -0
  141. package/dist/hooks/useEffectDebugger.js +43 -0
  142. package/dist/hooks/useEffectDebugger.js.map +1 -0
  143. package/dist/hooks/useWindowDimensions.d.ts +7 -0
  144. package/dist/hooks/useWindowDimensions.d.ts.map +1 -0
  145. package/dist/hooks/useWindowDimensions.js +29 -0
  146. package/dist/hooks/useWindowDimensions.js.map +1 -0
  147. package/dist/index.d.ts +44 -0
  148. package/dist/index.d.ts.map +1 -0
  149. package/dist/index.js +2 -0
  150. package/dist/index.js.LICENSE.txt +76 -0
  151. package/dist/index.js.map +1 -0
  152. package/dist/locales/ca_ES.d.ts +81 -0
  153. package/dist/locales/ca_ES.d.ts.map +1 -0
  154. package/dist/locales/ca_ES.js +82 -0
  155. package/dist/locales/ca_ES.js.map +1 -0
  156. package/dist/locales/en_US.d.ts +81 -0
  157. package/dist/locales/en_US.d.ts.map +1 -0
  158. package/dist/locales/en_US.js +82 -0
  159. package/dist/locales/en_US.js.map +1 -0
  160. package/dist/locales/es_ES.d.ts +81 -0
  161. package/dist/locales/es_ES.d.ts.map +1 -0
  162. package/dist/locales/es_ES.js +82 -0
  163. package/dist/locales/es_ES.js.map +1 -0
  164. package/dist/main.css +180 -0
  165. package/dist/types/index.d.ts +205 -0
  166. package/dist/types/index.d.ts.map +1 -0
  167. package/dist/types/index.js +3 -0
  168. package/dist/types/index.js.map +1 -0
  169. package/dist/ui/ActionErrorDialog.d.ts +3 -0
  170. package/dist/ui/ActionErrorDialog.d.ts.map +1 -0
  171. package/dist/ui/ActionErrorDialog.js +38 -0
  172. package/dist/ui/ActionErrorDialog.js.map +1 -0
  173. package/dist/ui/ConfirmDialog.d.ts +7 -0
  174. package/dist/ui/ConfirmDialog.d.ts.map +1 -0
  175. package/dist/ui/ConfirmDialog.js +24 -0
  176. package/dist/ui/ConfirmDialog.js.map +1 -0
  177. package/dist/ui/FavouriteButton.d.ts +26 -0
  178. package/dist/ui/FavouriteButton.d.ts.map +1 -0
  179. package/dist/ui/FavouriteButton.js +238 -0
  180. package/dist/ui/FavouriteButton.js.map +1 -0
  181. package/dist/ui/Fieldset.d.ts +8 -0
  182. package/dist/ui/Fieldset.d.ts.map +1 -0
  183. package/dist/ui/Fieldset.js +22 -0
  184. package/dist/ui/Fieldset.js.map +1 -0
  185. package/dist/ui/FormErrorsDialog.d.ts +3 -0
  186. package/dist/ui/FormErrorsDialog.d.ts.map +1 -0
  187. package/dist/ui/FormErrorsDialog.js +20 -0
  188. package/dist/ui/FormErrorsDialog.js.map +1 -0
  189. package/dist/ui/GenericErrorDialog.d.ts +3 -0
  190. package/dist/ui/GenericErrorDialog.d.ts.map +1 -0
  191. package/dist/ui/GenericErrorDialog.js +19 -0
  192. package/dist/ui/GenericErrorDialog.js.map +1 -0
  193. package/dist/ui/GoToResourceModal.d.ts +10 -0
  194. package/dist/ui/GoToResourceModal.d.ts.map +1 -0
  195. package/dist/ui/GoToResourceModal.js +49 -0
  196. package/dist/ui/GoToResourceModal.js.map +1 -0
  197. package/dist/ui/InfoDialog.d.ts +3 -0
  198. package/dist/ui/InfoDialog.d.ts.map +1 -0
  199. package/dist/ui/InfoDialog.js +13 -0
  200. package/dist/ui/InfoDialog.js.map +1 -0
  201. package/dist/ui/RefreshItemDialog.d.ts +7 -0
  202. package/dist/ui/RefreshItemDialog.d.ts.map +1 -0
  203. package/dist/ui/RefreshItemDialog.js +25 -0
  204. package/dist/ui/RefreshItemDialog.js.map +1 -0
  205. package/dist/ui/RemoveItemDialog.d.ts +6 -0
  206. package/dist/ui/RemoveItemDialog.d.ts.map +1 -0
  207. package/dist/ui/RemoveItemDialog.js +24 -0
  208. package/dist/ui/RemoveItemDialog.js.map +1 -0
  209. package/dist/ui/TitleHeader.d.ts +7 -0
  210. package/dist/ui/TitleHeader.d.ts.map +1 -0
  211. package/dist/ui/TitleHeader.js +93 -0
  212. package/dist/ui/TitleHeader.js.map +1 -0
  213. package/dist/ui/UnlinkItemDialog.d.ts +6 -0
  214. package/dist/ui/UnlinkItemDialog.d.ts.map +1 -0
  215. package/dist/ui/UnlinkItemDialog.js +24 -0
  216. package/dist/ui/UnlinkItemDialog.js.map +1 -0
  217. package/dist/ui/UnsavedChangesDialog.d.ts +7 -0
  218. package/dist/ui/UnsavedChangesDialog.d.ts.map +1 -0
  219. package/dist/ui/UnsavedChangesDialog.js +25 -0
  220. package/dist/ui/UnsavedChangesDialog.js.map +1 -0
  221. package/dist/ui/WarningDialog.d.ts +3 -0
  222. package/dist/ui/WarningDialog.d.ts.map +1 -0
  223. package/dist/ui/WarningDialog.js +20 -0
  224. package/dist/ui/WarningDialog.js.map +1 -0
  225. package/dist/views/ActionView.d.ts +24 -0
  226. package/dist/views/ActionView.d.ts.map +1 -0
  227. package/dist/views/ActionView.js +376 -0
  228. package/dist/views/ActionView.js.map +1 -0
  229. package/dist/views/CurrentTabContent.d.ts +4 -0
  230. package/dist/views/CurrentTabContent.d.ts.map +1 -0
  231. package/dist/views/CurrentTabContent.js +35 -0
  232. package/dist/views/CurrentTabContent.js.map +1 -0
  233. package/dist/views/RootView.d.ts +14 -0
  234. package/dist/views/RootView.d.ts.map +1 -0
  235. package/dist/views/RootView.js +469 -0
  236. package/dist/views/RootView.js.map +1 -0
  237. package/dist/views/TabContent.d.ts +8 -0
  238. package/dist/views/TabContent.d.ts.map +1 -0
  239. package/dist/views/TabContent.js +34 -0
  240. package/dist/views/TabContent.js.map +1 -0
  241. package/dist/views/TabSelector.d.ts +4 -0
  242. package/dist/views/TabSelector.d.ts.map +1 -0
  243. package/dist/views/TabSelector.js +34 -0
  244. package/dist/views/TabSelector.js.map +1 -0
  245. package/dist/views/Welcome.d.ts +4 -0
  246. package/dist/views/Welcome.d.ts.map +1 -0
  247. package/dist/views/Welcome.js +33 -0
  248. package/dist/views/Welcome.js.map +1 -0
  249. package/dist/views/tabs/Tab.d.ts +11 -0
  250. package/dist/views/tabs/Tab.d.ts.map +1 -0
  251. package/dist/views/tabs/Tab.js +54 -0
  252. package/dist/views/tabs/Tab.js.map +1 -0
  253. package/dist/widgets/WidgetFactory.d.ts +4 -0
  254. package/dist/widgets/WidgetFactory.d.ts.map +1 -0
  255. package/dist/widgets/WidgetFactory.js +85 -0
  256. package/dist/widgets/WidgetFactory.js.map +1 -0
  257. package/dist/widgets/base/Binary.d.ts +14 -0
  258. package/dist/widgets/base/Binary.d.ts.map +1 -0
  259. package/dist/widgets/base/Binary.js +173 -0
  260. package/dist/widgets/base/Binary.js.map +1 -0
  261. package/dist/widgets/base/Boolean.d.ts +4 -0
  262. package/dist/widgets/base/Boolean.d.ts.map +1 -0
  263. package/dist/widgets/base/Boolean.js +53 -0
  264. package/dist/widgets/base/Boolean.js.map +1 -0
  265. package/dist/widgets/base/Button.d.ts +8 -0
  266. package/dist/widgets/base/Button.d.ts.map +1 -0
  267. package/dist/widgets/base/Button.js +118 -0
  268. package/dist/widgets/base/Button.js.map +1 -0
  269. package/dist/widgets/base/Char.d.ts +8 -0
  270. package/dist/widgets/base/Char.d.ts.map +1 -0
  271. package/dist/widgets/base/Char.js +145 -0
  272. package/dist/widgets/base/Char.js.map +1 -0
  273. package/dist/widgets/base/Date.d.ts +5 -0
  274. package/dist/widgets/base/Date.d.ts.map +1 -0
  275. package/dist/widgets/base/Date.js +13 -0
  276. package/dist/widgets/base/Date.js.map +1 -0
  277. package/dist/widgets/base/DateTime.d.ts +5 -0
  278. package/dist/widgets/base/DateTime.d.ts.map +1 -0
  279. package/dist/widgets/base/DateTime.js +13 -0
  280. package/dist/widgets/base/DateTime.js.map +1 -0
  281. package/dist/widgets/base/Email.d.ts +4 -0
  282. package/dist/widgets/base/Email.d.ts.map +1 -0
  283. package/dist/widgets/base/Email.js +34 -0
  284. package/dist/widgets/base/Email.js.map +1 -0
  285. package/dist/widgets/base/Float.d.ts +4 -0
  286. package/dist/widgets/base/Float.d.ts.map +1 -0
  287. package/dist/widgets/base/Float.js +54 -0
  288. package/dist/widgets/base/Float.js.map +1 -0
  289. package/dist/widgets/base/FloatTime.d.ts +12 -0
  290. package/dist/widgets/base/FloatTime.d.ts.map +1 -0
  291. package/dist/widgets/base/FloatTime.js +122 -0
  292. package/dist/widgets/base/FloatTime.js.map +1 -0
  293. package/dist/widgets/base/Image.d.ts +14 -0
  294. package/dist/widgets/base/Image.d.ts.map +1 -0
  295. package/dist/widgets/base/Image.js +153 -0
  296. package/dist/widgets/base/Image.js.map +1 -0
  297. package/dist/widgets/base/Integer.d.ts +8 -0
  298. package/dist/widgets/base/Integer.d.ts.map +1 -0
  299. package/dist/widgets/base/Integer.js +57 -0
  300. package/dist/widgets/base/Integer.js.map +1 -0
  301. package/dist/widgets/base/Label.d.ts +9 -0
  302. package/dist/widgets/base/Label.d.ts.map +1 -0
  303. package/dist/widgets/base/Label.js +27 -0
  304. package/dist/widgets/base/Label.js.map +1 -0
  305. package/dist/widgets/base/LinkInput.d.ts +12 -0
  306. package/dist/widgets/base/LinkInput.d.ts.map +1 -0
  307. package/dist/widgets/base/LinkInput.js +70 -0
  308. package/dist/widgets/base/LinkInput.js.map +1 -0
  309. package/dist/widgets/base/MultiSelection.d.ts +10 -0
  310. package/dist/widgets/base/MultiSelection.d.ts.map +1 -0
  311. package/dist/widgets/base/MultiSelection.js +69 -0
  312. package/dist/widgets/base/MultiSelection.js.map +1 -0
  313. package/dist/widgets/base/ProgressBar.d.ts +7 -0
  314. package/dist/widgets/base/ProgressBar.d.ts.map +1 -0
  315. package/dist/widgets/base/ProgressBar.js +45 -0
  316. package/dist/widgets/base/ProgressBar.js.map +1 -0
  317. package/dist/widgets/base/Reference.d.ts +16 -0
  318. package/dist/widgets/base/Reference.d.ts.map +1 -0
  319. package/dist/widgets/base/Reference.js +93 -0
  320. package/dist/widgets/base/Reference.js.map +1 -0
  321. package/dist/widgets/base/Selection.d.ts +10 -0
  322. package/dist/widgets/base/Selection.d.ts.map +1 -0
  323. package/dist/widgets/base/Selection.js +51 -0
  324. package/dist/widgets/base/Selection.js.map +1 -0
  325. package/dist/widgets/base/Separator.d.ts +8 -0
  326. package/dist/widgets/base/Separator.d.ts.map +1 -0
  327. package/dist/widgets/base/Separator.js +15 -0
  328. package/dist/widgets/base/Separator.js.map +1 -0
  329. package/dist/widgets/base/Text.d.ts +8 -0
  330. package/dist/widgets/base/Text.d.ts.map +1 -0
  331. package/dist/widgets/base/Text.js +142 -0
  332. package/dist/widgets/base/Text.js.map +1 -0
  333. package/dist/widgets/base/Url.d.ts +4 -0
  334. package/dist/widgets/base/Url.d.ts.map +1 -0
  335. package/dist/widgets/base/Url.js +34 -0
  336. package/dist/widgets/base/Url.js.map +1 -0
  337. package/dist/widgets/base/many2one/Many2one.d.ts +16 -0
  338. package/dist/widgets/base/many2one/Many2one.d.ts.map +1 -0
  339. package/dist/widgets/base/many2one/Many2one.js +353 -0
  340. package/dist/widgets/base/many2one/Many2one.js.map +1 -0
  341. package/dist/widgets/base/many2one/Many2oneSuffix.d.ts +9 -0
  342. package/dist/widgets/base/many2one/Many2oneSuffix.d.ts.map +1 -0
  343. package/dist/widgets/base/many2one/Many2oneSuffix.js +215 -0
  344. package/dist/widgets/base/many2one/Many2oneSuffix.js.map +1 -0
  345. package/dist/widgets/base/many2one/Many2oneSuffixModal.d.ts +10 -0
  346. package/dist/widgets/base/many2one/Many2oneSuffixModal.d.ts.map +1 -0
  347. package/dist/widgets/base/many2one/Many2oneSuffixModal.js +37 -0
  348. package/dist/widgets/base/many2one/Many2oneSuffixModal.js.map +1 -0
  349. package/dist/widgets/base/one2many/One2many.d.ts +9 -0
  350. package/dist/widgets/base/one2many/One2many.d.ts.map +1 -0
  351. package/dist/widgets/base/one2many/One2many.js +188 -0
  352. package/dist/widgets/base/one2many/One2many.js.map +1 -0
  353. package/dist/widgets/base/one2many/One2manyInput.d.ts +23 -0
  354. package/dist/widgets/base/one2many/One2manyInput.d.ts.map +1 -0
  355. package/dist/widgets/base/one2many/One2manyInput.js +602 -0
  356. package/dist/widgets/base/one2many/One2manyInput.js.map +1 -0
  357. package/dist/widgets/base/one2many/One2manyTopBar.d.ts +21 -0
  358. package/dist/widgets/base/one2many/One2manyTopBar.d.ts.map +1 -0
  359. package/dist/widgets/base/one2many/One2manyTopBar.js +59 -0
  360. package/dist/widgets/base/one2many/One2manyTopBar.js.map +1 -0
  361. package/dist/widgets/containers/Container.d.ts +9 -0
  362. package/dist/widgets/containers/Container.d.ts.map +1 -0
  363. package/dist/widgets/containers/Container.js +77 -0
  364. package/dist/widgets/containers/Container.js.map +1 -0
  365. package/dist/widgets/containers/Group.d.ts +10 -0
  366. package/dist/widgets/containers/Group.d.ts.map +1 -0
  367. package/dist/widgets/containers/Group.js +15 -0
  368. package/dist/widgets/containers/Group.js.map +1 -0
  369. package/dist/widgets/containers/Notebook.d.ts +9 -0
  370. package/dist/widgets/containers/Notebook.d.ts.map +1 -0
  371. package/dist/widgets/containers/Notebook.js +21 -0
  372. package/dist/widgets/containers/Notebook.js.map +1 -0
  373. package/dist/widgets/custom/FiberGrid.d.ts +10 -0
  374. package/dist/widgets/custom/FiberGrid.d.ts.map +1 -0
  375. package/dist/widgets/custom/FiberGrid.js +50 -0
  376. package/dist/widgets/custom/FiberGrid.js.map +1 -0
  377. package/dist/widgets/custom/Indicator.d.ts +10 -0
  378. package/dist/widgets/custom/Indicator.d.ts.map +1 -0
  379. package/dist/widgets/custom/Indicator.js +44 -0
  380. package/dist/widgets/custom/Indicator.js.map +1 -0
  381. package/dist/widgets/custom/Timeline.d.ts +16 -0
  382. package/dist/widgets/custom/Timeline.d.ts.map +1 -0
  383. package/dist/widgets/custom/Timeline.js +231 -0
  384. package/dist/widgets/custom/Timeline.js.map +1 -0
  385. package/dist/widgets/modals/FormModal.d.ts +12 -0
  386. package/dist/widgets/modals/FormModal.d.ts.map +1 -0
  387. package/dist/widgets/modals/FormModal.js +174 -0
  388. package/dist/widgets/modals/FormModal.js.map +1 -0
  389. package/dist/widgets/modals/SearchModal.d.ts +13 -0
  390. package/dist/widgets/modals/SearchModal.d.ts.map +1 -0
  391. package/dist/widgets/modals/SearchModal.js +129 -0
  392. package/dist/widgets/modals/SearchModal.js.map +1 -0
  393. package/dist/widgets/modals/TranslationModal.d.ts +12 -0
  394. package/dist/widgets/modals/TranslationModal.d.ts.map +1 -0
  395. package/dist/widgets/modals/TranslationModal.js +254 -0
  396. package/dist/widgets/modals/TranslationModal.js.map +1 -0
  397. package/dist/widgets/views/Dashboard/Dashboard.d.ts +7 -0
  398. package/dist/widgets/views/Dashboard/Dashboard.d.ts.map +1 -0
  399. package/dist/widgets/views/Dashboard/Dashboard.js +368 -0
  400. package/dist/widgets/views/Dashboard/Dashboard.js.map +1 -0
  401. package/dist/widgets/views/Dashboard/Dashboard.types.d.ts +8 -0
  402. package/dist/widgets/views/Dashboard/Dashboard.types.d.ts.map +1 -0
  403. package/dist/widgets/views/Dashboard/Dashboard.types.js +3 -0
  404. package/dist/widgets/views/Dashboard/Dashboard.types.js.map +1 -0
  405. package/dist/widgets/views/Dashboard/DashboardForm.d.ts +4 -0
  406. package/dist/widgets/views/Dashboard/DashboardForm.d.ts.map +1 -0
  407. package/dist/widgets/views/Dashboard/DashboardForm.js +106 -0
  408. package/dist/widgets/views/Dashboard/DashboardForm.js.map +1 -0
  409. package/dist/widgets/views/Dashboard/DashboardTree.d.ts +19 -0
  410. package/dist/widgets/views/Dashboard/DashboardTree.d.ts.map +1 -0
  411. package/dist/widgets/views/Dashboard/DashboardTree.js +318 -0
  412. package/dist/widgets/views/Dashboard/DashboardTree.js.map +1 -0
  413. package/dist/widgets/views/Dashboard/dashboardHelper.d.ts +6 -0
  414. package/dist/widgets/views/Dashboard/dashboardHelper.d.ts.map +1 -0
  415. package/dist/widgets/views/Dashboard/dashboardHelper.js +136 -0
  416. package/dist/widgets/views/Dashboard/dashboardHelper.js.map +1 -0
  417. package/dist/widgets/views/DashboardGrid/DashboardGrid.d.ts +6 -0
  418. package/dist/widgets/views/DashboardGrid/DashboardGrid.d.ts.map +1 -0
  419. package/dist/widgets/views/DashboardGrid/DashboardGrid.js +31 -0
  420. package/dist/widgets/views/DashboardGrid/DashboardGrid.js.map +1 -0
  421. package/dist/widgets/views/DashboardGrid/DashboardGrid.types.d.ts +6 -0
  422. package/dist/widgets/views/DashboardGrid/DashboardGrid.types.d.ts.map +1 -0
  423. package/dist/widgets/views/DashboardGrid/DashboardGrid.types.js +3 -0
  424. package/dist/widgets/views/DashboardGrid/DashboardGrid.types.js.map +1 -0
  425. package/dist/widgets/views/DashboardGrid/DashboardGridItem.d.ts +4 -0
  426. package/dist/widgets/views/DashboardGrid/DashboardGridItem.d.ts.map +1 -0
  427. package/dist/widgets/views/DashboardGrid/DashboardGridItem.js +38 -0
  428. package/dist/widgets/views/DashboardGrid/DashboardGridItem.js.map +1 -0
  429. package/dist/widgets/views/DashboardGrid/DashboardGridItem.types.d.ts +11 -0
  430. package/dist/widgets/views/DashboardGrid/DashboardGridItem.types.d.ts.map +1 -0
  431. package/dist/widgets/views/DashboardGrid/DashboardGridItem.types.js +3 -0
  432. package/dist/widgets/views/DashboardGrid/DashboardGridItem.types.js.map +1 -0
  433. package/dist/widgets/views/DashboardGrid/index.d.ts +5 -0
  434. package/dist/widgets/views/DashboardGrid/index.d.ts.map +1 -0
  435. package/dist/widgets/views/DashboardGrid/index.js +17 -0
  436. package/dist/widgets/views/DashboardGrid/index.js.map +1 -0
  437. package/dist/widgets/views/Form.d.ts +28 -0
  438. package/dist/widgets/views/Form.d.ts.map +1 -0
  439. package/dist/widgets/views/Form.js +933 -0
  440. package/dist/widgets/views/Form.js.map +1 -0
  441. package/dist/widgets/views/Graph/Graph.d.ts +10 -0
  442. package/dist/widgets/views/Graph/Graph.d.ts.map +1 -0
  443. package/dist/widgets/views/Graph/Graph.js +150 -0
  444. package/dist/widgets/views/Graph/Graph.js.map +1 -0
  445. package/dist/widgets/views/Graph/GraphChart.d.ts +10 -0
  446. package/dist/widgets/views/Graph/GraphChart.d.ts.map +1 -0
  447. package/dist/widgets/views/Graph/GraphChart.js +104 -0
  448. package/dist/widgets/views/Graph/GraphChart.js.map +1 -0
  449. package/dist/widgets/views/Graph/GraphDefaults.d.ts +47 -0
  450. package/dist/widgets/views/Graph/GraphDefaults.d.ts.map +1 -0
  451. package/dist/widgets/views/Graph/GraphDefaults.js +62 -0
  452. package/dist/widgets/views/Graph/GraphDefaults.js.map +1 -0
  453. package/dist/widgets/views/Graph/GraphIndicator.d.ts +16 -0
  454. package/dist/widgets/views/Graph/GraphIndicator.d.ts.map +1 -0
  455. package/dist/widgets/views/Graph/GraphIndicator.js +292 -0
  456. package/dist/widgets/views/Graph/GraphIndicator.js.map +1 -0
  457. package/dist/widgets/views/Graph/useGraphData.d.ts +18 -0
  458. package/dist/widgets/views/Graph/useGraphData.d.ts.map +1 -0
  459. package/dist/widgets/views/Graph/useGraphData.js +163 -0
  460. package/dist/widgets/views/Graph/useGraphData.js.map +1 -0
  461. package/dist/widgets/views/SearchTree.d.ts +25 -0
  462. package/dist/widgets/views/SearchTree.d.ts.map +1 -0
  463. package/dist/widgets/views/SearchTree.js +495 -0
  464. package/dist/widgets/views/SearchTree.js.map +1 -0
  465. package/dist/widgets/views/Tree.d.ts +23 -0
  466. package/dist/widgets/views/Tree.d.ts.map +1 -0
  467. package/dist/widgets/views/Tree.js +180 -0
  468. package/dist/widgets/views/Tree.js.map +1 -0
  469. package/dist/widgets/views/searchFilter/DateRangePicker.d.ts +4 -0
  470. package/dist/widgets/views/searchFilter/DateRangePicker.d.ts.map +1 -0
  471. package/dist/widgets/views/searchFilter/DateRangePicker.js +26 -0
  472. package/dist/widgets/views/searchFilter/DateRangePicker.js.map +1 -0
  473. package/dist/widgets/views/searchFilter/DateTimeRangePicker.d.ts +4 -0
  474. package/dist/widgets/views/searchFilter/DateTimeRangePicker.d.ts.map +1 -0
  475. package/dist/widgets/views/searchFilter/DateTimeRangePicker.js +53 -0
  476. package/dist/widgets/views/searchFilter/DateTimeRangePicker.js.map +1 -0
  477. package/dist/widgets/views/searchFilter/PairFields.d.ts +4 -0
  478. package/dist/widgets/views/searchFilter/PairFields.d.ts.map +1 -0
  479. package/dist/widgets/views/searchFilter/PairFields.js +45 -0
  480. package/dist/widgets/views/searchFilter/PairFields.js.map +1 -0
  481. package/dist/widgets/views/searchFilter/SearchBottomBar.d.ts +10 -0
  482. package/dist/widgets/views/searchFilter/SearchBottomBar.d.ts.map +1 -0
  483. package/dist/widgets/views/searchFilter/SearchBottomBar.js +40 -0
  484. package/dist/widgets/views/searchFilter/SearchBottomBar.js.map +1 -0
  485. package/dist/widgets/views/searchFilter/SearchField.d.ts +8 -0
  486. package/dist/widgets/views/searchFilter/SearchField.d.ts.map +1 -0
  487. package/dist/widgets/views/searchFilter/SearchField.js +84 -0
  488. package/dist/widgets/views/searchFilter/SearchField.js.map +1 -0
  489. package/dist/widgets/views/searchFilter/SearchFilter.d.ts +15 -0
  490. package/dist/widgets/views/searchFilter/SearchFilter.d.ts.map +1 -0
  491. package/dist/widgets/views/searchFilter/SearchFilter.js +78 -0
  492. package/dist/widgets/views/searchFilter/SearchFilter.js.map +1 -0
  493. package/dist/widgets/views/searchFilter/SearchParams.d.ts +7 -0
  494. package/dist/widgets/views/searchFilter/SearchParams.d.ts.map +1 -0
  495. package/dist/widgets/views/searchFilter/SearchParams.js +44 -0
  496. package/dist/widgets/views/searchFilter/SearchParams.js.map +1 -0
  497. package/package.json +89 -0
  498. package/src/.eslintcache +1 -0
  499. package/src/Config.ts +4 -0
  500. package/src/ConnectionProvider.ts +16 -0
  501. package/src/__tests__/iconMapper.test.ts +15 -0
  502. package/src/__tests__/searchFilterHelper.spec.ts +386 -0
  503. package/src/actionbar/ActionButton.tsx +40 -0
  504. package/src/actionbar/AttachmentsButton.tsx +128 -0
  505. package/src/actionbar/AttachmentsButtonWrapper.tsx +139 -0
  506. package/src/actionbar/ButtonWithBadge.tsx +39 -0
  507. package/src/actionbar/ChangeViewButton.tsx +136 -0
  508. package/src/actionbar/DashboardActionBar.tsx +67 -0
  509. package/src/actionbar/DropdownButton.tsx +61 -0
  510. package/src/actionbar/FormActionBar.tsx +412 -0
  511. package/src/actionbar/NewButton.tsx +46 -0
  512. package/src/actionbar/SearchBar.tsx +69 -0
  513. package/src/actionbar/TreeActionBar.tsx +265 -0
  514. package/src/common/ButtonWithTooltip.tsx +18 -0
  515. package/src/common/DatePicker.tsx +93 -0
  516. package/src/common/Field.tsx +92 -0
  517. package/src/context/ActionViewContext.tsx +161 -0
  518. package/src/context/ContentRootContext.tsx +422 -0
  519. package/src/context/DashboardActionContext.tsx +45 -0
  520. package/src/context/FormContext.tsx +79 -0
  521. package/src/context/FormModalContext.tsx +29 -0
  522. package/src/context/LocaleContext.tsx +50 -0
  523. package/src/context/One2manyContext.tsx +46 -0
  524. package/src/context/TabManagerContext.tsx +117 -0
  525. package/src/helpers/containerHelper.ts +145 -0
  526. package/src/helpers/dynamicColumnsHelper.ts +73 -0
  527. package/src/helpers/filesHelper.ts +41 -0
  528. package/src/helpers/formHelper.ts +225 -0
  529. package/src/helpers/iconMapper.ts +108 -0
  530. package/src/helpers/logInfoHelper.tsx +28 -0
  531. package/src/helpers/one2manyHelper.ts +139 -0
  532. package/src/helpers/searchFilterHelper.ts +167 -0
  533. package/src/helpers/timeHelper.ts +58 -0
  534. package/src/helpers/treeHelper.ts +127 -0
  535. package/src/hooks/useEffectDebugger.ts +43 -0
  536. package/src/hooks/useWindowDimensions.ts +33 -0
  537. package/src/index.ts +136 -0
  538. package/src/locales/ca_ES.tsx +85 -0
  539. package/src/locales/en_US.tsx +82 -0
  540. package/src/locales/es_ES.tsx +86 -0
  541. package/src/stories/Binary.stories.tsx +23 -0
  542. package/src/stories/Boolean.stories.tsx +22 -0
  543. package/src/stories/Button.stories.tsx +120 -0
  544. package/src/stories/Char.stories.tsx +49 -0
  545. package/src/stories/FiberGrid.stories.tsx +109 -0
  546. package/src/stories/Float.stories.tsx +22 -0
  547. package/src/stories/FloatTime.stories.tsx +32 -0
  548. package/src/stories/Image.stories.tsx +25 -0
  549. package/src/stories/Integer.stories.tsx +22 -0
  550. package/src/stories/Label.stories.tsx +22 -0
  551. package/src/stories/Many2one.stories.tsx +31 -0
  552. package/src/stories/One2many.stories.tsx +292 -0
  553. package/src/stories/ProgressBar.stories.tsx +22 -0
  554. package/src/stories/Reference.stories.tsx +43 -0
  555. package/src/stories/Selection.stories.tsx +34 -0
  556. package/src/stories/Separator.stories.tsx +21 -0
  557. package/src/stories/Text.stories.tsx +35 -0
  558. package/src/stories/containers/Group.stories.tsx +63 -0
  559. package/src/stories/containers/NewLine.stories.tsx +53 -0
  560. package/src/stories/containers/Notebook.stories.tsx +91 -0
  561. package/src/stories/custom/Indicator.stories.tsx +41 -0
  562. package/src/stories/dashboard/Dashboard.stories.tsx +23 -0
  563. package/src/stories/dashboard/DashboardGrid.stories.tsx +30 -0
  564. package/src/stories/forms/Attachment.stories.tsx +24 -0
  565. package/src/stories/forms/CUPSForm.stories.tsx +25 -0
  566. package/src/stories/forms/Company.stories.tsx +25 -0
  567. package/src/stories/forms/CrmCaseForm.stories.tsx +25 -0
  568. package/src/stories/forms/Documents.stories.tsx +25 -0
  569. package/src/stories/forms/FormWithGridFiber.stories.tsx +25 -0
  570. package/src/stories/forms/FormWithLinks.stories.tsx +31 -0
  571. package/src/stories/forms/Lead.stories.tsx +25 -0
  572. package/src/stories/forms/ModContractForm.stories.tsx +25 -0
  573. package/src/stories/forms/PartnersForm.stories.tsx +25 -0
  574. package/src/stories/forms/PolissaForm.stories.tsx +25 -0
  575. package/src/stories/forms/PreferencesForm.stories.tsx +693 -0
  576. package/src/stories/forms/Signatures.stories.tsx +25 -0
  577. package/src/stories/forms/Switching.stories.tsx +25 -0
  578. package/src/stories/graphs/GraphIndicator.stories.tsx +20 -0
  579. package/src/stories/graphs/PieGraph.stories.tsx +78 -0
  580. package/src/stories/mocks/index.ts +42 -0
  581. package/src/stories/mocks/mockProvider.ts +180 -0
  582. package/src/stories/mocks/models/attachment.ts +1327 -0
  583. package/src/stories/mocks/models/butlleti.ts +344 -0
  584. package/src/stories/mocks/models/company.ts +137 -0
  585. package/src/stories/mocks/models/crm_case.ts +598 -0
  586. package/src/stories/mocks/models/cups.ts +910 -0
  587. package/src/stories/mocks/models/document.ts +225 -0
  588. package/src/stories/mocks/models/factura.ts +2727 -0
  589. package/src/stories/mocks/models/form_with_gridfiber.ts +143 -0
  590. package/src/stories/mocks/models/hist_autoconsum.ts +148 -0
  591. package/src/stories/mocks/models/lead.ts +2109 -0
  592. package/src/stories/mocks/models/modcontractual.ts +806 -0
  593. package/src/stories/mocks/models/partner.ts +1360 -0
  594. package/src/stories/mocks/models/polissa.ts +3133 -0
  595. package/src/stories/mocks/models/signatura.ts +618 -0
  596. package/src/stories/mocks/models/switching.ts +769 -0
  597. package/src/stories/modals/FormModal.stories.tsx +36 -0
  598. package/src/stories/modals/SearchModal.stories.tsx +37 -0
  599. package/src/stories/trees/FacturesTree.stories.tsx +16 -0
  600. package/src/stories/ui/ActionBar.stories.tsx +23 -0
  601. package/src/stories/ui/FavouriteButton.stories.tsx +18 -0
  602. package/src/stories/ui/GoToResourceModal.stories.tsx +26 -0
  603. package/src/stories/views/ActionView.stories.tsx +28 -0
  604. package/src/stories/views/SearchTree.stories.tsx +946 -0
  605. package/src/stories/views/Tab.stories.tsx +94 -0
  606. package/src/stories/views/TabManager.stories.tsx +15 -0
  607. package/src/stories/views/TabsAndContent.stories.tsx +89 -0
  608. package/src/stories/views/Tree.stories.js +166 -0
  609. package/src/stories/views/searchFilter/DateRangePicker.stories.tsx +23 -0
  610. package/src/stories/views/searchFilter/DateTimeRangePicker.stories.tsx +23 -0
  611. package/src/stories/views/searchFilter/PairFields.stories.tsx +23 -0
  612. package/src/stories/views/searchFilter/SearchFilter.stories.tsx +166 -0
  613. package/src/stories/views/searchFilter/examples/PartnersSearchFilter.stories.tsx +425 -0
  614. package/src/tailwind.css +8 -0
  615. package/src/tailwind.generated.css +168533 -0
  616. package/src/types/index.ts +275 -0
  617. package/src/ui/ActionErrorDialog.tsx +41 -0
  618. package/src/ui/ConfirmDialog.tsx +28 -0
  619. package/src/ui/FavouriteButton.tsx +261 -0
  620. package/src/ui/Fieldset.tsx +31 -0
  621. package/src/ui/FormErrorsDialog.tsx +17 -0
  622. package/src/ui/GenericErrorDialog.tsx +16 -0
  623. package/src/ui/GoToResourceModal.tsx +71 -0
  624. package/src/ui/InfoDialog.tsx +13 -0
  625. package/src/ui/RefreshItemDialog.tsx +29 -0
  626. package/src/ui/RemoveItemDialog.tsx +20 -0
  627. package/src/ui/TitleHeader.tsx +95 -0
  628. package/src/ui/UnlinkItemDialog.tsx +20 -0
  629. package/src/ui/UnsavedChangesDialog.tsx +29 -0
  630. package/src/ui/WarningDialog.tsx +17 -0
  631. package/src/views/ActionView.tsx +455 -0
  632. package/src/views/CurrentTabContent.tsx +21 -0
  633. package/src/views/RootView.tsx +467 -0
  634. package/src/views/TabContent.tsx +31 -0
  635. package/src/views/TabSelector.tsx +31 -0
  636. package/src/views/Welcome.tsx +18 -0
  637. package/src/views/tabs/Tab.tsx +77 -0
  638. package/src/widgets/WidgetFactory.tsx +109 -0
  639. package/src/widgets/base/Binary.tsx +141 -0
  640. package/src/widgets/base/Boolean.tsx +44 -0
  641. package/src/widgets/base/Button.tsx +77 -0
  642. package/src/widgets/base/Char.tsx +155 -0
  643. package/src/widgets/base/Date.tsx +12 -0
  644. package/src/widgets/base/DateTime.tsx +12 -0
  645. package/src/widgets/base/Email.tsx +27 -0
  646. package/src/widgets/base/Float.tsx +33 -0
  647. package/src/widgets/base/FloatTime.tsx +69 -0
  648. package/src/widgets/base/Image.tsx +120 -0
  649. package/src/widgets/base/Integer.tsx +38 -0
  650. package/src/widgets/base/Label.tsx +40 -0
  651. package/src/widgets/base/LinkInput.tsx +96 -0
  652. package/src/widgets/base/MultiSelection.tsx +82 -0
  653. package/src/widgets/base/ProgressBar.tsx +38 -0
  654. package/src/widgets/base/Reference.tsx +105 -0
  655. package/src/widgets/base/Selection.tsx +61 -0
  656. package/src/widgets/base/Separator.tsx +18 -0
  657. package/src/widgets/base/Text.tsx +156 -0
  658. package/src/widgets/base/Url.tsx +26 -0
  659. package/src/widgets/base/many2one/Many2one.tsx +331 -0
  660. package/src/widgets/base/many2one/Many2oneSuffix.tsx +210 -0
  661. package/src/widgets/base/many2one/Many2oneSuffixModal.tsx +41 -0
  662. package/src/widgets/base/one2many/One2many.tsx +102 -0
  663. package/src/widgets/base/one2many/One2manyInput.tsx +635 -0
  664. package/src/widgets/base/one2many/One2manyTopBar.tsx +143 -0
  665. package/src/widgets/containers/Container.tsx +97 -0
  666. package/src/widgets/containers/Group.tsx +34 -0
  667. package/src/widgets/containers/Notebook.tsx +35 -0
  668. package/src/widgets/custom/FiberGrid.tsx +51 -0
  669. package/src/widgets/custom/Indicator.tsx +66 -0
  670. package/src/widgets/custom/Timeline.tsx +190 -0
  671. package/src/widgets/modals/FormModal.tsx +127 -0
  672. package/src/widgets/modals/SearchModal.tsx +131 -0
  673. package/src/widgets/modals/TranslationModal.tsx +201 -0
  674. package/src/widgets/views/Dashboard/Dashboard.tsx +371 -0
  675. package/src/widgets/views/Dashboard/Dashboard.types.ts +8 -0
  676. package/src/widgets/views/Dashboard/DashboardForm.tsx +30 -0
  677. package/src/widgets/views/Dashboard/DashboardTree.tsx +287 -0
  678. package/src/widgets/views/Dashboard/dashboardHelper.ts +71 -0
  679. package/src/widgets/views/DashboardGrid/DashboardGrid.tsx +53 -0
  680. package/src/widgets/views/DashboardGrid/DashboardGrid.types.ts +4 -0
  681. package/src/widgets/views/DashboardGrid/DashboardGridItem.tsx +58 -0
  682. package/src/widgets/views/DashboardGrid/DashboardGridItem.types.ts +10 -0
  683. package/src/widgets/views/DashboardGrid/index.ts +4 -0
  684. package/src/widgets/views/Form.tsx +991 -0
  685. package/src/widgets/views/Graph/Graph.tsx +108 -0
  686. package/src/widgets/views/Graph/GraphChart.tsx +102 -0
  687. package/src/widgets/views/Graph/GraphDefaults.ts +57 -0
  688. package/src/widgets/views/Graph/GraphIndicator.tsx +360 -0
  689. package/src/widgets/views/Graph/useGraphData.tsx +142 -0
  690. package/src/widgets/views/SearchTree.tsx +542 -0
  691. package/src/widgets/views/Tree.tsx +267 -0
  692. package/src/widgets/views/searchFilter/DateRangePicker.tsx +16 -0
  693. package/src/widgets/views/searchFilter/DateTimeRangePicker.tsx +63 -0
  694. package/src/widgets/views/searchFilter/PairFields.tsx +56 -0
  695. package/src/widgets/views/searchFilter/SearchBottomBar.tsx +58 -0
  696. package/src/widgets/views/searchFilter/SearchField.tsx +73 -0
  697. package/src/widgets/views/searchFilter/SearchFilter.tsx +113 -0
  698. package/src/widgets/views/searchFilter/SearchParams.tsx +32 -0
@@ -0,0 +1,933 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ var __generator = (this && this.__generator) || function (thisArg, body) {
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
+ function verb(n) { return function (v) { return step([n, v]); }; }
45
+ function step(op) {
46
+ if (f) throw new TypeError("Generator is already executing.");
47
+ while (_) try {
48
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
49
+ if (y = 0, t) op = [op[0] & 2, t.value];
50
+ switch (op[0]) {
51
+ case 0: case 1: t = op; break;
52
+ case 4: _.label++; return { value: op[1], done: false };
53
+ case 5: _.label++; y = op[1]; op = [0]; continue;
54
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
55
+ default:
56
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
57
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
58
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
59
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
60
+ if (t[2]) _.ops.pop();
61
+ _.trys.pop(); continue;
62
+ }
63
+ op = body.call(thisArg, _);
64
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
65
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
+ }
67
+ };
68
+ var __importDefault = (this && this.__importDefault) || function (mod) {
69
+ return (mod && mod.__esModule) ? mod : { "default": mod };
70
+ };
71
+ Object.defineProperty(exports, "__esModule", { value: true });
72
+ var react_1 = __importStar(require("react"));
73
+ var ooui_1 = require("@gisce/ooui");
74
+ var antd_1 = require("antd");
75
+ var react_measure_1 = __importDefault(require("react-measure"));
76
+ var icons_1 = require("@ant-design/icons");
77
+ var debounce_1 = __importDefault(require("lodash/debounce"));
78
+ var Container_1 = __importDefault(require("@/widgets/containers/Container"));
79
+ var formHelper_1 = require("@/helpers/formHelper");
80
+ var ConnectionProvider_1 = __importDefault(require("@/ConnectionProvider"));
81
+ var UnsavedChangesDialog_1 = __importDefault(require("@/ui/UnsavedChangesDialog"));
82
+ var FormErrorsDialog_1 = __importDefault(require("@/ui/FormErrorsDialog"));
83
+ var ActionErrorDialog_1 = __importDefault(require("@/ui/ActionErrorDialog"));
84
+ var WarningDialog_1 = __importDefault(require("@/ui/WarningDialog"));
85
+ var FormContext_1 = __importStar(require("@/context/FormContext"));
86
+ var FormModalContext_1 = require("@/context/FormModalContext");
87
+ var ActionViewContext_1 = require("@/context/ActionViewContext");
88
+ var ContentRootContext_1 = require("@/context/ContentRootContext");
89
+ var LocaleContext_1 = require("@/context/LocaleContext");
90
+ var WIDTH_BREAKPOINT = 800;
91
+ function Form(props, ref) {
92
+ var _this = this;
93
+ var model = props.model, id = props.id, propsOnCancel = props.onCancel, propsOnSubmitSucceed = props.onSubmitSucceed, _a = props.showFooter, showFooter = _a === void 0 ? false : _a, _b = props.getDataFromAction, getDataFromAction = _b === void 0 ? false : _b, onFieldsChange = props.onFieldsChange, propsOnSubmitError = props.onSubmitError, _c = props.readOnly, readOnly = _c === void 0 ? false : _c, _d = props.mustClearAfterSave, mustClearAfterSave = _d === void 0 ? false : _d, _e = props.submitMode, submitMode = _e === void 0 ? "api" : _e, valuesProps = props.values, formViewProps = props.formView, postSaveAction = props.postSaveAction, _f = props.insideButtonModal, insideButtonModal = _f === void 0 ? false : _f, _g = props.parentContext, parentContext = _g === void 0 ? {} : _g, actionDomain = props.actionDomain, _h = props.visible, visible = _h === void 0 ? true : _h, _j = props.rootForm, rootForm = _j === void 0 ? false : _j, defaultValues = props.defaultValues, _k = props.forcedValues, forcedValues = _k === void 0 ? {} : _k;
94
+ var lang = react_1.useContext(LocaleContext_1.LocaleContext).lang;
95
+ var _l = react_1.useState(false), isSubmitting = _l[0], setIsSubmitting = _l[1];
96
+ var _m = react_1.useState(), error = _m[0], setError = _m[1];
97
+ var _o = react_1.useState(), formOoui = _o[0], setFormOoui = _o[1];
98
+ var antForm = antd_1.Form.useForm()[0];
99
+ var _p = react_1.useState(), arch = _p[0], setArch = _p[1];
100
+ var _q = react_1.useState(), fields = _q[0], setFields = _q[1];
101
+ var formModalContext = react_1.useContext(FormModalContext_1.FormModalContext);
102
+ var _r = react_1.useState(), containerWidth = _r[0], setContainerWidth = _r[1];
103
+ var createdId = react_1.useRef();
104
+ var originalFormValues = react_1.useRef({});
105
+ var lastAssignedValues = react_1.useRef({});
106
+ var warningIsShown = react_1.useRef(false);
107
+ var formSubmitting = react_1.useRef(false);
108
+ var responsiveBehaviour = containerWidth < WIDTH_BREAKPOINT;
109
+ var formContext = react_1.useContext(FormContext_1.FormContext);
110
+ var parentId = (formContext || {}).activeId;
111
+ var actionViewContext = react_1.useContext(ActionViewContext_1.ActionViewContext);
112
+ var _s = (rootForm ? actionViewContext : {}) || {}, _t = _s.setFormIsSaving, setFormIsSaving = _t === void 0 ? undefined : _t, _u = _s.setFormHasChanges, setFormHasChanges = _u === void 0 ? undefined : _u, _v = _s.setCurrentId, setCurrentId = _v === void 0 ? undefined : _v, _w = _s.setFormIsLoading, setFormIsLoading = _w === void 0 ? undefined : _w, _x = _s.setAttachments, setAttachments = _x === void 0 ? undefined : _x;
113
+ var contentRootContext = react_1.useContext(ContentRootContext_1.ContentRootContext);
114
+ var _y = contentRootContext || {}, processAction = _y.processAction, globalValues = _y.globalValues;
115
+ react_1.useImperativeHandle(ref, function () { return ({
116
+ submitForm: submitForm,
117
+ getFields: getFields,
118
+ getValues: getValues,
119
+ getContext: getContext,
120
+ fetchValues: fetchValues,
121
+ cancelUnsavedChanges: cancelUnsavedChanges,
122
+ clearAndReload: function () {
123
+ createdId.current = undefined;
124
+ setFormOoui(undefined);
125
+ fetchData();
126
+ },
127
+ }); });
128
+ react_1.useEffect(function () {
129
+ setError(undefined);
130
+ if (!model && !formViewProps) {
131
+ return;
132
+ }
133
+ if (!visible) {
134
+ createdId.current = undefined;
135
+ setFormOoui(undefined);
136
+ return;
137
+ }
138
+ // In the case we set the id to undefined for creating a new item
139
+ if ((id === undefined && fields) ||
140
+ (id !== undefined && fields && id < 0)) {
141
+ createdId.current = undefined;
142
+ setFormOoui(undefined);
143
+ }
144
+ fetchData();
145
+ }, [id, model, valuesProps, formViewProps, visible]);
146
+ var onSubmitSucceed = function (id, values, formValues) {
147
+ setFormHasChanges === null || setFormHasChanges === void 0 ? void 0 : setFormHasChanges(false);
148
+ setFormIsSaving === null || setFormIsSaving === void 0 ? void 0 : setFormIsSaving(false);
149
+ propsOnSubmitSucceed === null || propsOnSubmitSucceed === void 0 ? void 0 : propsOnSubmitSucceed(id, values, formValues);
150
+ setCurrentId === null || setCurrentId === void 0 ? void 0 : setCurrentId(id);
151
+ };
152
+ var onCancel = function () {
153
+ setFormIsSaving === null || setFormIsSaving === void 0 ? void 0 : setFormIsSaving(false);
154
+ propsOnCancel === null || propsOnCancel === void 0 ? void 0 : propsOnCancel();
155
+ };
156
+ var onSubmitError = function (error) {
157
+ setFormIsSaving === null || setFormIsSaving === void 0 ? void 0 : setFormIsSaving(false);
158
+ propsOnSubmitError === null || propsOnSubmitError === void 0 ? void 0 : propsOnSubmitError(error);
159
+ };
160
+ function getCurrentId() {
161
+ return id || createdId.current;
162
+ }
163
+ function getFields() {
164
+ return fields;
165
+ }
166
+ function getValues() {
167
+ var values = __assign(__assign({}, getCurrentValues(fields)), getAdditionalValues());
168
+ for (var key in values) {
169
+ if (values[key] === undefined) {
170
+ delete values[key];
171
+ }
172
+ }
173
+ return values;
174
+ }
175
+ function getFormValues() {
176
+ var values = __assign({}, getCurrentValues(fields));
177
+ for (var key in values) {
178
+ if (values[key] === undefined) {
179
+ delete values[key];
180
+ }
181
+ }
182
+ return values;
183
+ }
184
+ function getContext() {
185
+ return __assign(__assign({}, parentContext), formOoui === null || formOoui === void 0 ? void 0 : formOoui.context);
186
+ }
187
+ function getAdditionalValues() {
188
+ return __assign({ id: getCurrentId(), active_id: getCurrentId(), parent_id: parentId }, globalValues);
189
+ }
190
+ var getDefaultValues = function (fields) { return __awaiter(_this, void 0, void 0, function () {
191
+ var formContext;
192
+ return __generator(this, function (_a) {
193
+ switch (_a.label) {
194
+ case 0:
195
+ formContext = getCurrentId() ? formOoui === null || formOoui === void 0 ? void 0 : formOoui.context : {};
196
+ return [4 /*yield*/, ConnectionProvider_1.default.getHandler().defaultGet({
197
+ model: model,
198
+ fields: fields,
199
+ context: __assign(__assign({}, parentContext), formContext),
200
+ extraValues: defaultValues,
201
+ })];
202
+ case 1: return [2 /*return*/, _a.sent()];
203
+ }
204
+ });
205
+ }); };
206
+ var formHasChanges = function () {
207
+ return (Object.keys(formHelper_1.getTouchedValues({
208
+ source: originalFormValues.current,
209
+ target: getCurrentValues(fields),
210
+ fields: fields,
211
+ })).length !== 0);
212
+ };
213
+ var getCurrentValues = function (fields) {
214
+ var currentValues = antForm.getFieldsValue(true);
215
+ return formHelper_1.processValues(currentValues, fields);
216
+ };
217
+ var setFieldValue = function (field, value) {
218
+ var _a;
219
+ assignNewValuesToForm({
220
+ values: __assign(__assign({}, formHelper_1.processValues(antForm.getFieldsValue(true), fields)), (_a = {}, _a[field] = value, _a)),
221
+ fields: fields,
222
+ reset: false,
223
+ });
224
+ };
225
+ var getFieldValue = function (field) {
226
+ var values = antForm.getFieldsValue(true);
227
+ return values[field];
228
+ };
229
+ function checkIfFormHasErrors() {
230
+ return __awaiter(this, void 0, void 0, function () {
231
+ var verror_1;
232
+ return __generator(this, function (_a) {
233
+ switch (_a.label) {
234
+ case 0:
235
+ _a.trys.push([0, 2, , 3]);
236
+ return [4 /*yield*/, antForm.validateFields()];
237
+ case 1:
238
+ _a.sent();
239
+ return [2 /*return*/, false];
240
+ case 2:
241
+ verror_1 = _a.sent();
242
+ return [2 /*return*/, true];
243
+ case 3: return [2 /*return*/];
244
+ }
245
+ });
246
+ });
247
+ }
248
+ var fetchData = function () { return __awaiter(_this, void 0, void 0, function () {
249
+ var view, fields_1, arch_1, err_1;
250
+ return __generator(this, function (_a) {
251
+ switch (_a.label) {
252
+ case 0:
253
+ setError(undefined);
254
+ setFormIsLoading === null || setFormIsLoading === void 0 ? void 0 : setFormIsLoading(true);
255
+ _a.label = 1;
256
+ case 1:
257
+ _a.trys.push([1, 6, , 7]);
258
+ if (!formViewProps) return [3 /*break*/, 2];
259
+ view = { arch: formViewProps.arch, fields: formViewProps.fields };
260
+ return [3 /*break*/, 4];
261
+ case 2: return [4 /*yield*/, getFormView()];
262
+ case 3:
263
+ view = _a.sent();
264
+ _a.label = 4;
265
+ case 4:
266
+ fields_1 = view.fields, arch_1 = view.arch;
267
+ setFields(fields_1);
268
+ setArch(arch_1);
269
+ return [4 /*yield*/, fetchValues({
270
+ fields: fields_1,
271
+ arch: arch_1,
272
+ })];
273
+ case 5:
274
+ _a.sent();
275
+ return [3 /*break*/, 7];
276
+ case 6:
277
+ err_1 = _a.sent();
278
+ setError((err_1 === null || err_1 === void 0 ? void 0 : err_1.message) ? err_1.message + err_1.stack : err_1);
279
+ setFormIsLoading === null || setFormIsLoading === void 0 ? void 0 : setFormIsLoading(false);
280
+ return [3 /*break*/, 7];
281
+ case 7: return [2 /*return*/];
282
+ }
283
+ });
284
+ }); };
285
+ var fetchValues = function (options) { return __awaiter(_this, void 0, void 0, function () {
286
+ var values, _fields, _arch;
287
+ return __generator(this, function (_a) {
288
+ switch (_a.label) {
289
+ case 0:
290
+ setFormIsLoading === null || setFormIsLoading === void 0 ? void 0 : setFormIsLoading(true);
291
+ setError(undefined);
292
+ if (options) {
293
+ _fields = options.fields;
294
+ _arch = options.arch;
295
+ }
296
+ else {
297
+ _fields = fields;
298
+ _arch = arch;
299
+ }
300
+ if (!valuesProps) return [3 /*break*/, 1];
301
+ values = valuesProps;
302
+ return [3 /*break*/, 3];
303
+ case 1: return [4 /*yield*/, fetchValuesFromApi({
304
+ fields: _fields,
305
+ arch: _arch,
306
+ })];
307
+ case 2:
308
+ values = _a.sent();
309
+ _a.label = 3;
310
+ case 3:
311
+ if (actionDomain) {
312
+ values = __assign(__assign({}, formHelper_1.getValuesForDomain(actionDomain)), values);
313
+ }
314
+ originalFormValues.current = formHelper_1.processValues(values, _fields);
315
+ parseForm({ fields: _fields, arch: _arch, values: values });
316
+ assignNewValuesToForm({ values: values, fields: _fields, reset: true });
317
+ setFormIsLoading === null || setFormIsLoading === void 0 ? void 0 : setFormIsLoading(false);
318
+ setFormHasChanges === null || setFormHasChanges === void 0 ? void 0 : setFormHasChanges(false);
319
+ return [2 /*return*/];
320
+ }
321
+ });
322
+ }); };
323
+ function setOriginalValue(field, value) {
324
+ originalFormValues.current[field] = value;
325
+ setFormHasChanges === null || setFormHasChanges === void 0 ? void 0 : setFormHasChanges(formHasChanges());
326
+ }
327
+ var cancelUnsavedChanges = function () { return __awaiter(_this, void 0, void 0, function () {
328
+ var _this = this;
329
+ return __generator(this, function (_a) {
330
+ return [2 /*return*/, new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
331
+ return __generator(this, function (_a) {
332
+ if (formHasChanges()) {
333
+ UnsavedChangesDialog_1.default({
334
+ lang: lang,
335
+ onOk: function () {
336
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel();
337
+ resolve(true);
338
+ },
339
+ onCancel: function () {
340
+ resolve(false);
341
+ },
342
+ });
343
+ }
344
+ else {
345
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel();
346
+ resolve(true);
347
+ }
348
+ return [2 /*return*/];
349
+ });
350
+ }); })];
351
+ });
352
+ }); };
353
+ var getFormView = function () { return __awaiter(_this, void 0, void 0, function () {
354
+ var action, viewsForAction;
355
+ return __generator(this, function (_a) {
356
+ switch (_a.label) {
357
+ case 0:
358
+ if (!getDataFromAction) return [3 /*break*/, 3];
359
+ return [4 /*yield*/, ConnectionProvider_1.default.getHandler().getActionStringForModel(model)];
360
+ case 1:
361
+ action = _a.sent();
362
+ return [4 /*yield*/, ConnectionProvider_1.default.getHandler().getViewsForAction({
363
+ action: action,
364
+ context: parentContext,
365
+ })];
366
+ case 2:
367
+ viewsForAction = _a.sent();
368
+ return [2 /*return*/, viewsForAction.views.get("form")];
369
+ case 3: return [4 /*yield*/, ConnectionProvider_1.default.getHandler().getView({
370
+ model: model,
371
+ type: "form",
372
+ context: parentContext,
373
+ })];
374
+ case 4: return [2 /*return*/, (_a.sent())];
375
+ }
376
+ });
377
+ }); };
378
+ var assignNewValuesToForm = function (_a) {
379
+ var newValues = _a.values, fields = _a.fields, reset = _a.reset;
380
+ var currentValues = reset ? {} : antForm.getFieldsValue(true);
381
+ var mergedValues = __assign(__assign({}, currentValues), newValues);
382
+ var valuesProcessed = formHelper_1.processValues(mergedValues, fields);
383
+ var fieldsToUpdate = Object.keys(fields).map(function (fieldName) {
384
+ var fieldValue = valuesProcessed[fieldName] !== undefined
385
+ ? valuesProcessed[fieldName]
386
+ : undefined;
387
+ return {
388
+ name: fieldName,
389
+ touched: false,
390
+ value: fieldValue,
391
+ };
392
+ });
393
+ lastAssignedValues.current = valuesProcessed;
394
+ antForm.setFields(fieldsToUpdate);
395
+ };
396
+ var fetchValuesFromApi = function (_a) {
397
+ var fields = _a.fields, arch = _a.arch;
398
+ return __awaiter(_this, void 0, void 0, function () {
399
+ var values, results;
400
+ return __generator(this, function (_b) {
401
+ switch (_b.label) {
402
+ case 0:
403
+ values = {};
404
+ if (!getCurrentId()) return [3 /*break*/, 3];
405
+ return [4 /*yield*/, ConnectionProvider_1.default.getHandler().readObjects({
406
+ arch: arch,
407
+ model: model,
408
+ ids: [getCurrentId()],
409
+ fields: fields,
410
+ context: parentContext,
411
+ })];
412
+ case 1:
413
+ values = (_b.sent())[0];
414
+ return [4 /*yield*/, ConnectionProvider_1.default.getHandler().search({
415
+ params: [
416
+ ["res_model", "=", model],
417
+ ["res_id", "=", getCurrentId()],
418
+ ],
419
+ fields: ["id", "name"],
420
+ context: getContext(),
421
+ model: "ir.attachment",
422
+ })];
423
+ case 2:
424
+ results = _b.sent();
425
+ setAttachments === null || setAttachments === void 0 ? void 0 : setAttachments(results);
426
+ return [3 /*break*/, 5];
427
+ case 3:
428
+ setAttachments === null || setAttachments === void 0 ? void 0 : setAttachments([]);
429
+ return [4 /*yield*/, getDefaultValues(fields)];
430
+ case 4:
431
+ values = _b.sent();
432
+ _b.label = 5;
433
+ case 5: return [2 /*return*/, values];
434
+ }
435
+ });
436
+ });
437
+ };
438
+ var submitApi = function (options) { return __awaiter(_this, void 0, void 0, function () {
439
+ var _a, callOnSubmitSucceed, touchedValues, currentValues, newId;
440
+ return __generator(this, function (_b) {
441
+ switch (_b.label) {
442
+ case 0:
443
+ _a = (options || {}).callOnSubmitSucceed, callOnSubmitSucceed = _a === void 0 ? true : _a;
444
+ if (!getCurrentId()) return [3 /*break*/, 2];
445
+ touchedValues = formHelper_1.getTouchedValues({
446
+ source: originalFormValues.current,
447
+ target: getCurrentValues(fields),
448
+ fields: fields,
449
+ });
450
+ return [4 /*yield*/, ConnectionProvider_1.default.getHandler().update({
451
+ model: model,
452
+ id: getCurrentId(),
453
+ values: __assign(__assign({}, touchedValues), forcedValues),
454
+ fields: fields,
455
+ context: __assign(__assign({}, parentContext), formOoui === null || formOoui === void 0 ? void 0 : formOoui.context),
456
+ })];
457
+ case 1:
458
+ _b.sent();
459
+ originalFormValues.current = getCurrentValues(fields);
460
+ return [3 /*break*/, 4];
461
+ case 2:
462
+ currentValues = getCurrentValues(fields);
463
+ return [4 /*yield*/, ConnectionProvider_1.default.getHandler().create({
464
+ model: model,
465
+ values: __assign(__assign({}, currentValues), forcedValues),
466
+ fields: fields,
467
+ context: __assign(__assign({}, parentContext), formOoui === null || formOoui === void 0 ? void 0 : formOoui.context),
468
+ })];
469
+ case 3:
470
+ newId = _b.sent();
471
+ createdId.current = newId;
472
+ originalFormValues.current = currentValues;
473
+ _b.label = 4;
474
+ case 4:
475
+ if (!postSaveAction) return [3 /*break*/, 6];
476
+ return [4 /*yield*/, postSaveAction([getCurrentId()])];
477
+ case 5:
478
+ _b.sent();
479
+ _b.label = 6;
480
+ case 6:
481
+ if (!insideButtonModal && callOnSubmitSucceed) {
482
+ onSubmitSucceed === null || onSubmitSucceed === void 0 ? void 0 : onSubmitSucceed(getCurrentId(), getValues(), getFormValues());
483
+ }
484
+ return [2 /*return*/];
485
+ }
486
+ });
487
+ }); };
488
+ var submitValues = function (options) { return __awaiter(_this, void 0, void 0, function () {
489
+ var _a, callOnSubmitSucceed;
490
+ return __generator(this, function (_b) {
491
+ _a = (options || {}).callOnSubmitSucceed, callOnSubmitSucceed = _a === void 0 ? true : _a;
492
+ if (!insideButtonModal && callOnSubmitSucceed) {
493
+ onSubmitSucceed === null || onSubmitSucceed === void 0 ? void 0 : onSubmitSucceed(getCurrentId(), getValues(), getFormValues());
494
+ }
495
+ return [2 /*return*/];
496
+ });
497
+ }); };
498
+ var submitForm = function (options) { return __awaiter(_this, void 0, void 0, function () {
499
+ var submitSucceed, _a, callOnSubmitSucceed, err_2;
500
+ return __generator(this, function (_b) {
501
+ switch (_b.label) {
502
+ case 0:
503
+ submitSucceed = false;
504
+ _a = (options || {}).callOnSubmitSucceed, callOnSubmitSucceed = _a === void 0 ? true : _a;
505
+ formSubmitting.current = true;
506
+ setError(undefined);
507
+ if (!formHasChanges() && getCurrentId() && callOnSubmitSucceed) {
508
+ formSubmitting.current = false;
509
+ setFormHasChanges === null || setFormHasChanges === void 0 ? void 0 : setFormHasChanges(false);
510
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel();
511
+ return [2 /*return*/, true];
512
+ }
513
+ return [4 /*yield*/, checkIfFormHasErrors()];
514
+ case 1:
515
+ if (_b.sent()) {
516
+ formSubmitting.current = false;
517
+ FormErrorsDialog_1.default(lang);
518
+ return [2 /*return*/, false];
519
+ }
520
+ setIsSubmitting(true);
521
+ setFormIsSaving === null || setFormIsSaving === void 0 ? void 0 : setFormIsSaving(true);
522
+ _b.label = 2;
523
+ case 2:
524
+ _b.trys.push([2, 8, 9, 10]);
525
+ if (!(submitMode === "api")) return [3 /*break*/, 4];
526
+ return [4 /*yield*/, submitApi(options)];
527
+ case 3:
528
+ _b.sent();
529
+ return [3 /*break*/, 6];
530
+ case 4: return [4 /*yield*/, submitValues(options)];
531
+ case 5:
532
+ _b.sent();
533
+ _b.label = 6;
534
+ case 6:
535
+ if (mustClearAfterSave) {
536
+ createdId.current = undefined;
537
+ assignNewValuesToForm({ values: {}, fields: fields, reset: true });
538
+ }
539
+ return [4 /*yield*/, fetchValues()];
540
+ case 7:
541
+ _b.sent();
542
+ submitSucceed = true;
543
+ return [3 /*break*/, 10];
544
+ case 8:
545
+ err_2 = _b.sent();
546
+ formSubmitting.current = false;
547
+ setIsSubmitting(false);
548
+ setFormIsSaving === null || setFormIsSaving === void 0 ? void 0 : setFormIsSaving(false);
549
+ onSubmitError === null || onSubmitError === void 0 ? void 0 : onSubmitError(err_2);
550
+ setError((err_2 === null || err_2 === void 0 ? void 0 : err_2.message) ? err_2.message : err_2);
551
+ return [3 /*break*/, 10];
552
+ case 9:
553
+ formSubmitting.current = false;
554
+ setFormIsSaving === null || setFormIsSaving === void 0 ? void 0 : setFormIsSaving(false);
555
+ setIsSubmitting(false);
556
+ return [7 /*endfinally*/];
557
+ case 10: return [2 /*return*/, submitSucceed];
558
+ }
559
+ });
560
+ }); };
561
+ var parseForm = function (_a) {
562
+ var _b;
563
+ var fields = _a.fields, arch = _a.arch, values = _a.values;
564
+ var ooui = new ooui_1.Form(fields);
565
+ // TODO: Here we must inject `values` to the ooui parser in order to evaluate arch+values and get the new form container
566
+ ooui.parse(arch, {
567
+ readOnly: readOnly,
568
+ values: __assign(__assign({}, values), getAdditionalValues()),
569
+ });
570
+ setFormOoui(ooui);
571
+ if (formModalContext && ooui.string)
572
+ (_b = formModalContext.setTitle) === null || _b === void 0 ? void 0 : _b.call(formModalContext, ooui.string);
573
+ };
574
+ var checkFieldsChanges = function (_a) {
575
+ var _b = _a.elementHasLostFocus, elementHasLostFocus = _b === void 0 ? false : _b;
576
+ return __awaiter(_this, void 0, void 0, function () {
577
+ var touchedValues, changedFields, values;
578
+ return __generator(this, function (_c) {
579
+ if (formSubmitting.current)
580
+ return [2 /*return*/];
581
+ touchedValues = formHelper_1.getTouchedValues({
582
+ source: lastAssignedValues.current,
583
+ target: getCurrentValues(fields),
584
+ fields: fields,
585
+ });
586
+ changedFields = Object.keys(touchedValues);
587
+ if (changedFields.length !== 0) {
588
+ // We check if there are any field of type text, email, url or char inside the changed values
589
+ // in order to ignore the call, because it will fire when element lost focus
590
+ if (formHelper_1.checkFieldsType({
591
+ changedFields: changedFields,
592
+ fields: fields,
593
+ types: [
594
+ "text",
595
+ "email",
596
+ "url",
597
+ "char",
598
+ "float",
599
+ "float_time",
600
+ "integer",
601
+ "many2one",
602
+ ],
603
+ }) &&
604
+ elementHasLostFocus !== true) {
605
+ return [2 /*return*/];
606
+ }
607
+ else {
608
+ values = formHelper_1.processValues(antForm.getFieldsValue(true), fields);
609
+ lastAssignedValues.current = values;
610
+ onFieldsChange === null || onFieldsChange === void 0 ? void 0 : onFieldsChange(values);
611
+ setFormHasChanges === null || setFormHasChanges === void 0 ? void 0 : setFormHasChanges(true);
612
+ evaluateChanges(changedFields);
613
+ }
614
+ }
615
+ return [2 /*return*/];
616
+ });
617
+ });
618
+ };
619
+ var debouncedCheckFieldsChanges = debounce_1.default(checkFieldsChanges, 100);
620
+ var evaluateChanges = function (changedFields) { return __awaiter(_this, void 0, void 0, function () {
621
+ var i, changedField, err_3;
622
+ return __generator(this, function (_a) {
623
+ switch (_a.label) {
624
+ case 0:
625
+ _a.trys.push([0, 5, , 6]);
626
+ i = 0;
627
+ _a.label = 1;
628
+ case 1:
629
+ if (!(i < changedFields.length)) return [3 /*break*/, 4];
630
+ changedField = changedFields[i];
631
+ return [4 /*yield*/, processFieldOnChange(changedField)];
632
+ case 2:
633
+ _a.sent();
634
+ _a.label = 3;
635
+ case 3:
636
+ i += 1;
637
+ return [3 /*break*/, 1];
638
+ case 4: return [3 /*break*/, 6];
639
+ case 5:
640
+ err_3 = _a.sent();
641
+ ActionErrorDialog_1.default(err_3);
642
+ return [3 /*break*/, 6];
643
+ case 6: return [2 /*return*/];
644
+ }
645
+ });
646
+ }); };
647
+ var processFieldOnChange = function (fieldName) { return __awaiter(_this, void 0, void 0, function () {
648
+ var onChangeFieldAction, currentValues, payload, response, processedValues, _a, title, message, proccessedFields;
649
+ return __generator(this, function (_b) {
650
+ switch (_b.label) {
651
+ case 0:
652
+ onChangeFieldAction = formOoui === null || formOoui === void 0 ? void 0 : formOoui.onChangeFields[fieldName];
653
+ currentValues = formHelper_1.processValues(antForm.getFieldsValue(true), fields);
654
+ if (!onChangeFieldAction) {
655
+ parseForm({
656
+ fields: fields,
657
+ arch: arch,
658
+ values: currentValues,
659
+ });
660
+ return [2 /*return*/];
661
+ }
662
+ payload = formHelper_1.getOnChangePayload({
663
+ values: __assign(__assign({}, currentValues), { context: __assign(__assign({}, parentContext), formOoui === null || formOoui === void 0 ? void 0 : formOoui.context) }),
664
+ onChangeFieldActionArgs: onChangeFieldAction.args,
665
+ });
666
+ return [4 /*yield*/, ConnectionProvider_1.default.getHandler().executeOnChange({
667
+ model: model,
668
+ action: onChangeFieldAction.method,
669
+ ids: getCurrentId() ? [getCurrentId()] : [],
670
+ payload: payload,
671
+ fields: fields,
672
+ })];
673
+ case 1:
674
+ response = _b.sent();
675
+ if (response.value) {
676
+ processedValues = __assign(__assign({}, currentValues), response.value);
677
+ parseForm({ fields: fields, arch: arch, values: processedValues });
678
+ assignNewValuesToForm({
679
+ values: processedValues,
680
+ fields: fields,
681
+ reset: false,
682
+ });
683
+ }
684
+ if (response.warning &&
685
+ response.warning.title &&
686
+ response.warning.message &&
687
+ !warningIsShown.current) {
688
+ _a = response.warning, title = _a.title, message = _a.message;
689
+ warningIsShown.current = true;
690
+ WarningDialog_1.default(title, message, function () {
691
+ warningIsShown.current = false;
692
+ });
693
+ }
694
+ if (response.domain) {
695
+ proccessedFields = formHelper_1.mergeFieldsDomain({
696
+ fieldsDomain: response.domain,
697
+ fields: fields,
698
+ });
699
+ parseForm({
700
+ fields: proccessedFields,
701
+ arch: arch,
702
+ values: currentValues,
703
+ });
704
+ setFields(proccessedFields);
705
+ }
706
+ return [2 /*return*/];
707
+ }
708
+ });
709
+ }); };
710
+ function runObjectButton(_a) {
711
+ var action = _a.action, context = _a.context;
712
+ return __awaiter(this, void 0, void 0, function () {
713
+ var response;
714
+ return __generator(this, function (_b) {
715
+ switch (_b.label) {
716
+ case 0: return [4 /*yield*/, ConnectionProvider_1.default.getHandler().execute({
717
+ model: model,
718
+ action: action,
719
+ payload: [getCurrentId()],
720
+ context: __assign(__assign(__assign({}, context), formOoui === null || formOoui === void 0 ? void 0 : formOoui.context), parentContext),
721
+ })];
722
+ case 1:
723
+ response = _b.sent();
724
+ if (!(typeof response === "object" &&
725
+ response !== null &&
726
+ Object.keys(response).length === 0 &&
727
+ insideButtonModal)) return [3 /*break*/, 2];
728
+ onSubmitSucceed === null || onSubmitSucceed === void 0 ? void 0 : onSubmitSucceed(getCurrentId(), getValues(), getFormValues());
729
+ return [3 /*break*/, 7];
730
+ case 2:
731
+ if (!(response.type &&
732
+ response.type === "ir.actions.act_window_close")) return [3 /*break*/, 3];
733
+ onSubmitSucceed === null || onSubmitSucceed === void 0 ? void 0 : onSubmitSucceed(getCurrentId(), getValues(), getFormValues());
734
+ return [3 /*break*/, 7];
735
+ case 3:
736
+ if (!response.type) return [3 /*break*/, 5];
737
+ return [4 /*yield*/, runAction({ actionData: response, context: context })];
738
+ case 4:
739
+ _b.sent();
740
+ return [3 /*break*/, 7];
741
+ case 5: return [4 /*yield*/, fetchValues()];
742
+ case 6:
743
+ _b.sent();
744
+ _b.label = 7;
745
+ case 7: return [2 /*return*/];
746
+ }
747
+ });
748
+ });
749
+ }
750
+ function runWorkflowButton(_a) {
751
+ var action = _a.action;
752
+ return __awaiter(this, void 0, void 0, function () {
753
+ var response;
754
+ return __generator(this, function (_b) {
755
+ switch (_b.label) {
756
+ case 0: return [4 /*yield*/, ConnectionProvider_1.default.getHandler().executeWorkflow({
757
+ model: model,
758
+ action: action,
759
+ payload: getCurrentId(),
760
+ })];
761
+ case 1:
762
+ response = _b.sent();
763
+ if (!(response.type && response.type === "ir.actions.act_window_close")) return [3 /*break*/, 2];
764
+ onSubmitSucceed === null || onSubmitSucceed === void 0 ? void 0 : onSubmitSucceed(getCurrentId(), getValues(), getFormValues());
765
+ return [3 /*break*/, 4];
766
+ case 2: return [4 /*yield*/, fetchValues()];
767
+ case 3:
768
+ _b.sent();
769
+ _b.label = 4;
770
+ case 4: return [2 /*return*/];
771
+ }
772
+ });
773
+ });
774
+ }
775
+ function runActionButton(_a) {
776
+ var action = _a.action, context = _a.context;
777
+ return __awaiter(this, void 0, void 0, function () {
778
+ var actionData;
779
+ return __generator(this, function (_b) {
780
+ switch (_b.label) {
781
+ case 0: return [4 /*yield*/, ConnectionProvider_1.default.getHandler().readObjects({
782
+ model: "ir.actions.actions",
783
+ ids: [parseInt(action)],
784
+ context: parentContext,
785
+ })];
786
+ case 1:
787
+ actionData = (_b.sent())[0];
788
+ return [4 /*yield*/, runAction({ actionData: actionData, context: context })];
789
+ case 2:
790
+ _b.sent();
791
+ return [2 /*return*/];
792
+ }
793
+ });
794
+ });
795
+ }
796
+ function runAction(_a) {
797
+ var actionData = _a.actionData, context = _a.context;
798
+ return __awaiter(this, void 0, void 0, function () {
799
+ var closeParent;
800
+ return __generator(this, function (_b) {
801
+ switch (_b.label) {
802
+ case 0: return [4 /*yield*/, (processAction === null || processAction === void 0 ? void 0 : processAction({
803
+ actionData: actionData,
804
+ fields: fields,
805
+ values: getValues(),
806
+ context: __assign(__assign(__assign({}, context), parentContext), formOoui === null || formOoui === void 0 ? void 0 : formOoui.context),
807
+ onRefreshParentValues: function () {
808
+ fetchValues();
809
+ },
810
+ }))];
811
+ case 1:
812
+ closeParent = ((_b.sent()) || {}).closeParent;
813
+ if (!rootForm && closeParent) {
814
+ onSubmitSucceed === null || onSubmitSucceed === void 0 ? void 0 : onSubmitSucceed(getCurrentId(), getValues(), getFormValues());
815
+ }
816
+ return [2 /*return*/];
817
+ }
818
+ });
819
+ });
820
+ }
821
+ function elementHasLostFocus() {
822
+ checkFieldsChanges({ elementHasLostFocus: true });
823
+ }
824
+ function executeButtonAction(_a) {
825
+ var type = _a.type, action = _a.action, context = _a.context;
826
+ return __awaiter(this, void 0, void 0, function () {
827
+ var err_4;
828
+ return __generator(this, function (_b) {
829
+ switch (_b.label) {
830
+ case 0:
831
+ // If the type of the button it's a cancel, we just close our form
832
+ if (type === "cancel") {
833
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel();
834
+ return [2 /*return*/];
835
+ }
836
+ return [4 /*yield*/, checkIfFormHasErrors()];
837
+ case 1:
838
+ // We check for required fields
839
+ if (_b.sent()) {
840
+ FormErrorsDialog_1.default(lang);
841
+ return [2 /*return*/];
842
+ }
843
+ _b.label = 2;
844
+ case 2:
845
+ _b.trys.push([2, 10, , 11]);
846
+ return [4 /*yield*/, submitForm({ callOnSubmitSucceed: false })];
847
+ case 3:
848
+ _b.sent();
849
+ if (!(type === "object")) return [3 /*break*/, 5];
850
+ return [4 /*yield*/, runObjectButton({ action: action, context: context })];
851
+ case 4:
852
+ _b.sent();
853
+ return [3 /*break*/, 9];
854
+ case 5:
855
+ if (!(type === "workflow")) return [3 /*break*/, 7];
856
+ return [4 /*yield*/, runWorkflowButton({ action: action })];
857
+ case 6:
858
+ _b.sent();
859
+ return [3 /*break*/, 9];
860
+ case 7:
861
+ if (!(type === "action")) return [3 /*break*/, 9];
862
+ return [4 /*yield*/, runActionButton({ action: action, context: context })];
863
+ case 8:
864
+ _b.sent();
865
+ _b.label = 9;
866
+ case 9: return [3 /*break*/, 11];
867
+ case 10:
868
+ err_4 = _b.sent();
869
+ ActionErrorDialog_1.default(err_4);
870
+ return [3 /*break*/, 11];
871
+ case 11: return [2 /*return*/];
872
+ }
873
+ });
874
+ });
875
+ }
876
+ var content = function () {
877
+ if (!formOoui && !error) {
878
+ return react_1.default.createElement(antd_1.Spin, null);
879
+ }
880
+ if (!model && !formViewProps) {
881
+ return null;
882
+ }
883
+ if (!visible) {
884
+ return null;
885
+ }
886
+ return (react_1.default.createElement(react_1.default.Fragment, null,
887
+ react_1.default.createElement(FormContext_1.default, { getValues: getValues, getFields: getFields, domain: actionDomain, activeId: id, activeModel: model, setFieldValue: setFieldValue, getFieldValue: getFieldValue, executeButtonAction: executeButtonAction, getContext: getContext, setOriginalValue: setOriginalValue, submitForm: submitForm, fetchValues: fetchValues, formHasChanges: formHasChanges, elementHasLostFocus: elementHasLostFocus },
888
+ react_1.default.createElement(antd_1.Form, { form: antForm, onFieldsChange: function () {
889
+ debouncedCheckFieldsChanges({ elementHasLostFocus: false });
890
+ }, component: false, preserve: false }, formOoui && (react_1.default.createElement(Container_1.default, { container: formOoui.container, responsiveBehaviour: responsiveBehaviour }))))));
891
+ };
892
+ var footer = function () {
893
+ return (react_1.default.createElement(react_1.default.Fragment, null,
894
+ react_1.default.createElement(antd_1.Divider, null),
895
+ react_1.default.createElement(antd_1.Row, { justify: "end" },
896
+ react_1.default.createElement(antd_1.Space, null,
897
+ react_1.default.createElement(antd_1.Button, { icon: react_1.default.createElement(icons_1.CloseOutlined, null), disabled: isSubmitting, onClick: function () { return __awaiter(_this, void 0, void 0, function () {
898
+ return __generator(this, function (_a) {
899
+ switch (_a.label) {
900
+ case 0: return [4 /*yield*/, cancelUnsavedChanges()];
901
+ case 1:
902
+ _a.sent();
903
+ return [2 /*return*/];
904
+ }
905
+ });
906
+ }); } }, "Cancel"),
907
+ react_1.default.createElement(antd_1.Button, { disabled: isSubmitting || readOnly, loading: isSubmitting, icon: react_1.default.createElement(icons_1.CheckOutlined, null), onClick: function () { return __awaiter(_this, void 0, void 0, function () {
908
+ return __generator(this, function (_a) {
909
+ switch (_a.label) {
910
+ case 0: return [4 /*yield*/, submitForm()];
911
+ case 1:
912
+ _a.sent();
913
+ return [2 /*return*/];
914
+ }
915
+ });
916
+ }); }, type: "primary" }, "OK")))));
917
+ };
918
+ if (!visible) {
919
+ return null;
920
+ }
921
+ return (react_1.default.createElement(react_measure_1.default, { bounds: true, onResize: function (contentRect) {
922
+ var _a;
923
+ setContainerWidth((_a = contentRect.bounds) === null || _a === void 0 ? void 0 : _a.width);
924
+ } }, function (_a) {
925
+ var measureRef = _a.measureRef;
926
+ return (react_1.default.createElement("div", { className: "pb-2", ref: measureRef },
927
+ error && (react_1.default.createElement(antd_1.Alert, { className: "mt-10 mb-20", message: JSON.stringify(error), type: "error", banner: true })),
928
+ content(),
929
+ showFooter && footer()));
930
+ }));
931
+ }
932
+ exports.default = react_1.forwardRef(Form);
933
+ //# sourceMappingURL=Form.js.map