@agilemotion/oui-react-js 1.3.0 → 1.3.2

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 (71) hide show
  1. package/dist/ApplicationContext.js +151 -38
  2. package/dist/BasicApp.js +16 -9
  3. package/dist/BasicAppHome.js +6 -4
  4. package/dist/BusinessPortalApp.css +37 -0
  5. package/dist/BusinessPortalApp.js +115 -0
  6. package/dist/BusinessPortalAppHome.js +167 -0
  7. package/dist/RestUtils.js +12 -9
  8. package/dist/assets/css/black-dashboard-react.css +1 -2
  9. package/dist/assets/jss/components/footerStyle.js +7 -4
  10. package/dist/assets/jss/views/loginBasicStyle.js +0 -1
  11. package/dist/assets/jss/views/loginBusinessPortalStyle.js +76 -0
  12. package/dist/assets/scss/black-dashboard-react/bootstrap/_reboot.scss +0 -1
  13. package/dist/components/DocumentView.css +4 -0
  14. package/dist/components/DocumentViewer.js +93 -37
  15. package/dist/components/DocumentViewerComponent.js +93 -0
  16. package/dist/components/ElementResizeHandler.js +232 -0
  17. package/dist/components/Graph.js +120 -16
  18. package/dist/components/GraphNode.js +0 -2
  19. package/dist/components/HtmlPanel.js +45 -4
  20. package/dist/components/Icon.js +8 -0
  21. package/dist/components/SignaturePanel.js +118 -0
  22. package/dist/components/StepperTitleBar.css +85 -0
  23. package/dist/components/StepperTitleBar.js +190 -0
  24. package/dist/components/TitleBar.js +1 -1
  25. package/dist/components/Toolbar.js +6 -3
  26. package/dist/components/dashboard/{BasicBusinessApp.js → BasicBusinessAppDashboard.js} +17 -16
  27. package/dist/components/dashboard/BusinessPortalAppDashboard.css +5 -0
  28. package/dist/components/dashboard/BusinessPortalAppDashboard.js +191 -0
  29. package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.js +23 -12
  30. package/dist/components/dashboard/components/portal/Timeline.js +17 -0
  31. package/dist/components/dashboard/components/portal/Workspace.css +25 -0
  32. package/dist/components/dashboard/components/portal/Workspace.js +48 -0
  33. package/dist/components/dashboard/components/portal/portal-dashboard.css +25 -0
  34. package/dist/components/footer/Footer.js +43 -10
  35. package/dist/components/form/BaseField.js +11 -2
  36. package/dist/components/form/DatePicker.js +62 -1
  37. package/dist/components/form/FieldSet.js +1 -1
  38. package/dist/components/form/Form.js +28 -8
  39. package/dist/components/form/SelectItem.js +10 -3
  40. package/dist/components/form/UploadField.js +122 -44
  41. package/dist/components/layout/Layout.js +30 -15
  42. package/dist/components/layout/ViewPort.js +3 -2
  43. package/dist/components/menu/MenuLink.js +7 -0
  44. package/dist/components/navbars/HomeNavbar.js +0 -10
  45. package/dist/components/navbars/PortalNavbar.css +75 -0
  46. package/dist/components/navbars/PortalNavbar.js +138 -0
  47. package/dist/components/signatures/AlertItem.js +71 -0
  48. package/dist/components/signatures/Card.js +39 -0
  49. package/dist/components/signatures/MenuButton.js +108 -0
  50. package/dist/components/signatures/Prompt.js +78 -0
  51. package/dist/components/signatures/ResponsiveTable.css +91 -0
  52. package/dist/components/signatures/ResponsiveTable.js +568 -0
  53. package/dist/components/signatures/SearchView.js +236 -0
  54. package/dist/components/signatures/SignatorySearch.js +115 -0
  55. package/dist/components/signatures/SignatorySearchForm.js +77 -0
  56. package/dist/components/signatures/SignatureInputProps.js +336 -0
  57. package/dist/components/signatures/SignatureTemplateDesigner.js +890 -0
  58. package/dist/components/signatures/Toolbar.js +208 -0
  59. package/dist/components/signatures/ViewUtils.js +309 -0
  60. package/dist/components/signatures/widgets.css +126 -0
  61. package/dist/event/RouteActionHandler.js +1 -1
  62. package/dist/view/Dashboard.js +17 -13
  63. package/dist/view/PortalDashboard.js +33 -0
  64. package/dist/view/security/ChangePasswordBasic.js +1 -0
  65. package/dist/view/security/ForgotPasswordBasic.js +1 -0
  66. package/dist/view/security/LoginBasic.js +6 -1
  67. package/dist/view/security/LoginBusinessPortal.js +267 -0
  68. package/dist/view/security/ResetPasswordBasic.js +1 -0
  69. package/package.json +26 -24
  70. package/dist/assets/img/flogo.png +0 -0
  71. package/dist/components/SignatureTemplateDesigner.js +0 -168
