@guillotinaweb/react-gmi 0.29.2 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.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 +1 -1
- 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 +1182 -905
- package/dist/react-gmi.esm.js.map +1 -1
- package/dist/react-gmi.js +1181 -905
- package/dist/react-gmi.js.map +1 -1
- package/dist/react-gmi.modern.js +1155 -852
- package/dist/react-gmi.modern.js.map +1 -1
- package/dist/react-gmi.umd.js +1181 -905
- 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 +192 -44
- 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.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import React, { createContext, useContext, useState, useCallback, useRef, useEffect, forwardRef, Children, isValidElement, cloneElement, Fragment as Fragment$1, Component, useReducer } from 'react';
|
|
2
|
+
import React, { createContext, useContext, useState, useCallback, useRef, useEffect, forwardRef, Children, isValidElement, cloneElement, Fragment as Fragment$1, useMemo, Component, useReducer } from 'react';
|
|
3
3
|
import usePortal from 'react-useportal';
|
|
4
4
|
import { defineMessages, useIntl, injectIntl, IntlProvider } from 'react-intl';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
@@ -104,6 +104,97 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
|
104
104
|
return it.next.bind(it);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
+
var initialState = {
|
|
108
|
+
path: '',
|
|
109
|
+
loading: false,
|
|
110
|
+
context: undefined,
|
|
111
|
+
flash: {
|
|
112
|
+
message: undefined,
|
|
113
|
+
type: undefined
|
|
114
|
+
},
|
|
115
|
+
action: {
|
|
116
|
+
action: undefined,
|
|
117
|
+
params: undefined
|
|
118
|
+
},
|
|
119
|
+
permissions: [],
|
|
120
|
+
errorStatus: undefined,
|
|
121
|
+
registry: {},
|
|
122
|
+
refresh: undefined
|
|
123
|
+
};
|
|
124
|
+
var GuillotinaReducerActionTypes;
|
|
125
|
+
|
|
126
|
+
(function (GuillotinaReducerActionTypes) {
|
|
127
|
+
GuillotinaReducerActionTypes["SET_PATH"] = "SET_PATH";
|
|
128
|
+
GuillotinaReducerActionTypes["SET_CONTEXT"] = "SET_CONTEXT";
|
|
129
|
+
GuillotinaReducerActionTypes["SET_ERROR"] = "SET_ERROR";
|
|
130
|
+
GuillotinaReducerActionTypes["SET_FLASH"] = "SET_FLASH";
|
|
131
|
+
GuillotinaReducerActionTypes["CLEAR_FLASH"] = "CLEAR_FLASH";
|
|
132
|
+
GuillotinaReducerActionTypes["SET_ACTION"] = "SET_ACTION";
|
|
133
|
+
GuillotinaReducerActionTypes["CLEAR_ACTION"] = "CLEAR_ACTION";
|
|
134
|
+
GuillotinaReducerActionTypes["REFRESH"] = "REFRESH";
|
|
135
|
+
GuillotinaReducerActionTypes["APPLY"] = "APPLY";
|
|
136
|
+
})(GuillotinaReducerActionTypes || (GuillotinaReducerActionTypes = {}));
|
|
137
|
+
|
|
138
|
+
function guillotinaReducer(state, action) {
|
|
139
|
+
switch (action.type) {
|
|
140
|
+
case GuillotinaReducerActionTypes.SET_PATH:
|
|
141
|
+
return _extends({}, state, {
|
|
142
|
+
path: action.payload.path,
|
|
143
|
+
loading: true
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
case GuillotinaReducerActionTypes.SET_CONTEXT:
|
|
147
|
+
return _extends({}, state, action.payload, {
|
|
148
|
+
errorStatus: undefined,
|
|
149
|
+
loading: false
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
case GuillotinaReducerActionTypes.SET_ERROR:
|
|
153
|
+
return _extends({}, state, {
|
|
154
|
+
errorStatus: action.payload.errorStatus,
|
|
155
|
+
loading: false
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
case GuillotinaReducerActionTypes.SET_FLASH:
|
|
159
|
+
return _extends({}, state, action.payload);
|
|
160
|
+
|
|
161
|
+
case GuillotinaReducerActionTypes.CLEAR_FLASH:
|
|
162
|
+
return _extends({}, state, {
|
|
163
|
+
flash: {
|
|
164
|
+
message: undefined,
|
|
165
|
+
type: undefined
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
case GuillotinaReducerActionTypes.SET_ACTION:
|
|
170
|
+
return _extends({}, state, {
|
|
171
|
+
action: action.payload
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
case GuillotinaReducerActionTypes.CLEAR_ACTION:
|
|
175
|
+
return _extends({}, state, {
|
|
176
|
+
action: {
|
|
177
|
+
action: undefined,
|
|
178
|
+
params: undefined
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
case GuillotinaReducerActionTypes.REFRESH:
|
|
183
|
+
return _extends({}, state, {
|
|
184
|
+
refresh: Date.now(),
|
|
185
|
+
loading: !action.payload.transparent
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
case GuillotinaReducerActionTypes.APPLY:
|
|
189
|
+
return _extends({}, state, {
|
|
190
|
+
context: _extends({}, state.context, action.payload.context)
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
default:
|
|
194
|
+
return state;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
107
198
|
var AuthContext = createContext({});
|
|
108
199
|
var ClientContext = createContext(null);
|
|
109
200
|
var Traversal = /*#__PURE__*/function () {
|
|
@@ -134,7 +225,7 @@ var Traversal = /*#__PURE__*/function () {
|
|
|
134
225
|
transparent = _ref2$transparent === void 0 ? false : _ref2$transparent;
|
|
135
226
|
|
|
136
227
|
this.dispatch({
|
|
137
|
-
type:
|
|
228
|
+
type: GuillotinaReducerActionTypes.REFRESH,
|
|
138
229
|
payload: {
|
|
139
230
|
transparent: transparent
|
|
140
231
|
}
|
|
@@ -142,15 +233,18 @@ var Traversal = /*#__PURE__*/function () {
|
|
|
142
233
|
};
|
|
143
234
|
|
|
144
235
|
_proto.apply = function apply(data) {
|
|
236
|
+
// apply a optimistic update to context
|
|
145
237
|
this.dispatch({
|
|
146
|
-
type:
|
|
147
|
-
payload:
|
|
238
|
+
type: GuillotinaReducerActionTypes.APPLY,
|
|
239
|
+
payload: {
|
|
240
|
+
context: data
|
|
241
|
+
}
|
|
148
242
|
});
|
|
149
243
|
};
|
|
150
244
|
|
|
151
245
|
_proto.flash = function flash(message, type) {
|
|
152
246
|
this.dispatch({
|
|
153
|
-
type:
|
|
247
|
+
type: GuillotinaReducerActionTypes.SET_FLASH,
|
|
154
248
|
payload: {
|
|
155
249
|
flash: {
|
|
156
250
|
message: message,
|
|
@@ -167,7 +261,8 @@ var Traversal = /*#__PURE__*/function () {
|
|
|
167
261
|
|
|
168
262
|
_proto.clearFlash = function clearFlash() {
|
|
169
263
|
this.dispatch({
|
|
170
|
-
type:
|
|
264
|
+
type: GuillotinaReducerActionTypes.CLEAR_FLASH,
|
|
265
|
+
payload: {}
|
|
171
266
|
});
|
|
172
267
|
};
|
|
173
268
|
|
|
@@ -177,7 +272,7 @@ var Traversal = /*#__PURE__*/function () {
|
|
|
177
272
|
}
|
|
178
273
|
|
|
179
274
|
this.dispatch({
|
|
180
|
-
type:
|
|
275
|
+
type: GuillotinaReducerActionTypes.SET_ACTION,
|
|
181
276
|
payload: {
|
|
182
277
|
action: action,
|
|
183
278
|
params: params
|
|
@@ -187,7 +282,8 @@ var Traversal = /*#__PURE__*/function () {
|
|
|
187
282
|
|
|
188
283
|
_proto.cancelAction = function cancelAction() {
|
|
189
284
|
this.dispatch({
|
|
190
|
-
type:
|
|
285
|
+
type: GuillotinaReducerActionTypes.CLEAR_ACTION,
|
|
286
|
+
payload: {}
|
|
191
287
|
});
|
|
192
288
|
};
|
|
193
289
|
|
|
@@ -224,6 +320,10 @@ var Traversal = /*#__PURE__*/function () {
|
|
|
224
320
|
}, {
|
|
225
321
|
key: "context",
|
|
226
322
|
get: function get() {
|
|
323
|
+
if (this.state.context === undefined) {
|
|
324
|
+
throw new Error('Context is not loaded');
|
|
325
|
+
}
|
|
326
|
+
|
|
227
327
|
return this.state.context;
|
|
228
328
|
}
|
|
229
329
|
}, {
|
|
@@ -246,7 +346,13 @@ function TraversalProvider(_ref3) {
|
|
|
246
346
|
});
|
|
247
347
|
}
|
|
248
348
|
function useTraversal() {
|
|
249
|
-
|
|
349
|
+
var traversal = useContext(TraversalContext);
|
|
350
|
+
|
|
351
|
+
if (!traversal) {
|
|
352
|
+
throw new Error('useTraversal must be used within a TraversalProvider');
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
return traversal;
|
|
250
356
|
}
|
|
251
357
|
function ClientProvider(_ref4) {
|
|
252
358
|
var children = _ref4.children,
|
|
@@ -257,7 +363,13 @@ function ClientProvider(_ref4) {
|
|
|
257
363
|
});
|
|
258
364
|
}
|
|
259
365
|
function useGuillotinaClient() {
|
|
260
|
-
|
|
366
|
+
var client = useContext(ClientContext);
|
|
367
|
+
|
|
368
|
+
if (!client) {
|
|
369
|
+
throw new Error('useGuillotinaClient must be used within a ClientProvider');
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
return client;
|
|
261
373
|
}
|
|
262
374
|
|
|
263
375
|
var genericMessages = defineMessages({
|
|
@@ -764,8 +876,10 @@ function base64ToArrayBuffer(base64) {
|
|
|
764
876
|
return bytes;
|
|
765
877
|
}
|
|
766
878
|
function stringToSlug(str) {
|
|
767
|
-
str = str.replace(/^\s+|\s+$/g, '');
|
|
768
|
-
|
|
879
|
+
str = str.replace(/^\s+|\s+$/g, ''); // trim
|
|
880
|
+
|
|
881
|
+
str = str.toLowerCase(); // remove accents, swap ñ for n, etc
|
|
882
|
+
|
|
769
883
|
var from = 'àáäâèéëêìíïîòóöôùúüûñç·/_,:;';
|
|
770
884
|
var to = 'aaaaeeeeiiiioooouuuunc------';
|
|
771
885
|
|
|
@@ -773,13 +887,16 @@ function stringToSlug(str) {
|
|
|
773
887
|
str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
|
|
774
888
|
}
|
|
775
889
|
|
|
776
|
-
str = str.replace(/[^a-z0-9 -]/g, '')
|
|
890
|
+
str = str.replace(/[^a-z0-9 -]/g, '') // remove invalid chars
|
|
891
|
+
.replace(/\s+/g, '-') // collapse whitespace and replace by -
|
|
892
|
+
.replace(/-+/g, '-'); // collapse dashes
|
|
893
|
+
|
|
777
894
|
return str;
|
|
778
895
|
}
|
|
779
896
|
function sleep(ms) {
|
|
780
897
|
return new Promise(function (resolve) {
|
|
781
898
|
setTimeout(function () {
|
|
782
|
-
resolve(
|
|
899
|
+
resolve();
|
|
783
900
|
}, ms);
|
|
784
901
|
});
|
|
785
902
|
}
|
|
@@ -808,8 +925,6 @@ var getActionsObject = function getActionsObject(intl, multiple) {
|
|
|
808
925
|
};
|
|
809
926
|
|
|
810
927
|
var Button = function Button(_ref) {
|
|
811
|
-
var _ref2;
|
|
812
|
-
|
|
813
928
|
var children = _ref.children,
|
|
814
929
|
_ref$className = _ref.className,
|
|
815
930
|
className = _ref$className === void 0 ? 'is-primary' : _ref$className,
|
|
@@ -821,9 +936,7 @@ var Button = function Button(_ref) {
|
|
|
821
936
|
_ref$disabled = _ref.disabled,
|
|
822
937
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
823
938
|
dataTest = _ref.dataTest;
|
|
824
|
-
|
|
825
|
-
var css = (_ref2 = []).concat.apply(_ref2, ['button'].concat(className.split(' ')));
|
|
826
|
-
|
|
939
|
+
var css = [].concat(className.split(' '), ['button']);
|
|
827
940
|
if (loading) css = css.concat('is-loading');
|
|
828
941
|
return jsx("p", {
|
|
829
942
|
className: "control",
|
|
@@ -838,6 +951,50 @@ var Button = function Button(_ref) {
|
|
|
838
951
|
});
|
|
839
952
|
};
|
|
840
953
|
|
|
954
|
+
var formatDate = function formatDate(str) {
|
|
955
|
+
var d = new Date(str);
|
|
956
|
+
var minutes = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();
|
|
957
|
+
return d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear() + " " + d.getHours() + ":" + minutes;
|
|
958
|
+
};
|
|
959
|
+
var get = function get(obj, path, defValue) {
|
|
960
|
+
var _pathArray$reduce;
|
|
961
|
+
|
|
962
|
+
// If path is not defined or it has false value
|
|
963
|
+
if (!path) return defValue; // Check if path is string or array. Regex : ensure that we do not have '.' and brackets.
|
|
964
|
+
// Regex explained: https://regexr.com/58j0k
|
|
965
|
+
|
|
966
|
+
var pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g); // Find value if exist return otherwise return undefined value;
|
|
967
|
+
|
|
968
|
+
if (pathArray === null) return defValue;
|
|
969
|
+
return (_pathArray$reduce = pathArray.reduce(function (prevObj, key) {
|
|
970
|
+
return prevObj && prevObj[key];
|
|
971
|
+
}, obj)) != null ? _pathArray$reduce : defValue;
|
|
972
|
+
};
|
|
973
|
+
function getNewId(id) {
|
|
974
|
+
if (id === void 0) {
|
|
975
|
+
id = '';
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
var suffix = '-copy-';
|
|
979
|
+
var rgx = new RegExp("($|" + suffix + "\\d*)");
|
|
980
|
+
return stringToSlug(id).replace(rgx, function (r) {
|
|
981
|
+
var num = parseInt(r.replace(suffix, '') || '0');
|
|
982
|
+
return "" + suffix + (num + 1);
|
|
983
|
+
});
|
|
984
|
+
}
|
|
985
|
+
function debounce(callback, wait) {
|
|
986
|
+
var timer;
|
|
987
|
+
return function () {
|
|
988
|
+
var _arguments = arguments;
|
|
989
|
+
clearTimeout(timer);
|
|
990
|
+
return new Promise(function (resolve) {
|
|
991
|
+
timer = setTimeout(function () {
|
|
992
|
+
return resolve(callback.apply(void 0, [].slice.call(_arguments)));
|
|
993
|
+
}, wait);
|
|
994
|
+
});
|
|
995
|
+
};
|
|
996
|
+
}
|
|
997
|
+
|
|
841
998
|
function Modal(props) {
|
|
842
999
|
var isActive = props.isActive,
|
|
843
1000
|
setActive = props.setActive,
|
|
@@ -917,7 +1074,8 @@ function Confirm(_ref) {
|
|
|
917
1074
|
})]
|
|
918
1075
|
})]
|
|
919
1076
|
});
|
|
920
|
-
}
|
|
1077
|
+
} // @todo Improve it... Replacing the inputText to a tree
|
|
1078
|
+
|
|
921
1079
|
function PathTree(_ref2) {
|
|
922
1080
|
var title = _ref2.title,
|
|
923
1081
|
defaultPath = _ref2.defaultPath,
|
|
@@ -933,7 +1091,7 @@ function PathTree(_ref2) {
|
|
|
933
1091
|
}), jsxs("form", {
|
|
934
1092
|
onSubmit: function onSubmit(e) {
|
|
935
1093
|
e.preventDefault();
|
|
936
|
-
onConfirm(e.
|
|
1094
|
+
onConfirm(get(e, 'target.0.value', ''), e.target);
|
|
937
1095
|
},
|
|
938
1096
|
children: [jsx("small", {
|
|
939
1097
|
style: {
|
|
@@ -965,51 +1123,6 @@ function PathTree(_ref2) {
|
|
|
965
1123
|
});
|
|
966
1124
|
}
|
|
967
1125
|
|
|
968
|
-
function useSetState(initialState) {
|
|
969
|
-
var _useState = useState(initialState),
|
|
970
|
-
state = _useState[0],
|
|
971
|
-
set = _useState[1];
|
|
972
|
-
|
|
973
|
-
var setState = useCallback(function (patch) {
|
|
974
|
-
set(function (prevState) {
|
|
975
|
-
return Object.assign({}, prevState, patch instanceof Function ? patch(prevState) : patch);
|
|
976
|
-
});
|
|
977
|
-
}, [set]);
|
|
978
|
-
return [state, setState];
|
|
979
|
-
}
|
|
980
|
-
|
|
981
|
-
function _catch(body, recover) {
|
|
982
|
-
try {
|
|
983
|
-
var result = body();
|
|
984
|
-
} catch (e) {
|
|
985
|
-
return recover(e);
|
|
986
|
-
}
|
|
987
|
-
|
|
988
|
-
if (result && result.then) {
|
|
989
|
-
return result.then(void 0, recover);
|
|
990
|
-
}
|
|
991
|
-
|
|
992
|
-
return result;
|
|
993
|
-
}
|
|
994
|
-
|
|
995
|
-
var initial = {
|
|
996
|
-
loading: undefined,
|
|
997
|
-
isError: false,
|
|
998
|
-
errorMessage: undefined,
|
|
999
|
-
result: undefined,
|
|
1000
|
-
response: undefined
|
|
1001
|
-
};
|
|
1002
|
-
|
|
1003
|
-
var getErrorMessage = function getErrorMessage(dataError, defaultValue) {
|
|
1004
|
-
if (dataError && dataError.details) {
|
|
1005
|
-
return dataError.details;
|
|
1006
|
-
} else if (dataError && dataError.reason) {
|
|
1007
|
-
return dataError.reason;
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
return defaultValue;
|
|
1011
|
-
};
|
|
1012
|
-
|
|
1013
1126
|
var processResponse = function processResponse(res, ready_body) {
|
|
1014
1127
|
if (ready_body === void 0) {
|
|
1015
1128
|
ready_body = true;
|
|
@@ -1029,7 +1142,7 @@ var processResponse = function processResponse(res, ready_body) {
|
|
|
1029
1142
|
return {
|
|
1030
1143
|
isError: true,
|
|
1031
1144
|
loading: false,
|
|
1032
|
-
errorMessage: getErrorMessage(_res$json2, res.status),
|
|
1145
|
+
errorMessage: getErrorMessage(_res$json2, res.status).toString(),
|
|
1033
1146
|
response: res
|
|
1034
1147
|
};
|
|
1035
1148
|
});
|
|
@@ -1038,10 +1151,66 @@ var processResponse = function processResponse(res, ready_body) {
|
|
|
1038
1151
|
}
|
|
1039
1152
|
};
|
|
1040
1153
|
|
|
1041
|
-
var
|
|
1154
|
+
var getErrorMessage = function getErrorMessage(dataError, defaultValue) {
|
|
1155
|
+
if (dataError && dataError.details) {
|
|
1156
|
+
return dataError.details;
|
|
1157
|
+
} else if (dataError && dataError.reason) {
|
|
1158
|
+
return dataError.reason;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
return defaultValue;
|
|
1162
|
+
};
|
|
1163
|
+
|
|
1164
|
+
/**
|
|
1165
|
+
* Do setState like react class component.
|
|
1166
|
+
*/
|
|
1167
|
+
|
|
1168
|
+
function useSetState(initialState) {
|
|
1169
|
+
var _useState = useState(initialState),
|
|
1170
|
+
state = _useState[0],
|
|
1171
|
+
setState = _useState[1]; // Function which accepts a partial state to merge
|
|
1172
|
+
|
|
1173
|
+
|
|
1174
|
+
var setCustomState = useCallback(function (newPartialState) {
|
|
1175
|
+
try {
|
|
1176
|
+
setState(function (prevState) {
|
|
1177
|
+
return _extends({}, prevState, newPartialState);
|
|
1178
|
+
});
|
|
1179
|
+
} catch (error) {
|
|
1180
|
+
// eslint-disable-next-line no-console
|
|
1181
|
+
console.error(error);
|
|
1182
|
+
}
|
|
1183
|
+
}, []); // Return
|
|
1184
|
+
|
|
1185
|
+
return [state, setCustomState];
|
|
1186
|
+
} // **** Export Default **** //
|
|
1187
|
+
|
|
1188
|
+
function _catch(body, recover) {
|
|
1189
|
+
try {
|
|
1190
|
+
var result = body();
|
|
1191
|
+
} catch (e) {
|
|
1192
|
+
return recover(e);
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
if (result && result.then) {
|
|
1196
|
+
return result.then(void 0, recover);
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
return result;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
var initial = {
|
|
1203
|
+
loading: undefined,
|
|
1204
|
+
isError: false,
|
|
1205
|
+
errorMessage: undefined,
|
|
1206
|
+
result: undefined,
|
|
1207
|
+
response: undefined
|
|
1208
|
+
};
|
|
1209
|
+
|
|
1210
|
+
function patch(setState, Ctx) {
|
|
1042
1211
|
return function (data, endpoint, body) {
|
|
1043
|
-
if (
|
|
1044
|
-
|
|
1212
|
+
if (data === void 0) {
|
|
1213
|
+
data = {};
|
|
1045
1214
|
}
|
|
1046
1215
|
|
|
1047
1216
|
if (body === void 0) {
|
|
@@ -1049,7 +1218,7 @@ var patch = function patch(setState, Ctx) {
|
|
|
1049
1218
|
}
|
|
1050
1219
|
|
|
1051
1220
|
try {
|
|
1052
|
-
function
|
|
1221
|
+
function _temp3() {
|
|
1053
1222
|
setState(newState);
|
|
1054
1223
|
return newState;
|
|
1055
1224
|
}
|
|
@@ -1059,7 +1228,7 @@ var patch = function patch(setState, Ctx) {
|
|
|
1059
1228
|
});
|
|
1060
1229
|
var newState = {};
|
|
1061
1230
|
|
|
1062
|
-
var
|
|
1231
|
+
var _temp4 = _catch(function () {
|
|
1063
1232
|
var path = endpoint ? "" + Ctx.path + endpoint : Ctx.path;
|
|
1064
1233
|
return Promise.resolve(Ctx.client.patch(path, data)).then(function (res) {
|
|
1065
1234
|
return Promise.resolve(processResponse(res, body)).then(function (_processResponse) {
|
|
@@ -1074,29 +1243,25 @@ var patch = function patch(setState, Ctx) {
|
|
|
1074
1243
|
};
|
|
1075
1244
|
});
|
|
1076
1245
|
|
|
1077
|
-
return Promise.resolve(
|
|
1246
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
1078
1247
|
} catch (e) {
|
|
1079
1248
|
return Promise.reject(e);
|
|
1080
1249
|
}
|
|
1081
1250
|
};
|
|
1082
|
-
}
|
|
1251
|
+
}
|
|
1083
1252
|
|
|
1084
|
-
|
|
1253
|
+
function del(setState, Ctx) {
|
|
1085
1254
|
return function (data, endpoint, body) {
|
|
1086
1255
|
if (data === void 0) {
|
|
1087
1256
|
data = {};
|
|
1088
1257
|
}
|
|
1089
1258
|
|
|
1090
|
-
if (endpoint === void 0) {
|
|
1091
|
-
endpoint = undefined;
|
|
1092
|
-
}
|
|
1093
|
-
|
|
1094
1259
|
if (body === void 0) {
|
|
1095
1260
|
body = false;
|
|
1096
1261
|
}
|
|
1097
1262
|
|
|
1098
1263
|
try {
|
|
1099
|
-
function
|
|
1264
|
+
function _temp7() {
|
|
1100
1265
|
setState(newState);
|
|
1101
1266
|
return newState;
|
|
1102
1267
|
}
|
|
@@ -1106,7 +1271,7 @@ var del = function del(setState, Ctx) {
|
|
|
1106
1271
|
});
|
|
1107
1272
|
var newState = {};
|
|
1108
1273
|
|
|
1109
|
-
var
|
|
1274
|
+
var _temp8 = _catch(function () {
|
|
1110
1275
|
var path = endpoint ? "" + Ctx.path + endpoint : Ctx.path;
|
|
1111
1276
|
return Promise.resolve(Ctx.client.delete(path, data)).then(function (res) {
|
|
1112
1277
|
return Promise.resolve(processResponse(res, body)).then(function (_processResponse2) {
|
|
@@ -1121,17 +1286,17 @@ var del = function del(setState, Ctx) {
|
|
|
1121
1286
|
};
|
|
1122
1287
|
});
|
|
1123
1288
|
|
|
1124
|
-
return Promise.resolve(
|
|
1289
|
+
return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
|
|
1125
1290
|
} catch (e) {
|
|
1126
1291
|
return Promise.reject(e);
|
|
1127
1292
|
}
|
|
1128
1293
|
};
|
|
1129
|
-
}
|
|
1294
|
+
}
|
|
1130
1295
|
|
|
1131
|
-
|
|
1296
|
+
function post(setState, Ctx) {
|
|
1132
1297
|
return function (data, endpoint, body) {
|
|
1133
|
-
if (
|
|
1134
|
-
|
|
1298
|
+
if (data === void 0) {
|
|
1299
|
+
data = {};
|
|
1135
1300
|
}
|
|
1136
1301
|
|
|
1137
1302
|
if (body === void 0) {
|
|
@@ -1139,7 +1304,7 @@ var post = function post(setState, Ctx) {
|
|
|
1139
1304
|
}
|
|
1140
1305
|
|
|
1141
1306
|
try {
|
|
1142
|
-
function
|
|
1307
|
+
function _temp11() {
|
|
1143
1308
|
setState(newState);
|
|
1144
1309
|
return newState;
|
|
1145
1310
|
}
|
|
@@ -1149,7 +1314,7 @@ var post = function post(setState, Ctx) {
|
|
|
1149
1314
|
});
|
|
1150
1315
|
var newState = {};
|
|
1151
1316
|
|
|
1152
|
-
var
|
|
1317
|
+
var _temp12 = _catch(function () {
|
|
1153
1318
|
var path = endpoint ? "" + Ctx.path + endpoint : Ctx.path;
|
|
1154
1319
|
return Promise.resolve(Ctx.client.post(path, data)).then(function (res) {
|
|
1155
1320
|
return Promise.resolve(processResponse(res, body)).then(function (_processResponse3) {
|
|
@@ -1164,21 +1329,17 @@ var post = function post(setState, Ctx) {
|
|
|
1164
1329
|
};
|
|
1165
1330
|
});
|
|
1166
1331
|
|
|
1167
|
-
return Promise.resolve(
|
|
1332
|
+
return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(_temp11) : _temp11(_temp12));
|
|
1168
1333
|
} catch (e) {
|
|
1169
1334
|
return Promise.reject(e);
|
|
1170
1335
|
}
|
|
1171
1336
|
};
|
|
1172
|
-
}
|
|
1337
|
+
}
|
|
1173
1338
|
|
|
1174
|
-
|
|
1339
|
+
function get$1(setState, Ctx) {
|
|
1175
1340
|
return function (endpoint) {
|
|
1176
|
-
if (endpoint === void 0) {
|
|
1177
|
-
endpoint = undefined;
|
|
1178
|
-
}
|
|
1179
|
-
|
|
1180
1341
|
try {
|
|
1181
|
-
function
|
|
1342
|
+
function _temp15() {
|
|
1182
1343
|
setState(newState);
|
|
1183
1344
|
return newState;
|
|
1184
1345
|
}
|
|
@@ -1188,7 +1349,7 @@ var get = function get(setState, Ctx) {
|
|
|
1188
1349
|
});
|
|
1189
1350
|
var newState = {};
|
|
1190
1351
|
|
|
1191
|
-
var
|
|
1352
|
+
var _temp16 = _catch(function () {
|
|
1192
1353
|
var path = endpoint ? "" + Ctx.path + endpoint : Ctx.path;
|
|
1193
1354
|
return Promise.resolve(Ctx.client.get(path)).then(function (res) {
|
|
1194
1355
|
return Promise.resolve(processResponse(res, true)).then(function (_processResponse4) {
|
|
@@ -1203,12 +1364,16 @@ var get = function get(setState, Ctx) {
|
|
|
1203
1364
|
};
|
|
1204
1365
|
});
|
|
1205
1366
|
|
|
1206
|
-
return Promise.resolve(
|
|
1367
|
+
return Promise.resolve(_temp16 && _temp16.then ? _temp16.then(_temp15) : _temp15(_temp16));
|
|
1207
1368
|
} catch (e) {
|
|
1208
1369
|
return Promise.reject(e);
|
|
1209
1370
|
}
|
|
1210
1371
|
};
|
|
1211
|
-
}
|
|
1372
|
+
} // const get = (
|
|
1373
|
+
// setState: (value: Partial<State>) => void,
|
|
1374
|
+
// Ctx: Traversal
|
|
1375
|
+
// ) =>
|
|
1376
|
+
|
|
1212
1377
|
|
|
1213
1378
|
function useCrudContext() {
|
|
1214
1379
|
var Ctx = useTraversal();
|
|
@@ -1222,7 +1387,7 @@ function useCrudContext() {
|
|
|
1222
1387
|
patch: patch(setState, Ctx),
|
|
1223
1388
|
del: del(setState, Ctx),
|
|
1224
1389
|
post: post(setState, Ctx),
|
|
1225
|
-
get: get(setState, Ctx)
|
|
1390
|
+
get: get$1(setState, Ctx)
|
|
1226
1391
|
});
|
|
1227
1392
|
}
|
|
1228
1393
|
|
|
@@ -1270,9 +1435,6 @@ function AddItem(props) {
|
|
|
1270
1435
|
children: jsx(Form, {
|
|
1271
1436
|
loading: loading,
|
|
1272
1437
|
onSubmit: doSubmit,
|
|
1273
|
-
onError: function onError(err) {
|
|
1274
|
-
return console.log(err);
|
|
1275
|
-
},
|
|
1276
1438
|
actionName: 'Add ' + type,
|
|
1277
1439
|
title: 'Add ' + type,
|
|
1278
1440
|
type: type,
|
|
@@ -1282,31 +1444,52 @@ function AddItem(props) {
|
|
|
1282
1444
|
}
|
|
1283
1445
|
|
|
1284
1446
|
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'];
|
|
1285
|
-
var
|
|
1447
|
+
var defaultConfig = {
|
|
1286
1448
|
DisabledTypes: ['UserManager', 'GroupManager'],
|
|
1287
1449
|
PageSize: 10,
|
|
1288
1450
|
DelayActions: 200,
|
|
1289
1451
|
Permissions: Permissions,
|
|
1290
1452
|
SearchEngine: 'PostreSQL',
|
|
1453
|
+
// Elasticsearch
|
|
1291
1454
|
fieldHaveDeleteButton: function fieldHaveDeleteButton(schema) {
|
|
1292
1455
|
return (schema == null ? void 0 : schema.widget) === 'file' || (schema == null ? void 0 : schema.widget) === 'select' || (schema == null ? void 0 : schema.type) === 'array';
|
|
1293
1456
|
}
|
|
1294
1457
|
};
|
|
1295
|
-
var calculated = Object.assign({},
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
var
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1458
|
+
var calculated = Object.assign({}, defaultConfig);
|
|
1459
|
+
|
|
1460
|
+
function addConfig(updates, currentConfig) {
|
|
1461
|
+
var updatedConfig = _extends({}, currentConfig);
|
|
1462
|
+
|
|
1463
|
+
Object.entries(updates).forEach(function (_ref) {
|
|
1464
|
+
var key = _ref[0],
|
|
1465
|
+
value = _ref[1];
|
|
1466
|
+
var currentKey = key;
|
|
1467
|
+
var currentValue = currentConfig[currentKey];
|
|
1468
|
+
|
|
1469
|
+
if (Array.isArray(value) && Array.isArray(currentValue)) {
|
|
1470
|
+
var _extends2;
|
|
1471
|
+
|
|
1472
|
+
// Correctly type the array concatenation
|
|
1473
|
+
updatedConfig = _extends({}, updatedConfig, (_extends2 = {}, _extends2[currentKey] = [].concat(currentValue, value), _extends2));
|
|
1474
|
+
} else if (isPlainObject(value) && isPlainObject(currentValue)) {
|
|
1475
|
+
var _extends3;
|
|
1476
|
+
|
|
1477
|
+
// Correctly type the object merging
|
|
1478
|
+
updatedConfig = _extends({}, updatedConfig, (_extends3 = {}, _extends3[currentKey] = _extends({}, currentValue, value), _extends3));
|
|
1304
1479
|
} else {
|
|
1305
|
-
|
|
1480
|
+
var _extends4;
|
|
1481
|
+
|
|
1482
|
+
// Directly assign all other types
|
|
1483
|
+
updatedConfig = _extends({}, updatedConfig, (_extends4 = {}, _extends4[currentKey] = value, _extends4));
|
|
1306
1484
|
}
|
|
1307
1485
|
});
|
|
1308
|
-
return
|
|
1309
|
-
}
|
|
1486
|
+
return updatedConfig;
|
|
1487
|
+
} // Helper function to check if a value is a plain object (and not a React node, etc.)
|
|
1488
|
+
|
|
1489
|
+
|
|
1490
|
+
function isPlainObject(value) {
|
|
1491
|
+
return Object.prototype.toString.call(value) === '[object Object]';
|
|
1492
|
+
}
|
|
1310
1493
|
|
|
1311
1494
|
function useConfig(cfg) {
|
|
1312
1495
|
if (cfg === void 0) {
|
|
@@ -1330,7 +1513,7 @@ function RemoveItems(props) {
|
|
|
1330
1513
|
setLoading(true);
|
|
1331
1514
|
var actions = items.map(function (item) {
|
|
1332
1515
|
try {
|
|
1333
|
-
return Promise.resolve(Ctx.client.delete("" + Ctx.path + item
|
|
1516
|
+
return Promise.resolve(Ctx.client.delete("" + Ctx.path + item.id, {})).then(function (res) {
|
|
1334
1517
|
var _temp = function () {
|
|
1335
1518
|
if (!res.ok) {
|
|
1336
1519
|
return Promise.resolve(res.json()).then(function (err) {
|
|
@@ -1344,7 +1527,9 @@ function RemoveItems(props) {
|
|
|
1344
1527
|
} catch (e) {
|
|
1345
1528
|
return Promise.reject(e);
|
|
1346
1529
|
}
|
|
1347
|
-
});
|
|
1530
|
+
}); // this sleep is here, to let elasticsearch, wait for
|
|
1531
|
+
// index our operations... (will work 99% of use cases)
|
|
1532
|
+
|
|
1348
1533
|
actions.push(sleep(cfg.DelayActions));
|
|
1349
1534
|
return Promise.resolve(Promise.all(actions)).then(function () {
|
|
1350
1535
|
if (errors.length === 0) {
|
|
@@ -1374,9 +1559,9 @@ function RemoveItems(props) {
|
|
|
1374
1559
|
|
|
1375
1560
|
var _props$items = props.items,
|
|
1376
1561
|
items = _props$items === void 0 ? [] : _props$items;
|
|
1377
|
-
var last = items[items.length - 1]
|
|
1562
|
+
var last = items[items.length - 1].id;
|
|
1378
1563
|
var itemsNames = items.map(function (item) {
|
|
1379
|
-
return item
|
|
1564
|
+
return item.id;
|
|
1380
1565
|
}).join(', ').replace(", " + last, " and " + last);
|
|
1381
1566
|
return jsx(Confirm, {
|
|
1382
1567
|
loading: loading,
|
|
@@ -1403,7 +1588,7 @@ var Checkbox = function Checkbox(_ref) {
|
|
|
1403
1588
|
dataTest = _ref.dataTest;
|
|
1404
1589
|
var inputRef = useRef(null);
|
|
1405
1590
|
|
|
1406
|
-
var _useState = useState(checked),
|
|
1591
|
+
var _useState = useState(!!checked),
|
|
1407
1592
|
state = _useState[0],
|
|
1408
1593
|
setState = _useState[1];
|
|
1409
1594
|
|
|
@@ -1422,13 +1607,13 @@ var Checkbox = function Checkbox(_ref) {
|
|
|
1422
1607
|
className: "field",
|
|
1423
1608
|
children: jsxs("label", {
|
|
1424
1609
|
htmlFor: id,
|
|
1425
|
-
className: classnames(['checkbox', className]),
|
|
1610
|
+
className: classnames(['checkbox', className != null ? className : '']),
|
|
1426
1611
|
children: [jsx("input", {
|
|
1427
1612
|
ref: inputRef,
|
|
1428
1613
|
disabled: disabled || loading,
|
|
1429
1614
|
id: id,
|
|
1430
1615
|
type: "checkbox",
|
|
1431
|
-
className: classnames(['checkbox', classNameInput]),
|
|
1616
|
+
className: classnames(['checkbox', classNameInput != null ? classNameInput : '']),
|
|
1432
1617
|
checked: state,
|
|
1433
1618
|
onChange: updateState,
|
|
1434
1619
|
"data-test": dataTest
|
|
@@ -1466,7 +1651,7 @@ var applyValidators = function applyValidators(value, validators) {
|
|
|
1466
1651
|
return result;
|
|
1467
1652
|
};
|
|
1468
1653
|
|
|
1469
|
-
var useInput = function useInput(onChange, value,
|
|
1654
|
+
var useInput = function useInput(onChange, value, validators) {
|
|
1470
1655
|
var _useState = useState({
|
|
1471
1656
|
hasError: false,
|
|
1472
1657
|
value: value
|
|
@@ -1475,7 +1660,7 @@ var useInput = function useInput(onChange, value, validator) {
|
|
|
1475
1660
|
setState = _useState[1];
|
|
1476
1661
|
|
|
1477
1662
|
var onUpdate = function onUpdate(ev) {
|
|
1478
|
-
var value = ev && ev.target ? ev.target.value :
|
|
1663
|
+
var value = ev && ev.target ? ev.target.value : '';
|
|
1479
1664
|
setState({
|
|
1480
1665
|
value: value,
|
|
1481
1666
|
hasError: false
|
|
@@ -1484,7 +1669,7 @@ var useInput = function useInput(onChange, value, validator) {
|
|
|
1484
1669
|
};
|
|
1485
1670
|
|
|
1486
1671
|
var onBlur = function onBlur() {
|
|
1487
|
-
var hasError = applyValidators(state.value,
|
|
1672
|
+
var hasError = applyValidators(state.value, validators) === false;
|
|
1488
1673
|
if (hasError) setState({
|
|
1489
1674
|
value: state.value,
|
|
1490
1675
|
hasError: hasError
|
|
@@ -1514,6 +1699,9 @@ var useInput = function useInput(onChange, value, validator) {
|
|
|
1514
1699
|
};
|
|
1515
1700
|
};
|
|
1516
1701
|
|
|
1702
|
+
// From github.com/protonmail/proton-shared
|
|
1703
|
+
|
|
1704
|
+
/* eslint-disable no-useless-escape */
|
|
1517
1705
|
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;
|
|
1518
1706
|
var REGEX_URL = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-_]*)?\??(?:[\-\+=&;%@\.\w_]*)#?(?:[\.\!\/\\\w]*))?)/;
|
|
1519
1707
|
var REGEX_HEX_COLOR = /^#([a-f0-9]{3,4}|[a-f0-9]{4}(?:[a-f0-9]{2}){1,2})\b$/i;
|
|
@@ -1614,10 +1802,10 @@ var Input = forwardRef(function (_ref, ref) {
|
|
|
1614
1802
|
dataTest = _ref$dataTest === void 0 ? 'testInput' : _ref$dataTest,
|
|
1615
1803
|
disabled = _ref.disabled,
|
|
1616
1804
|
onKeyUp = _ref.onKeyUp;
|
|
1617
|
-
var validatorFn =
|
|
1805
|
+
var validatorFn = [];
|
|
1618
1806
|
|
|
1619
1807
|
if (required) {
|
|
1620
|
-
validatorFn = Array.isArray(validator) ?
|
|
1808
|
+
validatorFn = Array.isArray(validator) ? [].concat(validator, [notEmpty]) : [validator, notEmpty];
|
|
1621
1809
|
}
|
|
1622
1810
|
|
|
1623
1811
|
var _useInput = useInput(onChange, value != null ? value : '', validatorFn),
|
|
@@ -1629,17 +1817,18 @@ var Input = forwardRef(function (_ref, ref) {
|
|
|
1629
1817
|
|
|
1630
1818
|
var _useState2 = useState(false),
|
|
1631
1819
|
mounted = _useState2[0],
|
|
1632
|
-
setMounted = _useState2[1];
|
|
1820
|
+
setMounted = _useState2[1]; // eslint-disable-next-line
|
|
1821
|
+
|
|
1633
1822
|
|
|
1634
|
-
|
|
1823
|
+
var newRef = ref || useRef();
|
|
1635
1824
|
useEffect(function () {
|
|
1636
1825
|
setMounted(true);
|
|
1637
1826
|
}, []);
|
|
1638
1827
|
useEffect(function () {
|
|
1639
|
-
if (autofocus && !error &&
|
|
1640
|
-
|
|
1828
|
+
if (autofocus && !error && newRef != null && typeof newRef !== 'function' && newRef.current) {
|
|
1829
|
+
newRef.current.focus();
|
|
1641
1830
|
}
|
|
1642
|
-
}, [mounted, autofocus,
|
|
1831
|
+
}, [mounted, autofocus, newRef, error]);
|
|
1643
1832
|
var theError = state.hasError ? errorMessage || 'invalid field' : '';
|
|
1644
1833
|
var statusClasses = state.hasError ? 'is-danger' : '';
|
|
1645
1834
|
|
|
@@ -1680,7 +1869,8 @@ Input.displayName = 'Input';
|
|
|
1680
1869
|
|
|
1681
1870
|
var Icon = function Icon(_ref) {
|
|
1682
1871
|
var icon = _ref.icon,
|
|
1683
|
-
className = _ref.className,
|
|
1872
|
+
_ref$className = _ref.className,
|
|
1873
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
1684
1874
|
align = _ref.align;
|
|
1685
1875
|
var addClass = className ? className.split(' ') : [className];
|
|
1686
1876
|
align = align || 'is-right';
|
|
@@ -1791,24 +1981,26 @@ function FormBuilder(_ref) {
|
|
|
1791
1981
|
remotes = _ref$remotes === void 0 ? {} : _ref$remotes,
|
|
1792
1982
|
_ref$submitButton = _ref.submitButton,
|
|
1793
1983
|
submitButton = _ref$submitButton === void 0 ? true : _ref$submitButton;
|
|
1794
|
-
var ref = useRef();
|
|
1984
|
+
var ref = useRef(null);
|
|
1795
1985
|
var properties = schema.properties,
|
|
1796
1986
|
required = schema.required;
|
|
1797
|
-
var values = Object.assign({}, formData || {});
|
|
1987
|
+
var values = Object.assign({}, formData || {}); // build initial state
|
|
1988
|
+
|
|
1798
1989
|
var initialState = {};
|
|
1799
1990
|
var fields = Object.keys(properties).filter(function (x) {
|
|
1800
1991
|
return !exclude.includes(x);
|
|
1801
1992
|
});
|
|
1802
1993
|
fields.forEach(function (element) {
|
|
1803
1994
|
initialState[element] = values[element] || undefined;
|
|
1804
|
-
});
|
|
1995
|
+
}); // Register remotes
|
|
1805
1996
|
|
|
1806
|
-
if (
|
|
1997
|
+
if (ref.current === null) {
|
|
1807
1998
|
ref.current = {};
|
|
1808
1999
|
Object.keys(remotes).forEach(function (item) {
|
|
1809
2000
|
return ref.current[item] = remotes[item];
|
|
1810
2001
|
});
|
|
1811
2002
|
} else {
|
|
2003
|
+
// apply remote changes
|
|
1812
2004
|
Object.keys(remotes).forEach(function (key) {
|
|
1813
2005
|
if (JSON.stringify(ref.current[key]) !== JSON.stringify(remotes[key])) {
|
|
1814
2006
|
ref.current[key] = remotes[key];
|
|
@@ -1819,15 +2011,16 @@ function FormBuilder(_ref) {
|
|
|
1819
2011
|
ref.current = ref.current || {};
|
|
1820
2012
|
|
|
1821
2013
|
var onUpdate = function onUpdate(field) {
|
|
1822
|
-
return function (
|
|
1823
|
-
ref.current[field] =
|
|
2014
|
+
return function (value) {
|
|
2015
|
+
ref.current[field] = value;
|
|
1824
2016
|
};
|
|
1825
2017
|
};
|
|
1826
2018
|
|
|
1827
2019
|
var GetTag = function GetTag(_ref2) {
|
|
1828
2020
|
var field = _ref2.field;
|
|
1829
2021
|
var property = properties[field];
|
|
1830
|
-
var
|
|
2022
|
+
var key = property.widget || property.type;
|
|
2023
|
+
var Tag = formComponents[key];
|
|
1831
2024
|
var props = {
|
|
1832
2025
|
value: initialState[field],
|
|
1833
2026
|
onChange: onUpdate(field),
|
|
@@ -1842,7 +2035,6 @@ function FormBuilder(_ref) {
|
|
|
1842
2035
|
props.placeholder += ' *';
|
|
1843
2036
|
}
|
|
1844
2037
|
|
|
1845
|
-
Tag.displayName = field + "Field";
|
|
1846
2038
|
return jsx(Tag, _extends({}, props));
|
|
1847
2039
|
};
|
|
1848
2040
|
|
|
@@ -1911,9 +2103,13 @@ var Select = forwardRef(function (_ref, ref) {
|
|
|
1911
2103
|
selectValue = selectValue.concat([ev.target.selectedOptions[i].value]);
|
|
1912
2104
|
}
|
|
1913
2105
|
|
|
1914
|
-
onChange
|
|
2106
|
+
if (onChange) {
|
|
2107
|
+
onChange(selectValue);
|
|
2108
|
+
}
|
|
1915
2109
|
} else {
|
|
1916
|
-
onChange
|
|
2110
|
+
if (onChange) {
|
|
2111
|
+
onChange(ev.target.value);
|
|
2112
|
+
}
|
|
1917
2113
|
}
|
|
1918
2114
|
};
|
|
1919
2115
|
|
|
@@ -1962,39 +2158,12 @@ var Select = forwardRef(function (_ref, ref) {
|
|
|
1962
2158
|
});
|
|
1963
2159
|
Select.displayName = 'Select';
|
|
1964
2160
|
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
var _pathArray$reduce;
|
|
1972
|
-
|
|
1973
|
-
if (!path) return undefined;
|
|
1974
|
-
var pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
|
|
1975
|
-
return (_pathArray$reduce = pathArray.reduce(function (prevObj, key) {
|
|
1976
|
-
return prevObj && prevObj[key];
|
|
1977
|
-
}, obj)) != null ? _pathArray$reduce : defValue;
|
|
1978
|
-
};
|
|
1979
|
-
function getNewId(id) {
|
|
1980
|
-
if (id === void 0) {
|
|
1981
|
-
id = '';
|
|
1982
|
-
}
|
|
1983
|
-
|
|
1984
|
-
var suffix = '-copy-';
|
|
1985
|
-
var rgx = new RegExp("($|" + suffix + "\\d*)");
|
|
1986
|
-
return stringToSlug(id).replace(rgx, function (r) {
|
|
1987
|
-
var num = parseInt(r.replace(suffix, '') || '0');
|
|
1988
|
-
return "" + suffix + (num + 1);
|
|
1989
|
-
});
|
|
1990
|
-
}
|
|
1991
|
-
|
|
1992
|
-
function _catch$1(body, recover) {
|
|
1993
|
-
try {
|
|
1994
|
-
var result = body();
|
|
1995
|
-
} catch (e) {
|
|
1996
|
-
return recover(e);
|
|
1997
|
-
}
|
|
2161
|
+
function _catch$1(body, recover) {
|
|
2162
|
+
try {
|
|
2163
|
+
var result = body();
|
|
2164
|
+
} catch (e) {
|
|
2165
|
+
return recover(e);
|
|
2166
|
+
}
|
|
1998
2167
|
|
|
1999
2168
|
if (result && result.then) {
|
|
2000
2169
|
return result.then(void 0, recover);
|
|
@@ -2004,10 +2173,6 @@ function _catch$1(body, recover) {
|
|
|
2004
2173
|
}
|
|
2005
2174
|
|
|
2006
2175
|
function useVocabulary(vocabularyName, path) {
|
|
2007
|
-
if (path === void 0) {
|
|
2008
|
-
path = null;
|
|
2009
|
-
}
|
|
2010
|
-
|
|
2011
2176
|
var traversal = useTraversal();
|
|
2012
2177
|
|
|
2013
2178
|
var _useSetState = useSetState({
|
|
@@ -2076,8 +2241,10 @@ var SelectVocabulary = forwardRef(function (_ref, ref) {
|
|
|
2076
2241
|
var vocabulary = useVocabulary(vocabularyName);
|
|
2077
2242
|
|
|
2078
2243
|
var getOptions = function getOptions() {
|
|
2079
|
-
if (get
|
|
2080
|
-
var
|
|
2244
|
+
if (get(vocabulary, 'data.items', null)) {
|
|
2245
|
+
var _vocabulary$data$item, _vocabulary$data;
|
|
2246
|
+
|
|
2247
|
+
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) {
|
|
2081
2248
|
return {
|
|
2082
2249
|
text: item.title,
|
|
2083
2250
|
value: item.token
|
|
@@ -2123,6 +2290,8 @@ var SelectVocabulary = forwardRef(function (_ref, ref) {
|
|
|
2123
2290
|
});
|
|
2124
2291
|
SelectVocabulary.displayName = 'SelectVocabulary';
|
|
2125
2292
|
|
|
2293
|
+
// https://github.com/molefrog/wouter
|
|
2294
|
+
|
|
2126
2295
|
var setURLParams = function setURLParams(p) {
|
|
2127
2296
|
return window.history.pushState(0, '0', '' + '?' + p.toString().replace(/%2F/g, '/'));
|
|
2128
2297
|
};
|
|
@@ -2142,7 +2311,10 @@ var useLocation = function useLocation() {
|
|
|
2142
2311
|
|
|
2143
2312
|
var prevPath = useRef(path);
|
|
2144
2313
|
useEffect(function () {
|
|
2145
|
-
patchHistoryEvents();
|
|
2314
|
+
patchHistoryEvents(); // this function checks if the location has been changed since the
|
|
2315
|
+
// last render and updates the state only when needed.
|
|
2316
|
+
// unfortunately, we can't rely on `path` value here, since it can be stale,
|
|
2317
|
+
// that's why we store the last pathname in a ref.
|
|
2146
2318
|
|
|
2147
2319
|
var checkForUpdates = function checkForUpdates() {
|
|
2148
2320
|
var pathname = currentSearchParams();
|
|
@@ -2152,14 +2324,22 @@ var useLocation = function useLocation() {
|
|
|
2152
2324
|
var events = ['popstate', 'pushState', 'replaceState'];
|
|
2153
2325
|
events.map(function (e) {
|
|
2154
2326
|
return window.addEventListener(e, checkForUpdates);
|
|
2155
|
-
});
|
|
2327
|
+
}); // it's possible that an update has occurred between render and the effect handler,
|
|
2328
|
+
// so we run additional check on mount to catch these updates. Based on:
|
|
2329
|
+
// https://gist.github.com/bvaughn/e25397f70e8c65b0ae0d7c90b731b189
|
|
2330
|
+
|
|
2156
2331
|
checkForUpdates();
|
|
2157
2332
|
return function () {
|
|
2158
2333
|
events.map(function (e) {
|
|
2159
2334
|
return window.removeEventListener(e, checkForUpdates);
|
|
2160
2335
|
});
|
|
2161
2336
|
};
|
|
2162
|
-
}, []);
|
|
2337
|
+
}, []); // the 2nd argument of the `useLocation` return value is a function
|
|
2338
|
+
// that allows to perform a navigation.
|
|
2339
|
+
//
|
|
2340
|
+
// the function reference should stay the same between re-renders, so that
|
|
2341
|
+
// it can be passed down as an element prop without any performance concerns.
|
|
2342
|
+
|
|
2163
2343
|
var navigate = useCallback(function (to, replace) {
|
|
2164
2344
|
if (replace) {
|
|
2165
2345
|
clean(to);
|
|
@@ -2178,23 +2358,40 @@ var useLocation = function useLocation() {
|
|
|
2178
2358
|
setURLParams(current);
|
|
2179
2359
|
}, [path]);
|
|
2180
2360
|
return [path, navigate, remove];
|
|
2181
|
-
};
|
|
2361
|
+
}; // While History API does have `popstate` event, the only
|
|
2362
|
+
// proper way to listen to changes via `push/replaceState`
|
|
2363
|
+
// is to monkey-patch these methods.
|
|
2364
|
+
//
|
|
2365
|
+
// See https://stackoverflow.com/a/4585031
|
|
2366
|
+
|
|
2182
2367
|
var patched = 0;
|
|
2183
2368
|
|
|
2184
2369
|
var patchHistoryEvents = function patchHistoryEvents() {
|
|
2185
2370
|
if (patched) return;
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2371
|
+
var originalPushState = window.history.pushState;
|
|
2372
|
+
|
|
2373
|
+
window.history.pushState = function () {
|
|
2374
|
+
var args = [].slice.call(arguments);
|
|
2375
|
+
var result = originalPushState.apply(this, args); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2376
|
+
|
|
2377
|
+
var event = new Event('pushState');
|
|
2378
|
+
event.arguments = args;
|
|
2379
|
+
dispatchEvent(event);
|
|
2380
|
+
return result;
|
|
2381
|
+
};
|
|
2382
|
+
|
|
2383
|
+
var originalReplaceState = window.history.replaceState;
|
|
2384
|
+
|
|
2385
|
+
window.history.replaceState = function () {
|
|
2386
|
+
var args = [].slice.call(arguments);
|
|
2387
|
+
var result = originalReplaceState.apply(this, args); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2388
|
+
|
|
2389
|
+
var event = new Event('replaceState');
|
|
2390
|
+
event.arguments = args;
|
|
2391
|
+
dispatchEvent(event);
|
|
2392
|
+
return result;
|
|
2393
|
+
};
|
|
2394
|
+
|
|
2198
2395
|
return patched = 1;
|
|
2199
2396
|
};
|
|
2200
2397
|
|
|
@@ -2249,7 +2446,7 @@ function TdLink(_ref) {
|
|
|
2249
2446
|
children = _ref.children,
|
|
2250
2447
|
_ref$style = _ref.style,
|
|
2251
2448
|
style = _ref$style === void 0 ? {} : _ref$style;
|
|
2252
|
-
var link = useRef();
|
|
2449
|
+
var link = useRef(null);
|
|
2253
2450
|
|
|
2254
2451
|
function onClick() {
|
|
2255
2452
|
if (link && link.current) {
|
|
@@ -2356,15 +2553,7 @@ var RestClient = /*#__PURE__*/function () {
|
|
|
2356
2553
|
|
|
2357
2554
|
var _proto = RestClient.prototype;
|
|
2358
2555
|
|
|
2359
|
-
_proto.request = function request(path, data, headers) {
|
|
2360
|
-
if (data === void 0) {
|
|
2361
|
-
data = undefined;
|
|
2362
|
-
}
|
|
2363
|
-
|
|
2364
|
-
if (headers === void 0) {
|
|
2365
|
-
headers = undefined;
|
|
2366
|
-
}
|
|
2367
|
-
|
|
2556
|
+
_proto.request = function request(path, data, headers, signal) {
|
|
2368
2557
|
try {
|
|
2369
2558
|
var _this2 = this;
|
|
2370
2559
|
|
|
@@ -2380,9 +2569,18 @@ var RestClient = /*#__PURE__*/function () {
|
|
|
2380
2569
|
path = "/" + path;
|
|
2381
2570
|
}
|
|
2382
2571
|
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2572
|
+
var dataRequest = data || {};
|
|
2573
|
+
dataRequest.headers = _this2.getHeaders();
|
|
2574
|
+
|
|
2575
|
+
if (headers) {
|
|
2576
|
+
dataRequest.headers = _extends({}, dataRequest.headers, headers);
|
|
2577
|
+
}
|
|
2578
|
+
|
|
2579
|
+
if (signal) {
|
|
2580
|
+
dataRequest.signal = signal;
|
|
2581
|
+
}
|
|
2582
|
+
|
|
2583
|
+
return Promise.resolve(fetch("" + _this2.url + path, dataRequest));
|
|
2386
2584
|
} catch (e) {
|
|
2387
2585
|
return Promise.reject(e);
|
|
2388
2586
|
}
|
|
@@ -2390,12 +2588,12 @@ var RestClient = /*#__PURE__*/function () {
|
|
|
2390
2588
|
|
|
2391
2589
|
_proto.getHeaders = function getHeaders() {
|
|
2392
2590
|
var authToken = this.auth.getToken();
|
|
2393
|
-
|
|
2394
|
-
return
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2591
|
+
var headersInit = {};
|
|
2592
|
+
if (!authToken) return headersInit;
|
|
2593
|
+
headersInit.Accept = 'application/json';
|
|
2594
|
+
headersInit['Content-Type'] = 'application/json';
|
|
2595
|
+
headersInit.Authorization = 'Bearer ' + authToken;
|
|
2596
|
+
return headersInit;
|
|
2399
2597
|
};
|
|
2400
2598
|
|
|
2401
2599
|
_proto.post = function post(path, data) {
|
|
@@ -2411,11 +2609,11 @@ var RestClient = /*#__PURE__*/function () {
|
|
|
2411
2609
|
}
|
|
2412
2610
|
};
|
|
2413
2611
|
|
|
2414
|
-
_proto.get = function get(path) {
|
|
2612
|
+
_proto.get = function get(path, signal) {
|
|
2415
2613
|
try {
|
|
2416
2614
|
var _this6 = this;
|
|
2417
2615
|
|
|
2418
|
-
return Promise.resolve(_this6.request(path));
|
|
2616
|
+
return Promise.resolve(_this6.request(path, undefined, undefined, signal));
|
|
2419
2617
|
} catch (e) {
|
|
2420
2618
|
return Promise.reject(e);
|
|
2421
2619
|
}
|
|
@@ -2453,24 +2651,20 @@ var RestClient = /*#__PURE__*/function () {
|
|
|
2453
2651
|
|
|
2454
2652
|
var headers = _this12.getHeaders();
|
|
2455
2653
|
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2654
|
+
var newHeaders = {};
|
|
2655
|
+
newHeaders['Content-Type'] = data['content-type'];
|
|
2656
|
+
newHeaders['X-UPLOAD-FILENAME'] = data.filename;
|
|
2657
|
+
newHeaders['Content-Encoding'] = 'base64';
|
|
2460
2658
|
return Promise.resolve(_this12.request(path, {
|
|
2461
2659
|
method: 'PATCH',
|
|
2462
2660
|
body: data.data
|
|
2463
|
-
}, headers));
|
|
2661
|
+
}, _extends({}, headers, newHeaders)));
|
|
2464
2662
|
} catch (e) {
|
|
2465
2663
|
return Promise.reject(e);
|
|
2466
2664
|
}
|
|
2467
2665
|
};
|
|
2468
2666
|
|
|
2469
2667
|
_proto.delete = function _delete(path, data) {
|
|
2470
|
-
if (data === void 0) {
|
|
2471
|
-
data = undefined;
|
|
2472
|
-
}
|
|
2473
|
-
|
|
2474
2668
|
try {
|
|
2475
2669
|
var _this14 = this;
|
|
2476
2670
|
|
|
@@ -2611,6 +2805,14 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2611
2805
|
}
|
|
2612
2806
|
};
|
|
2613
2807
|
|
|
2808
|
+
_proto.getQueryParamsSearchFunction = function getQueryParamsSearchFunction(name) {
|
|
2809
|
+
if (name === 'getQueryParamsElasticsearch') {
|
|
2810
|
+
return this.getQueryParamsElasticsearch;
|
|
2811
|
+
}
|
|
2812
|
+
|
|
2813
|
+
return this.getQueryParamsPostresql;
|
|
2814
|
+
};
|
|
2815
|
+
|
|
2614
2816
|
_proto.getQueryParamsPostresql = function getQueryParamsPostresql(_ref) {
|
|
2615
2817
|
var _ref$start = _ref.start,
|
|
2616
2818
|
start = _ref$start === void 0 ? 0 : _ref$start,
|
|
@@ -2651,7 +2853,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2651
2853
|
objectPath = objectPath.slice(0, -1);
|
|
2652
2854
|
}
|
|
2653
2855
|
|
|
2654
|
-
result = [].concat(parser(start.toString(), '_from'), parser(pageSize.toString(), '
|
|
2856
|
+
result = [].concat(parser(start.toString(), '_from'), parser(pageSize.toString(), '_size'), parser('*', '_metadata'));
|
|
2655
2857
|
|
|
2656
2858
|
if (withDepth) {
|
|
2657
2859
|
var _parser2;
|
|
@@ -2702,7 +2904,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2702
2904
|
label: 'id/name',
|
|
2703
2905
|
key: 'title',
|
|
2704
2906
|
isSortable: true,
|
|
2705
|
-
child: function child(m,
|
|
2907
|
+
child: function child(m, _navigate, search) {
|
|
2706
2908
|
return jsxs(TdLink, {
|
|
2707
2909
|
model: m,
|
|
2708
2910
|
children: [m.name, search && jsxs(React.Fragment, {
|
|
@@ -2736,15 +2938,19 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2736
2938
|
});
|
|
2737
2939
|
}
|
|
2738
2940
|
}];
|
|
2739
|
-
}
|
|
2941
|
+
} // BBB API changes. Compat G5 and G6
|
|
2942
|
+
;
|
|
2740
2943
|
|
|
2741
2944
|
_proto.applyCompat = function applyCompat(data) {
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2945
|
+
var result = _extends({}, data, {
|
|
2946
|
+
member: data.items,
|
|
2947
|
+
items_count: data.items_total
|
|
2948
|
+
});
|
|
2949
|
+
|
|
2950
|
+
return result;
|
|
2745
2951
|
};
|
|
2746
2952
|
|
|
2747
|
-
_proto.search = function search(path, params, container, prepare) {
|
|
2953
|
+
_proto.search = function search(path, params, container, prepare, signal) {
|
|
2748
2954
|
if (container === void 0) {
|
|
2749
2955
|
container = false;
|
|
2750
2956
|
}
|
|
@@ -2766,7 +2972,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2766
2972
|
|
|
2767
2973
|
var query = prepare ? toQueryString(params) : params;
|
|
2768
2974
|
var url = path + "@search?" + query;
|
|
2769
|
-
return Promise.resolve(_this7.rest.get(url)).then(function (res) {
|
|
2975
|
+
return Promise.resolve(_this7.rest.get(url, signal)).then(function (res) {
|
|
2770
2976
|
return Promise.resolve(res.json()).then(function (data) {
|
|
2771
2977
|
return _this7.applyCompat(data);
|
|
2772
2978
|
});
|
|
@@ -2896,7 +3102,8 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2896
3102
|
|
|
2897
3103
|
var _temp4 = function () {
|
|
2898
3104
|
if (!cacheSchemas[name]) {
|
|
2899
|
-
var url = _this25.getContainerFromPath(path);
|
|
3105
|
+
var url = _this25.getContainerFromPath(path); // todo: handle db case (only addable containers)
|
|
3106
|
+
|
|
2900
3107
|
|
|
2901
3108
|
return Promise.resolve(_this25.rest.get(url + "@types/" + name)).then(function (res) {
|
|
2902
3109
|
return Promise.resolve(res.json()).then(function (_res$json) {
|
|
@@ -2977,23 +3184,53 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2977
3184
|
var users = _this37.getUsers(path);
|
|
2978
3185
|
|
|
2979
3186
|
return Promise.resolve(Promise.all([groups, users])).then(function (_ref3) {
|
|
2980
|
-
var
|
|
2981
|
-
|
|
3187
|
+
var responseGroups = _ref3[0],
|
|
3188
|
+
responseUsers = _ref3[1];
|
|
2982
3189
|
|
|
2983
|
-
function
|
|
2984
|
-
function
|
|
3190
|
+
function _temp8() {
|
|
3191
|
+
function _temp6() {
|
|
2985
3192
|
return {
|
|
2986
|
-
groups:
|
|
2987
|
-
users:
|
|
3193
|
+
groups: groupsData,
|
|
3194
|
+
users: usersData
|
|
2988
3195
|
};
|
|
2989
3196
|
}
|
|
2990
3197
|
|
|
2991
|
-
var
|
|
2992
|
-
|
|
3198
|
+
var _temp5 = function () {
|
|
3199
|
+
if (responseUsers) {
|
|
3200
|
+
return Promise.resolve(responseUsers.json()).then(function (usersDataResponse) {
|
|
3201
|
+
usersData = usersDataResponse.map(function (user) {
|
|
3202
|
+
return {
|
|
3203
|
+
'@name': user.id,
|
|
3204
|
+
user_roles: user.roles,
|
|
3205
|
+
fullname: user.fullname,
|
|
3206
|
+
email: user.email
|
|
3207
|
+
};
|
|
3208
|
+
});
|
|
3209
|
+
});
|
|
3210
|
+
}
|
|
3211
|
+
}();
|
|
3212
|
+
|
|
3213
|
+
return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
|
|
2993
3214
|
}
|
|
2994
3215
|
|
|
2995
|
-
var
|
|
2996
|
-
|
|
3216
|
+
var groupsData = [];
|
|
3217
|
+
var usersData = [];
|
|
3218
|
+
|
|
3219
|
+
var _temp7 = function () {
|
|
3220
|
+
if (responseGroups.ok) {
|
|
3221
|
+
return Promise.resolve(responseGroups.json()).then(function (groupsDataResponse) {
|
|
3222
|
+
groupsData = groupsDataResponse.map(function (group) {
|
|
3223
|
+
return {
|
|
3224
|
+
'@name': group.id,
|
|
3225
|
+
user_roles: group.roles,
|
|
3226
|
+
users: group.users
|
|
3227
|
+
};
|
|
3228
|
+
});
|
|
3229
|
+
});
|
|
3230
|
+
}
|
|
3231
|
+
}();
|
|
3232
|
+
|
|
3233
|
+
return _temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7);
|
|
2997
3234
|
});
|
|
2998
3235
|
} catch (e) {
|
|
2999
3236
|
return Promise.reject(e);
|
|
@@ -3015,6 +3252,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
3015
3252
|
try {
|
|
3016
3253
|
var _this41 = this;
|
|
3017
3254
|
|
|
3255
|
+
// paths used to query the API always has to start without a "/"
|
|
3018
3256
|
if (path.startsWith('/')) {
|
|
3019
3257
|
path = path.slice(1);
|
|
3020
3258
|
}
|
|
@@ -3034,7 +3272,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
3034
3272
|
try {
|
|
3035
3273
|
var _this43 = this;
|
|
3036
3274
|
|
|
3037
|
-
function
|
|
3275
|
+
function _temp12() {
|
|
3038
3276
|
return cacheTypes[path];
|
|
3039
3277
|
}
|
|
3040
3278
|
|
|
@@ -3042,10 +3280,10 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
3042
3280
|
path = path.slice(1);
|
|
3043
3281
|
}
|
|
3044
3282
|
|
|
3045
|
-
var
|
|
3283
|
+
var _temp13 = function () {
|
|
3046
3284
|
if (!cacheTypes[path]) {
|
|
3047
3285
|
return Promise.resolve(_this43.rest.get(path + '@addable-types')).then(function (types) {
|
|
3048
|
-
var
|
|
3286
|
+
var _temp9 = function () {
|
|
3049
3287
|
if (types.status === 401 || types.status === 404) {
|
|
3050
3288
|
cacheTypes[path] = [];
|
|
3051
3289
|
} else {
|
|
@@ -3055,12 +3293,12 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
3055
3293
|
}
|
|
3056
3294
|
}();
|
|
3057
3295
|
|
|
3058
|
-
if (
|
|
3296
|
+
if (_temp9 && _temp9.then) return _temp9.then(function () {});
|
|
3059
3297
|
});
|
|
3060
3298
|
}
|
|
3061
3299
|
}();
|
|
3062
3300
|
|
|
3063
|
-
return Promise.resolve(
|
|
3301
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(_temp12) : _temp12(_temp13));
|
|
3064
3302
|
} catch (e) {
|
|
3065
3303
|
return Promise.reject(e);
|
|
3066
3304
|
}
|
|
@@ -3072,17 +3310,24 @@ function getClient(url, container, auth) {
|
|
|
3072
3310
|
return new GuillotinaClient(new RestClient(url, container, auth), container === '/');
|
|
3073
3311
|
}
|
|
3074
3312
|
var lightFileReader = function lightFileReader(file) {
|
|
3075
|
-
return new Promise(function (resolve) {
|
|
3313
|
+
return new Promise(function (resolve, reject) {
|
|
3076
3314
|
var reader = new FileReader();
|
|
3077
3315
|
reader.readAsArrayBuffer(file);
|
|
3078
3316
|
|
|
3079
3317
|
reader.onloadend = function (e) {
|
|
3080
|
-
var
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3318
|
+
var _e$target;
|
|
3319
|
+
|
|
3320
|
+
var fileData = e == null ? void 0 : (_e$target = e.target) == null ? void 0 : _e$target.result;
|
|
3321
|
+
|
|
3322
|
+
if (fileData) {
|
|
3323
|
+
resolve({
|
|
3324
|
+
filename: file.name.normalize('NFD').replace(/[\u0300-\u036f]/g, ''),
|
|
3325
|
+
data: fileData,
|
|
3326
|
+
'content-type': file.type
|
|
3327
|
+
});
|
|
3328
|
+
} else {
|
|
3329
|
+
reject('Error reading file');
|
|
3330
|
+
}
|
|
3086
3331
|
};
|
|
3087
3332
|
});
|
|
3088
3333
|
};
|
|
@@ -3113,9 +3358,15 @@ function FileUpload(_ref) {
|
|
|
3113
3358
|
|
|
3114
3359
|
var changed = function changed(event) {
|
|
3115
3360
|
try {
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3361
|
+
var _temp2 = function () {
|
|
3362
|
+
if (event.target.files) {
|
|
3363
|
+
return Promise.resolve(lightFileReader(event.target.files[0])).then(function (fileToUpload) {
|
|
3364
|
+
onChange(fileToUpload);
|
|
3365
|
+
});
|
|
3366
|
+
}
|
|
3367
|
+
}();
|
|
3368
|
+
|
|
3369
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
3119
3370
|
} catch (e) {
|
|
3120
3371
|
return Promise.reject(e);
|
|
3121
3372
|
}
|
|
@@ -3206,12 +3457,12 @@ Textarea.displayName = 'Textarea';
|
|
|
3206
3457
|
|
|
3207
3458
|
var defaultEvents = ['mousedown', 'touchstart'];
|
|
3208
3459
|
|
|
3209
|
-
var on = function on(obj) {
|
|
3210
|
-
return obj.addEventListener
|
|
3460
|
+
var on = function on(obj, type, handler) {
|
|
3461
|
+
return obj.addEventListener(type, handler);
|
|
3211
3462
|
};
|
|
3212
3463
|
|
|
3213
|
-
var off = function off(obj) {
|
|
3214
|
-
return obj.removeEventListener
|
|
3464
|
+
var off = function off(obj, type, handler) {
|
|
3465
|
+
return obj.removeEventListener(type, handler);
|
|
3215
3466
|
};
|
|
3216
3467
|
|
|
3217
3468
|
function useClickAway(ref, onClickAway, events) {
|
|
@@ -3243,23 +3494,7 @@ function useClickAway(ref, onClickAway, events) {
|
|
|
3243
3494
|
}, [events, ref]);
|
|
3244
3495
|
}
|
|
3245
3496
|
|
|
3246
|
-
|
|
3247
|
-
var timeout;
|
|
3248
|
-
return function () {
|
|
3249
|
-
var context = this;
|
|
3250
|
-
var args = arguments;
|
|
3251
|
-
|
|
3252
|
-
var later = function later() {
|
|
3253
|
-
timeout = null;
|
|
3254
|
-
func.apply(context, args);
|
|
3255
|
-
};
|
|
3256
|
-
|
|
3257
|
-
clearTimeout(timeout);
|
|
3258
|
-
timeout = setTimeout(later, wait);
|
|
3259
|
-
};
|
|
3260
|
-
}
|
|
3261
|
-
|
|
3262
|
-
var initialState = {
|
|
3497
|
+
var initialState$1 = {
|
|
3263
3498
|
page: 0,
|
|
3264
3499
|
items: undefined,
|
|
3265
3500
|
loading: false,
|
|
@@ -3269,10 +3504,9 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3269
3504
|
var onChange = _ref.onChange,
|
|
3270
3505
|
error = _ref.error,
|
|
3271
3506
|
errorZoneClassName = _ref.errorZoneClassName,
|
|
3272
|
-
|
|
3273
|
-
traversal = _ref$traversal === void 0 ? null : _ref$traversal,
|
|
3507
|
+
traversal = _ref.traversal,
|
|
3274
3508
|
_ref$path = _ref.path,
|
|
3275
|
-
path = _ref$path === void 0 ?
|
|
3509
|
+
path = _ref$path === void 0 ? undefined : _ref$path,
|
|
3276
3510
|
_ref$qs = _ref.qs,
|
|
3277
3511
|
qs = _ref$qs === void 0 ? [] : _ref$qs,
|
|
3278
3512
|
_ref$queryCondition = _ref.queryCondition,
|
|
@@ -3287,14 +3521,14 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3287
3521
|
_ref$dataTestItem = _ref.dataTestItem,
|
|
3288
3522
|
dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
|
|
3289
3523
|
_ref$renderTextItemOp = _ref.renderTextItemOption,
|
|
3290
|
-
renderTextItemOption = _ref$renderTextItemOp === void 0 ?
|
|
3524
|
+
renderTextItemOption = _ref$renderTextItemOp === void 0 ? undefined : _ref$renderTextItemOp,
|
|
3291
3525
|
_ref$typeNameQuery = _ref.typeNameQuery,
|
|
3292
|
-
typeNameQuery = _ref$typeNameQuery === void 0 ?
|
|
3526
|
+
typeNameQuery = _ref$typeNameQuery === void 0 ? undefined : _ref$typeNameQuery,
|
|
3293
3527
|
_ref$labelProperty = _ref.labelProperty,
|
|
3294
3528
|
labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
|
|
3295
3529
|
var intl = useIntl();
|
|
3296
3530
|
|
|
3297
|
-
var _useSetState = useSetState(initialState),
|
|
3531
|
+
var _useSetState = useSetState(initialState$1),
|
|
3298
3532
|
options = _useSetState[0],
|
|
3299
3533
|
setOptions = _useSetState[1];
|
|
3300
3534
|
|
|
@@ -3348,7 +3582,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3348
3582
|
var searchTermParsed = ["id", value];
|
|
3349
3583
|
var getSearch = traversal.registry.get;
|
|
3350
3584
|
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
3351
|
-
var qsParsed = traversal.client
|
|
3585
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3352
3586
|
path: traversal.path,
|
|
3353
3587
|
start: 0,
|
|
3354
3588
|
pageSize: PageSize,
|
|
@@ -3366,7 +3600,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3366
3600
|
|
|
3367
3601
|
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
|
|
3368
3602
|
var newValuesLabel = data.items.reduce(function (result, item) {
|
|
3369
|
-
result[item.id] = get
|
|
3603
|
+
result[item.id] = get(item, labelProperty, item.id);
|
|
3370
3604
|
return result;
|
|
3371
3605
|
}, {});
|
|
3372
3606
|
setValueLabel(newValuesLabel);
|
|
@@ -3394,6 +3628,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3394
3628
|
}
|
|
3395
3629
|
|
|
3396
3630
|
try {
|
|
3631
|
+
console.log('handle search input');
|
|
3397
3632
|
setOptions({
|
|
3398
3633
|
loading: true
|
|
3399
3634
|
});
|
|
@@ -3408,7 +3643,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3408
3643
|
|
|
3409
3644
|
var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
|
|
3410
3645
|
|
|
3411
|
-
var qsParsed = traversal.client
|
|
3646
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3412
3647
|
path: traversal.path,
|
|
3413
3648
|
start: page * PageSize,
|
|
3414
3649
|
pageSize: PageSize,
|
|
@@ -3421,7 +3656,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3421
3656
|
typeNameParsed = parser("type_name__in=" + typeNameQuery);
|
|
3422
3657
|
}
|
|
3423
3658
|
|
|
3424
|
-
if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
|
|
3659
|
+
if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0 || sortParsed.length > 0) {
|
|
3425
3660
|
searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed, typeNameParsed, sortParsed));
|
|
3426
3661
|
}
|
|
3427
3662
|
|
|
@@ -3446,7 +3681,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3446
3681
|
return renderTextItemOption(item);
|
|
3447
3682
|
}
|
|
3448
3683
|
|
|
3449
|
-
return get
|
|
3684
|
+
return get(item, labelProperty, item.title) || item['@name'];
|
|
3450
3685
|
};
|
|
3451
3686
|
|
|
3452
3687
|
useEffect(function () {
|
|
@@ -3472,7 +3707,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3472
3707
|
if (!ev.currentTarget.contains(ev.relatedTarget)) {
|
|
3473
3708
|
if (searchTerm !== '') {
|
|
3474
3709
|
setSearchTerm('');
|
|
3475
|
-
setOptions(initialState);
|
|
3710
|
+
setOptions(initialState$1);
|
|
3476
3711
|
}
|
|
3477
3712
|
|
|
3478
3713
|
setIsOpen(false);
|
|
@@ -3490,6 +3725,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3490
3725
|
}
|
|
3491
3726
|
|
|
3492
3727
|
setIsOpen(!isOpen);
|
|
3728
|
+
console.log('on clic btn', options);
|
|
3493
3729
|
|
|
3494
3730
|
if (!options.loading && !options.items) {
|
|
3495
3731
|
handleSearch(options.page);
|
|
@@ -3498,7 +3734,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3498
3734
|
"aria-haspopup": "true",
|
|
3499
3735
|
"aria-controls": "dropdown-menu",
|
|
3500
3736
|
children: [jsx("span", {
|
|
3501
|
-
children: value ? get
|
|
3737
|
+
children: value ? get(valueLabel, value, value) : intl.formatMessage(genericMessages.choose)
|
|
3502
3738
|
}), jsx("span", {
|
|
3503
3739
|
className: "icon",
|
|
3504
3740
|
children: jsx("i", {
|
|
@@ -3572,23 +3808,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3572
3808
|
});
|
|
3573
3809
|
};
|
|
3574
3810
|
|
|
3575
|
-
|
|
3576
|
-
var timeout;
|
|
3577
|
-
return function () {
|
|
3578
|
-
var context = this;
|
|
3579
|
-
var args = arguments;
|
|
3580
|
-
|
|
3581
|
-
var later = function later() {
|
|
3582
|
-
timeout = null;
|
|
3583
|
-
func.apply(context, args);
|
|
3584
|
-
};
|
|
3585
|
-
|
|
3586
|
-
clearTimeout(timeout);
|
|
3587
|
-
timeout = setTimeout(later, wait);
|
|
3588
|
-
};
|
|
3589
|
-
}
|
|
3590
|
-
|
|
3591
|
-
var initialState$1 = {
|
|
3811
|
+
var initialState$2 = {
|
|
3592
3812
|
page: 0,
|
|
3593
3813
|
items: undefined,
|
|
3594
3814
|
loading: false,
|
|
@@ -3598,10 +3818,9 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3598
3818
|
var onChange = _ref.onChange,
|
|
3599
3819
|
error = _ref.error,
|
|
3600
3820
|
errorZoneClassName = _ref.errorZoneClassName,
|
|
3601
|
-
|
|
3602
|
-
traversal = _ref$traversal === void 0 ? null : _ref$traversal,
|
|
3821
|
+
traversal = _ref.traversal,
|
|
3603
3822
|
_ref$path = _ref.path,
|
|
3604
|
-
path = _ref$path === void 0 ?
|
|
3823
|
+
path = _ref$path === void 0 ? undefined : _ref$path,
|
|
3605
3824
|
_ref$qs = _ref.qs,
|
|
3606
3825
|
qs = _ref$qs === void 0 ? [] : _ref$qs,
|
|
3607
3826
|
_ref$queryCondition = _ref.queryCondition,
|
|
@@ -3616,14 +3835,14 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3616
3835
|
_ref$dataTestItem = _ref.dataTestItem,
|
|
3617
3836
|
dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
|
|
3618
3837
|
_ref$renderTextItemOp = _ref.renderTextItemOption,
|
|
3619
|
-
renderTextItemOption = _ref$renderTextItemOp === void 0 ?
|
|
3838
|
+
renderTextItemOption = _ref$renderTextItemOp === void 0 ? undefined : _ref$renderTextItemOp,
|
|
3620
3839
|
_ref$typeNameQuery = _ref.typeNameQuery,
|
|
3621
|
-
typeNameQuery = _ref$typeNameQuery === void 0 ?
|
|
3840
|
+
typeNameQuery = _ref$typeNameQuery === void 0 ? undefined : _ref$typeNameQuery,
|
|
3622
3841
|
_ref$labelProperty = _ref.labelProperty,
|
|
3623
3842
|
labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
|
|
3624
3843
|
var intl = useIntl();
|
|
3625
3844
|
|
|
3626
|
-
var _useSetState = useSetState(initialState$
|
|
3845
|
+
var _useSetState = useSetState(initialState$2),
|
|
3627
3846
|
options = _useSetState[0],
|
|
3628
3847
|
setOptions = _useSetState[1];
|
|
3629
3848
|
|
|
@@ -3669,7 +3888,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3669
3888
|
};
|
|
3670
3889
|
};
|
|
3671
3890
|
|
|
3672
|
-
var delayedQuery = useCallback(debounce
|
|
3891
|
+
var delayedQuery = useCallback(debounce(function (value) {
|
|
3673
3892
|
return handleSearch(0, false, value);
|
|
3674
3893
|
}, 500), []);
|
|
3675
3894
|
|
|
@@ -3701,7 +3920,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3701
3920
|
|
|
3702
3921
|
var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
|
|
3703
3922
|
|
|
3704
|
-
var qsParsed = traversal.client
|
|
3923
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3705
3924
|
path: traversal.path,
|
|
3706
3925
|
start: page * PageSize,
|
|
3707
3926
|
pageSize: PageSize,
|
|
@@ -3743,7 +3962,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3743
3962
|
var searchTermParsed = ['__or', "id=" + value.join('%26id=')];
|
|
3744
3963
|
var getSearch = traversal.registry.get;
|
|
3745
3964
|
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
3746
|
-
var qsParsed = traversal.client
|
|
3965
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3747
3966
|
path: traversal.path,
|
|
3748
3967
|
start: 0,
|
|
3749
3968
|
pageSize: 100,
|
|
@@ -3759,9 +3978,9 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3759
3978
|
searchTermQs = buildQs([].concat(qs, [searchTermParsed], qsParsed, typeNameParsed));
|
|
3760
3979
|
}
|
|
3761
3980
|
|
|
3762
|
-
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false
|
|
3981
|
+
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
|
|
3763
3982
|
var newValuesLabel = data.items.reduce(function (result, item) {
|
|
3764
|
-
result[item.id] = get
|
|
3983
|
+
result[item.id] = get(item, labelProperty, item.id);
|
|
3765
3984
|
return result;
|
|
3766
3985
|
}, {});
|
|
3767
3986
|
setValuesLabels(newValuesLabel);
|
|
@@ -3781,7 +4000,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3781
4000
|
return renderTextItemOption(item);
|
|
3782
4001
|
}
|
|
3783
4002
|
|
|
3784
|
-
return get
|
|
4003
|
+
return get(item, labelProperty, item.title) || item['@name'];
|
|
3785
4004
|
};
|
|
3786
4005
|
|
|
3787
4006
|
useEffect(function () {
|
|
@@ -3804,7 +4023,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3804
4023
|
children: value.map(function (tag, index) {
|
|
3805
4024
|
return jsxs("div", {
|
|
3806
4025
|
className: "tag is-info is-medium",
|
|
3807
|
-
children: [get
|
|
4026
|
+
children: [get(valuesLabel, tag, tag), jsx("button", {
|
|
3808
4027
|
className: "delete is-small",
|
|
3809
4028
|
onClick: function onClick(ev) {
|
|
3810
4029
|
ev.stopPropagation();
|
|
@@ -3824,7 +4043,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3824
4043
|
if (!ev.currentTarget.contains(ev.relatedTarget)) {
|
|
3825
4044
|
if (searchTerm !== '') {
|
|
3826
4045
|
setSearchTerm('');
|
|
3827
|
-
setOptions(initialState$
|
|
4046
|
+
setOptions(initialState$2);
|
|
3828
4047
|
}
|
|
3829
4048
|
|
|
3830
4049
|
setIsOpen(false);
|
|
@@ -3888,7 +4107,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3888
4107
|
if (onChange && !value.includes(item.id)) {
|
|
3889
4108
|
var _extends2;
|
|
3890
4109
|
|
|
3891
|
-
setValuesLabels(_extends({}, valuesLabel, (_extends2 = {}, _extends2[item.id] = get
|
|
4110
|
+
setValuesLabels(_extends({}, valuesLabel, (_extends2 = {}, _extends2[item.id] = get(item, labelProperty, item.id), _extends2)));
|
|
3892
4111
|
onChange([].concat(value, [item.id]));
|
|
3893
4112
|
}
|
|
3894
4113
|
},
|
|
@@ -4076,7 +4295,7 @@ function EditableField(_ref) {
|
|
|
4076
4295
|
ref.current.focus();
|
|
4077
4296
|
}
|
|
4078
4297
|
});
|
|
4079
|
-
var canModified = modifyContent && !get
|
|
4298
|
+
var canModified = schema !== undefined && modifyContent && !get(schema, 'readonly', false);
|
|
4080
4299
|
|
|
4081
4300
|
var saveField = function saveField(ev) {
|
|
4082
4301
|
try {
|
|
@@ -4142,7 +4361,7 @@ function EditableField(_ref) {
|
|
|
4142
4361
|
var deleteField = function deleteField(ev) {
|
|
4143
4362
|
try {
|
|
4144
4363
|
if (ev) ev.preventDefault();
|
|
4145
|
-
return Promise.resolve(function () {
|
|
4364
|
+
return Promise.resolve(function (_schema$items) {
|
|
4146
4365
|
if ((schema == null ? void 0 : schema.widget) === 'file') {
|
|
4147
4366
|
var _ns2, _ref4, _ref5;
|
|
4148
4367
|
|
|
@@ -4170,7 +4389,7 @@ function EditableField(_ref) {
|
|
|
4170
4389
|
});
|
|
4171
4390
|
} else if ((schema == null ? void 0 : schema.type) === 'string' && schema != null && schema.enum) {
|
|
4172
4391
|
setValue(null);
|
|
4173
|
-
} else if ((schema == null ? void 0 : schema.type) === 'array' && (schema == null ? void 0 : schema.items.type) === 'string') {
|
|
4392
|
+
} else if ((schema == null ? void 0 : schema.type) === 'array' && (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.type) === 'string') {
|
|
4174
4393
|
setValue([]);
|
|
4175
4394
|
}
|
|
4176
4395
|
}());
|
|
@@ -4227,7 +4446,7 @@ function EditableField(_ref) {
|
|
|
4227
4446
|
dataTest: "editableFieldBtnCancelTest",
|
|
4228
4447
|
children: intl.formatMessage(genericMessages.cancel)
|
|
4229
4448
|
})
|
|
4230
|
-
}), !required && fieldHaveDeleteButton(schema) && jsx("div", {
|
|
4449
|
+
}), !required && schema && fieldHaveDeleteButton(schema) && jsx("div", {
|
|
4231
4450
|
className: "control",
|
|
4232
4451
|
children: jsx(Button, {
|
|
4233
4452
|
className: "is-small is-danger",
|
|
@@ -4256,7 +4475,8 @@ var DownloadField = function DownloadField(_ref) {
|
|
|
4256
4475
|
var blob = new Blob([text], {
|
|
4257
4476
|
type: data.content_type
|
|
4258
4477
|
});
|
|
4259
|
-
var url = window.URL.createObjectURL(blob);
|
|
4478
|
+
var url = window.URL.createObjectURL(blob); // Create blob link to download
|
|
4479
|
+
|
|
4260
4480
|
var link = document.createElement('a');
|
|
4261
4481
|
link.href = url;
|
|
4262
4482
|
|
|
@@ -4271,6 +4491,7 @@ var DownloadField = function DownloadField(_ref) {
|
|
|
4271
4491
|
setTimeout(function () {
|
|
4272
4492
|
var _link$parentNode;
|
|
4273
4493
|
|
|
4494
|
+
// For Firefox it is necessary to delay revoking the ObjectURL
|
|
4274
4495
|
window.URL.revokeObjectURL(url);
|
|
4275
4496
|
(_link$parentNode = link.parentNode) == null ? void 0 : _link$parentNode.removeChild(link);
|
|
4276
4497
|
}, 100);
|
|
@@ -4346,23 +4567,27 @@ function RenderField(_ref) {
|
|
|
4346
4567
|
}
|
|
4347
4568
|
|
|
4348
4569
|
if (type === 'object') {
|
|
4570
|
+
var _schema$properties;
|
|
4571
|
+
|
|
4349
4572
|
if (Array.isArray(value)) {
|
|
4350
|
-
return value.map(function (item) {
|
|
4573
|
+
return value.map(function (item, index) {
|
|
4351
4574
|
return jsx("div", {
|
|
4352
4575
|
children: jsx(RenderField, {
|
|
4353
4576
|
value: item
|
|
4354
4577
|
})
|
|
4355
|
-
},
|
|
4578
|
+
}, "renderField_" + index + "_" + (schema == null ? void 0 : schema.title));
|
|
4356
4579
|
});
|
|
4357
4580
|
}
|
|
4358
4581
|
|
|
4359
|
-
|
|
4360
|
-
return
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4582
|
+
if ((schema == null ? void 0 : (_schema$properties = schema.properties) == null ? void 0 : _schema$properties.key) !== undefined) {
|
|
4583
|
+
return Object.keys(value).map(function (key) {
|
|
4584
|
+
return jsx(FieldValue, {
|
|
4585
|
+
field: get(schema, "properties." + key + ".title", key),
|
|
4586
|
+
schema: schema.properties.key,
|
|
4587
|
+
value: get(value, key, {})
|
|
4588
|
+
}, key);
|
|
4589
|
+
});
|
|
4590
|
+
}
|
|
4366
4591
|
}
|
|
4367
4592
|
|
|
4368
4593
|
return jsxs("p", {
|
|
@@ -4406,6 +4631,7 @@ var SearchRenderField = function SearchRenderField(_ref3) {
|
|
|
4406
4631
|
var schema = _ref3.schema,
|
|
4407
4632
|
value = _ref3.value,
|
|
4408
4633
|
modifyContent = _ref3.modifyContent;
|
|
4634
|
+
console.log('search render fields');
|
|
4409
4635
|
var intl = useIntl();
|
|
4410
4636
|
|
|
4411
4637
|
var _useState = useState([]),
|
|
@@ -4430,7 +4656,7 @@ var SearchRenderField = function SearchRenderField(_ref3) {
|
|
|
4430
4656
|
var searchTermParsed = ['__or', "id=" + valuesToSearch.join('%26id=')];
|
|
4431
4657
|
var getSearch = traversal.registry.get;
|
|
4432
4658
|
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
4433
|
-
var qsParsed = traversal.client
|
|
4659
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
4434
4660
|
path: traversal.path,
|
|
4435
4661
|
start: 0,
|
|
4436
4662
|
pageSize: 100,
|
|
@@ -4441,11 +4667,11 @@ var SearchRenderField = function SearchRenderField(_ref3) {
|
|
|
4441
4667
|
searchTermQs = buildQs([searchTermParsed].concat(qsParsed));
|
|
4442
4668
|
}
|
|
4443
4669
|
|
|
4444
|
-
return Promise.resolve(traversal.client.search(traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false
|
|
4670
|
+
return Promise.resolve(traversal.client.search(traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
|
|
4445
4671
|
var newValuesLabel = data.items.map(function (item) {
|
|
4446
4672
|
var _schema$labelProperty;
|
|
4447
4673
|
|
|
4448
|
-
return get
|
|
4674
|
+
return get(item, (_schema$labelProperty = schema == null ? void 0 : schema.labelProperty) != null ? _schema$labelProperty : 'title', item.id);
|
|
4449
4675
|
});
|
|
4450
4676
|
setValuesLabels(newValuesLabel);
|
|
4451
4677
|
setIsLoadingData(false);
|
|
@@ -4455,13 +4681,15 @@ var SearchRenderField = function SearchRenderField(_ref3) {
|
|
|
4455
4681
|
}
|
|
4456
4682
|
};
|
|
4457
4683
|
|
|
4458
|
-
var valuesToSearch =
|
|
4684
|
+
var valuesToSearch = [];
|
|
4459
4685
|
|
|
4460
|
-
if (typeof
|
|
4461
|
-
valuesToSearch = [
|
|
4686
|
+
if (typeof value === 'string' && value) {
|
|
4687
|
+
valuesToSearch = [value];
|
|
4688
|
+
} else if (Array.isArray(value)) {
|
|
4689
|
+
valuesToSearch = value;
|
|
4462
4690
|
}
|
|
4463
4691
|
|
|
4464
|
-
if (valuesToSearch
|
|
4692
|
+
if (valuesToSearch.length > 0) {
|
|
4465
4693
|
fetchData(valuesToSearch);
|
|
4466
4694
|
} else {
|
|
4467
4695
|
setValuesLabels([]);
|
|
@@ -4496,7 +4724,7 @@ var VocabularyRenderField = function VocabularyRenderField(_ref4) {
|
|
|
4496
4724
|
modifyContent = _ref4.modifyContent;
|
|
4497
4725
|
var intl = useIntl();
|
|
4498
4726
|
var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
|
|
4499
|
-
var vocabularyName = (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName);
|
|
4727
|
+
var vocabularyName = (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName) || '';
|
|
4500
4728
|
var vocabulary = useVocabulary(vocabularyName);
|
|
4501
4729
|
|
|
4502
4730
|
var getRenderProps = function getRenderProps() {
|
|
@@ -4507,7 +4735,7 @@ var VocabularyRenderField = function VocabularyRenderField(_ref4) {
|
|
|
4507
4735
|
if (schema != null && schema.vocabularyName) {
|
|
4508
4736
|
var _vocabularyValue$titl;
|
|
4509
4737
|
|
|
4510
|
-
var vocabularyValue = get
|
|
4738
|
+
var vocabularyValue = get(vocabulary, 'data.items', []).find(function (item) {
|
|
4511
4739
|
return item.token === value;
|
|
4512
4740
|
});
|
|
4513
4741
|
renderProps['value'] = (_vocabularyValue$titl = vocabularyValue == null ? void 0 : vocabularyValue.title) != null ? _vocabularyValue$titl : '';
|
|
@@ -4517,7 +4745,7 @@ var VocabularyRenderField = function VocabularyRenderField(_ref4) {
|
|
|
4517
4745
|
renderProps['value'] = ((_renderProps$value = renderProps['value']) != null ? _renderProps$value : []).map(function (value) {
|
|
4518
4746
|
var _get$find$title, _get$find;
|
|
4519
4747
|
|
|
4520
|
-
return (_get$find$title = (_get$find = get
|
|
4748
|
+
return (_get$find$title = (_get$find = get(vocabulary, 'data.items', []).find(function (item) {
|
|
4521
4749
|
return item.token === value;
|
|
4522
4750
|
})) == null ? void 0 : _get$find.title) != null ? _get$find$title : '';
|
|
4523
4751
|
});
|
|
@@ -4594,7 +4822,7 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4594
4822
|
queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
|
|
4595
4823
|
path: schema.queryPath,
|
|
4596
4824
|
labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
|
|
4597
|
-
typeNameQuery: schema
|
|
4825
|
+
typeNameQuery: schema == null ? void 0 : schema.typeNameQuery
|
|
4598
4826
|
})]
|
|
4599
4827
|
});
|
|
4600
4828
|
} else if ((schema == null ? void 0 : schema.widget) === 'search') {
|
|
@@ -4611,7 +4839,7 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4611
4839
|
queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
|
|
4612
4840
|
path: schema.queryPath,
|
|
4613
4841
|
labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
|
|
4614
|
-
typeNameQuery: schema
|
|
4842
|
+
typeNameQuery: schema == null ? void 0 : schema.typeNameQuery
|
|
4615
4843
|
})]
|
|
4616
4844
|
});
|
|
4617
4845
|
} else if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
|
|
@@ -4641,7 +4869,7 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4641
4869
|
|
|
4642
4870
|
if (schema.items.vocabularyName) {
|
|
4643
4871
|
return jsx(SelectVocabulary, {
|
|
4644
|
-
vocabularyName: get
|
|
4872
|
+
vocabularyName: get(schema, 'items.vocabularyName', ''),
|
|
4645
4873
|
val: val || [],
|
|
4646
4874
|
className: className,
|
|
4647
4875
|
classWrap: "is-fullwidth",
|
|
@@ -4678,22 +4906,25 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4678
4906
|
}), jsx(InputList, {
|
|
4679
4907
|
value: val || [],
|
|
4680
4908
|
className: className,
|
|
4681
|
-
onChange: function onChange(
|
|
4682
|
-
return _setValue(
|
|
4909
|
+
onChange: function onChange(val) {
|
|
4910
|
+
return _setValue(val);
|
|
4683
4911
|
},
|
|
4684
4912
|
ref: ref,
|
|
4685
4913
|
dataTest: dataTest
|
|
4686
4914
|
})]
|
|
4687
4915
|
});
|
|
4688
4916
|
} else if ((schema == null ? void 0 : schema.widget) === 'file') {
|
|
4917
|
+
var value = val;
|
|
4689
4918
|
return jsx(FileUpload, {
|
|
4690
4919
|
onChange: function onChange(ev) {
|
|
4691
4920
|
return _setValue(ev);
|
|
4692
4921
|
},
|
|
4693
|
-
label: get
|
|
4922
|
+
label: get(value, 'filename', undefined),
|
|
4694
4923
|
dataTest: dataTest
|
|
4695
4924
|
});
|
|
4696
4925
|
} else if ((schema == null ? void 0 : schema.widget) === 'select' && schema.type === 'string') {
|
|
4926
|
+
var _schema$vocabulary;
|
|
4927
|
+
|
|
4697
4928
|
if (schema != null && schema.vocabularyName) {
|
|
4698
4929
|
return jsx(SelectVocabulary, {
|
|
4699
4930
|
val: val || '',
|
|
@@ -4702,7 +4933,7 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4702
4933
|
classWrap: "is-fullwidth",
|
|
4703
4934
|
dataTest: dataTest,
|
|
4704
4935
|
onChange: _setValue,
|
|
4705
|
-
vocabularyName: get
|
|
4936
|
+
vocabularyName: get(schema, 'vocabularyName', ''),
|
|
4706
4937
|
placeholder: placeholder,
|
|
4707
4938
|
id: id
|
|
4708
4939
|
});
|
|
@@ -4714,7 +4945,7 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4714
4945
|
appendDefault: true,
|
|
4715
4946
|
classWrap: "is-fullwidth",
|
|
4716
4947
|
dataTest: dataTest,
|
|
4717
|
-
options: schema == null ? void 0 : schema.vocabulary.map(function (item) {
|
|
4948
|
+
options: ((_schema$vocabulary = schema == null ? void 0 : schema.vocabulary) != null ? _schema$vocabulary : []).map(function (item) {
|
|
4718
4949
|
return {
|
|
4719
4950
|
text: item,
|
|
4720
4951
|
value: item
|
|
@@ -4725,26 +4956,27 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4725
4956
|
id: id
|
|
4726
4957
|
});
|
|
4727
4958
|
} else if ((schema == null ? void 0 : schema.type) === 'object' && schema.widget !== 'file') {
|
|
4728
|
-
var
|
|
4959
|
+
var _value = val;
|
|
4729
4960
|
return jsxs(Fragment, {
|
|
4730
4961
|
children: [schema.title && jsx("h4", {
|
|
4731
4962
|
className: "subtitle mt-2",
|
|
4732
4963
|
children: schema.title
|
|
4733
|
-
}), Object.keys(get
|
|
4964
|
+
}), Object.keys(get(schema, 'properties', {})).map(function (key) {
|
|
4734
4965
|
var _subSchema$title;
|
|
4735
4966
|
|
|
4736
|
-
var subSchema = get
|
|
4737
|
-
var requiredFields = get
|
|
4967
|
+
var subSchema = get(schema, "properties." + key, null);
|
|
4968
|
+
var requiredFields = get(schema, 'required', []);
|
|
4969
|
+
if (!subSchema) return null;
|
|
4738
4970
|
return jsx(EditComponent, {
|
|
4739
4971
|
id: id + "[" + key + "]",
|
|
4740
4972
|
schema: subSchema,
|
|
4741
|
-
val:
|
|
4973
|
+
val: _value && key in _value ? _value[key] : '',
|
|
4742
4974
|
placeholder: (_subSchema$title = subSchema == null ? void 0 : subSchema.title) != null ? _subSchema$title : '',
|
|
4743
4975
|
required: requiredFields.includes(key),
|
|
4744
4976
|
setValue: function setValue(ev) {
|
|
4745
4977
|
var _extends2;
|
|
4746
4978
|
|
|
4747
|
-
_setValue(_extends({},
|
|
4979
|
+
_setValue(_extends({}, _value, (_extends2 = {}, _extends2[key] = ev, _extends2)));
|
|
4748
4980
|
},
|
|
4749
4981
|
dataTest: key + "TestInput"
|
|
4750
4982
|
}, id + "[" + key + "]");
|
|
@@ -4806,9 +5038,9 @@ function IAttachment(_ref) {
|
|
|
4806
5038
|
}, 1), jsx("td", {
|
|
4807
5039
|
children: jsx(EditableField, {
|
|
4808
5040
|
field: key,
|
|
4809
|
-
value: values
|
|
5041
|
+
value: values.file,
|
|
4810
5042
|
ns: "guillotina.behaviors.attachment.IAttachment",
|
|
4811
|
-
schema: properties
|
|
5043
|
+
schema: properties.file,
|
|
4812
5044
|
modifyContent: modifyContent && ['file'].includes(key)
|
|
4813
5045
|
})
|
|
4814
5046
|
}, 2)]
|
|
@@ -4858,6 +5090,11 @@ function IMultiAttachment(_ref) {
|
|
|
4858
5090
|
|
|
4859
5091
|
setLoading(true);
|
|
4860
5092
|
setError(undefined);
|
|
5093
|
+
|
|
5094
|
+
if (!file) {
|
|
5095
|
+
return Promise.resolve();
|
|
5096
|
+
}
|
|
5097
|
+
|
|
4861
5098
|
var endpoint = Ctx.path + "@upload/files/" + fileKey;
|
|
4862
5099
|
return Promise.resolve(Ctx.client.upload(endpoint, file)).then(function (req) {
|
|
4863
5100
|
if (req.status !== 200) {
|
|
@@ -4926,7 +5163,7 @@ function IMultiAttachment(_ref) {
|
|
|
4926
5163
|
field: "files/" + key,
|
|
4927
5164
|
value: values['files'][key],
|
|
4928
5165
|
ns: "guillotina.behaviors.attachment.IMultiAttachment.files",
|
|
4929
|
-
schema: properties
|
|
5166
|
+
schema: get(properties, 'files.additionalProperties', {}),
|
|
4930
5167
|
modifyContent: false
|
|
4931
5168
|
}), jsx("div", {
|
|
4932
5169
|
className: "ml-5",
|
|
@@ -5150,13 +5387,18 @@ function IImageAttachment(_ref) {
|
|
|
5150
5387
|
ev.preventDefault();
|
|
5151
5388
|
setLoading(true);
|
|
5152
5389
|
setError(undefined);
|
|
5390
|
+
|
|
5391
|
+
if (!file) {
|
|
5392
|
+
return Promise.resolve();
|
|
5393
|
+
}
|
|
5394
|
+
|
|
5153
5395
|
var endpoint = Ctx.path + "@upload/image";
|
|
5154
5396
|
return Promise.resolve(Ctx.client.upload(endpoint, file)).then(function (req) {
|
|
5155
5397
|
var _exit;
|
|
5156
5398
|
|
|
5157
5399
|
function _temp4(_result) {
|
|
5158
5400
|
if (_exit) return _result;
|
|
5159
|
-
setFile(
|
|
5401
|
+
setFile(null);
|
|
5160
5402
|
setLoading(false);
|
|
5161
5403
|
Ctx.flash(intl.formatMessage(genericFileMessages.image_uploaded), 'success');
|
|
5162
5404
|
Ctx.refresh();
|
|
@@ -5437,7 +5679,7 @@ function IMultiImageAttachment(_ref) {
|
|
|
5437
5679
|
fileKey = _useState[0],
|
|
5438
5680
|
setFileKey = _useState[1];
|
|
5439
5681
|
|
|
5440
|
-
var _useState2 = useState(
|
|
5682
|
+
var _useState2 = useState(undefined),
|
|
5441
5683
|
file = _useState2[0],
|
|
5442
5684
|
setFile = _useState2[1];
|
|
5443
5685
|
|
|
@@ -5470,6 +5712,11 @@ function IMultiImageAttachment(_ref) {
|
|
|
5470
5712
|
|
|
5471
5713
|
setLoading(true);
|
|
5472
5714
|
setError(undefined);
|
|
5715
|
+
|
|
5716
|
+
if (!file) {
|
|
5717
|
+
return Promise.resolve();
|
|
5718
|
+
}
|
|
5719
|
+
|
|
5473
5720
|
var endpoint = Ctx.path + "@upload/images/" + fileKey;
|
|
5474
5721
|
return Promise.resolve(Ctx.client.upload(endpoint, file)).then(function (req) {
|
|
5475
5722
|
var _exit;
|
|
@@ -5572,7 +5819,7 @@ function IMultiImageAttachment(_ref) {
|
|
|
5572
5819
|
field: "images/" + key,
|
|
5573
5820
|
value: values['images'][key],
|
|
5574
5821
|
ns: "guillotina.contrib.image.behaviors.IMultiImageAttachment.images",
|
|
5575
|
-
schema: properties
|
|
5822
|
+
schema: get(properties, 'images.additionalProperties', {}),
|
|
5576
5823
|
modifyContent: false,
|
|
5577
5824
|
required: false
|
|
5578
5825
|
}), jsx("div", {
|
|
@@ -5862,7 +6109,7 @@ function IMultiImageOrderedAttachment(_ref2) {
|
|
|
5862
6109
|
sortedList = _useState2[0],
|
|
5863
6110
|
setSortedList = _useState2[1];
|
|
5864
6111
|
|
|
5865
|
-
var _useState3 = useState(
|
|
6112
|
+
var _useState3 = useState(undefined),
|
|
5866
6113
|
file = _useState3[0],
|
|
5867
6114
|
setFile = _useState3[1];
|
|
5868
6115
|
|
|
@@ -6006,7 +6253,7 @@ function IMultiImageOrderedAttachment(_ref2) {
|
|
|
6006
6253
|
field: "images/" + key,
|
|
6007
6254
|
value: values['images'][key],
|
|
6008
6255
|
ns: "guillotina.contrib.image.behaviors.IMultiImageAttachment.images",
|
|
6009
|
-
schema: properties
|
|
6256
|
+
schema: get(properties, 'images.additionalProperties', {}),
|
|
6010
6257
|
modifyContent: false,
|
|
6011
6258
|
required: false
|
|
6012
6259
|
}), jsx("div", {
|
|
@@ -6061,163 +6308,6 @@ function IMultiImageOrderedAttachment(_ref2) {
|
|
|
6061
6308
|
});
|
|
6062
6309
|
}
|
|
6063
6310
|
|
|
6064
|
-
var base = {
|
|
6065
|
-
local: {
|
|
6066
|
-
roleperm: {},
|
|
6067
|
-
prinperm: {},
|
|
6068
|
-
prinrole: {}
|
|
6069
|
-
},
|
|
6070
|
-
inherit: []
|
|
6071
|
-
};
|
|
6072
|
-
var Sharing = /*#__PURE__*/function () {
|
|
6073
|
-
function Sharing(element) {
|
|
6074
|
-
this.local = void 0;
|
|
6075
|
-
this.inherit = void 0;
|
|
6076
|
-
Object.assign(this, element || base);
|
|
6077
|
-
}
|
|
6078
|
-
|
|
6079
|
-
var _proto = Sharing.prototype;
|
|
6080
|
-
|
|
6081
|
-
_proto.getRole = function getRole(role) {
|
|
6082
|
-
return this.local.roleperm[role];
|
|
6083
|
-
};
|
|
6084
|
-
|
|
6085
|
-
_proto.getPrincipals = function getPrincipals(principal) {
|
|
6086
|
-
return this.local.prinperm[principal];
|
|
6087
|
-
};
|
|
6088
|
-
|
|
6089
|
-
_proto.getPrinroles = function getPrinroles(role) {
|
|
6090
|
-
return this.local.prinrole[role];
|
|
6091
|
-
};
|
|
6092
|
-
|
|
6093
|
-
_createClass(Sharing, [{
|
|
6094
|
-
key: "roles",
|
|
6095
|
-
get: function get() {
|
|
6096
|
-
return Object.keys(this.local.roleperm);
|
|
6097
|
-
}
|
|
6098
|
-
}, {
|
|
6099
|
-
key: "principals",
|
|
6100
|
-
get: function get() {
|
|
6101
|
-
return Object.keys(this.local.prinperm);
|
|
6102
|
-
}
|
|
6103
|
-
}, {
|
|
6104
|
-
key: "prinrole",
|
|
6105
|
-
get: function get() {
|
|
6106
|
-
return Object.keys(this.local.prinrole);
|
|
6107
|
-
}
|
|
6108
|
-
}]);
|
|
6109
|
-
|
|
6110
|
-
return Sharing;
|
|
6111
|
-
}();
|
|
6112
|
-
|
|
6113
|
-
var ItemModel = /*#__PURE__*/function () {
|
|
6114
|
-
function ItemModel(item, url) {
|
|
6115
|
-
if (url === void 0) {
|
|
6116
|
-
url = '';
|
|
6117
|
-
}
|
|
6118
|
-
|
|
6119
|
-
this.item = void 0;
|
|
6120
|
-
this.url = void 0;
|
|
6121
|
-
this.item = item;
|
|
6122
|
-
this.url = url;
|
|
6123
|
-
}
|
|
6124
|
-
|
|
6125
|
-
_createClass(ItemModel, [{
|
|
6126
|
-
key: "path",
|
|
6127
|
-
get: function get() {
|
|
6128
|
-
var item = this.item['@id'] ? this.item['@id'] : this.item['@absolute_url'];
|
|
6129
|
-
var path = item.split('//')[1].split('/').splice(1).join('/');
|
|
6130
|
-
path = "/" + path + "/";
|
|
6131
|
-
|
|
6132
|
-
if (this.url.length > 0) {
|
|
6133
|
-
if (this.url.startsWith('/')) {
|
|
6134
|
-
path = path.replace(this.url.substring(1), '');
|
|
6135
|
-
} else {
|
|
6136
|
-
path = path.replace(this.url, '');
|
|
6137
|
-
}
|
|
6138
|
-
}
|
|
6139
|
-
|
|
6140
|
-
return path;
|
|
6141
|
-
}
|
|
6142
|
-
}, {
|
|
6143
|
-
key: "name",
|
|
6144
|
-
get: function get() {
|
|
6145
|
-
return this.item.title || this.item['@name'];
|
|
6146
|
-
}
|
|
6147
|
-
}, {
|
|
6148
|
-
key: "icon",
|
|
6149
|
-
get: function get() {
|
|
6150
|
-
var cfg = useConfig();
|
|
6151
|
-
|
|
6152
|
-
if (cfg.icons && cfg.icons[this.type]) {
|
|
6153
|
-
return cfg.icons[this.type];
|
|
6154
|
-
}
|
|
6155
|
-
|
|
6156
|
-
switch (this.type) {
|
|
6157
|
-
case 'GroupManager':
|
|
6158
|
-
return 'fas fa-users-cog';
|
|
6159
|
-
|
|
6160
|
-
case 'UserManager':
|
|
6161
|
-
return 'fas fa-user-cog';
|
|
6162
|
-
|
|
6163
|
-
case 'User':
|
|
6164
|
-
return 'fas fa-user';
|
|
6165
|
-
|
|
6166
|
-
case 'Group':
|
|
6167
|
-
return 'fas fa-users';
|
|
6168
|
-
|
|
6169
|
-
case 'Folder':
|
|
6170
|
-
return 'fas fa-folder';
|
|
6171
|
-
|
|
6172
|
-
default:
|
|
6173
|
-
return 'fas fa-file';
|
|
6174
|
-
}
|
|
6175
|
-
}
|
|
6176
|
-
}, {
|
|
6177
|
-
key: "fullPath",
|
|
6178
|
-
get: function get() {
|
|
6179
|
-
return this.url + this.item.id;
|
|
6180
|
-
}
|
|
6181
|
-
}, {
|
|
6182
|
-
key: "id",
|
|
6183
|
-
get: function get() {
|
|
6184
|
-
if (this.item.id) {
|
|
6185
|
-
return this.item.id;
|
|
6186
|
-
}
|
|
6187
|
-
|
|
6188
|
-
var id = this.item['@id'].split('&')[0].split('/');
|
|
6189
|
-
return id[id.length - 1];
|
|
6190
|
-
}
|
|
6191
|
-
}, {
|
|
6192
|
-
key: "uid",
|
|
6193
|
-
get: function get() {
|
|
6194
|
-
return this.item['@uid'];
|
|
6195
|
-
}
|
|
6196
|
-
}, {
|
|
6197
|
-
key: "type",
|
|
6198
|
-
get: function get() {
|
|
6199
|
-
return this.item['@type'] || this.item.type_name;
|
|
6200
|
-
}
|
|
6201
|
-
}, {
|
|
6202
|
-
key: "title",
|
|
6203
|
-
get: function get() {
|
|
6204
|
-
return this.item.title;
|
|
6205
|
-
}
|
|
6206
|
-
}, {
|
|
6207
|
-
key: "created",
|
|
6208
|
-
get: function get() {
|
|
6209
|
-
return this.item.creation_date ? formatDate(this.item.creation_date) : '';
|
|
6210
|
-
}
|
|
6211
|
-
}, {
|
|
6212
|
-
key: "updated",
|
|
6213
|
-
get: function get() {
|
|
6214
|
-
return this.item.modification_date ? formatDate(this.item.modification_date) : '';
|
|
6215
|
-
}
|
|
6216
|
-
}]);
|
|
6217
|
-
|
|
6218
|
-
return ItemModel;
|
|
6219
|
-
}();
|
|
6220
|
-
|
|
6221
6311
|
var messages$1 = defineMessages({
|
|
6222
6312
|
status_changed_ok: {
|
|
6223
6313
|
id: "status_changed_ok",
|
|
@@ -6293,13 +6383,12 @@ function IWorkflow() {
|
|
|
6293
6383
|
definition = _useState[0],
|
|
6294
6384
|
setDefinition = _useState[1];
|
|
6295
6385
|
|
|
6296
|
-
var _useState2 = useState(
|
|
6386
|
+
var _useState2 = useState(undefined),
|
|
6297
6387
|
workflowAction = _useState2[0],
|
|
6298
6388
|
setWorkflowAction = _useState2[1];
|
|
6299
6389
|
|
|
6300
|
-
var model = new ItemModel(Ctx.context);
|
|
6301
6390
|
var vocabulary = useVocabulary('workflow_states');
|
|
6302
|
-
var currentState =
|
|
6391
|
+
var currentState = Ctx.context['guillotina.contrib.workflows.interfaces.IWorkflowBehavior']['review_state'];
|
|
6303
6392
|
useEffect(function () {
|
|
6304
6393
|
loadDefinition();
|
|
6305
6394
|
}, [Ctx.path]);
|
|
@@ -6319,7 +6408,7 @@ function IWorkflow() {
|
|
|
6319
6408
|
}
|
|
6320
6409
|
|
|
6321
6410
|
Ctx.refresh();
|
|
6322
|
-
setWorkflowAction(
|
|
6411
|
+
setWorkflowAction(undefined);
|
|
6323
6412
|
});
|
|
6324
6413
|
});
|
|
6325
6414
|
} catch (e) {
|
|
@@ -6328,21 +6417,23 @@ function IWorkflow() {
|
|
|
6328
6417
|
};
|
|
6329
6418
|
|
|
6330
6419
|
var getStateTitle = function getStateTitle() {
|
|
6331
|
-
var _vocabulary$data, _vocabulary$data
|
|
6420
|
+
var _vocabulary$data$item, _vocabulary$data;
|
|
6332
6421
|
|
|
6333
|
-
if (((_vocabulary$data = vocabulary.data) == null ? void 0 :
|
|
6334
|
-
var
|
|
6422
|
+
if (((_vocabulary$data$item = (_vocabulary$data = vocabulary.data) == null ? void 0 : _vocabulary$data.items) != null ? _vocabulary$data$item : []).length > 0) {
|
|
6423
|
+
var _vocabulary$data2;
|
|
6424
|
+
|
|
6425
|
+
var vocabularyValue = vocabulary == null ? void 0 : (_vocabulary$data2 = vocabulary.data) == null ? void 0 : _vocabulary$data2.items.find(function (item) {
|
|
6335
6426
|
return item.token === currentState;
|
|
6336
6427
|
});
|
|
6337
6428
|
|
|
6338
6429
|
if (vocabularyValue) {
|
|
6339
|
-
var translatedValue = get
|
|
6430
|
+
var translatedValue = get(vocabularyValue, "title.translated_title." + intl.locale, null);
|
|
6340
6431
|
|
|
6341
6432
|
if (translatedValue !== null) {
|
|
6342
6433
|
return translatedValue;
|
|
6343
6434
|
}
|
|
6344
6435
|
|
|
6345
|
-
var titleValue = get
|
|
6436
|
+
var titleValue = get(vocabularyValue, "title.title." + intl.locale, null);
|
|
6346
6437
|
|
|
6347
6438
|
if (titleValue !== null) {
|
|
6348
6439
|
return titleValue;
|
|
@@ -6358,7 +6449,7 @@ function IWorkflow() {
|
|
|
6358
6449
|
children: [workflowAction && jsx(Confirm, {
|
|
6359
6450
|
loading: loading,
|
|
6360
6451
|
onCancel: function onCancel() {
|
|
6361
|
-
return setWorkflowAction(
|
|
6452
|
+
return setWorkflowAction(undefined);
|
|
6362
6453
|
},
|
|
6363
6454
|
onConfirm: doWorkflowAction,
|
|
6364
6455
|
message: intl.formatMessage(messages$1.confirm_message, {
|
|
@@ -6384,7 +6475,7 @@ function IWorkflow() {
|
|
|
6384
6475
|
onClick: function onClick() {
|
|
6385
6476
|
return setWorkflowAction(transition['@id'].split('@workflow')[1].slice(1));
|
|
6386
6477
|
},
|
|
6387
|
-
children: get
|
|
6478
|
+
children: get(transition, "metadata.translated_title." + intl.locale, transition.title)
|
|
6388
6479
|
}, transition['@id']);
|
|
6389
6480
|
})]
|
|
6390
6481
|
})]
|
|
@@ -6410,14 +6501,17 @@ function PanelActions() {
|
|
|
6410
6501
|
|
|
6411
6502
|
return jsx(Fragment$1, {
|
|
6412
6503
|
children: Object.keys(ACTIONS_OBJECT).map(function (actionKey) {
|
|
6413
|
-
|
|
6504
|
+
var actionKeyTyped = actionKey;
|
|
6505
|
+
var actionObject = ACTIONS_OBJECT[actionKeyTyped];
|
|
6506
|
+
|
|
6507
|
+
if (hasPerm(actionObject.perms)) {
|
|
6414
6508
|
return jsx("button", {
|
|
6415
6509
|
className: "button mr-4",
|
|
6416
6510
|
onClick: function onClick() {
|
|
6417
|
-
onAction(
|
|
6511
|
+
onAction(actionKeyTyped);
|
|
6418
6512
|
},
|
|
6419
|
-
children:
|
|
6420
|
-
}, "panel_action_" +
|
|
6513
|
+
children: actionObject.text
|
|
6514
|
+
}, "panel_action_" + actionObject.text);
|
|
6421
6515
|
}
|
|
6422
6516
|
})
|
|
6423
6517
|
});
|
|
@@ -6459,7 +6553,8 @@ var messages$2 = defineMessages({
|
|
|
6459
6553
|
"value": "Installed Addons"
|
|
6460
6554
|
}]
|
|
6461
6555
|
}
|
|
6462
|
-
});
|
|
6556
|
+
}); // TODO: Refactor without useAsync... just crudContext
|
|
6557
|
+
|
|
6463
6558
|
function PanelAddons() {
|
|
6464
6559
|
var _state$data$available, _state$data, _state$data$available2, _state$data2, _state$data$installed, _state$data3, _state$data$installed2, _state$data4;
|
|
6465
6560
|
|
|
@@ -6614,8 +6709,9 @@ var prepareData = function prepareData(result) {
|
|
|
6614
6709
|
|
|
6615
6710
|
var arrayToObject = function arrayToObject(array) {
|
|
6616
6711
|
return array.reduce(function (obj, item) {
|
|
6617
|
-
|
|
6618
|
-
|
|
6712
|
+
var _extends2;
|
|
6713
|
+
|
|
6714
|
+
return _extends({}, obj, (_extends2 = {}, _extends2[item.id] = item, _extends2));
|
|
6619
6715
|
}, {});
|
|
6620
6716
|
};
|
|
6621
6717
|
|
|
@@ -6777,8 +6873,9 @@ function ItemsActionsProvider(_ref) {
|
|
|
6777
6873
|
|
|
6778
6874
|
function onSelectAllItems(checked) {
|
|
6779
6875
|
setSelected(items.reduce(function (obj, item) {
|
|
6780
|
-
|
|
6781
|
-
|
|
6876
|
+
var _extends2;
|
|
6877
|
+
|
|
6878
|
+
return _extends({}, obj, (_extends2 = {}, _extends2[item.path + "/" + item.id] = checked, _extends2));
|
|
6782
6879
|
}, {
|
|
6783
6880
|
all: checked
|
|
6784
6881
|
}));
|
|
@@ -6786,11 +6883,11 @@ function ItemsActionsProvider(_ref) {
|
|
|
6786
6883
|
|
|
6787
6884
|
function onSelectOneItem(item) {
|
|
6788
6885
|
setSelected(function (state) {
|
|
6789
|
-
var
|
|
6886
|
+
var _extends3;
|
|
6790
6887
|
|
|
6791
|
-
return _extends({}, state, (
|
|
6888
|
+
return _extends({}, state, (_extends3 = {
|
|
6792
6889
|
all: false
|
|
6793
|
-
},
|
|
6890
|
+
}, _extends3[item.path + "/" + item.id] = !state[item.path + "/" + item.id], _extends3));
|
|
6794
6891
|
});
|
|
6795
6892
|
}
|
|
6796
6893
|
|
|
@@ -6812,13 +6909,38 @@ function ItemsActionsProvider(_ref) {
|
|
|
6812
6909
|
children: children
|
|
6813
6910
|
});
|
|
6814
6911
|
}
|
|
6815
|
-
function AllItemsCheckbox(_ref2) {
|
|
6816
|
-
var dataTest = _ref2.dataTest;
|
|
6817
6912
|
|
|
6913
|
+
var useItemsActions = function useItemsActions() {
|
|
6818
6914
|
var _useContext = useContext(ItemsActionsCtx),
|
|
6915
|
+
onAction = _useContext.onAction,
|
|
6916
|
+
onSelectOneItem = _useContext.onSelectOneItem,
|
|
6819
6917
|
onSelectAllItems = _useContext.onSelectAllItems,
|
|
6820
6918
|
selected = _useContext.selected;
|
|
6821
6919
|
|
|
6920
|
+
if (!onAction || !onSelectOneItem || !onSelectAllItems || !selected) {
|
|
6921
|
+
throw new Error('useItemsActions must be used inside ItemsActionsProvider');
|
|
6922
|
+
}
|
|
6923
|
+
|
|
6924
|
+
return {
|
|
6925
|
+
onAction: onAction,
|
|
6926
|
+
onSelectOneItem: onSelectOneItem,
|
|
6927
|
+
onSelectAllItems: onSelectAllItems,
|
|
6928
|
+
selected: selected
|
|
6929
|
+
};
|
|
6930
|
+
};
|
|
6931
|
+
/**
|
|
6932
|
+
* Checkbox component without props that consume the ItemsActionsContext
|
|
6933
|
+
* and it select/unselect all items of the page.
|
|
6934
|
+
*/
|
|
6935
|
+
|
|
6936
|
+
|
|
6937
|
+
function AllItemsCheckbox(_ref2) {
|
|
6938
|
+
var dataTest = _ref2.dataTest;
|
|
6939
|
+
|
|
6940
|
+
var _useItemsActions = useItemsActions(),
|
|
6941
|
+
onSelectAllItems = _useItemsActions.onSelectAllItems,
|
|
6942
|
+
selected = _useItemsActions.selected;
|
|
6943
|
+
|
|
6822
6944
|
return jsx(Checkbox, {
|
|
6823
6945
|
onChange: onSelectAllItems,
|
|
6824
6946
|
checked: selected.all,
|
|
@@ -6829,9 +6951,9 @@ function ItemCheckbox(_ref3) {
|
|
|
6829
6951
|
var item = _ref3.item,
|
|
6830
6952
|
dataTest = _ref3.dataTest;
|
|
6831
6953
|
|
|
6832
|
-
var
|
|
6833
|
-
selected =
|
|
6834
|
-
onSelectOneItem =
|
|
6954
|
+
var _useItemsActions2 = useItemsActions(),
|
|
6955
|
+
selected = _useItemsActions2.selected,
|
|
6956
|
+
onSelectOneItem = _useItemsActions2.onSelectOneItem;
|
|
6835
6957
|
|
|
6836
6958
|
var absId = item.path + "/" + item.id;
|
|
6837
6959
|
var value = selected[absId];
|
|
@@ -6843,14 +6965,18 @@ function ItemCheckbox(_ref3) {
|
|
|
6843
6965
|
dataTest: dataTest
|
|
6844
6966
|
});
|
|
6845
6967
|
}
|
|
6968
|
+
/**
|
|
6969
|
+
* Dropdown to choose some action to apply to the selected items.
|
|
6970
|
+
*/
|
|
6971
|
+
|
|
6846
6972
|
function ItemsActionsDropdown() {
|
|
6847
6973
|
var intl = useIntl();
|
|
6848
6974
|
var ACTIONS_OBJECT = getActionsObject(intl, true);
|
|
6849
6975
|
var traversal = useTraversal();
|
|
6850
6976
|
|
|
6851
|
-
var
|
|
6852
|
-
selected =
|
|
6853
|
-
onAction =
|
|
6977
|
+
var _useItemsActions3 = useItemsActions(),
|
|
6978
|
+
selected = _useItemsActions3.selected,
|
|
6979
|
+
onAction = _useItemsActions3.onAction;
|
|
6854
6980
|
|
|
6855
6981
|
var disabled = Object.values(selected).every(function (v) {
|
|
6856
6982
|
return !v;
|
|
@@ -6934,6 +7060,7 @@ function Pagination(_ref) {
|
|
|
6934
7060
|
"aria-label": "pagination",
|
|
6935
7061
|
children: [jsx("a", {
|
|
6936
7062
|
className: "pagination-previous is-small",
|
|
7063
|
+
// disabled={current === 0}
|
|
6937
7064
|
onClick: function onClick() {
|
|
6938
7065
|
return current > 0 ? doPaginate(current - 1) : null;
|
|
6939
7066
|
},
|
|
@@ -6945,6 +7072,7 @@ function Pagination(_ref) {
|
|
|
6945
7072
|
})
|
|
6946
7073
|
}), jsx("a", {
|
|
6947
7074
|
className: "pagination-next is-small",
|
|
7075
|
+
// disabled={current >= maxPages - 1}
|
|
6948
7076
|
onClick: function onClick() {
|
|
6949
7077
|
return doPaginate(current + 1);
|
|
6950
7078
|
},
|
|
@@ -6959,6 +7087,170 @@ function Pagination(_ref) {
|
|
|
6959
7087
|
});
|
|
6960
7088
|
}
|
|
6961
7089
|
|
|
7090
|
+
var base = {
|
|
7091
|
+
local: {
|
|
7092
|
+
roleperm: {},
|
|
7093
|
+
prinperm: {},
|
|
7094
|
+
prinrole: {}
|
|
7095
|
+
},
|
|
7096
|
+
inherit: []
|
|
7097
|
+
};
|
|
7098
|
+
var Sharing = /*#__PURE__*/function () {
|
|
7099
|
+
function Sharing(element) {
|
|
7100
|
+
this.local = void 0;
|
|
7101
|
+
this.inherit = void 0;
|
|
7102
|
+
|
|
7103
|
+
if (element === undefined) {
|
|
7104
|
+
throw new Error('Sharing element is undefined');
|
|
7105
|
+
}
|
|
7106
|
+
|
|
7107
|
+
this.local = element.local || base.local;
|
|
7108
|
+
this.inherit = element.inherit || base.inherit;
|
|
7109
|
+
}
|
|
7110
|
+
|
|
7111
|
+
var _proto = Sharing.prototype;
|
|
7112
|
+
|
|
7113
|
+
_proto.getRole = function getRole(role) {
|
|
7114
|
+
return this.local.roleperm[role];
|
|
7115
|
+
};
|
|
7116
|
+
|
|
7117
|
+
_proto.getPrincipals = function getPrincipals(principal) {
|
|
7118
|
+
return this.local.prinperm[principal];
|
|
7119
|
+
};
|
|
7120
|
+
|
|
7121
|
+
_proto.getPrinroles = function getPrinroles(role) {
|
|
7122
|
+
return this.local.prinrole[role];
|
|
7123
|
+
};
|
|
7124
|
+
|
|
7125
|
+
_createClass(Sharing, [{
|
|
7126
|
+
key: "roles",
|
|
7127
|
+
get: function get() {
|
|
7128
|
+
return Object.keys(this.local.roleperm);
|
|
7129
|
+
}
|
|
7130
|
+
}, {
|
|
7131
|
+
key: "principals",
|
|
7132
|
+
get: function get() {
|
|
7133
|
+
return Object.keys(this.local.prinperm);
|
|
7134
|
+
}
|
|
7135
|
+
}, {
|
|
7136
|
+
key: "prinrole",
|
|
7137
|
+
get: function get() {
|
|
7138
|
+
return Object.keys(this.local.prinrole);
|
|
7139
|
+
}
|
|
7140
|
+
}]);
|
|
7141
|
+
|
|
7142
|
+
return Sharing;
|
|
7143
|
+
}();
|
|
7144
|
+
|
|
7145
|
+
var ItemModel = /*#__PURE__*/function () {
|
|
7146
|
+
function ItemModel(item, url) {
|
|
7147
|
+
if (url === void 0) {
|
|
7148
|
+
url = '';
|
|
7149
|
+
}
|
|
7150
|
+
|
|
7151
|
+
this.item = void 0;
|
|
7152
|
+
this.url = void 0;
|
|
7153
|
+
this.item = item;
|
|
7154
|
+
this.url = url;
|
|
7155
|
+
}
|
|
7156
|
+
|
|
7157
|
+
_createClass(ItemModel, [{
|
|
7158
|
+
key: "path",
|
|
7159
|
+
get: function get() {
|
|
7160
|
+
// Compat
|
|
7161
|
+
var item = this.item['@id'] ? this.item['@id'] : this.item['@absolute_url'];
|
|
7162
|
+
var path = item.split('//')[1].split('/').splice(1).join('/');
|
|
7163
|
+
path = "/" + path + "/";
|
|
7164
|
+
|
|
7165
|
+
if (this.url.length > 0) {
|
|
7166
|
+
if (this.url.startsWith('/')) {
|
|
7167
|
+
path = path.replace(this.url.substring(1), '');
|
|
7168
|
+
} else {
|
|
7169
|
+
path = path.replace(this.url, '');
|
|
7170
|
+
}
|
|
7171
|
+
}
|
|
7172
|
+
|
|
7173
|
+
return path;
|
|
7174
|
+
}
|
|
7175
|
+
}, {
|
|
7176
|
+
key: "name",
|
|
7177
|
+
get: function get() {
|
|
7178
|
+
return this.item.title || this.item['@name'];
|
|
7179
|
+
}
|
|
7180
|
+
}, {
|
|
7181
|
+
key: "icon",
|
|
7182
|
+
get: function get() {
|
|
7183
|
+
var cfg = useConfig();
|
|
7184
|
+
|
|
7185
|
+
if (cfg.icons && cfg.icons[this.type]) {
|
|
7186
|
+
return cfg.icons[this.type];
|
|
7187
|
+
}
|
|
7188
|
+
|
|
7189
|
+
switch (this.type) {
|
|
7190
|
+
case 'GroupManager':
|
|
7191
|
+
return 'fas fa-users-cog';
|
|
7192
|
+
|
|
7193
|
+
case 'UserManager':
|
|
7194
|
+
return 'fas fa-user-cog';
|
|
7195
|
+
|
|
7196
|
+
case 'User':
|
|
7197
|
+
return 'fas fa-user';
|
|
7198
|
+
|
|
7199
|
+
case 'Group':
|
|
7200
|
+
return 'fas fa-users';
|
|
7201
|
+
|
|
7202
|
+
case 'Folder':
|
|
7203
|
+
return 'fas fa-folder';
|
|
7204
|
+
|
|
7205
|
+
default:
|
|
7206
|
+
return 'fas fa-file';
|
|
7207
|
+
}
|
|
7208
|
+
}
|
|
7209
|
+
}, {
|
|
7210
|
+
key: "fullPath",
|
|
7211
|
+
get: function get() {
|
|
7212
|
+
return this.url + this.id;
|
|
7213
|
+
}
|
|
7214
|
+
}, {
|
|
7215
|
+
key: "id",
|
|
7216
|
+
get: function get() {
|
|
7217
|
+
if ('id' in this.item) {
|
|
7218
|
+
return this.item.id;
|
|
7219
|
+
}
|
|
7220
|
+
|
|
7221
|
+
var id = this.item['@id'].split('&')[0].split('/');
|
|
7222
|
+
return id[id.length - 1];
|
|
7223
|
+
}
|
|
7224
|
+
}, {
|
|
7225
|
+
key: "uid",
|
|
7226
|
+
get: function get() {
|
|
7227
|
+
return this.item['@uid'];
|
|
7228
|
+
}
|
|
7229
|
+
}, {
|
|
7230
|
+
key: "type",
|
|
7231
|
+
get: function get() {
|
|
7232
|
+
return this.item['@type'] || this.item.type_name;
|
|
7233
|
+
}
|
|
7234
|
+
}, {
|
|
7235
|
+
key: "title",
|
|
7236
|
+
get: function get() {
|
|
7237
|
+
return this.item.title;
|
|
7238
|
+
}
|
|
7239
|
+
}, {
|
|
7240
|
+
key: "created",
|
|
7241
|
+
get: function get() {
|
|
7242
|
+
return this.item.creation_date ? formatDate(this.item.creation_date) : '';
|
|
7243
|
+
}
|
|
7244
|
+
}, {
|
|
7245
|
+
key: "updated",
|
|
7246
|
+
get: function get() {
|
|
7247
|
+
return this.item.modification_date ? formatDate(this.item.modification_date) : '';
|
|
7248
|
+
}
|
|
7249
|
+
}]);
|
|
7250
|
+
|
|
7251
|
+
return ItemModel;
|
|
7252
|
+
}();
|
|
7253
|
+
|
|
6962
7254
|
function Item(_ref) {
|
|
6963
7255
|
var item = _ref.item,
|
|
6964
7256
|
icon = _ref.icon;
|
|
@@ -7099,11 +7391,11 @@ function SearchOptionsLabels(_ref) {
|
|
|
7099
7391
|
renderValue = _useState[0],
|
|
7100
7392
|
setRenderValue = _useState[1];
|
|
7101
7393
|
|
|
7102
|
-
var defaultRenderValue = location.get(query);
|
|
7394
|
+
var defaultRenderValue = location.get(query) || '';
|
|
7103
7395
|
useEffect(function () {
|
|
7104
7396
|
var value = defaultRenderValue;
|
|
7105
7397
|
|
|
7106
|
-
if ((options != null ? options : []).length > 0) {
|
|
7398
|
+
if (options && (options != null ? options : []).length > 0) {
|
|
7107
7399
|
var option = options.find(function (item) {
|
|
7108
7400
|
return item.value === value;
|
|
7109
7401
|
});
|
|
@@ -7152,14 +7444,16 @@ function SearchVocabularyLabels(_ref) {
|
|
|
7152
7444
|
setRenderValue = _useState[1];
|
|
7153
7445
|
|
|
7154
7446
|
var vocabulary = useVocabulary(vocabularyName);
|
|
7155
|
-
var defaultRenderValue = location.get(query);
|
|
7447
|
+
var defaultRenderValue = location.get(query) || '';
|
|
7156
7448
|
useEffect(function () {
|
|
7157
7449
|
var _vocabulary$data$item, _vocabulary$data;
|
|
7158
7450
|
|
|
7159
7451
|
var value = defaultRenderValue;
|
|
7160
7452
|
|
|
7161
7453
|
if (((_vocabulary$data$item = vocabulary == null ? void 0 : (_vocabulary$data = vocabulary.data) == null ? void 0 : _vocabulary$data.items) != null ? _vocabulary$data$item : []).length > 0) {
|
|
7162
|
-
var
|
|
7454
|
+
var _vocabulary$data2;
|
|
7455
|
+
|
|
7456
|
+
var vocabularyValue = vocabulary == null ? void 0 : (_vocabulary$data2 = vocabulary.data) == null ? void 0 : _vocabulary$data2.items.find(function (item) {
|
|
7163
7457
|
return item.token === value;
|
|
7164
7458
|
});
|
|
7165
7459
|
|
|
@@ -7193,7 +7487,7 @@ function SearchVocabularyLabels(_ref) {
|
|
|
7193
7487
|
return null;
|
|
7194
7488
|
}
|
|
7195
7489
|
|
|
7196
|
-
var initialState$
|
|
7490
|
+
var initialState$3 = {
|
|
7197
7491
|
page: 0,
|
|
7198
7492
|
items: [],
|
|
7199
7493
|
loading: true,
|
|
@@ -7212,7 +7506,7 @@ function PanelItems() {
|
|
|
7212
7506
|
var intl = useIntl();
|
|
7213
7507
|
var Ctx = useTraversal();
|
|
7214
7508
|
|
|
7215
|
-
var _useSetState = useSetState(initialState$
|
|
7509
|
+
var _useSetState = useSetState(initialState$3),
|
|
7216
7510
|
state = _useSetState[0],
|
|
7217
7511
|
setState = _useSetState[1];
|
|
7218
7512
|
|
|
@@ -7228,7 +7522,7 @@ function PanelItems() {
|
|
|
7228
7522
|
var page;
|
|
7229
7523
|
|
|
7230
7524
|
try {
|
|
7231
|
-
page = parseInt(location.get('page')
|
|
7525
|
+
page = parseInt(location.get('page') || '0');
|
|
7232
7526
|
} catch (_unused) {
|
|
7233
7527
|
page = 0;
|
|
7234
7528
|
}
|
|
@@ -7275,7 +7569,7 @@ function PanelItems() {
|
|
|
7275
7569
|
var resultQueryParams = [];
|
|
7276
7570
|
var resultDynamicLocation = [];
|
|
7277
7571
|
filterSchema.forEach(function (filter) {
|
|
7278
|
-
var itemParam = location.get(filter.attribute_key);
|
|
7572
|
+
var itemParam = location.get(filter.attribute_key) || '';
|
|
7279
7573
|
resultDynamicLocation.push(itemParam);
|
|
7280
7574
|
|
|
7281
7575
|
if (itemParam) {
|
|
@@ -7287,53 +7581,51 @@ function PanelItems() {
|
|
|
7287
7581
|
var controller = new AbortController();
|
|
7288
7582
|
if (Ctx.state.loading) return;
|
|
7289
7583
|
|
|
7290
|
-
|
|
7291
|
-
|
|
7292
|
-
|
|
7293
|
-
|
|
7294
|
-
|
|
7295
|
-
var get = Ctx.registry.get;
|
|
7296
|
-
var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
|
|
7297
|
-
|
|
7298
|
-
if (sortParsed === undefined) {
|
|
7299
|
-
var defaultSortValue = Ctx.registry.getDefaultSortValue(Ctx.context['@type'], {
|
|
7300
|
-
key: 'id',
|
|
7301
|
-
direction: 'des'
|
|
7584
|
+
var getData = function getData() {
|
|
7585
|
+
try {
|
|
7586
|
+
setState({
|
|
7587
|
+
loading: true,
|
|
7588
|
+
total: Ctx.context.length
|
|
7302
7589
|
});
|
|
7303
|
-
|
|
7304
|
-
|
|
7590
|
+
var get = Ctx.registry.get;
|
|
7591
|
+
var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
|
|
7305
7592
|
|
|
7306
|
-
|
|
7307
|
-
|
|
7308
|
-
|
|
7309
|
-
|
|
7310
|
-
|
|
7311
|
-
|
|
7593
|
+
if (sortParsed === undefined) {
|
|
7594
|
+
var defaultSortValue = Ctx.registry.getDefaultSortValue(Ctx.context['@type']);
|
|
7595
|
+
sortParsed = parser("_sort_" + defaultSortValue.direction + "=" + defaultSortValue.key);
|
|
7596
|
+
}
|
|
7597
|
+
|
|
7598
|
+
var qsParsed = Ctx.client.getQueryParamsSearchFunction(fnName)({
|
|
7599
|
+
path: Ctx.path,
|
|
7600
|
+
start: page * PageSize,
|
|
7601
|
+
pageSize: PageSize
|
|
7602
|
+
});
|
|
7603
|
+
var qs = '';
|
|
7312
7604
|
|
|
7313
|
-
|
|
7314
|
-
|
|
7605
|
+
if (search || type || resultQueryParams.length > 0) {
|
|
7606
|
+
var _searchParsed, _typeParsed, _sortParsed;
|
|
7315
7607
|
|
|
7316
|
-
|
|
7317
|
-
|
|
7318
|
-
|
|
7608
|
+
qs = buildQs([].concat(qsParsed, (_searchParsed = searchParsed) != null ? _searchParsed : [], (_typeParsed = typeParsed) != null ? _typeParsed : [], (_sortParsed = sortParsed) != null ? _sortParsed : [], resultQueryParams));
|
|
7609
|
+
} else {
|
|
7610
|
+
var _sortParsed2;
|
|
7319
7611
|
|
|
7320
|
-
|
|
7321
|
-
|
|
7612
|
+
qs = buildQs([].concat(qsParsed, (_sortParsed2 = sortParsed) != null ? _sortParsed2 : []));
|
|
7613
|
+
}
|
|
7322
7614
|
|
|
7323
|
-
|
|
7324
|
-
|
|
7325
|
-
|
|
7326
|
-
|
|
7327
|
-
|
|
7328
|
-
|
|
7329
|
-
|
|
7330
|
-
total: data.items_count
|
|
7615
|
+
var signal = controller.signal;
|
|
7616
|
+
return Promise.resolve(Ctx.client.search(Ctx.path, qs, false, false, signal)).then(function (data) {
|
|
7617
|
+
setState({
|
|
7618
|
+
items: data.items,
|
|
7619
|
+
loading: false,
|
|
7620
|
+
total: data.items_count
|
|
7621
|
+
});
|
|
7331
7622
|
});
|
|
7332
|
-
})
|
|
7333
|
-
|
|
7334
|
-
|
|
7335
|
-
}
|
|
7623
|
+
} catch (e) {
|
|
7624
|
+
return Promise.reject(e);
|
|
7625
|
+
}
|
|
7626
|
+
};
|
|
7336
7627
|
|
|
7628
|
+
getData();
|
|
7337
7629
|
return function () {
|
|
7338
7630
|
controller.abort();
|
|
7339
7631
|
};
|
|
@@ -7378,12 +7670,14 @@ function PanelItems() {
|
|
|
7378
7670
|
var _filter$values;
|
|
7379
7671
|
|
|
7380
7672
|
if (filter.type === 'select' && ((_filter$values = filter.values) != null ? _filter$values : []).length > 0) {
|
|
7673
|
+
var _filter$values2;
|
|
7674
|
+
|
|
7381
7675
|
return jsx(Select, {
|
|
7382
7676
|
id: filter.attribute_key,
|
|
7383
7677
|
placeholder: filter.label,
|
|
7384
7678
|
appendDefault: true,
|
|
7385
7679
|
classWrap: "is-size-7 is-fullwidth",
|
|
7386
|
-
options: filter.values,
|
|
7680
|
+
options: (_filter$values2 = filter.values) != null ? _filter$values2 : [],
|
|
7387
7681
|
value: location.get(filter.attribute_key) || '',
|
|
7388
7682
|
dataTest: "filterInput" + filter.attribute_key,
|
|
7389
7683
|
onChange: function onChange(value) {
|
|
@@ -7450,7 +7744,7 @@ function PanelItems() {
|
|
|
7450
7744
|
var filterData = location.get(filter.attribute_key);
|
|
7451
7745
|
|
|
7452
7746
|
if (filterData) {
|
|
7453
|
-
var _filter$
|
|
7747
|
+
var _filter$values3;
|
|
7454
7748
|
|
|
7455
7749
|
if (filter.type === 'select' && filter.vocabulary) {
|
|
7456
7750
|
return jsx("div", {
|
|
@@ -7459,7 +7753,7 @@ function PanelItems() {
|
|
|
7459
7753
|
vocabularyName: filter == null ? void 0 : filter.vocabulary
|
|
7460
7754
|
})
|
|
7461
7755
|
}, filter.attribute_key);
|
|
7462
|
-
} else if (filter.type === 'select' && ((_filter$
|
|
7756
|
+
} else if (filter.type === 'select' && ((_filter$values3 = filter.values) != null ? _filter$values3 : []).length > 0) {
|
|
7463
7757
|
return jsx("div", {
|
|
7464
7758
|
children: jsx(SearchOptionsLabels, {
|
|
7465
7759
|
query: filter.attribute_key,
|
|
@@ -7505,7 +7799,7 @@ function PanelItems() {
|
|
|
7505
7799
|
className: "has-text-info is-flex is-align-items-center",
|
|
7506
7800
|
children: [jsx("span", {
|
|
7507
7801
|
children: column.label
|
|
7508
|
-
}), getIcon(column.key, column.isSortable)]
|
|
7802
|
+
}), getIcon(column.key, !!column.isSortable)]
|
|
7509
7803
|
})
|
|
7510
7804
|
}, "table-col-" + column.label);
|
|
7511
7805
|
}), jsx("th", {
|
|
@@ -7516,7 +7810,7 @@ function PanelItems() {
|
|
|
7516
7810
|
children: [items && items.map(function (item) {
|
|
7517
7811
|
return jsx(RItem, {
|
|
7518
7812
|
item: item,
|
|
7519
|
-
search: search,
|
|
7813
|
+
search: search != null ? search : '',
|
|
7520
7814
|
columns: columns
|
|
7521
7815
|
}, item['@uid']);
|
|
7522
7816
|
}), items && items.length === 0 && jsx("tr", {
|
|
@@ -7540,17 +7834,19 @@ function PanelItems() {
|
|
|
7540
7834
|
}
|
|
7541
7835
|
|
|
7542
7836
|
function BehaviorsView(_ref) {
|
|
7837
|
+
var _context$__behaviors_;
|
|
7838
|
+
|
|
7543
7839
|
var context = _ref.context,
|
|
7544
7840
|
schema = _ref.schema;
|
|
7545
7841
|
var Ctx = useTraversal();
|
|
7546
7842
|
var getBehavior = Ctx.registry.getBehavior;
|
|
7547
|
-
var behaviors = [].concat(context.__behaviors__, context['@static_behaviors']);
|
|
7843
|
+
var behaviors = [].concat((_context$__behaviors_ = context.__behaviors__) != null ? _context$__behaviors_ : [], Object(context['@static_behaviors']));
|
|
7548
7844
|
|
|
7549
|
-
var GetBehavior = function GetBehavior(
|
|
7550
|
-
var Cls = getBehavior(
|
|
7845
|
+
var GetBehavior = function GetBehavior(behaviorName) {
|
|
7846
|
+
var Cls = getBehavior(behaviorName, BehaviorNotImplemented);
|
|
7551
7847
|
return jsx(Cls, {
|
|
7552
|
-
values: context[
|
|
7553
|
-
properties: get
|
|
7848
|
+
values: context[behaviorName],
|
|
7849
|
+
properties: get(schema, ['definitions', behaviorName, 'properties'], {})
|
|
7554
7850
|
});
|
|
7555
7851
|
};
|
|
7556
7852
|
|
|
@@ -7646,9 +7942,11 @@ function PanelProperties() {
|
|
|
7646
7942
|
var properties = Object.keys((schema == null ? void 0 : (_schema$data = schema.data) == null ? void 0 : _schema$data.properties) || []).filter(function (key) {
|
|
7647
7943
|
return !ignoreFields.includes(key);
|
|
7648
7944
|
}).map(function (key) {
|
|
7945
|
+
var _schema$data2;
|
|
7946
|
+
|
|
7649
7947
|
return {
|
|
7650
7948
|
key: key,
|
|
7651
|
-
value: schema.data.properties[key]
|
|
7949
|
+
value: schema == null ? void 0 : (_schema$data2 = schema.data) == null ? void 0 : _schema$data2.properties[key]
|
|
7652
7950
|
};
|
|
7653
7951
|
});
|
|
7654
7952
|
useEffect(function () {
|
|
@@ -7660,7 +7958,7 @@ function PanelProperties() {
|
|
|
7660
7958
|
setSchema({
|
|
7661
7959
|
loading: true
|
|
7662
7960
|
});
|
|
7663
|
-
return Promise.resolve(Ctx.client.getTypeSchema(Ctx.path,
|
|
7961
|
+
return Promise.resolve(Ctx.client.getTypeSchema(Ctx.path, Ctx.context.type_name)).then(function (dataJson) {
|
|
7664
7962
|
setSchema({
|
|
7665
7963
|
loading: false,
|
|
7666
7964
|
data: dataJson
|
|
@@ -7735,7 +8033,7 @@ function PanelProperties() {
|
|
|
7735
8033
|
}), jsx("td", {
|
|
7736
8034
|
children: jsx(EditableField, {
|
|
7737
8035
|
field: prop,
|
|
7738
|
-
value: Ctx.context
|
|
8036
|
+
value: get(Ctx.context, prop, ''),
|
|
7739
8037
|
modifyContent: false
|
|
7740
8038
|
})
|
|
7741
8039
|
})]
|
|
@@ -7759,7 +8057,7 @@ function PanelProperties() {
|
|
|
7759
8057
|
})
|
|
7760
8058
|
}), jsx("tbody", {
|
|
7761
8059
|
children: properties.map(function (_ref) {
|
|
7762
|
-
var _schema$data$required, _schema$
|
|
8060
|
+
var _schema$data$required, _schema$data3;
|
|
7763
8061
|
|
|
7764
8062
|
var key = _ref.key,
|
|
7765
8063
|
value = _ref.value;
|
|
@@ -7772,10 +8070,10 @@ function PanelProperties() {
|
|
|
7772
8070
|
}), jsx("td", {
|
|
7773
8071
|
children: jsx(EditableField, {
|
|
7774
8072
|
field: key,
|
|
7775
|
-
value: Ctx.context
|
|
8073
|
+
value: get(Ctx.context, key, ''),
|
|
7776
8074
|
schema: value,
|
|
7777
8075
|
modifyContent: modifyContent,
|
|
7778
|
-
required: ((_schema$data$required = (_schema$
|
|
8076
|
+
required: ((_schema$data$required = (_schema$data3 = schema.data) == null ? void 0 : _schema$data3.required) != null ? _schema$data$required : []).includes(key)
|
|
7779
8077
|
})
|
|
7780
8078
|
})]
|
|
7781
8079
|
}, 'prop' + key);
|
|
@@ -7811,14 +8109,6 @@ function PermissionPrinperm(_ref) {
|
|
|
7811
8109
|
state = _useSetState[0],
|
|
7812
8110
|
setState = _useSetState[1];
|
|
7813
8111
|
|
|
7814
|
-
var getMultiples = function getMultiples(field, setter) {
|
|
7815
|
-
return function (values) {
|
|
7816
|
-
var _setter;
|
|
7817
|
-
|
|
7818
|
-
setter((_setter = {}, _setter[field] = values, _setter));
|
|
7819
|
-
};
|
|
7820
|
-
};
|
|
7821
|
-
|
|
7822
8112
|
var savePermission = function savePermission() {
|
|
7823
8113
|
try {
|
|
7824
8114
|
if (!state.principal || !state.setting || state.permission.length === 0) {
|
|
@@ -7868,7 +8158,7 @@ function PermissionPrinperm(_ref) {
|
|
|
7868
8158
|
children: intl.formatMessage(genericMessages.select_principal)
|
|
7869
8159
|
}), jsx(Select, {
|
|
7870
8160
|
appendDefault: true,
|
|
7871
|
-
options: principals,
|
|
8161
|
+
options: principals != null ? principals : [],
|
|
7872
8162
|
onChange: function onChange(value) {
|
|
7873
8163
|
return setState({
|
|
7874
8164
|
principal: value
|
|
@@ -7882,8 +8172,12 @@ function PermissionPrinperm(_ref) {
|
|
|
7882
8172
|
className: "label",
|
|
7883
8173
|
children: intl.formatMessage(genericMessages.select_permissions)
|
|
7884
8174
|
}), jsx(Select, {
|
|
7885
|
-
options: permissions,
|
|
7886
|
-
onChange:
|
|
8175
|
+
options: permissions != null ? permissions : [],
|
|
8176
|
+
onChange: function onChange(values) {
|
|
8177
|
+
setState({
|
|
8178
|
+
permission: values
|
|
8179
|
+
});
|
|
8180
|
+
},
|
|
7887
8181
|
size: 5,
|
|
7888
8182
|
multiple: true,
|
|
7889
8183
|
dataTest: "selectPermissionsTest"
|
|
@@ -7934,14 +8228,6 @@ function PermissionPrinrole(_ref) {
|
|
|
7934
8228
|
state = _useSetState[0],
|
|
7935
8229
|
setState = _useSetState[1];
|
|
7936
8230
|
|
|
7937
|
-
var getMultiples = function getMultiples(field, setter) {
|
|
7938
|
-
return function (values) {
|
|
7939
|
-
var _setter;
|
|
7940
|
-
|
|
7941
|
-
setter((_setter = {}, _setter[field] = values, _setter));
|
|
7942
|
-
};
|
|
7943
|
-
};
|
|
7944
|
-
|
|
7945
8231
|
var savePermission = function savePermission() {
|
|
7946
8232
|
try {
|
|
7947
8233
|
if (!state.principal || !state.setting || state.roles.length === 0) {
|
|
@@ -7991,7 +8277,7 @@ function PermissionPrinrole(_ref) {
|
|
|
7991
8277
|
children: intl.formatMessage(genericMessages.select_principal)
|
|
7992
8278
|
}), jsx(Select, {
|
|
7993
8279
|
appendDefault: true,
|
|
7994
|
-
options: principals,
|
|
8280
|
+
options: principals != null ? principals : [],
|
|
7995
8281
|
onChange: function onChange(value) {
|
|
7996
8282
|
return setState({
|
|
7997
8283
|
principal: value
|
|
@@ -8006,7 +8292,11 @@ function PermissionPrinrole(_ref) {
|
|
|
8006
8292
|
children: intl.formatMessage(genericMessages.select_role)
|
|
8007
8293
|
}), jsx(Select, {
|
|
8008
8294
|
options: roles,
|
|
8009
|
-
onChange:
|
|
8295
|
+
onChange: function onChange(values) {
|
|
8296
|
+
setState({
|
|
8297
|
+
roles: values
|
|
8298
|
+
});
|
|
8299
|
+
},
|
|
8010
8300
|
size: 5,
|
|
8011
8301
|
multiple: true,
|
|
8012
8302
|
dataTest: "selectRoleTest"
|
|
@@ -8057,14 +8347,6 @@ function PermissionRoleperm(_ref) {
|
|
|
8057
8347
|
state = _useSetState[0],
|
|
8058
8348
|
setState = _useSetState[1];
|
|
8059
8349
|
|
|
8060
|
-
var getMultiples = function getMultiples(field, setter) {
|
|
8061
|
-
return function (values) {
|
|
8062
|
-
var _setter;
|
|
8063
|
-
|
|
8064
|
-
setter((_setter = {}, _setter[field] = values, _setter));
|
|
8065
|
-
};
|
|
8066
|
-
};
|
|
8067
|
-
|
|
8068
8350
|
var savePermission = function savePermission() {
|
|
8069
8351
|
try {
|
|
8070
8352
|
if (!state.role || !state.setting || state.permission.length === 0) {
|
|
@@ -8128,8 +8410,12 @@ function PermissionRoleperm(_ref) {
|
|
|
8128
8410
|
className: "label",
|
|
8129
8411
|
children: intl.formatMessage(genericMessages.select_permissions)
|
|
8130
8412
|
}), jsx(Select, {
|
|
8131
|
-
options: permissions,
|
|
8132
|
-
onChange:
|
|
8413
|
+
options: permissions != null ? permissions : [],
|
|
8414
|
+
onChange: function onChange(values) {
|
|
8415
|
+
setState({
|
|
8416
|
+
permission: values
|
|
8417
|
+
});
|
|
8418
|
+
},
|
|
8133
8419
|
dataTest: "selectPermissionsTest",
|
|
8134
8420
|
size: 5,
|
|
8135
8421
|
multiple: true
|
|
@@ -8262,7 +8548,18 @@ function PanelPermissions() {
|
|
|
8262
8548
|
useEffect(function () {
|
|
8263
8549
|
get('@sharing');
|
|
8264
8550
|
}, [reset]);
|
|
8265
|
-
var perms =
|
|
8551
|
+
var perms = useMemo(function () {
|
|
8552
|
+
if (result) {
|
|
8553
|
+
return new Sharing(result);
|
|
8554
|
+
}
|
|
8555
|
+
|
|
8556
|
+
return null;
|
|
8557
|
+
}, [result]);
|
|
8558
|
+
|
|
8559
|
+
if (perms === null) {
|
|
8560
|
+
return null;
|
|
8561
|
+
}
|
|
8562
|
+
|
|
8266
8563
|
return jsxs("div", {
|
|
8267
8564
|
className: "columns",
|
|
8268
8565
|
children: [!loading && jsxs("div", {
|
|
@@ -8420,14 +8717,14 @@ function AddPermission(_ref) {
|
|
|
8420
8717
|
return Promise.resolve(Ctx.client.getPrincipals(Ctx.path)).then(function (principalsData) {
|
|
8421
8718
|
var groups = principalsData.groups.map(function (group) {
|
|
8422
8719
|
return {
|
|
8423
|
-
text: group
|
|
8424
|
-
value: group
|
|
8720
|
+
text: group['@name'],
|
|
8721
|
+
value: group['@name']
|
|
8425
8722
|
};
|
|
8426
8723
|
});
|
|
8427
8724
|
var users = principalsData.users.map(function (user) {
|
|
8428
8725
|
return {
|
|
8429
|
-
text: user.fullname || user
|
|
8430
|
-
value: user
|
|
8726
|
+
text: user.fullname || user['@name'],
|
|
8727
|
+
value: user['@name']
|
|
8431
8728
|
};
|
|
8432
8729
|
});
|
|
8433
8730
|
principals = [].concat(groups, users);
|
|
@@ -8498,18 +8795,6 @@ var prepareAvailable = function prepareAvailable(items, already, title) {
|
|
|
8498
8795
|
text: "Add " + title
|
|
8499
8796
|
};
|
|
8500
8797
|
if (items.length === 0) return [];
|
|
8501
|
-
|
|
8502
|
-
if (items[0] && typeof items[0] === 'string') {
|
|
8503
|
-
return [def].concat(items.map(function (x) {
|
|
8504
|
-
return {
|
|
8505
|
-
value: x,
|
|
8506
|
-
text: x
|
|
8507
|
-
};
|
|
8508
|
-
})).filter(function (item) {
|
|
8509
|
-
return !already.includes(item.value);
|
|
8510
|
-
});
|
|
8511
|
-
}
|
|
8512
|
-
|
|
8513
8798
|
return [def].concat(items).filter(function (item) {
|
|
8514
8799
|
return !already.includes(item.value);
|
|
8515
8800
|
});
|
|
@@ -8522,7 +8807,7 @@ function TagsWidget(_ref) {
|
|
|
8522
8807
|
noData = _ref.noData,
|
|
8523
8808
|
onChange = _ref.onChange,
|
|
8524
8809
|
loading = _ref.loading;
|
|
8525
|
-
var selectRef = useRef();
|
|
8810
|
+
var selectRef = useRef(null);
|
|
8526
8811
|
|
|
8527
8812
|
var _useState = useState(items),
|
|
8528
8813
|
result = _useState[0],
|
|
@@ -8570,7 +8855,7 @@ function TagsWidget(_ref) {
|
|
|
8570
8855
|
marginBottom: '20px'
|
|
8571
8856
|
},
|
|
8572
8857
|
children: noData
|
|
8573
|
-
}), available.length > 1 && jsx("li", {
|
|
8858
|
+
}), (available != null ? available : []).length > 1 && jsx("li", {
|
|
8574
8859
|
className: "widget-list-add select is-small",
|
|
8575
8860
|
children: jsx(Select, {
|
|
8576
8861
|
options: availableData,
|
|
@@ -8588,13 +8873,13 @@ function TagsWidget(_ref) {
|
|
|
8588
8873
|
});
|
|
8589
8874
|
}
|
|
8590
8875
|
|
|
8591
|
-
var initialState$
|
|
8592
|
-
types:
|
|
8876
|
+
var initialState$4 = {
|
|
8877
|
+
types: []
|
|
8593
8878
|
};
|
|
8594
8879
|
function CreateButton() {
|
|
8595
8880
|
var intl = useIntl();
|
|
8596
8881
|
|
|
8597
|
-
var _useSetState = useSetState(initialState$
|
|
8882
|
+
var _useSetState = useSetState(initialState$4),
|
|
8598
8883
|
state = _useSetState[0],
|
|
8599
8884
|
setState = _useSetState[1];
|
|
8600
8885
|
|
|
@@ -8642,7 +8927,8 @@ function CreateButton() {
|
|
|
8642
8927
|
|
|
8643
8928
|
if (state.types && state.types.length === 0) {
|
|
8644
8929
|
return null;
|
|
8645
|
-
}
|
|
8930
|
+
} // Implement some kind of filtering
|
|
8931
|
+
|
|
8646
8932
|
|
|
8647
8933
|
return jsx(Dropdown, {
|
|
8648
8934
|
id: "dropdown-menu",
|
|
@@ -8681,7 +8967,7 @@ function ContextToolbar(_ref) {
|
|
|
8681
8967
|
var AddButton = _ref.AddButton;
|
|
8682
8968
|
var intl = useIntl();
|
|
8683
8969
|
|
|
8684
|
-
var _useSetState2 = useSetState(initialState$
|
|
8970
|
+
var _useSetState2 = useSetState(initialState$4),
|
|
8685
8971
|
state = _useSetState2[0],
|
|
8686
8972
|
setState = _useSetState2[1];
|
|
8687
8973
|
|
|
@@ -8692,7 +8978,7 @@ function ContextToolbar(_ref) {
|
|
|
8692
8978
|
|
|
8693
8979
|
var traversal = useTraversal();
|
|
8694
8980
|
var Config = useConfig();
|
|
8695
|
-
var searchText = location.get('q');
|
|
8981
|
+
var searchText = location.get('q') || '';
|
|
8696
8982
|
|
|
8697
8983
|
var _useState = useState(searchText || ''),
|
|
8698
8984
|
searchValue = _useState[0],
|
|
@@ -8705,14 +8991,13 @@ function ContextToolbar(_ref) {
|
|
|
8705
8991
|
setSearchValue(searchText);
|
|
8706
8992
|
}, [searchText]);
|
|
8707
8993
|
|
|
8708
|
-
var onSearchQuery = function onSearchQuery(
|
|
8709
|
-
|
|
8994
|
+
var onSearchQuery = function onSearchQuery(event) {
|
|
8995
|
+
event.preventDefault();
|
|
8710
8996
|
setLocation({
|
|
8711
|
-
q:
|
|
8997
|
+
q: event.currentTarget.elements.filterInput.value,
|
|
8712
8998
|
tab: 'Items',
|
|
8713
8999
|
page: 0
|
|
8714
9000
|
});
|
|
8715
|
-
ev.preventDefault();
|
|
8716
9001
|
};
|
|
8717
9002
|
|
|
8718
9003
|
var onSearchByType = function onSearchByType(typeText) {
|
|
@@ -8746,7 +9031,8 @@ function ContextToolbar(_ref) {
|
|
|
8746
9031
|
type: "text",
|
|
8747
9032
|
className: "input is-size-7",
|
|
8748
9033
|
placeholder: intl.formatMessage(genericMessages.search),
|
|
8749
|
-
"data-test": "inputFilterTest"
|
|
9034
|
+
"data-test": "inputFilterTest",
|
|
9035
|
+
id: "filterInput"
|
|
8750
9036
|
})
|
|
8751
9037
|
}), jsx("div", {
|
|
8752
9038
|
className: "control",
|
|
@@ -8773,7 +9059,9 @@ function ContextToolbar(_ref) {
|
|
|
8773
9059
|
value: item
|
|
8774
9060
|
};
|
|
8775
9061
|
}),
|
|
8776
|
-
onChange:
|
|
9062
|
+
onChange: function onChange(value) {
|
|
9063
|
+
return onSearchByType(value);
|
|
9064
|
+
}
|
|
8777
9065
|
})
|
|
8778
9066
|
}), traversal.hasPerm('guillotina.AddContent') && jsx("div", {
|
|
8779
9067
|
className: "level-item",
|
|
@@ -8814,11 +9102,11 @@ function TabsPanel(_ref2) {
|
|
|
8814
9102
|
location = _useLocation[0],
|
|
8815
9103
|
setLocation = _useLocation[1];
|
|
8816
9104
|
|
|
8817
|
-
|
|
8818
|
-
|
|
8819
|
-
|
|
8820
|
-
currentTab =
|
|
8821
|
-
}
|
|
9105
|
+
currentTab = location.get('tab') || Object.keys(tabs)[0];
|
|
9106
|
+
/*if (!Object.keys(tabs).includes(currentTab)) {
|
|
9107
|
+
setLocation(defaultTab)
|
|
9108
|
+
currentTab = defaultTab
|
|
9109
|
+
}*/
|
|
8822
9110
|
|
|
8823
9111
|
var _useState = useState(currentTab),
|
|
8824
9112
|
current = _useState[0],
|
|
@@ -8827,7 +9115,7 @@ function TabsPanel(_ref2) {
|
|
|
8827
9115
|
var CurrentComp = tabs[current] || fallback;
|
|
8828
9116
|
React.useEffect(function () {
|
|
8829
9117
|
if (Object.keys(tabs).includes(currentTab)) {
|
|
8830
|
-
setTab(currentTab);
|
|
9118
|
+
setTab(currentTab); // setLocation({tab: currentTab})
|
|
8831
9119
|
}
|
|
8832
9120
|
}, [currentTab, tabs]);
|
|
8833
9121
|
|
|
@@ -8886,14 +9174,14 @@ var tabsPermissions = {
|
|
|
8886
9174
|
Behaviors: 'guillotina.ModifyContent',
|
|
8887
9175
|
Permissions: 'guillotina.SeePermissions'
|
|
8888
9176
|
};
|
|
8889
|
-
function FolderCtx(
|
|
9177
|
+
function FolderCtx() {
|
|
8890
9178
|
var ctx = useTraversal();
|
|
8891
9179
|
var calculated = ctx.filterTabs(tabs, tabsPermissions);
|
|
8892
|
-
return jsx(TabsPanel,
|
|
9180
|
+
return jsx(TabsPanel, {
|
|
8893
9181
|
tabs: calculated,
|
|
8894
9182
|
currentTab: "Items",
|
|
8895
|
-
rightToolbar: jsx(ContextToolbar,
|
|
8896
|
-
}
|
|
9183
|
+
rightToolbar: jsx(ContextToolbar, {})
|
|
9184
|
+
});
|
|
8897
9185
|
}
|
|
8898
9186
|
|
|
8899
9187
|
var tabs$1 = {
|
|
@@ -8907,13 +9195,13 @@ var tabsPermissions$1 = {
|
|
|
8907
9195
|
Behaviors: 'guillotina.ModifyContent',
|
|
8908
9196
|
Permissions: 'guillotina.SeePermissions'
|
|
8909
9197
|
};
|
|
8910
|
-
function ItemCtx(
|
|
9198
|
+
function ItemCtx() {
|
|
8911
9199
|
var ctx = useTraversal();
|
|
8912
9200
|
var calculated = ctx.filterTabs(tabs$1, tabsPermissions$1);
|
|
8913
|
-
return jsx(TabsPanel,
|
|
9201
|
+
return jsx(TabsPanel, {
|
|
8914
9202
|
tabs: calculated,
|
|
8915
9203
|
currentTab: "Properties"
|
|
8916
|
-
}
|
|
9204
|
+
});
|
|
8917
9205
|
}
|
|
8918
9206
|
|
|
8919
9207
|
function _catch$7(body, recover) {
|
|
@@ -8932,8 +9220,9 @@ function _catch$7(body, recover) {
|
|
|
8932
9220
|
|
|
8933
9221
|
function ApplicationCtx() {
|
|
8934
9222
|
var intl = useIntl();
|
|
8935
|
-
var
|
|
8936
|
-
var
|
|
9223
|
+
var traversal = useTraversal();
|
|
9224
|
+
var appContext = traversal.state.context;
|
|
9225
|
+
var databases = appContext.databases;
|
|
8937
9226
|
return jsxs(Fragment, {
|
|
8938
9227
|
children: [jsx("h3", {
|
|
8939
9228
|
children: intl.formatMessage({
|
|
@@ -8947,22 +9236,26 @@ function ApplicationCtx() {
|
|
|
8947
9236
|
className: "container",
|
|
8948
9237
|
children: [jsx(ItemTitle, {
|
|
8949
9238
|
title: "Objects"
|
|
8950
|
-
}),
|
|
8951
|
-
|
|
8952
|
-
|
|
8953
|
-
|
|
8954
|
-
|
|
8955
|
-
|
|
8956
|
-
|
|
8957
|
-
|
|
9239
|
+
}), jsx("table", {
|
|
9240
|
+
children: jsx("tbody", {
|
|
9241
|
+
children: databases.map(function (db) {
|
|
9242
|
+
return jsx(Item, {
|
|
9243
|
+
item: {
|
|
9244
|
+
id: db,
|
|
9245
|
+
path: "/" + db + "/"
|
|
9246
|
+
},
|
|
9247
|
+
icon: 'fas fa-database'
|
|
9248
|
+
}, db);
|
|
9249
|
+
})
|
|
9250
|
+
})
|
|
8958
9251
|
})]
|
|
8959
9252
|
})]
|
|
8960
9253
|
});
|
|
8961
9254
|
}
|
|
8962
9255
|
function DatabaseCtx() {
|
|
8963
|
-
var
|
|
8964
|
-
var containers =
|
|
8965
|
-
var path =
|
|
9256
|
+
var traversal = useTraversal();
|
|
9257
|
+
var containers = traversal.state.context.containers;
|
|
9258
|
+
var path = traversal.state.path;
|
|
8966
9259
|
return jsx(Fragment, {
|
|
8967
9260
|
children: jsxs("div", {
|
|
8968
9261
|
className: "container",
|
|
@@ -9250,17 +9543,17 @@ function UsersToolbar() {
|
|
|
9250
9543
|
|
|
9251
9544
|
var searchText = location.get('q');
|
|
9252
9545
|
|
|
9253
|
-
var onSearchQuery = function onSearchQuery(
|
|
9254
|
-
|
|
9546
|
+
var onSearchQuery = function onSearchQuery(event) {
|
|
9547
|
+
event.preventDefault();
|
|
9255
9548
|
setLocation({
|
|
9256
|
-
q:
|
|
9549
|
+
q: event.currentTarget.elements.filterInput.value,
|
|
9257
9550
|
page: 0
|
|
9258
9551
|
});
|
|
9259
|
-
|
|
9260
|
-
|
|
9552
|
+
}; // cleanup form on state.search change
|
|
9553
|
+
|
|
9261
9554
|
|
|
9262
9555
|
useEffect(function () {
|
|
9263
|
-
if (!searchText || searchText === '') {
|
|
9556
|
+
if (ref.current && (!searchText || searchText === '')) {
|
|
9264
9557
|
ref.current.value = '';
|
|
9265
9558
|
}
|
|
9266
9559
|
}, [searchText]);
|
|
@@ -9280,7 +9573,8 @@ function UsersToolbar() {
|
|
|
9280
9573
|
type: "text",
|
|
9281
9574
|
className: "input is-size-7",
|
|
9282
9575
|
placeholder: intl.formatMessage(genericMessages.search),
|
|
9283
|
-
"data-test": "inputFilterTest"
|
|
9576
|
+
"data-test": "inputFilterTest",
|
|
9577
|
+
id: "filterInput"
|
|
9284
9578
|
})
|
|
9285
9579
|
}), jsx("div", {
|
|
9286
9580
|
className: "control",
|
|
@@ -9312,12 +9606,12 @@ function UsersToolbar() {
|
|
|
9312
9606
|
})]
|
|
9313
9607
|
});
|
|
9314
9608
|
}
|
|
9315
|
-
function UsersCtx(
|
|
9316
|
-
return jsx(TabsPanel,
|
|
9609
|
+
function UsersCtx() {
|
|
9610
|
+
return jsx(TabsPanel, {
|
|
9317
9611
|
tabs: tabs$3,
|
|
9318
9612
|
currentTab: "Users",
|
|
9319
9613
|
rightToolbar: jsx(UsersToolbar, {})
|
|
9320
|
-
}
|
|
9614
|
+
});
|
|
9321
9615
|
}
|
|
9322
9616
|
function UserCtx() {
|
|
9323
9617
|
var intl = useIntl();
|
|
@@ -9334,9 +9628,10 @@ function UserCtx() {
|
|
|
9334
9628
|
state = _useState[0],
|
|
9335
9629
|
setState = _useState[1];
|
|
9336
9630
|
|
|
9631
|
+
var userDataContext = Ctx.context;
|
|
9337
9632
|
var fields = {
|
|
9338
9633
|
user_groups: [],
|
|
9339
|
-
user_roles:
|
|
9634
|
+
user_roles: userDataContext.user_roles
|
|
9340
9635
|
};
|
|
9341
9636
|
|
|
9342
9637
|
var _useRemoteField = useRemoteField(fields),
|
|
@@ -9440,7 +9735,7 @@ function UserCtx() {
|
|
|
9440
9735
|
"value": "Username"
|
|
9441
9736
|
}]
|
|
9442
9737
|
}), ":", ' ']
|
|
9443
|
-
}), ' ',
|
|
9738
|
+
}), ' ', userDataContext.username, " (", userDataContext.email, ")"]
|
|
9444
9739
|
}), jsxs("p", {
|
|
9445
9740
|
children: [jsxs("label", {
|
|
9446
9741
|
children: [' ', intl.formatMessage({
|
|
@@ -9450,7 +9745,7 @@ function UserCtx() {
|
|
|
9450
9745
|
"value": "Creation Date"
|
|
9451
9746
|
}]
|
|
9452
9747
|
}), ":", ' ']
|
|
9453
|
-
}), ' ', formatDate(
|
|
9748
|
+
}), ' ', formatDate(userDataContext.creation_date)]
|
|
9454
9749
|
}), jsxs("p", {
|
|
9455
9750
|
children: [jsxs("label", {
|
|
9456
9751
|
children: [' ', intl.formatMessage({
|
|
@@ -9460,7 +9755,7 @@ function UserCtx() {
|
|
|
9460
9755
|
"value": "Modification Date"
|
|
9461
9756
|
}]
|
|
9462
9757
|
}), ":", ' ']
|
|
9463
|
-
}), ' ', formatDate(
|
|
9758
|
+
}), ' ', formatDate(userDataContext.modification_date)]
|
|
9464
9759
|
}), jsx(Button, {
|
|
9465
9760
|
className: "is-size-7 is-info",
|
|
9466
9761
|
onClick: function onClick() {
|
|
@@ -9479,7 +9774,7 @@ function UserCtx() {
|
|
|
9479
9774
|
onSubmit: function onSubmit(ev) {
|
|
9480
9775
|
return updateObject(ev);
|
|
9481
9776
|
},
|
|
9482
|
-
formData:
|
|
9777
|
+
formData: userDataContext,
|
|
9483
9778
|
exclude: ['password'],
|
|
9484
9779
|
remotes: remotes,
|
|
9485
9780
|
submitButton: false,
|
|
@@ -9493,7 +9788,7 @@ function UserCtx() {
|
|
|
9493
9788
|
className: "column",
|
|
9494
9789
|
children: [jsx(TagsWidget, {
|
|
9495
9790
|
onChange: updateRemote('user_groups'),
|
|
9496
|
-
items:
|
|
9791
|
+
items: userDataContext.user_groups,
|
|
9497
9792
|
title: "Groups",
|
|
9498
9793
|
noData: intl.formatMessage({
|
|
9499
9794
|
id: "there_is_no_groups_for_this_user",
|
|
@@ -9514,7 +9809,12 @@ function UserCtx() {
|
|
|
9514
9809
|
"value": "The user doesn't have any role"
|
|
9515
9810
|
}]
|
|
9516
9811
|
}),
|
|
9517
|
-
available: state.roles
|
|
9812
|
+
available: state.roles.map(function (x) {
|
|
9813
|
+
return {
|
|
9814
|
+
value: x,
|
|
9815
|
+
text: x
|
|
9816
|
+
};
|
|
9817
|
+
})
|
|
9518
9818
|
})]
|
|
9519
9819
|
})]
|
|
9520
9820
|
})]
|
|
@@ -9530,7 +9830,7 @@ function CopyItems(props) {
|
|
|
9530
9830
|
try {
|
|
9531
9831
|
return Promise.resolve(Promise.all(items.map(function (item, i) {
|
|
9532
9832
|
var input = form[i + 1] || {};
|
|
9533
|
-
return Ctx.client.post("" + Ctx.path + item
|
|
9833
|
+
return Ctx.client.post("" + Ctx.path + item.id + "/@duplicate", {
|
|
9534
9834
|
destination: path,
|
|
9535
9835
|
new_id: input.value || getNewId(item.id)
|
|
9536
9836
|
});
|
|
@@ -9576,7 +9876,7 @@ function CopyItems(props) {
|
|
|
9576
9876
|
}), jsx("input", {
|
|
9577
9877
|
type: "text",
|
|
9578
9878
|
className: "input",
|
|
9579
|
-
"data-test": "inputCopyIdTest-" + item
|
|
9879
|
+
"data-test": "inputCopyIdTest-" + item.id,
|
|
9580
9880
|
defaultValue: getNewId(item.id)
|
|
9581
9881
|
})]
|
|
9582
9882
|
}, item.id);
|
|
@@ -9649,9 +9949,9 @@ function MoveItems(props) {
|
|
|
9649
9949
|
var moveItems = function moveItems(path) {
|
|
9650
9950
|
try {
|
|
9651
9951
|
return Promise.resolve(Promise.all(items.map(function (item) {
|
|
9652
|
-
return Ctx.client.post("" + Ctx.path + item
|
|
9952
|
+
return Ctx.client.post("" + Ctx.path + item.id + "/@move", {
|
|
9653
9953
|
destination: path,
|
|
9654
|
-
new_id: item
|
|
9954
|
+
new_id: item.id
|
|
9655
9955
|
});
|
|
9656
9956
|
}))).then(function (responses) {
|
|
9657
9957
|
Ctx.refresh();
|
|
@@ -9988,17 +10288,17 @@ function GroupToolbar() {
|
|
|
9988
10288
|
|
|
9989
10289
|
var searchText = location.get('q');
|
|
9990
10290
|
|
|
9991
|
-
var onSearchQuery = function onSearchQuery(
|
|
9992
|
-
|
|
10291
|
+
var onSearchQuery = function onSearchQuery(event) {
|
|
10292
|
+
event.preventDefault();
|
|
9993
10293
|
setLocation({
|
|
9994
|
-
q:
|
|
10294
|
+
q: event.currentTarget.elements.filterInput.value,
|
|
9995
10295
|
page: 0
|
|
9996
10296
|
});
|
|
9997
|
-
|
|
9998
|
-
|
|
10297
|
+
}; // cleanup form on state.search change
|
|
10298
|
+
|
|
9999
10299
|
|
|
10000
10300
|
useEffect(function () {
|
|
10001
|
-
if (!searchText || searchText === '') {
|
|
10301
|
+
if (ref.current && (!searchText || searchText === '')) {
|
|
10002
10302
|
ref.current.value = '';
|
|
10003
10303
|
}
|
|
10004
10304
|
}, [searchText]);
|
|
@@ -10018,7 +10318,8 @@ function GroupToolbar() {
|
|
|
10018
10318
|
type: "text",
|
|
10019
10319
|
className: "input is-size-7",
|
|
10020
10320
|
placeholder: intl.formatMessage(genericMessages.search),
|
|
10021
|
-
"data-test": "inputFilterTest"
|
|
10321
|
+
"data-test": "inputFilterTest",
|
|
10322
|
+
id: "filterInput"
|
|
10022
10323
|
})
|
|
10023
10324
|
}), jsx("div", {
|
|
10024
10325
|
className: "control",
|
|
@@ -10056,12 +10357,12 @@ function GroupToolbar() {
|
|
|
10056
10357
|
})]
|
|
10057
10358
|
});
|
|
10058
10359
|
}
|
|
10059
|
-
function GroupsCtx(
|
|
10060
|
-
return jsx(TabsPanel,
|
|
10360
|
+
function GroupsCtx() {
|
|
10361
|
+
return jsx(TabsPanel, {
|
|
10061
10362
|
tabs: tabs$4,
|
|
10062
10363
|
currentTab: "Groups",
|
|
10063
10364
|
rightToolbar: jsx(GroupToolbar, {})
|
|
10064
|
-
}
|
|
10365
|
+
});
|
|
10065
10366
|
}
|
|
10066
10367
|
var sortParsed = parser("_sort_asc=id");
|
|
10067
10368
|
var searchParsed = parser('type_name=User');
|
|
@@ -10076,6 +10377,7 @@ function GroupCtx() {
|
|
|
10076
10377
|
roles = _useState[0],
|
|
10077
10378
|
setRoles = _useState[1];
|
|
10078
10379
|
|
|
10380
|
+
var groupDataContext = Ctx.context;
|
|
10079
10381
|
useEffect(function () {
|
|
10080
10382
|
var getRoles = function getRoles() {
|
|
10081
10383
|
try {
|
|
@@ -10129,11 +10431,11 @@ function GroupCtx() {
|
|
|
10129
10431
|
var addRole = function addRole(role) {
|
|
10130
10432
|
try {
|
|
10131
10433
|
return Promise.resolve(patch({
|
|
10132
|
-
user_roles:
|
|
10434
|
+
user_roles: groupDataContext.user_roles.concat(role)
|
|
10133
10435
|
})).then(function (_ref) {
|
|
10134
10436
|
var isError = _ref.isError,
|
|
10135
10437
|
errorMessage = _ref.errorMessage;
|
|
10136
|
-
handleResponse(isError, intl.formatMessage({
|
|
10438
|
+
handleResponse(!!isError, intl.formatMessage({
|
|
10137
10439
|
id: "role_added_to_group",
|
|
10138
10440
|
defaultMessage: [{
|
|
10139
10441
|
"type": 0,
|
|
@@ -10147,7 +10449,7 @@ function GroupCtx() {
|
|
|
10147
10449
|
}]
|
|
10148
10450
|
}, {
|
|
10149
10451
|
role: role
|
|
10150
|
-
}), errorMessage);
|
|
10452
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10151
10453
|
});
|
|
10152
10454
|
} catch (e) {
|
|
10153
10455
|
return Promise.reject(e);
|
|
@@ -10157,13 +10459,13 @@ function GroupCtx() {
|
|
|
10157
10459
|
var removeRole = function removeRole(role) {
|
|
10158
10460
|
try {
|
|
10159
10461
|
return Promise.resolve(patch({
|
|
10160
|
-
user_roles:
|
|
10462
|
+
user_roles: groupDataContext.user_roles.filter(function (r) {
|
|
10161
10463
|
return r !== role;
|
|
10162
10464
|
})
|
|
10163
10465
|
})).then(function (_ref2) {
|
|
10164
10466
|
var isError = _ref2.isError,
|
|
10165
10467
|
errorMessage = _ref2.errorMessage;
|
|
10166
|
-
handleResponse(isError, intl.formatMessage({
|
|
10468
|
+
handleResponse(!!isError, intl.formatMessage({
|
|
10167
10469
|
id: "role_removed_from_group",
|
|
10168
10470
|
defaultMessage: [{
|
|
10169
10471
|
"type": 0,
|
|
@@ -10177,7 +10479,7 @@ function GroupCtx() {
|
|
|
10177
10479
|
}]
|
|
10178
10480
|
}, {
|
|
10179
10481
|
role: role
|
|
10180
|
-
}), errorMessage);
|
|
10482
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10181
10483
|
});
|
|
10182
10484
|
} catch (e) {
|
|
10183
10485
|
return Promise.reject(e);
|
|
@@ -10187,30 +10489,32 @@ function GroupCtx() {
|
|
|
10187
10489
|
var addUser = function addUser(newUserId) {
|
|
10188
10490
|
try {
|
|
10189
10491
|
var data = {};
|
|
10190
|
-
|
|
10492
|
+
groupDataContext.users.forEach(function (user) {
|
|
10191
10493
|
data[user] = true;
|
|
10192
10494
|
});
|
|
10193
10495
|
data[newUserId] = true;
|
|
10194
10496
|
return Promise.resolve(Ctx.client.rest.patch(Ctx.containerPath + "@groups/" + Ctx.context['@name'], {
|
|
10195
10497
|
users: data
|
|
10196
|
-
})).then(function (
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
|
|
10200
|
-
|
|
10201
|
-
|
|
10202
|
-
|
|
10203
|
-
|
|
10204
|
-
|
|
10205
|
-
|
|
10206
|
-
|
|
10498
|
+
})).then(function (response) {
|
|
10499
|
+
return Promise.resolve(processResponse(response)).then(function (_ref3) {
|
|
10500
|
+
var isError = _ref3.isError,
|
|
10501
|
+
errorMessage = _ref3.errorMessage;
|
|
10502
|
+
handleResponse(isError, intl.formatMessage({
|
|
10503
|
+
id: "user_added_to_group",
|
|
10504
|
+
defaultMessage: [{
|
|
10505
|
+
"type": 0,
|
|
10506
|
+
"value": "User "
|
|
10507
|
+
}, {
|
|
10508
|
+
"type": 1,
|
|
10509
|
+
"value": "user"
|
|
10510
|
+
}, {
|
|
10511
|
+
"type": 0,
|
|
10512
|
+
"value": " added to group"
|
|
10513
|
+
}]
|
|
10207
10514
|
}, {
|
|
10208
|
-
|
|
10209
|
-
|
|
10210
|
-
|
|
10211
|
-
}, {
|
|
10212
|
-
user: newUserId
|
|
10213
|
-
}), errorMessage);
|
|
10515
|
+
user: newUserId
|
|
10516
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10517
|
+
});
|
|
10214
10518
|
});
|
|
10215
10519
|
} catch (e) {
|
|
10216
10520
|
return Promise.reject(e);
|
|
@@ -10220,29 +10524,31 @@ function GroupCtx() {
|
|
|
10220
10524
|
var removeUser = function removeUser(userToRemove) {
|
|
10221
10525
|
try {
|
|
10222
10526
|
var data = {};
|
|
10223
|
-
|
|
10527
|
+
groupDataContext.users.forEach(function (user) {
|
|
10224
10528
|
data[user] = userToRemove !== user;
|
|
10225
10529
|
});
|
|
10226
10530
|
return Promise.resolve(Ctx.client.rest.patch(Ctx.containerPath + "@groups/" + Ctx.context['@name'], {
|
|
10227
10531
|
users: data
|
|
10228
|
-
})).then(function (
|
|
10229
|
-
|
|
10230
|
-
|
|
10231
|
-
|
|
10232
|
-
|
|
10233
|
-
|
|
10234
|
-
|
|
10235
|
-
|
|
10236
|
-
|
|
10237
|
-
|
|
10238
|
-
|
|
10532
|
+
})).then(function (response) {
|
|
10533
|
+
return Promise.resolve(processResponse(response)).then(function (_ref4) {
|
|
10534
|
+
var isError = _ref4.isError,
|
|
10535
|
+
errorMessage = _ref4.errorMessage;
|
|
10536
|
+
handleResponse(isError, intl.formatMessage({
|
|
10537
|
+
id: "user_removed_from_group",
|
|
10538
|
+
defaultMessage: [{
|
|
10539
|
+
"type": 0,
|
|
10540
|
+
"value": "User "
|
|
10541
|
+
}, {
|
|
10542
|
+
"type": 1,
|
|
10543
|
+
"value": "user"
|
|
10544
|
+
}, {
|
|
10545
|
+
"type": 0,
|
|
10546
|
+
"value": " removed from group"
|
|
10547
|
+
}]
|
|
10239
10548
|
}, {
|
|
10240
|
-
|
|
10241
|
-
|
|
10242
|
-
|
|
10243
|
-
}, {
|
|
10244
|
-
user: userToRemove
|
|
10245
|
-
}), errorMessage);
|
|
10549
|
+
user: userToRemove
|
|
10550
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10551
|
+
});
|
|
10246
10552
|
});
|
|
10247
10553
|
} catch (e) {
|
|
10248
10554
|
return Promise.reject(e);
|
|
@@ -10297,11 +10603,13 @@ function GroupCtx() {
|
|
|
10297
10603
|
})
|
|
10298
10604
|
}), jsx(Select, {
|
|
10299
10605
|
options: roles.filter(function (role) {
|
|
10300
|
-
return !
|
|
10606
|
+
return !groupDataContext.user_roles.includes(role.value);
|
|
10301
10607
|
}),
|
|
10302
10608
|
appendDefault: true,
|
|
10303
|
-
onChange:
|
|
10304
|
-
|
|
10609
|
+
onChange: function onChange(value) {
|
|
10610
|
+
return addRole(value);
|
|
10611
|
+
}
|
|
10612
|
+
}), jsx("hr", {}), groupDataContext.user_roles.map(function (urole) {
|
|
10305
10613
|
return jsx("p", {
|
|
10306
10614
|
className: "control",
|
|
10307
10615
|
children: jsx(Tag, {
|
|
@@ -10333,7 +10641,7 @@ function GroupCtx() {
|
|
|
10333
10641
|
traversal: Ctx,
|
|
10334
10642
|
onChange: addUser,
|
|
10335
10643
|
btnClass: "is-small"
|
|
10336
|
-
}), jsx("hr", {}),
|
|
10644
|
+
}), jsx("hr", {}), groupDataContext.users.map(function (user) {
|
|
10337
10645
|
return jsx("p", {
|
|
10338
10646
|
className: "control",
|
|
10339
10647
|
children: jsx(Tag, {
|
|
@@ -10482,7 +10790,7 @@ function Path() {
|
|
|
10482
10790
|
var links = buildPaths(segments);
|
|
10483
10791
|
|
|
10484
10792
|
if (segments.length === 1) {
|
|
10485
|
-
return
|
|
10793
|
+
return null;
|
|
10486
10794
|
}
|
|
10487
10795
|
|
|
10488
10796
|
return jsx("nav", {
|
|
@@ -10616,11 +10924,13 @@ var getComponent = function getComponent(context, path, fallback) {
|
|
|
10616
10924
|
fallback = undefined;
|
|
10617
10925
|
}
|
|
10618
10926
|
|
|
10619
|
-
if (!context) return;
|
|
10927
|
+
if (!context) return; // console.log("Component for path", path)
|
|
10928
|
+
// lookup by path
|
|
10620
10929
|
|
|
10621
10930
|
if (registry.paths[path]) {
|
|
10622
10931
|
return registry.paths[path];
|
|
10623
|
-
}
|
|
10932
|
+
} // by type
|
|
10933
|
+
|
|
10624
10934
|
|
|
10625
10935
|
if (registry.views[context['@type']]) {
|
|
10626
10936
|
return registry.views[context['@type']];
|
|
@@ -10643,19 +10953,15 @@ var getItemsColumn = function getItemsColumn(type) {
|
|
|
10643
10953
|
return undefined;
|
|
10644
10954
|
};
|
|
10645
10955
|
|
|
10646
|
-
var
|
|
10647
|
-
|
|
10648
|
-
|
|
10649
|
-
}
|
|
10956
|
+
var getView = function getView(name) {
|
|
10957
|
+
return registry.views[name];
|
|
10958
|
+
};
|
|
10650
10959
|
|
|
10651
|
-
|
|
10960
|
+
var getForm = function getForm(type, fallback) {
|
|
10961
|
+
return registry.forms[type] || fallback || BaseForm;
|
|
10652
10962
|
};
|
|
10653
10963
|
|
|
10654
10964
|
var getAction = function getAction(type, fallback) {
|
|
10655
|
-
if (fallback === void 0) {
|
|
10656
|
-
fallback = undefined;
|
|
10657
|
-
}
|
|
10658
|
-
|
|
10659
10965
|
return registry.actions[type] || fallback;
|
|
10660
10966
|
};
|
|
10661
10967
|
|
|
@@ -10672,10 +10978,21 @@ var getSchemas = function getSchemas(type) {
|
|
|
10672
10978
|
};
|
|
10673
10979
|
|
|
10674
10980
|
var getFieldsToFilter = function getFieldsToFilter(type, fallback) {
|
|
10981
|
+
if (fallback === void 0) {
|
|
10982
|
+
fallback = ['title'];
|
|
10983
|
+
}
|
|
10984
|
+
|
|
10675
10985
|
return registry.fieldsToFilter[type] || fallback;
|
|
10676
10986
|
};
|
|
10677
10987
|
|
|
10678
10988
|
var getDefaultSortValue = function getDefaultSortValue(type, fallback) {
|
|
10989
|
+
if (fallback === void 0) {
|
|
10990
|
+
fallback = {
|
|
10991
|
+
key: 'id',
|
|
10992
|
+
direction: 'des'
|
|
10993
|
+
};
|
|
10994
|
+
}
|
|
10995
|
+
|
|
10679
10996
|
return registry.defaultSortValue[type] || fallback;
|
|
10680
10997
|
};
|
|
10681
10998
|
|
|
@@ -10683,12 +11000,14 @@ var defaultComponent = function defaultComponent(context) {
|
|
|
10683
11000
|
return context.is_folderish ? FolderCtx : ItemCtx;
|
|
10684
11001
|
};
|
|
10685
11002
|
function useRegistry(data) {
|
|
11003
|
+
// if data is provided we need to merge it into actual registry
|
|
10686
11004
|
var ref = React.useRef();
|
|
10687
11005
|
|
|
10688
11006
|
if (data && !ref.current) {
|
|
10689
11007
|
ref.current = true;
|
|
10690
11008
|
Object.keys(data).map(function (key) {
|
|
10691
|
-
|
|
11009
|
+
var registryKey = key;
|
|
11010
|
+
registry[registryKey] = _extends({}, registry[registryKey], data[registryKey]);
|
|
10692
11011
|
});
|
|
10693
11012
|
}
|
|
10694
11013
|
|
|
@@ -10703,86 +11022,26 @@ function useRegistry(data) {
|
|
|
10703
11022
|
getItemsColumn: getItemsColumn,
|
|
10704
11023
|
getFieldsToFilter: getFieldsToFilter,
|
|
10705
11024
|
getDefaultSortValue: getDefaultSortValue,
|
|
10706
|
-
getSchemas: getSchemas
|
|
11025
|
+
getSchemas: getSchemas,
|
|
11026
|
+
getView: getView
|
|
10707
11027
|
};
|
|
10708
11028
|
}
|
|
11029
|
+
/*
|
|
10709
11030
|
|
|
10710
|
-
|
|
10711
|
-
|
|
10712
|
-
|
|
10713
|
-
context: undefined,
|
|
10714
|
-
flash: {
|
|
10715
|
-
message: undefined,
|
|
10716
|
-
type: undefined
|
|
10717
|
-
},
|
|
10718
|
-
action: {
|
|
10719
|
-
action: undefined,
|
|
10720
|
-
params: undefined
|
|
11031
|
+
const registry = {
|
|
11032
|
+
paths: {
|
|
11033
|
+
"/db/guillotina/tags/": TagsContext
|
|
10721
11034
|
},
|
|
10722
|
-
|
|
10723
|
-
|
|
10724
|
-
|
|
10725
|
-
|
|
10726
|
-
};
|
|
10727
|
-
function guillotinaReducer(state, action) {
|
|
10728
|
-
switch (action.type) {
|
|
10729
|
-
case 'SET_PATH':
|
|
10730
|
-
return _extends({}, state, {
|
|
10731
|
-
path: action.payload,
|
|
10732
|
-
loading: true
|
|
10733
|
-
});
|
|
10734
|
-
|
|
10735
|
-
case 'SET_CONTEXT':
|
|
10736
|
-
return _extends({}, state, action.payload, {
|
|
10737
|
-
errorStatus: undefined,
|
|
10738
|
-
loading: false
|
|
10739
|
-
});
|
|
10740
|
-
|
|
10741
|
-
case 'SET_ERROR':
|
|
10742
|
-
return _extends({}, state, {
|
|
10743
|
-
errorStatus: action.payload,
|
|
10744
|
-
loading: false
|
|
10745
|
-
});
|
|
10746
|
-
|
|
10747
|
-
case 'SET_FLASH':
|
|
10748
|
-
return _extends({}, state, action.payload);
|
|
10749
|
-
|
|
10750
|
-
case 'CLEAR_FLASH':
|
|
10751
|
-
return _extends({}, state, {
|
|
10752
|
-
flash: {
|
|
10753
|
-
message: undefined,
|
|
10754
|
-
type: undefined
|
|
10755
|
-
}
|
|
10756
|
-
});
|
|
10757
|
-
|
|
10758
|
-
case 'SET_ACTION':
|
|
10759
|
-
return _extends({}, state, {
|
|
10760
|
-
action: action.payload
|
|
10761
|
-
});
|
|
11035
|
+
forms: {
|
|
11036
|
+
Tag: AddTagForm
|
|
11037
|
+
}
|
|
11038
|
+
}
|
|
10762
11039
|
|
|
10763
|
-
case 'CLEAR_ACTION':
|
|
10764
|
-
return _extends({}, state, {
|
|
10765
|
-
action: {
|
|
10766
|
-
action: undefined,
|
|
10767
|
-
params: undefined
|
|
10768
|
-
}
|
|
10769
|
-
});
|
|
10770
11040
|
|
|
10771
|
-
|
|
10772
|
-
return _extends({}, state, {
|
|
10773
|
-
refresh: Date.now(),
|
|
10774
|
-
loading: !action.payload.transparent
|
|
10775
|
-
});
|
|
11041
|
+
<guillotina registry={registry} />
|
|
10776
11042
|
|
|
10777
|
-
case 'APPLY':
|
|
10778
|
-
return _extends({}, state, {
|
|
10779
|
-
context: _extends({}, state.context, action.payload)
|
|
10780
|
-
});
|
|
10781
11043
|
|
|
10782
|
-
|
|
10783
|
-
return state;
|
|
10784
|
-
}
|
|
10785
|
-
}
|
|
11044
|
+
*/
|
|
10786
11045
|
|
|
10787
11046
|
var actions = [
|
|
10788
11047
|
{
|
|
@@ -13593,25 +13852,27 @@ function Guillotina(_ref) {
|
|
|
13593
13852
|
props = _objectWithoutPropertiesLoose(_ref, ["auth", "locale"]);
|
|
13594
13853
|
|
|
13595
13854
|
var messages = loadLocaleData(locale);
|
|
13596
|
-
var url = props.url || 'http://localhost:8080';
|
|
13855
|
+
var url = props.url || 'http://localhost:8080'; // without trailing slash
|
|
13856
|
+
|
|
13597
13857
|
var config = props.config || {};
|
|
13598
13858
|
var client = useGuillotinaClient();
|
|
13599
13859
|
|
|
13600
13860
|
var _useConfig = useConfig(config),
|
|
13601
13861
|
Permissions = _useConfig.Permissions;
|
|
13602
13862
|
|
|
13603
|
-
var registry = useRegistry(props.registry
|
|
13863
|
+
var registry = useRegistry(props.registry); // Location is cooked routing solution (only uses search params)
|
|
13604
13864
|
|
|
13605
13865
|
var _useLocation = useLocation(),
|
|
13606
|
-
location = _useLocation[0];
|
|
13866
|
+
location = _useLocation[0]; // if there is no path provided just go to root
|
|
13867
|
+
|
|
13607
13868
|
|
|
13608
13869
|
var searchPath = location.get('path') || '/';
|
|
13609
13870
|
|
|
13610
13871
|
if (searchPath && searchPath !== '') {
|
|
13611
|
-
initialState
|
|
13872
|
+
initialState.path = searchPath;
|
|
13612
13873
|
}
|
|
13613
13874
|
|
|
13614
|
-
var _useReducer = useReducer(guillotinaReducer, initialState
|
|
13875
|
+
var _useReducer = useReducer(guillotinaReducer, initialState),
|
|
13615
13876
|
state = _useReducer[0],
|
|
13616
13877
|
dispatch = _useReducer[1];
|
|
13617
13878
|
|
|
@@ -13619,8 +13880,10 @@ function Guillotina(_ref) {
|
|
|
13619
13880
|
refresh = state.refresh;
|
|
13620
13881
|
useEffect(function () {
|
|
13621
13882
|
dispatch({
|
|
13622
|
-
type:
|
|
13623
|
-
payload:
|
|
13883
|
+
type: GuillotinaReducerActionTypes.SET_PATH,
|
|
13884
|
+
payload: {
|
|
13885
|
+
path: searchPath
|
|
13886
|
+
}
|
|
13624
13887
|
});
|
|
13625
13888
|
}, [searchPath]);
|
|
13626
13889
|
useEffect(function () {
|
|
@@ -13629,14 +13892,18 @@ function Guillotina(_ref) {
|
|
|
13629
13892
|
return Promise.resolve(client.getContext(path)).then(function (data) {
|
|
13630
13893
|
if (data.status === 401) {
|
|
13631
13894
|
dispatch({
|
|
13632
|
-
type:
|
|
13633
|
-
payload:
|
|
13895
|
+
type: GuillotinaReducerActionTypes.SET_ERROR,
|
|
13896
|
+
payload: {
|
|
13897
|
+
errorStatus: 'notallowed'
|
|
13898
|
+
}
|
|
13634
13899
|
});
|
|
13635
13900
|
return;
|
|
13636
13901
|
} else if (data.status === 404) {
|
|
13637
13902
|
dispatch({
|
|
13638
|
-
type:
|
|
13639
|
-
payload:
|
|
13903
|
+
type: GuillotinaReducerActionTypes.SET_ERROR,
|
|
13904
|
+
payload: {
|
|
13905
|
+
errorStatus: 'notallowed'
|
|
13906
|
+
}
|
|
13640
13907
|
});
|
|
13641
13908
|
return;
|
|
13642
13909
|
}
|
|
@@ -13645,7 +13912,7 @@ function Guillotina(_ref) {
|
|
|
13645
13912
|
return Promise.resolve(client.canido(path, Permissions)).then(function (pr) {
|
|
13646
13913
|
return Promise.resolve(pr.json()).then(function (permissions) {
|
|
13647
13914
|
dispatch({
|
|
13648
|
-
type:
|
|
13915
|
+
type: GuillotinaReducerActionTypes.SET_CONTEXT,
|
|
13649
13916
|
payload: {
|
|
13650
13917
|
context: context,
|
|
13651
13918
|
permissions: permissions
|
|
@@ -13662,9 +13929,9 @@ function Guillotina(_ref) {
|
|
|
13662
13929
|
|
|
13663
13930
|
initContext();
|
|
13664
13931
|
}, [path, refresh, client]);
|
|
13665
|
-
var ErrorBoundary = registry.
|
|
13666
|
-
var NotAllowed = registry.
|
|
13667
|
-
var NotFound = registry.
|
|
13932
|
+
var ErrorBoundary = registry.getView('ErrorBoundary');
|
|
13933
|
+
var NotAllowed = registry.getView('NotAllowed');
|
|
13934
|
+
var NotFound = registry.getView('NotFound');
|
|
13668
13935
|
var Path = registry.get('components', 'Path');
|
|
13669
13936
|
var contextData = {
|
|
13670
13937
|
url: url,
|
|
@@ -13687,7 +13954,7 @@ function Guillotina(_ref) {
|
|
|
13687
13954
|
children: jsxs(ErrorBoundary, {
|
|
13688
13955
|
children: [!errorStatus && jsx(TraversalProvider, _extends({}, contextData, {
|
|
13689
13956
|
children: permissions && jsxs(React.Fragment, {
|
|
13690
|
-
children: [action.action && jsx(Action, _extends({}, action.params)), jsx("div", {
|
|
13957
|
+
children: [action.action && Action !== null && jsx(Action, _extends({}, action.params)), jsx("div", {
|
|
13691
13958
|
className: "level",
|
|
13692
13959
|
children: jsx("div", {
|
|
13693
13960
|
className: "level-left",
|
|
@@ -13696,7 +13963,7 @@ function Guillotina(_ref) {
|
|
|
13696
13963
|
children: jsx(Path, {})
|
|
13697
13964
|
})
|
|
13698
13965
|
})
|
|
13699
|
-
}), jsx(Flash, {}), Main && jsx(ErrorBoundary, {
|
|
13966
|
+
}), jsx(Flash, {}), Main !== undefined && jsx(ErrorBoundary, {
|
|
13700
13967
|
children: jsxs("div", {
|
|
13701
13968
|
className: "box main-panel",
|
|
13702
13969
|
children: [state.loading && jsx(Loading, {}), !state.loading && jsx(Main, {
|
|
@@ -13806,7 +14073,7 @@ var ERRORS = {
|
|
|
13806
14073
|
var initialState$5 = {
|
|
13807
14074
|
username: '',
|
|
13808
14075
|
password: '',
|
|
13809
|
-
loading:
|
|
14076
|
+
loading: false,
|
|
13810
14077
|
errors: undefined
|
|
13811
14078
|
};
|
|
13812
14079
|
var Login = function Login(_ref) {
|
|
@@ -13822,7 +14089,7 @@ var Login = function Login(_ref) {
|
|
|
13822
14089
|
|
|
13823
14090
|
var inputRef = useRef(null);
|
|
13824
14091
|
useEffect(function () {
|
|
13825
|
-
if (inputRef) {
|
|
14092
|
+
if (inputRef && inputRef.current) {
|
|
13826
14093
|
inputRef.current.focus();
|
|
13827
14094
|
}
|
|
13828
14095
|
}, [inputRef]);
|
|
@@ -14043,30 +14310,30 @@ function RequiredFieldsForm(_ref) {
|
|
|
14043
14310
|
dataTest: dataTest,
|
|
14044
14311
|
children: [schema && schema.data && !schema.loading && schema.formFields.map(function (key) {
|
|
14045
14312
|
if (!ignoreFiels.includes(key)) {
|
|
14046
|
-
var _value$title;
|
|
14313
|
+
var _schema$data, _value$title, _schema$data2;
|
|
14047
14314
|
|
|
14048
|
-
var value = schema.data.properties[key];
|
|
14315
|
+
var value = (_schema$data = schema.data) == null ? void 0 : _schema$data.properties[key];
|
|
14049
14316
|
return jsx(EditComponent, {
|
|
14050
14317
|
id: key,
|
|
14051
14318
|
placeholder: (_value$title = value == null ? void 0 : value.title) != null ? _value$title : '',
|
|
14052
14319
|
className: "",
|
|
14053
14320
|
required: true,
|
|
14054
|
-
schema: schema.data.properties[key],
|
|
14055
|
-
setValue: function setValue(
|
|
14321
|
+
schema: (_schema$data2 = schema.data) == null ? void 0 : _schema$data2.properties[key],
|
|
14322
|
+
setValue: function setValue(value) {
|
|
14056
14323
|
if (key === 'title') {
|
|
14057
14324
|
var _extends2;
|
|
14058
14325
|
|
|
14059
14326
|
setFormData(_extends({}, formData, (_extends2 = {
|
|
14060
|
-
uuid: stringToSlug(
|
|
14061
|
-
}, _extends2[key] =
|
|
14327
|
+
uuid: stringToSlug(value)
|
|
14328
|
+
}, _extends2[key] = value, _extends2)));
|
|
14062
14329
|
} else if (key === 'uuid') {
|
|
14063
14330
|
setFormData(_extends({}, formData, {
|
|
14064
|
-
uuid: stringToSlug(
|
|
14331
|
+
uuid: stringToSlug(value)
|
|
14065
14332
|
}));
|
|
14066
14333
|
} else {
|
|
14067
14334
|
var _extends3;
|
|
14068
14335
|
|
|
14069
|
-
setFormData(_extends({}, formData, (_extends3 = {}, _extends3[key] =
|
|
14336
|
+
setFormData(_extends({}, formData, (_extends3 = {}, _extends3[key] = value, _extends3)));
|
|
14070
14337
|
}
|
|
14071
14338
|
},
|
|
14072
14339
|
error: errors[key],
|
|
@@ -14197,6 +14464,7 @@ var Auth = /*#__PURE__*/function () {
|
|
|
14197
14464
|
method: 'post'
|
|
14198
14465
|
})).then(function (data) {
|
|
14199
14466
|
if (data.status === 401) {
|
|
14467
|
+
// invalid token
|
|
14200
14468
|
_this4.cleanAuth();
|
|
14201
14469
|
|
|
14202
14470
|
_this4.logout();
|
|
@@ -14259,7 +14527,7 @@ var Auth = /*#__PURE__*/function () {
|
|
|
14259
14527
|
|
|
14260
14528
|
if (!authToken) return {};
|
|
14261
14529
|
|
|
14262
|
-
if (this.willExpire(expires) && this.retryRefresh < this.maxRetry) {
|
|
14530
|
+
if (this.willExpire(expires != null ? expires : '') && this.retryRefresh < this.maxRetry) {
|
|
14263
14531
|
|
|
14264
14532
|
(function () {
|
|
14265
14533
|
try {
|
|
@@ -14317,5 +14585,14 @@ var Auth = /*#__PURE__*/function () {
|
|
|
14317
14585
|
return Auth;
|
|
14318
14586
|
}();
|
|
14319
14587
|
|
|
14320
|
-
|
|
14588
|
+
var Setting;
|
|
14589
|
+
|
|
14590
|
+
(function (Setting) {
|
|
14591
|
+
Setting["Allow"] = "Allow";
|
|
14592
|
+
Setting["AllowSingle"] = "AllowSingle";
|
|
14593
|
+
Setting["Deny"] = "Deny";
|
|
14594
|
+
Setting["Unset"] = "Unset";
|
|
14595
|
+
})(Setting || (Setting = {}));
|
|
14596
|
+
|
|
14597
|
+
export { AddItem, AddPermission, AllItemsCheckbox, ApplicationCtx, Auth, AuthContext, BaseForm, BehaviorNotImplemented, BehaviorsView, Button, Checkbox, ClientContext, ClientProvider, Confirm, ContainerCtx, ContextToolbar, CreateButton, CreateContainer, DatabaseCtx, Delete, DownloadField, EditComponent, EditableField, EmailInput, FileUpload, Flash, FolderCtx, Form, FormBuilder, GroupCtx, GroupToolbar, GroupsCtx, Guillotina, GuillotinaClient, IAttachment, IImageAttachment, IMultiAttachment, IMultiImageAttachment, IMultiImageOrderedAttachment, IWorkflow, Icon, Input, InputList, Item, ItemCheckbox, ItemCtx, ItemModel, ItemTitle, ItemsActionsDropdown, ItemsActionsProvider, Layout, Link, Loading, Login, Modal, NotAllowed, Notification, Pagination, PanelActions, PanelAddons, PanelBehaviors, PanelItems, PanelNotImplemented, PanelPermissions, PanelProperties, PasswordInput, Path, PathTree, PermissionPrinperm, PermissionPrinrole, PermissionRoleperm, Permissions, PropertiesButtonView, PropertiesView, REGEX_EMAIL, REGEX_HEX_COLOR, REGEX_NUMBER, REGEX_URL, RItem, RemoveItems, RenderField, RenderFieldComponent, RequiredFieldsForm, RestClient, SearchInput, SearchInputList, SearchLabels, SearchOptionsLabels, SearchRenderField, SearchVocabularyLabels, Select, SelectVocabulary, Setting, Sharing, Table, TabsPanel, Tag, TagsWidget, TdLink, Textarea, Traversal, TraversalContext, TraversalProvider, UserCtx, UserForm, UsersCtx, UsersToolbar, VocabularyRenderField, base64ToArrayBuffer, buildQs, classnames, debounce, defaultComponent, defaultConfig, formatDate, generateUID, genericFileMessages, genericMessages, get, getActionsObject, getClient, getNewId, isEmail, isEmpty, isHexColor, isNumber, isURL, lightFileReader, maxLength, messages$4 as messages, minLength, noop, notEmpty, parser, sleep, stringToSlug, toQueryString, useConfig, useCrudContext, useGuillotinaClient, useLocation, useRegistry, useRemoteField, useTraversal, useVocabulary };
|
|
14321
14598
|
//# sourceMappingURL=react-gmi.esm.js.map
|