@agilemotion/oui-react-js 1.3.2 → 1.3.4

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 (77) hide show
  1. package/dist/ApplicationContext.js +90 -41
  2. package/dist/BasicAppHome.js +16 -10
  3. package/dist/BusinessPortalApp.js +25 -50
  4. package/dist/BusinessPortalAppHome.js +102 -109
  5. package/dist/RestUtils.js +64 -35
  6. package/dist/Utils.js +47 -1
  7. package/dist/components/AlertBar.js +40 -11
  8. package/dist/components/ConfirmationDialog.js +54 -8
  9. package/dist/components/DataGrid.css +3 -1
  10. package/dist/components/DataGrid.js +149 -82
  11. package/dist/components/DataGridFilter.js +85 -8
  12. package/dist/components/Dialog.js +258 -0
  13. package/dist/components/HtmlPanel.js +103 -4
  14. package/dist/components/Icon.js +52 -0
  15. package/dist/components/PopupView.js +55 -6
  16. package/dist/components/SignaturePanel.js +40 -11
  17. package/dist/components/StepperTitleBar.bck.css +85 -0
  18. package/dist/components/StepperTitleBar.css +53 -54
  19. package/dist/components/StepperTitleBar.js +39 -28
  20. package/dist/components/TabPanel.js +10 -11
  21. package/dist/components/TableCellContent.js +6 -3
  22. package/dist/components/TemplateDesigner.css +13 -0
  23. package/dist/components/TemplateDesigner.js +494 -0
  24. package/dist/components/TemplateItemEventHandler.js +440 -0
  25. package/dist/components/TemplateTable.js +222 -0
  26. package/dist/components/TitleBar.js +21 -14
  27. package/dist/components/Toolbar.js +7 -5
  28. package/dist/components/Tree.js +5 -2
  29. package/dist/components/dashboard/BasicBusinessAppDashboard.js +14 -10
  30. package/dist/components/dashboard/BusinessPortalAppDashboard.js +79 -34
  31. package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.js +1 -1
  32. package/dist/components/dashboard/components/portal/Workspace.css +6 -6
  33. package/dist/components/form/AddressSearch.js +140 -0
  34. package/dist/components/form/BaseField.js +31 -6
  35. package/dist/components/form/Checkbox.js +3 -0
  36. package/dist/components/form/DatePicker.js +12 -7
  37. package/dist/components/form/FieldSet.js +246 -71
  38. package/dist/components/form/Form.js +153 -122
  39. package/dist/components/form/GridField.js +3 -2
  40. package/dist/components/form/ImageEditor.js +461 -0
  41. package/dist/components/form/LabelField.js +2 -2
  42. package/dist/components/form/LookupField.js +16 -4
  43. package/dist/components/form/RadioGroup.js +107 -0
  44. package/dist/components/form/Section.js +58 -19
  45. package/dist/components/form/SelectItem.js +5 -3
  46. package/dist/components/form/SignatureTemplateDesignerField.js +46 -0
  47. package/dist/components/form/TextField.js +5 -9
  48. package/dist/components/form/TransferList.js +7 -7
  49. package/dist/components/form/UploadField.js +93 -42
  50. package/dist/components/form/noimage-person.png +0 -0
  51. package/dist/components/form/noimage.png +0 -0
  52. package/dist/components/form/transparent.jpeg +0 -0
  53. package/dist/components/layout/CollapsiblePanel.js +0 -6
  54. package/dist/components/layout/Layout.js +41 -20
  55. package/dist/components/layout/View.css +43 -0
  56. package/dist/components/layout/View.js +76 -156
  57. package/dist/components/layout/ViewPort.js +29 -47
  58. package/dist/components/navbars/HomeNavbar.js +31 -6
  59. package/dist/components/navbars/PortalNavbar.css +2 -2
  60. package/dist/components/navbars/PortalNavbar.js +125 -36
  61. package/dist/components/signatures/AgilitySignaturePanel.js +312 -0
  62. package/dist/components/signatures/DocumentContainer.css +33 -0
  63. package/dist/components/signatures/DocumentContainer.js +206 -0
  64. package/dist/components/signatures/ImageSignatureInput.js +265 -0
  65. package/dist/components/signatures/ResponsiveTable.js +1 -3
  66. package/dist/components/signatures/SignatureInput.js +303 -0
  67. package/dist/components/signatures/SignatureInputProps.js +17 -11
  68. package/dist/components/signatures/SignatureTemplateDesigner.js +186 -77
  69. package/dist/components/signatures/transparent.jpeg +0 -0
  70. package/dist/event/LoadDataActionHandler.js +1 -1
  71. package/dist/event/Observable.js +1 -1
  72. package/dist/event/RouteActionHandler.js +17 -4
  73. package/dist/event/ServiceCallActionHandler.js +7 -3
  74. package/dist/js/Addresses.js +16 -9
  75. package/dist/view/Dashboard.js +10 -6
  76. package/dist/view/security/LoginBusinessPortal.js +1 -0
  77. package/package.json +4 -1