@@ -13,6 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
14
  var _perfectScrollbar = _interopRequireDefault(require("perfect-scrollbar"));
15
15
 
16
+ var _Utils = _interopRequireDefault(require("../../../../../Utils"));
17
+
16
18
  var _reactstrap = require("reactstrap");
17
19
 
18
20
  var _MenuLink = _interopRequireDefault(require("../../../../menu/MenuLink"));
@@ -72,7 +74,7 @@ class Sidebar extends _react.default.Component {
72
74
  return null;
73
75
  }
74
76
 
75
- if ((prop.collapse || prop.isParent) && prop.name !== 'Dashboard') {
77
+ if ((prop.collapse || prop.isParent) && prop.name !== 'Dashboard' && prop.name !== 'My Work Items') {
76
78
  var st = {};
77
79
  st[prop["state"]] = !this.state[prop.state];
78
80
  return /*#__PURE__*/_react.default.createElement("li", {
@@ -125,11 +127,11 @@ class Sidebar extends _react.default.Component {
125
127
  } : {}
126
128
  }, /*#__PURE__*/_react.default.createElement(_MenuLink.default, {
127
129
  config: prop.item,
128
- ref: /*#__PURE__*/_react.default.createRef(),
129
130
  clickCallback: prop.name === 'Dashboard' ? this.props.dashboardLauncher : null,
131
+ autoClick: prop.name === 'My Work Items',
130
132
  viewId: "menuBar",
131
133
  icon: prop.icon,
132
- iconColor: prop.name === 'Dashboard' && this.activeRoute(prop.name) ? secondaryThemeColor : null,
134
+ iconColor: (prop.name === 'Dashboard' || prop.name === 'My Work Items') && this.activeRoute(prop.name) ? secondaryThemeColor : null,
133
135
  name: prop.name,
134
136
  level: prop.level,
135
137
  color: this.activeRoute(prop.name) ? secondaryThemeColor : null
@@ -142,9 +144,7 @@ class Sidebar extends _react.default.Component {
142
144
  return this.props.activeRouteMenu === routeName;
143
145
  });
144
146
 
145
- this.state = this.getCollapseStates(props.routes);
146
-
147
- _DashboardStore.actionCreators.setActiveRoute('Dashboard');
147
+ this.state = this.getCollapseStates(props.routes); //actionCreators.setActiveRoute(Utils.isNull(props.activeRouteMenu) ? 'Dashboard' : props.activeRouteMenu);
148
148
  } // this creates the intial state of this component based on the collapse routes
149
149
  // that it gets through this.props.routes
150
150
 
@@ -190,7 +190,7 @@ class Sidebar extends _react.default.Component {
190
190
  let logoImg = null;
191
191
  let logoText = null;
192
192
 
193
- if (logo !== undefined) {
193
+ if (!_Utils.default.isNull(logo)) {
194
194
  logoImg = /*#__PURE__*/_react.default.createElement("a", {
195
195
  href: logo.outterLink,
196
196
  className: "logo-normal",
@@ -213,7 +213,7 @@ class Sidebar extends _react.default.Component {
213
213
  }
214
214
 
215
215
  return /*#__PURE__*/_react.default.createElement("div", {
216
- className: "sidebar",
216
+ className: this.props.className,
217
217
  data: activeColor,
218
218
  style: {
219
219
  overflow: 'auto',
@@ -237,7 +237,17 @@ class Sidebar extends _react.default.Component {
237
237
  alignItems: 'center',
238
238
  height: '100%'
239
239
  }
240
- }, " ", logoImg, " ") : null, " ")), /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", {
240
+ }, " ", logoImg, " ") : null, " ", !_Utils.default.isNull(this.props.heading) ? /*#__PURE__*/_react.default.createElement("div", {
241
+ className: "logo",
242
+ style: {
243
+ display: 'flex',
244
+ justifyContent: 'center',
245
+ alignItems: 'center',
246
+ height: '100%',
247
+ fontSize: '20px',
248
+ fontWeight: 600
249
+ }
250
+ }, this.props.heading) : null)), /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", {
241
251
  style: {
242
252
  height: '70%'
243
253
  },
@@ -258,7 +268,7 @@ class Sidebar extends _react.default.Component {
258
268
  justifyContent: 'center',
259
269
  height: '92px'
260
270
  }
261
- }, /*#__PURE__*/_react.default.createElement("div", {
271
+ }, !_Utils.default.isNull(this.props.appLogoPath) ? /*#__PURE__*/_react.default.createElement("div", {
262
272
  style: {
263
273
  display: 'flex',
264
274
  justifyContent: 'center',
@@ -269,11 +279,12 @@ class Sidebar extends _react.default.Component {
269
279
  }, /*#__PURE__*/_react.default.createElement("img", {
270
280
  src: this.props.appLogoPath,
271
281
  alt: "..."
272
- }))), /*#__PURE__*/_react.default.createElement("div", {
282
+ }))) : null, /*#__PURE__*/_react.default.createElement("div", {
273
283
  style: {
274
284
  display: 'flex',
275
285
  justifyContent: 'center',
276
- alignItems: 'center'
286
+ alignItems: 'center',
287
+ marginTop: '8px'
277
288
  }
278
289
  }, "Copyrights \xA9 ", 1900 + new Date().getYear(), " ", " ")))))));
