@agilemotion/oui-react-js 1.2.7 → 1.2.8

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 (289) hide show
  1. package/dist/ApplicationContext.js +705 -0
  2. package/dist/BasicApp.css +37 -0
  3. package/dist/BasicApp.js +107 -0
  4. package/dist/BasicAppHome.js +163 -0
  5. package/dist/DynamicJS.js +176 -0
  6. package/dist/RestUtils.js +437 -0
  7. package/dist/TypedValue.js +31 -0
  8. package/dist/Utils.js +369 -0
  9. package/dist/assets/css/black-dashboard-react.css +12532 -0
  10. package/dist/assets/css/black-dashboard-react.css.map +134 -0
  11. package/dist/assets/css/black-dashboard-react.min.css +1 -0
  12. package/dist/assets/css/nucleo-icons.css +543 -0
  13. package/dist/assets/fonts/nucleo.eot +0 -0
  14. package/dist/assets/fonts/nucleo.ttf +0 -0
  15. package/dist/assets/fonts/nucleo.woff +0 -0
  16. package/dist/assets/fonts/nucleo.woff2 +0 -0
  17. package/dist/assets/img/flogo.png +0 -0
  18. package/dist/assets/img/login.jpeg +1 -0
  19. package/dist/assets/jss/components/authNavbarStyle.js +185 -0
  20. package/dist/assets/jss/components/buttonStyle.js +417 -0
  21. package/dist/assets/jss/components/cardAvatarStyle.js +48 -0
  22. package/dist/assets/jss/components/cardBodyStyle.js +60 -0
  23. package/dist/assets/jss/components/cardFooterStyle.js +61 -0
  24. package/dist/assets/jss/components/cardHeaderStyle.js +156 -0
  25. package/dist/assets/jss/components/cardIconStyle.js +29 -0
  26. package/dist/assets/jss/components/cardStyle.js +169 -0
  27. package/dist/assets/jss/components/cardTextStyle.js +28 -0
  28. package/dist/assets/jss/components/customDropdownStyle.js +217 -0
  29. package/dist/assets/jss/components/customInputStyle.js +100 -0
  30. package/dist/assets/jss/components/dropdownStyle.js +128 -0
  31. package/dist/assets/jss/components/footerStyle.js +68 -0
  32. package/dist/assets/jss/components/headerLinksStyle.js +123 -0
  33. package/dist/assets/jss/components/headerStyle.js +78 -0
  34. package/dist/assets/jss/components/navbarLinksStyle.js +165 -0
  35. package/dist/assets/jss/components/navbarStyle.js +90 -0
  36. package/dist/assets/jss/components/sidebarStyle.js +488 -0
  37. package/dist/assets/jss/components/typographyStyle.js +63 -0
  38. package/dist/assets/jss/rootStyle.js +291 -0
  39. package/dist/assets/jss/views/layoutStyle.js +62 -0
  40. package/dist/assets/jss/views/loginBasicStyle.js +73 -0
  41. package/dist/assets/jss/views/loginStyle.js +112 -0
  42. package/dist/assets/scss/black-dashboard-react/bootstrap/_alert.scss +51 -0
  43. package/dist/assets/scss/black-dashboard-react/bootstrap/_badge.scss +47 -0
  44. package/dist/assets/scss/black-dashboard-react/bootstrap/_breadcrumb.scss +41 -0
  45. package/dist/assets/scss/black-dashboard-react/bootstrap/_button-group.scss +172 -0
  46. package/dist/assets/scss/black-dashboard-react/bootstrap/_buttons.scss +143 -0
  47. package/dist/assets/scss/black-dashboard-react/bootstrap/_card.scss +301 -0
  48. package/dist/assets/scss/black-dashboard-react/bootstrap/_carousel.scss +236 -0
  49. package/dist/assets/scss/black-dashboard-react/bootstrap/_close.scss +35 -0
  50. package/dist/assets/scss/black-dashboard-react/bootstrap/_code.scss +48 -0
  51. package/dist/assets/scss/black-dashboard-react/bootstrap/_custom-forms.scss +433 -0
  52. package/dist/assets/scss/black-dashboard-react/bootstrap/_dropdown.scss +166 -0
  53. package/dist/assets/scss/black-dashboard-react/bootstrap/_forms.scss +333 -0
  54. package/dist/assets/scss/black-dashboard-react/bootstrap/_functions.scss +86 -0
  55. package/dist/assets/scss/black-dashboard-react/bootstrap/_grid.scss +52 -0
  56. package/dist/assets/scss/black-dashboard-react/bootstrap/_images.scss +42 -0
  57. package/dist/assets/scss/black-dashboard-react/bootstrap/_input-group.scss +173 -0
  58. package/dist/assets/scss/black-dashboard-react/bootstrap/_jumbotron.scss +16 -0
  59. package/dist/assets/scss/black-dashboard-react/bootstrap/_list-group.scss +115 -0
  60. package/dist/assets/scss/black-dashboard-react/bootstrap/_media.scss +8 -0
  61. package/dist/assets/scss/black-dashboard-react/bootstrap/_mixins.scss +41 -0
  62. package/dist/assets/scss/black-dashboard-react/bootstrap/_modal.scss +180 -0
  63. package/dist/assets/scss/black-dashboard-react/bootstrap/_nav.scss +118 -0
  64. package/dist/assets/scss/black-dashboard-react/bootstrap/_navbar.scss +299 -0
  65. package/dist/assets/scss/black-dashboard-react/bootstrap/_pagination.scss +78 -0
  66. package/dist/assets/scss/black-dashboard-react/bootstrap/_popover.scss +183 -0
  67. package/dist/assets/scss/black-dashboard-react/bootstrap/_print.scss +141 -0
  68. package/dist/assets/scss/black-dashboard-react/bootstrap/_progress.scss +34 -0
  69. package/dist/assets/scss/black-dashboard-react/bootstrap/_reboot.scss +483 -0
  70. package/dist/assets/scss/black-dashboard-react/bootstrap/_root.scss +19 -0
  71. package/dist/assets/scss/black-dashboard-react/bootstrap/_tables.scss +187 -0
  72. package/dist/assets/scss/black-dashboard-react/bootstrap/_tooltip.scss +115 -0
  73. package/dist/assets/scss/black-dashboard-react/bootstrap/_transitions.scss +22 -0
  74. package/dist/assets/scss/black-dashboard-react/bootstrap/_type.scss +125 -0
  75. package/dist/assets/scss/black-dashboard-react/bootstrap/_utilities.scss +15 -0
  76. package/dist/assets/scss/black-dashboard-react/bootstrap/_variables.scss +952 -0
  77. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_alert.scss +13 -0
  78. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_background-variant.scss +21 -0
  79. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_badge.scss +12 -0
  80. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_border-radius.scss +35 -0
  81. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_box-shadow.scss +5 -0
  82. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_breakpoints.scss +123 -0
  83. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_buttons.scss +109 -0
  84. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_caret.scss +66 -0
  85. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_clearfix.scss +7 -0
  86. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_float.scss +11 -0
  87. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_forms.scss +147 -0
  88. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_gradients.scss +45 -0
  89. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_grid-framework.scss +67 -0
  90. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_grid.scss +52 -0
  91. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_hover.scss +37 -0
  92. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_image.scss +36 -0
  93. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_list-group.scss +21 -0
  94. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_lists.scss +7 -0
  95. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_nav-divider.scss +10 -0
  96. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_pagination.scss +22 -0
  97. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_reset-text.scss +17 -0
  98. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_resize.scss +6 -0
  99. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_screen-reader.scss +33 -0
  100. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_size.scss +6 -0
  101. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_table-row.scss +30 -0
  102. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_text-emphasis.scss +14 -0
  103. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_text-hide.scss +13 -0
  104. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_text-truncate.scss +8 -0
  105. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_transition.scss +13 -0
  106. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_visibility.scss +7 -0
  107. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_align.scss +8 -0
  108. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_background.scss +19 -0
  109. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_borders.scss +59 -0
  110. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_clearfix.scss +3 -0
  111. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_display.scss +38 -0
  112. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_embed.scss +52 -0
  113. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_flex.scss +51 -0
  114. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_float.scss +9 -0
  115. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_position.scss +37 -0
  116. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_screenreaders.scss +11 -0
  117. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_shadows.scss +6 -0
  118. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_sizing.scss +12 -0
  119. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_spacing.scss +51 -0
  120. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_text.scss +58 -0
  121. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_visibility.scss +11 -0
  122. package/dist/assets/scss/black-dashboard-react/custom/_alerts.scss +103 -0
  123. package/dist/assets/scss/black-dashboard-react/custom/_badges.scss +3 -0
  124. package/dist/assets/scss/black-dashboard-react/custom/_buttons.scss +242 -0
  125. package/dist/assets/scss/black-dashboard-react/custom/_card.scss +232 -0
  126. package/dist/assets/scss/black-dashboard-react/custom/_checkboxes-radio.scss +154 -0
  127. package/dist/assets/scss/black-dashboard-react/custom/_dropdown.scss +359 -0
  128. package/dist/assets/scss/black-dashboard-react/custom/_fixed-plugin.scss +324 -0
  129. package/dist/assets/scss/black-dashboard-react/custom/_footer.scss +94 -0
  130. package/dist/assets/scss/black-dashboard-react/custom/_forms.scss +133 -0
  131. package/dist/assets/scss/black-dashboard-react/custom/_functions.scss +23 -0
  132. package/dist/assets/scss/black-dashboard-react/custom/_images.scss +7 -0
  133. package/dist/assets/scss/black-dashboard-react/custom/_input-group.scss +333 -0
  134. package/dist/assets/scss/black-dashboard-react/custom/_misc.scss +228 -0
  135. package/dist/assets/scss/black-dashboard-react/custom/_mixins.scss +15 -0
  136. package/dist/assets/scss/black-dashboard-react/custom/_modal.scss +161 -0
  137. package/dist/assets/scss/black-dashboard-react/custom/_navbar.scss +436 -0
  138. package/dist/assets/scss/black-dashboard-react/custom/_rtl.scss +245 -0
  139. package/dist/assets/scss/black-dashboard-react/custom/_sidebar-and-main-panel.scss +763 -0
  140. package/dist/assets/scss/black-dashboard-react/custom/_tables.scss +165 -0
  141. package/dist/assets/scss/black-dashboard-react/custom/_type.scss +174 -0
  142. package/dist/assets/scss/black-dashboard-react/custom/_utilities.scss +9 -0
  143. package/dist/assets/scss/black-dashboard-react/custom/_variables.scss +996 -0
  144. package/dist/assets/scss/black-dashboard-react/custom/_white-content.scss +299 -0
  145. package/dist/assets/scss/black-dashboard-react/custom/cards/_card-chart.scss +73 -0
  146. package/dist/assets/scss/black-dashboard-react/custom/cards/_card-map.scss +3 -0
  147. package/dist/assets/scss/black-dashboard-react/custom/cards/_card-plain.scss +16 -0
  148. package/dist/assets/scss/black-dashboard-react/custom/cards/_card-task.scss +30 -0
  149. package/dist/assets/scss/black-dashboard-react/custom/cards/_card-user.scss +77 -0
  150. package/dist/assets/scss/black-dashboard-react/custom/mixins/_alert.scss +14 -0
  151. package/dist/assets/scss/black-dashboard-react/custom/mixins/_background-variant.scss +18 -0
  152. package/dist/assets/scss/black-dashboard-react/custom/mixins/_badges.scss +15 -0
  153. package/dist/assets/scss/black-dashboard-react/custom/mixins/_buttons.scss +343 -0
  154. package/dist/assets/scss/black-dashboard-react/custom/mixins/_dropdown.scss +26 -0
  155. package/dist/assets/scss/black-dashboard-react/custom/mixins/_forms.scss +127 -0
  156. package/dist/assets/scss/black-dashboard-react/custom/mixins/_icon.scss +4 -0
  157. package/dist/assets/scss/black-dashboard-react/custom/mixins/_inputs.scss +234 -0
  158. package/dist/assets/scss/black-dashboard-react/custom/mixins/_modals.scss +15 -0
  159. package/dist/assets/scss/black-dashboard-react/custom/mixins/_page-header.scss +7 -0
  160. package/dist/assets/scss/black-dashboard-react/custom/mixins/_popovers.scss +41 -0
  161. package/dist/assets/scss/black-dashboard-react/custom/mixins/_vendor-prefixes.scss +209 -0
  162. package/dist/assets/scss/black-dashboard-react/custom/mixins/_wizard.scss +26 -0
  163. package/dist/assets/scss/black-dashboard-react/custom/mixins/opacity.scss +8 -0
  164. package/dist/assets/scss/black-dashboard-react/custom/utilities/_backgrounds.scss +42 -0
  165. package/dist/assets/scss/black-dashboard-react/custom/utilities/_floating.scss +54 -0
  166. package/dist/assets/scss/black-dashboard-react/custom/utilities/_helper.scss +62 -0
  167. package/dist/assets/scss/black-dashboard-react/custom/utilities/_position.scss +19 -0
  168. package/dist/assets/scss/black-dashboard-react/custom/utilities/_shadows.scss +10 -0
  169. package/dist/assets/scss/black-dashboard-react/custom/utilities/_sizing.scss +5 -0
  170. package/dist/assets/scss/black-dashboard-react/custom/utilities/_spacing.scss +105 -0
  171. package/dist/assets/scss/black-dashboard-react/custom/utilities/_text.scss +40 -0
  172. package/dist/assets/scss/black-dashboard-react/custom/utilities/_transform.scss +8 -0
  173. package/dist/assets/scss/black-dashboard-react/custom/vendor/_plugin-perfect-scrollbar.scss +116 -0
  174. package/dist/assets/scss/black-dashboard-react/custom/vendor/_plugin-react-notification-alert.scss +4 -0
  175. package/dist/assets/scss/black-dashboard-react/react-differences/_inputs.scss +3 -0
  176. package/dist/assets/scss/black-dashboard-react/react-differences/react-differences.scss +1 -0
  177. package/dist/assets/scss/black-dashboard-react.scss +105 -0
  178. package/dist/components/AlertBar.js +116 -0
  179. package/dist/components/AlertItem.js +71 -0
  180. package/dist/components/AlertTemplate.js +75 -0
  181. package/dist/components/Button.js +174 -0
  182. package/dist/components/ConfirmationDialog.js +49 -0
  183. package/dist/components/DataGrid.css +182 -0
  184. package/dist/components/DataGrid.js +1013 -0
  185. package/dist/components/DataGridColumn.js +122 -0
  186. package/dist/components/DataGridFilter.js +340 -0
  187. package/dist/components/DataGridHeading.js +132 -0
  188. package/dist/components/DocumentViewer.js +73 -0
  189. package/dist/components/Graph.js +97 -0
  190. package/dist/components/GraphNode.js +96 -0
  191. package/dist/components/HtmlPanel.js +31 -0
  192. package/dist/components/Icon.js +68 -0
  193. package/dist/components/LoadingIndicator.js +42 -0
  194. package/dist/components/PopupView.js +60 -0
  195. package/dist/components/RegularButton.js +82 -0
  196. package/dist/components/TabPage.js +77 -0
  197. package/dist/components/TabPanel.js +241 -0
  198. package/dist/components/TableCellContent.js +272 -0
  199. package/dist/components/TitleBar.js +103 -0
  200. package/dist/components/Toolbar.css +8 -0
  201. package/dist/components/Toolbar.js +304 -0
  202. package/dist/components/Tooltip.js +83 -0
  203. package/dist/components/Tree.js +301 -0
  204. package/dist/components/card/Card.js +80 -0
  205. package/dist/components/card/CardAvatar.js +59 -0
  206. package/dist/components/card/CardBody.js +71 -0
  207. package/dist/components/card/CardFooter.js +67 -0
  208. package/dist/components/card/CardHeader.js +71 -0
  209. package/dist/components/card/CardIcon.js +50 -0
  210. package/dist/components/card/CardText.js +50 -0
  211. package/dist/components/customInput/CustomInput.js +109 -0
  212. package/dist/components/dashboard/BasicApp.js +140 -0
  213. package/dist/components/dashboard/BasicBusinessApp.js +433 -0
  214. package/dist/components/dashboard/components/Header.js +151 -0
  215. package/dist/components/dashboard/components/LeftDrawer.js +164 -0
  216. package/dist/components/dashboard/components/UserIdentity.js +54 -0
  217. package/dist/components/dashboard/components/blackDashboard/fixedPlugin/FixedPlugin.js +131 -0
  218. package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.js +303 -0
  219. package/dist/components/dashboard/images/noimage-person.png +0 -0
  220. package/dist/components/footer/Footer.js +76 -0
  221. package/dist/components/footer/HomeFooter.js +58 -0
  222. package/dist/components/form/BaseField.js +330 -0
  223. package/dist/components/form/Checkbox.js +50 -0
  224. package/dist/components/form/DatePicker.js +108 -0
  225. package/dist/components/form/FieldSet.js +385 -0
  226. package/dist/components/form/Form.css +31 -0
  227. package/dist/components/form/Form.js +1047 -0
  228. package/dist/components/form/GridField.js +393 -0
  229. package/dist/components/form/LabelField.js +43 -0
  230. package/dist/components/form/LookupField.js +228 -0
  231. package/dist/components/form/Section.js +184 -0
  232. package/dist/components/form/SelectItem.js +138 -0
  233. package/dist/components/form/TextField.js +104 -0
  234. package/dist/components/form/TimePicker.js +108 -0
  235. package/dist/components/form/TransferList.css +11 -0
  236. package/dist/components/form/TransferList.js +319 -0
  237. package/dist/components/form/UploadField.js +286 -0
  238. package/dist/components/form/default-avatar.png +0 -0
  239. package/dist/components/grid/GridContainer.js +49 -0
  240. package/dist/components/grid/GridItem.js +48 -0
  241. package/dist/components/layout/CollapsiblePanel.css +9 -0
  242. package/dist/components/layout/CollapsiblePanel.js +128 -0
  243. package/dist/components/layout/Layout.js +388 -0
  244. package/dist/components/layout/View.js +428 -0
  245. package/dist/components/layout/ViewPort.js +119 -0
  246. package/dist/components/loader.css +36 -0
  247. package/dist/components/menu/CollapsibleMenu.js +68 -0
  248. package/dist/components/menu/MenuBars.js +220 -0
  249. package/dist/components/menu/MenuButton.js +222 -0
  250. package/dist/components/menu/MenuItem.js +82 -0
  251. package/dist/components/menu/MenuLink.js +80 -0
  252. package/dist/components/menu/PopupMenu.js +36 -0
  253. package/dist/components/navbars/AuthNavbar.js +152 -0
  254. package/dist/components/navbars/HomeNavbar.js +258 -0
  255. package/dist/components/navbars/NavbarLinks.js +212 -0
  256. package/dist/components/navbars/default-avatar.png +0 -0
  257. package/dist/components/typography/Danger.js +31 -0
  258. package/dist/components/typography/Info.js +32 -0
  259. package/dist/components/typography/Link.js +28 -0
  260. package/dist/event/ActionHandlers.js +98 -0
  261. package/dist/event/Event.js +28 -0
  262. package/dist/event/EventListener.js +52 -0
  263. package/dist/event/EventType.js +36 -0
  264. package/dist/event/LoadDataActionHandler.js +34 -0
  265. package/dist/event/Observable.js +353 -0
  266. package/dist/event/RouteActionHandler.js +127 -0
  267. package/dist/event/ScriptActionHandler.js +34 -0
  268. package/dist/event/ServiceCallActionHandler.js +60 -0
  269. package/dist/event/SignalGraphActionHandler.js +34 -0
  270. package/dist/js/Addresses.js +29 -0
  271. package/dist/js/DynamicLib.js +29 -0
  272. package/dist/js/Validators.js +19 -0
  273. package/dist/redux/store/ConfigureStore.js +48 -0
  274. package/dist/redux/store/DashboardStore.js +146 -0
  275. package/dist/redux/store/History.js +12 -0
  276. package/dist/redux/store/SecurityStore.js +88 -0
  277. package/dist/security/TokenManager.js +49 -0
  278. package/dist/theme-default.js +28 -0
  279. package/dist/view/Dashboard.js +495 -0
  280. package/dist/view/Settings.js +18 -0
  281. package/dist/view/security/ChangePasswordBasic.js +336 -0
  282. package/dist/view/security/ForgotPassword.js +235 -0
  283. package/dist/view/security/ForgotPasswordBasic.js +212 -0
  284. package/dist/view/security/Login.js +278 -0
  285. package/dist/view/security/LoginBasic.js +250 -0
  286. package/dist/view/security/ResetPassword.js +268 -0
  287. package/dist/view/security/ResetPasswordBasic.js +329 -0
  288. package/dist/view/security/Security.js +86 -0
  289. package/package.json +1 -1
