@agilemotion/oui-react-js 1.8.78 → 2.0.1
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/README.TXT +10 -0
- package/dist/ApplicationManager.js +39 -2
- package/dist/BasicAppHome.js +4 -0
- package/dist/RestService.js +11 -2
- package/dist/RestUtils.js +11 -2
- package/dist/assets/jss/views/loginBasicStyle.js +5 -5
- package/dist/assets/jss/views/loginBasicStyle.jsx +5 -5
- package/dist/components/Button.js +47 -29
- package/dist/components/DocumentViewer.js +32 -19
- package/dist/components/Icon.js +3 -14
- package/dist/components/Toolbar.js +2 -2
- package/dist/components/Tree.js +237 -141
- package/dist/components/WordDocumentViewer.js +35 -7
- package/dist/components/dashboard/FoldingSideTabDashboard.js +10 -1
- package/dist/components/facialRecognition/FacialRegistration.js +15 -1
- package/dist/components/facialRecognition/FacialVerification.js +23 -2
- package/dist/components/form/FieldSet.js +8 -0
- package/dist/components/form/ImageEditor.js +64 -43
- package/dist/components/form/MultiFileUploadField.js +6 -5
- package/dist/components/form/RadioGroup.js +9 -1
- package/dist/components/form/Section.js +8 -2
- package/dist/components/form/TransferList.js +14 -10
- package/dist/components/form/UploadField.js +17 -4
- package/dist/components/layout/Layout.css +49 -1
- package/dist/components/layout/Layout.js +41 -1
- package/dist/components/layout/View.css +1 -1
- package/dist/components/navbars/PortalNavbar.js +5 -0
- package/dist/components/signatures/AgilitySignaturePanel.js +230 -22
- package/dist/components/signatures/DynamicSignatureDocumentContainer.js +487 -0
- package/dist/components/signatures/ImageSignatureInput.js +1 -2
- package/dist/event/EventType.js +3 -1
- package/package.json +2 -1
package/dist/components/Tree.js
CHANGED
|
@@ -5,11 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.Tree = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var
|
|
9
|
-
var _SvgIcon = _interopRequireDefault(require("@mui/material/SvgIcon"));
|
|
10
|
-
var _styles = require("@mui/styles");
|
|
8
|
+
var _styles = require("@mui/material/styles");
|
|
11
9
|
var _SimpleTreeView = require("@mui/x-tree-view/SimpleTreeView");
|
|
12
10
|
var _TreeItem = require("@mui/x-tree-view/TreeItem");
|
|
11
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
12
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
13
|
+
var _FolderRounded = _interopRequireDefault(require("@mui/icons-material/FolderRounded"));
|
|
14
|
+
var _FolderOpenRounded = _interopRequireDefault(require("@mui/icons-material/FolderOpenRounded"));
|
|
15
|
+
var _InsertDriveFileOutlined = _interopRequireDefault(require("@mui/icons-material/InsertDriveFileOutlined"));
|
|
16
|
+
var _CorporateFareRounded = _interopRequireDefault(require("@mui/icons-material/CorporateFareRounded"));
|
|
17
|
+
var _GroupsRounded = _interopRequireDefault(require("@mui/icons-material/GroupsRounded"));
|
|
18
|
+
var _BadgeOutlined = _interopRequireDefault(require("@mui/icons-material/BadgeOutlined"));
|
|
19
|
+
var _AccountTreeRounded = _interopRequireDefault(require("@mui/icons-material/AccountTreeRounded"));
|
|
20
|
+
var _CircleOutlined = _interopRequireDefault(require("@mui/icons-material/CircleOutlined"));
|
|
21
|
+
var _HubOutlined = _interopRequireDefault(require("@mui/icons-material/HubOutlined"));
|
|
13
22
|
var _Collapse = _interopRequireDefault(require("@mui/material/Collapse"));
|
|
14
23
|
var _web = require("react-spring/web.cjs");
|
|
15
24
|
var _Utils = _interopRequireDefault(require("../Utils"));
|
|
@@ -19,91 +28,173 @@ var _Observable = _interopRequireDefault(require("../event/Observable"));
|
|
|
19
28
|
var _EventType = _interopRequireDefault(require("../event/EventType"));
|
|
20
29
|
var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
|
|
21
30
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
|
-
|
|
23
|
-
// web.cjs is required for IE 11 support
|
|
31
|
+
// ── Animated collapse transition ──
|
|
24
32
|
|
|
25
|
-
function MinusSquare(props) {
|
|
26
|
-
return /*#__PURE__*/_react.default.createElement(_SvgIcon.default, _extends({
|
|
27
|
-
fontSize: "inherit",
|
|
28
|
-
style: {
|
|
29
|
-
width: 14,
|
|
30
|
-
height: 14
|
|
31
|
-
}
|
|
32
|
-
}, props), /*#__PURE__*/_react.default.createElement("path", {
|
|
33
|
-
d: "M22.047 22.074v0 0-20.147 0h-20.12v0 20.147 0h20.12zM22.047 24h-20.12q-.803 0-1.365-.562t-.562-1.365v-20.147q0-.776.562-1.351t1.365-.575h20.147q.776 0 1.351.575t.575 1.351v20.147q0 .803-.575 1.365t-1.378.562v0zM17.873 11.023h-11.826q-.375 0-.669.281t-.294.682v0q0 .401.294 .682t.669.281h11.826q.375 0 .669-.281t.294-.682v0q0-.401-.294-.682t-.669-.281z"
|
|
34
|
-
}));
|
|
35
|
-
}
|
|
36
|
-
function PlusSquare(props) {
|
|
37
|
-
return /*#__PURE__*/_react.default.createElement(_SvgIcon.default, _extends({
|
|
38
|
-
fontSize: "inherit",
|
|
39
|
-
style: {
|
|
40
|
-
width: 14,
|
|
41
|
-
height: 14
|
|
42
|
-
}
|
|
43
|
-
}, props), /*#__PURE__*/_react.default.createElement("path", {
|
|
44
|
-
d: "M22.047 22.074v0 0-20.147 0h-20.12v0 20.147 0h20.12zM22.047 24h-20.12q-.803 0-1.365-.562t-.562-1.365v-20.147q0-.776.562-1.351t1.365-.575h20.147q.776 0 1.351.575t.575 1.351v20.147q0 .803-.575 1.365t-1.378.562v0zM17.873 12.977h-4.923v4.896q0 .401-.281.682t-.682.281v0q-.375 0-.669-.281t-.294-.682v-4.896h-4.923q-.401 0-.682-.294t-.281-.669v0q0-.401.281-.682t.682-.281h4.923v-4.896q0-.401.294-.682t.669-.281v0q.401 0 .682.281t.281.682v4.896h4.923q.401 0 .682.281t.281.682v0q0 .375-.281.669t-.682.294z"
|
|
45
|
-
}));
|
|
46
|
-
}
|
|
47
|
-
function CloseSquare(props) {
|
|
48
|
-
return /*#__PURE__*/_react.default.createElement(_SvgIcon.default, _extends({
|
|
49
|
-
className: "close",
|
|
50
|
-
fontSize: "inherit",
|
|
51
|
-
style: {
|
|
52
|
-
width: 14,
|
|
53
|
-
height: 14
|
|
54
|
-
}
|
|
55
|
-
}, props), /*#__PURE__*/_react.default.createElement("path", {
|
|
56
|
-
d: "M17.485 17.512q-.281.281-.682.281t-.696-.268l-4.12-4.147-4.12 4.147q-.294.268-.696.268t-.682-.281-.281-.682.294-.669l4.12-4.147-4.12-4.147q-.294-.268-.294-.669t.281-.682.682-.281.696 .268l4.12 4.147 4.12-4.147q.294-.268.696-.268t.682.281 .281.669-.294.682l-4.12 4.147 4.12 4.147q.294.268 .294.669t-.281.682zM22.047 22.074v0 0-20.147 0h-20.12v0 20.147 0h20.12zM22.047 24h-20.12q-.803 0-1.365-.562t-.562-1.365v-20.147q0-.776.562-1.351t1.365-.575h20.147q.776 0 1.351.575t.575 1.351v20.147q0 .803-.575 1.365t-1.378.562v0z"
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
59
33
|
function TransitionComponent(props) {
|
|
60
34
|
const style = (0, _web.useSpring)({
|
|
61
35
|
from: {
|
|
62
36
|
opacity: 0,
|
|
63
|
-
transform: 'translate3d(
|
|
37
|
+
transform: 'translate3d(0,-8px,0)'
|
|
64
38
|
},
|
|
65
39
|
to: {
|
|
66
40
|
opacity: props.in ? 1 : 0,
|
|
67
|
-
transform: "translate3d(".concat(props.in ? 0 :
|
|
41
|
+
transform: "translate3d(0,".concat(props.in ? 0 : -8, "px,0)")
|
|
42
|
+
},
|
|
43
|
+
config: {
|
|
44
|
+
tension: 340,
|
|
45
|
+
friction: 28
|
|
68
46
|
}
|
|
69
47
|
});
|
|
70
48
|
return /*#__PURE__*/_react.default.createElement(_web.animated.div, {
|
|
71
49
|
style: style
|
|
72
50
|
}, /*#__PURE__*/_react.default.createElement(_Collapse.default, props));
|
|
73
51
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
52
|
+
|
|
53
|
+
// ── Styled tree item ──
|
|
54
|
+
|
|
55
|
+
const StyledTreeItem = (0, _styles.styled)(_TreeItem.TreeItem)(_ref => {
|
|
56
|
+
let {
|
|
57
|
+
theme
|
|
58
|
+
} = _ref;
|
|
59
|
+
return {
|
|
60
|
+
["& .".concat(_TreeItem.treeItemClasses.content)]: {
|
|
61
|
+
borderRadius: theme.shape.borderRadius,
|
|
62
|
+
padding: '4px 8px',
|
|
63
|
+
margin: '2px 0',
|
|
64
|
+
transition: 'all 0.15s ease',
|
|
65
|
+
'&:hover': {
|
|
66
|
+
backgroundColor: (0, _styles.alpha)(theme.palette.primary.main, 0.06)
|
|
67
|
+
},
|
|
68
|
+
'&.Mui-selected': {
|
|
69
|
+
backgroundColor: (0, _styles.alpha)(theme.palette.primary.main, 0.12),
|
|
70
|
+
'&:hover': {
|
|
71
|
+
backgroundColor: (0, _styles.alpha)(theme.palette.primary.main, 0.16)
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
'&.Mui-focused': {
|
|
75
|
+
backgroundColor: 'transparent'
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
["& .".concat(_TreeItem.treeItemClasses.iconContainer)]: {
|
|
79
|
+
color: theme.palette.primary.main,
|
|
80
|
+
marginRight: 4
|
|
81
|
+
},
|
|
82
|
+
["& .".concat(_TreeItem.treeItemClasses.label)]: {
|
|
83
|
+
fontSize: '0.875rem',
|
|
84
|
+
fontWeight: 500,
|
|
85
|
+
color: theme.palette.text.primary
|
|
86
|
+
},
|
|
87
|
+
["& .".concat(_TreeItem.treeItemClasses.groupTransition)]: {
|
|
88
|
+
marginLeft: 16,
|
|
89
|
+
paddingLeft: 12,
|
|
90
|
+
borderLeft: "1.5px solid ".concat((0, _styles.alpha)(theme.palette.divider, 0.4))
|
|
84
91
|
}
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
// ── Icon themes ──
|
|
96
|
+
|
|
97
|
+
const ICON_THEMES = {
|
|
98
|
+
documents: {
|
|
99
|
+
branchOpen: _FolderOpenRounded.default,
|
|
100
|
+
branchClosed: _FolderRounded.default,
|
|
101
|
+
leaf: _FolderOpenRounded.default,
|
|
102
|
+
empty: _FolderOpenRounded.default
|
|
85
103
|
},
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
104
|
+
organisation: {
|
|
105
|
+
branchOpen: _CorporateFareRounded.default,
|
|
106
|
+
branchClosed: _CorporateFareRounded.default,
|
|
107
|
+
leaf: _GroupsRounded.default,
|
|
108
|
+
empty: _CorporateFareRounded.default
|
|
109
|
+
},
|
|
110
|
+
hierarchy: {
|
|
111
|
+
branchOpen: _AccountTreeRounded.default,
|
|
112
|
+
branchClosed: _AccountTreeRounded.default,
|
|
113
|
+
leaf: _CircleOutlined.default,
|
|
114
|
+
empty: _HubOutlined.default
|
|
115
|
+
},
|
|
116
|
+
people: {
|
|
117
|
+
branchOpen: _GroupsRounded.default,
|
|
118
|
+
branchClosed: _GroupsRounded.default,
|
|
119
|
+
leaf: _BadgeOutlined.default,
|
|
120
|
+
empty: _GroupsRounded.default
|
|
99
121
|
}
|
|
100
|
-
}
|
|
122
|
+
};
|
|
123
|
+
function resolveIconTheme(themeName) {
|
|
124
|
+
return ICON_THEMES[themeName] || ICON_THEMES.documents;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// ── Custom node label with icon ──
|
|
128
|
+
|
|
129
|
+
function NodeLabel(_ref2) {
|
|
130
|
+
let {
|
|
131
|
+
name,
|
|
132
|
+
hasChildren,
|
|
133
|
+
isExpanded,
|
|
134
|
+
iconTheme
|
|
135
|
+
} = _ref2;
|
|
136
|
+
const theme = resolveIconTheme(iconTheme);
|
|
137
|
+
const Icon = hasChildren ? isExpanded ? theme.branchOpen : theme.branchClosed : theme.leaf;
|
|
138
|
+
return /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
139
|
+
sx: {
|
|
140
|
+
display: 'flex',
|
|
141
|
+
alignItems: 'center',
|
|
142
|
+
gap: 1,
|
|
143
|
+
py: 0.25
|
|
144
|
+
}
|
|
145
|
+
}, /*#__PURE__*/_react.default.createElement(Icon, {
|
|
146
|
+
sx: {
|
|
147
|
+
fontSize: 18,
|
|
148
|
+
opacity: 0.7
|
|
149
|
+
}
|
|
150
|
+
}), /*#__PURE__*/_react.default.createElement(_Typography.default, {
|
|
151
|
+
variant: "body2",
|
|
152
|
+
sx: {
|
|
153
|
+
fontWeight: 'inherit'
|
|
154
|
+
}
|
|
155
|
+
}, name));
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// ── Empty state ──
|
|
159
|
+
|
|
160
|
+
function EmptyState(_ref3) {
|
|
161
|
+
let {
|
|
162
|
+
iconTheme
|
|
163
|
+
} = _ref3;
|
|
164
|
+
const theme = resolveIconTheme(iconTheme);
|
|
165
|
+
const Icon = theme.empty;
|
|
166
|
+
return /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
167
|
+
sx: {
|
|
168
|
+
display: 'flex',
|
|
169
|
+
flexDirection: 'column',
|
|
170
|
+
alignItems: 'center',
|
|
171
|
+
justifyContent: 'flex-start',
|
|
172
|
+
py: 6,
|
|
173
|
+
color: 'text.secondary'
|
|
174
|
+
}
|
|
175
|
+
}, /*#__PURE__*/_react.default.createElement(Icon, {
|
|
176
|
+
sx: {
|
|
177
|
+
fontSize: 48,
|
|
178
|
+
opacity: 0.3,
|
|
179
|
+
mb: 1
|
|
180
|
+
}
|
|
181
|
+
}), /*#__PURE__*/_react.default.createElement(_Typography.default, {
|
|
182
|
+
variant: "body2",
|
|
183
|
+
color: "text.secondary"
|
|
184
|
+
}, "No items found"));
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// ── Main Tree component ──
|
|
188
|
+
|
|
101
189
|
const Tree = props => {
|
|
102
|
-
|
|
190
|
+
var _props$config;
|
|
191
|
+
const iconTheme = ((_props$config = props.config) === null || _props$config === void 0 ? void 0 : _props$config.iconTheme) || 'documents';
|
|
103
192
|
const [root, setRoot] = _react.default.useState(null);
|
|
104
193
|
const [selectedRows] = _react.default.useState([]);
|
|
105
194
|
const [expanded, setExpanded] = _react.default.useState([]);
|
|
195
|
+
const [loading, setLoading] = _react.default.useState(true);
|
|
106
196
|
const [initializing, setInitializing] = _react.default.useState(true);
|
|
197
|
+
const ref = _react.default.useRef(null);
|
|
107
198
|
_react.default.useEffect(() => {
|
|
108
199
|
props.handle.api = api();
|
|
109
200
|
});
|
|
@@ -119,41 +210,39 @@ const Tree = props => {
|
|
|
119
210
|
function loadData(eventConfig, componentConfig) {
|
|
120
211
|
let service = !_Utils.default.isNull(componentConfig.dataService) ? componentConfig.dataService : eventConfig !== null ? eventConfig.dataService : null;
|
|
121
212
|
if (!_Utils.default.isNull(service)) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
} else {
|
|
139
|
-
(0, _RestService.invokeRest)({
|
|
140
|
-
service: service,
|
|
141
|
-
component: props.handle,
|
|
142
|
-
viewId: props.viewId
|
|
143
|
-
}).then(result => {
|
|
144
|
-
try {
|
|
145
|
-
if (result) {
|
|
146
|
-
expand(result);
|
|
147
|
-
setRoot(result);
|
|
213
|
+
setLoading(true);
|
|
214
|
+
const invoker = service.type === 'rpc' ? _RestService.invokeRpc : _RestService.invokeRest;
|
|
215
|
+
invoker({
|
|
216
|
+
service: service,
|
|
217
|
+
component: props.handle,
|
|
218
|
+
viewId: props.viewId
|
|
219
|
+
}).then(result => {
|
|
220
|
+
try {
|
|
221
|
+
if (result) {
|
|
222
|
+
var _props$config2;
|
|
223
|
+
const expandMode = ((_props$config2 = props.config) === null || _props$config2 === void 0 ? void 0 : _props$config2.expandMode) || 'collapsed';
|
|
224
|
+
const expandedIds = [];
|
|
225
|
+
if (expandMode === 'all') {
|
|
226
|
+
collectIds(result, expandedIds);
|
|
227
|
+
} else if (expandMode === 'root') {
|
|
228
|
+
expandedIds.push("".concat(result.id));
|
|
148
229
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
230
|
+
// 'collapsed' → empty array, everything folded
|
|
231
|
+
setExpanded(expandedIds);
|
|
232
|
+
setRoot(result);
|
|
152
233
|
}
|
|
153
|
-
}
|
|
154
|
-
|
|
234
|
+
} catch (e) {
|
|
235
|
+
console.error(e);
|
|
236
|
+
_Utils.default.publishErrorMessage(e, props.viewId);
|
|
237
|
+
}
|
|
238
|
+
}).catch(() => {}).finally(() => {
|
|
239
|
+
setLoading(false);
|
|
240
|
+
});
|
|
155
241
|
} else if (!_Utils.default.isNull(componentConfig.value)) {
|
|
156
|
-
|
|
242
|
+
_ApplicationManager.default.isExpression(componentConfig.value) ? _ApplicationManager.default.resolveExpressionValue(componentConfig.value) : componentConfig.value;
|
|
243
|
+
setLoading(false);
|
|
244
|
+
} else {
|
|
245
|
+
setLoading(false);
|
|
157
246
|
}
|
|
158
247
|
}
|
|
159
248
|
_react.default.useEffect(() => {
|
|
@@ -170,64 +259,71 @@ const Tree = props => {
|
|
|
170
259
|
return selectedRows;
|
|
171
260
|
},
|
|
172
261
|
get root() {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
rootReference.label = root.name;
|
|
179
|
-
} else {
|
|
180
|
-
rootReference.id = root.id;
|
|
181
|
-
rootReference.label = root.name;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
return rootReference;
|
|
262
|
+
if (_Utils.default.isNull(root)) return null;
|
|
263
|
+
return {
|
|
264
|
+
id: root.id,
|
|
265
|
+
label: root.name
|
|
266
|
+
};
|
|
185
267
|
},
|
|
186
268
|
getChildren: () => {
|
|
187
269
|
return [];
|
|
188
270
|
}
|
|
189
271
|
};
|
|
190
272
|
};
|
|
191
|
-
const handleSelectionChange =
|
|
192
|
-
let node = {};
|
|
193
|
-
node.id = id;
|
|
194
|
-
node.label = name;
|
|
273
|
+
const handleSelectionChange = item => {
|
|
195
274
|
selectedRows.splice(0, selectedRows.length);
|
|
196
|
-
selectedRows.push(
|
|
197
|
-
let event = new _Event.default(props.handle, props.viewId);
|
|
275
|
+
selectedRows.push(item);
|
|
276
|
+
let event = new _Event.default(props.handle, props.viewId, selectedRows);
|
|
198
277
|
_Observable.default.fireEvent(_EventType.default.SELECTION_CHANGE, event);
|
|
199
278
|
};
|
|
200
|
-
const
|
|
201
|
-
|
|
202
|
-
itemId: item.id.toString(),
|
|
203
|
-
label: item.name,
|
|
204
|
-
key: item.id,
|
|
205
|
-
onLabelClick: e => e.preventDefault(),
|
|
206
|
-
onClick: () => {
|
|
207
|
-
handleSelectionChange(item.id, item.name);
|
|
208
|
-
}
|
|
209
|
-
}, !_Utils.default.isNull(item.children) && item.children.length > 0 ? item.children.map(child => {
|
|
210
|
-
return render(child);
|
|
211
|
-
}) : null);
|
|
212
|
-
};
|
|
213
|
-
const expand = item => {
|
|
214
|
-
expanded.push("".concat(item.id));
|
|
279
|
+
const collectIds = (item, ids) => {
|
|
280
|
+
ids.push("".concat(item.id));
|
|
215
281
|
if (!_Utils.default.isNull(item.children)) {
|
|
216
282
|
for (const child of item.children) {
|
|
217
|
-
|
|
283
|
+
collectIds(child, ids);
|
|
218
284
|
}
|
|
219
285
|
}
|
|
220
286
|
};
|
|
287
|
+
const renderNode = item => {
|
|
288
|
+
const hasChildren = !_Utils.default.isNull(item.children) && item.children.length > 0;
|
|
289
|
+
return /*#__PURE__*/_react.default.createElement(StyledTreeItem, {
|
|
290
|
+
key: item.id,
|
|
291
|
+
itemId: item.id.toString(),
|
|
292
|
+
slots: {
|
|
293
|
+
groupTransition: TransitionComponent
|
|
294
|
+
},
|
|
295
|
+
label: /*#__PURE__*/_react.default.createElement(NodeLabel, {
|
|
296
|
+
name: item.name,
|
|
297
|
+
hasChildren: hasChildren,
|
|
298
|
+
isExpanded: expanded.includes("".concat(item.id)),
|
|
299
|
+
iconTheme: iconTheme
|
|
300
|
+
}),
|
|
301
|
+
onClick: () => handleSelectionChange(item)
|
|
302
|
+
}, hasChildren ? item.children.map(renderNode) : null);
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
// ── Render ──
|
|
306
|
+
|
|
307
|
+
if (!loading && _Utils.default.isNull(root)) {
|
|
308
|
+
return /*#__PURE__*/_react.default.createElement(EmptyState, {
|
|
309
|
+
iconTheme: iconTheme
|
|
310
|
+
});
|
|
311
|
+
}
|
|
221
312
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
222
|
-
style: {
|
|
223
|
-
|
|
313
|
+
style: _Utils.default.mergeStyles({}, props.config)
|
|
314
|
+
}, /*#__PURE__*/_react.default.createElement(_Box.default, {
|
|
315
|
+
sx: {
|
|
316
|
+
p: 2,
|
|
317
|
+
flexGrow: 1,
|
|
318
|
+
overflow: 'auto'
|
|
319
|
+
}
|
|
320
|
+
}, root && /*#__PURE__*/_react.default.createElement(_SimpleTreeView.SimpleTreeView, {
|
|
321
|
+
expandedItems: expanded,
|
|
322
|
+
onExpandedItemsChange: (event, ids) => setExpanded(ids),
|
|
323
|
+
sx: {
|
|
324
|
+
flexGrow: 1,
|
|
325
|
+
overflowY: 'auto'
|
|
224
326
|
}
|
|
225
|
-
},
|
|
226
|
-
className: classes.root,
|
|
227
|
-
defaultExpanded: expanded,
|
|
228
|
-
defaultCollapseIcon: /*#__PURE__*/_react.default.createElement(MinusSquare, null),
|
|
229
|
-
defaultExpandIcon: /*#__PURE__*/_react.default.createElement(PlusSquare, null),
|
|
230
|
-
defaultEndIcon: /*#__PURE__*/_react.default.createElement(CloseSquare, null)
|
|
231
|
-
}, render(root)) : null);
|
|
327
|
+
}, renderNode(root))));
|
|
232
328
|
};
|
|
233
329
|
exports.Tree = Tree;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = exports.KEY = exports.DOCSVC = void 0;
|
|
6
|
+
exports.location = exports.default = exports.KEY = exports.DOCSVC = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactPromiseTracker = require("react-promise-tracker");
|
|
9
9
|
var _Utils = _interopRequireDefault(require("../Utils"));
|
|
@@ -20,7 +20,18 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
20
20
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
21
|
const KEY = exports.KEY = 'Ngo9BigBOggjHTQxAR8/V1JGaF5cXGpCf1FpRmJGdld5fUVHYVZUTXxaS00DNHVRdkdlWX5ceHVRQ2BYUUdwX0NWYEs=';
|
|
22
22
|
(0, _ej2Base.registerLicense)(KEY);
|
|
23
|
-
const
|
|
23
|
+
const location = exports.location = window.location.protocol + '//' + window.location.hostname;
|
|
24
|
+
const DOCSVC = exports.DOCSVC = "/docs/api/v1/syncfusion";
|
|
25
|
+
function getServiceUrl() {
|
|
26
|
+
const accessToken = sessionStorage.getItem('accessToken');
|
|
27
|
+
const idToken = sessionStorage.getItem('idToken');
|
|
28
|
+
const base = "".concat(location + _ApplicationManager.default.getContextRoot() + DOCSVC, "/Import");
|
|
29
|
+
const params = new URLSearchParams();
|
|
30
|
+
if (accessToken) params.set('access_token', accessToken);
|
|
31
|
+
if (idToken) params.set('id_token', idToken);
|
|
32
|
+
const qs = params.toString();
|
|
33
|
+
return qs ? "".concat(base, "?").concat(qs) : base;
|
|
34
|
+
}
|
|
24
35
|
_ej2ReactDocumenteditor.DocumentEditorContainerComponent.Inject(_ej2ReactDocumenteditor.Toolbar);
|
|
25
36
|
const LEVEL_FMT = ['%1.', '%1.%2.', '%1.%2.%3.'];
|
|
26
37
|
function applyLevel(ed) {
|
|
@@ -97,14 +108,25 @@ const WordDocumentViewer = props => {
|
|
|
97
108
|
if (!(container !== null && container !== void 0 && container.documentEditor)) return;
|
|
98
109
|
if (!dropPosition) return;
|
|
99
110
|
if (!isPointInsideElement(dropPosition.x, dropPosition.y, viewerElement)) {
|
|
100
|
-
// Drop did not happen inside this document
|
|
101
|
-
//console.log("DROP NOT INSIDE THIS DOCUMENT : ", dropPosition);
|
|
102
111
|
return;
|
|
103
112
|
}
|
|
104
113
|
const doc = container.documentEditor;
|
|
105
114
|
const ed = doc.editor;
|
|
106
115
|
const sel = doc.selection;
|
|
107
116
|
if (!ed || !sel) return;
|
|
117
|
+
|
|
118
|
+
// Reject drop if cursor is strictly inside an existing anchor
|
|
119
|
+
// Allow dropping at the exact start or end boundary
|
|
120
|
+
const caretOffset = sel.startOffset;
|
|
121
|
+
const existingAnchor = grabAnchorWithBounds(container);
|
|
122
|
+
if (existingAnchor) {
|
|
123
|
+
const atStart = caretOffset === existingAnchor.startOffset;
|
|
124
|
+
const atEnd = caretOffset === existingAnchor.endOffset;
|
|
125
|
+
if (!atStart && !atEnd) {
|
|
126
|
+
console.warn("Drop rejected — cursor is inside anchor: " + existingAnchor.token);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
108
130
|
const token = "[[".concat(normalizeAnchor(eventData), "]]");
|
|
109
131
|
ed.insertText(token);
|
|
110
132
|
}
|
|
@@ -169,8 +191,14 @@ const WordDocumentViewer = props => {
|
|
|
169
191
|
});
|
|
170
192
|
const formData = new FormData();
|
|
171
193
|
formData.append('files', file, 'document.docx');
|
|
172
|
-
|
|
194
|
+
const accessToken = sessionStorage.getItem('accessToken');
|
|
195
|
+
const idToken = sessionStorage.getItem('idToken');
|
|
196
|
+
(0, _reactPromiseTracker.trackPromise)(fetch("".concat(location + _ApplicationManager.default.getContextRoot() + DOCSVC, "/Import"), {
|
|
173
197
|
method: 'POST',
|
|
198
|
+
headers: {
|
|
199
|
+
'Authorization': 'Bearer ' + accessToken,
|
|
200
|
+
'idToken': idToken
|
|
201
|
+
},
|
|
174
202
|
body: formData
|
|
175
203
|
}).then(response => {
|
|
176
204
|
(0, _reactPromiseTracker.trackPromise)(response.json().then(json => {
|
|
@@ -592,7 +620,7 @@ const WordDocumentViewer = props => {
|
|
|
592
620
|
showPropertiesPane: false,
|
|
593
621
|
enableTrackChanges: true,
|
|
594
622
|
enableAutoFocus: false,
|
|
595
|
-
serviceUrl:
|
|
623
|
+
serviceUrl: getServiceUrl(),
|
|
596
624
|
enableToolbar: !props.readOnly || props.commentsOnly
|
|
597
625
|
}), visible && items && props.trackChanges === false && /*#__PURE__*/_react.default.createElement(_ej2ReactDocumenteditor.DocumentEditorContainerComponent, {
|
|
598
626
|
id: "".concat(props.id, "-container"),
|
|
@@ -613,7 +641,7 @@ const WordDocumentViewer = props => {
|
|
|
613
641
|
restrictEditing: props.readOnly && !props.commentsOnly,
|
|
614
642
|
showPropertiesPane: false,
|
|
615
643
|
enableAutoFocus: false,
|
|
616
|
-
serviceUrl:
|
|
644
|
+
serviceUrl: getServiceUrl(),
|
|
617
645
|
enableToolbar: !props.readOnly || props.commentsOnly
|
|
618
646
|
}));
|
|
619
647
|
};
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.DRAWER_WIDTH = void 0;
|
|
6
7
|
exports.default = FoldingSideTabDashboard;
|
|
7
8
|
var React = _interopRequireWildcard(require("react"));
|
|
8
9
|
var _material = require("@mui/material");
|
|
@@ -30,7 +31,7 @@ var _useMediaQuery = _interopRequireDefault(require("@mui/material/useMediaQuery
|
|
|
30
31
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
31
32
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
32
33
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } // FoldingSideTabDashboard.jsx
|
|
33
|
-
const DRAWER_WIDTH = 320;
|
|
34
|
+
const DRAWER_WIDTH = exports.DRAWER_WIDTH = 320;
|
|
34
35
|
const MINI_WIDTH = 72;
|
|
35
36
|
const DrawerStyled = (0, _styles.styled)(_material.Drawer, {
|
|
36
37
|
shouldForwardProp: prop => prop !== "open"
|
|
@@ -123,6 +124,11 @@ function FoldingSideTabDashboard(props) {
|
|
|
123
124
|
setOpen(false); // auto collapse when screen is small
|
|
124
125
|
}
|
|
125
126
|
}, [isMobile]);
|
|
127
|
+
React.useEffect(() => {
|
|
128
|
+
_ApplicationManager.default.setDashboardState({
|
|
129
|
+
leftOffset: open ? DRAWER_WIDTH : MINI_WIDTH
|
|
130
|
+
});
|
|
131
|
+
}, [open]);
|
|
126
132
|
React.useEffect(() => {
|
|
127
133
|
if (navigator.platform.indexOf("Win") > -1) {
|
|
128
134
|
document.documentElement.classList.add("perfect-scrollbar-on");
|
|
@@ -141,6 +147,9 @@ function FoldingSideTabDashboard(props) {
|
|
|
141
147
|
}, [props.width]);
|
|
142
148
|
React.useEffect(() => {
|
|
143
149
|
_SocketManager.default.init();
|
|
150
|
+
_ApplicationManager.default.setDashboardState({
|
|
151
|
+
leftOffset: open ? DRAWER_WIDTH : MINI_WIDTH
|
|
152
|
+
});
|
|
144
153
|
return () => {
|
|
145
154
|
_SocketManager.default.disconnect();
|
|
146
155
|
};
|
|
@@ -10,6 +10,9 @@ var _Observable = _interopRequireDefault(require("../../event/Observable"));
|
|
|
10
10
|
var _Event = _interopRequireDefault(require("../../event/Event"));
|
|
11
11
|
var _EventType = _interopRequireDefault(require("../../event/EventType"));
|
|
12
12
|
var _FaceRecognitionComponent = _interopRequireDefault(require("./FaceRecognitionComponent"));
|
|
13
|
+
var _FoldingSideTabDashboard = require("../dashboard/FoldingSideTabDashboard");
|
|
14
|
+
var _ApplicationManager = _interopRequireWildcard(require("../../ApplicationManager"));
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
17
|
const status = response => {
|
|
15
18
|
if (response.ok) {
|
|
@@ -26,6 +29,7 @@ const json = response => {
|
|
|
26
29
|
const location = window.location.protocol + '//' + window.location.hostname + ':' + window.location.port;
|
|
27
30
|
const FacialRegistration = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
28
31
|
const [visible, setVisible] = _react.default.useState(false);
|
|
32
|
+
const [offset, setOffset] = _react.default.useState(_FoldingSideTabDashboard.DRAWER_WIDTH);
|
|
29
33
|
_react.default.useEffect(() => {
|
|
30
34
|
props.handle.api = api();
|
|
31
35
|
});
|
|
@@ -36,8 +40,16 @@ const FacialRegistration = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.
|
|
|
36
40
|
let event = new _Event.default(props.handle, props.viewId, null);
|
|
37
41
|
_Observable.default.fireEvent(_EventType.default.COMPONENT_LOAD, event);
|
|
38
42
|
props.handle.api.refresh();
|
|
43
|
+
let listener = {};
|
|
44
|
+
listener.id = 'facialRegistrationDashboardStateListener';
|
|
45
|
+
listener.type = _ApplicationManager.DASHBOARD_STATE;
|
|
46
|
+
listener.handler = state => {
|
|
47
|
+
setOffset(state.leftOffset);
|
|
48
|
+
};
|
|
49
|
+
_ApplicationManager.default.addApplicationListener(listener);
|
|
39
50
|
return () => {
|
|
40
51
|
_Observable.default.clearComponentEventListeners(props.handle);
|
|
52
|
+
_ApplicationManager.default.removeApplicationListener('facialVerificationDashboardStateListener');
|
|
41
53
|
};
|
|
42
54
|
}, []);
|
|
43
55
|
const api = () => {
|
|
@@ -63,7 +75,9 @@ const FacialRegistration = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.
|
|
|
63
75
|
};
|
|
64
76
|
};
|
|
65
77
|
return visible && /*#__PURE__*/_react.default.createElement("div", {
|
|
66
|
-
style: _Utils.default.mergeStyles({
|
|
78
|
+
style: _Utils.default.mergeStyles({
|
|
79
|
+
width: "calc(100% - ".concat(offset, "px)")
|
|
80
|
+
}, props.config)
|
|
67
81
|
}, /*#__PURE__*/_react.default.createElement(_FaceRecognitionComponent.default, {
|
|
68
82
|
mode: "register",
|
|
69
83
|
onComplete: () => {},
|