279
290
  }
@@ -0,0 +1,17 @@
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
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const Timeline = props => {
13
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "I am deeee timeline");
14
+ };
15
+
16
+ var _default = Timeline;
17
+ exports.default = _default;
@@ -0,0 +1,25 @@
1
+ .workspace-container {
2
+ height: 100vh;
3
+ width: 100vw;
4
+ }
5
+
6
+ .workspace-left {
7
+ width: 32%;
8
+ padding-right: 6px;
9
+ }
10
+
11
+ .workspace-right {
12
+ width: 55%;
13
+ margin: 32px;
14
+ border: 1px solid #e1e1e1;
15
+ height: calc(100vh - 122px) !important;
16
+ }
17
+
18
+ .sidebar-customizer {
19
+ position: relative !important;
20
+ margin-top: 32px !important;
21
+ height: auto !important;
22
+ max-height: calc(100vh - 122px) !important;
23
+ box-shadow: none !important;
24
+ border: 1px solid #e1e1e1;
25
+ }
@@ -0,0 +1,48 @@
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
+ require("./Workspace.css");
11
+
12
+ var _Sidebar = _interopRequireDefault(require("./../../components/blackDashboard/sidebar/Sidebar"));
13
+
14
+ var _ViewPort = _interopRequireDefault(require("../../../layout/ViewPort"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
+
20
+ const Workspace = props => {
21
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
22
+ className: "row workspace-container"
23
+ }, /*#__PURE__*/_react.default.createElement("div", {
24
+ className: "col-*-* workspace-left"
25
+ }, /*#__PURE__*/_react.default.createElement("div", {
26
+ style: {
27
+ float: 'right'
28
+ }
29
+ }, /*#__PURE__*/_react.default.createElement(_Sidebar.default, _extends({}, props, {
30
+ routes: props.routes,
31
+ activeColor: "agility",
32
+ className: "sidebar sidebar-customizer",
33
+ secondaryThemeColor: props.secondaryColor,
34
+ activeRouteMenu: props.activeRouteMenu,
35
+ dashboardLauncher: () => {},
36
+ heading: props.heading,
37
+ closeSidebar: () => {}
38
+ })))), /*#__PURE__*/_react.default.createElement("div", {
39
+ className: "col-*-* workspace-right"
40
+ }, /*#__PURE__*/_react.default.createElement(_ViewPort.default, {
41
+ settings: props.settings,
42
+ defaultView: "",
43
+ height: 'inherit'
44
+ }))));
45
+ };
46
+
47
+ var _default = Workspace;
48
+ exports.default = _default;
@@ -0,0 +1,25 @@
1
+
2
+ /* Smartphones (landscape); */
3
+ @media only screen and (min-device-width : 361px) and (max-device-width : 480px) {
4
+
5
+ }
6
+
7
+ /* Smartphones (portrait); */
8
+ @media only screen and (min-device-width : 280px) and (max-device-width : 360px) {
9
+
10
+ }
11
+
12
+ /* iPads (portrait and landscape); */
13
+ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
14
+
15
+ }
16
+
17
+ /* iPad 3 */
18
+ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) and (-webkit-min-device-pixel-ratio : 2) {
19
+
20
+ }
21
+
22
+ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) and (-webkit-min-device-pixel-ratio : 2) {
23
+
24
+ }
25
+
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = Footer;
6
+ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -23,10 +23,27 @@ var _CardAvatar = _interopRequireDefault(require("../card/CardAvatar"));
23
23
 
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
25
 