@@ -0,0 +1,461 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ImageEditor = exports.ImageEditorComponent = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
11
+
12
+ var _BaseField = require("./BaseField");
13
+
14
+ var _styles = require("@material-ui/core/styles");
15
+
16
+ var _Utils = _interopRequireDefault(require("../../Utils"));
17
+
18
+ var _ApplicationContext = _interopRequireDefault(require("./../../ApplicationContext"));
19
+
20
+ var _Icon = _interopRequireDefault(require("../Icon"));
21
+
22
+ var _reactPromiseTracker = require("react-promise-tracker");
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ 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); }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
+
36
+ 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."); }
37
+
38
+ 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); }
39
+
40
+ 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; }
41
+
42
+ 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; }
43
+
44
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
+
46
+ const useStyles = (0, _styles.makeStyles)(theme => ({
47
+ button: {
48
+ margin: theme.spacing(1)
49
+ },
50
+ input: {
51
+ display: 'none'
52
+ },
53
+ errorMessageDisplay: {
54
+ color: 'red'
55
+ }
56
+ }));
57
+
58
+ const status = response => {
59
+ if (response.ok) {
60
+ return Promise.resolve(response);
61
+ } else {
62
+ let error = new Error(response.statusText);
63
+ error.code = response.status;
64
+ return Promise.reject(error);
65
+ }
66
+ };
67
+
68
+ const json = response => {
69
+ return response.text();
70
+ };
71
+
72
+ const location = window.location.protocol + "//" + window.location.hostname;
73
+
74
+ const ImageEditorComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
75
+ const _React$useState = _react.default.useState(props.multiple === true),
76
+ _React$useState2 = _slicedToArray(_React$useState, 1),
77
+ multiple = _React$useState2[0];
78
+
79
+ const _React$useState3 = _react.default.useState(0),
80
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
81
+ angle = _React$useState4[0],
82
+ setAngle = _React$useState4[1];
83
+
84
+ const _React$useState5 = _react.default.useState(null),
85
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
86
+ zoomDepth = _React$useState6[0],
87
+ setZoomDepth = _React$useState6[1];
88
+
89
+ const _React$useState7 = _react.default.useState(null),
90
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
91
+ originalImageWidth = _React$useState8[0],
92
+ setOriginalImageWidth = _React$useState8[1];
93
+
94
+ const _React$useState9 = _react.default.useState(null),
95
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
96
+ originalImageHeight = _React$useState10[0],
97
+ setOriginalImageHeight = _React$useState10[1];
98
+
99
+ const classes = useStyles();
100
+
101
+ const width = _Utils.default.getComponentAttribute(props.config, 'width', '320px');
102
+
103
+ const height = _Utils.default.getComponentAttribute(props.config, 'height', '320px');
104
+
105
+ const base = props.base;
106
+
107
+ _react.default.useEffect(() => {}, [props.initialFile]);
108
+
109
+ function getFetchConfig(data) {
110
+ const accessToken = sessionStorage.getItem("accessToken");
111
+ const idToken = sessionStorage.getItem("idToken");
112
+ return {
113
+ method: 'POST',
114
+ headers: {
115
+ 'Accept': 'application/json',
116
+ 'Authorization': 'Bearer ' + accessToken,
117
+ 'idToken': idToken
118
+ },
119
+ body: data
120
+ };
121
+ }
122
+
123
+ function getRotateAngle(action) {
124
+ let rotateAngle = null;
125
+
126
+ if ("rotateLeft" === action) {
127
+ rotateAngle = -90;
128
+ } else if ("rotateRight" === action) {
129
+ rotateAngle = 90;
130
+ }
131
+
132
+ return rotateAngle;
133
+ }
134
+
135
+ function process(callback, data, action) {
136
+ let fetchConfig = getFetchConfig(data);
137
+
138
+ let url = location + _ApplicationContext.default.getBaseApiUrl() + _Utils.default.getComponentAttribute(props.config, 'processingUrl', null) + "/" + action + "/" + _Utils.default.getComponentAttribute(props.config, "mode", "DOC");
139
+
140
+ let rotateAngle = getRotateAngle(action);
141
+
142
+ if (rotateAngle) {
143
+ url += "/" + rotateAngle;
144
+ }
145
+
146
+ (0, _reactPromiseTracker.trackPromise)(fetch(encodeURI(url), fetchConfig).then(status).then(json).then(data => {
147
+ callback(data);
148
+ }).catch(e => {
149
+ if (e.code === 401) {
150
+ _ApplicationContext.default.clear();
151
+
152
+ _ApplicationContext.default.getApplicationHistory().push('/login');
153
+ }
154
+ }));
155
+ }
156
+
157
+ const handleChange = () => event => {
158
+ let files = event.target.files;
159
+ let file = files[0];
160
+ let reader = new FileReader();
161
+ reader.readAsDataURL(file);
162
+
163
+ reader.onload = () => {
164
+ if (!_Utils.default.isNull(file)) {
165
+ let fileMetaData = {};
166
+ fileMetaData.name = file.name;
167
+ fileMetaData.type = file.type;
168
+ fileMetaData.size = file.size;
169
+
170
+ if (base.value) {
171
+ fileMetaData.id = base.value.id;
172
+ }
173
+
174
+ if (_Utils.default.getComponentAttribute(props.config, 'autoRemoveBackground', false)) {
175
+ process(data => {
176
+ fileMetaData.url = data;
177
+ base.handleValueChange(fileMetaData);
178
+ }, reader.result, 'removeBackground');
179
+ } else {
180
+ fileMetaData.url = file.base64;
181
+ base.handleValueChange(fileMetaData);
182
+ }
183
+ }
184
+ };
185
+
186
+ reader.onloadend = () => {};
187
+ };
188
+
189
+ _react.default.useEffect(() => {
190
+ let container = document.getElementById("__image_container");
191
+ let image = document.getElementById("__image");
192
+
193
+ if (container) {
194
+ let ratio = 10 * zoomDepth / 100;
195
+ container.style.width = originalImageWidth + originalImageWidth * ratio + "px";
196
+ container.style.height = originalImageHeight + originalImageHeight * ratio + "px";
197
+ image.style.width = container.style.width;
198
+ image.style.height = container.style.height;
199
+ }
200
+ }, [zoomDepth]);
201
+
202
+ const zoom = direction => {
203
+ if (originalImageWidth === null) {
204
+ setOriginalImageWidth(document.getElementById("__image").width);
205
+ setOriginalImageHeight(document.getElementById("__image").height);
206
+ }
207
+
208
+ let depth = direction === "In" ? zoomDepth + 1 : zoomDepth - 1;
209
+
210
+ if (depth <= 0) {
211
+ depth = 1;
212
+ }
213
+
214
+ setZoomDepth(depth);
215
+ };
216
+
217
+ const rotate = direction => {
218
+ let rotateMode = _Utils.default.getComponentAttribute(props.config, "rotateMode", null);
219
+
220
+ if (rotateMode === null || rotateMode === 'SERVER') {
221
+ process(data => {
222
+ base.handleValueChange(_objectSpread(_objectSpread({}, base.value), {}, {
223
+ url: data
224
+ }));
225
+ }, base.value.url, 'rotate' + direction);
226
+ } else {
227
+ let rotateAngle = angle + getRotateAngle("rotate" + direction);
228
+ document.getElementById("__image_container").style.transform = "rotate(" + rotateAngle + "deg)";
229
+ setAngle(rotateAngle);
230
+ }
231
+ };
232
+
233
+ return /*#__PURE__*/_react.default.createElement("div", {
234
+ style: {
235
+ margin: '8px',
236
+ width: width
237
+ }
238
+ }, /*#__PURE__*/_react.default.createElement("div", {
239
+ className: "row"
240
+ }, /*#__PURE__*/_react.default.createElement("div", {
241
+ className: "col-*-*"
242
+ }, /*#__PURE__*/_react.default.createElement("label", null, _Utils.default.getComponentAttribute(props.config, 'label', '')))), /*#__PURE__*/_react.default.createElement("div", {
243
+ className: "row"
244
+ }, /*#__PURE__*/_react.default.createElement("div", {
245
+ className: "col-*-*"
246
+ }, /*#__PURE__*/_react.default.createElement("input", {
247
+ accept: "image/jpeg,image/gif,image/png,image/x-eps",
248
+ className: classes.input,
249
+ id: "contained-button-file-".concat(props.config.id),
250
+ disabled: base.disabled,
251
+ required: base.required,
252
+ multiple: multiple,
253
+ onChange: handleChange(),
254
+ type: "file"
255
+ }), /*#__PURE__*/_react.default.createElement("label", {
256
+ htmlFor: "contained-button-file-".concat(props.config.id)
257
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Button.default, {
258
+ component: "span",
259
+ variant: 'contained',
260
+ size: "large",
261
+ style: {
262
+ width: '120px',
263
+ height: '40px',
264
+ border: base.hasError ? "1px solid #f44336" : null,
265
+ color: base.hasError ? "#f44336" : null
266
+ },
267
+ startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
268
+ id: 'UPLOAD'
269
+ })
270
+ }, "UPLOAD")), base.hasError ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
271
+ style: {
272
+ color: "#f44336",
273
+ padding: "8px 0"
274
+ }
275
+ }, base.errorMessage)) : null)), /*#__PURE__*/_react.default.createElement("div", {
276
+ className: "col-*-*",
277
+ style: {
278
+ marginLeft: '4px'
279
+ }
280
+ }, base.value ? /*#__PURE__*/_react.default.createElement(_Button.default, {
281
+ variant: 'contained',
282
+ size: "large",
283
+ style: {
284
+ width: '40px',
285
+ height: '40px'
286
+ },
287
+ onClick: () => rotate('Left'),
288
+ startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
289
+ id: 'ROTATE_LEFT'
290
+ })
291
+ }) : null), /*#__PURE__*/_react.default.createElement("div", {
292
+ className: "col-*-*",
293
+ style: {
294
+ marginLeft: '4px'
295
+ }
296
+ }, base.value ? /*#__PURE__*/_react.default.createElement(_Button.default, {
297
+ variant: 'contained',
298
+ size: "large",
299
+ ref: ref,
300
+ style: {
301
+ width: '40px',
302
+ height: '40px'
303
+ },
304
+ onClick: () => rotate('Right'),
305
+ startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
306
+ id: 'ROTATE_RIGHT'
307
+ })
308
+ }) : null), /*#__PURE__*/_react.default.createElement("div", {
309
+ className: "col-*-*",
310
+ style: {
311
+ marginLeft: '4px'
312
+ }
313
+ }, base.value ? /*#__PURE__*/_react.default.createElement(_Button.default, {
314
+ variant: 'contained',
315
+ size: "large",
316
+ style: {
317
+ width: '40px',
318
+ height: '40px'
319
+ },
320
+ onClick: () => zoom('Out'),
321
+ startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
322
+ id: 'ZOOM_OUT'
323
+ })
324
+ }) : null), /*#__PURE__*/_react.default.createElement("div", {
325
+ className: "col-*-*",
326
+ style: {
327
+ marginLeft: '4px'
328
+ }
329
+ }, base.value ? /*#__PURE__*/_react.default.createElement(_Button.default, {
330
+ variant: 'contained',
331
+ size: "large",
332
+ ref: ref,
333
+ style: {
334
+ width: '40px',
335
+ height: '40px'
336
+ },
337
+ onClick: () => zoom('In'),
338
+ startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
339
+ id: 'ZOOM_IN'
340
+ })
341
+ }) : null)), !_Utils.default.isNull(base.value) ? /*#__PURE__*/_react.default.createElement("div", {
342
+ className: "row",
343
+ style: {
344
+ padding: "8px 0"
345
+ }
346
+ }, /*#__PURE__*/_react.default.createElement("div", {
347
+ id: "__image_parent",
348
+ style: {
349
+ width: "100%",
350
+ height: height,
351
+ backgroundRepeat: 'no-repeat',
352
+ backgroundSize: 'cover',
353
+ backgroundColor: 'transparent',
354
+ backgroundImage: "url(".concat(require('./transparent.jpeg'), ")"),
355
+ border: '4px solid #e1e1e1',
356
+ borderRadius: '4px'
357
+ },
358
+ className: "col-*-*"
359
+ }, /*#__PURE__*/_react.default.createElement("div", {
360
+ className: classes.button,
361
+ style: {
362
+ width: width,
363
+ height: parseFloat(height.replace('px', '')) - 20 + 'px',
364
+ maxHeight: parseFloat(height.replace('px', '')) - 20 + 'px',
365
+ textAlign: 'center',
366
+ overflow: 'auto',
367
+ position: 'absolute',
368
+ display: 'flex',
369
+ justifyContent: 'center',
370
+ alignItems: 'center'
371
+ }
372
+ }, /*#__PURE__*/_react.default.createElement("div", {
373
+ id: "__image_container",
374
+ style: {
375
+ position: 'absolute'
376
+ }
377
+ }, /*#__PURE__*/_react.default.createElement("img", {
378
+ id: "__image",
379
+ src: base.value.url,
380
+ alt: '',
381
+ style: {
382
+ height: height
383
+ }
384
+ }))))) : null);
385
+ }));
386
+
387
+ exports.ImageEditorComponent = ImageEditorComponent;
388
+
389
+ const ImageEditor = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
390
+ const _React$useState11 = _react.default.useState(null),
391
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
392
+ file = _React$useState12[0],
393
+ setFile = _React$useState12[1];
394
+
395
+ const _React$useState13 = _react.default.useState(false),
396
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
397
+ clearTrigger = _React$useState14[0],
398
+ setClearTrigger = _React$useState14[1];
399
+
400
+ return /*#__PURE__*/_react.default.createElement(_BaseField.BaseField, _extends({}, props, {
401
+ handle: props.handle,
402
+ valueParser: (value, inbound) => {
403
+ if (inbound) {
404
+ setClearTrigger(!clearTrigger);
405
+
406
+ if (!_Utils.default.isNull(value)) {
407
+ let val = value; // TODO : Support multiple file upload
408
+
409
+ if (_Utils.default.getComponentAttribute(props.config, 'multiple', false)) {
410
+ if (typeof value.length !== 'undefined' && value.length > 0) {
411
+ val = value[0];
412
+ } else {
413
+ if (value.documentRepositoryId) {
414
+ return value;
415
+ }
416
+
417
+ return null;
418
+ }
419
+ }
420
+
421
+ if (val.map) {
422
+ val = val.map;
423
+ }
424
+
425
+ let fileMetaData = {};
426
+ fileMetaData.name = !_Utils.default.isNull(val.label) ? val.label : val.name;
427
+ fileMetaData.id = val.id;
428
+ fileMetaData.type = val.type;
429
+ fileMetaData.size = val.size;
430
+ fileMetaData.documentRepositoryId = !_Utils.default.isNull(val.key) ? val.key : val.documentRepositoryId;
431
+ fileMetaData.documentRepositoryCacheId = val.documentRepositoryCacheId;
432
+ fileMetaData.url = val.url;
433
+
434
+ if (!_Utils.default.isNull(val.url)) {
435
+ let file = {};
436
+ file.base64 = val.url;
437
+ setFile(file);
438
+ }
439
+
440
+ return fileMetaData;
441
+ }
442
+ }
443
+
444
+ return value;
445
+ },
446
+ valueChangeCallback: value => {
447
+ if (_Utils.default.isNull(value)) {
448
+ setClearTrigger(!clearTrigger);
449
+ }
450
+ }
451
+ }), base => /*#__PURE__*/_react.default.createElement(ImageEditorComponent, _extends({
452
+ ref: ref,
453
+ base: base,
454
+ initialFile: file,
455
+ clearTrigger: clearTrigger
456
+ }, props)));
457
+ }));
458
+
459
+ exports.ImageEditor = ImageEditor;
460
+ var _default = ImageEditor;
461
+ exports.default = _default;
@@ -20,13 +20,13 @@ const LabelFieldWrapper = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.
20
20
 