@@ -0,0 +1,1047 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _styles = require("@material-ui/core/styles");
11
+
12
+ var _Utils = _interopRequireDefault(require("../../Utils"));
13
+
14
+ var _Section = _interopRequireDefault(require("./Section"));
15
+
16
+ require("./Form.css");
17
+
18
+ var _RestUtils = require("../../RestUtils");
19
+
20
+ var _asyncMutex = require("async-mutex");
21
+
22
+ var _Observable = _interopRequireDefault(require("../../event/Observable"));
23
+
24
+ var _ApplicationContext = _interopRequireDefault(require("../../ApplicationContext"));
25
+
26
+ var _ServiceCallActionHandler = _interopRequireDefault(require("../../event/ServiceCallActionHandler"));
27
+
28
+ var _DynamicJS = _interopRequireDefault(require("../../DynamicJS"));
29
+
30
+ var _EventType = _interopRequireDefault(require("../../event/EventType"));
31
+
32
+ var _Event = _interopRequireDefault(require("../../event/Event"));
33
+
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
+
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
37
+
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
39
+
40
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
41
+
42
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
43
+
44
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
45
+
46
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
47
+
48
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
49
+
50
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
51
+
52
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
53
+
54
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
55
+
56
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
57
+
58
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
59
+
60
+ const useStyles = (0, _styles.makeStyles)(theme => ({
61
+ container: {
62
+ display: 'flex',
63
+ flexWrap: 'wrap',
64
+ width: '100%',
65
+ "& tr td": {
66
+ verticalAlign: "top"
67
+ }
68
+ },
69
+ select: {
70
+ margin: theme.spacing(1),
71
+ minWidth: 120,
72
+ minHeight: 48
73
+ },
74
+ selectEmpty: {
75
+ marginTop: theme.spacing(2)
76
+ },
77
+ root: {}
78
+ }));
79
+
80
+ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
81
+ const _React$useState = _react.default.useState(!_Utils.default.isNull(props.values) ? props.values : {}),
82
+ _React$useState2 = _slicedToArray(_React$useState, 2),
83
+ values = _React$useState2[0],
84
+ setValues = _React$useState2[1];
85
+
86
+ const _React$useState3 = _react.default.useState(null),
87
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
88
+ masterValues = _React$useState4[0],
89
+ setMasterValues = _React$useState4[1];
90
+
91
+ const _React$useState5 = _react.default.useState(null),
92
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
93
+ config = _React$useState6[0],
94
+ setConfig = _React$useState6[1];
95
+
96
+ const _React$useState7 = _react.default.useState(_Utils.default.isNull(props.config.binder) ? 'PLAIN_OBJECT' : props.config.binder),
97
+ _React$useState8 = _slicedToArray(_React$useState7, 1),
98
+ binder = _React$useState8[0];
99
+
100
+ const _React$useState9 = _react.default.useState([]),
101
+ _React$useState10 = _slicedToArray(_React$useState9, 1),
102
+ fields = _React$useState10[0];
103
+
104
+ const containerErrorCallback = _react.default.useRef();
105
+
106
+ const _React$useState11 = _react.default.useState({}),
107
+ _React$useState12 = _slicedToArray(_React$useState11, 1),
108
+ sectionHandles = _React$useState12[0];
109
+
110
+ const _React$useState13 = _react.default.useState([]),
111
+ _React$useState14 = _slicedToArray(_React$useState13, 1),
112
+ loadedComponents = _React$useState14[0];
113
+
114
+ const _React$useState15 = _react.default.useState({}),
115
+ _React$useState16 = _slicedToArray(_React$useState15, 1),
116
+ fieldParentErrors = _React$useState16[0];
117
+
118
+ const loadingRef = _react.default.useRef(true);
119
+
120
+ const _React$useState17 = _react.default.useState(true),
121
+ _React$useState18 = _slicedToArray(_React$useState17, 2),
122
+ initializing = _React$useState18[0],
123
+ setInitializing = _React$useState18[1];
124
+
125
+ const mutex = new _asyncMutex.Mutex();
126
+ let sectionCounter = 0;
127
+
128
+ const api = () => {
129
+ return {
130
+ get id() {
131
+ return props.config.id;
132
+ },
133
+
134
+ doUpdateValue: (name, value) => {
135
+ return updateValue(name, value);
136
+ },
137
+ clear: () => {
138
+ doClear();
139
+ },
140
+ setValue: (id, value) => {
141
+ doHandleChange(id, value);
142
+ },
143
+ handleSelectItemChange: (name, options, selectedId) => {
144
+ return _handleSelectItemChange(name, options, selectedId);
145
+ },
146
+ handleChange: (id, value) => {
147
+ doHandleChange(id, value);
148
+ },
149
+ getValuePath: (id, values) => {
150
+ return _getValuePath(id, values);
151
+ },
152
+ addField: (id, ref, parentId, bindValueToForm) => {
153
+ return _addField(id, ref, parentId, bindValueToForm);
154
+ },
155
+ removeField: id => {
156
+ _removeField(id);
157
+ },
158
+ loadData: actionConfig => {
159
+ _loadData(actionConfig, config);
160
+ },
161
+ bindData: data => {
162
+ doBindData(data);
163
+ },
164
+ validateParent: (id, invalid) => {
165
+ doValidateParent(getField(id), invalid);
166
+ },
167
+
168
+ get fieldDataBindings() {
169
+ let fieldNames = [];
170
+
171
+ for (let i = 0; i < props.config.sections.length; i++) {
172
+ let section = props.config.sections[i];
173
+
174
+ for (let j = 0; j < section.components.length; j++) {
175
+ let component = section.components[j];
176
+ let fields = null;
177
+
178
+ if (component.type === 'tab') {
179
+ fields = getFieldsFromTab(component);
180
+ } else {
181
+ fields = component.fields;
182
+ }
183
+
184
+ for (let k = 0; k < fields.length; k++) {
185
+ let field = fields[k];
186
+ fieldNames.push(!_Utils.default.isNull(field.dataBinding) ? field.dataBinding : field.id);
187
+ }
188
+ }
189
+ }
190
+
191
+ return fieldNames;
192
+ },
193
+
194
+ setContainerErrorHandler(callback) {
195
+ containerErrorCallback.current = callback;
196
+ },
197
+
198
+ get model() {
199
+ return values;
200
+ },
201
+
202
+ set model(model) {
203
+ parseValues(transformDataObject(model));
204
+ setMasterValues(model);
205
+ },
206
+
207
+ get value() {
208
+ if (loadingRef.current === false) {
209
+ let data = null;
210
+ let currentValue = values;
211
+ let valid = true;
212
+ let parentErrors = {};
213
+
214
+ if (binder === 'MAP_OBJECT') {
215
+ data = {};
216
+ let map = !_Utils.default.isNull(masterValues) ? JSON.parse(JSON.stringify(masterValues.map)) : {};
217
+
218
+ if (_Utils.default.isNull(map.id)) {
219
+ map.id = values.id;
220
+ }
221
+
222
+ var _iterator = _createForOfIteratorHelper(fields),
223
+ _step;
224
+
225
+ try {
226
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
227
+ const field = _step.value;
228
+
229
+ if (field.bindValueToForm === false) {
230
+ continue;
231
+ }
232
+
233
+ let fieldValid = field.handle.api.validate(values, null);
234
+
235
+ if (fieldValid === false) {
236
+ doValidateParent(field, !fieldValid);
237
+ valid = false;
238
+ } else if (valid) {
239
+ let id = field.id;
240
+
241
+ let path = _getValuePath(id, values);
242
+
243
+ map[id] = field.handle.api.parseValue(path.valueObject[path.valueProperty], false);
244
+ }
245
+ }
246
+ } catch (err) {
247
+ _iterator.e(err);
248
+ } finally {
249
+ _iterator.f();
250
+ }
251
+
252
+ if (binder === 'MAP_OBJECT') {
253
+ data.map = map;
254
+ } else {
255
+ data = map;
256
+ }
257
+ } else {
258
+ data = values;
259
+ }
260
+
261
+ return valid ? data : null;
262
+ }
263
+
264
+ return null;
265
+ },
266
+
267
+ setFieldError: (id, error) => {
268
+ return _setFieldError(id, error);
269
+ },
270
+ getChildren: () => {
271
+ let children = [];
272
+
273
+ for (let i = 0; i < fields.length; i++) {
274
+ let field = fields[i];
275
+ children.push(field.handle);
276
+ let moreChildren = field.handle.api.getChildren();
277
+
278
+ for (let j = 0; j < moreChildren.length; j++) {
279
+ children.push(moreChildren[j]);
280
+ }
281
+ }
282
+
283
+ let properties = Object.getOwnPropertyNames(sectionHandles);
284
+
285
+ var _iterator2 = _createForOfIteratorHelper(properties),
286
+ _step2;
287
+
288
+ try {
289
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
290
+ const property = _step2.value;
291
+ let sectionHandle = sectionHandles[property];
292
+ children.push(sectionHandle);
293
+
294
+ var _iterator3 = _createForOfIteratorHelper(sectionHandle.api.getChildren()),
295
+ _step3;
296
+
297
+ try {
298
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
299
+ const child = _step3.value;
300
+ children.push(child);
301
+ }
302
+ } catch (err) {
303
+ _iterator3.e(err);
304
+ } finally {
305
+ _iterator3.f();
306
+ }
307
+ }
308
+ } catch (err) {
309
+ _iterator2.e(err);
310
+ } finally {
311
+ _iterator2.f();
312
+ }
313
+
314
+ return children;
315
+ }
316
+ };
317
+ };
318
+
319
+ const createSectionHandle = section => {
320
+ if (_Utils.default.isNull(sectionHandles[section.id])) {
321
+ let handle = {};
322
+ sectionHandles[section.id] = handle;
323
+ return handle;
324
+ }
325
+
326
+ return sectionHandles[section.id];
327
+ };
328
+
329
+ function updateViewTitle() {
330
+ let currentView = _ApplicationContext.default.getCurrentView();
331
+
332
+ let title = currentView.config.title;
333
+
334
+ if (title.includes(props.config.id)) {
335
+ _ApplicationContext.default.updateAppBarTitle(currentView.config.id, title);
336
+ }
337
+ }
338
+
339
+ function handleDataArrived(data) {
340
+ updateViewTitle();
341
+
342
+ if (!_Utils.default.isNull(data)) {
343
+ let event = new _Event.default(props.handle, props.viewId, data);
344
+
345
+ _Observable.default.fireEvent(_EventType.default.DATA_ARRIVED, event);
346
+ }
347
+
348
+ _Observable.default.processSystemGeneratedSubscriptions(props.config.id);
349
+
350
+ var _iterator4 = _createForOfIteratorHelper(fields),
351
+ _step4;
352
+
353
+ try {
354
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
355
+ const field = _step4.value;
356
+
357
+ _Observable.default.processSystemGeneratedSubscriptions(field.handle.api.id);
358
+ }
359
+ } catch (err) {
360
+ _iterator4.e(err);
361
+ } finally {
362
+ _iterator4.f();
363
+ }
364
+ }
365
+
366
+ function _loadData(eventConfig, componentConfig) {
367
+ let service = !_Utils.default.isNull(componentConfig.dataService) ? componentConfig.dataService : eventConfig !== null ? eventConfig.dataService : null;
368
+ let componentValue = !_Utils.default.isNull(componentConfig.value) ? componentConfig.value : eventConfig !== null ? eventConfig.value : null;
369
+
370
+ if (!_Utils.default.isNull(service)) {
371
+ if (service.type === 'remoteObjectProxy') {
372
+ (0, _RestUtils.invokeRpc)(service, props.handle, props.viewId, result => {
373
+ try {
374
+ if (!_Utils.default.isNull(result.data)) {
375
+ parseValues(transformDataObject(result.data));
376
+ setMasterValues(result.data);
377
+ loadingRef.current = false;
378
+ }
379
+ } catch (e) {
380
+ console.error(e);
381
+ }
382
+ }, e => {
383
+ console.error(e);
384
+
385
+ _Utils.default.publishSystemErrorMessage(props.viewId);
386
+ }, parameter => {
387
+ loadingRef.current = false;
388
+ handleDataArrived({});
389
+ });
390
+ } else {
391
+ if (_Utils.default.isNull(eventConfig)) {
392
+ eventConfig = {};
393
+ eventConfig.service = service;
394
+ } // TODO : Implement the invalid paramenter callback
395
+
396
+
397
+ _ServiceCallActionHandler.default.execute(eventConfig, null, null, props.viewId, data => {
398
+ parseValues(transformDataObject(data));
399
+ setMasterValues(data);
400
+ loadingRef.current = false;
401
+ }, () => {});
402
+ }
403
+
404
+ return true;
405
+ } else {
406
+ if (!_Utils.default.isNull(componentValue)) {
407
+ if (_ApplicationContext.default.isExpression(componentValue)) {
408
+ let path = _Utils.default.getPropertyChainPath(componentValue);
409
+
410
+ if (!_Utils.default.isNull(path.valueObject)) {
411
+ _Observable.default.addSystemGeneratedSubscription(props.viewId, props.config.id, () => {
412
+ let value = _DynamicJS.default.executeScript("".concat(props.config.id, "ValueEvaluator"), componentValue);
413
+
414
+ if (!_Utils.default.isNull(value)) {
415
+ parseValues(transformDataObject(value));
416
+ setMasterValues(value);
417
+ }
418
+ });
419
+ }
420
+ } else {
421
+ parseValues(transformDataObject(componentValue));
422
+ setMasterValues(componentValue);
423
+ }
424
+ } else {
425
+ updateViewTitle();
426
+ }
427
+
428
+ loadingRef.current = false;
429
+ return false;
430
+ }
431
+ }
432
+
433
+ _react.default.useEffect(() => {
434
+ props.handle.api = api();
435
+
436
+ if (initializing) {
437
+ let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
438
+
439
+ let eventHandlingConfig = _Utils.default.isNull(parsedConfig.eventHandlingConfig) ? {} : parsedConfig.eventHandlingConfig;
440
+ eventHandlingConfig.subscriptions = _Utils.default.isNull(eventHandlingConfig.subscriptions) ? [] : eventHandlingConfig.subscriptions;
441
+
442
+ let autoLoadData = _Utils.default.getComponentAttribute(parsedConfig, 'autoLoadData', null);
443
+
444
+ if (autoLoadData === null || autoLoadData === true) {
445
+ let subscription = {
446
+ publisher: props.viewId,
447
+ eventType: _EventType.default.COMPONENT_LOAD,
448
+ actions: [{
449
+ actionType: "loadData"
450
+ }]
451
+ };
452
+ eventHandlingConfig.subscriptions.push(subscription);
453
+ } else {
454
+ loadingRef.current = false;
455
+ handleDataArrived();
456
+ }
457
+
458
+ _Observable.default.addSubscriptions(eventHandlingConfig, props.handle, props.viewId);
459
+
460
+ _Observable.default.addSystemSubscriptions(parsedConfig);
461
+
462
+ setConfig(parsedConfig);
463
+ let data = {};
464
+ data.viewId = props.viewId;
465
+ setInitializing(false);
466
+ }
467
+ });
468
+
469
+ _react.default.useEffect(() => {
470
+ if (!_Utils.default.isNull(props.config) && !_Utils.default.isNull(props.values)) {
471
+ parseValues(props.values);
472
+ }
473
+ }, [props.config, props.values]);
474
+
475
+ _react.default.useEffect(() => {
476
+ if (!_Utils.default.isNull(masterValues)) {
477
+ handleDataArrived(masterValues);
478
+ }
479
+ }, [masterValues]);
480
+
481
+ const getFieldsFromTab = tab => {
482
+ let fields = [];
483
+
484
+ var _iterator5 = _createForOfIteratorHelper(tab.tabPages),
485
+ _step5;
486
+
487
+ try {
488
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
489
+ const tabPage = _step5.value;
490
+
491
+ var _iterator6 = _createForOfIteratorHelper(tabPage.components),
492
+ _step6;
493
+
494
+ try {
495
+ for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
496
+ const formSection = _step6.value;
497
+
498
+ var _iterator7 = _createForOfIteratorHelper(formSection.components),
499
+ _step7;
500
+
501
+ try {
502
+ for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
503
+ const fieldset = _step7.value;
504
+ fields = fields.concat(fieldset.fields);
505
+ }
506
+ } catch (err) {
507
+ _iterator7.e(err);
508
+ } finally {
509
+ _iterator7.f();
510
+ }
511
+ }
512
+ } catch (err) {
513
+ _iterator6.e(err);
514
+ } finally {
515
+ _iterator6.f();
516
+ }
517
+ }
518
+ } catch (err) {
519
+ _iterator5.e(err);
520
+ } finally {
521
+ _iterator5.f();
522
+ }
523
+
524
+ return fields;
525
+ };
526
+
527
+ function loadCompleteHandler(_x) {
528
+ return _loadCompleteHandler.apply(this, arguments);
529
+ }
530
+
531
+ function _loadCompleteHandler() {
532
+ _loadCompleteHandler = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(id) {
533
+ var release, allLoaded, _iterator8, _step8, section, _iterator10, _step10, component, fields, _iterator11, _step11, field, _iterator9, _step9, handle;
534
+
535
+ return regeneratorRuntime.wrap(function _callee$(_context) {
536
+ while (1) switch (_context.prev = _context.next) {
537
+ case 0:
538
+ if (_Utils.default.isNull(id)) {
539
+ _context.next = 67;
540
+ break;
541
+ }
542
+
543
+ _context.next = 3;
544
+ return mutex.acquire();
545
+
546
+ case 3:
547
+ release = _context.sent;
548
+ _context.prev = 4;
549
+
550
+ if (loadedComponents.includes(id)) {
551
+ _context.next = 64;
552
+ break;
553
+ }
554
+
555
+ loadedComponents.push(id);
556
+ allLoaded = true;
557
+ _iterator8 = _createForOfIteratorHelper(props.config.sections);
558
+ _context.prev = 9;
559
+
560
+ _iterator8.s();
561
+
562
+ case 11:
563
+ if ((_step8 = _iterator8.n()).done) {
564
+ _context.next = 54;
565
+ break;
566
+ }
567
+
568
+ section = _step8.value;
569
+ _iterator10 = _createForOfIteratorHelper(section.components);
570
+ _context.prev = 14;
571
+
572
+ _iterator10.s();
573
+
574
+ case 16:
575
+ if ((_step10 = _iterator10.n()).done) {
576
+ _context.next = 42;
577
+ break;
578
+ }
579
+
580
+ component = _step10.value;
581
+ fields = null;
582
+
583
+ if (component.type === 'tab') {
584
+ fields = getFieldsFromTab(component);
585
+ } else {
586
+ fields = component.fields;
587
+ }
588
+
589
+ _iterator11 = _createForOfIteratorHelper(fields);
590
+ _context.prev = 21;
591
+
592
+ _iterator11.s();
593
+
594
+ case 23:
595
+ if ((_step11 = _iterator11.n()).done) {
596
+ _context.next = 30;
597
+ break;
598
+ }
599
+
600
+ field = _step11.value;
601
+
602
+ if (loadedComponents.includes(field.id)) {
603
+ _context.next = 28;
604
+ break;
605
+ }
606
+
607
+ allLoaded = false;
608
+ return _context.abrupt("break", 30);
609
+
610
+ case 28:
611
+ _context.next = 23;
612
+ break;
613
+
614
+ case 30:
615
+ _context.next = 35;
616
+ break;
617
+
618
+ case 32:
619
+ _context.prev = 32;
620
+ _context.t0 = _context["catch"](21);
621
+
622
+ _iterator11.e(_context.t0);
623
+
624
+ case 35:
625
+ _context.prev = 35;
626
+
627
+ _iterator11.f();
628
+
629
+ return _context.finish(35);
630
+
631
+ case 38:
632
+ if (allLoaded) {
633
+ _context.next = 40;
634
+ break;
635
+ }
636
+
637
+ return _context.abrupt("break", 42);
638
+
639
+ case 40:
640
+ _context.next = 16;
641
+ break;
642
+
643
+ case 42:
644
+ _context.next = 47;
645
+ break;
646
+
647
+ case 44:
648
+ _context.prev = 44;
649
+ _context.t1 = _context["catch"](14);
650
+
651
+ _iterator10.e(_context.t1);
652
+
653
+ case 47:
654
+ _context.prev = 47;
655
+
656
+ _iterator10.f();
657
+
658
+ return _context.finish(47);
659
+
660
+ case 50:
661
+ if (allLoaded) {
662
+ _context.next = 52;
663
+ break;
664
+ }
665
+
666
+ return _context.abrupt("break", 54);
667
+
668
+ case 52:
669
+ _context.next = 11;
670
+ break;
671
+
672
+ case 54:
673
+ _context.next = 59;
674
+ break;
675
+
676
+ case 56:
677
+ _context.prev = 56;
678
+ _context.t2 = _context["catch"](9);
679
+
680
+ _iterator8.e(_context.t2);
681
+
682
+ case 59:
683
+ _context.prev = 59;
684
+
685
+ _iterator8.f();
686
+
687
+ return _context.finish(59);
688
+
689
+ case 62:
690
+ if (allLoaded) {
691
+ _iterator9 = _createForOfIteratorHelper(fields);
692
+
693
+ try {
694
+ for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
695
+ field = _step9.value;
696
+ handle = field.handle;
697
+
698
+ if (!_Utils.default.isNull(handle)) {
699
+ handle.api.handleLoadComplete();
700
+ }
701
+ }
702
+ } catch (err) {
703
+ _iterator9.e(err);
704
+ } finally {
705
+ _iterator9.f();
706
+ }
707
+ }
708
+
709
+ if (allLoaded && !_Utils.default.isNull(props.loadCompleteHandler)) {
710
+ props.loadCompleteHandler(props.config.id);
711
+ }
712
+
713
+ case 64:
714
+ _context.prev = 64;
715
+ release();
716
+ return _context.finish(64);
717
+
718
+ case 67:
719
+ case "end":
720
+ return _context.stop();
721
+ }
722
+ }, _callee, null, [[4,, 64, 67], [9, 56, 59, 62], [14, 44, 47, 50], [21, 32, 35, 38]]);
723
+ }));
724
+ return _loadCompleteHandler.apply(this, arguments);
725
+ }
726
+
727
+ const transformDataObject = data => {
728
+ let formValues = null;
729
+
730
+ if (binder === 'MAP_OBJECT') {
731
+ formValues = {};
732
+
733
+ if (_Utils.default.isNull(data)) {
734
+ return null;
735
+ }
736
+
737
+ let map = data.map;
738
+
739
+ if (!_Utils.default.isNull(map)) {
740
+ let properties = Object.getOwnPropertyNames(map);
741
+
742
+ for (let i = 0; i < properties.length; i++) {
743
+ let property = properties[i];
744
+ let tokens = property.split('.');
745
+ let vo = formValues;
746
+
747
+ for (let j = 0; j < tokens.length; j++) {
748
+ let token = tokens[j];
749
+
750
+ if (j < tokens.length - 1) {
751
+ if (_Utils.default.isNull(vo[token])) {
752
+ vo[token] = {};
753
+ }
754
+
755
+ vo = vo[token];
756
+ } else {
757
+ vo[token] = map[property];
758
+ }
759
+ }
760
+ }
761
+ }
762
+ } else {
763
+ formValues = data;
764
+ }
765
+
766
+ return formValues;
767
+ };
768
+
769
+ function doClear() {
770
+ for (let i = 0; i < fields.length; i++) {
771
+ let field = fields[i];
772
+ field.handle.api.clear();
773
+ }
774
+
775
+ values.id = null;
776
+
777
+ if (!_Utils.default.isNull(props.valueChangeHandler)) {
778
+ props.valueChangeHandler(values);
779
+ }
780
+ }
781
+
782
+ function doBindData(data) {
783
+ if (!_Utils.default.isNull(data)) {
784
+ if (!_Utils.default.isNull(data.map)) {
785
+ data = data.map;
786
+ }
787
+
788
+ for (var _i2 = 0, _Object$keys = Object.keys(data); _i2 < _Object$keys.length; _i2++) {
789
+ const key = _Object$keys[_i2];
790
+ let field = getField(key);
791
+
792
+ if (!_Utils.default.isNull(field)) {
793
+ field.handle.api.value = field.handle.api.parseValue(data[key], true);
794
+ }
795
+ }
796
+ }
797
+ }
798
+
799
+ function parseValues(data) {
800
+ let parsedValues = JSON.parse(JSON.stringify(data));
801
+
802
+ for (let i = 0; i < fields.length; i++) {
803
+ let field = fields[i];
804
+
805
+ let path = _getValuePath(field.id, parsedValues);
806
+
807
+ let objectValue = path.valueObject[path.valueProperty];
808
+
809
+ if (!_Utils.default.isNull(field.handle.api)) {
810
+ path.valueObject[path.valueProperty] = field.handle.api.parseValue(objectValue, true);
811
+ } else {
812
+ console.error("NULL field reference while parsing form value - " + field.id);
813
+ }
814
+ }
815
+
816
+ setValues(parsedValues);
817
+
818
+ if (!_Utils.default.isNull(props.dataArrivedHandler)) {
819
+ props.dataArrivedHandler(parsedValues);
820
+ }
821
+
822
+ if (!_Utils.default.isNull(props.valueChangeHandler)) {
823
+ props.valueChangeHandler(parsedValues);
824
+ }
825
+ }
826
+
827
+ _react.default.useEffect(() => {
828
+ if (!_Utils.default.isNull(props.values)) {
829
+ parseValues(props.values);
830
+ }
831
+ }, [props.values]);
832
+
833
+ const getField = id => {
834
+ for (let i = 0; i < fields.length; i++) {
835
+ if (fields[i].id === id) {
836
+ return fields[i];
837
+ }
838
+ }
839
+
840
+ return null;
841
+ };
842
+
843
+ const _removeField = id => {
844
+ for (let i = 0; i < fields.length; i++) {
845
+ if (fields[i].id === id) {
846
+ fields.splice(i, 1);
847
+ }
848
+ }
849
+ };
850
+
851
+ function doValidateParent(field, invalid) {
852
+ let hasErrors = false;
853
+
854
+ if (!_Utils.default.isNull(field.parentId)) {
855
+ let isParentInvalid = invalid;
856
+
857
+ for (let i = 0; i < fields.length; i++) {
858
+ if (fields[i] !== field && fields[i].parentId === field.parentId) {
859
+ isParentInvalid = isParentInvalid || !(_Utils.default.isNull(fields[i].error) || fields[i].error.length === 0);
860
+ }
861
+ }
862
+
863
+ hasErrors = hasErrors || isParentInvalid;
864
+ fieldParentErrors[field.parentId] = isParentInvalid;
865
+ }
866
+
867
+ if (!_Utils.default.isNull(containerErrorCallback.current) && !_ApplicationContext.default.isFormMarkersEnabled()) {
868
+ containerErrorCallback.current(fieldParentErrors);
869
+ }
870
+ }
871
+
872
+ const validateField = (field, id, value) => {
873
+ if (loadingRef.current === false) {
874
+ field.error = null;
875
+ let invalid = field.handle.api.validate(_objectSpread(_objectSpread({}, values), {}, {
876
+ [id]: value
877
+ }), value) === false;
878
+ doValidateParent(field, invalid);
879
+ return invalid;
880
+ }
881
+
882
+ return true;
883
+ };
884
+
885
+ const _getValuePath = (id, vals) => {
886
+ let path = {};
887
+ let currentValues = vals;
888
+
889
+ if (_Utils.default.isNull(vals)) {
890
+ currentValues = values;
891
+ }
892
+
893
+ if (!_Utils.default.isNull(currentValues)) {
894
+ let tokens = id.split(".");
895
+
896
+ if (tokens.length === 1) {
897
+ path.valueObject = currentValues;
898
+ path.valueProperty = tokens[0];
899
+ } else if (tokens.length > 1) {
900
+ let vo = currentValues;
901
+
902
+ for (let i = 0; i < tokens.length - 1; i++) {
903
+ if (!_Utils.default.isNull(vo[tokens[i]])) {
904
+ vo = vo[tokens[i]];
905
+ } else {
906
+ vo[tokens[i]] = {};
907
+ vo = vo[tokens[i]];
908
+ }
909
+ }
910
+
911
+ if (!_Utils.default.isNull(vo)) {
912
+ path.valueObject = vo;
913
+ path.valueProperty = tokens[tokens.length - 1];
914
+ }
915
+ }
916
+ }
917
+
918
+ return path;
919
+ };
920
+
921
+ const doHandleChange = (id, value) => {
922
+ let path = _getValuePath(id, null);
923
+
924
+ if (!_Utils.default.isNull(path.valueObject) && !_Utils.default.isNull(path.valueProperty) && loadingRef.current === false) {
925
+ path.valueObject[path.valueProperty] = value;
926
+ let invalid = false;
927
+ let field = getField(id);
928
+
929
+ if (!_Utils.default.isNull(field)) {
930
+ invalid = validateField(field, id, value);
931
+
932
+ for (let i = 0; i < fields.length; i++) {
933
+ let groupField = fields[i];
934
+ let validationGroup = groupField.handle.api.getValidationGroup();
935
+
936
+ if (!_Utils.default.isNull(validationGroup)) {
937
+ if (field !== groupField && validationGroup === field.handle.api.getValidationGroup()) {
938
+ let groupFieldId = groupField.handle.api.getId();
939
+
940
+ let gridFieldPath = _getValuePath(groupFieldId, null);
941
+
942
+ if (!_Utils.default.isNull(gridFieldPath)) {
943
+ let groupFieldVal = gridFieldPath.valueObject[gridFieldPath.valueProperty];
944
+ validateField(groupField, groupFieldId, groupFieldVal);
945
+ }
946
+ }
947
+ }
948
+ }
949
+ }
950
+
951
+ if (!_Utils.default.isNull(props.valueChangeHandler)) {
952
+ props.valueChangeHandler(invalid ? null : values, id, value);
953
+ }
954
+ }
955
+
956
+ _Observable.default.processSystemGeneratedSubscriptions(props.config.id);
957
+ };
958
+
959
+ const _setFieldError = (id, error) => {
960
+ let field = getField(id);
961
+
962
+ if (!_Utils.default.isNull(field)) {
963
+ field.error = error;
964
+ }
965
+ };
966
+
967
+ const _addField = (id, handle, parentId, bindValueToForm) => {
968
+ let field = getField(id);
969
+ let error = null;
970
+
971
+ if (!_Utils.default.isNull(field)) {
972
+ error = field.error;
973
+
974
+ _removeField(id);
975
+ }
976
+
977
+ field = {};
978
+ field.id = id;
979
+ field.handle = handle;
980
+ field.error = error;
981
+ field.bindValueToForm = bindValueToForm;
982
+ field.parentId = parentId;
983
+ fields.push(field);
984
+ return field;
985
+ };
986
+
987
+ const _handleSelectItemChange = (name, options, selectedId) => {
988
+ let selectedValue = null;
989
+
990
+ for (let i = 0; i < options.length; i++) {
991
+ if (options[i].id === selectedId) {
992
+ selectedValue = options[i];
993
+ }
994
+ }
995
+
996
+ doHandleChange(name, selectedValue);
997
+ return selectedValue;
998
+ };
999
+
1000
+ const updateValue = (name, value) => {
1001
+ props.valueChangeHandler(_objectSpread(_objectSpread({}, values), {}, {
1002
+ [name]: value
1003
+ }));
1004
+ };
1005
+
1006
+ function render(form) {
1007
+ return _Utils.default.isNull(form.sections) || form.sections.length === 0 ? null : /*#__PURE__*/_react.default.createElement("div", {
1008
+ style: {
1009
+ overflow: _Utils.default.getComponentAttribute(props.config, 'overflow', 'auto'),
1010
+ maxHeight: '70vh'
1011
+ }
1012
+ }, form.sections.map(section => {
1013
+ if (_Utils.default.isNull(section.id)) {
1014
+ section.id = sectionCounter + '-form-section';
1015
+ }
1016
+
1017
+ return /*#__PURE__*/_react.default.createElement("div", {
1018
+ key: sectionCounter++
1019
+ }, /*#__PURE__*/_react.default.createElement(_Section.default, {
1020
+ keyHandler: props.keyHandler,
1021
+ config: section,
1022
+ handle: createSectionHandle(section),
1023
+ ref: /*#__PURE__*/_react.default.createRef(),
1024
+ loadCompleteHandler: loadCompleteHandler,
1025
+ form: () => {
1026
+ return !_Utils.default.isNull(props.handle.api) ? props.handle.api : api();
1027
+ },
1028
+ viewId: props.viewId,
1029
+ values: values
1030
+ }));
1031
+ }));
1032
+ }
1033
+
1034
+ return /*#__PURE__*/_react.default.createElement("div", {
1035
+ className: props.className,
1036
+ ref: ref,
1037
+ style: props.className === 'defaultForm' ? {
1038
+ height: _Utils.default.getComponentAttribute(props.config, 'height', null),
1039
+ padding: _Utils.default.getComponentAttribute(props.config, 'padding', '16px 32px 0 48px'),
1040
+ margin: _Utils.default.getComponentAttribute(props.config, 'margin', '0'),
1041
+ overflow: 'hidden'
1042
+ } : null
1043
+ }, !_Utils.default.isNull(props.config.id) ? !initializing ? render(props.config) : null : /*#__PURE__*/_react.default.createElement("div", null, "ERROR: A form must have an ID"));
1044
+ }));
1045
+
1046
+ var _default = Form;
1047
+ exports.default = _default;