26
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
+
28
+ 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."); }
29
+
30
+ 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); }
31
+
32
+ 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; }
33
+
34
+ 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; }
35
+
36
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
+
26
38
  const useStyles = (0, _styles.makeStyles)(_footerStyle.default);
27
39
 
28
- function Footer(props) {
40
+ const Footer = props => {
29
41
  const classes = useStyles();
42
+
43
+ const _React$useState = _react.default.useState(props.width ? props.width : null),
44
+ _React$useState2 = _slicedToArray(_React$useState, 1),
45
+ width = _React$useState2[0];
46
+
30
47
  const fluid = props.fluid,
31
48
  white = props.white,
32
49
  rtlActive = props.rtlActive;
@@ -42,8 +59,16 @@ function Footer(props) {
42
59
  [classes.block]: true,
43
60
  [classes.whiteColor]: white
44
61
  });
45
- return /*#__PURE__*/_react.default.createElement("footer", {
46
- className: classes.footer
62
+ return /*#__PURE__*/_react.default.createElement("div", {
63
+ className: classes.wrapper,
64
+ style: {
65
+ borderTop: '1px solid ' + props.splitterColor
66
+ }
67
+ }, /*#__PURE__*/_react.default.createElement("footer", {
68
+ className: classes.footer,
69
+ style: {
70
+ width: width
71
+ }
47
72
  }, /*#__PURE__*/_react.default.createElement("div", {
48
73
  className: container,
49
74
  style: {
@@ -56,21 +81,29 @@ function Footer(props) {
56
81
  }, /*#__PURE__*/_react.default.createElement(_ListItem.default, {
57
82
  className: classes.inlineBlock
58
83
  }))), /*#__PURE__*/_react.default.createElement("div", {
59
- className: classes.right + " row "
84
+ className: classes.right + " row"
60
85
  }, "\xA9 ", 1900 + new Date().getYear(), " ", " ", /*#__PURE__*/_react.default.createElement("div", {
61
86
  style: {
62
87
  paddingLeft: 10
63
88
  }
64
89
  }, /*#__PURE__*/_react.default.createElement(_CardAvatar.default, {
65
90
  plain: true
66
- }, /*#__PURE__*/_react.default.createElement("img", {
67
- src: require("../../assets/img/flogo.png"),
91
+ }, /*#__PURE__*/_react.default.createElement("div", {
92
+ className: "row"
93
+ }, /*#__PURE__*/_react.default.createElement("div", {
94
+ className: "col-*-*"
95
+ }, props.logo ? /*#__PURE__*/_react.default.createElement("img", {
96
+ src: props.logo,
68
97
  alt: "..."
69
- }))))));
70
- }
98
+ }) : null), /*#__PURE__*/_react.default.createElement("div", {
99
+ className: "col-*-*"
100
+ }, props.text ? /*#__PURE__*/_react.default.createElement("div", null, "\xA0\xA0", props.text) : null))))))));
101
+ };
71
102
 
72
103
  Footer.propTypes = {
73
104
  fluid: _propTypes.default.bool,
74
105
  white: _propTypes.default.bool,
75
106
  rtlActive: _propTypes.default.bool
76
- };
107
+ };
108
+ var _default = Footer;
109
+ exports.default = _default;
@@ -295,9 +295,18 @@ const BaseField = props => {
295
295
  setRequired(requiredNewVal);
296
296
  },
297
297
 