21
21
  let displayTemplate = _Utils.default.getComponentAttribute(props.config, 'displayTemplate', null);
22
22
 
23
- let style = _Utils.default.getComponentAttribute(props.config, 'style', null);
23
+ let className = _Utils.default.getComponentAttribute(props.config, 'className', null);
24
24
 
25
25
  let emptyValue = _Utils.default.getComponentAttribute(props.config, 'emptyValue', '');
26
26
 
27
27
  return /*#__PURE__*/_react.default.createElement("div", {
28
28
  ref: ref,
29
- className: style
29
+ className: className
30
30
  }, !_Utils.default.isNull(displayTemplate) ? displayTemplate.replace('@{value}', _Utils.default.isNull(base.value) ? emptyValue : base.value) : base.value);
31
31
  }));
32
32
 
@@ -27,6 +27,8 @@ var _DataGrid = require("../DataGrid");
27
27
 
28
28
  var _Observable = _interopRequireDefault(require("../../event/Observable"));
29
29
 
30
+ var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
31
+
30
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
33
 
32
34
  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); }
@@ -68,6 +70,16 @@ const LookupFieldComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_rea
68
70
  _Observable.default.clearComponentEventListeners(props.gridHandle.api.id);
69
71
  };
70
72
 
73
+ _react.default.useEffect(() => {
74
+ if (props.config && props.config.grid) {
75
+ if (!props.config.grid.attributes) {
76
+ props.config.grid.attributes = {};
77
+ }
78
+
79
+ props.config.grid.attributes['margin'] = _Utils.default.getComponentAttribute(props.config.grid, 'margin', '16px');
80
+ }
81
+ });
82
+
71
83
  const setSelectionAsValue = () => {
72
84
  if (currentSelection.length > 0) {
73
85
  let row = currentSelection[0];
@@ -146,15 +158,15 @@ const LookupFieldComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_rea
146
158
  style: {
147
159
  overflow: "hidden",
148
160
  margin: "8px",
149
- border: "1px solid #e1e1e1",
150
161
  borderRadius: "4px"
151
162
  }
152
- }, /*#__PURE__*/_react.default.createElement("div", {
163
+ }, /*#__PURE__*/_react.default.createElement(_DialogTitle.default, {
164
+ id: "alert-dialog-title"
165
+ }, !_Utils.default.isNull(props.config.attributes) && !_Utils.default.isNull(props.config.attributes['label']) ? props.config.attributes['label'] : null), /*#__PURE__*/_react.default.createElement("div", {
153
166
  style: {
154
167
  height: "auto",
155
168
  overflow: "auto",
156
- minHeight: "300px",
157
- paddingTop: "8px"
169
+ minHeight: "250px"
158
170
  }
159
171
  }, /*#__PURE__*/_react.default.createElement(_DataGrid.DataGrid, {
160
172
  config: props.config.grid,
@@ -0,0 +1,107 @@
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 _RadioGroup = _interopRequireDefault(require("@material-ui/core/RadioGroup"));
11
+
12
+ var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
13
+
14
+ var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
15
+
16
+ var _FormLabel = _interopRequireDefault(require("@material-ui/core/FormLabel"));
17
+
18
+ var _BaseField = require("./BaseField");
19
+
20
+ var _Utils = _interopRequireDefault(require("../../Utils"));
21
+
22
+ var _TextField = _interopRequireDefault(require("./TextField"));
23
+
24
+ var _Observable = _interopRequireDefault(require("../../event/Observable"));
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
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
+
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
+
42
+ const RadioGroupWrapper = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
43
+ const base = props.base;
44
+
45
+ const label = _Utils.default.getComponentAttribute(props.config, 'label', null); // TODO : Support calling a rest end-point to get options
46
+
47
+
48
+ const options = _Utils.default.getComponentAttribute(props.config, 'options', []);
49
+
50
+ const _React$useState = _react.default.useState(true),
51
+ _React$useState2 = _slicedToArray(_React$useState, 2),
52
+ initializing = _React$useState2[0],
53
+ setInitializing = _React$useState2[1];
54
+
55
+ _react.default.useEffect(() => {
56
+ if (initializing) {
57
+ base.handleValueChange(props.defaultValue);
58
+ setInitializing(false);
59
+ }
60
+ });
61
+
62
+ return /*#__PURE__*/_react.default.createElement("div", {
63
+ style: {
64
+ marginTop: '16px'
65
+ }
66
+ }, label !== null ? /*#__PURE__*/_react.default.createElement(_FormLabel.default, {
67
+ component: "legend"
68
+ }, label) : null, /*#__PURE__*/_react.default.createElement(_RadioGroup.default, {
69
+ row: true,
70
+ defaultValue: props.defaultValue,
71
+ "aria-label": "gender",
72
+ name: "radios",
73
+ required: base.required,
74
+ onChange: e => {
75
+ base.handleValueChange(e.target.value);
76
+ },
77
+ error: base.hasError
78
+ }, options.map(option => {
79
+ return /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
80
+ value: option.value,
81
+ control: /*#__PURE__*/_react.default.createElement(_Radio.default, null),
82
+ label: option.label
83
+ });
84
+ })));
85
+ }));
86
+
87
+ const RadioGroup = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
88
+ const defaultValue = _Utils.default.getComponentAttribute(props.config, 'defaultValue', null);
89
+
90
+ return /*#__PURE__*/_react.default.createElement(_BaseField.BaseField, _extends({}, props, {
91
+ handle: props.handle,
92
+ valueParser: value => {
93
+ if (_Utils.default.isNull(value)) {
94
+ return defaultValue;
95
+ }
96
+
97
+ return value;
98
+ }
99
+ }), base => /*#__PURE__*/_react.default.createElement(RadioGroupWrapper, _extends({
100
+ ref: ref,
101
+ base: base,
102
+ defaultValue: defaultValue
103
+ }, props)));
104
+ }));
105
+
106
+ var _default = RadioGroup;
107
+ exports.default = _default;