@guillotinaweb/react-gmi 0.29.1 → 0.29.2-alpha.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/README.md +2 -1
- package/dist/actions/copy_item.d.ts +2 -2
- package/dist/actions/move_item.d.ts +2 -2
- package/dist/actions/remove_item.d.ts +2 -2
- package/dist/components/behaviors/iattachment.d.ts +4 -2
- package/dist/components/behaviors/imultiimageorderedattachment.d.ts +3 -1
- package/dist/components/behaviors/iworkflow.d.ts +1 -1
- package/dist/components/context_toolbar.d.ts +1 -1
- package/dist/components/fields/editComponent.d.ts +5 -4
- package/dist/components/fields/editableField.d.ts +4 -2
- package/dist/components/fields/renderField.d.ts +8 -5
- package/dist/components/flash.d.ts +1 -1
- package/dist/components/input/email.d.ts +2 -2
- package/dist/components/input/form_builder.d.ts +2 -2
- package/dist/components/input/input.d.ts +1 -1
- package/dist/components/input/search_input.d.ts +1 -1
- package/dist/components/input/search_input_list.d.ts +2 -2
- package/dist/components/input/select_vocabulary.d.ts +2 -2
- package/dist/components/input/upload.d.ts +1 -2
- package/dist/components/pagination.d.ts +1 -1
- package/dist/components/panel/permissions.d.ts +1 -1
- package/dist/components/panel/permissions_prinperm.d.ts +2 -2
- package/dist/components/panel/permissions_prinrole.d.ts +1 -1
- package/dist/components/panel/permissions_roleperm.d.ts +1 -1
- package/dist/components/path.d.ts +1 -1
- package/dist/components/properties_view.d.ts +2 -2
- package/dist/components/search_labels.d.ts +1 -1
- package/dist/components/search_options_labels.d.ts +1 -1
- package/dist/components/search_vocabulary_labels.d.ts +2 -2
- package/dist/components/selected_items_actions.d.ts +14 -0
- package/dist/components/tabs.d.ts +4 -2
- package/dist/components/widgets/tags.d.ts +4 -1
- package/dist/contexts/index.d.ts +21 -19
- package/dist/forms/required_fields.d.ts +2 -3
- package/dist/forms/users.d.ts +1 -1
- package/dist/hooks/useClickAway.d.ts +2 -1
- package/dist/hooks/useConfig.d.ts +4 -2
- package/dist/hooks/useCrudContext.d.ts +11 -10
- package/dist/hooks/useInput.d.ts +4 -3
- package/dist/hooks/useRegistry.d.ts +29 -29
- package/dist/hooks/useSetState.d.ts +6 -1
- package/dist/hooks/useVocabulary.d.ts +1 -1
- package/dist/lib/auth.d.ts +14 -19
- package/dist/lib/client.d.ts +49 -36
- package/dist/lib/helpers.d.ts +10 -18
- package/dist/lib/processResponse.d.ts +9 -0
- package/dist/lib/rest.d.ts +9 -16
- package/dist/lib/utils.d.ts +3 -2
- package/dist/lib/validators.d.ts +1 -1
- package/dist/locales/generic_messages.d.ts +248 -370
- package/dist/models/index.d.ts +5 -5
- package/dist/models/sharing.d.ts +5 -5
- package/dist/react-gmi.esm.js +1179 -900
- package/dist/react-gmi.esm.js.map +1 -1
- package/dist/react-gmi.js +1178 -900
- package/dist/react-gmi.js.map +1 -1
- package/dist/react-gmi.modern.js +1161 -856
- package/dist/react-gmi.modern.js.map +1 -1
- package/dist/react-gmi.umd.js +1178 -900
- package/dist/react-gmi.umd.js.map +1 -1
- package/dist/reducers/guillotina.d.ts +22 -8
- package/dist/types/global.d.ts +9 -0
- package/dist/types/guillotina.d.ts +153 -19
- package/dist/views/folder.d.ts +1 -1
- package/dist/views/groups.d.ts +1 -1
- package/dist/views/item.d.ts +1 -1
- package/dist/views/users.d.ts +1 -1
- package/package.json +3 -2
- package/dist/lib/search.test.d.ts +0 -1
- package/dist/setupTests.d.ts +0 -1
package/dist/react-gmi.umd.js
CHANGED
|
@@ -107,6 +107,97 @@
|
|
|
107
107
|
return it.next.bind(it);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
var initialState = {
|
|
111
|
+
path: '',
|
|
112
|
+
loading: false,
|
|
113
|
+
context: undefined,
|
|
114
|
+
flash: {
|
|
115
|
+
message: undefined,
|
|
116
|
+
type: undefined
|
|
117
|
+
},
|
|
118
|
+
action: {
|
|
119
|
+
action: undefined,
|
|
120
|
+
params: undefined
|
|
121
|
+
},
|
|
122
|
+
permissions: [],
|
|
123
|
+
errorStatus: undefined,
|
|
124
|
+
registry: {},
|
|
125
|
+
refresh: undefined
|
|
126
|
+
};
|
|
127
|
+
var GuillotinaReducerActionTypes;
|
|
128
|
+
|
|
129
|
+
(function (GuillotinaReducerActionTypes) {
|
|
130
|
+
GuillotinaReducerActionTypes["SET_PATH"] = "SET_PATH";
|
|
131
|
+
GuillotinaReducerActionTypes["SET_CONTEXT"] = "SET_CONTEXT";
|
|
132
|
+
GuillotinaReducerActionTypes["SET_ERROR"] = "SET_ERROR";
|
|
133
|
+
GuillotinaReducerActionTypes["SET_FLASH"] = "SET_FLASH";
|
|
134
|
+
GuillotinaReducerActionTypes["CLEAR_FLASH"] = "CLEAR_FLASH";
|
|
135
|
+
GuillotinaReducerActionTypes["SET_ACTION"] = "SET_ACTION";
|
|
136
|
+
GuillotinaReducerActionTypes["CLEAR_ACTION"] = "CLEAR_ACTION";
|
|
137
|
+
GuillotinaReducerActionTypes["REFRESH"] = "REFRESH";
|
|
138
|
+
GuillotinaReducerActionTypes["APPLY"] = "APPLY";
|
|
139
|
+
})(GuillotinaReducerActionTypes || (GuillotinaReducerActionTypes = {}));
|
|
140
|
+
|
|
141
|
+
function guillotinaReducer(state, action) {
|
|
142
|
+
switch (action.type) {
|
|
143
|
+
case GuillotinaReducerActionTypes.SET_PATH:
|
|
144
|
+
return _extends({}, state, {
|
|
145
|
+
path: action.payload.path,
|
|
146
|
+
loading: true
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
case GuillotinaReducerActionTypes.SET_CONTEXT:
|
|
150
|
+
return _extends({}, state, action.payload, {
|
|
151
|
+
errorStatus: undefined,
|
|
152
|
+
loading: false
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
case GuillotinaReducerActionTypes.SET_ERROR:
|
|
156
|
+
return _extends({}, state, {
|
|
157
|
+
errorStatus: action.payload.errorStatus,
|
|
158
|
+
loading: false
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
case GuillotinaReducerActionTypes.SET_FLASH:
|
|
162
|
+
return _extends({}, state, action.payload);
|
|
163
|
+
|
|
164
|
+
case GuillotinaReducerActionTypes.CLEAR_FLASH:
|
|
165
|
+
return _extends({}, state, {
|
|
166
|
+
flash: {
|
|
167
|
+
message: undefined,
|
|
168
|
+
type: undefined
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
case GuillotinaReducerActionTypes.SET_ACTION:
|
|
173
|
+
return _extends({}, state, {
|
|
174
|
+
action: action.payload
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
case GuillotinaReducerActionTypes.CLEAR_ACTION:
|
|
178
|
+
return _extends({}, state, {
|
|
179
|
+
action: {
|
|
180
|
+
action: undefined,
|
|
181
|
+
params: undefined
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
case GuillotinaReducerActionTypes.REFRESH:
|
|
186
|
+
return _extends({}, state, {
|
|
187
|
+
refresh: Date.now(),
|
|
188
|
+
loading: !action.payload.transparent
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
case GuillotinaReducerActionTypes.APPLY:
|
|
192
|
+
return _extends({}, state, {
|
|
193
|
+
context: _extends({}, state.context, action.payload.context)
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
default:
|
|
197
|
+
return state;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
110
201
|
var AuthContext = React.createContext({});
|
|
111
202
|
var ClientContext = React.createContext(null);
|
|
112
203
|
var Traversal = /*#__PURE__*/function () {
|
|
@@ -137,7 +228,7 @@
|
|
|
137
228
|
transparent = _ref2$transparent === void 0 ? false : _ref2$transparent;
|
|
138
229
|
|
|
139
230
|
this.dispatch({
|
|
140
|
-
type:
|
|
231
|
+
type: GuillotinaReducerActionTypes.REFRESH,
|
|
141
232
|
payload: {
|
|
142
233
|
transparent: transparent
|
|
143
234
|
}
|
|
@@ -145,15 +236,18 @@
|
|
|
145
236
|
};
|
|
146
237
|
|
|
147
238
|
_proto.apply = function apply(data) {
|
|
239
|
+
// apply a optimistic update to context
|
|
148
240
|
this.dispatch({
|
|
149
|
-
type:
|
|
150
|
-
payload:
|
|
241
|
+
type: GuillotinaReducerActionTypes.APPLY,
|
|
242
|
+
payload: {
|
|
243
|
+
context: data
|
|
244
|
+
}
|
|
151
245
|
});
|
|
152
246
|
};
|
|
153
247
|
|
|
154
248
|
_proto.flash = function flash(message, type) {
|
|
155
249
|
this.dispatch({
|
|
156
|
-
type:
|
|
250
|
+
type: GuillotinaReducerActionTypes.SET_FLASH,
|
|
157
251
|
payload: {
|
|
158
252
|
flash: {
|
|
159
253
|
message: message,
|
|
@@ -170,7 +264,8 @@
|
|
|
170
264
|
|
|
171
265
|
_proto.clearFlash = function clearFlash() {
|
|
172
266
|
this.dispatch({
|
|
173
|
-
type:
|
|
267
|
+
type: GuillotinaReducerActionTypes.CLEAR_FLASH,
|
|
268
|
+
payload: {}
|
|
174
269
|
});
|
|
175
270
|
};
|
|
176
271
|
|
|
@@ -180,7 +275,7 @@
|
|
|
180
275
|
}
|
|
181
276
|
|
|
182
277
|
this.dispatch({
|
|
183
|
-
type:
|
|
278
|
+
type: GuillotinaReducerActionTypes.SET_ACTION,
|
|
184
279
|
payload: {
|
|
185
280
|
action: action,
|
|
186
281
|
params: params
|
|
@@ -190,7 +285,8 @@
|
|
|
190
285
|
|
|
191
286
|
_proto.cancelAction = function cancelAction() {
|
|
192
287
|
this.dispatch({
|
|
193
|
-
type:
|
|
288
|
+
type: GuillotinaReducerActionTypes.CLEAR_ACTION,
|
|
289
|
+
payload: {}
|
|
194
290
|
});
|
|
195
291
|
};
|
|
196
292
|
|
|
@@ -227,6 +323,10 @@
|
|
|
227
323
|
}, {
|
|
228
324
|
key: "context",
|
|
229
325
|
get: function get() {
|
|
326
|
+
if (this.state.context === undefined) {
|
|
327
|
+
throw new Error('Context is not loaded');
|
|
328
|
+
}
|
|
329
|
+
|
|
230
330
|
return this.state.context;
|
|
231
331
|
}
|
|
232
332
|
}, {
|
|
@@ -249,7 +349,13 @@
|
|
|
249
349
|
});
|
|
250
350
|
}
|
|
251
351
|
function useTraversal() {
|
|
252
|
-
|
|
352
|
+
var traversal = React.useContext(TraversalContext);
|
|
353
|
+
|
|
354
|
+
if (!traversal) {
|
|
355
|
+
throw new Error('useTraversal must be used within a TraversalProvider');
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
return traversal;
|
|
253
359
|
}
|
|
254
360
|
function ClientProvider(_ref4) {
|
|
255
361
|
var children = _ref4.children,
|
|
@@ -260,7 +366,13 @@
|
|
|
260
366
|
});
|
|
261
367
|
}
|
|
262
368
|
function useGuillotinaClient() {
|
|
263
|
-
|
|
369
|
+
var client = React.useContext(ClientContext);
|
|
370
|
+
|
|
371
|
+
if (!client) {
|
|
372
|
+
throw new Error('useGuillotinaClient must be used within a ClientProvider');
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
return client;
|
|
264
376
|
}
|
|
265
377
|
|
|
266
378
|
var genericMessages = reactIntl.defineMessages({
|
|
@@ -767,8 +879,10 @@
|
|
|
767
879
|
return bytes;
|
|
768
880
|
}
|
|
769
881
|
function stringToSlug(str) {
|
|
770
|
-
str = str.replace(/^\s+|\s+$/g, '');
|
|
771
|
-
|
|
882
|
+
str = str.replace(/^\s+|\s+$/g, ''); // trim
|
|
883
|
+
|
|
884
|
+
str = str.toLowerCase(); // remove accents, swap ñ for n, etc
|
|
885
|
+
|
|
772
886
|
var from = 'àáäâèéëêìíïîòóöôùúüûñç·/_,:;';
|
|
773
887
|
var to = 'aaaaeeeeiiiioooouuuunc------';
|
|
774
888
|
|
|
@@ -776,13 +890,16 @@
|
|
|
776
890
|
str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
|
|
777
891
|
}
|
|
778
892
|
|
|
779
|
-
str = str.replace(/[^a-z0-9 -]/g, '')
|
|
893
|
+
str = str.replace(/[^a-z0-9 -]/g, '') // remove invalid chars
|
|
894
|
+
.replace(/\s+/g, '-') // collapse whitespace and replace by -
|
|
895
|
+
.replace(/-+/g, '-'); // collapse dashes
|
|
896
|
+
|
|
780
897
|
return str;
|
|
781
898
|
}
|
|
782
899
|
function sleep(ms) {
|
|
783
900
|
return new Promise(function (resolve) {
|
|
784
901
|
setTimeout(function () {
|
|
785
|
-
resolve(
|
|
902
|
+
resolve();
|
|
786
903
|
}, ms);
|
|
787
904
|
});
|
|
788
905
|
}
|
|
@@ -811,8 +928,6 @@
|
|
|
811
928
|
};
|
|
812
929
|
|
|
813
930
|
var Button = function Button(_ref) {
|
|
814
|
-
var _ref2;
|
|
815
|
-
|
|
816
931
|
var children = _ref.children,
|
|
817
932
|
_ref$className = _ref.className,
|
|
818
933
|
className = _ref$className === void 0 ? 'is-primary' : _ref$className,
|
|
@@ -824,9 +939,7 @@
|
|
|
824
939
|
_ref$disabled = _ref.disabled,
|
|
825
940
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
826
941
|
dataTest = _ref.dataTest;
|
|
827
|
-
|
|
828
|
-
var css = (_ref2 = []).concat.apply(_ref2, ['button'].concat(className.split(' ')));
|
|
829
|
-
|
|
942
|
+
var css = [].concat(className.split(' '), ['button']);
|
|
830
943
|
if (loading) css = css.concat('is-loading');
|
|
831
944
|
return jsxRuntime.jsx("p", {
|
|
832
945
|
className: "control",
|
|
@@ -841,6 +954,50 @@
|
|
|
841
954
|
});
|
|
842
955
|
};
|
|
843
956
|
|
|
957
|
+
var formatDate = function formatDate(str) {
|
|
958
|
+
var d = new Date(str);
|
|
959
|
+
var minutes = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();
|
|
960
|
+
return d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear() + " " + d.getHours() + ":" + minutes;
|
|
961
|
+
};
|
|
962
|
+
var get = function get(obj, path, defValue) {
|
|
963
|
+
var _pathArray$reduce;
|
|
964
|
+
|
|
965
|
+
// If path is not defined or it has false value
|
|
966
|
+
if (!path) return defValue; // Check if path is string or array. Regex : ensure that we do not have '.' and brackets.
|
|
967
|
+
// Regex explained: https://regexr.com/58j0k
|
|
968
|
+
|
|
969
|
+
var pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g); // Find value if exist return otherwise return undefined value;
|
|
970
|
+
|
|
971
|
+
if (pathArray === null) return defValue;
|
|
972
|
+
return (_pathArray$reduce = pathArray.reduce(function (prevObj, key) {
|
|
973
|
+
return prevObj && prevObj[key];
|
|
974
|
+
}, obj)) != null ? _pathArray$reduce : defValue;
|
|
975
|
+
};
|
|
976
|
+
function getNewId(id) {
|
|
977
|
+
if (id === void 0) {
|
|
978
|
+
id = '';
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
var suffix = '-copy-';
|
|
982
|
+
var rgx = new RegExp("($|" + suffix + "\\d*)");
|
|
983
|
+
return stringToSlug(id).replace(rgx, function (r) {
|
|
984
|
+
var num = parseInt(r.replace(suffix, '') || '0');
|
|
985
|
+
return "" + suffix + (num + 1);
|
|
986
|
+
});
|
|
987
|
+
}
|
|
988
|
+
function debounce(callback, wait) {
|
|
989
|
+
var timer;
|
|
990
|
+
return function () {
|
|
991
|
+
var _arguments = arguments;
|
|
992
|
+
clearTimeout(timer);
|
|
993
|
+
return new Promise(function (resolve) {
|
|
994
|
+
timer = setTimeout(function () {
|
|
995
|
+
return resolve(callback.apply(void 0, [].slice.call(_arguments)));
|
|
996
|
+
}, wait);
|
|
997
|
+
});
|
|
998
|
+
};
|
|
999
|
+
}
|
|
1000
|
+
|
|
844
1001
|
function Modal(props) {
|
|
845
1002
|
var isActive = props.isActive,
|
|
846
1003
|
setActive = props.setActive,
|
|
@@ -920,7 +1077,8 @@
|
|
|
920
1077
|
})]
|
|
921
1078
|
})]
|
|
922
1079
|
});
|
|
923
|
-
}
|
|
1080
|
+
} // @todo Improve it... Replacing the inputText to a tree
|
|
1081
|
+
|
|
924
1082
|
function PathTree(_ref2) {
|
|
925
1083
|
var title = _ref2.title,
|
|
926
1084
|
defaultPath = _ref2.defaultPath,
|
|
@@ -936,7 +1094,7 @@
|
|
|
936
1094
|
}), jsxRuntime.jsxs("form", {
|
|
937
1095
|
onSubmit: function onSubmit(e) {
|
|
938
1096
|
e.preventDefault();
|
|
939
|
-
onConfirm(e.
|
|
1097
|
+
onConfirm(get(e, 'target.0.value', ''), e.target);
|
|
940
1098
|
},
|
|
941
1099
|
children: [jsxRuntime.jsx("small", {
|
|
942
1100
|
style: {
|
|
@@ -968,51 +1126,6 @@
|
|
|
968
1126
|
});
|
|
969
1127
|
}
|
|
970
1128
|
|
|
971
|
-
function useSetState(initialState) {
|
|
972
|
-
var _useState = React.useState(initialState),
|
|
973
|
-
state = _useState[0],
|
|
974
|
-
set = _useState[1];
|
|
975
|
-
|
|
976
|
-
var setState = React.useCallback(function (patch) {
|
|
977
|
-
set(function (prevState) {
|
|
978
|
-
return Object.assign({}, prevState, patch instanceof Function ? patch(prevState) : patch);
|
|
979
|
-
});
|
|
980
|
-
}, [set]);
|
|
981
|
-
return [state, setState];
|
|
982
|
-
}
|
|
983
|
-
|
|
984
|
-
function _catch(body, recover) {
|
|
985
|
-
try {
|
|
986
|
-
var result = body();
|
|
987
|
-
} catch (e) {
|
|
988
|
-
return recover(e);
|
|
989
|
-
}
|
|
990
|
-
|
|
991
|
-
if (result && result.then) {
|
|
992
|
-
return result.then(void 0, recover);
|
|
993
|
-
}
|
|
994
|
-
|
|
995
|
-
return result;
|
|
996
|
-
}
|
|
997
|
-
|
|
998
|
-
var initial = {
|
|
999
|
-
loading: undefined,
|
|
1000
|
-
isError: false,
|
|
1001
|
-
errorMessage: undefined,
|
|
1002
|
-
result: undefined,
|
|
1003
|
-
response: undefined
|
|
1004
|
-
};
|
|
1005
|
-
|
|
1006
|
-
var getErrorMessage = function getErrorMessage(dataError, defaultValue) {
|
|
1007
|
-
if (dataError && dataError.details) {
|
|
1008
|
-
return dataError.details;
|
|
1009
|
-
} else if (dataError && dataError.reason) {
|
|
1010
|
-
return dataError.reason;
|
|
1011
|
-
}
|
|
1012
|
-
|
|
1013
|
-
return defaultValue;
|
|
1014
|
-
};
|
|
1015
|
-
|
|
1016
1129
|
var processResponse = function processResponse(res, ready_body) {
|
|
1017
1130
|
if (ready_body === void 0) {
|
|
1018
1131
|
ready_body = true;
|
|
@@ -1032,7 +1145,7 @@
|
|
|
1032
1145
|
return {
|
|
1033
1146
|
isError: true,
|
|
1034
1147
|
loading: false,
|
|
1035
|
-
errorMessage: getErrorMessage(_res$json2, res.status),
|
|
1148
|
+
errorMessage: getErrorMessage(_res$json2, res.status).toString(),
|
|
1036
1149
|
response: res
|
|
1037
1150
|
};
|
|
1038
1151
|
});
|
|
@@ -1041,10 +1154,66 @@
|
|
|
1041
1154
|
}
|
|
1042
1155
|
};
|
|
1043
1156
|
|
|
1044
|
-
var
|
|
1157
|
+
var getErrorMessage = function getErrorMessage(dataError, defaultValue) {
|
|
1158
|
+
if (dataError && dataError.details) {
|
|
1159
|
+
return dataError.details;
|
|
1160
|
+
} else if (dataError && dataError.reason) {
|
|
1161
|
+
return dataError.reason;
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
return defaultValue;
|
|
1165
|
+
};
|
|
1166
|
+
|
|
1167
|
+
/**
|
|
1168
|
+
* Do setState like react class component.
|
|
1169
|
+
*/
|
|
1170
|
+
|
|
1171
|
+
function useSetState(initialState) {
|
|
1172
|
+
var _useState = React.useState(initialState),
|
|
1173
|
+
state = _useState[0],
|
|
1174
|
+
setState = _useState[1]; // Function which accepts a partial state to merge
|
|
1175
|
+
|
|
1176
|
+
|
|
1177
|
+
var setCustomState = React.useCallback(function (newPartialState) {
|
|
1178
|
+
try {
|
|
1179
|
+
setState(function (prevState) {
|
|
1180
|
+
return _extends({}, prevState, newPartialState);
|
|
1181
|
+
});
|
|
1182
|
+
} catch (error) {
|
|
1183
|
+
// eslint-disable-next-line no-console
|
|
1184
|
+
console.error(error);
|
|
1185
|
+
}
|
|
1186
|
+
}, []); // Return
|
|
1187
|
+
|
|
1188
|
+
return [state, setCustomState];
|
|
1189
|
+
} // **** Export Default **** //
|
|
1190
|
+
|
|
1191
|
+
function _catch(body, recover) {
|
|
1192
|
+
try {
|
|
1193
|
+
var result = body();
|
|
1194
|
+
} catch (e) {
|
|
1195
|
+
return recover(e);
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
if (result && result.then) {
|
|
1199
|
+
return result.then(void 0, recover);
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
return result;
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
var initial = {
|
|
1206
|
+
loading: undefined,
|
|
1207
|
+
isError: false,
|
|
1208
|
+
errorMessage: undefined,
|
|
1209
|
+
result: undefined,
|
|
1210
|
+
response: undefined
|
|
1211
|
+
};
|
|
1212
|
+
|
|
1213
|
+
function patch(setState, Ctx) {
|
|
1045
1214
|
return function (data, endpoint, body) {
|
|
1046
|
-
if (
|
|
1047
|
-
|
|
1215
|
+
if (data === void 0) {
|
|
1216
|
+
data = {};
|
|
1048
1217
|
}
|
|
1049
1218
|
|
|
1050
1219
|
if (body === void 0) {
|
|
@@ -1052,7 +1221,7 @@
|
|
|
1052
1221
|
}
|
|
1053
1222
|
|
|
1054
1223
|
try {
|
|
1055
|
-
function
|
|
1224
|
+
function _temp3() {
|
|
1056
1225
|
setState(newState);
|
|
1057
1226
|
return newState;
|
|
1058
1227
|
}
|
|
@@ -1062,7 +1231,7 @@
|
|
|
1062
1231
|
});
|
|
1063
1232
|
var newState = {};
|
|
1064
1233
|
|
|
1065
|
-
var
|
|
1234
|
+
var _temp4 = _catch(function () {
|
|
1066
1235
|
var path = endpoint ? "" + Ctx.path + endpoint : Ctx.path;
|
|
1067
1236
|
return Promise.resolve(Ctx.client.patch(path, data)).then(function (res) {
|
|
1068
1237
|
return Promise.resolve(processResponse(res, body)).then(function (_processResponse) {
|
|
@@ -1077,29 +1246,25 @@
|
|
|
1077
1246
|
};
|
|
1078
1247
|
});
|
|
1079
1248
|
|
|
1080
|
-
return Promise.resolve(
|
|
1249
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
1081
1250
|
} catch (e) {
|
|
1082
1251
|
return Promise.reject(e);
|
|
1083
1252
|
}
|
|
1084
1253
|
};
|
|
1085
|
-
}
|
|
1254
|
+
}
|
|
1086
1255
|
|
|
1087
|
-
|
|
1256
|
+
function del(setState, Ctx) {
|
|
1088
1257
|
return function (data, endpoint, body) {
|
|
1089
1258
|
if (data === void 0) {
|
|
1090
1259
|
data = {};
|
|
1091
1260
|
}
|
|
1092
1261
|
|
|
1093
|
-
if (endpoint === void 0) {
|
|
1094
|
-
endpoint = undefined;
|
|
1095
|
-
}
|
|
1096
|
-
|
|
1097
1262
|
if (body === void 0) {
|
|
1098
1263
|
body = false;
|
|
1099
1264
|
}
|
|
1100
1265
|
|
|
1101
1266
|
try {
|
|
1102
|
-
function
|
|
1267
|
+
function _temp7() {
|
|
1103
1268
|
setState(newState);
|
|
1104
1269
|
return newState;
|
|
1105
1270
|
}
|
|
@@ -1109,7 +1274,7 @@
|
|
|
1109
1274
|
});
|
|
1110
1275
|
var newState = {};
|
|
1111
1276
|
|
|
1112
|
-
var
|
|
1277
|
+
var _temp8 = _catch(function () {
|
|
1113
1278
|
var path = endpoint ? "" + Ctx.path + endpoint : Ctx.path;
|
|
1114
1279
|
return Promise.resolve(Ctx.client.delete(path, data)).then(function (res) {
|
|
1115
1280
|
return Promise.resolve(processResponse(res, body)).then(function (_processResponse2) {
|
|
@@ -1124,17 +1289,17 @@
|
|
|
1124
1289
|
};
|
|
1125
1290
|
});
|
|
1126
1291
|
|
|
1127
|
-
return Promise.resolve(
|
|
1292
|
+
return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
|
|
1128
1293
|
} catch (e) {
|
|
1129
1294
|
return Promise.reject(e);
|
|
1130
1295
|
}
|
|
1131
1296
|
};
|
|
1132
|
-
}
|
|
1297
|
+
}
|
|
1133
1298
|
|
|
1134
|
-
|
|
1299
|
+
function post(setState, Ctx) {
|
|
1135
1300
|
return function (data, endpoint, body) {
|
|
1136
|
-
if (
|
|
1137
|
-
|
|
1301
|
+
if (data === void 0) {
|
|
1302
|
+
data = {};
|
|
1138
1303
|
}
|
|
1139
1304
|
|
|
1140
1305
|
if (body === void 0) {
|
|
@@ -1142,7 +1307,7 @@
|
|
|
1142
1307
|
}
|
|
1143
1308
|
|
|
1144
1309
|
try {
|
|
1145
|
-
function
|
|
1310
|
+
function _temp11() {
|
|
1146
1311
|
setState(newState);
|
|
1147
1312
|
return newState;
|
|
1148
1313
|
}
|
|
@@ -1152,7 +1317,7 @@
|
|
|
1152
1317
|
});
|
|
1153
1318
|
var newState = {};
|
|
1154
1319
|
|
|
1155
|
-
var
|
|
1320
|
+
var _temp12 = _catch(function () {
|
|
1156
1321
|
var path = endpoint ? "" + Ctx.path + endpoint : Ctx.path;
|
|
1157
1322
|
return Promise.resolve(Ctx.client.post(path, data)).then(function (res) {
|
|
1158
1323
|
return Promise.resolve(processResponse(res, body)).then(function (_processResponse3) {
|
|
@@ -1167,21 +1332,17 @@
|
|
|
1167
1332
|
};
|
|
1168
1333
|
});
|
|
1169
1334
|
|
|
1170
|
-
return Promise.resolve(
|
|
1335
|
+
return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(_temp11) : _temp11(_temp12));
|
|
1171
1336
|
} catch (e) {
|
|
1172
1337
|
return Promise.reject(e);
|
|
1173
1338
|
}
|
|
1174
1339
|
};
|
|
1175
|
-
}
|
|
1340
|
+
}
|
|
1176
1341
|
|
|
1177
|
-
|
|
1342
|
+
function get$1(setState, Ctx) {
|
|
1178
1343
|
return function (endpoint) {
|
|
1179
|
-
if (endpoint === void 0) {
|
|
1180
|
-
endpoint = undefined;
|
|
1181
|
-
}
|
|
1182
|
-
|
|
1183
1344
|
try {
|
|
1184
|
-
function
|
|
1345
|
+
function _temp15() {
|
|
1185
1346
|
setState(newState);
|
|
1186
1347
|
return newState;
|
|
1187
1348
|
}
|
|
@@ -1191,7 +1352,7 @@
|
|
|
1191
1352
|
});
|
|
1192
1353
|
var newState = {};
|
|
1193
1354
|
|
|
1194
|
-
var
|
|
1355
|
+
var _temp16 = _catch(function () {
|
|
1195
1356
|
var path = endpoint ? "" + Ctx.path + endpoint : Ctx.path;
|
|
1196
1357
|
return Promise.resolve(Ctx.client.get(path)).then(function (res) {
|
|
1197
1358
|
return Promise.resolve(processResponse(res, true)).then(function (_processResponse4) {
|
|
@@ -1206,12 +1367,16 @@
|
|
|
1206
1367
|
};
|
|
1207
1368
|
});
|
|
1208
1369
|
|
|
1209
|
-
return Promise.resolve(
|
|
1370
|
+
return Promise.resolve(_temp16 && _temp16.then ? _temp16.then(_temp15) : _temp15(_temp16));
|
|
1210
1371
|
} catch (e) {
|
|
1211
1372
|
return Promise.reject(e);
|
|
1212
1373
|
}
|
|
1213
1374
|
};
|
|
1214
|
-
}
|
|
1375
|
+
} // const get = (
|
|
1376
|
+
// setState: (value: Partial<State>) => void,
|
|
1377
|
+
// Ctx: Traversal
|
|
1378
|
+
// ) =>
|
|
1379
|
+
|
|
1215
1380
|
|
|
1216
1381
|
function useCrudContext() {
|
|
1217
1382
|
var Ctx = useTraversal();
|
|
@@ -1225,7 +1390,7 @@
|
|
|
1225
1390
|
patch: patch(setState, Ctx),
|
|
1226
1391
|
del: del(setState, Ctx),
|
|
1227
1392
|
post: post(setState, Ctx),
|
|
1228
|
-
get: get(setState, Ctx)
|
|
1393
|
+
get: get$1(setState, Ctx)
|
|
1229
1394
|
});
|
|
1230
1395
|
}
|
|
1231
1396
|
|
|
@@ -1273,9 +1438,6 @@
|
|
|
1273
1438
|
children: jsxRuntime.jsx(Form, {
|
|
1274
1439
|
loading: loading,
|
|
1275
1440
|
onSubmit: doSubmit,
|
|
1276
|
-
onError: function onError(err) {
|
|
1277
|
-
return console.log(err);
|
|
1278
|
-
},
|
|
1279
1441
|
actionName: 'Add ' + type,
|
|
1280
1442
|
title: 'Add ' + type,
|
|
1281
1443
|
type: type,
|
|
@@ -1285,31 +1447,52 @@
|
|
|
1285
1447
|
}
|
|
1286
1448
|
|
|
1287
1449
|
var Permissions = ['guillotina.AddContent', 'guillotina.ModifyContent', 'guillotina.ViewContent', 'guillotina.DeleteContent', 'guillotina.AccessContent', 'guillotina.SeePermissions', 'guillotina.ChangePermissions', 'guillotina.MoveContent', 'guillotina.DuplicateContent', 'guillotina.ReadConfiguration', 'guillotina.RegisterConfigurations', 'guillotina.WriteConfiguration', 'guillotina.ManageAddons', 'guillotina.swagger.View'];
|
|
1288
|
-
var
|
|
1450
|
+
var defaultConfig = {
|
|
1289
1451
|
DisabledTypes: ['UserManager', 'GroupManager'],
|
|
1290
1452
|
PageSize: 10,
|
|
1291
1453
|
DelayActions: 200,
|
|
1292
1454
|
Permissions: Permissions,
|
|
1293
1455
|
SearchEngine: 'PostreSQL',
|
|
1456
|
+
// Elasticsearch
|
|
1294
1457
|
fieldHaveDeleteButton: function fieldHaveDeleteButton(schema) {
|
|
1295
1458
|
return (schema == null ? void 0 : schema.widget) === 'file' || (schema == null ? void 0 : schema.widget) === 'select' || (schema == null ? void 0 : schema.type) === 'array';
|
|
1296
1459
|
}
|
|
1297
1460
|
};
|
|
1298
|
-
var calculated = Object.assign({},
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
var
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1461
|
+
var calculated = Object.assign({}, defaultConfig);
|
|
1462
|
+
|
|
1463
|
+
function addConfig(updates, currentConfig) {
|
|
1464
|
+
var updatedConfig = _extends({}, currentConfig);
|
|
1465
|
+
|
|
1466
|
+
Object.entries(updates).forEach(function (_ref) {
|
|
1467
|
+
var key = _ref[0],
|
|
1468
|
+
value = _ref[1];
|
|
1469
|
+
var currentKey = key;
|
|
1470
|
+
var currentValue = currentConfig[currentKey];
|
|
1471
|
+
|
|
1472
|
+
if (Array.isArray(value) && Array.isArray(currentValue)) {
|
|
1473
|
+
var _extends2;
|
|
1474
|
+
|
|
1475
|
+
// Correctly type the array concatenation
|
|
1476
|
+
updatedConfig = _extends({}, updatedConfig, (_extends2 = {}, _extends2[currentKey] = [].concat(currentValue, value), _extends2));
|
|
1477
|
+
} else if (isPlainObject(value) && isPlainObject(currentValue)) {
|
|
1478
|
+
var _extends3;
|
|
1479
|
+
|
|
1480
|
+
// Correctly type the object merging
|
|
1481
|
+
updatedConfig = _extends({}, updatedConfig, (_extends3 = {}, _extends3[currentKey] = _extends({}, currentValue, value), _extends3));
|
|
1307
1482
|
} else {
|
|
1308
|
-
|
|
1483
|
+
var _extends4;
|
|
1484
|
+
|
|
1485
|
+
// Directly assign all other types
|
|
1486
|
+
updatedConfig = _extends({}, updatedConfig, (_extends4 = {}, _extends4[currentKey] = value, _extends4));
|
|
1309
1487
|
}
|
|
1310
1488
|
});
|
|
1311
|
-
return
|
|
1312
|
-
}
|
|
1489
|
+
return updatedConfig;
|
|
1490
|
+
} // Helper function to check if a value is a plain object (and not a React node, etc.)
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
function isPlainObject(value) {
|
|
1494
|
+
return Object.prototype.toString.call(value) === '[object Object]';
|
|
1495
|
+
}
|
|
1313
1496
|
|
|
1314
1497
|
function useConfig(cfg) {
|
|
1315
1498
|
if (cfg === void 0) {
|
|
@@ -1333,7 +1516,7 @@
|
|
|
1333
1516
|
setLoading(true);
|
|
1334
1517
|
var actions = items.map(function (item) {
|
|
1335
1518
|
try {
|
|
1336
|
-
return Promise.resolve(Ctx.client.delete("" + Ctx.path + item
|
|
1519
|
+
return Promise.resolve(Ctx.client.delete("" + Ctx.path + item.id, {})).then(function (res) {
|
|
1337
1520
|
var _temp = function () {
|
|
1338
1521
|
if (!res.ok) {
|
|
1339
1522
|
return Promise.resolve(res.json()).then(function (err) {
|
|
@@ -1347,7 +1530,9 @@
|
|
|
1347
1530
|
} catch (e) {
|
|
1348
1531
|
return Promise.reject(e);
|
|
1349
1532
|
}
|
|
1350
|
-
});
|
|
1533
|
+
}); // this sleep is here, to let elasticsearch, wait for
|
|
1534
|
+
// index our operations... (will work 99% of use cases)
|
|
1535
|
+
|
|
1351
1536
|
actions.push(sleep(cfg.DelayActions));
|
|
1352
1537
|
return Promise.resolve(Promise.all(actions)).then(function () {
|
|
1353
1538
|
if (errors.length === 0) {
|
|
@@ -1377,9 +1562,9 @@
|
|
|
1377
1562
|
|
|
1378
1563
|
var _props$items = props.items,
|
|
1379
1564
|
items = _props$items === void 0 ? [] : _props$items;
|
|
1380
|
-
var last = items[items.length - 1]
|
|
1565
|
+
var last = items[items.length - 1].id;
|
|
1381
1566
|
var itemsNames = items.map(function (item) {
|
|
1382
|
-
return item
|
|
1567
|
+
return item.id;
|
|
1383
1568
|
}).join(', ').replace(", " + last, " and " + last);
|
|
1384
1569
|
return jsxRuntime.jsx(Confirm, {
|
|
1385
1570
|
loading: loading,
|
|
@@ -1406,7 +1591,7 @@
|
|
|
1406
1591
|
dataTest = _ref.dataTest;
|
|
1407
1592
|
var inputRef = React.useRef(null);
|
|
1408
1593
|
|
|
1409
|
-
var _useState = React.useState(checked),
|
|
1594
|
+
var _useState = React.useState(!!checked),
|
|
1410
1595
|
state = _useState[0],
|
|
1411
1596
|
setState = _useState[1];
|
|
1412
1597
|
|
|
@@ -1425,13 +1610,13 @@
|
|
|
1425
1610
|
className: "field",
|
|
1426
1611
|
children: jsxRuntime.jsxs("label", {
|
|
1427
1612
|
htmlFor: id,
|
|
1428
|
-
className: classnames(['checkbox', className]),
|
|
1613
|
+
className: classnames(['checkbox', className != null ? className : '']),
|
|
1429
1614
|
children: [jsxRuntime.jsx("input", {
|
|
1430
1615
|
ref: inputRef,
|
|
1431
1616
|
disabled: disabled || loading,
|
|
1432
1617
|
id: id,
|
|
1433
1618
|
type: "checkbox",
|
|
1434
|
-
className: classnames(['checkbox', classNameInput]),
|
|
1619
|
+
className: classnames(['checkbox', classNameInput != null ? classNameInput : '']),
|
|
1435
1620
|
checked: state,
|
|
1436
1621
|
onChange: updateState,
|
|
1437
1622
|
"data-test": dataTest
|
|
@@ -1469,7 +1654,7 @@
|
|
|
1469
1654
|
return result;
|
|
1470
1655
|
};
|
|
1471
1656
|
|
|
1472
|
-
var useInput = function useInput(onChange, value,
|
|
1657
|
+
var useInput = function useInput(onChange, value, validators) {
|
|
1473
1658
|
var _useState = React.useState({
|
|
1474
1659
|
hasError: false,
|
|
1475
1660
|
value: value
|
|
@@ -1478,7 +1663,7 @@
|
|
|
1478
1663
|
setState = _useState[1];
|
|
1479
1664
|
|
|
1480
1665
|
var onUpdate = function onUpdate(ev) {
|
|
1481
|
-
var value = ev && ev.target ? ev.target.value :
|
|
1666
|
+
var value = ev && ev.target ? ev.target.value : '';
|
|
1482
1667
|
setState({
|
|
1483
1668
|
value: value,
|
|
1484
1669
|
hasError: false
|
|
@@ -1487,7 +1672,7 @@
|
|
|
1487
1672
|
};
|
|
1488
1673
|
|
|
1489
1674
|
var onBlur = function onBlur() {
|
|
1490
|
-
var hasError = applyValidators(state.value,
|
|
1675
|
+
var hasError = applyValidators(state.value, validators) === false;
|
|
1491
1676
|
if (hasError) setState({
|
|
1492
1677
|
value: state.value,
|
|
1493
1678
|
hasError: hasError
|
|
@@ -1517,6 +1702,9 @@
|
|
|
1517
1702
|
};
|
|
1518
1703
|
};
|
|
1519
1704
|
|
|
1705
|
+
// From github.com/protonmail/proton-shared
|
|
1706
|
+
|
|
1707
|
+
/* eslint-disable no-useless-escape */
|
|
1520
1708
|
var REGEX_EMAIL = /(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/i;
|
|
1521
1709
|
var REGEX_URL = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-_]*)?\??(?:[\-\+=&;%@\.\w_]*)#?(?:[\.\!\/\\\w]*))?)/;
|
|
1522
1710
|
var REGEX_HEX_COLOR = /^#([a-f0-9]{3,4}|[a-f0-9]{4}(?:[a-f0-9]{2}){1,2})\b$/i;
|
|
@@ -1617,10 +1805,10 @@
|
|
|
1617
1805
|
dataTest = _ref$dataTest === void 0 ? 'testInput' : _ref$dataTest,
|
|
1618
1806
|
disabled = _ref.disabled,
|
|
1619
1807
|
onKeyUp = _ref.onKeyUp;
|
|
1620
|
-
var validatorFn =
|
|
1808
|
+
var validatorFn = [];
|
|
1621
1809
|
|
|
1622
1810
|
if (required) {
|
|
1623
|
-
validatorFn = Array.isArray(validator) ?
|
|
1811
|
+
validatorFn = Array.isArray(validator) ? [].concat(validator, [notEmpty]) : [validator, notEmpty];
|
|
1624
1812
|
}
|
|
1625
1813
|
|
|
1626
1814
|
var _useInput = useInput(onChange, value != null ? value : '', validatorFn),
|
|
@@ -1632,17 +1820,18 @@
|
|
|
1632
1820
|
|
|
1633
1821
|
var _useState2 = React.useState(false),
|
|
1634
1822
|
mounted = _useState2[0],
|
|
1635
|
-
setMounted = _useState2[1];
|
|
1823
|
+
setMounted = _useState2[1]; // eslint-disable-next-line
|
|
1824
|
+
|
|
1636
1825
|
|
|
1637
|
-
|
|
1826
|
+
var newRef = ref || React.useRef();
|
|
1638
1827
|
React.useEffect(function () {
|
|
1639
1828
|
setMounted(true);
|
|
1640
1829
|
}, []);
|
|
1641
1830
|
React.useEffect(function () {
|
|
1642
|
-
if (autofocus && !error &&
|
|
1643
|
-
|
|
1831
|
+
if (autofocus && !error && newRef != null && typeof newRef !== 'function' && newRef.current) {
|
|
1832
|
+
newRef.current.focus();
|
|
1644
1833
|
}
|
|
1645
|
-
}, [mounted, autofocus,
|
|
1834
|
+
}, [mounted, autofocus, newRef, error]);
|
|
1646
1835
|
var theError = state.hasError ? errorMessage || 'invalid field' : '';
|
|
1647
1836
|
var statusClasses = state.hasError ? 'is-danger' : '';
|
|
1648
1837
|
|
|
@@ -1683,7 +1872,8 @@
|
|
|
1683
1872
|
|
|
1684
1873
|
var Icon = function Icon(_ref) {
|
|
1685
1874
|
var icon = _ref.icon,
|
|
1686
|
-
className = _ref.className,
|
|
1875
|
+
_ref$className = _ref.className,
|
|
1876
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
1687
1877
|
align = _ref.align;
|
|
1688
1878
|
var addClass = className ? className.split(' ') : [className];
|
|
1689
1879
|
align = align || 'is-right';
|
|
@@ -1700,7 +1890,8 @@
|
|
|
1700
1890
|
value = _ref$value === void 0 ? '' : _ref$value,
|
|
1701
1891
|
dataTest = _ref.dataTest,
|
|
1702
1892
|
placeholder = _ref.placeholder,
|
|
1703
|
-
id = _ref.id
|
|
1893
|
+
id = _ref.id,
|
|
1894
|
+
onChange = _ref.onChange;
|
|
1704
1895
|
var intl = reactIntl.useIntl();
|
|
1705
1896
|
return jsxRuntime.jsx(Input, {
|
|
1706
1897
|
type: "email",
|
|
@@ -1718,7 +1909,8 @@
|
|
|
1718
1909
|
icon: "fas fa-envelope"
|
|
1719
1910
|
}),
|
|
1720
1911
|
id: id,
|
|
1721
|
-
placeholder: placeholder
|
|
1912
|
+
placeholder: placeholder,
|
|
1913
|
+
onChange: onChange
|
|
1722
1914
|
});
|
|
1723
1915
|
};
|
|
1724
1916
|
|
|
@@ -1792,24 +1984,26 @@
|
|
|
1792
1984
|
remotes = _ref$remotes === void 0 ? {} : _ref$remotes,
|
|
1793
1985
|
_ref$submitButton = _ref.submitButton,
|
|
1794
1986
|
submitButton = _ref$submitButton === void 0 ? true : _ref$submitButton;
|
|
1795
|
-
var ref = React.useRef();
|
|
1987
|
+
var ref = React.useRef(null);
|
|
1796
1988
|
var properties = schema.properties,
|
|
1797
1989
|
required = schema.required;
|
|
1798
|
-
var values = Object.assign({}, formData || {});
|
|
1990
|
+
var values = Object.assign({}, formData || {}); // build initial state
|
|
1991
|
+
|
|
1799
1992
|
var initialState = {};
|
|
1800
1993
|
var fields = Object.keys(properties).filter(function (x) {
|
|
1801
1994
|
return !exclude.includes(x);
|
|
1802
1995
|
});
|
|
1803
1996
|
fields.forEach(function (element) {
|
|
1804
1997
|
initialState[element] = values[element] || undefined;
|
|
1805
|
-
});
|
|
1998
|
+
}); // Register remotes
|
|
1806
1999
|
|
|
1807
|
-
if (
|
|
2000
|
+
if (ref.current === null) {
|
|
1808
2001
|
ref.current = {};
|
|
1809
2002
|
Object.keys(remotes).forEach(function (item) {
|
|
1810
2003
|
return ref.current[item] = remotes[item];
|
|
1811
2004
|
});
|
|
1812
2005
|
} else {
|
|
2006
|
+
// apply remote changes
|
|
1813
2007
|
Object.keys(remotes).forEach(function (key) {
|
|
1814
2008
|
if (JSON.stringify(ref.current[key]) !== JSON.stringify(remotes[key])) {
|
|
1815
2009
|
ref.current[key] = remotes[key];
|
|
@@ -1820,15 +2014,16 @@
|
|
|
1820
2014
|
ref.current = ref.current || {};
|
|
1821
2015
|
|
|
1822
2016
|
var onUpdate = function onUpdate(field) {
|
|
1823
|
-
return function (
|
|
1824
|
-
ref.current[field] =
|
|
2017
|
+
return function (value) {
|
|
2018
|
+
ref.current[field] = value;
|
|
1825
2019
|
};
|
|
1826
2020
|
};
|
|
1827
2021
|
|
|
1828
2022
|
var GetTag = function GetTag(_ref2) {
|
|
1829
2023
|
var field = _ref2.field;
|
|
1830
2024
|
var property = properties[field];
|
|
1831
|
-
var
|
|
2025
|
+
var key = property.widget || property.type;
|
|
2026
|
+
var Tag = formComponents[key];
|
|
1832
2027
|
var props = {
|
|
1833
2028
|
value: initialState[field],
|
|
1834
2029
|
onChange: onUpdate(field),
|
|
@@ -1843,7 +2038,6 @@
|
|
|
1843
2038
|
props.placeholder += ' *';
|
|
1844
2039
|
}
|
|
1845
2040
|
|
|
1846
|
-
Tag.displayName = field + "Field";
|
|
1847
2041
|
return jsxRuntime.jsx(Tag, _extends({}, props));
|
|
1848
2042
|
};
|
|
1849
2043
|
|
|
@@ -1912,9 +2106,13 @@
|
|
|
1912
2106
|
selectValue = selectValue.concat([ev.target.selectedOptions[i].value]);
|
|
1913
2107
|
}
|
|
1914
2108
|
|
|
1915
|
-
onChange
|
|
2109
|
+
if (onChange) {
|
|
2110
|
+
onChange(selectValue);
|
|
2111
|
+
}
|
|
1916
2112
|
} else {
|
|
1917
|
-
onChange
|
|
2113
|
+
if (onChange) {
|
|
2114
|
+
onChange(ev.target.value);
|
|
2115
|
+
}
|
|
1918
2116
|
}
|
|
1919
2117
|
};
|
|
1920
2118
|
|
|
@@ -1963,33 +2161,6 @@
|
|
|
1963
2161
|
});
|
|
1964
2162
|
Select.displayName = 'Select';
|
|
1965
2163
|
|
|
1966
|
-
var formatDate = function formatDate(str) {
|
|
1967
|
-
var d = new Date(str);
|
|
1968
|
-
var minutes = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();
|
|
1969
|
-
return d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear() + " " + d.getHours() + ":" + minutes;
|
|
1970
|
-
};
|
|
1971
|
-
var get$1 = function get(obj, path, defValue) {
|
|
1972
|
-
var _pathArray$reduce;
|
|
1973
|
-
|
|
1974
|
-
if (!path) return undefined;
|
|
1975
|
-
var pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
|
|
1976
|
-
return (_pathArray$reduce = pathArray.reduce(function (prevObj, key) {
|
|
1977
|
-
return prevObj && prevObj[key];
|
|
1978
|
-
}, obj)) != null ? _pathArray$reduce : defValue;
|
|
1979
|
-
};
|
|
1980
|
-
function getNewId(id) {
|
|
1981
|
-
if (id === void 0) {
|
|
1982
|
-
id = '';
|
|
1983
|
-
}
|
|
1984
|
-
|
|
1985
|
-
var suffix = '-copy-';
|
|
1986
|
-
var rgx = new RegExp("($|" + suffix + "\\d*)");
|
|
1987
|
-
return stringToSlug(id).replace(rgx, function (r) {
|
|
1988
|
-
var num = parseInt(r.replace(suffix, '') || '0');
|
|
1989
|
-
return "" + suffix + (num + 1);
|
|
1990
|
-
});
|
|
1991
|
-
}
|
|
1992
|
-
|
|
1993
2164
|
function _catch$1(body, recover) {
|
|
1994
2165
|
try {
|
|
1995
2166
|
var result = body();
|
|
@@ -2005,10 +2176,6 @@
|
|
|
2005
2176
|
}
|
|
2006
2177
|
|
|
2007
2178
|
function useVocabulary(vocabularyName, path) {
|
|
2008
|
-
if (path === void 0) {
|
|
2009
|
-
path = null;
|
|
2010
|
-
}
|
|
2011
|
-
|
|
2012
2179
|
var traversal = useTraversal();
|
|
2013
2180
|
|
|
2014
2181
|
var _useSetState = useSetState({
|
|
@@ -2077,8 +2244,10 @@
|
|
|
2077
2244
|
var vocabulary = useVocabulary(vocabularyName);
|
|
2078
2245
|
|
|
2079
2246
|
var getOptions = function getOptions() {
|
|
2080
|
-
if (get
|
|
2081
|
-
var
|
|
2247
|
+
if (get(vocabulary, 'data.items', null)) {
|
|
2248
|
+
var _vocabulary$data$item, _vocabulary$data;
|
|
2249
|
+
|
|
2250
|
+
var vocData = ((_vocabulary$data$item = vocabulary == null ? void 0 : (_vocabulary$data = vocabulary.data) == null ? void 0 : _vocabulary$data.items) != null ? _vocabulary$data$item : []).map(function (item) {
|
|
2082
2251
|
return {
|
|
2083
2252
|
text: item.title,
|
|
2084
2253
|
value: item.token
|
|
@@ -2124,6 +2293,8 @@
|
|
|
2124
2293
|
});
|
|
2125
2294
|
SelectVocabulary.displayName = 'SelectVocabulary';
|
|
2126
2295
|
|
|
2296
|
+
// https://github.com/molefrog/wouter
|
|
2297
|
+
|
|
2127
2298
|
var setURLParams = function setURLParams(p) {
|
|
2128
2299
|
return window.history.pushState(0, '0', '' + '?' + p.toString().replace(/%2F/g, '/'));
|
|
2129
2300
|
};
|
|
@@ -2143,7 +2314,10 @@
|
|
|
2143
2314
|
|
|
2144
2315
|
var prevPath = React.useRef(path);
|
|
2145
2316
|
React.useEffect(function () {
|
|
2146
|
-
patchHistoryEvents();
|
|
2317
|
+
patchHistoryEvents(); // this function checks if the location has been changed since the
|
|
2318
|
+
// last render and updates the state only when needed.
|
|
2319
|
+
// unfortunately, we can't rely on `path` value here, since it can be stale,
|
|
2320
|
+
// that's why we store the last pathname in a ref.
|
|
2147
2321
|
|
|
2148
2322
|
var checkForUpdates = function checkForUpdates() {
|
|
2149
2323
|
var pathname = currentSearchParams();
|
|
@@ -2153,14 +2327,22 @@
|
|
|
2153
2327
|
var events = ['popstate', 'pushState', 'replaceState'];
|
|
2154
2328
|
events.map(function (e) {
|
|
2155
2329
|
return window.addEventListener(e, checkForUpdates);
|
|
2156
|
-
});
|
|
2330
|
+
}); // it's possible that an update has occurred between render and the effect handler,
|
|
2331
|
+
// so we run additional check on mount to catch these updates. Based on:
|
|
2332
|
+
// https://gist.github.com/bvaughn/e25397f70e8c65b0ae0d7c90b731b189
|
|
2333
|
+
|
|
2157
2334
|
checkForUpdates();
|
|
2158
2335
|
return function () {
|
|
2159
2336
|
events.map(function (e) {
|
|
2160
2337
|
return window.removeEventListener(e, checkForUpdates);
|
|
2161
2338
|
});
|
|
2162
2339
|
};
|
|
2163
|
-
}, []);
|
|
2340
|
+
}, []); // the 2nd argument of the `useLocation` return value is a function
|
|
2341
|
+
// that allows to perform a navigation.
|
|
2342
|
+
//
|
|
2343
|
+
// the function reference should stay the same between re-renders, so that
|
|
2344
|
+
// it can be passed down as an element prop without any performance concerns.
|
|
2345
|
+
|
|
2164
2346
|
var navigate = React.useCallback(function (to, replace) {
|
|
2165
2347
|
if (replace) {
|
|
2166
2348
|
clean(to);
|
|
@@ -2179,23 +2361,40 @@
|
|
|
2179
2361
|
setURLParams(current);
|
|
2180
2362
|
}, [path]);
|
|
2181
2363
|
return [path, navigate, remove];
|
|
2182
|
-
};
|
|
2364
|
+
}; // While History API does have `popstate` event, the only
|
|
2365
|
+
// proper way to listen to changes via `push/replaceState`
|
|
2366
|
+
// is to monkey-patch these methods.
|
|
2367
|
+
//
|
|
2368
|
+
// See https://stackoverflow.com/a/4585031
|
|
2369
|
+
|
|
2183
2370
|
var patched = 0;
|
|
2184
2371
|
|
|
2185
2372
|
var patchHistoryEvents = function patchHistoryEvents() {
|
|
2186
2373
|
if (patched) return;
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2374
|
+
var originalPushState = window.history.pushState;
|
|
2375
|
+
|
|
2376
|
+
window.history.pushState = function () {
|
|
2377
|
+
var args = [].slice.call(arguments);
|
|
2378
|
+
var result = originalPushState.apply(this, args); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2379
|
+
|
|
2380
|
+
var event = new Event('pushState');
|
|
2381
|
+
event.arguments = args;
|
|
2382
|
+
dispatchEvent(event);
|
|
2383
|
+
return result;
|
|
2384
|
+
};
|
|
2385
|
+
|
|
2386
|
+
var originalReplaceState = window.history.replaceState;
|
|
2387
|
+
|
|
2388
|
+
window.history.replaceState = function () {
|
|
2389
|
+
var args = [].slice.call(arguments);
|
|
2390
|
+
var result = originalReplaceState.apply(this, args); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2391
|
+
|
|
2392
|
+
var event = new Event('replaceState');
|
|
2393
|
+
event.arguments = args;
|
|
2394
|
+
dispatchEvent(event);
|
|
2395
|
+
return result;
|
|
2396
|
+
};
|
|
2397
|
+
|
|
2199
2398
|
return patched = 1;
|
|
2200
2399
|
};
|
|
2201
2400
|
|
|
@@ -2250,7 +2449,7 @@
|
|
|
2250
2449
|
children = _ref.children,
|
|
2251
2450
|
_ref$style = _ref.style,
|
|
2252
2451
|
style = _ref$style === void 0 ? {} : _ref$style;
|
|
2253
|
-
var link = React.useRef();
|
|
2452
|
+
var link = React.useRef(null);
|
|
2254
2453
|
|
|
2255
2454
|
function onClick() {
|
|
2256
2455
|
if (link && link.current) {
|
|
@@ -2357,15 +2556,7 @@
|
|
|
2357
2556
|
|
|
2358
2557
|
var _proto = RestClient.prototype;
|
|
2359
2558
|
|
|
2360
|
-
_proto.request = function request(path, data, headers) {
|
|
2361
|
-
if (data === void 0) {
|
|
2362
|
-
data = undefined;
|
|
2363
|
-
}
|
|
2364
|
-
|
|
2365
|
-
if (headers === void 0) {
|
|
2366
|
-
headers = undefined;
|
|
2367
|
-
}
|
|
2368
|
-
|
|
2559
|
+
_proto.request = function request(path, data, headers, signal) {
|
|
2369
2560
|
try {
|
|
2370
2561
|
var _this2 = this;
|
|
2371
2562
|
|
|
@@ -2381,9 +2572,18 @@
|
|
|
2381
2572
|
path = "/" + path;
|
|
2382
2573
|
}
|
|
2383
2574
|
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2575
|
+
var dataRequest = data || {};
|
|
2576
|
+
dataRequest.headers = _this2.getHeaders();
|
|
2577
|
+
|
|
2578
|
+
if (headers) {
|
|
2579
|
+
dataRequest.headers = _extends({}, dataRequest.headers, headers);
|
|
2580
|
+
}
|
|
2581
|
+
|
|
2582
|
+
if (signal) {
|
|
2583
|
+
dataRequest.signal = signal;
|
|
2584
|
+
}
|
|
2585
|
+
|
|
2586
|
+
return Promise.resolve(fetch("" + _this2.url + path, dataRequest));
|
|
2387
2587
|
} catch (e) {
|
|
2388
2588
|
return Promise.reject(e);
|
|
2389
2589
|
}
|
|
@@ -2391,12 +2591,12 @@
|
|
|
2391
2591
|
|
|
2392
2592
|
_proto.getHeaders = function getHeaders() {
|
|
2393
2593
|
var authToken = this.auth.getToken();
|
|
2394
|
-
|
|
2395
|
-
return
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2594
|
+
var headersInit = {};
|
|
2595
|
+
if (!authToken) return headersInit;
|
|
2596
|
+
headersInit.Accept = 'application/json';
|
|
2597
|
+
headersInit['Content-Type'] = 'application/json';
|
|
2598
|
+
headersInit.Authorization = 'Bearer ' + authToken;
|
|
2599
|
+
return headersInit;
|
|
2400
2600
|
};
|
|
2401
2601
|
|
|
2402
2602
|
_proto.post = function post(path, data) {
|
|
@@ -2412,11 +2612,11 @@
|
|
|
2412
2612
|
}
|
|
2413
2613
|
};
|
|
2414
2614
|
|
|
2415
|
-
_proto.get = function get(path) {
|
|
2615
|
+
_proto.get = function get(path, signal) {
|
|
2416
2616
|
try {
|
|
2417
2617
|
var _this6 = this;
|
|
2418
2618
|
|
|
2419
|
-
return Promise.resolve(_this6.request(path));
|
|
2619
|
+
return Promise.resolve(_this6.request(path, undefined, undefined, signal));
|
|
2420
2620
|
} catch (e) {
|
|
2421
2621
|
return Promise.reject(e);
|
|
2422
2622
|
}
|
|
@@ -2454,24 +2654,20 @@
|
|
|
2454
2654
|
|
|
2455
2655
|
var headers = _this12.getHeaders();
|
|
2456
2656
|
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2657
|
+
var newHeaders = {};
|
|
2658
|
+
newHeaders['Content-Type'] = data['content-type'];
|
|
2659
|
+
newHeaders['X-UPLOAD-FILENAME'] = data.filename;
|
|
2660
|
+
newHeaders['Content-Encoding'] = 'base64';
|
|
2461
2661
|
return Promise.resolve(_this12.request(path, {
|
|
2462
2662
|
method: 'PATCH',
|
|
2463
2663
|
body: data.data
|
|
2464
|
-
}, headers));
|
|
2664
|
+
}, _extends({}, headers, newHeaders)));
|
|
2465
2665
|
} catch (e) {
|
|
2466
2666
|
return Promise.reject(e);
|
|
2467
2667
|
}
|
|
2468
2668
|
};
|
|
2469
2669
|
|
|
2470
2670
|
_proto.delete = function _delete(path, data) {
|
|
2471
|
-
if (data === void 0) {
|
|
2472
|
-
data = undefined;
|
|
2473
|
-
}
|
|
2474
|
-
|
|
2475
2671
|
try {
|
|
2476
2672
|
var _this14 = this;
|
|
2477
2673
|
|
|
@@ -2612,6 +2808,14 @@
|
|
|
2612
2808
|
}
|
|
2613
2809
|
};
|
|
2614
2810
|
|
|
2811
|
+
_proto.getQueryParamsSearchFunction = function getQueryParamsSearchFunction(name) {
|
|
2812
|
+
if (name === 'getQueryParamsElasticsearch') {
|
|
2813
|
+
return this.getQueryParamsElasticsearch;
|
|
2814
|
+
}
|
|
2815
|
+
|
|
2816
|
+
return this.getQueryParamsPostresql;
|
|
2817
|
+
};
|
|
2818
|
+
|
|
2615
2819
|
_proto.getQueryParamsPostresql = function getQueryParamsPostresql(_ref) {
|
|
2616
2820
|
var _ref$start = _ref.start,
|
|
2617
2821
|
start = _ref$start === void 0 ? 0 : _ref$start,
|
|
@@ -2703,7 +2907,7 @@
|
|
|
2703
2907
|
label: 'id/name',
|
|
2704
2908
|
key: 'title',
|
|
2705
2909
|
isSortable: true,
|
|
2706
|
-
child: function child(m,
|
|
2910
|
+
child: function child(m, _navigate, search) {
|
|
2707
2911
|
return jsxRuntime.jsxs(TdLink, {
|
|
2708
2912
|
model: m,
|
|
2709
2913
|
children: [m.name, search && jsxRuntime.jsxs(React__default['default'].Fragment, {
|
|
@@ -2737,15 +2941,19 @@
|
|
|
2737
2941
|
});
|
|
2738
2942
|
}
|
|
2739
2943
|
}];
|
|
2740
|
-
}
|
|
2944
|
+
} // BBB API changes. Compat G5 and G6
|
|
2945
|
+
;
|
|
2741
2946
|
|
|
2742
2947
|
_proto.applyCompat = function applyCompat(data) {
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2948
|
+
var result = _extends({}, data, {
|
|
2949
|
+
member: data.items,
|
|
2950
|
+
items_count: data.items_total
|
|
2951
|
+
});
|
|
2952
|
+
|
|
2953
|
+
return result;
|
|
2746
2954
|
};
|
|
2747
2955
|
|
|
2748
|
-
_proto.search = function search(path, params, container, prepare) {
|
|
2956
|
+
_proto.search = function search(path, params, container, prepare, signal) {
|
|
2749
2957
|
if (container === void 0) {
|
|
2750
2958
|
container = false;
|
|
2751
2959
|
}
|
|
@@ -2767,7 +2975,7 @@
|
|
|
2767
2975
|
|
|
2768
2976
|
var query = prepare ? toQueryString(params) : params;
|
|
2769
2977
|
var url = path + "@search?" + query;
|
|
2770
|
-
return Promise.resolve(_this7.rest.get(url)).then(function (res) {
|
|
2978
|
+
return Promise.resolve(_this7.rest.get(url, signal)).then(function (res) {
|
|
2771
2979
|
return Promise.resolve(res.json()).then(function (data) {
|
|
2772
2980
|
return _this7.applyCompat(data);
|
|
2773
2981
|
});
|
|
@@ -2897,7 +3105,8 @@
|
|
|
2897
3105
|
|
|
2898
3106
|
var _temp4 = function () {
|
|
2899
3107
|
if (!cacheSchemas[name]) {
|
|
2900
|
-
var url = _this25.getContainerFromPath(path);
|
|
3108
|
+
var url = _this25.getContainerFromPath(path); // todo: handle db case (only addable containers)
|
|
3109
|
+
|
|
2901
3110
|
|
|
2902
3111
|
return Promise.resolve(_this25.rest.get(url + "@types/" + name)).then(function (res) {
|
|
2903
3112
|
return Promise.resolve(res.json()).then(function (_res$json) {
|
|
@@ -2978,23 +3187,53 @@
|
|
|
2978
3187
|
var users = _this37.getUsers(path);
|
|
2979
3188
|
|
|
2980
3189
|
return Promise.resolve(Promise.all([groups, users])).then(function (_ref3) {
|
|
2981
|
-
var
|
|
2982
|
-
|
|
3190
|
+
var responseGroups = _ref3[0],
|
|
3191
|
+
responseUsers = _ref3[1];
|
|
2983
3192
|
|
|
2984
|
-
function
|
|
2985
|
-
function
|
|
3193
|
+
function _temp8() {
|
|
3194
|
+
function _temp6() {
|
|
2986
3195
|
return {
|
|
2987
|
-
groups:
|
|
2988
|
-
users:
|
|
3196
|
+
groups: groupsData,
|
|
3197
|
+
users: usersData
|
|
2989
3198
|
};
|
|
2990
3199
|
}
|
|
2991
3200
|
|
|
2992
|
-
var
|
|
2993
|
-
|
|
3201
|
+
var _temp5 = function () {
|
|
3202
|
+
if (responseUsers) {
|
|
3203
|
+
return Promise.resolve(responseUsers.json()).then(function (usersDataResponse) {
|
|
3204
|
+
usersData = usersDataResponse.map(function (user) {
|
|
3205
|
+
return {
|
|
3206
|
+
'@name': user.id,
|
|
3207
|
+
user_roles: user.roles,
|
|
3208
|
+
fullname: user.fullname,
|
|
3209
|
+
email: user.email
|
|
3210
|
+
};
|
|
3211
|
+
});
|
|
3212
|
+
});
|
|
3213
|
+
}
|
|
3214
|
+
}();
|
|
3215
|
+
|
|
3216
|
+
return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
|
|
2994
3217
|
}
|
|
2995
3218
|
|
|
2996
|
-
var
|
|
2997
|
-
|
|
3219
|
+
var groupsData = [];
|
|
3220
|
+
var usersData = [];
|
|
3221
|
+
|
|
3222
|
+
var _temp7 = function () {
|
|
3223
|
+
if (responseGroups.ok) {
|
|
3224
|
+
return Promise.resolve(responseGroups.json()).then(function (groupsDataResponse) {
|
|
3225
|
+
groupsData = groupsDataResponse.map(function (group) {
|
|
3226
|
+
return {
|
|
3227
|
+
'@name': group.id,
|
|
3228
|
+
user_roles: group.roles,
|
|
3229
|
+
users: group.users
|
|
3230
|
+
};
|
|
3231
|
+
});
|
|
3232
|
+
});
|
|
3233
|
+
}
|
|
3234
|
+
}();
|
|
3235
|
+
|
|
3236
|
+
return _temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7);
|
|
2998
3237
|
});
|
|
2999
3238
|
} catch (e) {
|
|
3000
3239
|
return Promise.reject(e);
|
|
@@ -3016,6 +3255,7 @@
|
|
|
3016
3255
|
try {
|
|
3017
3256
|
var _this41 = this;
|
|
3018
3257
|
|
|
3258
|
+
// paths used to query the API always has to start without a "/"
|
|
3019
3259
|
if (path.startsWith('/')) {
|
|
3020
3260
|
path = path.slice(1);
|
|
3021
3261
|
}
|
|
@@ -3035,7 +3275,7 @@
|
|
|
3035
3275
|
try {
|
|
3036
3276
|
var _this43 = this;
|
|
3037
3277
|
|
|
3038
|
-
function
|
|
3278
|
+
function _temp12() {
|
|
3039
3279
|
return cacheTypes[path];
|
|
3040
3280
|
}
|
|
3041
3281
|
|
|
@@ -3043,10 +3283,10 @@
|
|
|
3043
3283
|
path = path.slice(1);
|
|
3044
3284
|
}
|
|
3045
3285
|
|
|
3046
|
-
var
|
|
3286
|
+
var _temp13 = function () {
|
|
3047
3287
|
if (!cacheTypes[path]) {
|
|
3048
3288
|
return Promise.resolve(_this43.rest.get(path + '@addable-types')).then(function (types) {
|
|
3049
|
-
var
|
|
3289
|
+
var _temp9 = function () {
|
|
3050
3290
|
if (types.status === 401 || types.status === 404) {
|
|
3051
3291
|
cacheTypes[path] = [];
|
|
3052
3292
|
} else {
|
|
@@ -3056,12 +3296,12 @@
|
|
|
3056
3296
|
}
|
|
3057
3297
|
}();
|
|
3058
3298
|
|
|
3059
|
-
if (
|
|
3299
|
+
if (_temp9 && _temp9.then) return _temp9.then(function () {});
|
|
3060
3300
|
});
|
|
3061
3301
|
}
|
|
3062
3302
|
}();
|
|
3063
3303
|
|
|
3064
|
-
return Promise.resolve(
|
|
3304
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(_temp12) : _temp12(_temp13));
|
|
3065
3305
|
} catch (e) {
|
|
3066
3306
|
return Promise.reject(e);
|
|
3067
3307
|
}
|
|
@@ -3073,17 +3313,24 @@
|
|
|
3073
3313
|
return new GuillotinaClient(new RestClient(url, container, auth), container === '/');
|
|
3074
3314
|
}
|
|
3075
3315
|
var lightFileReader = function lightFileReader(file) {
|
|
3076
|
-
return new Promise(function (resolve) {
|
|
3316
|
+
return new Promise(function (resolve, reject) {
|
|
3077
3317
|
var reader = new FileReader();
|
|
3078
3318
|
reader.readAsArrayBuffer(file);
|
|
3079
3319
|
|
|
3080
3320
|
reader.onloadend = function (e) {
|
|
3081
|
-
var
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3321
|
+
var _e$target;
|
|
3322
|
+
|
|
3323
|
+
var fileData = e == null ? void 0 : (_e$target = e.target) == null ? void 0 : _e$target.result;
|
|
3324
|
+
|
|
3325
|
+
if (fileData) {
|
|
3326
|
+
resolve({
|
|
3327
|
+
filename: file.name.normalize('NFD').replace(/[\u0300-\u036f]/g, ''),
|
|
3328
|
+
data: fileData,
|
|
3329
|
+
'content-type': file.type
|
|
3330
|
+
});
|
|
3331
|
+
} else {
|
|
3332
|
+
reject('Error reading file');
|
|
3333
|
+
}
|
|
3087
3334
|
};
|
|
3088
3335
|
});
|
|
3089
3336
|
};
|
|
@@ -3114,9 +3361,15 @@
|
|
|
3114
3361
|
|
|
3115
3362
|
var changed = function changed(event) {
|
|
3116
3363
|
try {
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3364
|
+
var _temp2 = function () {
|
|
3365
|
+
if (event.target.files) {
|
|
3366
|
+
return Promise.resolve(lightFileReader(event.target.files[0])).then(function (fileToUpload) {
|
|
3367
|
+
onChange(fileToUpload);
|
|
3368
|
+
});
|
|
3369
|
+
}
|
|
3370
|
+
}();
|
|
3371
|
+
|
|
3372
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
3120
3373
|
} catch (e) {
|
|
3121
3374
|
return Promise.reject(e);
|
|
3122
3375
|
}
|
|
@@ -3207,12 +3460,12 @@
|
|
|
3207
3460
|
|
|
3208
3461
|
var defaultEvents = ['mousedown', 'touchstart'];
|
|
3209
3462
|
|
|
3210
|
-
var on = function on(obj) {
|
|
3211
|
-
return obj.addEventListener
|
|
3463
|
+
var on = function on(obj, type, handler) {
|
|
3464
|
+
return obj.addEventListener(type, handler);
|
|
3212
3465
|
};
|
|
3213
3466
|
|
|
3214
|
-
var off = function off(obj) {
|
|
3215
|
-
return obj.removeEventListener
|
|
3467
|
+
var off = function off(obj, type, handler) {
|
|
3468
|
+
return obj.removeEventListener(type, handler);
|
|
3216
3469
|
};
|
|
3217
3470
|
|
|
3218
3471
|
function useClickAway(ref, onClickAway, events) {
|
|
@@ -3244,23 +3497,7 @@
|
|
|
3244
3497
|
}, [events, ref]);
|
|
3245
3498
|
}
|
|
3246
3499
|
|
|
3247
|
-
|
|
3248
|
-
var timeout;
|
|
3249
|
-
return function () {
|
|
3250
|
-
var context = this;
|
|
3251
|
-
var args = arguments;
|
|
3252
|
-
|
|
3253
|
-
var later = function later() {
|
|
3254
|
-
timeout = null;
|
|
3255
|
-
func.apply(context, args);
|
|
3256
|
-
};
|
|
3257
|
-
|
|
3258
|
-
clearTimeout(timeout);
|
|
3259
|
-
timeout = setTimeout(later, wait);
|
|
3260
|
-
};
|
|
3261
|
-
}
|
|
3262
|
-
|
|
3263
|
-
var initialState = {
|
|
3500
|
+
var initialState$1 = {
|
|
3264
3501
|
page: 0,
|
|
3265
3502
|
items: undefined,
|
|
3266
3503
|
loading: false,
|
|
@@ -3270,10 +3507,9 @@
|
|
|
3270
3507
|
var onChange = _ref.onChange,
|
|
3271
3508
|
error = _ref.error,
|
|
3272
3509
|
errorZoneClassName = _ref.errorZoneClassName,
|
|
3273
|
-
|
|
3274
|
-
traversal = _ref$traversal === void 0 ? null : _ref$traversal,
|
|
3510
|
+
traversal = _ref.traversal,
|
|
3275
3511
|
_ref$path = _ref.path,
|
|
3276
|
-
path = _ref$path === void 0 ?
|
|
3512
|
+
path = _ref$path === void 0 ? undefined : _ref$path,
|
|
3277
3513
|
_ref$qs = _ref.qs,
|
|
3278
3514
|
qs = _ref$qs === void 0 ? [] : _ref$qs,
|
|
3279
3515
|
_ref$queryCondition = _ref.queryCondition,
|
|
@@ -3288,14 +3524,14 @@
|
|
|
3288
3524
|
_ref$dataTestItem = _ref.dataTestItem,
|
|
3289
3525
|
dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
|
|
3290
3526
|
_ref$renderTextItemOp = _ref.renderTextItemOption,
|
|
3291
|
-
renderTextItemOption = _ref$renderTextItemOp === void 0 ?
|
|
3527
|
+
renderTextItemOption = _ref$renderTextItemOp === void 0 ? undefined : _ref$renderTextItemOp,
|
|
3292
3528
|
_ref$typeNameQuery = _ref.typeNameQuery,
|
|
3293
|
-
typeNameQuery = _ref$typeNameQuery === void 0 ?
|
|
3529
|
+
typeNameQuery = _ref$typeNameQuery === void 0 ? undefined : _ref$typeNameQuery,
|
|
3294
3530
|
_ref$labelProperty = _ref.labelProperty,
|
|
3295
3531
|
labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
|
|
3296
3532
|
var intl = reactIntl.useIntl();
|
|
3297
3533
|
|
|
3298
|
-
var _useSetState = useSetState(initialState),
|
|
3534
|
+
var _useSetState = useSetState(initialState$1),
|
|
3299
3535
|
options = _useSetState[0],
|
|
3300
3536
|
setOptions = _useSetState[1];
|
|
3301
3537
|
|
|
@@ -3349,7 +3585,7 @@
|
|
|
3349
3585
|
var searchTermParsed = ["id", value];
|
|
3350
3586
|
var getSearch = traversal.registry.get;
|
|
3351
3587
|
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
3352
|
-
var qsParsed = traversal.client
|
|
3588
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3353
3589
|
path: traversal.path,
|
|
3354
3590
|
start: 0,
|
|
3355
3591
|
pageSize: PageSize,
|
|
@@ -3367,7 +3603,7 @@
|
|
|
3367
3603
|
|
|
3368
3604
|
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
|
|
3369
3605
|
var newValuesLabel = data.items.reduce(function (result, item) {
|
|
3370
|
-
result[item.id] = get
|
|
3606
|
+
result[item.id] = get(item, labelProperty, item.id);
|
|
3371
3607
|
return result;
|
|
3372
3608
|
}, {});
|
|
3373
3609
|
setValueLabel(newValuesLabel);
|
|
@@ -3395,6 +3631,7 @@
|
|
|
3395
3631
|
}
|
|
3396
3632
|
|
|
3397
3633
|
try {
|
|
3634
|
+
console.log('handle search input');
|
|
3398
3635
|
setOptions({
|
|
3399
3636
|
loading: true
|
|
3400
3637
|
});
|
|
@@ -3409,7 +3646,7 @@
|
|
|
3409
3646
|
|
|
3410
3647
|
var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
|
|
3411
3648
|
|
|
3412
|
-
var qsParsed = traversal.client
|
|
3649
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3413
3650
|
path: traversal.path,
|
|
3414
3651
|
start: page * PageSize,
|
|
3415
3652
|
pageSize: PageSize,
|
|
@@ -3422,7 +3659,7 @@
|
|
|
3422
3659
|
typeNameParsed = parser("type_name__in=" + typeNameQuery);
|
|
3423
3660
|
}
|
|
3424
3661
|
|
|
3425
|
-
if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
|
|
3662
|
+
if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0 || sortParsed.length > 0) {
|
|
3426
3663
|
searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed, typeNameParsed, sortParsed));
|
|
3427
3664
|
}
|
|
3428
3665
|
|
|
@@ -3447,7 +3684,7 @@
|
|
|
3447
3684
|
return renderTextItemOption(item);
|
|
3448
3685
|
}
|
|
3449
3686
|
|
|
3450
|
-
return get
|
|
3687
|
+
return get(item, labelProperty, item.title) || item['@name'];
|
|
3451
3688
|
};
|
|
3452
3689
|
|
|
3453
3690
|
React.useEffect(function () {
|
|
@@ -3473,7 +3710,7 @@
|
|
|
3473
3710
|
if (!ev.currentTarget.contains(ev.relatedTarget)) {
|
|
3474
3711
|
if (searchTerm !== '') {
|
|
3475
3712
|
setSearchTerm('');
|
|
3476
|
-
setOptions(initialState);
|
|
3713
|
+
setOptions(initialState$1);
|
|
3477
3714
|
}
|
|
3478
3715
|
|
|
3479
3716
|
setIsOpen(false);
|
|
@@ -3491,6 +3728,7 @@
|
|
|
3491
3728
|
}
|
|
3492
3729
|
|
|
3493
3730
|
setIsOpen(!isOpen);
|
|
3731
|
+
console.log('on clic btn', options);
|
|
3494
3732
|
|
|
3495
3733
|
if (!options.loading && !options.items) {
|
|
3496
3734
|
handleSearch(options.page);
|
|
@@ -3499,7 +3737,7 @@
|
|
|
3499
3737
|
"aria-haspopup": "true",
|
|
3500
3738
|
"aria-controls": "dropdown-menu",
|
|
3501
3739
|
children: [jsxRuntime.jsx("span", {
|
|
3502
|
-
children: value ? get
|
|
3740
|
+
children: value ? get(valueLabel, value, value) : intl.formatMessage(genericMessages.choose)
|
|
3503
3741
|
}), jsxRuntime.jsx("span", {
|
|
3504
3742
|
className: "icon",
|
|
3505
3743
|
children: jsxRuntime.jsx("i", {
|
|
@@ -3573,23 +3811,7 @@
|
|
|
3573
3811
|
});
|
|
3574
3812
|
};
|
|
3575
3813
|
|
|
3576
|
-
|
|
3577
|
-
var timeout;
|
|
3578
|
-
return function () {
|
|
3579
|
-
var context = this;
|
|
3580
|
-
var args = arguments;
|
|
3581
|
-
|
|
3582
|
-
var later = function later() {
|
|
3583
|
-
timeout = null;
|
|
3584
|
-
func.apply(context, args);
|
|
3585
|
-
};
|
|
3586
|
-
|
|
3587
|
-
clearTimeout(timeout);
|
|
3588
|
-
timeout = setTimeout(later, wait);
|
|
3589
|
-
};
|
|
3590
|
-
}
|
|
3591
|
-
|
|
3592
|
-
var initialState$1 = {
|
|
3814
|
+
var initialState$2 = {
|
|
3593
3815
|
page: 0,
|
|
3594
3816
|
items: undefined,
|
|
3595
3817
|
loading: false,
|
|
@@ -3599,10 +3821,9 @@
|
|
|
3599
3821
|
var onChange = _ref.onChange,
|
|
3600
3822
|
error = _ref.error,
|
|
3601
3823
|
errorZoneClassName = _ref.errorZoneClassName,
|
|
3602
|
-
|
|
3603
|
-
traversal = _ref$traversal === void 0 ? null : _ref$traversal,
|
|
3824
|
+
traversal = _ref.traversal,
|
|
3604
3825
|
_ref$path = _ref.path,
|
|
3605
|
-
path = _ref$path === void 0 ?
|
|
3826
|
+
path = _ref$path === void 0 ? undefined : _ref$path,
|
|
3606
3827
|
_ref$qs = _ref.qs,
|
|
3607
3828
|
qs = _ref$qs === void 0 ? [] : _ref$qs,
|
|
3608
3829
|
_ref$queryCondition = _ref.queryCondition,
|
|
@@ -3617,14 +3838,14 @@
|
|
|
3617
3838
|
_ref$dataTestItem = _ref.dataTestItem,
|
|
3618
3839
|
dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
|
|
3619
3840
|
_ref$renderTextItemOp = _ref.renderTextItemOption,
|
|
3620
|
-
renderTextItemOption = _ref$renderTextItemOp === void 0 ?
|
|
3841
|
+
renderTextItemOption = _ref$renderTextItemOp === void 0 ? undefined : _ref$renderTextItemOp,
|
|
3621
3842
|
_ref$typeNameQuery = _ref.typeNameQuery,
|
|
3622
|
-
typeNameQuery = _ref$typeNameQuery === void 0 ?
|
|
3843
|
+
typeNameQuery = _ref$typeNameQuery === void 0 ? undefined : _ref$typeNameQuery,
|
|
3623
3844
|
_ref$labelProperty = _ref.labelProperty,
|
|
3624
3845
|
labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
|
|
3625
3846
|
var intl = reactIntl.useIntl();
|
|
3626
3847
|
|
|
3627
|
-
var _useSetState = useSetState(initialState$
|
|
3848
|
+
var _useSetState = useSetState(initialState$2),
|
|
3628
3849
|
options = _useSetState[0],
|
|
3629
3850
|
setOptions = _useSetState[1];
|
|
3630
3851
|
|
|
@@ -3670,7 +3891,7 @@
|
|
|
3670
3891
|
};
|
|
3671
3892
|
};
|
|
3672
3893
|
|
|
3673
|
-
var delayedQuery = React.useCallback(debounce
|
|
3894
|
+
var delayedQuery = React.useCallback(debounce(function (value) {
|
|
3674
3895
|
return handleSearch(0, false, value);
|
|
3675
3896
|
}, 500), []);
|
|
3676
3897
|
|
|
@@ -3702,7 +3923,7 @@
|
|
|
3702
3923
|
|
|
3703
3924
|
var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
|
|
3704
3925
|
|
|
3705
|
-
var qsParsed = traversal.client
|
|
3926
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3706
3927
|
path: traversal.path,
|
|
3707
3928
|
start: page * PageSize,
|
|
3708
3929
|
pageSize: PageSize,
|
|
@@ -3744,7 +3965,7 @@
|
|
|
3744
3965
|
var searchTermParsed = ['__or', "id=" + value.join('%26id=')];
|
|
3745
3966
|
var getSearch = traversal.registry.get;
|
|
3746
3967
|
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
3747
|
-
var qsParsed = traversal.client
|
|
3968
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3748
3969
|
path: traversal.path,
|
|
3749
3970
|
start: 0,
|
|
3750
3971
|
pageSize: 100,
|
|
@@ -3760,9 +3981,9 @@
|
|
|
3760
3981
|
searchTermQs = buildQs([].concat(qs, [searchTermParsed], qsParsed, typeNameParsed));
|
|
3761
3982
|
}
|
|
3762
3983
|
|
|
3763
|
-
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false
|
|
3984
|
+
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
|
|
3764
3985
|
var newValuesLabel = data.items.reduce(function (result, item) {
|
|
3765
|
-
result[item.id] = get
|
|
3986
|
+
result[item.id] = get(item, labelProperty, item.id);
|
|
3766
3987
|
return result;
|
|
3767
3988
|
}, {});
|
|
3768
3989
|
setValuesLabels(newValuesLabel);
|
|
@@ -3782,7 +4003,7 @@
|
|
|
3782
4003
|
return renderTextItemOption(item);
|
|
3783
4004
|
}
|
|
3784
4005
|
|
|
3785
|
-
return get
|
|
4006
|
+
return get(item, labelProperty, item.title) || item['@name'];
|
|
3786
4007
|
};
|
|
3787
4008
|
|
|
3788
4009
|
React.useEffect(function () {
|
|
@@ -3805,7 +4026,7 @@
|
|
|
3805
4026
|
children: value.map(function (tag, index) {
|
|
3806
4027
|
return jsxRuntime.jsxs("div", {
|
|
3807
4028
|
className: "tag is-info is-medium",
|
|
3808
|
-
children: [get
|
|
4029
|
+
children: [get(valuesLabel, tag, tag), jsxRuntime.jsx("button", {
|
|
3809
4030
|
className: "delete is-small",
|
|
3810
4031
|
onClick: function onClick(ev) {
|
|
3811
4032
|
ev.stopPropagation();
|
|
@@ -3825,7 +4046,7 @@
|
|
|
3825
4046
|
if (!ev.currentTarget.contains(ev.relatedTarget)) {
|
|
3826
4047
|
if (searchTerm !== '') {
|
|
3827
4048
|
setSearchTerm('');
|
|
3828
|
-
setOptions(initialState$
|
|
4049
|
+
setOptions(initialState$2);
|
|
3829
4050
|
}
|
|
3830
4051
|
|
|
3831
4052
|
setIsOpen(false);
|
|
@@ -3889,7 +4110,7 @@
|
|
|
3889
4110
|
if (onChange && !value.includes(item.id)) {
|
|
3890
4111
|
var _extends2;
|
|
3891
4112
|
|
|
3892
|
-
setValuesLabels(_extends({}, valuesLabel, (_extends2 = {}, _extends2[item.id] = get
|
|
4113
|
+
setValuesLabels(_extends({}, valuesLabel, (_extends2 = {}, _extends2[item.id] = get(item, labelProperty, item.id), _extends2)));
|
|
3893
4114
|
onChange([].concat(value, [item.id]));
|
|
3894
4115
|
}
|
|
3895
4116
|
},
|
|
@@ -4077,7 +4298,7 @@
|
|
|
4077
4298
|
ref.current.focus();
|
|
4078
4299
|
}
|
|
4079
4300
|
});
|
|
4080
|
-
var canModified = modifyContent && !get
|
|
4301
|
+
var canModified = schema !== undefined && modifyContent && !get(schema, 'readonly', false);
|
|
4081
4302
|
|
|
4082
4303
|
var saveField = function saveField(ev) {
|
|
4083
4304
|
try {
|
|
@@ -4143,7 +4364,7 @@
|
|
|
4143
4364
|
var deleteField = function deleteField(ev) {
|
|
4144
4365
|
try {
|
|
4145
4366
|
if (ev) ev.preventDefault();
|
|
4146
|
-
return Promise.resolve(function () {
|
|
4367
|
+
return Promise.resolve(function (_schema$items) {
|
|
4147
4368
|
if ((schema == null ? void 0 : schema.widget) === 'file') {
|
|
4148
4369
|
var _ns2, _ref4, _ref5;
|
|
4149
4370
|
|
|
@@ -4171,7 +4392,7 @@
|
|
|
4171
4392
|
});
|
|
4172
4393
|
} else if ((schema == null ? void 0 : schema.type) === 'string' && schema != null && schema.enum) {
|
|
4173
4394
|
setValue(null);
|
|
4174
|
-
} else if ((schema == null ? void 0 : schema.type) === 'array' && (schema == null ? void 0 : schema.items.type) === 'string') {
|
|
4395
|
+
} else if ((schema == null ? void 0 : schema.type) === 'array' && (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.type) === 'string') {
|
|
4175
4396
|
setValue([]);
|
|
4176
4397
|
}
|
|
4177
4398
|
}());
|
|
@@ -4228,7 +4449,7 @@
|
|
|
4228
4449
|
dataTest: "editableFieldBtnCancelTest",
|
|
4229
4450
|
children: intl.formatMessage(genericMessages.cancel)
|
|
4230
4451
|
})
|
|
4231
|
-
}), !required && fieldHaveDeleteButton(schema) && jsxRuntime.jsx("div", {
|
|
4452
|
+
}), !required && schema && fieldHaveDeleteButton(schema) && jsxRuntime.jsx("div", {
|
|
4232
4453
|
className: "control",
|
|
4233
4454
|
children: jsxRuntime.jsx(Button, {
|
|
4234
4455
|
className: "is-small is-danger",
|
|
@@ -4257,7 +4478,8 @@
|
|
|
4257
4478
|
var blob = new Blob([text], {
|
|
4258
4479
|
type: data.content_type
|
|
4259
4480
|
});
|
|
4260
|
-
var url = window.URL.createObjectURL(blob);
|
|
4481
|
+
var url = window.URL.createObjectURL(blob); // Create blob link to download
|
|
4482
|
+
|
|
4261
4483
|
var link = document.createElement('a');
|
|
4262
4484
|
link.href = url;
|
|
4263
4485
|
|
|
@@ -4272,6 +4494,7 @@
|
|
|
4272
4494
|
setTimeout(function () {
|
|
4273
4495
|
var _link$parentNode;
|
|
4274
4496
|
|
|
4497
|
+
// For Firefox it is necessary to delay revoking the ObjectURL
|
|
4275
4498
|
window.URL.revokeObjectURL(url);
|
|
4276
4499
|
(_link$parentNode = link.parentNode) == null ? void 0 : _link$parentNode.removeChild(link);
|
|
4277
4500
|
}, 100);
|
|
@@ -4347,23 +4570,27 @@
|
|
|
4347
4570
|
}
|
|
4348
4571
|
|
|
4349
4572
|
if (type === 'object') {
|
|
4573
|
+
var _schema$properties;
|
|
4574
|
+
|
|
4350
4575
|
if (Array.isArray(value)) {
|
|
4351
|
-
return value.map(function (item) {
|
|
4576
|
+
return value.map(function (item, index) {
|
|
4352
4577
|
return jsxRuntime.jsx("div", {
|
|
4353
4578
|
children: jsxRuntime.jsx(RenderField, {
|
|
4354
4579
|
value: item
|
|
4355
4580
|
})
|
|
4356
|
-
},
|
|
4581
|
+
}, "renderField_" + index + "_" + (schema == null ? void 0 : schema.title));
|
|
4357
4582
|
});
|
|
4358
4583
|
}
|
|
4359
4584
|
|
|
4360
|
-
|
|
4361
|
-
return
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4585
|
+
if ((schema == null ? void 0 : (_schema$properties = schema.properties) == null ? void 0 : _schema$properties.key) !== undefined) {
|
|
4586
|
+
return Object.keys(value).map(function (key) {
|
|
4587
|
+
return jsxRuntime.jsx(FieldValue, {
|
|
4588
|
+
field: get(schema, "properties." + key + ".title", key),
|
|
4589
|
+
schema: schema.properties.key,
|
|
4590
|
+
value: get(value, key, {})
|
|
4591
|
+
}, key);
|
|
4592
|
+
});
|
|
4593
|
+
}
|
|
4367
4594
|
}
|
|
4368
4595
|
|
|
4369
4596
|
return jsxRuntime.jsxs("p", {
|
|
@@ -4407,6 +4634,7 @@
|
|
|
4407
4634
|
var schema = _ref3.schema,
|
|
4408
4635
|
value = _ref3.value,
|
|
4409
4636
|
modifyContent = _ref3.modifyContent;
|
|
4637
|
+
console.log('search render fields');
|
|
4410
4638
|
var intl = reactIntl.useIntl();
|
|
4411
4639
|
|
|
4412
4640
|
var _useState = React.useState([]),
|
|
@@ -4431,7 +4659,7 @@
|
|
|
4431
4659
|
var searchTermParsed = ['__or', "id=" + valuesToSearch.join('%26id=')];
|
|
4432
4660
|
var getSearch = traversal.registry.get;
|
|
4433
4661
|
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
4434
|
-
var qsParsed = traversal.client
|
|
4662
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
4435
4663
|
path: traversal.path,
|
|
4436
4664
|
start: 0,
|
|
4437
4665
|
pageSize: 100,
|
|
@@ -4442,11 +4670,11 @@
|
|
|
4442
4670
|
searchTermQs = buildQs([searchTermParsed].concat(qsParsed));
|
|
4443
4671
|
}
|
|
4444
4672
|
|
|
4445
|
-
return Promise.resolve(traversal.client.search(traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false
|
|
4673
|
+
return Promise.resolve(traversal.client.search(traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
|
|
4446
4674
|
var newValuesLabel = data.items.map(function (item) {
|
|
4447
4675
|
var _schema$labelProperty;
|
|
4448
4676
|
|
|
4449
|
-
return get
|
|
4677
|
+
return get(item, (_schema$labelProperty = schema == null ? void 0 : schema.labelProperty) != null ? _schema$labelProperty : 'title', item.id);
|
|
4450
4678
|
});
|
|
4451
4679
|
setValuesLabels(newValuesLabel);
|
|
4452
4680
|
setIsLoadingData(false);
|
|
@@ -4456,13 +4684,15 @@
|
|
|
4456
4684
|
}
|
|
4457
4685
|
};
|
|
4458
4686
|
|
|
4459
|
-
var valuesToSearch =
|
|
4687
|
+
var valuesToSearch = [];
|
|
4460
4688
|
|
|
4461
|
-
if (typeof
|
|
4462
|
-
valuesToSearch = [
|
|
4689
|
+
if (typeof value === 'string' && value) {
|
|
4690
|
+
valuesToSearch = [value];
|
|
4691
|
+
} else if (Array.isArray(value)) {
|
|
4692
|
+
valuesToSearch = value;
|
|
4463
4693
|
}
|
|
4464
4694
|
|
|
4465
|
-
if (valuesToSearch
|
|
4695
|
+
if (valuesToSearch.length > 0) {
|
|
4466
4696
|
fetchData(valuesToSearch);
|
|
4467
4697
|
} else {
|
|
4468
4698
|
setValuesLabels([]);
|
|
@@ -4497,7 +4727,7 @@
|
|
|
4497
4727
|
modifyContent = _ref4.modifyContent;
|
|
4498
4728
|
var intl = reactIntl.useIntl();
|
|
4499
4729
|
var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
|
|
4500
|
-
var vocabularyName = (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName);
|
|
4730
|
+
var vocabularyName = (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName) || '';
|
|
4501
4731
|
var vocabulary = useVocabulary(vocabularyName);
|
|
4502
4732
|
|
|
4503
4733
|
var getRenderProps = function getRenderProps() {
|
|
@@ -4508,7 +4738,7 @@
|
|
|
4508
4738
|
if (schema != null && schema.vocabularyName) {
|
|
4509
4739
|
var _vocabularyValue$titl;
|
|
4510
4740
|
|
|
4511
|
-
var vocabularyValue = get
|
|
4741
|
+
var vocabularyValue = get(vocabulary, 'data.items', []).find(function (item) {
|
|
4512
4742
|
return item.token === value;
|
|
4513
4743
|
});
|
|
4514
4744
|
renderProps['value'] = (_vocabularyValue$titl = vocabularyValue == null ? void 0 : vocabularyValue.title) != null ? _vocabularyValue$titl : '';
|
|
@@ -4518,7 +4748,7 @@
|
|
|
4518
4748
|
renderProps['value'] = ((_renderProps$value = renderProps['value']) != null ? _renderProps$value : []).map(function (value) {
|
|
4519
4749
|
var _get$find$title, _get$find;
|
|
4520
4750
|
|
|
4521
|
-
return (_get$find$title = (_get$find = get
|
|
4751
|
+
return (_get$find$title = (_get$find = get(vocabulary, 'data.items', []).find(function (item) {
|
|
4522
4752
|
return item.token === value;
|
|
4523
4753
|
})) == null ? void 0 : _get$find.title) != null ? _get$find$title : '';
|
|
4524
4754
|
});
|
|
@@ -4595,7 +4825,7 @@
|
|
|
4595
4825
|
queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
|
|
4596
4826
|
path: schema.queryPath,
|
|
4597
4827
|
labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
|
|
4598
|
-
typeNameQuery: schema
|
|
4828
|
+
typeNameQuery: schema == null ? void 0 : schema.typeNameQuery
|
|
4599
4829
|
})]
|
|
4600
4830
|
});
|
|
4601
4831
|
} else if ((schema == null ? void 0 : schema.widget) === 'search') {
|
|
@@ -4612,7 +4842,7 @@
|
|
|
4612
4842
|
queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
|
|
4613
4843
|
path: schema.queryPath,
|
|
4614
4844
|
labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
|
|
4615
|
-
typeNameQuery: schema
|
|
4845
|
+
typeNameQuery: schema == null ? void 0 : schema.typeNameQuery
|
|
4616
4846
|
})]
|
|
4617
4847
|
});
|
|
4618
4848
|
} else if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
|
|
@@ -4642,7 +4872,7 @@
|
|
|
4642
4872
|
|
|
4643
4873
|
if (schema.items.vocabularyName) {
|
|
4644
4874
|
return jsxRuntime.jsx(SelectVocabulary, {
|
|
4645
|
-
vocabularyName: get
|
|
4875
|
+
vocabularyName: get(schema, 'items.vocabularyName', ''),
|
|
4646
4876
|
val: val || [],
|
|
4647
4877
|
className: className,
|
|
4648
4878
|
classWrap: "is-fullwidth",
|
|
@@ -4679,22 +4909,25 @@
|
|
|
4679
4909
|
}), jsxRuntime.jsx(InputList, {
|
|
4680
4910
|
value: val || [],
|
|
4681
4911
|
className: className,
|
|
4682
|
-
onChange: function onChange(
|
|
4683
|
-
return _setValue(
|
|
4912
|
+
onChange: function onChange(val) {
|
|
4913
|
+
return _setValue(val);
|
|
4684
4914
|
},
|
|
4685
4915
|
ref: ref,
|
|
4686
4916
|
dataTest: dataTest
|
|
4687
4917
|
})]
|
|
4688
4918
|
});
|
|
4689
4919
|
} else if ((schema == null ? void 0 : schema.widget) === 'file') {
|
|
4920
|
+
var value = val;
|
|
4690
4921
|
return jsxRuntime.jsx(FileUpload, {
|
|
4691
4922
|
onChange: function onChange(ev) {
|
|
4692
4923
|
return _setValue(ev);
|
|
4693
4924
|
},
|
|
4694
|
-
label: get
|
|
4925
|
+
label: get(value, 'filename', undefined),
|
|
4695
4926
|
dataTest: dataTest
|
|
4696
4927
|
});
|
|
4697
4928
|
} else if ((schema == null ? void 0 : schema.widget) === 'select' && schema.type === 'string') {
|
|
4929
|
+
var _schema$vocabulary;
|
|
4930
|
+
|
|
4698
4931
|
if (schema != null && schema.vocabularyName) {
|
|
4699
4932
|
return jsxRuntime.jsx(SelectVocabulary, {
|
|
4700
4933
|
val: val || '',
|
|
@@ -4703,7 +4936,7 @@
|
|
|
4703
4936
|
classWrap: "is-fullwidth",
|
|
4704
4937
|
dataTest: dataTest,
|
|
4705
4938
|
onChange: _setValue,
|
|
4706
|
-
vocabularyName: get
|
|
4939
|
+
vocabularyName: get(schema, 'vocabularyName', ''),
|
|
4707
4940
|
placeholder: placeholder,
|
|
4708
4941
|
id: id
|
|
4709
4942
|
});
|
|
@@ -4715,7 +4948,7 @@
|
|
|
4715
4948
|
appendDefault: true,
|
|
4716
4949
|
classWrap: "is-fullwidth",
|
|
4717
4950
|
dataTest: dataTest,
|
|
4718
|
-
options: schema == null ? void 0 : schema.vocabulary.map(function (item) {
|
|
4951
|
+
options: ((_schema$vocabulary = schema == null ? void 0 : schema.vocabulary) != null ? _schema$vocabulary : []).map(function (item) {
|
|
4719
4952
|
return {
|
|
4720
4953
|
text: item,
|
|
4721
4954
|
value: item
|
|
@@ -4726,26 +4959,27 @@
|
|
|
4726
4959
|
id: id
|
|
4727
4960
|
});
|
|
4728
4961
|
} else if ((schema == null ? void 0 : schema.type) === 'object' && schema.widget !== 'file') {
|
|
4729
|
-
var
|
|
4962
|
+
var _value = val;
|
|
4730
4963
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
4731
4964
|
children: [schema.title && jsxRuntime.jsx("h4", {
|
|
4732
4965
|
className: "subtitle mt-2",
|
|
4733
4966
|
children: schema.title
|
|
4734
|
-
}), Object.keys(get
|
|
4967
|
+
}), Object.keys(get(schema, 'properties', {})).map(function (key) {
|
|
4735
4968
|
var _subSchema$title;
|
|
4736
4969
|
|
|
4737
|
-
var subSchema = get
|
|
4738
|
-
var requiredFields = get
|
|
4970
|
+
var subSchema = get(schema, "properties." + key, null);
|
|
4971
|
+
var requiredFields = get(schema, 'required', []);
|
|
4972
|
+
if (!subSchema) return null;
|
|
4739
4973
|
return jsxRuntime.jsx(EditComponent, {
|
|
4740
4974
|
id: id + "[" + key + "]",
|
|
4741
4975
|
schema: subSchema,
|
|
4742
|
-
val:
|
|
4976
|
+
val: _value && key in _value ? _value[key] : '',
|
|
4743
4977
|
placeholder: (_subSchema$title = subSchema == null ? void 0 : subSchema.title) != null ? _subSchema$title : '',
|
|
4744
4978
|
required: requiredFields.includes(key),
|
|
4745
4979
|
setValue: function setValue(ev) {
|
|
4746
4980
|
var _extends2;
|
|
4747
4981
|
|
|
4748
|
-
_setValue(_extends({},
|
|
4982
|
+
_setValue(_extends({}, _value, (_extends2 = {}, _extends2[key] = ev, _extends2)));
|
|
4749
4983
|
},
|
|
4750
4984
|
dataTest: key + "TestInput"
|
|
4751
4985
|
}, id + "[" + key + "]");
|
|
@@ -4807,9 +5041,9 @@
|
|
|
4807
5041
|
}, 1), jsxRuntime.jsx("td", {
|
|
4808
5042
|
children: jsxRuntime.jsx(EditableField, {
|
|
4809
5043
|
field: key,
|
|
4810
|
-
value: values
|
|
5044
|
+
value: values.file,
|
|
4811
5045
|
ns: "guillotina.behaviors.attachment.IAttachment",
|
|
4812
|
-
schema: properties
|
|
5046
|
+
schema: properties.file,
|
|
4813
5047
|
modifyContent: modifyContent && ['file'].includes(key)
|
|
4814
5048
|
})
|
|
4815
5049
|
}, 2)]
|
|
@@ -4859,6 +5093,11 @@
|
|
|
4859
5093
|
|
|
4860
5094
|
setLoading(true);
|
|
4861
5095
|
setError(undefined);
|
|
5096
|
+
|
|
5097
|
+
if (!file) {
|
|
5098
|
+
return Promise.resolve();
|
|
5099
|
+
}
|
|
5100
|
+
|
|
4862
5101
|
var endpoint = Ctx.path + "@upload/files/" + fileKey;
|
|
4863
5102
|
return Promise.resolve(Ctx.client.upload(endpoint, file)).then(function (req) {
|
|
4864
5103
|
if (req.status !== 200) {
|
|
@@ -4927,7 +5166,7 @@
|
|
|
4927
5166
|
field: "files/" + key,
|
|
4928
5167
|
value: values['files'][key],
|
|
4929
5168
|
ns: "guillotina.behaviors.attachment.IMultiAttachment.files",
|
|
4930
|
-
schema: properties
|
|
5169
|
+
schema: get(properties, 'files.additionalProperties', {}),
|
|
4931
5170
|
modifyContent: false
|
|
4932
5171
|
}), jsxRuntime.jsx("div", {
|
|
4933
5172
|
className: "ml-5",
|
|
@@ -5151,13 +5390,18 @@
|
|
|
5151
5390
|
ev.preventDefault();
|
|
5152
5391
|
setLoading(true);
|
|
5153
5392
|
setError(undefined);
|
|
5393
|
+
|
|
5394
|
+
if (!file) {
|
|
5395
|
+
return Promise.resolve();
|
|
5396
|
+
}
|
|
5397
|
+
|
|
5154
5398
|
var endpoint = Ctx.path + "@upload/image";
|
|
5155
5399
|
return Promise.resolve(Ctx.client.upload(endpoint, file)).then(function (req) {
|
|
5156
5400
|
var _exit;
|
|
5157
5401
|
|
|
5158
5402
|
function _temp4(_result) {
|
|
5159
5403
|
if (_exit) return _result;
|
|
5160
|
-
setFile(
|
|
5404
|
+
setFile(null);
|
|
5161
5405
|
setLoading(false);
|
|
5162
5406
|
Ctx.flash(intl.formatMessage(genericFileMessages.image_uploaded), 'success');
|
|
5163
5407
|
Ctx.refresh();
|
|
@@ -5438,7 +5682,7 @@
|
|
|
5438
5682
|
fileKey = _useState[0],
|
|
5439
5683
|
setFileKey = _useState[1];
|
|
5440
5684
|
|
|
5441
|
-
var _useState2 = React.useState(
|
|
5685
|
+
var _useState2 = React.useState(undefined),
|
|
5442
5686
|
file = _useState2[0],
|
|
5443
5687
|
setFile = _useState2[1];
|
|
5444
5688
|
|
|
@@ -5471,6 +5715,11 @@
|
|
|
5471
5715
|
|
|
5472
5716
|
setLoading(true);
|
|
5473
5717
|
setError(undefined);
|
|
5718
|
+
|
|
5719
|
+
if (!file) {
|
|
5720
|
+
return Promise.resolve();
|
|
5721
|
+
}
|
|
5722
|
+
|
|
5474
5723
|
var endpoint = Ctx.path + "@upload/images/" + fileKey;
|
|
5475
5724
|
return Promise.resolve(Ctx.client.upload(endpoint, file)).then(function (req) {
|
|
5476
5725
|
var _exit;
|
|
@@ -5573,7 +5822,7 @@
|
|
|
5573
5822
|
field: "images/" + key,
|
|
5574
5823
|
value: values['images'][key],
|
|
5575
5824
|
ns: "guillotina.contrib.image.behaviors.IMultiImageAttachment.images",
|
|
5576
|
-
schema: properties
|
|
5825
|
+
schema: get(properties, 'images.additionalProperties', {}),
|
|
5577
5826
|
modifyContent: false,
|
|
5578
5827
|
required: false
|
|
5579
5828
|
}), jsxRuntime.jsx("div", {
|
|
@@ -5863,7 +6112,7 @@
|
|
|
5863
6112
|
sortedList = _useState2[0],
|
|
5864
6113
|
setSortedList = _useState2[1];
|
|
5865
6114
|
|
|
5866
|
-
var _useState3 = React.useState(
|
|
6115
|
+
var _useState3 = React.useState(undefined),
|
|
5867
6116
|
file = _useState3[0],
|
|
5868
6117
|
setFile = _useState3[1];
|
|
5869
6118
|
|
|
@@ -6007,7 +6256,7 @@
|
|
|
6007
6256
|
field: "images/" + key,
|
|
6008
6257
|
value: values['images'][key],
|
|
6009
6258
|
ns: "guillotina.contrib.image.behaviors.IMultiImageAttachment.images",
|
|
6010
|
-
schema: properties
|
|
6259
|
+
schema: get(properties, 'images.additionalProperties', {}),
|
|
6011
6260
|
modifyContent: false,
|
|
6012
6261
|
required: false
|
|
6013
6262
|
}), jsxRuntime.jsx("div", {
|
|
@@ -6062,163 +6311,6 @@
|
|
|
6062
6311
|
});
|
|
6063
6312
|
}
|
|
6064
6313
|
|
|
6065
|
-
var base = {
|
|
6066
|
-
local: {
|
|
6067
|
-
roleperm: {},
|
|
6068
|
-
prinperm: {},
|
|
6069
|
-
prinrole: {}
|
|
6070
|
-
},
|
|
6071
|
-
inherit: []
|
|
6072
|
-
};
|
|
6073
|
-
var Sharing = /*#__PURE__*/function () {
|
|
6074
|
-
function Sharing(element) {
|
|
6075
|
-
this.local = void 0;
|
|
6076
|
-
this.inherit = void 0;
|
|
6077
|
-
Object.assign(this, element || base);
|
|
6078
|
-
}
|
|
6079
|
-
|
|
6080
|
-
var _proto = Sharing.prototype;
|
|
6081
|
-
|
|
6082
|
-
_proto.getRole = function getRole(role) {
|
|
6083
|
-
return this.local.roleperm[role];
|
|
6084
|
-
};
|
|
6085
|
-
|
|
6086
|
-
_proto.getPrincipals = function getPrincipals(principal) {
|
|
6087
|
-
return this.local.prinperm[principal];
|
|
6088
|
-
};
|
|
6089
|
-
|
|
6090
|
-
_proto.getPrinroles = function getPrinroles(role) {
|
|
6091
|
-
return this.local.prinrole[role];
|
|
6092
|
-
};
|
|
6093
|
-
|
|
6094
|
-
_createClass(Sharing, [{
|
|
6095
|
-
key: "roles",
|
|
6096
|
-
get: function get() {
|
|
6097
|
-
return Object.keys(this.local.roleperm);
|
|
6098
|
-
}
|
|
6099
|
-
}, {
|
|
6100
|
-
key: "principals",
|
|
6101
|
-
get: function get() {
|
|
6102
|
-
return Object.keys(this.local.prinperm);
|
|
6103
|
-
}
|
|
6104
|
-
}, {
|
|
6105
|
-
key: "prinrole",
|
|
6106
|
-
get: function get() {
|
|
6107
|
-
return Object.keys(this.local.prinrole);
|
|
6108
|
-
}
|
|
6109
|
-
}]);
|
|
6110
|
-
|
|
6111
|
-
return Sharing;
|
|
6112
|
-
}();
|
|
6113
|
-
|
|
6114
|
-
var ItemModel = /*#__PURE__*/function () {
|
|
6115
|
-
function ItemModel(item, url) {
|
|
6116
|
-
if (url === void 0) {
|
|
6117
|
-
url = '';
|
|
6118
|
-
}
|
|
6119
|
-
|
|
6120
|
-
this.item = void 0;
|
|
6121
|
-
this.url = void 0;
|
|
6122
|
-
this.item = item;
|
|
6123
|
-
this.url = url;
|
|
6124
|
-
}
|
|
6125
|
-
|
|
6126
|
-
_createClass(ItemModel, [{
|
|
6127
|
-
key: "path",
|
|
6128
|
-
get: function get() {
|
|
6129
|
-
var item = this.item['@id'] ? this.item['@id'] : this.item['@absolute_url'];
|
|
6130
|
-
var path = item.split('//')[1].split('/').splice(1).join('/');
|
|
6131
|
-
path = "/" + path + "/";
|
|
6132
|
-
|
|
6133
|
-
if (this.url.length > 0) {
|
|
6134
|
-
if (this.url.startsWith('/')) {
|
|
6135
|
-
path = path.replace(this.url.substring(1), '');
|
|
6136
|
-
} else {
|
|
6137
|
-
path = path.replace(this.url, '');
|
|
6138
|
-
}
|
|
6139
|
-
}
|
|
6140
|
-
|
|
6141
|
-
return path;
|
|
6142
|
-
}
|
|
6143
|
-
}, {
|
|
6144
|
-
key: "name",
|
|
6145
|
-
get: function get() {
|
|
6146
|
-
return this.item.title || this.item['@name'];
|
|
6147
|
-
}
|
|
6148
|
-
}, {
|
|
6149
|
-
key: "icon",
|
|
6150
|
-
get: function get() {
|
|
6151
|
-
var cfg = useConfig();
|
|
6152
|
-
|
|
6153
|
-
if (cfg.icons && cfg.icons[this.type]) {
|
|
6154
|
-
return cfg.icons[this.type];
|
|
6155
|
-
}
|
|
6156
|
-
|
|
6157
|
-
switch (this.type) {
|
|
6158
|
-
case 'GroupManager':
|
|
6159
|
-
return 'fas fa-users-cog';
|
|
6160
|
-
|
|
6161
|
-
case 'UserManager':
|
|
6162
|
-
return 'fas fa-user-cog';
|
|
6163
|
-
|
|
6164
|
-
case 'User':
|
|
6165
|
-
return 'fas fa-user';
|
|
6166
|
-
|
|
6167
|
-
case 'Group':
|
|
6168
|
-
return 'fas fa-users';
|
|
6169
|
-
|
|
6170
|
-
case 'Folder':
|
|
6171
|
-
return 'fas fa-folder';
|
|
6172
|
-
|
|
6173
|
-
default:
|
|
6174
|
-
return 'fas fa-file';
|
|
6175
|
-
}
|
|
6176
|
-
}
|
|
6177
|
-
}, {
|
|
6178
|
-
key: "fullPath",
|
|
6179
|
-
get: function get() {
|
|
6180
|
-
return this.url + this.item.id;
|
|
6181
|
-
}
|
|
6182
|
-
}, {
|
|
6183
|
-
key: "id",
|
|
6184
|
-
get: function get() {
|
|
6185
|
-
if (this.item.id) {
|
|
6186
|
-
return this.item.id;
|
|
6187
|
-
}
|
|
6188
|
-
|
|
6189
|
-
var id = this.item['@id'].split('&')[0].split('/');
|
|
6190
|
-
return id[id.length - 1];
|
|
6191
|
-
}
|
|
6192
|
-
}, {
|
|
6193
|
-
key: "uid",
|
|
6194
|
-
get: function get() {
|
|
6195
|
-
return this.item['@uid'];
|
|
6196
|
-
}
|
|
6197
|
-
}, {
|
|
6198
|
-
key: "type",
|
|
6199
|
-
get: function get() {
|
|
6200
|
-
return this.item['@type'] || this.item.type_name;
|
|
6201
|
-
}
|
|
6202
|
-
}, {
|
|
6203
|
-
key: "title",
|
|
6204
|
-
get: function get() {
|
|
6205
|
-
return this.item.title;
|
|
6206
|
-
}
|
|
6207
|
-
}, {
|
|
6208
|
-
key: "created",
|
|
6209
|
-
get: function get() {
|
|
6210
|
-
return this.item.creation_date ? formatDate(this.item.creation_date) : '';
|
|
6211
|
-
}
|
|
6212
|
-
}, {
|
|
6213
|
-
key: "updated",
|
|
6214
|
-
get: function get() {
|
|
6215
|
-
return this.item.modification_date ? formatDate(this.item.modification_date) : '';
|
|
6216
|
-
}
|
|
6217
|
-
}]);
|
|
6218
|
-
|
|
6219
|
-
return ItemModel;
|
|
6220
|
-
}();
|
|
6221
|
-
|
|
6222
6314
|
var messages$1 = reactIntl.defineMessages({
|
|
6223
6315
|
status_changed_ok: {
|
|
6224
6316
|
id: "status_changed_ok",
|
|
@@ -6294,13 +6386,12 @@
|
|
|
6294
6386
|
definition = _useState[0],
|
|
6295
6387
|
setDefinition = _useState[1];
|
|
6296
6388
|
|
|
6297
|
-
var _useState2 = React.useState(
|
|
6389
|
+
var _useState2 = React.useState(undefined),
|
|
6298
6390
|
workflowAction = _useState2[0],
|
|
6299
6391
|
setWorkflowAction = _useState2[1];
|
|
6300
6392
|
|
|
6301
|
-
var model = new ItemModel(Ctx.context);
|
|
6302
6393
|
var vocabulary = useVocabulary('workflow_states');
|
|
6303
|
-
var currentState =
|
|
6394
|
+
var currentState = Ctx.context['guillotina.contrib.workflows.interfaces.IWorkflowBehavior']['review_state'];
|
|
6304
6395
|
React.useEffect(function () {
|
|
6305
6396
|
loadDefinition();
|
|
6306
6397
|
}, [Ctx.path]);
|
|
@@ -6320,7 +6411,7 @@
|
|
|
6320
6411
|
}
|
|
6321
6412
|
|
|
6322
6413
|
Ctx.refresh();
|
|
6323
|
-
setWorkflowAction(
|
|
6414
|
+
setWorkflowAction(undefined);
|
|
6324
6415
|
});
|
|
6325
6416
|
});
|
|
6326
6417
|
} catch (e) {
|
|
@@ -6329,21 +6420,23 @@
|
|
|
6329
6420
|
};
|
|
6330
6421
|
|
|
6331
6422
|
var getStateTitle = function getStateTitle() {
|
|
6332
|
-
var _vocabulary$data, _vocabulary$data
|
|
6423
|
+
var _vocabulary$data$item, _vocabulary$data;
|
|
6333
6424
|
|
|
6334
|
-
if (((_vocabulary$data = vocabulary.data) == null ? void 0 :
|
|
6335
|
-
var
|
|
6425
|
+
if (((_vocabulary$data$item = (_vocabulary$data = vocabulary.data) == null ? void 0 : _vocabulary$data.items) != null ? _vocabulary$data$item : []).length > 0) {
|
|
6426
|
+
var _vocabulary$data2;
|
|
6427
|
+
|
|
6428
|
+
var vocabularyValue = vocabulary == null ? void 0 : (_vocabulary$data2 = vocabulary.data) == null ? void 0 : _vocabulary$data2.items.find(function (item) {
|
|
6336
6429
|
return item.token === currentState;
|
|
6337
6430
|
});
|
|
6338
6431
|
|
|
6339
6432
|
if (vocabularyValue) {
|
|
6340
|
-
var translatedValue = get
|
|
6433
|
+
var translatedValue = get(vocabularyValue, "title.translated_title." + intl.locale, null);
|
|
6341
6434
|
|
|
6342
6435
|
if (translatedValue !== null) {
|
|
6343
6436
|
return translatedValue;
|
|
6344
6437
|
}
|
|
6345
6438
|
|
|
6346
|
-
var titleValue = get
|
|
6439
|
+
var titleValue = get(vocabularyValue, "title.title." + intl.locale, null);
|
|
6347
6440
|
|
|
6348
6441
|
if (titleValue !== null) {
|
|
6349
6442
|
return titleValue;
|
|
@@ -6359,7 +6452,7 @@
|
|
|
6359
6452
|
children: [workflowAction && jsxRuntime.jsx(Confirm, {
|
|
6360
6453
|
loading: loading,
|
|
6361
6454
|
onCancel: function onCancel() {
|
|
6362
|
-
return setWorkflowAction(
|
|
6455
|
+
return setWorkflowAction(undefined);
|
|
6363
6456
|
},
|
|
6364
6457
|
onConfirm: doWorkflowAction,
|
|
6365
6458
|
message: intl.formatMessage(messages$1.confirm_message, {
|
|
@@ -6385,7 +6478,7 @@
|
|
|
6385
6478
|
onClick: function onClick() {
|
|
6386
6479
|
return setWorkflowAction(transition['@id'].split('@workflow')[1].slice(1));
|
|
6387
6480
|
},
|
|
6388
|
-
children: get
|
|
6481
|
+
children: get(transition, "metadata.translated_title." + intl.locale, transition.title)
|
|
6389
6482
|
}, transition['@id']);
|
|
6390
6483
|
})]
|
|
6391
6484
|
})]
|
|
@@ -6411,14 +6504,17 @@
|
|
|
6411
6504
|
|
|
6412
6505
|
return jsxRuntime.jsx(React.Fragment, {
|
|
6413
6506
|
children: Object.keys(ACTIONS_OBJECT).map(function (actionKey) {
|
|
6414
|
-
|
|
6507
|
+
var actionKeyTyped = actionKey;
|
|
6508
|
+
var actionObject = ACTIONS_OBJECT[actionKeyTyped];
|
|
6509
|
+
|
|
6510
|
+
if (hasPerm(actionObject.perms)) {
|
|
6415
6511
|
return jsxRuntime.jsx("button", {
|
|
6416
6512
|
className: "button mr-4",
|
|
6417
6513
|
onClick: function onClick() {
|
|
6418
|
-
onAction(
|
|
6514
|
+
onAction(actionKeyTyped);
|
|
6419
6515
|
},
|
|
6420
|
-
children:
|
|
6421
|
-
}, "panel_action_" +
|
|
6516
|
+
children: actionObject.text
|
|
6517
|
+
}, "panel_action_" + actionObject.text);
|
|
6422
6518
|
}
|
|
6423
6519
|
})
|
|
6424
6520
|
});
|
|
@@ -6460,7 +6556,8 @@
|
|
|
6460
6556
|
"value": "Installed Addons"
|
|
6461
6557
|
}]
|
|
6462
6558
|
}
|
|
6463
|
-
});
|
|
6559
|
+
}); // TODO: Refactor without useAsync... just crudContext
|
|
6560
|
+
|
|
6464
6561
|
function PanelAddons() {
|
|
6465
6562
|
var _state$data$available, _state$data, _state$data$available2, _state$data2, _state$data$installed, _state$data3, _state$data$installed2, _state$data4;
|
|
6466
6563
|
|
|
@@ -6615,8 +6712,9 @@
|
|
|
6615
6712
|
|
|
6616
6713
|
var arrayToObject = function arrayToObject(array) {
|
|
6617
6714
|
return array.reduce(function (obj, item) {
|
|
6618
|
-
|
|
6619
|
-
|
|
6715
|
+
var _extends2;
|
|
6716
|
+
|
|
6717
|
+
return _extends({}, obj, (_extends2 = {}, _extends2[item.id] = item, _extends2));
|
|
6620
6718
|
}, {});
|
|
6621
6719
|
};
|
|
6622
6720
|
|
|
@@ -6778,8 +6876,9 @@
|
|
|
6778
6876
|
|
|
6779
6877
|
function onSelectAllItems(checked) {
|
|
6780
6878
|
setSelected(items.reduce(function (obj, item) {
|
|
6781
|
-
|
|
6782
|
-
|
|
6879
|
+
var _extends2;
|
|
6880
|
+
|
|
6881
|
+
return _extends({}, obj, (_extends2 = {}, _extends2[item.path + "/" + item.id] = checked, _extends2));
|
|
6783
6882
|
}, {
|
|
6784
6883
|
all: checked
|
|
6785
6884
|
}));
|
|
@@ -6787,11 +6886,11 @@
|
|
|
6787
6886
|
|
|
6788
6887
|
function onSelectOneItem(item) {
|
|
6789
6888
|
setSelected(function (state) {
|
|
6790
|
-
var
|
|
6889
|
+
var _extends3;
|
|
6791
6890
|
|
|
6792
|
-
return _extends({}, state, (
|
|
6891
|
+
return _extends({}, state, (_extends3 = {
|
|
6793
6892
|
all: false
|
|
6794
|
-
},
|
|
6893
|
+
}, _extends3[item.path + "/" + item.id] = !state[item.path + "/" + item.id], _extends3));
|
|
6795
6894
|
});
|
|
6796
6895
|
}
|
|
6797
6896
|
|
|
@@ -6813,13 +6912,38 @@
|
|
|
6813
6912
|
children: children
|
|
6814
6913
|
});
|
|
6815
6914
|
}
|
|
6816
|
-
function AllItemsCheckbox(_ref2) {
|
|
6817
|
-
var dataTest = _ref2.dataTest;
|
|
6818
6915
|
|
|
6916
|
+
var useItemsActions = function useItemsActions() {
|
|
6819
6917
|
var _useContext = React.useContext(ItemsActionsCtx),
|
|
6918
|
+
onAction = _useContext.onAction,
|
|
6919
|
+
onSelectOneItem = _useContext.onSelectOneItem,
|
|
6820
6920
|
onSelectAllItems = _useContext.onSelectAllItems,
|
|
6821
6921
|
selected = _useContext.selected;
|
|
6822
6922
|
|
|
6923
|
+
if (!onAction || !onSelectOneItem || !onSelectAllItems || !selected) {
|
|
6924
|
+
throw new Error('useItemsActions must be used inside ItemsActionsProvider');
|
|
6925
|
+
}
|
|
6926
|
+
|
|
6927
|
+
return {
|
|
6928
|
+
onAction: onAction,
|
|
6929
|
+
onSelectOneItem: onSelectOneItem,
|
|
6930
|
+
onSelectAllItems: onSelectAllItems,
|
|
6931
|
+
selected: selected
|
|
6932
|
+
};
|
|
6933
|
+
};
|
|
6934
|
+
/**
|
|
6935
|
+
* Checkbox component without props that consume the ItemsActionsContext
|
|
6936
|
+
* and it select/unselect all items of the page.
|
|
6937
|
+
*/
|
|
6938
|
+
|
|
6939
|
+
|
|
6940
|
+
function AllItemsCheckbox(_ref2) {
|
|
6941
|
+
var dataTest = _ref2.dataTest;
|
|
6942
|
+
|
|
6943
|
+
var _useItemsActions = useItemsActions(),
|
|
6944
|
+
onSelectAllItems = _useItemsActions.onSelectAllItems,
|
|
6945
|
+
selected = _useItemsActions.selected;
|
|
6946
|
+
|
|
6823
6947
|
return jsxRuntime.jsx(Checkbox, {
|
|
6824
6948
|
onChange: onSelectAllItems,
|
|
6825
6949
|
checked: selected.all,
|
|
@@ -6830,9 +6954,9 @@
|
|
|
6830
6954
|
var item = _ref3.item,
|
|
6831
6955
|
dataTest = _ref3.dataTest;
|
|
6832
6956
|
|
|
6833
|
-
var
|
|
6834
|
-
selected =
|
|
6835
|
-
onSelectOneItem =
|
|
6957
|
+
var _useItemsActions2 = useItemsActions(),
|
|
6958
|
+
selected = _useItemsActions2.selected,
|
|
6959
|
+
onSelectOneItem = _useItemsActions2.onSelectOneItem;
|
|
6836
6960
|
|
|
6837
6961
|
var absId = item.path + "/" + item.id;
|
|
6838
6962
|
var value = selected[absId];
|
|
@@ -6844,14 +6968,18 @@
|
|
|
6844
6968
|
dataTest: dataTest
|
|
6845
6969
|
});
|
|
6846
6970
|
}
|
|
6971
|
+
/**
|
|
6972
|
+
* Dropdown to choose some action to apply to the selected items.
|
|
6973
|
+
*/
|
|
6974
|
+
|
|
6847
6975
|
function ItemsActionsDropdown() {
|
|
6848
6976
|
var intl = reactIntl.useIntl();
|
|
6849
6977
|
var ACTIONS_OBJECT = getActionsObject(intl, true);
|
|
6850
6978
|
var traversal = useTraversal();
|
|
6851
6979
|
|
|
6852
|
-
var
|
|
6853
|
-
selected =
|
|
6854
|
-
onAction =
|
|
6980
|
+
var _useItemsActions3 = useItemsActions(),
|
|
6981
|
+
selected = _useItemsActions3.selected,
|
|
6982
|
+
onAction = _useItemsActions3.onAction;
|
|
6855
6983
|
|
|
6856
6984
|
var disabled = Object.values(selected).every(function (v) {
|
|
6857
6985
|
return !v;
|
|
@@ -6935,6 +7063,7 @@
|
|
|
6935
7063
|
"aria-label": "pagination",
|
|
6936
7064
|
children: [jsxRuntime.jsx("a", {
|
|
6937
7065
|
className: "pagination-previous is-small",
|
|
7066
|
+
// disabled={current === 0}
|
|
6938
7067
|
onClick: function onClick() {
|
|
6939
7068
|
return current > 0 ? doPaginate(current - 1) : null;
|
|
6940
7069
|
},
|
|
@@ -6946,6 +7075,7 @@
|
|
|
6946
7075
|
})
|
|
6947
7076
|
}), jsxRuntime.jsx("a", {
|
|
6948
7077
|
className: "pagination-next is-small",
|
|
7078
|
+
// disabled={current >= maxPages - 1}
|
|
6949
7079
|
onClick: function onClick() {
|
|
6950
7080
|
return doPaginate(current + 1);
|
|
6951
7081
|
},
|
|
@@ -6960,6 +7090,170 @@
|
|
|
6960
7090
|
});
|
|
6961
7091
|
}
|
|
6962
7092
|
|
|
7093
|
+
var base = {
|
|
7094
|
+
local: {
|
|
7095
|
+
roleperm: {},
|
|
7096
|
+
prinperm: {},
|
|
7097
|
+
prinrole: {}
|
|
7098
|
+
},
|
|
7099
|
+
inherit: []
|
|
7100
|
+
};
|
|
7101
|
+
var Sharing = /*#__PURE__*/function () {
|
|
7102
|
+
function Sharing(element) {
|
|
7103
|
+
this.local = void 0;
|
|
7104
|
+
this.inherit = void 0;
|
|
7105
|
+
|
|
7106
|
+
if (element === undefined) {
|
|
7107
|
+
throw new Error('Sharing element is undefined');
|
|
7108
|
+
}
|
|
7109
|
+
|
|
7110
|
+
this.local = element.local || base.local;
|
|
7111
|
+
this.inherit = element.inherit || base.inherit;
|
|
7112
|
+
}
|
|
7113
|
+
|
|
7114
|
+
var _proto = Sharing.prototype;
|
|
7115
|
+
|
|
7116
|
+
_proto.getRole = function getRole(role) {
|
|
7117
|
+
return this.local.roleperm[role];
|
|
7118
|
+
};
|
|
7119
|
+
|
|
7120
|
+
_proto.getPrincipals = function getPrincipals(principal) {
|
|
7121
|
+
return this.local.prinperm[principal];
|
|
7122
|
+
};
|
|
7123
|
+
|
|
7124
|
+
_proto.getPrinroles = function getPrinroles(role) {
|
|
7125
|
+
return this.local.prinrole[role];
|
|
7126
|
+
};
|
|
7127
|
+
|
|
7128
|
+
_createClass(Sharing, [{
|
|
7129
|
+
key: "roles",
|
|
7130
|
+
get: function get() {
|
|
7131
|
+
return Object.keys(this.local.roleperm);
|
|
7132
|
+
}
|
|
7133
|
+
}, {
|
|
7134
|
+
key: "principals",
|
|
7135
|
+
get: function get() {
|
|
7136
|
+
return Object.keys(this.local.prinperm);
|
|
7137
|
+
}
|
|
7138
|
+
}, {
|
|
7139
|
+
key: "prinrole",
|
|
7140
|
+
get: function get() {
|
|
7141
|
+
return Object.keys(this.local.prinrole);
|
|
7142
|
+
}
|
|
7143
|
+
}]);
|
|
7144
|
+
|
|
7145
|
+
return Sharing;
|
|
7146
|
+
}();
|
|
7147
|
+
|
|
7148
|
+
var ItemModel = /*#__PURE__*/function () {
|
|
7149
|
+
function ItemModel(item, url) {
|
|
7150
|
+
if (url === void 0) {
|
|
7151
|
+
url = '';
|
|
7152
|
+
}
|
|
7153
|
+
|
|
7154
|
+
this.item = void 0;
|
|
7155
|
+
this.url = void 0;
|
|
7156
|
+
this.item = item;
|
|
7157
|
+
this.url = url;
|
|
7158
|
+
}
|
|
7159
|
+
|
|
7160
|
+
_createClass(ItemModel, [{
|
|
7161
|
+
key: "path",
|
|
7162
|
+
get: function get() {
|
|
7163
|
+
// Compat
|
|
7164
|
+
var item = this.item['@id'] ? this.item['@id'] : this.item['@absolute_url'];
|
|
7165
|
+
var path = item.split('//')[1].split('/').splice(1).join('/');
|
|
7166
|
+
path = "/" + path + "/";
|
|
7167
|
+
|
|
7168
|
+
if (this.url.length > 0) {
|
|
7169
|
+
if (this.url.startsWith('/')) {
|
|
7170
|
+
path = path.replace(this.url.substring(1), '');
|
|
7171
|
+
} else {
|
|
7172
|
+
path = path.replace(this.url, '');
|
|
7173
|
+
}
|
|
7174
|
+
}
|
|
7175
|
+
|
|
7176
|
+
return path;
|
|
7177
|
+
}
|
|
7178
|
+
}, {
|
|
7179
|
+
key: "name",
|
|
7180
|
+
get: function get() {
|
|
7181
|
+
return this.item.title || this.item['@name'];
|
|
7182
|
+
}
|
|
7183
|
+
}, {
|
|
7184
|
+
key: "icon",
|
|
7185
|
+
get: function get() {
|
|
7186
|
+
var cfg = useConfig();
|
|
7187
|
+
|
|
7188
|
+
if (cfg.icons && cfg.icons[this.type]) {
|
|
7189
|
+
return cfg.icons[this.type];
|
|
7190
|
+
}
|
|
7191
|
+
|
|
7192
|
+
switch (this.type) {
|
|
7193
|
+
case 'GroupManager':
|
|
7194
|
+
return 'fas fa-users-cog';
|
|
7195
|
+
|
|
7196
|
+
case 'UserManager':
|
|
7197
|
+
return 'fas fa-user-cog';
|
|
7198
|
+
|
|
7199
|
+
case 'User':
|
|
7200
|
+
return 'fas fa-user';
|
|
7201
|
+
|
|
7202
|
+
case 'Group':
|
|
7203
|
+
return 'fas fa-users';
|
|
7204
|
+
|
|
7205
|
+
case 'Folder':
|
|
7206
|
+
return 'fas fa-folder';
|
|
7207
|
+
|
|
7208
|
+
default:
|
|
7209
|
+
return 'fas fa-file';
|
|
7210
|
+
}
|
|
7211
|
+
}
|
|
7212
|
+
}, {
|
|
7213
|
+
key: "fullPath",
|
|
7214
|
+
get: function get() {
|
|
7215
|
+
return this.url + this.id;
|
|
7216
|
+
}
|
|
7217
|
+
}, {
|
|
7218
|
+
key: "id",
|
|
7219
|
+
get: function get() {
|
|
7220
|
+
if ('id' in this.item) {
|
|
7221
|
+
return this.item.id;
|
|
7222
|
+
}
|
|
7223
|
+
|
|
7224
|
+
var id = this.item['@id'].split('&')[0].split('/');
|
|
7225
|
+
return id[id.length - 1];
|
|
7226
|
+
}
|
|
7227
|
+
}, {
|
|
7228
|
+
key: "uid",
|
|
7229
|
+
get: function get() {
|
|
7230
|
+
return this.item['@uid'];
|
|
7231
|
+
}
|
|
7232
|
+
}, {
|
|
7233
|
+
key: "type",
|
|
7234
|
+
get: function get() {
|
|
7235
|
+
return this.item['@type'] || this.item.type_name;
|
|
7236
|
+
}
|
|
7237
|
+
}, {
|
|
7238
|
+
key: "title",
|
|
7239
|
+
get: function get() {
|
|
7240
|
+
return this.item.title;
|
|
7241
|
+
}
|
|
7242
|
+
}, {
|
|
7243
|
+
key: "created",
|
|
7244
|
+
get: function get() {
|
|
7245
|
+
return this.item.creation_date ? formatDate(this.item.creation_date) : '';
|
|
7246
|
+
}
|
|
7247
|
+
}, {
|
|
7248
|
+
key: "updated",
|
|
7249
|
+
get: function get() {
|
|
7250
|
+
return this.item.modification_date ? formatDate(this.item.modification_date) : '';
|
|
7251
|
+
}
|
|
7252
|
+
}]);
|
|
7253
|
+
|
|
7254
|
+
return ItemModel;
|
|
7255
|
+
}();
|
|
7256
|
+
|
|
6963
7257
|
function Item(_ref) {
|
|
6964
7258
|
var item = _ref.item,
|
|
6965
7259
|
icon = _ref.icon;
|
|
@@ -7100,11 +7394,11 @@
|
|
|
7100
7394
|
renderValue = _useState[0],
|
|
7101
7395
|
setRenderValue = _useState[1];
|
|
7102
7396
|
|
|
7103
|
-
var defaultRenderValue = location.get(query);
|
|
7397
|
+
var defaultRenderValue = location.get(query) || '';
|
|
7104
7398
|
React.useEffect(function () {
|
|
7105
7399
|
var value = defaultRenderValue;
|
|
7106
7400
|
|
|
7107
|
-
if ((options != null ? options : []).length > 0) {
|
|
7401
|
+
if (options && (options != null ? options : []).length > 0) {
|
|
7108
7402
|
var option = options.find(function (item) {
|
|
7109
7403
|
return item.value === value;
|
|
7110
7404
|
});
|
|
@@ -7153,14 +7447,16 @@
|
|
|
7153
7447
|
setRenderValue = _useState[1];
|
|
7154
7448
|
|
|
7155
7449
|
var vocabulary = useVocabulary(vocabularyName);
|
|
7156
|
-
var defaultRenderValue = location.get(query);
|
|
7450
|
+
var defaultRenderValue = location.get(query) || '';
|
|
7157
7451
|
React.useEffect(function () {
|
|
7158
7452
|
var _vocabulary$data$item, _vocabulary$data;
|
|
7159
7453
|
|
|
7160
7454
|
var value = defaultRenderValue;
|
|
7161
7455
|
|
|
7162
7456
|
if (((_vocabulary$data$item = vocabulary == null ? void 0 : (_vocabulary$data = vocabulary.data) == null ? void 0 : _vocabulary$data.items) != null ? _vocabulary$data$item : []).length > 0) {
|
|
7163
|
-
var
|
|
7457
|
+
var _vocabulary$data2;
|
|
7458
|
+
|
|
7459
|
+
var vocabularyValue = vocabulary == null ? void 0 : (_vocabulary$data2 = vocabulary.data) == null ? void 0 : _vocabulary$data2.items.find(function (item) {
|
|
7164
7460
|
return item.token === value;
|
|
7165
7461
|
});
|
|
7166
7462
|
|
|
@@ -7194,7 +7490,7 @@
|
|
|
7194
7490
|
return null;
|
|
7195
7491
|
}
|
|
7196
7492
|
|
|
7197
|
-
var initialState$
|
|
7493
|
+
var initialState$3 = {
|
|
7198
7494
|
page: 0,
|
|
7199
7495
|
items: [],
|
|
7200
7496
|
loading: true,
|
|
@@ -7213,7 +7509,7 @@
|
|
|
7213
7509
|
var intl = reactIntl.useIntl();
|
|
7214
7510
|
var Ctx = useTraversal();
|
|
7215
7511
|
|
|
7216
|
-
var _useSetState = useSetState(initialState$
|
|
7512
|
+
var _useSetState = useSetState(initialState$3),
|
|
7217
7513
|
state = _useSetState[0],
|
|
7218
7514
|
setState = _useSetState[1];
|
|
7219
7515
|
|
|
@@ -7229,7 +7525,7 @@
|
|
|
7229
7525
|
var page;
|
|
7230
7526
|
|
|
7231
7527
|
try {
|
|
7232
|
-
page = parseInt(location.get('page')
|
|
7528
|
+
page = parseInt(location.get('page') || '0');
|
|
7233
7529
|
} catch (_unused) {
|
|
7234
7530
|
page = 0;
|
|
7235
7531
|
}
|
|
@@ -7276,7 +7572,7 @@
|
|
|
7276
7572
|
var resultQueryParams = [];
|
|
7277
7573
|
var resultDynamicLocation = [];
|
|
7278
7574
|
filterSchema.forEach(function (filter) {
|
|
7279
|
-
var itemParam = location.get(filter.attribute_key);
|
|
7575
|
+
var itemParam = location.get(filter.attribute_key) || '';
|
|
7280
7576
|
resultDynamicLocation.push(itemParam);
|
|
7281
7577
|
|
|
7282
7578
|
if (itemParam) {
|
|
@@ -7288,53 +7584,51 @@
|
|
|
7288
7584
|
var controller = new AbortController();
|
|
7289
7585
|
if (Ctx.state.loading) return;
|
|
7290
7586
|
|
|
7291
|
-
|
|
7292
|
-
|
|
7293
|
-
|
|
7294
|
-
|
|
7295
|
-
|
|
7296
|
-
var get = Ctx.registry.get;
|
|
7297
|
-
var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
|
|
7298
|
-
|
|
7299
|
-
if (sortParsed === undefined) {
|
|
7300
|
-
var defaultSortValue = Ctx.registry.getDefaultSortValue(Ctx.context['@type'], {
|
|
7301
|
-
key: 'id',
|
|
7302
|
-
direction: 'des'
|
|
7587
|
+
var getData = function getData() {
|
|
7588
|
+
try {
|
|
7589
|
+
setState({
|
|
7590
|
+
loading: true,
|
|
7591
|
+
total: Ctx.context.length
|
|
7303
7592
|
});
|
|
7304
|
-
|
|
7305
|
-
|
|
7593
|
+
var get = Ctx.registry.get;
|
|
7594
|
+
var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
|
|
7306
7595
|
|
|
7307
|
-
|
|
7308
|
-
|
|
7309
|
-
|
|
7310
|
-
|
|
7311
|
-
});
|
|
7312
|
-
var qs = '';
|
|
7596
|
+
if (sortParsed === undefined) {
|
|
7597
|
+
var defaultSortValue = Ctx.registry.getDefaultSortValue(Ctx.context['@type']);
|
|
7598
|
+
sortParsed = parser("_sort_" + defaultSortValue.direction + "=" + defaultSortValue.key);
|
|
7599
|
+
}
|
|
7313
7600
|
|
|
7314
|
-
|
|
7315
|
-
|
|
7601
|
+
var qsParsed = Ctx.client.getQueryParamsSearchFunction(fnName)({
|
|
7602
|
+
path: Ctx.path,
|
|
7603
|
+
start: page * PageSize,
|
|
7604
|
+
pageSize: PageSize
|
|
7605
|
+
});
|
|
7606
|
+
var qs = '';
|
|
7316
7607
|
|
|
7317
|
-
|
|
7318
|
-
|
|
7319
|
-
var _sortParsed2;
|
|
7608
|
+
if (search || type || resultQueryParams.length > 0) {
|
|
7609
|
+
var _searchParsed, _typeParsed, _sortParsed;
|
|
7320
7610
|
|
|
7321
|
-
|
|
7322
|
-
|
|
7611
|
+
qs = buildQs([].concat(qsParsed, (_searchParsed = searchParsed) != null ? _searchParsed : [], (_typeParsed = typeParsed) != null ? _typeParsed : [], (_sortParsed = sortParsed) != null ? _sortParsed : [], resultQueryParams));
|
|
7612
|
+
} else {
|
|
7613
|
+
var _sortParsed2;
|
|
7323
7614
|
|
|
7324
|
-
|
|
7325
|
-
|
|
7326
|
-
|
|
7327
|
-
|
|
7328
|
-
|
|
7329
|
-
|
|
7330
|
-
|
|
7331
|
-
|
|
7615
|
+
qs = buildQs([].concat(qsParsed, (_sortParsed2 = sortParsed) != null ? _sortParsed2 : []));
|
|
7616
|
+
}
|
|
7617
|
+
|
|
7618
|
+
var signal = controller.signal;
|
|
7619
|
+
return Promise.resolve(Ctx.client.search(Ctx.path, qs, false, false, signal)).then(function (data) {
|
|
7620
|
+
setState({
|
|
7621
|
+
items: data.items,
|
|
7622
|
+
loading: false,
|
|
7623
|
+
total: data.items_count
|
|
7624
|
+
});
|
|
7332
7625
|
});
|
|
7333
|
-
})
|
|
7334
|
-
|
|
7335
|
-
|
|
7336
|
-
}
|
|
7626
|
+
} catch (e) {
|
|
7627
|
+
return Promise.reject(e);
|
|
7628
|
+
}
|
|
7629
|
+
};
|
|
7337
7630
|
|
|
7631
|
+
getData();
|
|
7338
7632
|
return function () {
|
|
7339
7633
|
controller.abort();
|
|
7340
7634
|
};
|
|
@@ -7379,12 +7673,14 @@
|
|
|
7379
7673
|
var _filter$values;
|
|
7380
7674
|
|
|
7381
7675
|
if (filter.type === 'select' && ((_filter$values = filter.values) != null ? _filter$values : []).length > 0) {
|
|
7676
|
+
var _filter$values2;
|
|
7677
|
+
|
|
7382
7678
|
return jsxRuntime.jsx(Select, {
|
|
7383
7679
|
id: filter.attribute_key,
|
|
7384
7680
|
placeholder: filter.label,
|
|
7385
7681
|
appendDefault: true,
|
|
7386
7682
|
classWrap: "is-size-7 is-fullwidth",
|
|
7387
|
-
options: filter.values,
|
|
7683
|
+
options: (_filter$values2 = filter.values) != null ? _filter$values2 : [],
|
|
7388
7684
|
value: location.get(filter.attribute_key) || '',
|
|
7389
7685
|
dataTest: "filterInput" + filter.attribute_key,
|
|
7390
7686
|
onChange: function onChange(value) {
|
|
@@ -7451,7 +7747,7 @@
|
|
|
7451
7747
|
var filterData = location.get(filter.attribute_key);
|
|
7452
7748
|
|
|
7453
7749
|
if (filterData) {
|
|
7454
|
-
var _filter$
|
|
7750
|
+
var _filter$values3;
|
|
7455
7751
|
|
|
7456
7752
|
if (filter.type === 'select' && filter.vocabulary) {
|
|
7457
7753
|
return jsxRuntime.jsx("div", {
|
|
@@ -7460,7 +7756,7 @@
|
|
|
7460
7756
|
vocabularyName: filter == null ? void 0 : filter.vocabulary
|
|
7461
7757
|
})
|
|
7462
7758
|
}, filter.attribute_key);
|
|
7463
|
-
} else if (filter.type === 'select' && ((_filter$
|
|
7759
|
+
} else if (filter.type === 'select' && ((_filter$values3 = filter.values) != null ? _filter$values3 : []).length > 0) {
|
|
7464
7760
|
return jsxRuntime.jsx("div", {
|
|
7465
7761
|
children: jsxRuntime.jsx(SearchOptionsLabels, {
|
|
7466
7762
|
query: filter.attribute_key,
|
|
@@ -7506,7 +7802,7 @@
|
|
|
7506
7802
|
className: "has-text-info is-flex is-align-items-center",
|
|
7507
7803
|
children: [jsxRuntime.jsx("span", {
|
|
7508
7804
|
children: column.label
|
|
7509
|
-
}), getIcon(column.key, column.isSortable)]
|
|
7805
|
+
}), getIcon(column.key, !!column.isSortable)]
|
|
7510
7806
|
})
|
|
7511
7807
|
}, "table-col-" + column.label);
|
|
7512
7808
|
}), jsxRuntime.jsx("th", {
|
|
@@ -7517,7 +7813,7 @@
|
|
|
7517
7813
|
children: [items && items.map(function (item) {
|
|
7518
7814
|
return jsxRuntime.jsx(RItem, {
|
|
7519
7815
|
item: item,
|
|
7520
|
-
search: search,
|
|
7816
|
+
search: search != null ? search : '',
|
|
7521
7817
|
columns: columns
|
|
7522
7818
|
}, item['@uid']);
|
|
7523
7819
|
}), items && items.length === 0 && jsxRuntime.jsx("tr", {
|
|
@@ -7541,17 +7837,19 @@
|
|
|
7541
7837
|
}
|
|
7542
7838
|
|
|
7543
7839
|
function BehaviorsView(_ref) {
|
|
7840
|
+
var _context$__behaviors_;
|
|
7841
|
+
|
|
7544
7842
|
var context = _ref.context,
|
|
7545
7843
|
schema = _ref.schema;
|
|
7546
7844
|
var Ctx = useTraversal();
|
|
7547
7845
|
var getBehavior = Ctx.registry.getBehavior;
|
|
7548
|
-
var behaviors = [].concat(context.__behaviors__, context['@static_behaviors']);
|
|
7846
|
+
var behaviors = [].concat((_context$__behaviors_ = context.__behaviors__) != null ? _context$__behaviors_ : [], Object(context['@static_behaviors']));
|
|
7549
7847
|
|
|
7550
|
-
var GetBehavior = function GetBehavior(
|
|
7551
|
-
var Cls = getBehavior(
|
|
7848
|
+
var GetBehavior = function GetBehavior(behaviorName) {
|
|
7849
|
+
var Cls = getBehavior(behaviorName, BehaviorNotImplemented);
|
|
7552
7850
|
return jsxRuntime.jsx(Cls, {
|
|
7553
|
-
values: context[
|
|
7554
|
-
properties: get
|
|
7851
|
+
values: context[behaviorName],
|
|
7852
|
+
properties: get(schema, ['definitions', behaviorName, 'properties'], {})
|
|
7555
7853
|
});
|
|
7556
7854
|
};
|
|
7557
7855
|
|
|
@@ -7647,9 +7945,11 @@
|
|
|
7647
7945
|
var properties = Object.keys((schema == null ? void 0 : (_schema$data = schema.data) == null ? void 0 : _schema$data.properties) || []).filter(function (key) {
|
|
7648
7946
|
return !ignoreFields.includes(key);
|
|
7649
7947
|
}).map(function (key) {
|
|
7948
|
+
var _schema$data2;
|
|
7949
|
+
|
|
7650
7950
|
return {
|
|
7651
7951
|
key: key,
|
|
7652
|
-
value: schema.data.properties[key]
|
|
7952
|
+
value: schema == null ? void 0 : (_schema$data2 = schema.data) == null ? void 0 : _schema$data2.properties[key]
|
|
7653
7953
|
};
|
|
7654
7954
|
});
|
|
7655
7955
|
React.useEffect(function () {
|
|
@@ -7661,7 +7961,7 @@
|
|
|
7661
7961
|
setSchema({
|
|
7662
7962
|
loading: true
|
|
7663
7963
|
});
|
|
7664
|
-
return Promise.resolve(Ctx.client.getTypeSchema(Ctx.path,
|
|
7964
|
+
return Promise.resolve(Ctx.client.getTypeSchema(Ctx.path, Ctx.context.type_name)).then(function (dataJson) {
|
|
7665
7965
|
setSchema({
|
|
7666
7966
|
loading: false,
|
|
7667
7967
|
data: dataJson
|
|
@@ -7736,7 +8036,7 @@
|
|
|
7736
8036
|
}), jsxRuntime.jsx("td", {
|
|
7737
8037
|
children: jsxRuntime.jsx(EditableField, {
|
|
7738
8038
|
field: prop,
|
|
7739
|
-
value: Ctx.context
|
|
8039
|
+
value: get(Ctx.context, prop, ''),
|
|
7740
8040
|
modifyContent: false
|
|
7741
8041
|
})
|
|
7742
8042
|
})]
|
|
@@ -7760,7 +8060,7 @@
|
|
|
7760
8060
|
})
|
|
7761
8061
|
}), jsxRuntime.jsx("tbody", {
|
|
7762
8062
|
children: properties.map(function (_ref) {
|
|
7763
|
-
var _schema$data$required, _schema$
|
|
8063
|
+
var _schema$data$required, _schema$data3;
|
|
7764
8064
|
|
|
7765
8065
|
var key = _ref.key,
|
|
7766
8066
|
value = _ref.value;
|
|
@@ -7773,10 +8073,10 @@
|
|
|
7773
8073
|
}), jsxRuntime.jsx("td", {
|
|
7774
8074
|
children: jsxRuntime.jsx(EditableField, {
|
|
7775
8075
|
field: key,
|
|
7776
|
-
value: Ctx.context
|
|
8076
|
+
value: get(Ctx.context, key, ''),
|
|
7777
8077
|
schema: value,
|
|
7778
8078
|
modifyContent: modifyContent,
|
|
7779
|
-
required: ((_schema$data$required = (_schema$
|
|
8079
|
+
required: ((_schema$data$required = (_schema$data3 = schema.data) == null ? void 0 : _schema$data3.required) != null ? _schema$data$required : []).includes(key)
|
|
7780
8080
|
})
|
|
7781
8081
|
})]
|
|
7782
8082
|
}, 'prop' + key);
|
|
@@ -7812,14 +8112,6 @@
|
|
|
7812
8112
|
state = _useSetState[0],
|
|
7813
8113
|
setState = _useSetState[1];
|
|
7814
8114
|
|
|
7815
|
-
var getMultiples = function getMultiples(field, setter) {
|
|
7816
|
-
return function (values) {
|
|
7817
|
-
var _setter;
|
|
7818
|
-
|
|
7819
|
-
setter((_setter = {}, _setter[field] = values, _setter));
|
|
7820
|
-
};
|
|
7821
|
-
};
|
|
7822
|
-
|
|
7823
8115
|
var savePermission = function savePermission() {
|
|
7824
8116
|
try {
|
|
7825
8117
|
if (!state.principal || !state.setting || state.permission.length === 0) {
|
|
@@ -7869,7 +8161,7 @@
|
|
|
7869
8161
|
children: intl.formatMessage(genericMessages.select_principal)
|
|
7870
8162
|
}), jsxRuntime.jsx(Select, {
|
|
7871
8163
|
appendDefault: true,
|
|
7872
|
-
options: principals,
|
|
8164
|
+
options: principals != null ? principals : [],
|
|
7873
8165
|
onChange: function onChange(value) {
|
|
7874
8166
|
return setState({
|
|
7875
8167
|
principal: value
|
|
@@ -7883,8 +8175,12 @@
|
|
|
7883
8175
|
className: "label",
|
|
7884
8176
|
children: intl.formatMessage(genericMessages.select_permissions)
|
|
7885
8177
|
}), jsxRuntime.jsx(Select, {
|
|
7886
|
-
options: permissions,
|
|
7887
|
-
onChange:
|
|
8178
|
+
options: permissions != null ? permissions : [],
|
|
8179
|
+
onChange: function onChange(values) {
|
|
8180
|
+
setState({
|
|
8181
|
+
permission: values
|
|
8182
|
+
});
|
|
8183
|
+
},
|
|
7888
8184
|
size: 5,
|
|
7889
8185
|
multiple: true,
|
|
7890
8186
|
dataTest: "selectPermissionsTest"
|
|
@@ -7935,14 +8231,6 @@
|
|
|
7935
8231
|
state = _useSetState[0],
|
|
7936
8232
|
setState = _useSetState[1];
|
|
7937
8233
|
|
|
7938
|
-
var getMultiples = function getMultiples(field, setter) {
|
|
7939
|
-
return function (values) {
|
|
7940
|
-
var _setter;
|
|
7941
|
-
|
|
7942
|
-
setter((_setter = {}, _setter[field] = values, _setter));
|
|
7943
|
-
};
|
|
7944
|
-
};
|
|
7945
|
-
|
|
7946
8234
|
var savePermission = function savePermission() {
|
|
7947
8235
|
try {
|
|
7948
8236
|
if (!state.principal || !state.setting || state.roles.length === 0) {
|
|
@@ -7992,7 +8280,7 @@
|
|
|
7992
8280
|
children: intl.formatMessage(genericMessages.select_principal)
|
|
7993
8281
|
}), jsxRuntime.jsx(Select, {
|
|
7994
8282
|
appendDefault: true,
|
|
7995
|
-
options: principals,
|
|
8283
|
+
options: principals != null ? principals : [],
|
|
7996
8284
|
onChange: function onChange(value) {
|
|
7997
8285
|
return setState({
|
|
7998
8286
|
principal: value
|
|
@@ -8007,7 +8295,11 @@
|
|
|
8007
8295
|
children: intl.formatMessage(genericMessages.select_role)
|
|
8008
8296
|
}), jsxRuntime.jsx(Select, {
|
|
8009
8297
|
options: roles,
|
|
8010
|
-
onChange:
|
|
8298
|
+
onChange: function onChange(values) {
|
|
8299
|
+
setState({
|
|
8300
|
+
roles: values
|
|
8301
|
+
});
|
|
8302
|
+
},
|
|
8011
8303
|
size: 5,
|
|
8012
8304
|
multiple: true,
|
|
8013
8305
|
dataTest: "selectRoleTest"
|
|
@@ -8058,14 +8350,6 @@
|
|
|
8058
8350
|
state = _useSetState[0],
|
|
8059
8351
|
setState = _useSetState[1];
|
|
8060
8352
|
|
|
8061
|
-
var getMultiples = function getMultiples(field, setter) {
|
|
8062
|
-
return function (values) {
|
|
8063
|
-
var _setter;
|
|
8064
|
-
|
|
8065
|
-
setter((_setter = {}, _setter[field] = values, _setter));
|
|
8066
|
-
};
|
|
8067
|
-
};
|
|
8068
|
-
|
|
8069
8353
|
var savePermission = function savePermission() {
|
|
8070
8354
|
try {
|
|
8071
8355
|
if (!state.role || !state.setting || state.permission.length === 0) {
|
|
@@ -8129,8 +8413,12 @@
|
|
|
8129
8413
|
className: "label",
|
|
8130
8414
|
children: intl.formatMessage(genericMessages.select_permissions)
|
|
8131
8415
|
}), jsxRuntime.jsx(Select, {
|
|
8132
|
-
options: permissions,
|
|
8133
|
-
onChange:
|
|
8416
|
+
options: permissions != null ? permissions : [],
|
|
8417
|
+
onChange: function onChange(values) {
|
|
8418
|
+
setState({
|
|
8419
|
+
permission: values
|
|
8420
|
+
});
|
|
8421
|
+
},
|
|
8134
8422
|
dataTest: "selectPermissionsTest",
|
|
8135
8423
|
size: 5,
|
|
8136
8424
|
multiple: true
|
|
@@ -8263,7 +8551,18 @@
|
|
|
8263
8551
|
React.useEffect(function () {
|
|
8264
8552
|
get('@sharing');
|
|
8265
8553
|
}, [reset]);
|
|
8266
|
-
var perms =
|
|
8554
|
+
var perms = React.useMemo(function () {
|
|
8555
|
+
if (result) {
|
|
8556
|
+
return new Sharing(result);
|
|
8557
|
+
}
|
|
8558
|
+
|
|
8559
|
+
return null;
|
|
8560
|
+
}, [result]);
|
|
8561
|
+
|
|
8562
|
+
if (perms === null) {
|
|
8563
|
+
return null;
|
|
8564
|
+
}
|
|
8565
|
+
|
|
8267
8566
|
return jsxRuntime.jsxs("div", {
|
|
8268
8567
|
className: "columns",
|
|
8269
8568
|
children: [!loading && jsxRuntime.jsxs("div", {
|
|
@@ -8421,14 +8720,14 @@
|
|
|
8421
8720
|
return Promise.resolve(Ctx.client.getPrincipals(Ctx.path)).then(function (principalsData) {
|
|
8422
8721
|
var groups = principalsData.groups.map(function (group) {
|
|
8423
8722
|
return {
|
|
8424
|
-
text: group
|
|
8425
|
-
value: group
|
|
8723
|
+
text: group['@name'],
|
|
8724
|
+
value: group['@name']
|
|
8426
8725
|
};
|
|
8427
8726
|
});
|
|
8428
8727
|
var users = principalsData.users.map(function (user) {
|
|
8429
8728
|
return {
|
|
8430
|
-
text: user.fullname || user
|
|
8431
|
-
value: user
|
|
8729
|
+
text: user.fullname || user['@name'],
|
|
8730
|
+
value: user['@name']
|
|
8432
8731
|
};
|
|
8433
8732
|
});
|
|
8434
8733
|
principals = [].concat(groups, users);
|
|
@@ -8499,18 +8798,6 @@
|
|
|
8499
8798
|
text: "Add " + title
|
|
8500
8799
|
};
|
|
8501
8800
|
if (items.length === 0) return [];
|
|
8502
|
-
|
|
8503
|
-
if (items[0] && typeof items[0] === 'string') {
|
|
8504
|
-
return [def].concat(items.map(function (x) {
|
|
8505
|
-
return {
|
|
8506
|
-
value: x,
|
|
8507
|
-
text: x
|
|
8508
|
-
};
|
|
8509
|
-
})).filter(function (item) {
|
|
8510
|
-
return !already.includes(item.value);
|
|
8511
|
-
});
|
|
8512
|
-
}
|
|
8513
|
-
|
|
8514
8801
|
return [def].concat(items).filter(function (item) {
|
|
8515
8802
|
return !already.includes(item.value);
|
|
8516
8803
|
});
|
|
@@ -8523,7 +8810,7 @@
|
|
|
8523
8810
|
noData = _ref.noData,
|
|
8524
8811
|
onChange = _ref.onChange,
|
|
8525
8812
|
loading = _ref.loading;
|
|
8526
|
-
var selectRef = React.useRef();
|
|
8813
|
+
var selectRef = React.useRef(null);
|
|
8527
8814
|
|
|
8528
8815
|
var _useState = React.useState(items),
|
|
8529
8816
|
result = _useState[0],
|
|
@@ -8571,7 +8858,7 @@
|
|
|
8571
8858
|
marginBottom: '20px'
|
|
8572
8859
|
},
|
|
8573
8860
|
children: noData
|
|
8574
|
-
}), available.length > 1 && jsxRuntime.jsx("li", {
|
|
8861
|
+
}), (available != null ? available : []).length > 1 && jsxRuntime.jsx("li", {
|
|
8575
8862
|
className: "widget-list-add select is-small",
|
|
8576
8863
|
children: jsxRuntime.jsx(Select, {
|
|
8577
8864
|
options: availableData,
|
|
@@ -8589,13 +8876,13 @@
|
|
|
8589
8876
|
});
|
|
8590
8877
|
}
|
|
8591
8878
|
|
|
8592
|
-
var initialState$
|
|
8593
|
-
types:
|
|
8879
|
+
var initialState$4 = {
|
|
8880
|
+
types: []
|
|
8594
8881
|
};
|
|
8595
8882
|
function CreateButton() {
|
|
8596
8883
|
var intl = reactIntl.useIntl();
|
|
8597
8884
|
|
|
8598
|
-
var _useSetState = useSetState(initialState$
|
|
8885
|
+
var _useSetState = useSetState(initialState$4),
|
|
8599
8886
|
state = _useSetState[0],
|
|
8600
8887
|
setState = _useSetState[1];
|
|
8601
8888
|
|
|
@@ -8643,7 +8930,8 @@
|
|
|
8643
8930
|
|
|
8644
8931
|
if (state.types && state.types.length === 0) {
|
|
8645
8932
|
return null;
|
|
8646
|
-
}
|
|
8933
|
+
} // Implement some kind of filtering
|
|
8934
|
+
|
|
8647
8935
|
|
|
8648
8936
|
return jsxRuntime.jsx(Dropdown, {
|
|
8649
8937
|
id: "dropdown-menu",
|
|
@@ -8682,7 +8970,7 @@
|
|
|
8682
8970
|
var AddButton = _ref.AddButton;
|
|
8683
8971
|
var intl = reactIntl.useIntl();
|
|
8684
8972
|
|
|
8685
|
-
var _useSetState2 = useSetState(initialState$
|
|
8973
|
+
var _useSetState2 = useSetState(initialState$4),
|
|
8686
8974
|
state = _useSetState2[0],
|
|
8687
8975
|
setState = _useSetState2[1];
|
|
8688
8976
|
|
|
@@ -8693,7 +8981,7 @@
|
|
|
8693
8981
|
|
|
8694
8982
|
var traversal = useTraversal();
|
|
8695
8983
|
var Config = useConfig();
|
|
8696
|
-
var searchText = location.get('q');
|
|
8984
|
+
var searchText = location.get('q') || '';
|
|
8697
8985
|
|
|
8698
8986
|
var _useState = React.useState(searchText || ''),
|
|
8699
8987
|
searchValue = _useState[0],
|
|
@@ -8706,14 +8994,13 @@
|
|
|
8706
8994
|
setSearchValue(searchText);
|
|
8707
8995
|
}, [searchText]);
|
|
8708
8996
|
|
|
8709
|
-
var onSearchQuery = function onSearchQuery(
|
|
8710
|
-
|
|
8997
|
+
var onSearchQuery = function onSearchQuery(event) {
|
|
8998
|
+
event.preventDefault();
|
|
8711
8999
|
setLocation({
|
|
8712
|
-
q:
|
|
9000
|
+
q: event.currentTarget.elements.filterInput.value,
|
|
8713
9001
|
tab: 'Items',
|
|
8714
9002
|
page: 0
|
|
8715
9003
|
});
|
|
8716
|
-
ev.preventDefault();
|
|
8717
9004
|
};
|
|
8718
9005
|
|
|
8719
9006
|
var onSearchByType = function onSearchByType(typeText) {
|
|
@@ -8747,7 +9034,8 @@
|
|
|
8747
9034
|
type: "text",
|
|
8748
9035
|
className: "input is-size-7",
|
|
8749
9036
|
placeholder: intl.formatMessage(genericMessages.search),
|
|
8750
|
-
"data-test": "inputFilterTest"
|
|
9037
|
+
"data-test": "inputFilterTest",
|
|
9038
|
+
id: "filterInput"
|
|
8751
9039
|
})
|
|
8752
9040
|
}), jsxRuntime.jsx("div", {
|
|
8753
9041
|
className: "control",
|
|
@@ -8774,7 +9062,9 @@
|
|
|
8774
9062
|
value: item
|
|
8775
9063
|
};
|
|
8776
9064
|
}),
|
|
8777
|
-
onChange:
|
|
9065
|
+
onChange: function onChange(value) {
|
|
9066
|
+
return onSearchByType(value);
|
|
9067
|
+
}
|
|
8778
9068
|
})
|
|
8779
9069
|
}), traversal.hasPerm('guillotina.AddContent') && jsxRuntime.jsx("div", {
|
|
8780
9070
|
className: "level-item",
|
|
@@ -8815,11 +9105,11 @@
|
|
|
8815
9105
|
location = _useLocation[0],
|
|
8816
9106
|
setLocation = _useLocation[1];
|
|
8817
9107
|
|
|
8818
|
-
|
|
8819
|
-
|
|
8820
|
-
|
|
8821
|
-
currentTab =
|
|
8822
|
-
}
|
|
9108
|
+
currentTab = location.get('tab') || Object.keys(tabs)[0];
|
|
9109
|
+
/*if (!Object.keys(tabs).includes(currentTab)) {
|
|
9110
|
+
setLocation(defaultTab)
|
|
9111
|
+
currentTab = defaultTab
|
|
9112
|
+
}*/
|
|
8823
9113
|
|
|
8824
9114
|
var _useState = React.useState(currentTab),
|
|
8825
9115
|
current = _useState[0],
|
|
@@ -8828,7 +9118,7 @@
|
|
|
8828
9118
|
var CurrentComp = tabs[current] || fallback;
|
|
8829
9119
|
React__default['default'].useEffect(function () {
|
|
8830
9120
|
if (Object.keys(tabs).includes(currentTab)) {
|
|
8831
|
-
setTab(currentTab);
|
|
9121
|
+
setTab(currentTab); // setLocation({tab: currentTab})
|
|
8832
9122
|
}
|
|
8833
9123
|
}, [currentTab, tabs]);
|
|
8834
9124
|
|
|
@@ -8887,14 +9177,14 @@
|
|
|
8887
9177
|
Behaviors: 'guillotina.ModifyContent',
|
|
8888
9178
|
Permissions: 'guillotina.SeePermissions'
|
|
8889
9179
|
};
|
|
8890
|
-
function FolderCtx(
|
|
9180
|
+
function FolderCtx() {
|
|
8891
9181
|
var ctx = useTraversal();
|
|
8892
9182
|
var calculated = ctx.filterTabs(tabs, tabsPermissions);
|
|
8893
|
-
return jsxRuntime.jsx(TabsPanel,
|
|
9183
|
+
return jsxRuntime.jsx(TabsPanel, {
|
|
8894
9184
|
tabs: calculated,
|
|
8895
9185
|
currentTab: "Items",
|
|
8896
|
-
rightToolbar: jsxRuntime.jsx(ContextToolbar,
|
|
8897
|
-
}
|
|
9186
|
+
rightToolbar: jsxRuntime.jsx(ContextToolbar, {})
|
|
9187
|
+
});
|
|
8898
9188
|
}
|
|
8899
9189
|
|
|
8900
9190
|
var tabs$1 = {
|
|
@@ -8908,13 +9198,13 @@
|
|
|
8908
9198
|
Behaviors: 'guillotina.ModifyContent',
|
|
8909
9199
|
Permissions: 'guillotina.SeePermissions'
|
|
8910
9200
|
};
|
|
8911
|
-
function ItemCtx(
|
|
9201
|
+
function ItemCtx() {
|
|
8912
9202
|
var ctx = useTraversal();
|
|
8913
9203
|
var calculated = ctx.filterTabs(tabs$1, tabsPermissions$1);
|
|
8914
|
-
return jsxRuntime.jsx(TabsPanel,
|
|
9204
|
+
return jsxRuntime.jsx(TabsPanel, {
|
|
8915
9205
|
tabs: calculated,
|
|
8916
9206
|
currentTab: "Properties"
|
|
8917
|
-
}
|
|
9207
|
+
});
|
|
8918
9208
|
}
|
|
8919
9209
|
|
|
8920
9210
|
function _catch$7(body, recover) {
|
|
@@ -8933,8 +9223,9 @@
|
|
|
8933
9223
|
|
|
8934
9224
|
function ApplicationCtx() {
|
|
8935
9225
|
var intl = reactIntl.useIntl();
|
|
8936
|
-
var
|
|
8937
|
-
var
|
|
9226
|
+
var traversal = useTraversal();
|
|
9227
|
+
var appContext = traversal.state.context;
|
|
9228
|
+
var databases = appContext.databases;
|
|
8938
9229
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
8939
9230
|
children: [jsxRuntime.jsx("h3", {
|
|
8940
9231
|
children: intl.formatMessage({
|
|
@@ -8948,22 +9239,26 @@
|
|
|
8948
9239
|
className: "container",
|
|
8949
9240
|
children: [jsxRuntime.jsx(ItemTitle, {
|
|
8950
9241
|
title: "Objects"
|
|
8951
|
-
}),
|
|
8952
|
-
|
|
8953
|
-
|
|
8954
|
-
|
|
8955
|
-
|
|
8956
|
-
|
|
8957
|
-
|
|
8958
|
-
|
|
9242
|
+
}), jsxRuntime.jsx("table", {
|
|
9243
|
+
children: jsxRuntime.jsx("tbody", {
|
|
9244
|
+
children: databases.map(function (db) {
|
|
9245
|
+
return jsxRuntime.jsx(Item, {
|
|
9246
|
+
item: {
|
|
9247
|
+
id: db,
|
|
9248
|
+
path: "/" + db + "/"
|
|
9249
|
+
},
|
|
9250
|
+
icon: 'fas fa-database'
|
|
9251
|
+
}, db);
|
|
9252
|
+
})
|
|
9253
|
+
})
|
|
8959
9254
|
})]
|
|
8960
9255
|
})]
|
|
8961
9256
|
});
|
|
8962
9257
|
}
|
|
8963
9258
|
function DatabaseCtx() {
|
|
8964
|
-
var
|
|
8965
|
-
var containers =
|
|
8966
|
-
var path =
|
|
9259
|
+
var traversal = useTraversal();
|
|
9260
|
+
var containers = traversal.state.context.containers;
|
|
9261
|
+
var path = traversal.state.path;
|
|
8967
9262
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
8968
9263
|
children: jsxRuntime.jsxs("div", {
|
|
8969
9264
|
className: "container",
|
|
@@ -9251,17 +9546,17 @@
|
|
|
9251
9546
|
|
|
9252
9547
|
var searchText = location.get('q');
|
|
9253
9548
|
|
|
9254
|
-
var onSearchQuery = function onSearchQuery(
|
|
9255
|
-
|
|
9549
|
+
var onSearchQuery = function onSearchQuery(event) {
|
|
9550
|
+
event.preventDefault();
|
|
9256
9551
|
setLocation({
|
|
9257
|
-
q:
|
|
9552
|
+
q: event.currentTarget.elements.filterInput.value,
|
|
9258
9553
|
page: 0
|
|
9259
9554
|
});
|
|
9260
|
-
|
|
9261
|
-
|
|
9555
|
+
}; // cleanup form on state.search change
|
|
9556
|
+
|
|
9262
9557
|
|
|
9263
9558
|
React.useEffect(function () {
|
|
9264
|
-
if (!searchText || searchText === '') {
|
|
9559
|
+
if (ref.current && (!searchText || searchText === '')) {
|
|
9265
9560
|
ref.current.value = '';
|
|
9266
9561
|
}
|
|
9267
9562
|
}, [searchText]);
|
|
@@ -9281,7 +9576,8 @@
|
|
|
9281
9576
|
type: "text",
|
|
9282
9577
|
className: "input is-size-7",
|
|
9283
9578
|
placeholder: intl.formatMessage(genericMessages.search),
|
|
9284
|
-
"data-test": "inputFilterTest"
|
|
9579
|
+
"data-test": "inputFilterTest",
|
|
9580
|
+
id: "filterInput"
|
|
9285
9581
|
})
|
|
9286
9582
|
}), jsxRuntime.jsx("div", {
|
|
9287
9583
|
className: "control",
|
|
@@ -9313,12 +9609,12 @@
|
|
|
9313
9609
|
})]
|
|
9314
9610
|
});
|
|
9315
9611
|
}
|
|
9316
|
-
function UsersCtx(
|
|
9317
|
-
return jsxRuntime.jsx(TabsPanel,
|
|
9612
|
+
function UsersCtx() {
|
|
9613
|
+
return jsxRuntime.jsx(TabsPanel, {
|
|
9318
9614
|
tabs: tabs$3,
|
|
9319
9615
|
currentTab: "Users",
|
|
9320
9616
|
rightToolbar: jsxRuntime.jsx(UsersToolbar, {})
|
|
9321
|
-
}
|
|
9617
|
+
});
|
|
9322
9618
|
}
|
|
9323
9619
|
function UserCtx() {
|
|
9324
9620
|
var intl = reactIntl.useIntl();
|
|
@@ -9335,9 +9631,10 @@
|
|
|
9335
9631
|
state = _useState[0],
|
|
9336
9632
|
setState = _useState[1];
|
|
9337
9633
|
|
|
9634
|
+
var userDataContext = Ctx.context;
|
|
9338
9635
|
var fields = {
|
|
9339
9636
|
user_groups: [],
|
|
9340
|
-
user_roles:
|
|
9637
|
+
user_roles: userDataContext.user_roles
|
|
9341
9638
|
};
|
|
9342
9639
|
|
|
9343
9640
|
var _useRemoteField = useRemoteField(fields),
|
|
@@ -9441,7 +9738,7 @@
|
|
|
9441
9738
|
"value": "Username"
|
|
9442
9739
|
}]
|
|
9443
9740
|
}), ":", ' ']
|
|
9444
|
-
}), ' ',
|
|
9741
|
+
}), ' ', userDataContext.username, " (", userDataContext.email, ")"]
|
|
9445
9742
|
}), jsxRuntime.jsxs("p", {
|
|
9446
9743
|
children: [jsxRuntime.jsxs("label", {
|
|
9447
9744
|
children: [' ', intl.formatMessage({
|
|
@@ -9451,7 +9748,7 @@
|
|
|
9451
9748
|
"value": "Creation Date"
|
|
9452
9749
|
}]
|
|
9453
9750
|
}), ":", ' ']
|
|
9454
|
-
}), ' ', formatDate(
|
|
9751
|
+
}), ' ', formatDate(userDataContext.creation_date)]
|
|
9455
9752
|
}), jsxRuntime.jsxs("p", {
|
|
9456
9753
|
children: [jsxRuntime.jsxs("label", {
|
|
9457
9754
|
children: [' ', intl.formatMessage({
|
|
@@ -9461,7 +9758,7 @@
|
|
|
9461
9758
|
"value": "Modification Date"
|
|
9462
9759
|
}]
|
|
9463
9760
|
}), ":", ' ']
|
|
9464
|
-
}), ' ', formatDate(
|
|
9761
|
+
}), ' ', formatDate(userDataContext.modification_date)]
|
|
9465
9762
|
}), jsxRuntime.jsx(Button, {
|
|
9466
9763
|
className: "is-size-7 is-info",
|
|
9467
9764
|
onClick: function onClick() {
|
|
@@ -9480,7 +9777,7 @@
|
|
|
9480
9777
|
onSubmit: function onSubmit(ev) {
|
|
9481
9778
|
return updateObject(ev);
|
|
9482
9779
|
},
|
|
9483
|
-
formData:
|
|
9780
|
+
formData: userDataContext,
|
|
9484
9781
|
exclude: ['password'],
|
|
9485
9782
|
remotes: remotes,
|
|
9486
9783
|
submitButton: false,
|
|
@@ -9494,7 +9791,7 @@
|
|
|
9494
9791
|
className: "column",
|
|
9495
9792
|
children: [jsxRuntime.jsx(TagsWidget, {
|
|
9496
9793
|
onChange: updateRemote('user_groups'),
|
|
9497
|
-
items:
|
|
9794
|
+
items: userDataContext.user_groups,
|
|
9498
9795
|
title: "Groups",
|
|
9499
9796
|
noData: intl.formatMessage({
|
|
9500
9797
|
id: "there_is_no_groups_for_this_user",
|
|
@@ -9515,7 +9812,12 @@
|
|
|
9515
9812
|
"value": "The user doesn't have any role"
|
|
9516
9813
|
}]
|
|
9517
9814
|
}),
|
|
9518
|
-
available: state.roles
|
|
9815
|
+
available: state.roles.map(function (x) {
|
|
9816
|
+
return {
|
|
9817
|
+
value: x,
|
|
9818
|
+
text: x
|
|
9819
|
+
};
|
|
9820
|
+
})
|
|
9519
9821
|
})]
|
|
9520
9822
|
})]
|
|
9521
9823
|
})]
|
|
@@ -9531,7 +9833,7 @@
|
|
|
9531
9833
|
try {
|
|
9532
9834
|
return Promise.resolve(Promise.all(items.map(function (item, i) {
|
|
9533
9835
|
var input = form[i + 1] || {};
|
|
9534
|
-
return Ctx.client.post("" + Ctx.path + item
|
|
9836
|
+
return Ctx.client.post("" + Ctx.path + item.id + "/@duplicate", {
|
|
9535
9837
|
destination: path,
|
|
9536
9838
|
new_id: input.value || getNewId(item.id)
|
|
9537
9839
|
});
|
|
@@ -9577,7 +9879,7 @@
|
|
|
9577
9879
|
}), jsxRuntime.jsx("input", {
|
|
9578
9880
|
type: "text",
|
|
9579
9881
|
className: "input",
|
|
9580
|
-
"data-test": "inputCopyIdTest-" + item
|
|
9882
|
+
"data-test": "inputCopyIdTest-" + item.id,
|
|
9581
9883
|
defaultValue: getNewId(item.id)
|
|
9582
9884
|
})]
|
|
9583
9885
|
}, item.id);
|
|
@@ -9650,9 +9952,9 @@
|
|
|
9650
9952
|
var moveItems = function moveItems(path) {
|
|
9651
9953
|
try {
|
|
9652
9954
|
return Promise.resolve(Promise.all(items.map(function (item) {
|
|
9653
|
-
return Ctx.client.post("" + Ctx.path + item
|
|
9955
|
+
return Ctx.client.post("" + Ctx.path + item.id + "/@move", {
|
|
9654
9956
|
destination: path,
|
|
9655
|
-
new_id: item
|
|
9957
|
+
new_id: item.id
|
|
9656
9958
|
});
|
|
9657
9959
|
}))).then(function (responses) {
|
|
9658
9960
|
Ctx.refresh();
|
|
@@ -9989,17 +10291,17 @@
|
|
|
9989
10291
|
|
|
9990
10292
|
var searchText = location.get('q');
|
|
9991
10293
|
|
|
9992
|
-
var onSearchQuery = function onSearchQuery(
|
|
9993
|
-
|
|
10294
|
+
var onSearchQuery = function onSearchQuery(event) {
|
|
10295
|
+
event.preventDefault();
|
|
9994
10296
|
setLocation({
|
|
9995
|
-
q:
|
|
10297
|
+
q: event.currentTarget.elements.filterInput.value,
|
|
9996
10298
|
page: 0
|
|
9997
10299
|
});
|
|
9998
|
-
|
|
9999
|
-
|
|
10300
|
+
}; // cleanup form on state.search change
|
|
10301
|
+
|
|
10000
10302
|
|
|
10001
10303
|
React.useEffect(function () {
|
|
10002
|
-
if (!searchText || searchText === '') {
|
|
10304
|
+
if (ref.current && (!searchText || searchText === '')) {
|
|
10003
10305
|
ref.current.value = '';
|
|
10004
10306
|
}
|
|
10005
10307
|
}, [searchText]);
|
|
@@ -10019,7 +10321,8 @@
|
|
|
10019
10321
|
type: "text",
|
|
10020
10322
|
className: "input is-size-7",
|
|
10021
10323
|
placeholder: intl.formatMessage(genericMessages.search),
|
|
10022
|
-
"data-test": "inputFilterTest"
|
|
10324
|
+
"data-test": "inputFilterTest",
|
|
10325
|
+
id: "filterInput"
|
|
10023
10326
|
})
|
|
10024
10327
|
}), jsxRuntime.jsx("div", {
|
|
10025
10328
|
className: "control",
|
|
@@ -10057,12 +10360,12 @@
|
|
|
10057
10360
|
})]
|
|
10058
10361
|
});
|
|
10059
10362
|
}
|
|
10060
|
-
function GroupsCtx(
|
|
10061
|
-
return jsxRuntime.jsx(TabsPanel,
|
|
10363
|
+
function GroupsCtx() {
|
|
10364
|
+
return jsxRuntime.jsx(TabsPanel, {
|
|
10062
10365
|
tabs: tabs$4,
|
|
10063
10366
|
currentTab: "Groups",
|
|
10064
10367
|
rightToolbar: jsxRuntime.jsx(GroupToolbar, {})
|
|
10065
|
-
}
|
|
10368
|
+
});
|
|
10066
10369
|
}
|
|
10067
10370
|
var sortParsed = parser("_sort_asc=id");
|
|
10068
10371
|
var searchParsed = parser('type_name=User');
|
|
@@ -10077,6 +10380,7 @@
|
|
|
10077
10380
|
roles = _useState[0],
|
|
10078
10381
|
setRoles = _useState[1];
|
|
10079
10382
|
|
|
10383
|
+
var groupDataContext = Ctx.context;
|
|
10080
10384
|
React.useEffect(function () {
|
|
10081
10385
|
var getRoles = function getRoles() {
|
|
10082
10386
|
try {
|
|
@@ -10130,11 +10434,11 @@
|
|
|
10130
10434
|
var addRole = function addRole(role) {
|
|
10131
10435
|
try {
|
|
10132
10436
|
return Promise.resolve(patch({
|
|
10133
|
-
user_roles:
|
|
10437
|
+
user_roles: groupDataContext.user_roles.concat(role)
|
|
10134
10438
|
})).then(function (_ref) {
|
|
10135
10439
|
var isError = _ref.isError,
|
|
10136
10440
|
errorMessage = _ref.errorMessage;
|
|
10137
|
-
handleResponse(isError, intl.formatMessage({
|
|
10441
|
+
handleResponse(!!isError, intl.formatMessage({
|
|
10138
10442
|
id: "role_added_to_group",
|
|
10139
10443
|
defaultMessage: [{
|
|
10140
10444
|
"type": 0,
|
|
@@ -10148,7 +10452,7 @@
|
|
|
10148
10452
|
}]
|
|
10149
10453
|
}, {
|
|
10150
10454
|
role: role
|
|
10151
|
-
}), errorMessage);
|
|
10455
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10152
10456
|
});
|
|
10153
10457
|
} catch (e) {
|
|
10154
10458
|
return Promise.reject(e);
|
|
@@ -10158,13 +10462,13 @@
|
|
|
10158
10462
|
var removeRole = function removeRole(role) {
|
|
10159
10463
|
try {
|
|
10160
10464
|
return Promise.resolve(patch({
|
|
10161
|
-
user_roles:
|
|
10465
|
+
user_roles: groupDataContext.user_roles.filter(function (r) {
|
|
10162
10466
|
return r !== role;
|
|
10163
10467
|
})
|
|
10164
10468
|
})).then(function (_ref2) {
|
|
10165
10469
|
var isError = _ref2.isError,
|
|
10166
10470
|
errorMessage = _ref2.errorMessage;
|
|
10167
|
-
handleResponse(isError, intl.formatMessage({
|
|
10471
|
+
handleResponse(!!isError, intl.formatMessage({
|
|
10168
10472
|
id: "role_removed_from_group",
|
|
10169
10473
|
defaultMessage: [{
|
|
10170
10474
|
"type": 0,
|
|
@@ -10178,7 +10482,7 @@
|
|
|
10178
10482
|
}]
|
|
10179
10483
|
}, {
|
|
10180
10484
|
role: role
|
|
10181
|
-
}), errorMessage);
|
|
10485
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10182
10486
|
});
|
|
10183
10487
|
} catch (e) {
|
|
10184
10488
|
return Promise.reject(e);
|
|
@@ -10188,30 +10492,32 @@
|
|
|
10188
10492
|
var addUser = function addUser(newUserId) {
|
|
10189
10493
|
try {
|
|
10190
10494
|
var data = {};
|
|
10191
|
-
|
|
10495
|
+
groupDataContext.users.forEach(function (user) {
|
|
10192
10496
|
data[user] = true;
|
|
10193
10497
|
});
|
|
10194
10498
|
data[newUserId] = true;
|
|
10195
10499
|
return Promise.resolve(Ctx.client.rest.patch(Ctx.containerPath + "@groups/" + Ctx.context['@name'], {
|
|
10196
10500
|
users: data
|
|
10197
|
-
})).then(function (
|
|
10198
|
-
|
|
10199
|
-
|
|
10200
|
-
|
|
10201
|
-
|
|
10202
|
-
|
|
10203
|
-
|
|
10204
|
-
|
|
10205
|
-
|
|
10206
|
-
|
|
10207
|
-
|
|
10501
|
+
})).then(function (response) {
|
|
10502
|
+
return Promise.resolve(processResponse(response)).then(function (_ref3) {
|
|
10503
|
+
var isError = _ref3.isError,
|
|
10504
|
+
errorMessage = _ref3.errorMessage;
|
|
10505
|
+
handleResponse(isError, intl.formatMessage({
|
|
10506
|
+
id: "user_added_to_group",
|
|
10507
|
+
defaultMessage: [{
|
|
10508
|
+
"type": 0,
|
|
10509
|
+
"value": "User "
|
|
10510
|
+
}, {
|
|
10511
|
+
"type": 1,
|
|
10512
|
+
"value": "user"
|
|
10513
|
+
}, {
|
|
10514
|
+
"type": 0,
|
|
10515
|
+
"value": " added to group"
|
|
10516
|
+
}]
|
|
10208
10517
|
}, {
|
|
10209
|
-
|
|
10210
|
-
|
|
10211
|
-
|
|
10212
|
-
}, {
|
|
10213
|
-
user: newUserId
|
|
10214
|
-
}), errorMessage);
|
|
10518
|
+
user: newUserId
|
|
10519
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10520
|
+
});
|
|
10215
10521
|
});
|
|
10216
10522
|
} catch (e) {
|
|
10217
10523
|
return Promise.reject(e);
|
|
@@ -10221,29 +10527,31 @@
|
|
|
10221
10527
|
var removeUser = function removeUser(userToRemove) {
|
|
10222
10528
|
try {
|
|
10223
10529
|
var data = {};
|
|
10224
|
-
|
|
10530
|
+
groupDataContext.users.forEach(function (user) {
|
|
10225
10531
|
data[user] = userToRemove !== user;
|
|
10226
10532
|
});
|
|
10227
10533
|
return Promise.resolve(Ctx.client.rest.patch(Ctx.containerPath + "@groups/" + Ctx.context['@name'], {
|
|
10228
10534
|
users: data
|
|
10229
|
-
})).then(function (
|
|
10230
|
-
|
|
10231
|
-
|
|
10232
|
-
|
|
10233
|
-
|
|
10234
|
-
|
|
10235
|
-
|
|
10236
|
-
|
|
10237
|
-
|
|
10238
|
-
|
|
10239
|
-
|
|
10535
|
+
})).then(function (response) {
|
|
10536
|
+
return Promise.resolve(processResponse(response)).then(function (_ref4) {
|
|
10537
|
+
var isError = _ref4.isError,
|
|
10538
|
+
errorMessage = _ref4.errorMessage;
|
|
10539
|
+
handleResponse(isError, intl.formatMessage({
|
|
10540
|
+
id: "user_removed_from_group",
|
|
10541
|
+
defaultMessage: [{
|
|
10542
|
+
"type": 0,
|
|
10543
|
+
"value": "User "
|
|
10544
|
+
}, {
|
|
10545
|
+
"type": 1,
|
|
10546
|
+
"value": "user"
|
|
10547
|
+
}, {
|
|
10548
|
+
"type": 0,
|
|
10549
|
+
"value": " removed from group"
|
|
10550
|
+
}]
|
|
10240
10551
|
}, {
|
|
10241
|
-
|
|
10242
|
-
|
|
10243
|
-
|
|
10244
|
-
}, {
|
|
10245
|
-
user: userToRemove
|
|
10246
|
-
}), errorMessage);
|
|
10552
|
+
user: userToRemove
|
|
10553
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10554
|
+
});
|
|
10247
10555
|
});
|
|
10248
10556
|
} catch (e) {
|
|
10249
10557
|
return Promise.reject(e);
|
|
@@ -10298,11 +10606,13 @@
|
|
|
10298
10606
|
})
|
|
10299
10607
|
}), jsxRuntime.jsx(Select, {
|
|
10300
10608
|
options: roles.filter(function (role) {
|
|
10301
|
-
return !
|
|
10609
|
+
return !groupDataContext.user_roles.includes(role.value);
|
|
10302
10610
|
}),
|
|
10303
10611
|
appendDefault: true,
|
|
10304
|
-
onChange:
|
|
10305
|
-
|
|
10612
|
+
onChange: function onChange(value) {
|
|
10613
|
+
return addRole(value);
|
|
10614
|
+
}
|
|
10615
|
+
}), jsxRuntime.jsx("hr", {}), groupDataContext.user_roles.map(function (urole) {
|
|
10306
10616
|
return jsxRuntime.jsx("p", {
|
|
10307
10617
|
className: "control",
|
|
10308
10618
|
children: jsxRuntime.jsx(Tag, {
|
|
@@ -10334,7 +10644,7 @@
|
|
|
10334
10644
|
traversal: Ctx,
|
|
10335
10645
|
onChange: addUser,
|
|
10336
10646
|
btnClass: "is-small"
|
|
10337
|
-
}), jsxRuntime.jsx("hr", {}),
|
|
10647
|
+
}), jsxRuntime.jsx("hr", {}), groupDataContext.users.map(function (user) {
|
|
10338
10648
|
return jsxRuntime.jsx("p", {
|
|
10339
10649
|
className: "control",
|
|
10340
10650
|
children: jsxRuntime.jsx(Tag, {
|
|
@@ -10483,7 +10793,7 @@
|
|
|
10483
10793
|
var links = buildPaths(segments);
|
|
10484
10794
|
|
|
10485
10795
|
if (segments.length === 1) {
|
|
10486
|
-
return
|
|
10796
|
+
return null;
|
|
10487
10797
|
}
|
|
10488
10798
|
|
|
10489
10799
|
return jsxRuntime.jsx("nav", {
|
|
@@ -10617,11 +10927,13 @@
|
|
|
10617
10927
|
fallback = undefined;
|
|
10618
10928
|
}
|
|
10619
10929
|
|
|
10620
|
-
if (!context) return;
|
|
10930
|
+
if (!context) return; // console.log("Component for path", path)
|
|
10931
|
+
// lookup by path
|
|
10621
10932
|
|
|
10622
10933
|
if (registry.paths[path]) {
|
|
10623
10934
|
return registry.paths[path];
|
|
10624
|
-
}
|
|
10935
|
+
} // by type
|
|
10936
|
+
|
|
10625
10937
|
|
|
10626
10938
|
if (registry.views[context['@type']]) {
|
|
10627
10939
|
return registry.views[context['@type']];
|
|
@@ -10644,19 +10956,15 @@
|
|
|
10644
10956
|
return undefined;
|
|
10645
10957
|
};
|
|
10646
10958
|
|
|
10647
|
-
var
|
|
10648
|
-
|
|
10649
|
-
|
|
10650
|
-
}
|
|
10959
|
+
var getView = function getView(name) {
|
|
10960
|
+
return registry.views[name];
|
|
10961
|
+
};
|
|
10651
10962
|
|
|
10652
|
-
|
|
10963
|
+
var getForm = function getForm(type, fallback) {
|
|
10964
|
+
return registry.forms[type] || fallback || BaseForm;
|
|
10653
10965
|
};
|
|
10654
10966
|
|
|
10655
10967
|
var getAction = function getAction(type, fallback) {
|
|
10656
|
-
if (fallback === void 0) {
|
|
10657
|
-
fallback = undefined;
|
|
10658
|
-
}
|
|
10659
|
-
|
|
10660
10968
|
return registry.actions[type] || fallback;
|
|
10661
10969
|
};
|
|
10662
10970
|
|
|
@@ -10673,10 +10981,21 @@
|
|
|
10673
10981
|
};
|
|
10674
10982
|
|
|
10675
10983
|
var getFieldsToFilter = function getFieldsToFilter(type, fallback) {
|
|
10984
|
+
if (fallback === void 0) {
|
|
10985
|
+
fallback = ['title'];
|
|
10986
|
+
}
|
|
10987
|
+
|
|
10676
10988
|
return registry.fieldsToFilter[type] || fallback;
|
|
10677
10989
|
};
|
|
10678
10990
|
|
|
10679
10991
|
var getDefaultSortValue = function getDefaultSortValue(type, fallback) {
|
|
10992
|
+
if (fallback === void 0) {
|
|
10993
|
+
fallback = {
|
|
10994
|
+
key: 'id',
|
|
10995
|
+
direction: 'des'
|
|
10996
|
+
};
|
|
10997
|
+
}
|
|
10998
|
+
|
|
10680
10999
|
return registry.defaultSortValue[type] || fallback;
|
|
10681
11000
|
};
|
|
10682
11001
|
|
|
@@ -10684,12 +11003,14 @@
|
|
|
10684
11003
|
return context.is_folderish ? FolderCtx : ItemCtx;
|
|
10685
11004
|
};
|
|
10686
11005
|
function useRegistry(data) {
|
|
11006
|
+
// if data is provided we need to merge it into actual registry
|
|
10687
11007
|
var ref = React__default['default'].useRef();
|
|
10688
11008
|
|
|
10689
11009
|
if (data && !ref.current) {
|
|
10690
11010
|
ref.current = true;
|
|
10691
11011
|
Object.keys(data).map(function (key) {
|
|
10692
|
-
|
|
11012
|
+
var registryKey = key;
|
|
11013
|
+
registry[registryKey] = _extends({}, registry[registryKey], data[registryKey]);
|
|
10693
11014
|
});
|
|
10694
11015
|
}
|
|
10695
11016
|
|
|
@@ -10704,86 +11025,26 @@
|
|
|
10704
11025
|
getItemsColumn: getItemsColumn,
|
|
10705
11026
|
getFieldsToFilter: getFieldsToFilter,
|
|
10706
11027
|
getDefaultSortValue: getDefaultSortValue,
|
|
10707
|
-
getSchemas: getSchemas
|
|
11028
|
+
getSchemas: getSchemas,
|
|
11029
|
+
getView: getView
|
|
10708
11030
|
};
|
|
10709
11031
|
}
|
|
11032
|
+
/*
|
|
10710
11033
|
|
|
10711
|
-
|
|
10712
|
-
|
|
10713
|
-
|
|
10714
|
-
context: undefined,
|
|
10715
|
-
flash: {
|
|
10716
|
-
message: undefined,
|
|
10717
|
-
type: undefined
|
|
10718
|
-
},
|
|
10719
|
-
action: {
|
|
10720
|
-
action: undefined,
|
|
10721
|
-
params: undefined
|
|
11034
|
+
const registry = {
|
|
11035
|
+
paths: {
|
|
11036
|
+
"/db/guillotina/tags/": TagsContext
|
|
10722
11037
|
},
|
|
10723
|
-
|
|
10724
|
-
|
|
10725
|
-
|
|
10726
|
-
|
|
10727
|
-
};
|
|
10728
|
-
function guillotinaReducer(state, action) {
|
|
10729
|
-
switch (action.type) {
|
|
10730
|
-
case 'SET_PATH':
|
|
10731
|
-
return _extends({}, state, {
|
|
10732
|
-
path: action.payload,
|
|
10733
|
-
loading: true
|
|
10734
|
-
});
|
|
10735
|
-
|
|
10736
|
-
case 'SET_CONTEXT':
|
|
10737
|
-
return _extends({}, state, action.payload, {
|
|
10738
|
-
errorStatus: undefined,
|
|
10739
|
-
loading: false
|
|
10740
|
-
});
|
|
10741
|
-
|
|
10742
|
-
case 'SET_ERROR':
|
|
10743
|
-
return _extends({}, state, {
|
|
10744
|
-
errorStatus: action.payload,
|
|
10745
|
-
loading: false
|
|
10746
|
-
});
|
|
10747
|
-
|
|
10748
|
-
case 'SET_FLASH':
|
|
10749
|
-
return _extends({}, state, action.payload);
|
|
10750
|
-
|
|
10751
|
-
case 'CLEAR_FLASH':
|
|
10752
|
-
return _extends({}, state, {
|
|
10753
|
-
flash: {
|
|
10754
|
-
message: undefined,
|
|
10755
|
-
type: undefined
|
|
10756
|
-
}
|
|
10757
|
-
});
|
|
10758
|
-
|
|
10759
|
-
case 'SET_ACTION':
|
|
10760
|
-
return _extends({}, state, {
|
|
10761
|
-
action: action.payload
|
|
10762
|
-
});
|
|
11038
|
+
forms: {
|
|
11039
|
+
Tag: AddTagForm
|
|
11040
|
+
}
|
|
11041
|
+
}
|
|
10763
11042
|
|
|
10764
|
-
case 'CLEAR_ACTION':
|
|
10765
|
-
return _extends({}, state, {
|
|
10766
|
-
action: {
|
|
10767
|
-
action: undefined,
|
|
10768
|
-
params: undefined
|
|
10769
|
-
}
|
|
10770
|
-
});
|
|
10771
11043
|
|
|
10772
|
-
|
|
10773
|
-
return _extends({}, state, {
|
|
10774
|
-
refresh: Date.now(),
|
|
10775
|
-
loading: !action.payload.transparent
|
|
10776
|
-
});
|
|
11044
|
+
<guillotina registry={registry} />
|
|
10777
11045
|
|
|
10778
|
-
case 'APPLY':
|
|
10779
|
-
return _extends({}, state, {
|
|
10780
|
-
context: _extends({}, state.context, action.payload)
|
|
10781
|
-
});
|
|
10782
11046
|
|
|
10783
|
-
|
|
10784
|
-
return state;
|
|
10785
|
-
}
|
|
10786
|
-
}
|
|
11047
|
+
*/
|
|
10787
11048
|
|
|
10788
11049
|
var actions = [
|
|
10789
11050
|
{
|
|
@@ -13594,25 +13855,27 @@
|
|
|
13594
13855
|
props = _objectWithoutPropertiesLoose(_ref, ["auth", "locale"]);
|
|
13595
13856
|
|
|
13596
13857
|
var messages = loadLocaleData(locale);
|
|
13597
|
-
var url = props.url || 'http://localhost:8080';
|
|
13858
|
+
var url = props.url || 'http://localhost:8080'; // without trailing slash
|
|
13859
|
+
|
|
13598
13860
|
var config = props.config || {};
|
|
13599
13861
|
var client = useGuillotinaClient();
|
|
13600
13862
|
|
|
13601
13863
|
var _useConfig = useConfig(config),
|
|
13602
13864
|
Permissions = _useConfig.Permissions;
|
|
13603
13865
|
|
|
13604
|
-
var registry = useRegistry(props.registry
|
|
13866
|
+
var registry = useRegistry(props.registry); // Location is cooked routing solution (only uses search params)
|
|
13605
13867
|
|
|
13606
13868
|
var _useLocation = useLocation(),
|
|
13607
|
-
location = _useLocation[0];
|
|
13869
|
+
location = _useLocation[0]; // if there is no path provided just go to root
|
|
13870
|
+
|
|
13608
13871
|
|
|
13609
13872
|
var searchPath = location.get('path') || '/';
|
|
13610
13873
|
|
|
13611
13874
|
if (searchPath && searchPath !== '') {
|
|
13612
|
-
initialState
|
|
13875
|
+
initialState.path = searchPath;
|
|
13613
13876
|
}
|
|
13614
13877
|
|
|
13615
|
-
var _useReducer = React.useReducer(guillotinaReducer, initialState
|
|
13878
|
+
var _useReducer = React.useReducer(guillotinaReducer, initialState),
|
|
13616
13879
|
state = _useReducer[0],
|
|
13617
13880
|
dispatch = _useReducer[1];
|
|
13618
13881
|
|
|
@@ -13620,8 +13883,10 @@
|
|
|
13620
13883
|
refresh = state.refresh;
|
|
13621
13884
|
React.useEffect(function () {
|
|
13622
13885
|
dispatch({
|
|
13623
|
-
type:
|
|
13624
|
-
payload:
|
|
13886
|
+
type: GuillotinaReducerActionTypes.SET_PATH,
|
|
13887
|
+
payload: {
|
|
13888
|
+
path: searchPath
|
|
13889
|
+
}
|
|
13625
13890
|
});
|
|
13626
13891
|
}, [searchPath]);
|
|
13627
13892
|
React.useEffect(function () {
|
|
@@ -13630,14 +13895,18 @@
|
|
|
13630
13895
|
return Promise.resolve(client.getContext(path)).then(function (data) {
|
|
13631
13896
|
if (data.status === 401) {
|
|
13632
13897
|
dispatch({
|
|
13633
|
-
type:
|
|
13634
|
-
payload:
|
|
13898
|
+
type: GuillotinaReducerActionTypes.SET_ERROR,
|
|
13899
|
+
payload: {
|
|
13900
|
+
errorStatus: 'notallowed'
|
|
13901
|
+
}
|
|
13635
13902
|
});
|
|
13636
13903
|
return;
|
|
13637
13904
|
} else if (data.status === 404) {
|
|
13638
13905
|
dispatch({
|
|
13639
|
-
type:
|
|
13640
|
-
payload:
|
|
13906
|
+
type: GuillotinaReducerActionTypes.SET_ERROR,
|
|
13907
|
+
payload: {
|
|
13908
|
+
errorStatus: 'notallowed'
|
|
13909
|
+
}
|
|
13641
13910
|
});
|
|
13642
13911
|
return;
|
|
13643
13912
|
}
|
|
@@ -13646,7 +13915,7 @@
|
|
|
13646
13915
|
return Promise.resolve(client.canido(path, Permissions)).then(function (pr) {
|
|
13647
13916
|
return Promise.resolve(pr.json()).then(function (permissions) {
|
|
13648
13917
|
dispatch({
|
|
13649
|
-
type:
|
|
13918
|
+
type: GuillotinaReducerActionTypes.SET_CONTEXT,
|
|
13650
13919
|
payload: {
|
|
13651
13920
|
context: context,
|
|
13652
13921
|
permissions: permissions
|
|
@@ -13663,9 +13932,9 @@
|
|
|
13663
13932
|
|
|
13664
13933
|
initContext();
|
|
13665
13934
|
}, [path, refresh, client]);
|
|
13666
|
-
var ErrorBoundary = registry.
|
|
13667
|
-
var NotAllowed = registry.
|
|
13668
|
-
var NotFound = registry.
|
|
13935
|
+
var ErrorBoundary = registry.getView('ErrorBoundary');
|
|
13936
|
+
var NotAllowed = registry.getView('NotAllowed');
|
|
13937
|
+
var NotFound = registry.getView('NotFound');
|
|
13669
13938
|
var Path = registry.get('components', 'Path');
|
|
13670
13939
|
var contextData = {
|
|
13671
13940
|
url: url,
|
|
@@ -13688,7 +13957,7 @@
|
|
|
13688
13957
|
children: jsxRuntime.jsxs(ErrorBoundary, {
|
|
13689
13958
|
children: [!errorStatus && jsxRuntime.jsx(TraversalProvider, _extends({}, contextData, {
|
|
13690
13959
|
children: permissions && jsxRuntime.jsxs(React__default['default'].Fragment, {
|
|
13691
|
-
children: [action.action && jsxRuntime.jsx(Action, _extends({}, action.params)), jsxRuntime.jsx("div", {
|
|
13960
|
+
children: [action.action && Action !== null && jsxRuntime.jsx(Action, _extends({}, action.params)), jsxRuntime.jsx("div", {
|
|
13692
13961
|
className: "level",
|
|
13693
13962
|
children: jsxRuntime.jsx("div", {
|
|
13694
13963
|
className: "level-left",
|
|
@@ -13697,7 +13966,7 @@
|
|
|
13697
13966
|
children: jsxRuntime.jsx(Path, {})
|
|
13698
13967
|
})
|
|
13699
13968
|
})
|
|
13700
|
-
}), jsxRuntime.jsx(Flash, {}), Main && jsxRuntime.jsx(ErrorBoundary, {
|
|
13969
|
+
}), jsxRuntime.jsx(Flash, {}), Main !== undefined && jsxRuntime.jsx(ErrorBoundary, {
|
|
13701
13970
|
children: jsxRuntime.jsxs("div", {
|
|
13702
13971
|
className: "box main-panel",
|
|
13703
13972
|
children: [state.loading && jsxRuntime.jsx(Loading, {}), !state.loading && jsxRuntime.jsx(Main, {
|
|
@@ -13807,7 +14076,7 @@
|
|
|
13807
14076
|
var initialState$5 = {
|
|
13808
14077
|
username: '',
|
|
13809
14078
|
password: '',
|
|
13810
|
-
loading:
|
|
14079
|
+
loading: false,
|
|
13811
14080
|
errors: undefined
|
|
13812
14081
|
};
|
|
13813
14082
|
var Login = function Login(_ref) {
|
|
@@ -13823,7 +14092,7 @@
|
|
|
13823
14092
|
|
|
13824
14093
|
var inputRef = React.useRef(null);
|
|
13825
14094
|
React.useEffect(function () {
|
|
13826
|
-
if (inputRef) {
|
|
14095
|
+
if (inputRef && inputRef.current) {
|
|
13827
14096
|
inputRef.current.focus();
|
|
13828
14097
|
}
|
|
13829
14098
|
}, [inputRef]);
|
|
@@ -14044,30 +14313,30 @@
|
|
|
14044
14313
|
dataTest: dataTest,
|
|
14045
14314
|
children: [schema && schema.data && !schema.loading && schema.formFields.map(function (key) {
|
|
14046
14315
|
if (!ignoreFiels.includes(key)) {
|
|
14047
|
-
var _value$title;
|
|
14316
|
+
var _schema$data, _value$title, _schema$data2;
|
|
14048
14317
|
|
|
14049
|
-
var value = schema.data.properties[key];
|
|
14318
|
+
var value = (_schema$data = schema.data) == null ? void 0 : _schema$data.properties[key];
|
|
14050
14319
|
return jsxRuntime.jsx(EditComponent, {
|
|
14051
14320
|
id: key,
|
|
14052
14321
|
placeholder: (_value$title = value == null ? void 0 : value.title) != null ? _value$title : '',
|
|
14053
14322
|
className: "",
|
|
14054
14323
|
required: true,
|
|
14055
|
-
schema: schema.data.properties[key],
|
|
14056
|
-
setValue: function setValue(
|
|
14324
|
+
schema: (_schema$data2 = schema.data) == null ? void 0 : _schema$data2.properties[key],
|
|
14325
|
+
setValue: function setValue(value) {
|
|
14057
14326
|
if (key === 'title') {
|
|
14058
14327
|
var _extends2;
|
|
14059
14328
|
|
|
14060
14329
|
setFormData(_extends({}, formData, (_extends2 = {
|
|
14061
|
-
uuid: stringToSlug(
|
|
14062
|
-
}, _extends2[key] =
|
|
14330
|
+
uuid: stringToSlug(value)
|
|
14331
|
+
}, _extends2[key] = value, _extends2)));
|
|
14063
14332
|
} else if (key === 'uuid') {
|
|
14064
14333
|
setFormData(_extends({}, formData, {
|
|
14065
|
-
uuid: stringToSlug(
|
|
14334
|
+
uuid: stringToSlug(value)
|
|
14066
14335
|
}));
|
|
14067
14336
|
} else {
|
|
14068
14337
|
var _extends3;
|
|
14069
14338
|
|
|
14070
|
-
setFormData(_extends({}, formData, (_extends3 = {}, _extends3[key] =
|
|
14339
|
+
setFormData(_extends({}, formData, (_extends3 = {}, _extends3[key] = value, _extends3)));
|
|
14071
14340
|
}
|
|
14072
14341
|
},
|
|
14073
14342
|
error: errors[key],
|
|
@@ -14198,6 +14467,7 @@
|
|
|
14198
14467
|
method: 'post'
|
|
14199
14468
|
})).then(function (data) {
|
|
14200
14469
|
if (data.status === 401) {
|
|
14470
|
+
// invalid token
|
|
14201
14471
|
_this4.cleanAuth();
|
|
14202
14472
|
|
|
14203
14473
|
_this4.logout();
|
|
@@ -14260,7 +14530,7 @@
|
|
|
14260
14530
|
|
|
14261
14531
|
if (!authToken) return {};
|
|
14262
14532
|
|
|
14263
|
-
if (this.willExpire(expires) && this.retryRefresh < this.maxRetry) {
|
|
14533
|
+
if (this.willExpire(expires != null ? expires : '') && this.retryRefresh < this.maxRetry) {
|
|
14264
14534
|
|
|
14265
14535
|
(function () {
|
|
14266
14536
|
try {
|
|
@@ -14318,6 +14588,13 @@
|
|
|
14318
14588
|
return Auth;
|
|
14319
14589
|
}();
|
|
14320
14590
|
|
|
14591
|
+
(function (Setting) {
|
|
14592
|
+
Setting["Allow"] = "Allow";
|
|
14593
|
+
Setting["AllowSingle"] = "AllowSingle";
|
|
14594
|
+
Setting["Deny"] = "Deny";
|
|
14595
|
+
Setting["Unset"] = "Unset";
|
|
14596
|
+
})(exports.Setting || (exports.Setting = {}));
|
|
14597
|
+
|
|
14321
14598
|
exports.AddItem = AddItem;
|
|
14322
14599
|
exports.AddPermission = AddPermission;
|
|
14323
14600
|
exports.AllItemsCheckbox = AllItemsCheckbox;
|
|
@@ -14331,7 +14608,6 @@
|
|
|
14331
14608
|
exports.Checkbox = Checkbox;
|
|
14332
14609
|
exports.ClientContext = ClientContext;
|
|
14333
14610
|
exports.ClientProvider = ClientProvider;
|
|
14334
|
-
exports.Config = Config;
|
|
14335
14611
|
exports.Confirm = Confirm;
|
|
14336
14612
|
exports.ContainerCtx = ContainerCtx;
|
|
14337
14613
|
exports.ContextToolbar = ContextToolbar;
|
|
@@ -14429,12 +14705,14 @@
|
|
|
14429
14705
|
exports.base64ToArrayBuffer = base64ToArrayBuffer;
|
|
14430
14706
|
exports.buildQs = buildQs;
|
|
14431
14707
|
exports.classnames = classnames;
|
|
14708
|
+
exports.debounce = debounce;
|
|
14432
14709
|
exports.defaultComponent = defaultComponent;
|
|
14710
|
+
exports.defaultConfig = defaultConfig;
|
|
14433
14711
|
exports.formatDate = formatDate;
|
|
14434
14712
|
exports.generateUID = generateUID;
|
|
14435
14713
|
exports.genericFileMessages = genericFileMessages;
|
|
14436
14714
|
exports.genericMessages = genericMessages;
|
|
14437
|
-
exports.get = get
|
|
14715
|
+
exports.get = get;
|
|
14438
14716
|
exports.getActionsObject = getActionsObject;
|
|
14439
14717
|
exports.getClient = getClient;
|
|
14440
14718
|
exports.getNewId = getNewId;
|