298
- setFieldRequired(required) {
298
+ get required() {
299
+ return required;
300
+ },
301
+
302
+ setFieldRequired(newVal) {
299
303
  validateOnChange.current = true;
300
- setRequired(required);
304
+ setRequired(newVal);
305
+ },
306
+
307
+ setFieldRequired(newVal, validate) {
308
+ validateOnChange.current = validate;
309
+ setRequired(newVal);
301
310
  },
302
311
 
303
312
  getChildren: () => {
@@ -27,7 +27,29 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
27
27
 
28
28
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
29
 
30
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
+
32
+ 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."); }
33
+
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ 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; }
39
+
40
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
+
30
42
  const CustomDatePickerComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
43
+ const _React$useState = _react.default.useState(null),
44
+ _React$useState2 = _slicedToArray(_React$useState, 2),
45
+ minDate = _React$useState2[0],
46
+ setMinDate = _React$useState2[1];
47
+
48
+ const _React$useState3 = _react.default.useState(null),
49
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
50
+ maxDate = _React$useState4[0],
51
+ setMaxDate = _React$useState4[1];
52
+
31
53
  const base = props.base;
32
54
  const defaultDate = !_Utils.default.isNull(base.valueObject[base.valueProperty]) ? new Date(base.valueObject[base.valueProperty]) : null;
33
55
 
@@ -44,6 +66,43 @@ const CustomDatePickerComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*
44
66
  base.setValue(defaultDate);
45
67
  }, [props.base.valueObject[props.base.valueProperty]]);
46
68
 
69
+ const formatNumber = n => {
70
+ return n < 10 ? '0' + n : n;
71
+ };
72
+
73
+ const getLimitDate = id => {
74
+ let dateAttr = _Utils.default.getComponentAttribute(props.config, id, null);
75
+
76
+ if (dateAttr) {
77
+ if (dateAttr.toString().includes('now')) {
78
+ let operator = dateAttr.toString().includes("-") ? '-' : '+';
79
+ let tokens = dateAttr.toString().split(operator);
80
+ let days = parseFloat(tokens[1].replace('d', '').trim());
81
+ let limit = new Date();
82
+
83
+ if ("-" === operator) {
84
+ limit.setDate(limit.getDate() - days);
85
+ } else {
86
+ limit.setDate(limit.getDate() + days);
87
+ }
88
+
89
+ return limit.getFullYear() + "-" + formatNumber(limit.getMonth() + 1) + "-" + formatNumber(limit.getDate());
90
+ }
91
+ }
92
+
93
+ return null;
94
+ };
95
+
96
+ _react.default.useEffect(() => {
97
+ if (minDate === null) {
98
+ setMinDate(getLimitDate("minDate"));
99
+ }
100
+
101
+ if (maxDate === null) {
102
+ setMaxDate(getLimitDate("maxDate"));
103
+ }
104
+ });
105
+
47
106
  const secondaryColor = (0, _reactRedux.useSelector)(state => state.dashboard.secondaryThemeColor);
48
107
  const ThemedKeyboardDatePicker = (0, _styles.withStyles)({
49
108
  root: {
@@ -72,7 +131,7 @@ const CustomDatePickerComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*
72
131
  required: base.required,
73
132
  format: "dd/MM/yyyy",
74
133
  label: props.config.attributes['label'],
75
- value: base.value,
134
+ value: base.value ? base.value : null,
76
135
  className: props.className,
77
136
  error: base.hasError,
78
137
  margin: "dense",
@@ -88,6 +147,8 @@ const CustomDatePickerComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*
88
147
  'aria-label': 'change date',
89
148
  'disabled': props.disabled
90
149
  },
150
+ minDate: minDate !== null ? minDate : null,
151
+ maxDate: maxDate !== null ? maxDate : null,
91
152
  readOnly: props.readOnly
92
153
  })));
93
154
  }));
@@ -291,7 +291,7 @@ const FieldSet = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
291
291
 
