nuudel-core 0.1.6 → 0.1.13

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 (301) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/build/main/lib/common/DelayedRender.js +38 -0
  3. package/build/main/lib/common/coreComponent.js +203 -0
  4. package/build/main/lib/components/Box/index.js +9 -0
  5. package/build/main/lib/components/Button/{index.jsx → index.js} +4 -5
  6. package/build/main/lib/components/Checkbox/index.js +9 -0
  7. package/build/main/lib/components/Choices/index.js +23 -0
  8. package/build/main/lib/components/ColorBox/index.js +45 -0
  9. package/build/main/lib/components/Container/{index.jsx → index.js} +3 -4
  10. package/build/main/lib/components/Dialog/{index.jsx → index.js} +3 -19
  11. package/build/main/lib/components/Divider/index.js +9 -0
  12. package/build/main/lib/components/Drawer/{index.jsx → index.js} +5 -10
  13. package/build/main/lib/components/Grid/index.js +9 -0
  14. package/build/main/lib/components/IFrame/index.js +81 -0
  15. package/build/main/lib/components/Image/{index.jsx → index.js} +4 -9
  16. package/build/main/lib/components/Link/index.js +53 -0
  17. package/build/main/lib/components/Map/index.d.ts +1 -0
  18. package/build/main/lib/components/Map/index.js +34 -0
  19. package/build/main/lib/components/Material/ErrorMessage.js +49 -0
  20. package/build/main/lib/components/Material/Snackbar.js +28 -0
  21. package/build/main/lib/components/Material/SuccessMessage.d.ts +1 -0
  22. package/build/main/lib/components/Material/SuccessMessage.js +46 -0
  23. package/build/main/lib/components/Material/styles.module.scss +14 -0
  24. package/build/main/lib/components/Menu/index.js +23 -0
  25. package/build/main/lib/components/MessageBar/{index.jsx → index.js} +8 -14
  26. package/build/main/lib/components/MessageBox/{index.jsx → index.js} +3 -19
  27. package/build/main/lib/components/MultiSelect/index.js +52 -0
  28. package/build/main/lib/components/NoSsr/index.js +13 -0
  29. package/build/main/lib/components/NumberFormatInput/{index.jsx → index.js} +4 -3
  30. package/build/main/lib/components/Rating/index.js +12 -0
  31. package/build/main/lib/components/ReCaptcha/index.js +56 -0
  32. package/build/main/lib/components/Select/{index.jsx → index.js} +3 -7
  33. package/build/main/lib/components/Slider/index.js +9 -0
  34. package/build/main/lib/components/Slideshow/index.js +77 -0
  35. package/build/main/lib/components/Slideshow/styles.module.scss +53 -0
  36. package/build/main/lib/components/Spinner/{index.jsx → index.js} +4 -9
  37. package/build/main/lib/components/Stepper/index.js +76 -0
  38. package/build/main/lib/components/Switch/index.js +23 -0
  39. package/build/main/lib/components/TagsInput/{index.jsx → index.js} +1 -1
  40. package/build/main/lib/components/Text/index.js +33 -0
  41. package/build/main/lib/components/TextField/{index.jsx → index.js} +3 -4
  42. package/build/main/lib/components/Tooltip/index.js +9 -0
  43. package/build/main/lib/components/Upload/Style.js +74 -0
  44. package/build/main/lib/components/Upload/{index.jsx → index.js} +17 -40
  45. package/build/main/lib/components/Upload/resizeImage.js +42 -0
  46. package/build/main/lib/components/styles.module.scss +17 -0
  47. package/build/main/lib/controls/formFields/DateFormField.js +22 -0
  48. package/build/main/lib/controls/formFields/{FileUploadField.jsx → FileUploadField.js} +3 -10
  49. package/build/main/lib/controls/formFields/FormField.js +18 -0
  50. package/build/main/lib/controls/formFields/LookupField.js +87 -0
  51. package/build/main/lib/controls/formFields/RNFieldBooleanEdit.js +22 -0
  52. package/build/main/lib/controls/formFields/RNFieldChoiceEdit.js +83 -0
  53. package/build/main/lib/controls/formFields/{RNFieldCore.jsx → RNFieldCore.js} +1 -1
  54. package/build/main/lib/controls/formFields/RNFieldDateEdit.js +30 -0
  55. package/build/main/lib/controls/formFields/RNFieldImageDisplay.js +42 -0
  56. package/build/main/lib/controls/formFields/RNFieldImageEdit.js +17 -0
  57. package/build/main/lib/controls/formFields/RNFieldLookupDisplay.js +23 -0
  58. package/build/main/lib/controls/formFields/RNFieldLookupEdit.js +29 -0
  59. package/build/main/lib/controls/formFields/RNFieldNumberEdit.js +33 -0
  60. package/build/main/lib/controls/formFields/RNFieldObjectDisplay.js +17 -0
  61. package/build/main/lib/controls/formFields/RNFieldObjectEdit.js +25 -0
  62. package/build/main/lib/controls/formFields/RNFieldTextDisplay.js +18 -0
  63. package/build/main/lib/controls/formFields/RNFieldTextEdit.js +25 -0
  64. package/build/main/lib/controls/formFields/RNFieldUrlDisplay.js +33 -0
  65. package/build/main/lib/controls/formFields/RNFieldUrlEdit.js +23 -0
  66. package/build/main/lib/controls/formFields/{RNFormField.jsx → RNFormField.js} +5 -16
  67. package/build/main/lib/controls/formFields/styles.module.scss +92 -0
  68. package/build/main/lib/forms/DetailForm/DetailForm.js +412 -0
  69. package/build/main/lib/forms/DetailForm/IFormProps.js +3 -0
  70. package/build/main/lib/forms/Forms/{index.jsx → index.js} +3 -3
  71. package/build/main/lib/hocs/withApollo/index.js +116 -0
  72. package/build/main/lib/hocs/withApollo/{resolvers.jsx → resolvers.js} +1 -1
  73. package/build/main/lib/hocs/withContext/{index.jsx → index.js} +3 -4
  74. package/build/main/lib/hocs/withReducer/index.js +27 -0
  75. package/build/main/lib/hocs/withRedux/index.js +57 -0
  76. package/build/main/lib/redux/reducers/{index.jsx → index.js} +1 -1
  77. package/build/main/lib/redux/reduxCore.js +21 -0
  78. package/build/main/lib/redux/store/{index.jsx → index.js} +1 -1
  79. package/build/main/lib/services/ListFormService.js +819 -0
  80. package/build/main/lib/services/{graphqlSchema.jsx → graphqlSchema.js} +1 -1
  81. package/build/main/lib/theme/styles/styles.module.scss +180 -0
  82. package/build/module/lib/common/DelayedRender.js +32 -0
  83. package/build/module/lib/common/coreComponent.js +205 -0
  84. package/build/module/lib/components/Box/index.js +5 -0
  85. package/build/module/lib/components/Button/{index.jsx → index.js} +4 -5
  86. package/build/module/lib/components/Checkbox/index.js +5 -0
  87. package/build/module/lib/components/Choices/index.js +5 -0
  88. package/build/module/lib/components/ColorBox/index.js +40 -0
  89. package/build/module/lib/components/Container/{index.jsx → index.js} +3 -4
  90. package/build/module/lib/components/Dialog/{index.jsx → index.js} +3 -19
  91. package/build/module/lib/components/Divider/index.js +5 -0
  92. package/build/module/lib/components/Drawer/{index.jsx → index.js} +5 -10
  93. package/build/module/lib/components/Grid/index.js +5 -0
  94. package/build/module/lib/components/IFrame/index.js +79 -0
  95. package/build/module/lib/components/Image/index.js +20 -0
  96. package/build/module/lib/components/Link/index.js +35 -0
  97. package/build/module/lib/components/Map/index.d.ts +1 -0
  98. package/build/module/lib/components/Map/index.js +29 -0
  99. package/build/module/lib/components/Material/ErrorMessage.js +32 -0
  100. package/build/module/lib/components/Material/Snackbar.js +22 -0
  101. package/build/module/lib/components/Material/SuccessMessage.d.ts +1 -0
  102. package/build/module/lib/components/Material/SuccessMessage.js +39 -0
  103. package/build/module/lib/components/Material/styles.module.scss +14 -0
  104. package/build/module/lib/components/Menu/index.js +5 -0
  105. package/build/module/lib/components/MessageBar/{index.jsx → index.js} +8 -14
  106. package/build/module/lib/components/MessageBox/{index.jsx → index.js} +3 -19
  107. package/build/module/lib/components/MultiSelect/index.js +46 -0
  108. package/build/module/lib/components/NoSsr/index.js +8 -0
  109. package/build/module/lib/components/NumberFormatInput/index.js +12 -0
  110. package/build/module/lib/components/Rating/index.js +5 -0
  111. package/build/module/lib/components/ReCaptcha/index.js +54 -0
  112. package/build/module/lib/components/Select/{index.jsx → index.js} +3 -7
  113. package/build/module/lib/components/Slider/index.js +5 -0
  114. package/build/module/lib/components/Slideshow/index.js +51 -0
  115. package/build/module/lib/components/Slideshow/styles.module.scss +53 -0
  116. package/build/module/lib/components/Spinner/{index.jsx → index.js} +4 -9
  117. package/build/module/lib/components/Stepper/index.js +60 -0
  118. package/build/module/lib/components/Switch/index.js +5 -0
  119. package/build/module/lib/components/TagsInput/index.js +3 -0
  120. package/build/module/lib/components/Text/index.js +7 -0
  121. package/build/module/lib/components/TextField/{index.jsx → index.js} +4 -5
  122. package/build/module/lib/components/Tooltip/index.js +5 -0
  123. package/build/module/lib/components/Upload/Style.js +71 -0
  124. package/build/module/lib/components/Upload/{index.jsx → index.js} +17 -40
  125. package/build/module/lib/components/Upload/resizeImage.js +35 -0
  126. package/build/module/lib/components/styles.module.scss +17 -0
  127. package/build/module/lib/controls/formFields/DateFormField.js +17 -0
  128. package/build/module/lib/controls/formFields/{FileUploadField.jsx → FileUploadField.js} +3 -10
  129. package/build/module/lib/controls/formFields/FormField.js +13 -0
  130. package/build/module/lib/controls/formFields/LookupField.js +79 -0
  131. package/build/module/lib/controls/formFields/RNFieldBooleanEdit.js +17 -0
  132. package/build/module/lib/controls/formFields/RNFieldChoiceEdit.js +77 -0
  133. package/build/module/lib/controls/formFields/RNFieldCore.js +18 -0
  134. package/build/module/lib/controls/formFields/RNFieldDateEdit.js +22 -0
  135. package/build/module/lib/controls/formFields/RNFieldImageDisplay.js +37 -0
  136. package/build/module/lib/controls/formFields/RNFieldImageEdit.js +11 -0
  137. package/build/module/lib/controls/formFields/RNFieldLookupDisplay.js +18 -0
  138. package/build/module/lib/controls/formFields/RNFieldLookupEdit.js +23 -0
  139. package/build/module/lib/controls/formFields/RNFieldNumberEdit.js +27 -0
  140. package/build/module/lib/controls/formFields/RNFieldObjectDisplay.js +12 -0
  141. package/build/module/lib/controls/formFields/RNFieldObjectEdit.js +19 -0
  142. package/build/module/lib/controls/formFields/RNFieldTextDisplay.js +13 -0
  143. package/build/module/lib/controls/formFields/RNFieldTextEdit.js +19 -0
  144. package/build/module/lib/controls/formFields/RNFieldUrlDisplay.js +25 -0
  145. package/build/module/lib/controls/formFields/RNFieldUrlEdit.js +17 -0
  146. package/build/module/lib/controls/formFields/{RNFormField.jsx → RNFormField.js} +5 -16
  147. package/build/module/lib/controls/formFields/styles.module.scss +92 -0
  148. package/build/module/lib/forms/DetailForm/DetailForm.js +406 -0
  149. package/build/module/lib/forms/DetailForm/IFormProps.js +2 -0
  150. package/build/module/lib/forms/Forms/index.js +14 -0
  151. package/build/module/lib/hocs/withApollo/index.js +111 -0
  152. package/build/module/lib/hocs/withApollo/resolvers.js +45 -0
  153. package/build/module/lib/hocs/withContext/{index.jsx → index.js} +4 -5
  154. package/build/module/lib/hocs/withReducer/index.js +25 -0
  155. package/build/module/lib/hocs/withRedux/index.js +55 -0
  156. package/build/module/lib/redux/reducers/index.js +9 -0
  157. package/build/module/lib/redux/reduxCore.js +16 -0
  158. package/build/module/lib/redux/store/index.js +8 -0
  159. package/build/module/lib/services/ListFormService.js +813 -0
  160. package/build/module/lib/services/graphqlSchema.js +25 -0
  161. package/build/module/lib/theme/styles/styles.module.scss +180 -0
  162. package/package.json +14 -9
  163. package/build/main/lib/common/DelayedRender.jsx +0 -38
  164. package/build/main/lib/common/coreComponent.jsx +0 -203
  165. package/build/main/lib/components/Box/index.jsx +0 -12
  166. package/build/main/lib/components/Checkbox/index.jsx +0 -12
  167. package/build/main/lib/components/Choices/index.jsx +0 -28
  168. package/build/main/lib/components/ColorBox/index.jsx +0 -45
  169. package/build/main/lib/components/Divider/index.jsx +0 -12
  170. package/build/main/lib/components/Grid/index.jsx +0 -12
  171. package/build/main/lib/components/IFrame/index.jsx +0 -99
  172. package/build/main/lib/components/Link/index.jsx +0 -64
  173. package/build/main/lib/components/Map/index.jsx +0 -59
  174. package/build/main/lib/components/Material/ErrorMessage.jsx +0 -66
  175. package/build/main/lib/components/Material/Snackbar.jsx +0 -36
  176. package/build/main/lib/components/Material/SuccessMessage.jsx +0 -50
  177. package/build/main/lib/components/Menu/index.jsx +0 -31
  178. package/build/main/lib/components/MultiSelect/index.jsx +0 -63
  179. package/build/main/lib/components/NoSsr/index.jsx +0 -12
  180. package/build/main/lib/components/Rating/index.jsx +0 -12
  181. package/build/main/lib/components/ReCaptcha/index.jsx +0 -80
  182. package/build/main/lib/components/Slider/index.jsx +0 -12
  183. package/build/main/lib/components/Slideshow/index.jsx +0 -93
  184. package/build/main/lib/components/Stepper/index.jsx +0 -86
  185. package/build/main/lib/components/Switch/index.jsx +0 -26
  186. package/build/main/lib/components/Text/index.jsx +0 -42
  187. package/build/main/lib/components/Tooltip/index.jsx +0 -12
  188. package/build/main/lib/components/Upload/Style.jsx +0 -74
  189. package/build/main/lib/components/Upload/resizeImage.jsx +0 -42
  190. package/build/main/lib/controls/formFields/DateFormField.jsx +0 -22
  191. package/build/main/lib/controls/formFields/FormField.jsx +0 -35
  192. package/build/main/lib/controls/formFields/LookupField.jsx +0 -97
  193. package/build/main/lib/controls/formFields/MultiSelectField.d.ts +0 -22
  194. package/build/main/lib/controls/formFields/MultiSelectField.jsx +0 -63
  195. package/build/main/lib/controls/formFields/RNFieldBooleanEdit.jsx +0 -24
  196. package/build/main/lib/controls/formFields/RNFieldChoiceEdit.jsx +0 -92
  197. package/build/main/lib/controls/formFields/RNFieldDateEdit.jsx +0 -30
  198. package/build/main/lib/controls/formFields/RNFieldImageDisplay.jsx +0 -42
  199. package/build/main/lib/controls/formFields/RNFieldImageEdit.jsx +0 -17
  200. package/build/main/lib/controls/formFields/RNFieldLookupDisplay.jsx +0 -30
  201. package/build/main/lib/controls/formFields/RNFieldLookupEdit.jsx +0 -29
  202. package/build/main/lib/controls/formFields/RNFieldNumberEdit.jsx +0 -33
  203. package/build/main/lib/controls/formFields/RNFieldObjectDisplay.jsx +0 -17
  204. package/build/main/lib/controls/formFields/RNFieldObjectEdit.jsx +0 -25
  205. package/build/main/lib/controls/formFields/RNFieldTextDisplay.jsx +0 -18
  206. package/build/main/lib/controls/formFields/RNFieldTextEdit.jsx +0 -25
  207. package/build/main/lib/controls/formFields/RNFieldUrlDisplay.jsx +0 -35
  208. package/build/main/lib/controls/formFields/RNFieldUrlEdit.jsx +0 -23
  209. package/build/main/lib/forms/DetailForm/DetailForm.jsx +0 -445
  210. package/build/main/lib/forms/DetailForm/IFormProps.jsx +0 -3
  211. package/build/main/lib/forms/Material/ErrorMessage.d.ts +0 -4
  212. package/build/main/lib/forms/Material/ErrorMessage.jsx +0 -66
  213. package/build/main/lib/forms/Material/Snackbar.d.ts +0 -2
  214. package/build/main/lib/forms/Material/Snackbar.jsx +0 -36
  215. package/build/main/lib/forms/Material/SuccessMessage.d.ts +0 -6
  216. package/build/main/lib/forms/Material/SuccessMessage.jsx +0 -50
  217. package/build/main/lib/forms/Upload/Style.d.ts +0 -1
  218. package/build/main/lib/forms/Upload/Style.jsx +0 -74
  219. package/build/main/lib/forms/Upload/index.d.ts +0 -14
  220. package/build/main/lib/forms/Upload/index.jsx +0 -233
  221. package/build/main/lib/forms/Upload/resizeImage.d.ts +0 -2
  222. package/build/main/lib/forms/Upload/resizeImage.jsx +0 -49
  223. package/build/main/lib/hocs/withApollo/index.jsx +0 -136
  224. package/build/main/lib/hocs/withReducer/index.jsx +0 -47
  225. package/build/main/lib/hocs/withRedux/index.jsx +0 -59
  226. package/build/main/lib/redux/reduxCore.jsx +0 -21
  227. package/build/main/lib/services/ListFormService.jsx +0 -819
  228. package/build/module/lib/common/DelayedRender.jsx +0 -32
  229. package/build/module/lib/common/coreComponent.jsx +0 -205
  230. package/build/module/lib/components/Box/index.jsx +0 -5
  231. package/build/module/lib/components/Checkbox/index.jsx +0 -5
  232. package/build/module/lib/components/Choices/index.jsx +0 -7
  233. package/build/module/lib/components/ColorBox/index.jsx +0 -40
  234. package/build/module/lib/components/Divider/index.jsx +0 -5
  235. package/build/module/lib/components/Grid/index.jsx +0 -5
  236. package/build/module/lib/components/IFrame/index.jsx +0 -78
  237. package/build/module/lib/components/Image/index.jsx +0 -25
  238. package/build/module/lib/components/Link/index.jsx +0 -46
  239. package/build/module/lib/components/Map/index.jsx +0 -35
  240. package/build/module/lib/components/Material/ErrorMessage.jsx +0 -49
  241. package/build/module/lib/components/Material/Snackbar.jsx +0 -30
  242. package/build/module/lib/components/Material/SuccessMessage.jsx +0 -43
  243. package/build/module/lib/components/Menu/index.jsx +0 -10
  244. package/build/module/lib/components/MultiSelect/index.jsx +0 -57
  245. package/build/module/lib/components/NoSsr/index.jsx +0 -7
  246. package/build/module/lib/components/NumberFormatInput/index.jsx +0 -11
  247. package/build/module/lib/components/Rating/index.jsx +0 -5
  248. package/build/module/lib/components/ReCaptcha/index.jsx +0 -59
  249. package/build/module/lib/components/Slider/index.jsx +0 -5
  250. package/build/module/lib/components/Slideshow/index.jsx +0 -67
  251. package/build/module/lib/components/Stepper/index.jsx +0 -67
  252. package/build/module/lib/components/Switch/index.jsx +0 -5
  253. package/build/module/lib/components/TagsInput/index.jsx +0 -3
  254. package/build/module/lib/components/Text/index.jsx +0 -13
  255. package/build/module/lib/components/Tooltip/index.jsx +0 -5
  256. package/build/module/lib/components/Upload/Style.jsx +0 -71
  257. package/build/module/lib/components/Upload/resizeImage.jsx +0 -35
  258. package/build/module/lib/controls/formFields/DateFormField.jsx +0 -17
  259. package/build/module/lib/controls/formFields/FormField.jsx +0 -30
  260. package/build/module/lib/controls/formFields/LookupField.jsx +0 -89
  261. package/build/module/lib/controls/formFields/MultiSelectField.d.ts +0 -22
  262. package/build/module/lib/controls/formFields/MultiSelectField.jsx +0 -57
  263. package/build/module/lib/controls/formFields/RNFieldBooleanEdit.jsx +0 -19
  264. package/build/module/lib/controls/formFields/RNFieldChoiceEdit.jsx +0 -86
  265. package/build/module/lib/controls/formFields/RNFieldCore.jsx +0 -18
  266. package/build/module/lib/controls/formFields/RNFieldDateEdit.jsx +0 -22
  267. package/build/module/lib/controls/formFields/RNFieldImageDisplay.jsx +0 -37
  268. package/build/module/lib/controls/formFields/RNFieldImageEdit.jsx +0 -11
  269. package/build/module/lib/controls/formFields/RNFieldLookupDisplay.jsx +0 -25
  270. package/build/module/lib/controls/formFields/RNFieldLookupEdit.jsx +0 -23
  271. package/build/module/lib/controls/formFields/RNFieldNumberEdit.jsx +0 -27
  272. package/build/module/lib/controls/formFields/RNFieldObjectDisplay.jsx +0 -12
  273. package/build/module/lib/controls/formFields/RNFieldObjectEdit.jsx +0 -19
  274. package/build/module/lib/controls/formFields/RNFieldTextDisplay.jsx +0 -13
  275. package/build/module/lib/controls/formFields/RNFieldTextEdit.jsx +0 -19
  276. package/build/module/lib/controls/formFields/RNFieldUrlDisplay.jsx +0 -27
  277. package/build/module/lib/controls/formFields/RNFieldUrlEdit.jsx +0 -17
  278. package/build/module/lib/forms/DetailForm/DetailForm.jsx +0 -439
  279. package/build/module/lib/forms/DetailForm/IFormProps.jsx +0 -2
  280. package/build/module/lib/forms/Forms/index.jsx +0 -14
  281. package/build/module/lib/forms/Material/ErrorMessage.d.ts +0 -4
  282. package/build/module/lib/forms/Material/ErrorMessage.jsx +0 -49
  283. package/build/module/lib/forms/Material/Snackbar.d.ts +0 -2
  284. package/build/module/lib/forms/Material/Snackbar.jsx +0 -30
  285. package/build/module/lib/forms/Material/SuccessMessage.d.ts +0 -6
  286. package/build/module/lib/forms/Material/SuccessMessage.jsx +0 -43
  287. package/build/module/lib/forms/Upload/Style.d.ts +0 -1
  288. package/build/module/lib/forms/Upload/Style.jsx +0 -71
  289. package/build/module/lib/forms/Upload/index.d.ts +0 -14
  290. package/build/module/lib/forms/Upload/index.jsx +0 -197
  291. package/build/module/lib/forms/Upload/resizeImage.d.ts +0 -2
  292. package/build/module/lib/forms/Upload/resizeImage.jsx +0 -42
  293. package/build/module/lib/hocs/withApollo/index.jsx +0 -112
  294. package/build/module/lib/hocs/withApollo/resolvers.jsx +0 -45
  295. package/build/module/lib/hocs/withReducer/index.jsx +0 -26
  296. package/build/module/lib/hocs/withRedux/index.jsx +0 -57
  297. package/build/module/lib/redux/reducers/index.jsx +0 -9
  298. package/build/module/lib/redux/reduxCore.jsx +0 -16
  299. package/build/module/lib/redux/store/index.jsx +0 -8
  300. package/build/module/lib/services/ListFormService.jsx +0 -813
  301. package/build/module/lib/services/graphqlSchema.jsx +0 -25
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
- import { ControlMode } from 'nuudel-utils';
3
- import { TextField } from '../../components';
4
- import { t } from 'nuudel-utils';
5
- import { mapDispatchToProps, mapStateToProps, storeProps } from './RNFieldCore';
6
- import styles from './styles.module.scss';
7
- import { connect } from 'react-redux';
8
- const RNFieldUrlEdit = (props) => {
9
- const { disabled } = storeProps(props);
10
- return (<TextField className={styles.url} value={props.controlMode === ControlMode.New &&
11
- props.fieldSchema.DefaultValue &&
12
- typeof props.value === 'undefined'
13
- ? props.fieldSchema.DefaultValue
14
- : props.value} required={props?.required === true || props?.fieldSchema?.Required === true} fullWidth disabled={props.disabled || disabled} variant="outlined" type="url" inputProps={{ maxLength: 1024 }} onChange={(e) => props.valueChanged(e.target.value)} autoCapitalize={'none'} placeholder={t('UrlFormFieldPlaceholder')}/>);
15
- };
16
- export default connect(mapStateToProps, mapDispatchToProps)(RNFieldUrlEdit);
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUk5GaWVsZFVybEVkaXQuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250cm9scy9mb3JtRmllbGRzL1JORmllbGRVcmxFZGl0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLE1BQU0sTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRDLE1BQU0sY0FBYyxHQUErQyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzNFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsT0FBTyxDQUNMLENBQUMsU0FBUyxDQUNSLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FHdEIsS0FBSyxDQUFDLENBQ0osS0FBSyxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUMsR0FBRztZQUNyQyxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVk7WUFDOUIsT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFdBQVc7WUFDaEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWTtZQUNoQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FDaEIsQ0FDRCxRQUFRLENBQUMsQ0FDUCxLQUFLLEVBQUUsUUFBUSxLQUFLLElBQUksSUFBSSxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsS0FBSyxJQUFJLENBQ2xFLENBQ0QsU0FBUyxDQUNULFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQ3JDLE9BQU8sQ0FBQyxVQUFVLENBQ2xCLElBQUksQ0FBQyxLQUFLLENBQ1YsVUFBVSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDaEMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN6RCxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FDdkIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsRUFDMUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsZUFBZSxPQUFPLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMifQ==
@@ -1,439 +0,0 @@
1
- import React from 'react';
2
- import { coreComponent } from '../../common/coreComponent';
3
- import { ControlMode, Permission } from 'nuudel-utils';
4
- import styles from '../../theme/styles/styles.module.scss';
5
- import RNFormField from '../../controls/formFields/RNFormField';
6
- import { I8, t } from 'nuudel-utils';
7
- import { getRegex } from './regex';
8
- import { setFields, } from '../../redux/actions/fields';
9
- import { getFieldByName } from '../../redux/selector';
10
- import { Provider } from 'react-redux';
11
- import { Text, Button, Spinner, Label, Container, MessageBox, MessageBar, } from '../../components';
12
- import { closeDialog } from 'nuudel-utils';
13
- import { onError } from '../../common/helper';
14
- import { width, height } from '../../common/UI';
15
- import Router from 'next/router';
16
- export class DetailForm extends coreComponent {
17
- constructor(props) {
18
- super(props);
19
- this.state = {
20
- title: '',
21
- loading: false,
22
- isLoadingSchema: false,
23
- isLoadingData: false,
24
- fieldsSchema: [],
25
- isSaving: false,
26
- data: {},
27
- originalData: {},
28
- fieldErrors: {},
29
- notifications: [],
30
- showDialog: false,
31
- itemSaved: false,
32
- };
33
- }
34
- static defaultProps = {
35
- permission: Permission.Remove,
36
- };
37
- childState = (state) => {
38
- if (this._mounted) {
39
- this.setState({ ...state });
40
- }
41
- };
42
- getChildState = (name) => {
43
- if (!this._mounted) {
44
- return undefined;
45
- }
46
- return this.state[name];
47
- };
48
- dialogDelete = () => {
49
- this.setState({ showDialog: true });
50
- };
51
- BUTTONS = [t('Edit'), t('RemoveItem'), t('Cancel')];
52
- DESTRUCTIVE_INDEX = 1;
53
- CANCEL_INDEX = 2;
54
- render() {
55
- return (<Provider store={this._store}>
56
- {this.state.loading && <Spinner />}
57
- <Container className={styles.container}>
58
- {this.renderNotifications()}
59
- <MessageBox title={t('Delete')} description={t('AreYouSureToRemove')} show={this.state.showDialog} onSubmit={async () => {
60
- this.setState({ loading: true, showDialog: false });
61
- try {
62
- await this.props.lfs.deleteItem(this.props.listname, this.props.id);
63
- }
64
- catch { }
65
- this.setState({ loading: false });
66
- if (this.props.onCancel) {
67
- this.props.onCancel('');
68
- }
69
- if (this.props.IsDlg === true) {
70
- closeDialog(true);
71
- return;
72
- }
73
- }} onClose={() => {
74
- this.setState({ showDialog: false });
75
- }}/>
76
- {this.state.isLoadingSchema || this.state.isLoadingData ? (<div style={{
77
- minHeight: (height + width) / 2,
78
- alignItems: 'center',
79
- justifyContent: 'center',
80
- }}>
81
- <Spinner overflowHide color={'primary'}/>
82
- <Label className={styles.loadingLabel}>
83
- {t('LoadingFormIndicator')}
84
- </Label>
85
- </div>) : (this.state.fieldsSchema && (<div>
86
- {this.props.children}
87
- <form>{this.renderFields()}</form>
88
- {this.props.formType === ControlMode.Edit &&
89
- this.props.permission === Permission.Remove && (<Button style={{ marginRight: '16px' }} disabled={false} color="secondary" onClick={this.dialogDelete}>
90
- {t('DeleteButtonText')}
91
- </Button>)}
92
- {this.props.formType === ControlMode.Display ? (<Button style={{ marginRight: '16px' }} disabled={false} color="primary" onClick={() => {
93
- Router.push({
94
- pathname: `/forms/${this.props.listname}/${this.props.id}`,
95
- });
96
- }}>
97
- {t('Edit')}
98
- </Button>) : (<>
99
- <Button style={{ marginRight: '16px' }} disabled={this._saveButtonClicked} color="primary" onClick={this.saveItem}>
100
- {t('Save')}
101
- </Button>
102
- {this.state.isSaving && (<Spinner size={24} color="secondary"/>)}
103
- </>)}
104
- <Button style={{}} disabled={false} onClick={() => {
105
- if (this.props.onCancel) {
106
- this.props.onCancel('');
107
- }
108
- else if (this.props.IsDlg === true) {
109
- closeDialog(this.state.itemSaved);
110
- }
111
- else {
112
- Router.back();
113
- }
114
- }}>
115
- {t('Cancel')}
116
- </Button>
117
- </div>))}
118
- </Container>
119
- </Provider>);
120
- }
121
- showToast = (text, type = 'info', duration = 5000) => {
122
- if (text && this.state.notifications instanceof Array) {
123
- this.setState({
124
- notifications: [...this.state.notifications, { text, type, duration }],
125
- });
126
- }
127
- };
128
- doClose(idx = -1) {
129
- if (idx < 0) {
130
- idx = this.state.notifications.findIndex((n) => n?.type === 'success');
131
- }
132
- if (this.props.formType === ControlMode.Edit &&
133
- this.props.IsDlg === true &&
134
- idx >= 0 &&
135
- this.state.notifications[idx]?.type === 'success') {
136
- closeDialog(true);
137
- }
138
- }
139
- debounce = undefined;
140
- renderNotifications() {
141
- const { notifications } = this.state;
142
- if (notifications.length === 0) {
143
- return null;
144
- }
145
- clearTimeout(this.debounce);
146
- this.debounce = setTimeout(() => {
147
- if (this.state.notifications.length > 0) {
148
- this.doClose();
149
- this.setState({ notifications: [] });
150
- }
151
- }, notifications[0]?.duration || 5000);
152
- return (<div>
153
- {notifications.map((item, idx) => (<MessageBar key={idx} messageBarType={item.type || 'info'} onClose={(e) => this.clearNotification(idx)}>
154
- {item.text}
155
- </MessageBar>))}
156
- </div>);
157
- }
158
- clearNotification = (idx) => {
159
- this.doClose(idx);
160
- this.setState((prevState, props) => ({
161
- notifications: prevState.notifications.splice(idx, 1),
162
- }));
163
- };
164
- renderFields() {
165
- const { fieldsSchema, data, fieldErrors } = this.state;
166
- const fields = this.getFields();
167
- const fld = this._store.getState().fields;
168
- if (Object.keys(fld).length <= 1) {
169
- this._store.dispatch(setFields(this.initialStore(this.defaultFields, fields, data, this.props)));
170
- }
171
- return fields && fields.length > 0 ? (fields.map((field, idx) => {
172
- const fieldSchemas = fieldsSchema.filter((f) => f.InternalName === field.fieldName);
173
- if (fieldSchemas.length > 0) {
174
- const fieldSchema = fieldSchemas[0];
175
- const value = data[field.fieldName];
176
- const errorMessage = fieldErrors[field.fieldName];
177
- const langTag = I8.language.split('-')[0];
178
- let label = !!fieldSchema.JsonOption &&
179
- fieldSchema.JsonOption.hasOwnProperty(langTag) &&
180
- !!fieldSchema.JsonOption.langTag
181
- ? fieldSchema.JsonOption[langTag]
182
- : t(this.props.listname.toLowerCase() +
183
- '.' +
184
- fieldSchema.InternalName, {
185
- defaultValue: fieldSchema.Title,
186
- });
187
- if (typeof label === 'object') {
188
- label = fieldSchema.Title;
189
- }
190
- const fieldProps = {
191
- fieldSchema: fieldSchema,
192
- label: label,
193
- client: this.props.lfs.client,
194
- listname: this.props.listname,
195
- id: this.props.id,
196
- key: field.key,
197
- controlMode: this.props.formType,
198
- displaytype: getFieldByName(this._store.getState(), field.fieldName)
199
- .type,
200
- value: value,
201
- errorMessage: errorMessage,
202
- hideIfFieldUnsupported: !this.props.showUnsupportedFields,
203
- valueChanged: (val) => this.valueChanged(field.fieldName, val),
204
- };
205
- const fieldComponent = RNFormField(this.customInit(field.fieldName, fieldProps));
206
- return fieldComponent;
207
- }
208
- else {
209
- return null;
210
- }
211
- })) : (<Text className={styles.placeholder}>{t('NoFieldsAvailable')}</Text>);
212
- }
213
- customInit(fieldName, fldProps) {
214
- fldProps = super.customInit(fieldName, fldProps);
215
- switch (fieldName) {
216
- case '_id':
217
- break;
218
- default:
219
- break;
220
- }
221
- return fldProps;
222
- }
223
- componentDidMount() {
224
- super.componentDidMount();
225
- this.readSchema(this.props.listname, this.props.formType).then(() => this.readData(this.props.listname, this.props.formType, this.props.id));
226
- }
227
- componentDidUpdate(prevProps) {
228
- const Id = !!this.props.id && this.props.id !== prevProps.id
229
- ? this.props.id
230
- : prevProps.id;
231
- if (this.props.listname !== prevProps.listname ||
232
- this.props.formType !== prevProps.formType) {
233
- this.readSchema(this.props.listname, this.props.formType).then(() => this.readData(this.props.listname, this.props.formType, Id));
234
- }
235
- else if (this.props.id !== prevProps.id ||
236
- (typeof this.props.reload !== 'undefined' &&
237
- typeof prevProps.reload !== 'undefined' &&
238
- prevProps.reload < this.props.reload)) {
239
- this.readData(prevProps.listname, prevProps.formType, Id);
240
- }
241
- }
242
- componentWillUnmount() {
243
- super.componentWillUnmount();
244
- clearTimeout(this.debounce);
245
- }
246
- readSchema = async (listname, formType) => {
247
- try {
248
- if (!listname) {
249
- this.setState({
250
- isLoadingSchema: false,
251
- isLoadingData: false,
252
- fieldsSchema: [],
253
- });
254
- this.showToast(t('ConfigureListMessage'), 'error');
255
- return;
256
- }
257
- let fieldsSchema = await this.props.lfs.getFieldSchemasForForm(listname, formType);
258
- this.defaultFields = getRegex(this.props.listname);
259
- let flds = this.defaultFields.filter((fld) => fld.hasOwnProperty('DefaultValue'));
260
- fieldsSchema.forEach((fSch) => {
261
- for (let i = 0; i < flds.length; i++) {
262
- if (flds[i].field === fSch.InternalName) {
263
- fSch.DefaultValue = flds[i].DefaultValue;
264
- break;
265
- }
266
- }
267
- });
268
- this.setState({
269
- isLoadingSchema: false,
270
- isLoadingData: true,
271
- fieldsSchema,
272
- });
273
- }
274
- catch (error) {
275
- const errorText = `${t('ErrorLoadingSchema')}${listname}: ${error}`;
276
- this.showToast(errorText, 'error');
277
- this.setState({
278
- isLoadingSchema: false,
279
- isLoadingData: false,
280
- fieldsSchema: [],
281
- });
282
- }
283
- };
284
- readData = async (listname, formType, id) => {
285
- const { fieldsSchema } = this.state;
286
- try {
287
- if (formType === ControlMode.New || !id) {
288
- const data = fieldsSchema.reduce((newData, fld) => {
289
- newData[fld.InternalName] = fld.DefaultValue;
290
- return newData;
291
- }, {});
292
- this.setState({
293
- data: data,
294
- originalData: { ...data },
295
- fieldErrors: {},
296
- isLoadingData: false,
297
- });
298
- return;
299
- }
300
- const dataObj = this.convertFromHierarchy(await this.props.lfs.itemById(listname, id, fieldsSchema));
301
- const dataObjOriginal = { ...dataObj };
302
- this.setState({
303
- data: dataObj,
304
- originalData: dataObjOriginal,
305
- fieldErrors: {},
306
- isLoadingData: false,
307
- });
308
- }
309
- catch (error) {
310
- const errorText = `${t('ErrorLoadingData')}${id}: ${error}`;
311
- this.showToast(errorText, 'error');
312
- this.setState({
313
- data: {},
314
- originalData: {},
315
- fieldErrors: {},
316
- isLoadingData: false,
317
- });
318
- }
319
- };
320
- customActions(fieldName, newValue) {
321
- super.customActions(fieldName, newValue);
322
- }
323
- valueChanged = (fieldName, newValue) => {
324
- this.customActions(fieldName, newValue);
325
- this.setState((prevState, props) => {
326
- const fld = prevState.fieldsSchema.filter((item) => item.InternalName === fieldName);
327
- return {
328
- data: { ...prevState.data, [fieldName]: newValue },
329
- fieldErrors: {
330
- ...prevState.fieldErrors,
331
- [fieldName]: this.DoRegex(fld.length > 0 && fld[0].Required, newValue, fieldName),
332
- },
333
- };
334
- });
335
- };
336
- saveItem = async () => {
337
- if (this._saveButtonClicked) {
338
- return;
339
- }
340
- else {
341
- this._saveButtonClicked = true;
342
- }
343
- if (!this.state.isSaving) {
344
- this.setState({ isSaving: true });
345
- }
346
- try {
347
- let updatedValues = await this.PreSaveAction(this.state.data, this.state.fieldsSchema, this.props.id ? this.props.id : '');
348
- let hadErrors = false;
349
- let errorText = t('FieldsErrorOnSaving');
350
- if (updatedValues.length === 0) {
351
- try {
352
- if (!this.props.id) {
353
- updatedValues = await this.props.lfs.createItem(this.props.listname, this.state.data, this.state.fieldsSchema);
354
- }
355
- else {
356
- updatedValues = await this.props.lfs.updateItem(this.props.listname, this.props.id, this.state.data, this.state.originalData, this.state.fieldsSchema);
357
- }
358
- }
359
- catch (err) {
360
- hadErrors = true;
361
- errorText = onError(err) || t('FieldsErrorOnSaving');
362
- }
363
- }
364
- let dataReloadNeeded = false;
365
- const newState = { ...this.state, fieldErrors: {} };
366
- if (updatedValues instanceof Array) {
367
- updatedValues
368
- .filter((fieldVal) => fieldVal.HasException)
369
- .forEach((element) => {
370
- newState.fieldErrors[element.FieldName] = element.ErrorMessage;
371
- hadErrors = true;
372
- });
373
- }
374
- else if (typeof updatedValues === 'string') {
375
- newState.fieldErrors['_id'] = updatedValues;
376
- hadErrors = true;
377
- }
378
- if (hadErrors) {
379
- if (this.props.onSubmitFailed) {
380
- this.props.onSubmitFailed(newState.fieldErrors);
381
- }
382
- else {
383
- this.showToast(errorText, 'error');
384
- }
385
- }
386
- else {
387
- let id = !!this.props.id ? this.props.id : 0;
388
- if (id === 0 && typeof updatedValues === 'object') {
389
- id =
390
- Object.keys(updatedValues).filter((key) => key === '_id').length > 0
391
- ? updatedValues._id
392
- : 0;
393
- }
394
- newState.data = this.convertFromHierarchy(updatedValues);
395
- newState.originalData = { ...newState.data };
396
- await this.saveBefore(id, newState.data, this.state.originalData);
397
- if (this.props.onSubmitSucceeded) {
398
- this.props.onSubmitSucceeded(id);
399
- }
400
- newState.itemSaved = true;
401
- this.showToast(t('ItemSavedSuccessfully'), 'success', 5000);
402
- dataReloadNeeded = true;
403
- }
404
- newState.isSaving = false;
405
- newState.notifications = this.state.notifications;
406
- this.setState(newState, () => {
407
- if (dataReloadNeeded) {
408
- this.readData(this.props.listname, this.props.formType, this.props.id);
409
- }
410
- });
411
- }
412
- catch (error) {
413
- this.showToast(t('ErrorOnSavingListItem') + error, 'error');
414
- }
415
- this._saveButtonClicked = false;
416
- window.scrollTo({ top: 0, behavior: 'smooth' });
417
- };
418
- getFields() {
419
- const { fieldsSchema } = this.state;
420
- let fields = this.props.fields;
421
- if (!fields && fieldsSchema) {
422
- fields = fieldsSchema
423
- .filter((field) => !!field.FieldType)
424
- .map((field) => ({
425
- key: field.InternalName,
426
- title: field.Title,
427
- fieldName: field.InternalName,
428
- }));
429
- }
430
- return fields;
431
- }
432
- onUpdateFields(newFields) {
433
- if (this.props.onUpdateFields) {
434
- this.props.onUpdateFields(newFields);
435
- }
436
- }
437
- }
438
- export default DetailForm;
439
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGV0YWlsRm9ybS5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Zvcm1zL0RldGFpbEZvcm0vRGV0YWlsRm9ybS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSw0QkFBNEIsQ0FBQztBQUl2RSxPQUFPLEVBQUUsV0FBVyxFQUFlLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRSxPQUFPLE1BQU0sTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRCxPQUFPLFdBRU4sTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sRUFDTCxTQUFTLEdBSVYsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsSUFBSSxFQUNKLE1BQU0sRUFDTixPQUFPLEVBQ1AsS0FBSyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxHQUNYLE1BQU0sa0JBQWtCLENBQUM7QUFLMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFnQmpDLE1BQU0sT0FBTyxVQUFXLFNBQVEsYUFBcUM7SUFJbkUsWUFBWSxLQUFpQjtRQUMzQixLQUFLLENBQUMsS0FBSyxDQUFD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
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUZvcm1Qcm9wcy5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Zvcm1zL0RldGFpbEZvcm0vSUZvcm1Qcm9wcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import dynamic from 'next/dynamic';
3
- import { ListFormService } from '../../services/ListFormService';
4
- import { useRouter } from 'next/router';
5
- const DynamicComponent = dynamic(() => import('../DetailForm/DetailForm'), {
6
- ssr: false,
7
- });
8
- export const Forms = ({ ...props }) => {
9
- const router = useRouter();
10
- const { IsDlg } = router.query;
11
- return (<DynamicComponent {...props} IsDlg={props.IsDlg === '1' || IsDlg === '1'} lfs={ListFormService}/>);
12
- };
13
- export default Forms;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mb3Jtcy9Gb3Jtcy9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFhLE1BQU0sT0FBTyxDQUFDO0FBQ2xDLE9BQU8sT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUVuQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsRUFBRTtJQUN6RSxHQUFHLEVBQUUsS0FBSztDQUNYLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBbUIsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsRUFBRTtJQUNwRCxNQUFNLE1BQU0sR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUMzQixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMvQixPQUFPLENBQ0wsQ0FBQyxnQkFBZ0IsQ0FDZixJQUFJLEtBQUssQ0FBQyxDQUNWLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssR0FBRyxJQUFJLEtBQUssS0FBSyxHQUFHLENBQUMsQ0FDNUMsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQ3JCLENBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLGVBQWUsS0FBSyxDQUFDIn0=
@@ -1,4 +0,0 @@
1
- declare const DisplayError: ({ ...props }: {
2
- [x: string]: any;
3
- }) => any;
4
- export default DisplayError;
@@ -1,49 +0,0 @@
1
- import React from 'react';
2
- import Button from '@material-ui/core/Button';
3
- import Snackbar from '@material-ui/core/Snackbar';
4
- import IconButton from '@material-ui/core/IconButton';
5
- import CloseIcon from '@material-ui/icons/Close';
6
- import styles from './styles.module.scss';
7
- import { t } from 'nuudel-utils';
8
- const ErrorStyles = (props) => (<div className={styles.errormsg}>{props.children}</div>);
9
- const DisplayError = ({ ...props }) => {
10
- const { error = {} } = props;
11
- const [open, setOpen] = React.useState(true);
12
- const handleClose = (event, reason) => {
13
- if (reason === 'clickaway') {
14
- return;
15
- }
16
- setOpen(false);
17
- };
18
- if (!error || !error.message)
19
- return null;
20
- if (error.networkError &&
21
- error.networkError.result &&
22
- error.networkError.result.errors.length) {
23
- return error.networkError.result.errors.map((error, i) => (<ErrorStyles key={i}>
24
- <p data-test="graphql-error">
25
- <strong>Shoot!</strong>
26
- {error.message.replace('GraphQL error: ', '')}
27
- </p>
28
- </ErrorStyles>));
29
- }
30
- return (<ErrorStyles>
31
- <p data-test="graphql-error">
32
- <strong>{'Shoot!'}</strong>
33
- {error.message.replace('GraphQL error: ', '')}
34
- </p>
35
- <Snackbar anchorOrigin={{
36
- vertical: 'bottom',
37
- horizontal: 'left',
38
- }} open={open} autoHideDuration={6000} onClose={handleClose} message="Note archived" action={<React.Fragment>
39
- <Button color="secondary" size="small" onClick={handleClose}>
40
- {t('UNDO')}
41
- </Button>
42
- <IconButton size="small" aria-label="close" color="inherit" onClick={handleClose}>
43
- <CloseIcon fontSize="small"/>
44
- </IconButton>
45
- </React.Fragment>}/>
46
- </ErrorStyles>);
47
- };
48
- export default DisplayError;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JNZXNzYWdlLmpzeCIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZm9ybXMvTWF0ZXJpYWwvRXJyb3JNZXNzYWdlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxVQUFVLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxTQUFTLE1BQU0sMEJBQTBCLENBQUM7QUFDakQsT0FBTyxNQUFNLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVqQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsQ0FDbEMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUN4RCxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxNQUFNLEVBQUUsS0FBSyxHQUFHLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUM3QixNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0MsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTyxFQUFFLEVBQUU7UUFDckMsSUFBSSxNQUFNLEtBQUssV0FBVyxFQUFFO1lBQzFCLE9BQU87U0FDUjtRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQixDQUFDLENBQUM7SUFFRixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87UUFBRSxPQUFPLElBQUksQ0FBQztJQUMxQyxJQUNFLEtBQUssQ0FBQyxZQUFZO1FBQ2xCLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTTtRQUN6QixLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUN2QztRQUNBLE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ3hELENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNsQjtRQUFBLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQzFCO1VBQUEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FDdEI7VUFBQSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUMvQztRQUFBLEVBQUUsQ0FBQyxDQUNMO01BQUEsRUFBRSxXQUFXLENBQUMsQ0FDZixDQUFDLENBQUM7S0FDSjtJQUNELE9BQU8sQ0FDTCxDQUFDLFdBQVcsQ0FDVjtNQUFBLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQzFCO1FBQUEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQzFCO1FBQUEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FDL0M7TUFBQSxFQUFFLENBQUMsQ0FDSDtNQUFBLENBQUMsUUFBUSxDQUNQLFlBQVksQ0FBQyxDQUFDO1lBQ1osUUFBUSxFQUFFLFFBQVE7WUFDbEIsVUFBVSxFQUFFLE1BQU07U0FDbkIsQ0FBQyxDQUNGLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUNYLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQ3ZCLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUNyQixPQUFPLENBQUMsZUFBZSxDQUN2QixNQUFNLENBQUMsQ0FDTCxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2I7WUFBQSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQzFEO2NBQUEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQ1o7WUFBQSxFQUFFLE1BQU0sQ0FDUjtZQUFBLENBQUMsVUFBVSxDQUNULElBQUksQ0FBQyxPQUFPLENBQ1osVUFBVSxDQUFDLE9BQU8sQ0FDbEIsS0FBSyxDQUFDLFNBQVMsQ0FDZixPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FFckI7Y0FBQSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUM3QjtZQUFBLEVBQUUsVUFBVSxDQUNkO1VBQUEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQ2xCLEVBRUw7SUFBQSxFQUFFLFdBQVcsQ0FBQyxDQUNmLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixlQUFlLFlBQVksQ0FBQyJ9
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export default function ShowSnackbar(): JSX.Element;
@@ -1,30 +0,0 @@
1
- import React from 'react';
2
- import Button from '@material-ui/core/Button';
3
- import Snackbar from '@material-ui/core/Snackbar';
4
- import IconButton from '@material-ui/core/IconButton';
5
- import CloseIcon from '@material-ui/icons/Close';
6
- import { t } from 'nuudel-utils';
7
- export default function ShowSnackbar() {
8
- const [open, setOpen] = React.useState(true);
9
- setOpen(true);
10
- const handleClose = (event, reason) => {
11
- if (reason === 'clickaway') {
12
- return;
13
- }
14
- setOpen(false);
15
- };
16
- return (<div>
17
- <Snackbar anchorOrigin={{
18
- vertical: 'bottom',
19
- horizontal: 'left',
20
- }} open={open} autoHideDuration={6000} onClose={handleClose} message="Note archived" action={<React.Fragment>
21
- <Button color="secondary" size="small" onClick={handleClose}>
22
- {t('UNDO')}
23
- </Button>
24
- <IconButton size="small" aria-label="close" color="inherit" onClick={handleClose}>
25
- <CloseIcon fontSize="small"/>
26
- </IconButton>
27
- </React.Fragment>}/>
28
- </div>);
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU25hY2tiYXIuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mb3Jtcy9NYXRlcmlhbC9TbmFja2Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sTUFBTSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sUUFBUSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xELE9BQU8sVUFBVSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RELE9BQU8sU0FBUyxNQUFNLDBCQUEwQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakMsTUFBTSxDQUFDLE9BQU8sVUFBVSxZQUFZO0lBQ2xDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZCxNQUFNLFdBQVcsR0FBRyxDQUNsQixLQUE4QyxFQUM5QyxNQUFlLEVBQ2YsRUFBRTtRQUNGLElBQUksTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUMxQixPQUFPO1NBQ1I7UUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUNMLENBQUMsR0FBRyxDQUNGO01BQUEsQ0FBQyxRQUFRLENBQ1AsWUFBWSxDQUFDLENBQUM7WUFDWixRQUFRLEVBQUUsUUFBUTtZQUNsQixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDLENBQ0YsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ1gsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDdkIsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQ3JCLE9BQU8sQ0FBQyxlQUFlLENBQ3ZCLE1BQU0sQ0FBQyxDQUNMLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDYjtZQUFBLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FDMUQ7Y0FBQSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FDWjtZQUFBLEVBQUUsTUFBTSxDQUNSO1lBQUEsQ0FBQyxVQUFVLENBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FDWixVQUFVLENBQUMsT0FBTyxDQUNsQixLQUFLLENBQUMsU0FBUyxDQUNmLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUVyQjtjQUFBLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQzdCO1lBQUEsRUFBRSxVQUFVLENBQ2Q7VUFBQSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FDbEIsRUFFTDtJQUFBLEVBQUUsR0FBRyxDQUFDLENBQ1AsQ0FBQztBQUNKLENBQUMifQ==
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- declare const Message: () => JSX.Element;
3
- declare const TOGGLE_SNACKBAR_MUTATION: import("@apollo/react-hooks").DocumentNode;
4
- declare const SNACKBAR_STATE_QUERY: import("@apollo/react-hooks").DocumentNode;
5
- export default Message;
6
- export { SNACKBAR_STATE_QUERY, TOGGLE_SNACKBAR_MUTATION };