@agilemotion/oui-react-js 1.3.1 → 1.3.3
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.
- package/dist/ApplicationContext.js +148 -39
- package/dist/BasicApp.js +12 -5
- package/dist/BasicAppHome.js +18 -12
- package/dist/BusinessPortalApp.css +37 -0
- package/dist/BusinessPortalApp.js +90 -0
- package/dist/BusinessPortalAppHome.js +160 -0
- package/dist/RestUtils.js +65 -40
- package/dist/Utils.js +47 -1
- package/dist/assets/jss/components/footerStyle.js +7 -4
- package/dist/assets/jss/views/loginBasicStyle.js +0 -1
- package/dist/assets/jss/views/loginBusinessPortalStyle.js +76 -0
- package/dist/components/AlertBar.js +40 -11
- package/dist/components/ConfirmationDialog.js +54 -8
- package/dist/components/DataGrid.css +3 -1
- package/dist/components/DataGrid.js +149 -82
- package/dist/components/DataGridFilter.js +85 -8
- package/dist/components/Dialog.js +258 -0
- package/dist/components/Graph.js +26 -18
- package/dist/components/GraphNode.js +0 -2
- package/dist/components/HtmlPanel.js +103 -4
- package/dist/components/Icon.js +60 -0
- package/dist/components/PopupView.js +55 -6
- package/dist/components/SignaturePanel.js +147 -0
- package/dist/components/StepperTitleBar.bck.css +85 -0
- package/dist/components/StepperTitleBar.css +53 -54
- package/dist/components/StepperTitleBar.js +42 -29
- package/dist/components/TabPanel.js +10 -11
- package/dist/components/TableCellContent.js +6 -3
- package/dist/components/TemplateDesigner.css +13 -0
- package/dist/components/TemplateDesigner.js +494 -0
- package/dist/components/TemplateItemEventHandler.js +440 -0
- package/dist/components/TemplateTable.js +222 -0
- package/dist/components/TitleBar.js +21 -14
- package/dist/components/Toolbar.js +7 -5
- package/dist/components/Tree.js +5 -2
- package/dist/components/dashboard/{BasicBusinessApp.js → BasicBusinessAppDashboard.js} +30 -25
- package/dist/components/dashboard/BusinessPortalAppDashboard.css +5 -0
- package/dist/components/dashboard/BusinessPortalAppDashboard.js +236 -0
- package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.js +23 -12
- package/dist/components/dashboard/components/portal/Timeline.js +17 -0
- package/dist/components/dashboard/components/portal/Workspace.css +25 -0
- package/dist/components/dashboard/components/portal/Workspace.js +48 -0
- package/dist/components/dashboard/components/portal/portal-dashboard.css +25 -0
- package/dist/components/footer/Footer.js +43 -10
- package/dist/components/form/AddressSearch.js +140 -0
- package/dist/components/form/BaseField.js +42 -8
- package/dist/components/form/Checkbox.js +3 -0
- package/dist/components/form/DatePicker.js +70 -4
- package/dist/components/form/FieldSet.js +247 -72
- package/dist/components/form/Form.js +178 -127
- package/dist/components/form/GridField.js +3 -2
- package/dist/components/form/ImageEditor.js +461 -0
- package/dist/components/form/LabelField.js +2 -2
- package/dist/components/form/LookupField.js +16 -4
- package/dist/components/form/RadioGroup.js +107 -0
- package/dist/components/form/Section.js +58 -19
- package/dist/components/form/SelectItem.js +14 -5
- package/dist/components/form/SignatureTemplateDesignerField.js +46 -0
- package/dist/components/form/TextField.js +5 -9
- package/dist/components/form/TransferList.js +7 -7
- package/dist/components/form/UploadField.js +184 -55
- package/dist/components/form/noimage-person.png +0 -0
- package/dist/components/form/noimage.png +0 -0
- package/dist/components/form/transparent.jpeg +0 -0
- package/dist/components/layout/CollapsiblePanel.js +0 -6
- package/dist/components/layout/Layout.js +49 -19
- package/dist/components/layout/View.css +43 -0
- package/dist/components/layout/View.js +76 -156
- package/dist/components/layout/ViewPort.js +32 -49
- package/dist/components/menu/MenuLink.js +7 -0
- package/dist/components/navbars/HomeNavbar.js +29 -14
- package/dist/components/navbars/PortalNavbar.css +75 -0
- package/dist/components/navbars/PortalNavbar.js +227 -0
- package/dist/components/signatures/AgilitySignaturePanel.js +312 -0
- package/dist/components/signatures/DocumentContainer.css +33 -0
- package/dist/components/signatures/DocumentContainer.js +206 -0
- package/dist/components/signatures/ImageSignatureInput.js +265 -0
- package/dist/components/signatures/ResponsiveTable.js +1 -3
- package/dist/components/signatures/SignatureInput.js +303 -0
- package/dist/components/signatures/SignatureInputProps.js +17 -11
- package/dist/components/signatures/SignatureTemplateDesigner.js +192 -81
- package/dist/components/signatures/transparent.jpeg +0 -0
- package/dist/event/LoadDataActionHandler.js +1 -1
- package/dist/event/Observable.js +1 -1
- package/dist/event/RouteActionHandler.js +18 -5
- package/dist/event/ServiceCallActionHandler.js +7 -3
- package/dist/js/Addresses.js +16 -9
- package/dist/view/Dashboard.js +27 -19
- package/dist/view/PortalDashboard.js +33 -0
- package/dist/view/security/ChangePasswordBasic.js +1 -0
- package/dist/view/security/ForgotPasswordBasic.js +1 -0
- package/dist/view/security/LoginBasic.js +6 -1
- package/dist/view/security/LoginBusinessPortal.js +268 -0
- package/dist/view/security/ResetPasswordBasic.js +1 -0
- package/package.json +25 -21
- package/dist/assets/img/flogo.png +0 -0
|
@@ -17,6 +17,8 @@ var _TabPanel = _interopRequireDefault(require("../TabPanel"));
|
|
|
17
17
|
|
|
18
18
|
var _Grid = _interopRequireDefault(require("@material-ui/core/Grid"));
|
|
19
19
|
|
|
20
|
+
var _HtmlPanel = _interopRequireDefault(require("../HtmlPanel"));
|
|
21
|
+
|
|
20
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
23
|
|
|
22
24
|
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; } } }; }
|
|
@@ -100,7 +102,17 @@ const Section = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.fo
|
|
|
100
102
|
viewId: props.viewId,
|
|
101
103
|
values: props.values,
|
|
102
104
|
key: componentKey++
|
|
103
|
-
}) : /*#__PURE__*/_react.default.createElement(
|
|
105
|
+
}) : component.type === 'htmlPanel' ? /*#__PURE__*/_react.default.createElement(_HtmlPanel.default, {
|
|
106
|
+
config: component,
|
|
107
|
+
handle: createComponentHandle(component),
|
|
108
|
+
ref: /*#__PURE__*/_react.default.createRef(),
|
|
109
|
+
viewId: props.viewId,
|
|
110
|
+
key: componentKey++,
|
|
111
|
+
values: props.values,
|
|
112
|
+
loadCompleteHandler: props.loadCompleteHandler
|
|
113
|
+
}) : /*#__PURE__*/_react.default.createElement("div", {
|
|
114
|
+
key: componentKey++
|
|
115
|
+
}, "Unsupported form section component type " + component.type);
|
|
104
116
|
}
|
|
105
117
|
|
|
106
118
|
const api = () => {
|
|
@@ -122,18 +134,20 @@ const Section = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.fo
|
|
|
122
134
|
let componentHandle = componentHandles[property];
|
|
123
135
|
children.push(componentHandle);
|
|
124
136
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
137
|
+
if (componentHandle.api) {
|
|
138
|
+
var _iterator2 = _createForOfIteratorHelper(componentHandle.api.getChildren()),
|
|
139
|
+
_step2;
|
|
140
|
+
|
|
141
|
+
try {
|
|
142
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
143
|
+
const child = _step2.value;
|
|
144
|
+
children.push(child);
|
|
145
|
+
}
|
|
146
|
+
} catch (err) {
|
|
147
|
+
_iterator2.e(err);
|
|
148
|
+
} finally {
|
|
149
|
+
_iterator2.f();
|
|
132
150
|
}
|
|
133
|
-
} catch (err) {
|
|
134
|
-
_iterator2.e(err);
|
|
135
|
-
} finally {
|
|
136
|
-
_iterator2.f();
|
|
137
151
|
}
|
|
138
152
|
}
|
|
139
153
|
} catch (err) {
|
|
@@ -143,7 +157,30 @@ const Section = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.fo
|
|
|
143
157
|
}
|
|
144
158
|
|
|
145
159
|
return children;
|
|
160
|
+
},
|
|
161
|
+
|
|
162
|
+
refresh() {
|
|
163
|
+
let properties = Object.getOwnPropertyNames(componentHandles);
|
|
164
|
+
|
|
165
|
+
var _iterator3 = _createForOfIteratorHelper(properties),
|
|
166
|
+
_step3;
|
|
167
|
+
|
|
168
|
+
try {
|
|
169
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
170
|
+
const property = _step3.value;
|
|
171
|
+
let componentHandle = componentHandles[property];
|
|
172
|
+
|
|
173
|
+
if (componentHandle.api && componentHandle.api.refresh) {
|
|
174
|
+
componentHandle.api.refresh();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
} catch (err) {
|
|
178
|
+
_iterator3.e(err);
|
|
179
|
+
} finally {
|
|
180
|
+
_iterator3.f();
|
|
181
|
+
}
|
|
146
182
|
}
|
|
183
|
+
|
|
147
184
|
};
|
|
148
185
|
};
|
|
149
186
|
|
|
@@ -152,21 +189,23 @@ const Section = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.fo
|
|
|
152
189
|
};
|
|
153
190
|
|
|
154
191
|
function render(section) {
|
|
155
|
-
let margin = !_Utils.default.isNull(section.attributes) && !_Utils.default.isNull(section.attributes['margin']) ? section.attributes['margin'] : null;
|
|
156
192
|
let counter = 0;
|
|
157
|
-
return _Utils.default.isNull(section.components) || section.components.length === 0 ? /*#__PURE__*/_react.default.createElement("div", null, " Error: A form section must have components") : /*#__PURE__*/_react.default.createElement("div",
|
|
193
|
+
return _Utils.default.isNull(section.components) || section.components.length === 0 ? /*#__PURE__*/_react.default.createElement("div", null, " Error: A form section must have components") : /*#__PURE__*/_react.default.createElement("div", {
|
|
194
|
+
style: {
|
|
195
|
+
overflow: 'hidden'
|
|
196
|
+
}
|
|
197
|
+
}, fieldGrid.rows.map(row => {
|
|
158
198
|
return /*#__PURE__*/_react.default.createElement(_Grid.default, {
|
|
159
199
|
container: true,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
margin: margin,
|
|
200
|
+
style: _Utils.default.mergeStyles({
|
|
201
|
+
margin: '0',
|
|
163
202
|
textAlign: 'left',
|
|
164
203
|
width: '100%'
|
|
165
|
-
},
|
|
204
|
+
}, section),
|
|
166
205
|
key: componentKey++
|
|
167
206
|
}, row.fields.map(field => {
|
|
168
207
|
if (_Utils.default.isNull(field.id)) {
|
|
169
|
-
field.id = counter + "-" + field.type + '-section-component';
|
|
208
|
+
field.id = counter++ + "-" + field.type + '-section-component';
|
|
170
209
|
}
|
|
171
210
|
|
|
172
211
|
return renderComponent(field);
|
|
@@ -63,10 +63,17 @@ const SelectItemComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_reac
|
|
|
63
63
|
|
|
64
64
|
_react.default.useEffect(() => {
|
|
65
65
|
if (loadFullOptionList && !_Utils.default.isNull(props.config.dataService)) {
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
let method = props.config.dataService.type === 'remoteObjectProxy' ? _RestUtils.invokeRpc : _RestUtils.invokeRest;
|
|
67
|
+
method(props.config.dataService, props.handle, props.viewId, result => {
|
|
68
|
+
let data = props.config.dataService.type === 'remoteObjectProxy' ? result.data : result;
|
|
68
69
|
let options = [];
|
|
69
70
|
|
|
71
|
+
if (_Utils.default.isNull(props.validator) || props.validator.nullable) {
|
|
72
|
+
options.push({
|
|
73
|
+
id: "_EMPTY_VALUE"
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
70
77
|
for (let i = 0; i < data.records.length; i++) {
|
|
71
78
|
let record = data.records[i];
|
|
72
79
|
options.push(record.map.objectReference);
|
|
@@ -99,8 +106,7 @@ const SelectItemComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_reac
|
|
|
99
106
|
if (!loadFullOptionList) {
|
|
100
107
|
setLoadFullOptionList(true);
|
|
101
108
|
}
|
|
102
|
-
}
|
|
103
|
-
displayEmpty: props.allowEmptyValue || false
|
|
109
|
+
}
|
|
104
110
|
},
|
|
105
111
|
value: !_Utils.default.isNull(base.value) ? base.value.id : defaultValue,
|
|
106
112
|
className: props.className,
|
|
@@ -112,7 +118,10 @@ const SelectItemComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_reac
|
|
|
112
118
|
margin: "dense",
|
|
113
119
|
size: "small",
|
|
114
120
|
variant: "outlined"
|
|
115
|
-
}, base.selectOptions.map(option => /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
|
|
121
|
+
}, base.selectOptions.map(option => option.id === '_EMPTY_VALUE' ? /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
|
|
122
|
+
value: "",
|
|
123
|
+
key: option.id
|
|
124
|
+
}, /*#__PURE__*/_react.default.createElement("em", null, "\xA0")) : /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
|
|
116
125
|
key: option.id,
|
|
117
126
|
value: option.id
|
|
118
127
|
}, _Utils.default.isNull(option.label) ? "" : option.label.trim())));
|
|
@@ -0,0 +1,46 @@
|
|
|
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 _BaseField = require("./BaseField");
|
|
11
|
+
|
|
12
|
+
var _SignatureTemplateDesigner = _interopRequireDefault(require("../signatures/SignatureTemplateDesigner"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
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); }
|
|
17
|
+
|
|
18
|
+
const SignatureTemplateDesignerComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
19
|
+
const base = props.base;
|
|
20
|
+
|
|
21
|
+
const designerHandler = _react.default.useState({});
|
|
22
|
+
|
|
23
|
+
return /*#__PURE__*/_react.default.createElement(_SignatureTemplateDesigner.default, {
|
|
24
|
+
config: props.config.designer,
|
|
25
|
+
handle: designerHandler,
|
|
26
|
+
ref: /*#__PURE__*/_react.default.createRef(),
|
|
27
|
+
viewId: props.viewId,
|
|
28
|
+
loadCompleteHandler: () => {},
|
|
29
|
+
showToolbar: false,
|
|
30
|
+
valueChangeHandler: value => {
|
|
31
|
+
base.handleValueChange(value);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}));
|
|
35
|
+
|
|
36
|
+
const SignatureTemplateDesignerField = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_BaseField.BaseField, _extends({}, props, {
|
|
38
|
+
handle: props.handle
|
|
39
|
+
}), base => /*#__PURE__*/_react.default.createElement(SignatureTemplateDesignerComponent, _extends({
|
|
40
|
+
ref: ref,
|
|
41
|
+
base: base
|
|
42
|
+
}, props)));
|
|
43
|
+
}));
|
|
44
|
+
|
|
45
|
+
var _default = SignatureTemplateDesignerField;
|
|
46
|
+
exports.default = _default;
|
|
@@ -40,11 +40,7 @@ const TextFieldWrapper = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.d
|
|
|
40
40
|
_React$useState2 = _slicedToArray(_React$useState, 1),
|
|
41
41
|
multiline = _React$useState2[0];
|
|
42
42
|
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
const width = _Utils.default.getComponentAttribute(props.config, 'width', '100%');
|
|
46
|
-
|
|
47
|
-
const height = _Utils.default.getComponentAttribute(props.config, 'height', multiline ? '200px' : null);
|
|
43
|
+
const height = _Utils.default.getComponentStyleAttribute(props.config, 'height', multiline ? '200px' : null);
|
|
48
44
|
|
|
49
45
|
const rows = height === null ? 4 : height.replace('px', '') / 20 - 1;
|
|
50
46
|
const secondaryColor = (0, _reactRedux.useSelector)(state => state.dashboard.secondaryThemeColor);
|
|
@@ -81,12 +77,12 @@ const TextFieldWrapper = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.d
|
|
|
81
77
|
rows: rows,
|
|
82
78
|
disabled: base.disabled,
|
|
83
79
|
size: "small",
|
|
84
|
-
style: {
|
|
85
|
-
minWidth:
|
|
86
|
-
width:
|
|
80
|
+
style: _Utils.default.mergeStyles({
|
|
81
|
+
minWidth: '240px',
|
|
82
|
+
width: '100%',
|
|
87
83
|
height: height,
|
|
88
84
|
color: 'secondary'
|
|
89
|
-
},
|
|
85
|
+
}, props.config),
|
|
90
86
|
variant: "outlined"
|
|
91
87
|
});
|
|
92
88
|
}));
|
|
@@ -132,9 +132,9 @@ const TransferListComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_re
|
|
|
132
132
|
try {
|
|
133
133
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
134
134
|
const item = _step2.value;
|
|
135
|
-
let objectRef = {};
|
|
136
|
-
objectRef.id = item.id;
|
|
137
|
-
objectRefs.push(
|
|
135
|
+
//let objectRef = {};
|
|
136
|
+
//objectRef.id = item.id;
|
|
137
|
+
objectRefs.push(item);
|
|
138
138
|
}
|
|
139
139
|
} catch (err) {
|
|
140
140
|
_iterator2.e(err);
|
|
@@ -184,7 +184,6 @@ const TransferListComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_re
|
|
|
184
184
|
error: base.hasError
|
|
185
185
|
}, label) : null, /*#__PURE__*/_react.default.createElement(_Grid.default, {
|
|
186
186
|
container: true,
|
|
187
|
-
spacing: 2,
|
|
188
187
|
alignItems: "stretch",
|
|
189
188
|
className: classes.root,
|
|
190
189
|
style: {
|
|
@@ -196,7 +195,7 @@ const TransferListComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_re
|
|
|
196
195
|
item: true,
|
|
197
196
|
style: {
|
|
198
197
|
border: "1px solid ".concat(base.hasError ? '#f44336' : '#e1e1e1'),
|
|
199
|
-
width: '
|
|
198
|
+
width: '40%',
|
|
200
199
|
borderRadius: '4px'
|
|
201
200
|
}
|
|
202
201
|
}, /*#__PURE__*/_react.default.createElement(_DataGrid.DataGrid, {
|
|
@@ -212,7 +211,8 @@ const TransferListComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_re
|
|
|
212
211
|
})), /*#__PURE__*/_react.default.createElement(_Grid.default, {
|
|
213
212
|
item: true,
|
|
214
213
|
style: {
|
|
215
|
-
margin: 'auto'
|
|
214
|
+
margin: 'auto',
|
|
215
|
+
width: '20%'
|
|
216
216
|
}
|
|
217
217
|
}, /*#__PURE__*/_react.default.createElement(_Grid.default, {
|
|
218
218
|
container: true,
|
|
@@ -237,7 +237,7 @@ const TransferListComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_re
|
|
|
237
237
|
item: true,
|
|
238
238
|
style: {
|
|
239
239
|
border: "1px solid ".concat(base.hasError ? '#f44336' : '#e1e1e1'),
|
|
240
|
-
width: '
|
|
240
|
+
width: '40%',
|
|
241
241
|
borderRadius: '4px'
|
|
242
242
|
}
|
|
243
243
|
}, /*#__PURE__*/_react.default.createElement(_DataGrid.DataGrid, {
|
|
@@ -19,9 +19,11 @@ var _Utils = _interopRequireDefault(require("../../Utils"));
|
|
|
19
19
|
|
|
20
20
|
var _ApplicationContext = _interopRequireDefault(require("./../../ApplicationContext"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _Icon = _interopRequireDefault(require("../Icon"));
|
|
25
|
+
|
|
26
|
+
var _reactPromiseTracker = require("react-promise-tracker");
|
|
25
27
|
|
|
26
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
29
|
|
|
@@ -50,6 +52,21 @@ const useStyles = (0, _styles.makeStyles)(theme => ({
|
|
|
50
52
|
color: 'red'
|
|
51
53
|
}
|
|
52
54
|
}));
|
|
55
|
+
|
|
56
|
+
const status = response => {
|
|
57
|
+
if (response.ok) {
|
|
58
|
+
return Promise.resolve(response);
|
|
59
|
+
} else {
|
|
60
|
+
let error = new Error(response.statusText);
|
|
61
|
+
error.code = response.status;
|
|
62
|
+
return Promise.reject(error);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const json = response => {
|
|
67
|
+
return response.text();
|
|
68
|
+
};
|
|
69
|
+
|
|
53
70
|
const location = window.location.protocol + "//" + window.location.hostname;
|
|
54
71
|
|
|
55
72
|
const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
@@ -68,46 +85,59 @@ const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
|
|
|
68
85
|
files = _React$useState6[0],
|
|
69
86
|
setFiles = _React$useState6[1];
|
|
70
87
|
|
|
71
|
-
const _React$useState7 = _react.default.useState(
|
|
88
|
+
const _React$useState7 = _react.default.useState(!_Utils.default.isNull(props.base.value) ? props.base.value.documentRepositoryCacheId : null),
|
|
72
89
|
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
73
|
-
|
|
74
|
-
|
|
90
|
+
cacheId = _React$useState8[0],
|
|
91
|
+
setCacheId = _React$useState8[1];
|
|
92
|
+
|
|
93
|
+
const _React$useState9 = _react.default.useState(true),
|
|
94
|
+
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
95
|
+
loading = _React$useState10[0],
|
|
96
|
+
setLoading = _React$useState10[1];
|
|
75
97
|
|
|
76
|
-
const _React$
|
|
77
|
-
_React$
|
|
78
|
-
|
|
98
|
+
const _React$useState11 = _react.default.useState(_Utils.default.isNull(props.config.validator) || props.config.validator.nullable === true),
|
|
99
|
+
_React$useState12 = _slicedToArray(_React$useState11, 1),
|
|
100
|
+
nullable = _React$useState12[0];
|
|
79
101
|
|
|
80
|
-
const _React$
|
|
81
|
-
_React$
|
|
82
|
-
|
|
83
|
-
|
|
102
|
+
const _React$useState13 = _react.default.useState(props.multiple === true),
|
|
103
|
+
_React$useState14 = _slicedToArray(_React$useState13, 1),
|
|
104
|
+
multiple = _React$useState14[0];
|
|
105
|
+
|
|
106
|
+
const _React$useState15 = _react.default.useState(false),
|
|
107
|
+
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
108
|
+
show = _React$useState16[0],
|
|
109
|
+
setShow = _React$useState16[1];
|
|
84
110
|
|
|
85
111
|
const classes = useStyles();
|
|
86
112
|
|
|
87
|
-
const _React$
|
|
88
|
-
_React$
|
|
89
|
-
reference = _React$
|
|
90
|
-
setReference = _React$
|
|
113
|
+
const _React$useState17 = _react.default.useState(ref ? ref : /*#__PURE__*/_react.default.createRef()),
|
|
114
|
+
_React$useState18 = _slicedToArray(_React$useState17, 2),
|
|
115
|
+
reference = _React$useState18[0],
|
|
116
|
+
setReference = _React$useState18[1];
|
|
91
117
|
|
|
92
|
-
const _React$
|
|
93
|
-
_React$
|
|
94
|
-
hasError = _React$
|
|
95
|
-
setHasError = _React$
|
|
118
|
+
const _React$useState19 = _react.default.useState(null),
|
|
119
|
+
_React$useState20 = _slicedToArray(_React$useState19, 2),
|
|
120
|
+
hasError = _React$useState20[0],
|
|
121
|
+
setHasError = _React$useState20[1];
|
|
96
122
|
|
|
97
123
|
const width = _Utils.default.getComponentAttribute(props.config, 'width', '200px');
|
|
98
124
|
|
|
99
125
|
const height = _Utils.default.getComponentAttribute(props.config, 'height', '200px');
|
|
100
126
|
|
|
101
|
-
const _React$
|
|
102
|
-
_React$
|
|
103
|
-
errorMessage = _React$
|
|
104
|
-
setErrorMessage = _React$
|
|
127
|
+
const _React$useState21 = _react.default.useState(""),
|
|
128
|
+
_React$useState22 = _slicedToArray(_React$useState21, 2),
|
|
129
|
+
errorMessage = _React$useState22[0],
|
|
130
|
+
setErrorMessage = _React$useState22[1];
|
|
105
131
|
|
|
106
132
|
const base = props.base;
|
|
107
133
|
|
|
108
134
|
_react.default.useEffect(() => {
|
|
109
|
-
|
|
110
|
-
}
|
|
135
|
+
setCacheId();
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
_react.default.useEffect(() => {
|
|
139
|
+
setViewerFile(props.initialFile);
|
|
140
|
+
}, [props.initialFile]);
|
|
111
141
|
|
|
112
142
|
_react.default.useEffect(() => {
|
|
113
143
|
if (!_Utils.default.isNull(props.valueMode)) {
|
|
@@ -132,7 +162,7 @@ const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
|
|
|
132
162
|
let fileInfo = {
|
|
133
163
|
name: file.name,
|
|
134
164
|
type: file.type,
|
|
135
|
-
size:
|
|
165
|
+
size: file.size,
|
|
136
166
|
base64: reader.result,
|
|
137
167
|
file: file
|
|
138
168
|
};
|
|
@@ -156,6 +186,44 @@ const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
|
|
|
156
186
|
}
|
|
157
187
|
};
|
|
158
188
|
|
|
189
|
+
const upload = (metadata, file, uploadUrl) => {
|
|
190
|
+
let uploadMode = _Utils.default.getComponentAttribute(props.config, "uploadMode", "POST");
|
|
191
|
+
|
|
192
|
+
if (uploadMode === 'POST') {
|
|
193
|
+
const accessToken = sessionStorage.getItem("accessToken");
|
|
194
|
+
const idToken = sessionStorage.getItem("idToken");
|
|
195
|
+
let data = new FormData();
|
|
196
|
+
metadata.correlationId = props.viewId + "." + props.config.id;
|
|
197
|
+
data.append("metadata", JSON.stringify(metadata));
|
|
198
|
+
data.append("file", file);
|
|
199
|
+
let fetchConfig = {
|
|
200
|
+
method: 'POST',
|
|
201
|
+
headers: {
|
|
202
|
+
'Accept': 'application/json',
|
|
203
|
+
'Authorization': 'Bearer ' + accessToken,
|
|
204
|
+
'idToken': idToken
|
|
205
|
+
},
|
|
206
|
+
body: data
|
|
207
|
+
};
|
|
208
|
+
let url = location + _ApplicationContext.default.getBaseApiUrl() + uploadUrl;
|
|
209
|
+
(0, _reactPromiseTracker.trackPromise)(fetch(encodeURI(url), fetchConfig).then(status).then(json).then(data => {
|
|
210
|
+
metadata.documentRepositoryId = !_Utils.default.isNull(base.value) ? base.value.documentRepositoryId : null;
|
|
211
|
+
metadata.documentRepositoryCacheId = data;
|
|
212
|
+
setCacheId(data);
|
|
213
|
+
base.handleValueChange(metadata);
|
|
214
|
+
}).catch(e => {
|
|
215
|
+
if (e.code === 401) {
|
|
216
|
+
_ApplicationContext.default.clear();
|
|
217
|
+
|
|
218
|
+
_ApplicationContext.default.getApplicationHistory().push('/login');
|
|
219
|
+
}
|
|
220
|
+
}));
|
|
221
|
+
} else {
|
|
222
|
+
metadata.payloadBase64 = reader.result;
|
|
223
|
+
base.handleValueChange(metadata);
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
|
|
159
227
|
reader.onloadend = () => {
|
|
160
228
|
if (!_Utils.default.isNull(props.form)) {
|
|
161
229
|
let fileMetaData = {};
|
|
@@ -163,20 +231,27 @@ const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
|
|
|
163
231
|
fileMetaData.type = allFiles[0].type;
|
|
164
232
|
fileMetaData.size = allFiles[0].size;
|
|
165
233
|
|
|
234
|
+
if (base.value) {
|
|
235
|
+
fileMetaData.id = base.value.id;
|
|
236
|
+
}
|
|
237
|
+
|
|
166
238
|
if ('base64' === valueMode) {
|
|
167
239
|
fileMetaData.url = allFiles[0].base64;
|
|
168
240
|
base.handleValueChange(fileMetaData);
|
|
169
241
|
} else {
|
|
170
242
|
fileMetaData.correlationId = props.config.id;
|
|
171
243
|
fileMetaData.domain = props.viewId;
|
|
172
|
-
fileMetaData.cachedFile = true;
|
|
173
244
|
let file = {};
|
|
174
245
|
file.correlationId = fileMetaData.correlationId;
|
|
175
246
|
file.content = allFiles[0].file;
|
|
176
247
|
|
|
177
|
-
|
|
248
|
+
let uploadUrl = _Utils.default.getComponentAttribute(props.config, 'uploadUrl', null);
|
|
178
249
|
|
|
179
|
-
|
|
250
|
+
if (uploadUrl === null) {
|
|
251
|
+
uploadUrl = "/docs/manager/upload/save";
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
upload(fileMetaData, allFiles[0].file, uploadUrl);
|
|
180
255
|
}
|
|
181
256
|
}
|
|
182
257
|
};
|
|
@@ -192,15 +267,15 @@ const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
|
|
|
192
267
|
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("input", {
|
|
193
268
|
accept: props.style === 'IMAGE' ? "image/jpeg,image/gif,image/png,image/x-eps" : "image/jpeg,image/gif,image/png,application/pdf,image/x-eps",
|
|
194
269
|
className: classes.input,
|
|
195
|
-
id: "contained-button-file",
|
|
270
|
+
id: "contained-button-file-".concat(props.config.id),
|
|
196
271
|
disabled: base.disabled,
|
|
197
272
|
required: base.required,
|
|
198
273
|
multiple: multiple,
|
|
199
274
|
onChange: handleChange(),
|
|
200
275
|
type: "file"
|
|
201
276
|
}), props.style === 'IMAGE' ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("label", {
|
|
202
|
-
htmlFor: "contained-button-file"
|
|
203
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
277
|
+
htmlFor: "contained-button-file-".concat(props.config.id)
|
|
278
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
204
279
|
variant: "contained",
|
|
205
280
|
component: "span",
|
|
206
281
|
className: classes.button,
|
|
@@ -211,19 +286,45 @@ const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
|
|
|
211
286
|
backgroundRepeat: 'no-repeat',
|
|
212
287
|
backgroundSize: 'cover',
|
|
213
288
|
backgroundColor: 'transparent',
|
|
214
|
-
|
|
289
|
+
border: base.hasError ? "1px solid #f44336" : null,
|
|
290
|
+
color: base.hasError ? "#f44336" : null,
|
|
291
|
+
backgroundImage: !_Utils.default.isNull(viewerFile) ? "url(".concat(viewerFile.base64, ")") : !_Utils.default.isNull(base.value) ? "url(".concat(location + _ApplicationContext.default.getBaseApiUrl() + '/docs/manager/download/' + base.value.documentRepositoryId + '?access_token=' + sessionStorage.getItem("accessToken") + '&idToken=' + sessionStorage.getItem("idToken"), ")") : "url(".concat(require('./' + _Utils.default.getComponentAttribute(props.config, 'defaultImage', 'default-avatar.png')), ")")
|
|
292
|
+
}
|
|
293
|
+
})), base.hasError ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
294
|
+
style: {
|
|
295
|
+
color: "#f44336",
|
|
296
|
+
padding: "0 8px"
|
|
215
297
|
}
|
|
216
|
-
}))) : /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("label", {
|
|
217
|
-
htmlFor: "contained-button-file"
|
|
218
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
298
|
+
}, base.errorMessage)) : null)) : /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("label", {
|
|
299
|
+
htmlFor: "contained-button-file-".concat(props.config.id)
|
|
300
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
219
301
|
variant: "contained",
|
|
220
302
|
component: "span",
|
|
221
303
|
disabled: base.disabled,
|
|
222
|
-
className: classes.button
|
|
223
|
-
|
|
224
|
-
|
|
304
|
+
className: classes.button,
|
|
305
|
+
style: {
|
|
306
|
+
border: base.hasError ? "1px solid #f44336" : null,
|
|
307
|
+
color: base.hasError ? "#f44336" : null
|
|
308
|
+
}
|
|
309
|
+
}, props.config.attributes['label'] ? props.config.attributes['label'] : "Upload File")), base.hasError ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
310
|
+
style: {
|
|
311
|
+
color: "#f44336",
|
|
312
|
+
padding: "0 8px"
|
|
313
|
+
}
|
|
314
|
+
}, base.errorMessage)) : null), /*#__PURE__*/_react.default.createElement("label", null, !_Utils.default.isNull(base.value) ? _Utils.default.isNull(base.value.id) ? base.value.name : /*#__PURE__*/_react.default.createElement("a", {
|
|
315
|
+
href: location + _ApplicationContext.default.getBaseApiUrl() + '/docs/manager/download/' + base.value.documentRepositoryId + '?access_token=' + sessionStorage.getItem("accessToken") + '&idToken=' + sessionStorage.getItem("idToken"),
|
|
225
316
|
target: '_blank'
|
|
226
|
-
}, base.value.name) : null)
|
|
317
|
+
}, base.value.name) : null), !base.disabled && nullable && base.value ? /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
318
|
+
"aria-controls": "menu-list-grow",
|
|
319
|
+
ref: ref,
|
|
320
|
+
"aria-haspopup": "true",
|
|
321
|
+
onClick: () => {
|
|
322
|
+
base.handleValueChange(null);
|
|
323
|
+
document.getElementById("contained-button-file-".concat(props.config.id)).value = null;
|
|
324
|
+
}
|
|
325
|
+
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
326
|
+
id: 'DELETE'
|
|
327
|
+
})) : null)), props.showViewer && !multiple || show ? /*#__PURE__*/_react.default.createElement(_DocumentViewer.default, {
|
|
227
328
|
file: viewerFile,
|
|
228
329
|
onDocumentLoadSuccess: handleViewerLoad
|
|
229
330
|
}) : "", hasError ? /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -234,15 +335,15 @@ const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
|
|
|
234
335
|
exports.DocumentUpload = DocumentUpload;
|
|
235
336
|
|
|
236
337
|
const UploadField = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
237
|
-
const _React$
|
|
238
|
-
_React$
|
|
239
|
-
file = _React$
|
|
240
|
-
setFile = _React$
|
|
338
|
+
const _React$useState23 = _react.default.useState(null),
|
|
339
|
+
_React$useState24 = _slicedToArray(_React$useState23, 2),
|
|
340
|
+
file = _React$useState24[0],
|
|
341
|
+
setFile = _React$useState24[1];
|
|
241
342
|
|
|
242
|
-
const _React$
|
|
243
|
-
_React$
|
|
244
|
-
clearTrigger = _React$
|
|
245
|
-
setClearTrigger = _React$
|
|
343
|
+
const _React$useState25 = _react.default.useState(false),
|
|
344
|
+
_React$useState26 = _slicedToArray(_React$useState25, 2),
|
|
345
|
+
clearTrigger = _React$useState26[0],
|
|
346
|
+
setClearTrigger = _React$useState26[1];
|
|
246
347
|
|
|
247
348
|
return /*#__PURE__*/_react.default.createElement(_BaseField.BaseField, _extends({}, props, {
|
|
248
349
|
handle: props.handle,
|
|
@@ -251,19 +352,47 @@ const UploadField = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.defaul
|
|
|
251
352
|
setClearTrigger(!clearTrigger);
|
|
252
353
|
|
|
253
354
|
if (!_Utils.default.isNull(value)) {
|
|
254
|
-
let
|
|
255
|
-
let fileMetaData = {};
|
|
256
|
-
fileMetaData.name = objectReference.label;
|
|
257
|
-
fileMetaData.id = objectReference.id;
|
|
355
|
+
let val = value; // TODO : Support multiple file upload
|
|
258
356
|
|
|
259
|
-
if (
|
|
357
|
+
if (_Utils.default.getComponentAttribute(props.config, 'multiple', false)) {
|
|
358
|
+
if (typeof value.length !== 'undefined' && value.length > 0) {
|
|
359
|
+
val = value[0];
|
|
360
|
+
} else {
|
|
361
|
+
if (value.documentRepositoryId) {
|
|
362
|
+
return value;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
return null;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
if (val.map) {
|
|
370
|
+
val = val.map;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
let fileMetaData = {};
|
|
374
|
+
fileMetaData.name = !_Utils.default.isNull(val.label) ? val.label : val.name;
|
|
375
|
+
fileMetaData.id = val.id;
|
|
376
|
+
fileMetaData.type = val.type;
|
|
377
|
+
fileMetaData.size = val.size;
|
|
378
|
+
fileMetaData.documentRepositoryId = !_Utils.default.isNull(val.key) ? val.key : val.documentRepositoryId;
|
|
379
|
+
fileMetaData.documentRepositoryCacheId = val.documentRepositoryCacheId;
|
|
380
|
+
|
|
381
|
+
if (!_Utils.default.isNull(val.url)) {
|
|
260
382
|
let file = {};
|
|
261
|
-
file.base64 =
|
|
383
|
+
file.base64 = val.url;
|
|
262
384
|
setFile(file);
|
|
263
385
|
}
|
|
264
386
|
|
|
265
387
|
return fileMetaData;
|
|
266
388
|
}
|
|
389
|
+
} else {
|
|
390
|
+
// TODO : Support multiple file upload
|
|
391
|
+
if (_Utils.default.getComponentAttribute(props.config, 'multiple', false)) {
|
|
392
|
+
let valArray = [];
|
|
393
|
+
valArray.push(value);
|
|
394
|
+
return valArray;
|
|
395
|
+
}
|
|
267
396
|
}
|
|
268
397
|
|
|
269
398
|
return value;
|
|
Binary file
|
|
Binary file
|
|
Binary file
|