292
292
  const api = () => {
293
293
  return {
294
- getId: () => {
294
+ get id() {
295
295
  return props.config.id;
296
296
  },
297
297
 
@@ -390,9 +390,9 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
390
390
  } else {
391
391
  if (_Utils.default.isNull(eventConfig)) {
392
392
  eventConfig = {};
393
- eventConfig.service = service;
394
- } // TODO : Implement the invalid paramenter callback
393
+ }
395
394
 
395
+ eventConfig.service = service; // TODO : Implement the invalid paramenter callback
396
396
 
397
397
  _ServiceCallActionHandler.default.execute(eventConfig, null, null, props.viewId, data => {
398
398
  parseValues(transformDataObject(data));
@@ -412,14 +412,28 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
412
412
  let value = _DynamicJS.default.executeScript("".concat(props.config.id, "ValueEvaluator"), componentValue);
413
413
 
414
414
  if (!_Utils.default.isNull(value)) {
415
- parseValues(transformDataObject(value));
416
- setMasterValues(value);
415
+ let val = value;
416
+
417
+ if (binder === 'MAP_OBJECT' && _Utils.default.isNull(value.map)) {
418
+ val = {};
419
+ val.map = value;
420
+ }
421
+
422
+ parseValues(transformDataObject(val));
423
+ setMasterValues(val);
417
424
  }
418
425
  });
419
426
  }
420
427
  } else {
421
- parseValues(transformDataObject(componentValue));
422
- setMasterValues(componentValue);
428
+ let val = componentValue;
429
+
430
+ if (binder === 'MAP_OBJECT' && _Utils.default.isNull(componentValue.map)) {
431
+ val = {};
432
+ val.map = componentValue;
433
+ }
434
+
435
+ parseValues(transformDataObject(val));
436
+ setMasterValues(val);
423
437
  }
424
438
  } else {
425
439
  updateViewTitle();
@@ -864,7 +878,7 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
864
878
  fieldParentErrors[field.parentId] = isParentInvalid;
865
879
  }
866
880
 
867
- if (!_Utils.default.isNull(containerErrorCallback.current) && !_ApplicationContext.default.isFormMarkersEnabled()) {
881
+ if (!_Utils.default.isNull(containerErrorCallback.current) && _ApplicationContext.default.isFormMarkersEnabled()) {
868
882
  containerErrorCallback.current(fieldParentErrors);
869
883
  }
870
884
  }
@@ -935,7 +949,7 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
935
949
 
936
950
  if (!_Utils.default.isNull(validationGroup)) {
937
951
  if (field !== groupField && validationGroup === field.handle.api.getValidationGroup()) {
938
- let groupFieldId = groupField.handle.api.getId();
952
+ let groupFieldId = groupField.handle.api.id;
939
953
 
940
954
  let gridFieldPath = _getValuePath(groupFieldId, null);
941
955
 
@@ -953,7 +967,13 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
953
967
  }
954
968
  }
955
969
 
970
+ let isMarkersEnabled = _ApplicationContext.default.isFormMarkersEnabled();
971
+
972
+ _ApplicationContext.default.enableFormMarkers(false);
973
+
956
974
  _Observable.default.processSystemGeneratedSubscriptions(props.config.id);
975
+
976
+ _ApplicationContext.default.enableFormMarkers(isMarkersEnabled);
957
977
  };
958
978
 
959
979
  const _setFieldError = (id, error) => {
@@ -67,6 +67,12 @@ const SelectItemComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_reac
67
67
  let data = result.data;
68
68
  let options = [];
69
69
 
70
+ if (_Utils.default.isNull(props.validator) || props.validator.nullable) {
71
+ options.push({
72
+ id: "_EMPTY_VALUE"
73
+ });
74
+ }
75
+
70
76
  for (let i = 0; i < data.records.length; i++) {
71
77
  let record = data.records[i];
72
78
  options.push(record.map.objectReference);
@@ -99,8 +105,7 @@ const SelectItemComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_reac
99
105
  if (!loadFullOptionList) {
100
106
  setLoadFullOptionList(true);
101
107
  }
102
- },
103
- displayEmpty: props.allowEmptyValue || false
108
+ }
104
109
  },
105
110
  value: !_Utils.default.isNull(base.value) ? base.value.id : defaultValue,
106
111
  className: props.className,
@@ -112,7 +117,9 @@ const SelectItemComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_reac
112
117
  margin: "dense",
113
118
  size: "small",
114
119
  variant: "outlined"
115
- }, base.selectOptions.map(option => /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
120
+ }, base.selectOptions.map(option => option.id === '_EMPTY_VALUE' ? /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
121
+ value: ""
122
+ }, /*#__PURE__*/_react.default.createElement("em", null, "\xA0")) : /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
116
123
  key: option.id,
117
124
  value: option.id
118
125
  }, _Utils.default.isNull(option.label) ? "" : option.label.trim())));