@guillotinaweb/react-gmi 0.29.1 → 0.29.2-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/actions/copy_item.d.ts +2 -2
- package/dist/actions/move_item.d.ts +2 -2
- package/dist/actions/remove_item.d.ts +2 -2
- package/dist/components/behaviors/iattachment.d.ts +4 -2
- package/dist/components/behaviors/imultiimageorderedattachment.d.ts +3 -1
- package/dist/components/behaviors/iworkflow.d.ts +1 -1
- package/dist/components/context_toolbar.d.ts +1 -1
- package/dist/components/fields/editComponent.d.ts +5 -4
- package/dist/components/fields/editableField.d.ts +4 -2
- package/dist/components/fields/renderField.d.ts +8 -5
- package/dist/components/flash.d.ts +1 -1
- package/dist/components/input/email.d.ts +2 -2
- package/dist/components/input/form_builder.d.ts +2 -2
- package/dist/components/input/input.d.ts +1 -1
- package/dist/components/input/search_input.d.ts +1 -1
- package/dist/components/input/search_input_list.d.ts +2 -2
- package/dist/components/input/select_vocabulary.d.ts +2 -2
- package/dist/components/input/upload.d.ts +1 -2
- package/dist/components/pagination.d.ts +1 -1
- package/dist/components/panel/permissions.d.ts +1 -1
- package/dist/components/panel/permissions_prinperm.d.ts +2 -2
- package/dist/components/panel/permissions_prinrole.d.ts +1 -1
- package/dist/components/panel/permissions_roleperm.d.ts +1 -1
- package/dist/components/path.d.ts +1 -1
- package/dist/components/properties_view.d.ts +2 -2
- package/dist/components/search_labels.d.ts +1 -1
- package/dist/components/search_options_labels.d.ts +1 -1
- package/dist/components/search_vocabulary_labels.d.ts +2 -2
- package/dist/components/selected_items_actions.d.ts +14 -0
- package/dist/components/tabs.d.ts +4 -2
- package/dist/components/widgets/tags.d.ts +4 -1
- package/dist/contexts/index.d.ts +21 -19
- package/dist/forms/required_fields.d.ts +2 -3
- package/dist/forms/users.d.ts +1 -1
- package/dist/hooks/useClickAway.d.ts +2 -1
- package/dist/hooks/useConfig.d.ts +4 -2
- package/dist/hooks/useCrudContext.d.ts +11 -10
- package/dist/hooks/useInput.d.ts +4 -3
- package/dist/hooks/useRegistry.d.ts +29 -29
- package/dist/hooks/useSetState.d.ts +6 -1
- package/dist/hooks/useVocabulary.d.ts +1 -1
- package/dist/lib/auth.d.ts +14 -19
- package/dist/lib/client.d.ts +49 -36
- package/dist/lib/helpers.d.ts +10 -18
- package/dist/lib/processResponse.d.ts +9 -0
- package/dist/lib/rest.d.ts +9 -16
- package/dist/lib/utils.d.ts +3 -2
- package/dist/lib/validators.d.ts +1 -1
- package/dist/locales/generic_messages.d.ts +248 -370
- package/dist/models/index.d.ts +5 -5
- package/dist/models/sharing.d.ts +5 -5
- package/dist/react-gmi.esm.js +1179 -900
- package/dist/react-gmi.esm.js.map +1 -1
- package/dist/react-gmi.js +1178 -900
- package/dist/react-gmi.js.map +1 -1
- package/dist/react-gmi.modern.js +1161 -856
- package/dist/react-gmi.modern.js.map +1 -1
- package/dist/react-gmi.umd.js +1178 -900
- package/dist/react-gmi.umd.js.map +1 -1
- package/dist/reducers/guillotina.d.ts +22 -8
- package/dist/types/global.d.ts +9 -0
- package/dist/types/guillotina.d.ts +153 -19
- package/dist/views/folder.d.ts +1 -1
- package/dist/views/groups.d.ts +1 -1
- package/dist/views/item.d.ts +1 -1
- package/dist/views/users.d.ts +1 -1
- package/package.json +3 -2
- package/dist/lib/search.test.d.ts +0 -1
- package/dist/setupTests.d.ts +0 -1
package/dist/react-gmi.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';
|
|
@@ -1697,7 +1887,8 @@ var EmailInput = function EmailInput(_ref) {
|
|
|
1697
1887
|
value = _ref$value === void 0 ? '' : _ref$value,
|
|
1698
1888
|
dataTest = _ref.dataTest,
|
|
1699
1889
|
placeholder = _ref.placeholder,
|
|
1700
|
-
id = _ref.id
|
|
1890
|
+
id = _ref.id,
|
|
1891
|
+
onChange = _ref.onChange;
|
|
1701
1892
|
var intl = useIntl();
|
|
1702
1893
|
return jsx(Input, {
|
|
1703
1894
|
type: "email",
|
|
@@ -1715,7 +1906,8 @@ var EmailInput = function EmailInput(_ref) {
|
|
|
1715
1906
|
icon: "fas fa-envelope"
|
|
1716
1907
|
}),
|
|
1717
1908
|
id: id,
|
|
1718
|
-
placeholder: placeholder
|
|
1909
|
+
placeholder: placeholder,
|
|
1910
|
+
onChange: onChange
|
|
1719
1911
|
});
|
|
1720
1912
|
};
|
|
1721
1913
|
|
|
@@ -1789,24 +1981,26 @@ function FormBuilder(_ref) {
|
|
|
1789
1981
|
remotes = _ref$remotes === void 0 ? {} : _ref$remotes,
|
|
1790
1982
|
_ref$submitButton = _ref.submitButton,
|
|
1791
1983
|
submitButton = _ref$submitButton === void 0 ? true : _ref$submitButton;
|
|
1792
|
-
var ref = useRef();
|
|
1984
|
+
var ref = useRef(null);
|
|
1793
1985
|
var properties = schema.properties,
|
|
1794
1986
|
required = schema.required;
|
|
1795
|
-
var values = Object.assign({}, formData || {});
|
|
1987
|
+
var values = Object.assign({}, formData || {}); // build initial state
|
|
1988
|
+
|
|
1796
1989
|
var initialState = {};
|
|
1797
1990
|
var fields = Object.keys(properties).filter(function (x) {
|
|
1798
1991
|
return !exclude.includes(x);
|
|
1799
1992
|
});
|
|
1800
1993
|
fields.forEach(function (element) {
|
|
1801
1994
|
initialState[element] = values[element] || undefined;
|
|
1802
|
-
});
|
|
1995
|
+
}); // Register remotes
|
|
1803
1996
|
|
|
1804
|
-
if (
|
|
1997
|
+
if (ref.current === null) {
|
|
1805
1998
|
ref.current = {};
|
|
1806
1999
|
Object.keys(remotes).forEach(function (item) {
|
|
1807
2000
|
return ref.current[item] = remotes[item];
|
|
1808
2001
|
});
|
|
1809
2002
|
} else {
|
|
2003
|
+
// apply remote changes
|
|
1810
2004
|
Object.keys(remotes).forEach(function (key) {
|
|
1811
2005
|
if (JSON.stringify(ref.current[key]) !== JSON.stringify(remotes[key])) {
|
|
1812
2006
|
ref.current[key] = remotes[key];
|
|
@@ -1817,15 +2011,16 @@ function FormBuilder(_ref) {
|
|
|
1817
2011
|
ref.current = ref.current || {};
|
|
1818
2012
|
|
|
1819
2013
|
var onUpdate = function onUpdate(field) {
|
|
1820
|
-
return function (
|
|
1821
|
-
ref.current[field] =
|
|
2014
|
+
return function (value) {
|
|
2015
|
+
ref.current[field] = value;
|
|
1822
2016
|
};
|
|
1823
2017
|
};
|
|
1824
2018
|
|
|
1825
2019
|
var GetTag = function GetTag(_ref2) {
|
|
1826
2020
|
var field = _ref2.field;
|
|
1827
2021
|
var property = properties[field];
|
|
1828
|
-
var
|
|
2022
|
+
var key = property.widget || property.type;
|
|
2023
|
+
var Tag = formComponents[key];
|
|
1829
2024
|
var props = {
|
|
1830
2025
|
value: initialState[field],
|
|
1831
2026
|
onChange: onUpdate(field),
|
|
@@ -1840,7 +2035,6 @@ function FormBuilder(_ref) {
|
|
|
1840
2035
|
props.placeholder += ' *';
|
|
1841
2036
|
}
|
|
1842
2037
|
|
|
1843
|
-
Tag.displayName = field + "Field";
|
|
1844
2038
|
return jsx(Tag, _extends({}, props));
|
|
1845
2039
|
};
|
|
1846
2040
|
|
|
@@ -1909,9 +2103,13 @@ var Select = forwardRef(function (_ref, ref) {
|
|
|
1909
2103
|
selectValue = selectValue.concat([ev.target.selectedOptions[i].value]);
|
|
1910
2104
|
}
|
|
1911
2105
|
|
|
1912
|
-
onChange
|
|
2106
|
+
if (onChange) {
|
|
2107
|
+
onChange(selectValue);
|
|
2108
|
+
}
|
|
1913
2109
|
} else {
|
|
1914
|
-
onChange
|
|
2110
|
+
if (onChange) {
|
|
2111
|
+
onChange(ev.target.value);
|
|
2112
|
+
}
|
|
1915
2113
|
}
|
|
1916
2114
|
};
|
|
1917
2115
|
|
|
@@ -1960,33 +2158,6 @@ var Select = forwardRef(function (_ref, ref) {
|
|
|
1960
2158
|
});
|
|
1961
2159
|
Select.displayName = 'Select';
|
|
1962
2160
|
|
|
1963
|
-
var formatDate = function formatDate(str) {
|
|
1964
|
-
var d = new Date(str);
|
|
1965
|
-
var minutes = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();
|
|
1966
|
-
return d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear() + " " + d.getHours() + ":" + minutes;
|
|
1967
|
-
};
|
|
1968
|
-
var get$1 = function get(obj, path, defValue) {
|
|
1969
|
-
var _pathArray$reduce;
|
|
1970
|
-
|
|
1971
|
-
if (!path) return undefined;
|
|
1972
|
-
var pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
|
|
1973
|
-
return (_pathArray$reduce = pathArray.reduce(function (prevObj, key) {
|
|
1974
|
-
return prevObj && prevObj[key];
|
|
1975
|
-
}, obj)) != null ? _pathArray$reduce : defValue;
|
|
1976
|
-
};
|
|
1977
|
-
function getNewId(id) {
|
|
1978
|
-
if (id === void 0) {
|
|
1979
|
-
id = '';
|
|
1980
|
-
}
|
|
1981
|
-
|
|
1982
|
-
var suffix = '-copy-';
|
|
1983
|
-
var rgx = new RegExp("($|" + suffix + "\\d*)");
|
|
1984
|
-
return stringToSlug(id).replace(rgx, function (r) {
|
|
1985
|
-
var num = parseInt(r.replace(suffix, '') || '0');
|
|
1986
|
-
return "" + suffix + (num + 1);
|
|
1987
|
-
});
|
|
1988
|
-
}
|
|
1989
|
-
|
|
1990
2161
|
function _catch$1(body, recover) {
|
|
1991
2162
|
try {
|
|
1992
2163
|
var result = body();
|
|
@@ -2002,10 +2173,6 @@ function _catch$1(body, recover) {
|
|
|
2002
2173
|
}
|
|
2003
2174
|
|
|
2004
2175
|
function useVocabulary(vocabularyName, path) {
|
|
2005
|
-
if (path === void 0) {
|
|
2006
|
-
path = null;
|
|
2007
|
-
}
|
|
2008
|
-
|
|
2009
2176
|
var traversal = useTraversal();
|
|
2010
2177
|
|
|
2011
2178
|
var _useSetState = useSetState({
|
|
@@ -2074,8 +2241,10 @@ var SelectVocabulary = forwardRef(function (_ref, ref) {
|
|
|
2074
2241
|
var vocabulary = useVocabulary(vocabularyName);
|
|
2075
2242
|
|
|
2076
2243
|
var getOptions = function getOptions() {
|
|
2077
|
-
if (get
|
|
2078
|
-
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) {
|
|
2079
2248
|
return {
|
|
2080
2249
|
text: item.title,
|
|
2081
2250
|
value: item.token
|
|
@@ -2121,6 +2290,8 @@ var SelectVocabulary = forwardRef(function (_ref, ref) {
|
|
|
2121
2290
|
});
|
|
2122
2291
|
SelectVocabulary.displayName = 'SelectVocabulary';
|
|
2123
2292
|
|
|
2293
|
+
// https://github.com/molefrog/wouter
|
|
2294
|
+
|
|
2124
2295
|
var setURLParams = function setURLParams(p) {
|
|
2125
2296
|
return window.history.pushState(0, '0', '' + '?' + p.toString().replace(/%2F/g, '/'));
|
|
2126
2297
|
};
|
|
@@ -2140,7 +2311,10 @@ var useLocation = function useLocation() {
|
|
|
2140
2311
|
|
|
2141
2312
|
var prevPath = useRef(path);
|
|
2142
2313
|
useEffect(function () {
|
|
2143
|
-
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.
|
|
2144
2318
|
|
|
2145
2319
|
var checkForUpdates = function checkForUpdates() {
|
|
2146
2320
|
var pathname = currentSearchParams();
|
|
@@ -2150,14 +2324,22 @@ var useLocation = function useLocation() {
|
|
|
2150
2324
|
var events = ['popstate', 'pushState', 'replaceState'];
|
|
2151
2325
|
events.map(function (e) {
|
|
2152
2326
|
return window.addEventListener(e, checkForUpdates);
|
|
2153
|
-
});
|
|
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
|
+
|
|
2154
2331
|
checkForUpdates();
|
|
2155
2332
|
return function () {
|
|
2156
2333
|
events.map(function (e) {
|
|
2157
2334
|
return window.removeEventListener(e, checkForUpdates);
|
|
2158
2335
|
});
|
|
2159
2336
|
};
|
|
2160
|
-
}, []);
|
|
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
|
+
|
|
2161
2343
|
var navigate = useCallback(function (to, replace) {
|
|
2162
2344
|
if (replace) {
|
|
2163
2345
|
clean(to);
|
|
@@ -2176,23 +2358,40 @@ var useLocation = function useLocation() {
|
|
|
2176
2358
|
setURLParams(current);
|
|
2177
2359
|
}, [path]);
|
|
2178
2360
|
return [path, navigate, remove];
|
|
2179
|
-
};
|
|
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
|
+
|
|
2180
2367
|
var patched = 0;
|
|
2181
2368
|
|
|
2182
2369
|
var patchHistoryEvents = function patchHistoryEvents() {
|
|
2183
2370
|
if (patched) return;
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
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
|
+
|
|
2196
2395
|
return patched = 1;
|
|
2197
2396
|
};
|
|
2198
2397
|
|
|
@@ -2247,7 +2446,7 @@ function TdLink(_ref) {
|
|
|
2247
2446
|
children = _ref.children,
|
|
2248
2447
|
_ref$style = _ref.style,
|
|
2249
2448
|
style = _ref$style === void 0 ? {} : _ref$style;
|
|
2250
|
-
var link = useRef();
|
|
2449
|
+
var link = useRef(null);
|
|
2251
2450
|
|
|
2252
2451
|
function onClick() {
|
|
2253
2452
|
if (link && link.current) {
|
|
@@ -2354,15 +2553,7 @@ var RestClient = /*#__PURE__*/function () {
|
|
|
2354
2553
|
|
|
2355
2554
|
var _proto = RestClient.prototype;
|
|
2356
2555
|
|
|
2357
|
-
_proto.request = function request(path, data, headers) {
|
|
2358
|
-
if (data === void 0) {
|
|
2359
|
-
data = undefined;
|
|
2360
|
-
}
|
|
2361
|
-
|
|
2362
|
-
if (headers === void 0) {
|
|
2363
|
-
headers = undefined;
|
|
2364
|
-
}
|
|
2365
|
-
|
|
2556
|
+
_proto.request = function request(path, data, headers, signal) {
|
|
2366
2557
|
try {
|
|
2367
2558
|
var _this2 = this;
|
|
2368
2559
|
|
|
@@ -2378,9 +2569,18 @@ var RestClient = /*#__PURE__*/function () {
|
|
|
2378
2569
|
path = "/" + path;
|
|
2379
2570
|
}
|
|
2380
2571
|
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
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));
|
|
2384
2584
|
} catch (e) {
|
|
2385
2585
|
return Promise.reject(e);
|
|
2386
2586
|
}
|
|
@@ -2388,12 +2588,12 @@ var RestClient = /*#__PURE__*/function () {
|
|
|
2388
2588
|
|
|
2389
2589
|
_proto.getHeaders = function getHeaders() {
|
|
2390
2590
|
var authToken = this.auth.getToken();
|
|
2391
|
-
|
|
2392
|
-
return
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
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;
|
|
2397
2597
|
};
|
|
2398
2598
|
|
|
2399
2599
|
_proto.post = function post(path, data) {
|
|
@@ -2409,11 +2609,11 @@ var RestClient = /*#__PURE__*/function () {
|
|
|
2409
2609
|
}
|
|
2410
2610
|
};
|
|
2411
2611
|
|
|
2412
|
-
_proto.get = function get(path) {
|
|
2612
|
+
_proto.get = function get(path, signal) {
|
|
2413
2613
|
try {
|
|
2414
2614
|
var _this6 = this;
|
|
2415
2615
|
|
|
2416
|
-
return Promise.resolve(_this6.request(path));
|
|
2616
|
+
return Promise.resolve(_this6.request(path, undefined, undefined, signal));
|
|
2417
2617
|
} catch (e) {
|
|
2418
2618
|
return Promise.reject(e);
|
|
2419
2619
|
}
|
|
@@ -2451,24 +2651,20 @@ var RestClient = /*#__PURE__*/function () {
|
|
|
2451
2651
|
|
|
2452
2652
|
var headers = _this12.getHeaders();
|
|
2453
2653
|
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2654
|
+
var newHeaders = {};
|
|
2655
|
+
newHeaders['Content-Type'] = data['content-type'];
|
|
2656
|
+
newHeaders['X-UPLOAD-FILENAME'] = data.filename;
|
|
2657
|
+
newHeaders['Content-Encoding'] = 'base64';
|
|
2458
2658
|
return Promise.resolve(_this12.request(path, {
|
|
2459
2659
|
method: 'PATCH',
|
|
2460
2660
|
body: data.data
|
|
2461
|
-
}, headers));
|
|
2661
|
+
}, _extends({}, headers, newHeaders)));
|
|
2462
2662
|
} catch (e) {
|
|
2463
2663
|
return Promise.reject(e);
|
|
2464
2664
|
}
|
|
2465
2665
|
};
|
|
2466
2666
|
|
|
2467
2667
|
_proto.delete = function _delete(path, data) {
|
|
2468
|
-
if (data === void 0) {
|
|
2469
|
-
data = undefined;
|
|
2470
|
-
}
|
|
2471
|
-
|
|
2472
2668
|
try {
|
|
2473
2669
|
var _this14 = this;
|
|
2474
2670
|
|
|
@@ -2609,6 +2805,14 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2609
2805
|
}
|
|
2610
2806
|
};
|
|
2611
2807
|
|
|
2808
|
+
_proto.getQueryParamsSearchFunction = function getQueryParamsSearchFunction(name) {
|
|
2809
|
+
if (name === 'getQueryParamsElasticsearch') {
|
|
2810
|
+
return this.getQueryParamsElasticsearch;
|
|
2811
|
+
}
|
|
2812
|
+
|
|
2813
|
+
return this.getQueryParamsPostresql;
|
|
2814
|
+
};
|
|
2815
|
+
|
|
2612
2816
|
_proto.getQueryParamsPostresql = function getQueryParamsPostresql(_ref) {
|
|
2613
2817
|
var _ref$start = _ref.start,
|
|
2614
2818
|
start = _ref$start === void 0 ? 0 : _ref$start,
|
|
@@ -2700,7 +2904,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2700
2904
|
label: 'id/name',
|
|
2701
2905
|
key: 'title',
|
|
2702
2906
|
isSortable: true,
|
|
2703
|
-
child: function child(m,
|
|
2907
|
+
child: function child(m, _navigate, search) {
|
|
2704
2908
|
return jsxs(TdLink, {
|
|
2705
2909
|
model: m,
|
|
2706
2910
|
children: [m.name, search && jsxs(React.Fragment, {
|
|
@@ -2734,15 +2938,19 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2734
2938
|
});
|
|
2735
2939
|
}
|
|
2736
2940
|
}];
|
|
2737
|
-
}
|
|
2941
|
+
} // BBB API changes. Compat G5 and G6
|
|
2942
|
+
;
|
|
2738
2943
|
|
|
2739
2944
|
_proto.applyCompat = function applyCompat(data) {
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2945
|
+
var result = _extends({}, data, {
|
|
2946
|
+
member: data.items,
|
|
2947
|
+
items_count: data.items_total
|
|
2948
|
+
});
|
|
2949
|
+
|
|
2950
|
+
return result;
|
|
2743
2951
|
};
|
|
2744
2952
|
|
|
2745
|
-
_proto.search = function search(path, params, container, prepare) {
|
|
2953
|
+
_proto.search = function search(path, params, container, prepare, signal) {
|
|
2746
2954
|
if (container === void 0) {
|
|
2747
2955
|
container = false;
|
|
2748
2956
|
}
|
|
@@ -2764,7 +2972,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2764
2972
|
|
|
2765
2973
|
var query = prepare ? toQueryString(params) : params;
|
|
2766
2974
|
var url = path + "@search?" + query;
|
|
2767
|
-
return Promise.resolve(_this7.rest.get(url)).then(function (res) {
|
|
2975
|
+
return Promise.resolve(_this7.rest.get(url, signal)).then(function (res) {
|
|
2768
2976
|
return Promise.resolve(res.json()).then(function (data) {
|
|
2769
2977
|
return _this7.applyCompat(data);
|
|
2770
2978
|
});
|
|
@@ -2894,7 +3102,8 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2894
3102
|
|
|
2895
3103
|
var _temp4 = function () {
|
|
2896
3104
|
if (!cacheSchemas[name]) {
|
|
2897
|
-
var url = _this25.getContainerFromPath(path);
|
|
3105
|
+
var url = _this25.getContainerFromPath(path); // todo: handle db case (only addable containers)
|
|
3106
|
+
|
|
2898
3107
|
|
|
2899
3108
|
return Promise.resolve(_this25.rest.get(url + "@types/" + name)).then(function (res) {
|
|
2900
3109
|
return Promise.resolve(res.json()).then(function (_res$json) {
|
|
@@ -2975,23 +3184,53 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
2975
3184
|
var users = _this37.getUsers(path);
|
|
2976
3185
|
|
|
2977
3186
|
return Promise.resolve(Promise.all([groups, users])).then(function (_ref3) {
|
|
2978
|
-
var
|
|
2979
|
-
|
|
3187
|
+
var responseGroups = _ref3[0],
|
|
3188
|
+
responseUsers = _ref3[1];
|
|
2980
3189
|
|
|
2981
|
-
function
|
|
2982
|
-
function
|
|
3190
|
+
function _temp8() {
|
|
3191
|
+
function _temp6() {
|
|
2983
3192
|
return {
|
|
2984
|
-
groups:
|
|
2985
|
-
users:
|
|
3193
|
+
groups: groupsData,
|
|
3194
|
+
users: usersData
|
|
2986
3195
|
};
|
|
2987
3196
|
}
|
|
2988
3197
|
|
|
2989
|
-
var
|
|
2990
|
-
|
|
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);
|
|
2991
3214
|
}
|
|
2992
3215
|
|
|
2993
|
-
var
|
|
2994
|
-
|
|
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);
|
|
2995
3234
|
});
|
|
2996
3235
|
} catch (e) {
|
|
2997
3236
|
return Promise.reject(e);
|
|
@@ -3013,6 +3252,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
3013
3252
|
try {
|
|
3014
3253
|
var _this41 = this;
|
|
3015
3254
|
|
|
3255
|
+
// paths used to query the API always has to start without a "/"
|
|
3016
3256
|
if (path.startsWith('/')) {
|
|
3017
3257
|
path = path.slice(1);
|
|
3018
3258
|
}
|
|
@@ -3032,7 +3272,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
3032
3272
|
try {
|
|
3033
3273
|
var _this43 = this;
|
|
3034
3274
|
|
|
3035
|
-
function
|
|
3275
|
+
function _temp12() {
|
|
3036
3276
|
return cacheTypes[path];
|
|
3037
3277
|
}
|
|
3038
3278
|
|
|
@@ -3040,10 +3280,10 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
3040
3280
|
path = path.slice(1);
|
|
3041
3281
|
}
|
|
3042
3282
|
|
|
3043
|
-
var
|
|
3283
|
+
var _temp13 = function () {
|
|
3044
3284
|
if (!cacheTypes[path]) {
|
|
3045
3285
|
return Promise.resolve(_this43.rest.get(path + '@addable-types')).then(function (types) {
|
|
3046
|
-
var
|
|
3286
|
+
var _temp9 = function () {
|
|
3047
3287
|
if (types.status === 401 || types.status === 404) {
|
|
3048
3288
|
cacheTypes[path] = [];
|
|
3049
3289
|
} else {
|
|
@@ -3053,12 +3293,12 @@ var GuillotinaClient = /*#__PURE__*/function () {
|
|
|
3053
3293
|
}
|
|
3054
3294
|
}();
|
|
3055
3295
|
|
|
3056
|
-
if (
|
|
3296
|
+
if (_temp9 && _temp9.then) return _temp9.then(function () {});
|
|
3057
3297
|
});
|
|
3058
3298
|
}
|
|
3059
3299
|
}();
|
|
3060
3300
|
|
|
3061
|
-
return Promise.resolve(
|
|
3301
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(_temp12) : _temp12(_temp13));
|
|
3062
3302
|
} catch (e) {
|
|
3063
3303
|
return Promise.reject(e);
|
|
3064
3304
|
}
|
|
@@ -3070,17 +3310,24 @@ function getClient(url, container, auth) {
|
|
|
3070
3310
|
return new GuillotinaClient(new RestClient(url, container, auth), container === '/');
|
|
3071
3311
|
}
|
|
3072
3312
|
var lightFileReader = function lightFileReader(file) {
|
|
3073
|
-
return new Promise(function (resolve) {
|
|
3313
|
+
return new Promise(function (resolve, reject) {
|
|
3074
3314
|
var reader = new FileReader();
|
|
3075
3315
|
reader.readAsArrayBuffer(file);
|
|
3076
3316
|
|
|
3077
3317
|
reader.onloadend = function (e) {
|
|
3078
|
-
var
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
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
|
+
}
|
|
3084
3331
|
};
|
|
3085
3332
|
});
|
|
3086
3333
|
};
|
|
@@ -3111,9 +3358,15 @@ function FileUpload(_ref) {
|
|
|
3111
3358
|
|
|
3112
3359
|
var changed = function changed(event) {
|
|
3113
3360
|
try {
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
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);
|
|
3117
3370
|
} catch (e) {
|
|
3118
3371
|
return Promise.reject(e);
|
|
3119
3372
|
}
|
|
@@ -3204,12 +3457,12 @@ Textarea.displayName = 'Textarea';
|
|
|
3204
3457
|
|
|
3205
3458
|
var defaultEvents = ['mousedown', 'touchstart'];
|
|
3206
3459
|
|
|
3207
|
-
var on = function on(obj) {
|
|
3208
|
-
return obj.addEventListener
|
|
3460
|
+
var on = function on(obj, type, handler) {
|
|
3461
|
+
return obj.addEventListener(type, handler);
|
|
3209
3462
|
};
|
|
3210
3463
|
|
|
3211
|
-
var off = function off(obj) {
|
|
3212
|
-
return obj.removeEventListener
|
|
3464
|
+
var off = function off(obj, type, handler) {
|
|
3465
|
+
return obj.removeEventListener(type, handler);
|
|
3213
3466
|
};
|
|
3214
3467
|
|
|
3215
3468
|
function useClickAway(ref, onClickAway, events) {
|
|
@@ -3241,23 +3494,7 @@ function useClickAway(ref, onClickAway, events) {
|
|
|
3241
3494
|
}, [events, ref]);
|
|
3242
3495
|
}
|
|
3243
3496
|
|
|
3244
|
-
|
|
3245
|
-
var timeout;
|
|
3246
|
-
return function () {
|
|
3247
|
-
var context = this;
|
|
3248
|
-
var args = arguments;
|
|
3249
|
-
|
|
3250
|
-
var later = function later() {
|
|
3251
|
-
timeout = null;
|
|
3252
|
-
func.apply(context, args);
|
|
3253
|
-
};
|
|
3254
|
-
|
|
3255
|
-
clearTimeout(timeout);
|
|
3256
|
-
timeout = setTimeout(later, wait);
|
|
3257
|
-
};
|
|
3258
|
-
}
|
|
3259
|
-
|
|
3260
|
-
var initialState = {
|
|
3497
|
+
var initialState$1 = {
|
|
3261
3498
|
page: 0,
|
|
3262
3499
|
items: undefined,
|
|
3263
3500
|
loading: false,
|
|
@@ -3267,10 +3504,9 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3267
3504
|
var onChange = _ref.onChange,
|
|
3268
3505
|
error = _ref.error,
|
|
3269
3506
|
errorZoneClassName = _ref.errorZoneClassName,
|
|
3270
|
-
|
|
3271
|
-
traversal = _ref$traversal === void 0 ? null : _ref$traversal,
|
|
3507
|
+
traversal = _ref.traversal,
|
|
3272
3508
|
_ref$path = _ref.path,
|
|
3273
|
-
path = _ref$path === void 0 ?
|
|
3509
|
+
path = _ref$path === void 0 ? undefined : _ref$path,
|
|
3274
3510
|
_ref$qs = _ref.qs,
|
|
3275
3511
|
qs = _ref$qs === void 0 ? [] : _ref$qs,
|
|
3276
3512
|
_ref$queryCondition = _ref.queryCondition,
|
|
@@ -3285,14 +3521,14 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3285
3521
|
_ref$dataTestItem = _ref.dataTestItem,
|
|
3286
3522
|
dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
|
|
3287
3523
|
_ref$renderTextItemOp = _ref.renderTextItemOption,
|
|
3288
|
-
renderTextItemOption = _ref$renderTextItemOp === void 0 ?
|
|
3524
|
+
renderTextItemOption = _ref$renderTextItemOp === void 0 ? undefined : _ref$renderTextItemOp,
|
|
3289
3525
|
_ref$typeNameQuery = _ref.typeNameQuery,
|
|
3290
|
-
typeNameQuery = _ref$typeNameQuery === void 0 ?
|
|
3526
|
+
typeNameQuery = _ref$typeNameQuery === void 0 ? undefined : _ref$typeNameQuery,
|
|
3291
3527
|
_ref$labelProperty = _ref.labelProperty,
|
|
3292
3528
|
labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
|
|
3293
3529
|
var intl = useIntl();
|
|
3294
3530
|
|
|
3295
|
-
var _useSetState = useSetState(initialState),
|
|
3531
|
+
var _useSetState = useSetState(initialState$1),
|
|
3296
3532
|
options = _useSetState[0],
|
|
3297
3533
|
setOptions = _useSetState[1];
|
|
3298
3534
|
|
|
@@ -3346,7 +3582,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3346
3582
|
var searchTermParsed = ["id", value];
|
|
3347
3583
|
var getSearch = traversal.registry.get;
|
|
3348
3584
|
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
3349
|
-
var qsParsed = traversal.client
|
|
3585
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3350
3586
|
path: traversal.path,
|
|
3351
3587
|
start: 0,
|
|
3352
3588
|
pageSize: PageSize,
|
|
@@ -3364,7 +3600,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3364
3600
|
|
|
3365
3601
|
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
|
|
3366
3602
|
var newValuesLabel = data.items.reduce(function (result, item) {
|
|
3367
|
-
result[item.id] = get
|
|
3603
|
+
result[item.id] = get(item, labelProperty, item.id);
|
|
3368
3604
|
return result;
|
|
3369
3605
|
}, {});
|
|
3370
3606
|
setValueLabel(newValuesLabel);
|
|
@@ -3392,6 +3628,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3392
3628
|
}
|
|
3393
3629
|
|
|
3394
3630
|
try {
|
|
3631
|
+
console.log('handle search input');
|
|
3395
3632
|
setOptions({
|
|
3396
3633
|
loading: true
|
|
3397
3634
|
});
|
|
@@ -3406,7 +3643,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3406
3643
|
|
|
3407
3644
|
var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
|
|
3408
3645
|
|
|
3409
|
-
var qsParsed = traversal.client
|
|
3646
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3410
3647
|
path: traversal.path,
|
|
3411
3648
|
start: page * PageSize,
|
|
3412
3649
|
pageSize: PageSize,
|
|
@@ -3419,7 +3656,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3419
3656
|
typeNameParsed = parser("type_name__in=" + typeNameQuery);
|
|
3420
3657
|
}
|
|
3421
3658
|
|
|
3422
|
-
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) {
|
|
3423
3660
|
searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed, typeNameParsed, sortParsed));
|
|
3424
3661
|
}
|
|
3425
3662
|
|
|
@@ -3444,7 +3681,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3444
3681
|
return renderTextItemOption(item);
|
|
3445
3682
|
}
|
|
3446
3683
|
|
|
3447
|
-
return get
|
|
3684
|
+
return get(item, labelProperty, item.title) || item['@name'];
|
|
3448
3685
|
};
|
|
3449
3686
|
|
|
3450
3687
|
useEffect(function () {
|
|
@@ -3470,7 +3707,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3470
3707
|
if (!ev.currentTarget.contains(ev.relatedTarget)) {
|
|
3471
3708
|
if (searchTerm !== '') {
|
|
3472
3709
|
setSearchTerm('');
|
|
3473
|
-
setOptions(initialState);
|
|
3710
|
+
setOptions(initialState$1);
|
|
3474
3711
|
}
|
|
3475
3712
|
|
|
3476
3713
|
setIsOpen(false);
|
|
@@ -3488,6 +3725,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3488
3725
|
}
|
|
3489
3726
|
|
|
3490
3727
|
setIsOpen(!isOpen);
|
|
3728
|
+
console.log('on clic btn', options);
|
|
3491
3729
|
|
|
3492
3730
|
if (!options.loading && !options.items) {
|
|
3493
3731
|
handleSearch(options.page);
|
|
@@ -3496,7 +3734,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3496
3734
|
"aria-haspopup": "true",
|
|
3497
3735
|
"aria-controls": "dropdown-menu",
|
|
3498
3736
|
children: [jsx("span", {
|
|
3499
|
-
children: value ? get
|
|
3737
|
+
children: value ? get(valueLabel, value, value) : intl.formatMessage(genericMessages.choose)
|
|
3500
3738
|
}), jsx("span", {
|
|
3501
3739
|
className: "icon",
|
|
3502
3740
|
children: jsx("i", {
|
|
@@ -3570,23 +3808,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3570
3808
|
});
|
|
3571
3809
|
};
|
|
3572
3810
|
|
|
3573
|
-
|
|
3574
|
-
var timeout;
|
|
3575
|
-
return function () {
|
|
3576
|
-
var context = this;
|
|
3577
|
-
var args = arguments;
|
|
3578
|
-
|
|
3579
|
-
var later = function later() {
|
|
3580
|
-
timeout = null;
|
|
3581
|
-
func.apply(context, args);
|
|
3582
|
-
};
|
|
3583
|
-
|
|
3584
|
-
clearTimeout(timeout);
|
|
3585
|
-
timeout = setTimeout(later, wait);
|
|
3586
|
-
};
|
|
3587
|
-
}
|
|
3588
|
-
|
|
3589
|
-
var initialState$1 = {
|
|
3811
|
+
var initialState$2 = {
|
|
3590
3812
|
page: 0,
|
|
3591
3813
|
items: undefined,
|
|
3592
3814
|
loading: false,
|
|
@@ -3596,10 +3818,9 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3596
3818
|
var onChange = _ref.onChange,
|
|
3597
3819
|
error = _ref.error,
|
|
3598
3820
|
errorZoneClassName = _ref.errorZoneClassName,
|
|
3599
|
-
|
|
3600
|
-
traversal = _ref$traversal === void 0 ? null : _ref$traversal,
|
|
3821
|
+
traversal = _ref.traversal,
|
|
3601
3822
|
_ref$path = _ref.path,
|
|
3602
|
-
path = _ref$path === void 0 ?
|
|
3823
|
+
path = _ref$path === void 0 ? undefined : _ref$path,
|
|
3603
3824
|
_ref$qs = _ref.qs,
|
|
3604
3825
|
qs = _ref$qs === void 0 ? [] : _ref$qs,
|
|
3605
3826
|
_ref$queryCondition = _ref.queryCondition,
|
|
@@ -3614,14 +3835,14 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3614
3835
|
_ref$dataTestItem = _ref.dataTestItem,
|
|
3615
3836
|
dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
|
|
3616
3837
|
_ref$renderTextItemOp = _ref.renderTextItemOption,
|
|
3617
|
-
renderTextItemOption = _ref$renderTextItemOp === void 0 ?
|
|
3838
|
+
renderTextItemOption = _ref$renderTextItemOp === void 0 ? undefined : _ref$renderTextItemOp,
|
|
3618
3839
|
_ref$typeNameQuery = _ref.typeNameQuery,
|
|
3619
|
-
typeNameQuery = _ref$typeNameQuery === void 0 ?
|
|
3840
|
+
typeNameQuery = _ref$typeNameQuery === void 0 ? undefined : _ref$typeNameQuery,
|
|
3620
3841
|
_ref$labelProperty = _ref.labelProperty,
|
|
3621
3842
|
labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
|
|
3622
3843
|
var intl = useIntl();
|
|
3623
3844
|
|
|
3624
|
-
var _useSetState = useSetState(initialState$
|
|
3845
|
+
var _useSetState = useSetState(initialState$2),
|
|
3625
3846
|
options = _useSetState[0],
|
|
3626
3847
|
setOptions = _useSetState[1];
|
|
3627
3848
|
|
|
@@ -3667,7 +3888,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3667
3888
|
};
|
|
3668
3889
|
};
|
|
3669
3890
|
|
|
3670
|
-
var delayedQuery = useCallback(debounce
|
|
3891
|
+
var delayedQuery = useCallback(debounce(function (value) {
|
|
3671
3892
|
return handleSearch(0, false, value);
|
|
3672
3893
|
}, 500), []);
|
|
3673
3894
|
|
|
@@ -3699,7 +3920,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3699
3920
|
|
|
3700
3921
|
var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
|
|
3701
3922
|
|
|
3702
|
-
var qsParsed = traversal.client
|
|
3923
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3703
3924
|
path: traversal.path,
|
|
3704
3925
|
start: page * PageSize,
|
|
3705
3926
|
pageSize: PageSize,
|
|
@@ -3741,7 +3962,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3741
3962
|
var searchTermParsed = ['__or', "id=" + value.join('%26id=')];
|
|
3742
3963
|
var getSearch = traversal.registry.get;
|
|
3743
3964
|
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
3744
|
-
var qsParsed = traversal.client
|
|
3965
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
3745
3966
|
path: traversal.path,
|
|
3746
3967
|
start: 0,
|
|
3747
3968
|
pageSize: 100,
|
|
@@ -3757,9 +3978,9 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3757
3978
|
searchTermQs = buildQs([].concat(qs, [searchTermParsed], qsParsed, typeNameParsed));
|
|
3758
3979
|
}
|
|
3759
3980
|
|
|
3760
|
-
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) {
|
|
3761
3982
|
var newValuesLabel = data.items.reduce(function (result, item) {
|
|
3762
|
-
result[item.id] = get
|
|
3983
|
+
result[item.id] = get(item, labelProperty, item.id);
|
|
3763
3984
|
return result;
|
|
3764
3985
|
}, {});
|
|
3765
3986
|
setValuesLabels(newValuesLabel);
|
|
@@ -3779,7 +4000,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3779
4000
|
return renderTextItemOption(item);
|
|
3780
4001
|
}
|
|
3781
4002
|
|
|
3782
|
-
return get
|
|
4003
|
+
return get(item, labelProperty, item.title) || item['@name'];
|
|
3783
4004
|
};
|
|
3784
4005
|
|
|
3785
4006
|
useEffect(function () {
|
|
@@ -3802,7 +4023,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3802
4023
|
children: value.map(function (tag, index) {
|
|
3803
4024
|
return jsxs("div", {
|
|
3804
4025
|
className: "tag is-info is-medium",
|
|
3805
|
-
children: [get
|
|
4026
|
+
children: [get(valuesLabel, tag, tag), jsx("button", {
|
|
3806
4027
|
className: "delete is-small",
|
|
3807
4028
|
onClick: function onClick(ev) {
|
|
3808
4029
|
ev.stopPropagation();
|
|
@@ -3822,7 +4043,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3822
4043
|
if (!ev.currentTarget.contains(ev.relatedTarget)) {
|
|
3823
4044
|
if (searchTerm !== '') {
|
|
3824
4045
|
setSearchTerm('');
|
|
3825
|
-
setOptions(initialState$
|
|
4046
|
+
setOptions(initialState$2);
|
|
3826
4047
|
}
|
|
3827
4048
|
|
|
3828
4049
|
setIsOpen(false);
|
|
@@ -3886,7 +4107,7 @@ var SearchInputList = function SearchInputList(_ref) {
|
|
|
3886
4107
|
if (onChange && !value.includes(item.id)) {
|
|
3887
4108
|
var _extends2;
|
|
3888
4109
|
|
|
3889
|
-
setValuesLabels(_extends({}, valuesLabel, (_extends2 = {}, _extends2[item.id] = get
|
|
4110
|
+
setValuesLabels(_extends({}, valuesLabel, (_extends2 = {}, _extends2[item.id] = get(item, labelProperty, item.id), _extends2)));
|
|
3890
4111
|
onChange([].concat(value, [item.id]));
|
|
3891
4112
|
}
|
|
3892
4113
|
},
|
|
@@ -4074,7 +4295,7 @@ function EditableField(_ref) {
|
|
|
4074
4295
|
ref.current.focus();
|
|
4075
4296
|
}
|
|
4076
4297
|
});
|
|
4077
|
-
var canModified = modifyContent && !get
|
|
4298
|
+
var canModified = schema !== undefined && modifyContent && !get(schema, 'readonly', false);
|
|
4078
4299
|
|
|
4079
4300
|
var saveField = function saveField(ev) {
|
|
4080
4301
|
try {
|
|
@@ -4140,7 +4361,7 @@ function EditableField(_ref) {
|
|
|
4140
4361
|
var deleteField = function deleteField(ev) {
|
|
4141
4362
|
try {
|
|
4142
4363
|
if (ev) ev.preventDefault();
|
|
4143
|
-
return Promise.resolve(function () {
|
|
4364
|
+
return Promise.resolve(function (_schema$items) {
|
|
4144
4365
|
if ((schema == null ? void 0 : schema.widget) === 'file') {
|
|
4145
4366
|
var _ns2, _ref4, _ref5;
|
|
4146
4367
|
|
|
@@ -4168,7 +4389,7 @@ function EditableField(_ref) {
|
|
|
4168
4389
|
});
|
|
4169
4390
|
} else if ((schema == null ? void 0 : schema.type) === 'string' && schema != null && schema.enum) {
|
|
4170
4391
|
setValue(null);
|
|
4171
|
-
} 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') {
|
|
4172
4393
|
setValue([]);
|
|
4173
4394
|
}
|
|
4174
4395
|
}());
|
|
@@ -4225,7 +4446,7 @@ function EditableField(_ref) {
|
|
|
4225
4446
|
dataTest: "editableFieldBtnCancelTest",
|
|
4226
4447
|
children: intl.formatMessage(genericMessages.cancel)
|
|
4227
4448
|
})
|
|
4228
|
-
}), !required && fieldHaveDeleteButton(schema) && jsx("div", {
|
|
4449
|
+
}), !required && schema && fieldHaveDeleteButton(schema) && jsx("div", {
|
|
4229
4450
|
className: "control",
|
|
4230
4451
|
children: jsx(Button, {
|
|
4231
4452
|
className: "is-small is-danger",
|
|
@@ -4254,7 +4475,8 @@ var DownloadField = function DownloadField(_ref) {
|
|
|
4254
4475
|
var blob = new Blob([text], {
|
|
4255
4476
|
type: data.content_type
|
|
4256
4477
|
});
|
|
4257
|
-
var url = window.URL.createObjectURL(blob);
|
|
4478
|
+
var url = window.URL.createObjectURL(blob); // Create blob link to download
|
|
4479
|
+
|
|
4258
4480
|
var link = document.createElement('a');
|
|
4259
4481
|
link.href = url;
|
|
4260
4482
|
|
|
@@ -4269,6 +4491,7 @@ var DownloadField = function DownloadField(_ref) {
|
|
|
4269
4491
|
setTimeout(function () {
|
|
4270
4492
|
var _link$parentNode;
|
|
4271
4493
|
|
|
4494
|
+
// For Firefox it is necessary to delay revoking the ObjectURL
|
|
4272
4495
|
window.URL.revokeObjectURL(url);
|
|
4273
4496
|
(_link$parentNode = link.parentNode) == null ? void 0 : _link$parentNode.removeChild(link);
|
|
4274
4497
|
}, 100);
|
|
@@ -4344,23 +4567,27 @@ function RenderField(_ref) {
|
|
|
4344
4567
|
}
|
|
4345
4568
|
|
|
4346
4569
|
if (type === 'object') {
|
|
4570
|
+
var _schema$properties;
|
|
4571
|
+
|
|
4347
4572
|
if (Array.isArray(value)) {
|
|
4348
|
-
return value.map(function (item) {
|
|
4573
|
+
return value.map(function (item, index) {
|
|
4349
4574
|
return jsx("div", {
|
|
4350
4575
|
children: jsx(RenderField, {
|
|
4351
4576
|
value: item
|
|
4352
4577
|
})
|
|
4353
|
-
},
|
|
4578
|
+
}, "renderField_" + index + "_" + (schema == null ? void 0 : schema.title));
|
|
4354
4579
|
});
|
|
4355
4580
|
}
|
|
4356
4581
|
|
|
4357
|
-
|
|
4358
|
-
return
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
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
|
+
}
|
|
4364
4591
|
}
|
|
4365
4592
|
|
|
4366
4593
|
return jsxs("p", {
|
|
@@ -4404,6 +4631,7 @@ var SearchRenderField = function SearchRenderField(_ref3) {
|
|
|
4404
4631
|
var schema = _ref3.schema,
|
|
4405
4632
|
value = _ref3.value,
|
|
4406
4633
|
modifyContent = _ref3.modifyContent;
|
|
4634
|
+
console.log('search render fields');
|
|
4407
4635
|
var intl = useIntl();
|
|
4408
4636
|
|
|
4409
4637
|
var _useState = useState([]),
|
|
@@ -4428,7 +4656,7 @@ var SearchRenderField = function SearchRenderField(_ref3) {
|
|
|
4428
4656
|
var searchTermParsed = ['__or', "id=" + valuesToSearch.join('%26id=')];
|
|
4429
4657
|
var getSearch = traversal.registry.get;
|
|
4430
4658
|
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
4431
|
-
var qsParsed = traversal.client
|
|
4659
|
+
var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
|
|
4432
4660
|
path: traversal.path,
|
|
4433
4661
|
start: 0,
|
|
4434
4662
|
pageSize: 100,
|
|
@@ -4439,11 +4667,11 @@ var SearchRenderField = function SearchRenderField(_ref3) {
|
|
|
4439
4667
|
searchTermQs = buildQs([searchTermParsed].concat(qsParsed));
|
|
4440
4668
|
}
|
|
4441
4669
|
|
|
4442
|
-
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) {
|
|
4443
4671
|
var newValuesLabel = data.items.map(function (item) {
|
|
4444
4672
|
var _schema$labelProperty;
|
|
4445
4673
|
|
|
4446
|
-
return get
|
|
4674
|
+
return get(item, (_schema$labelProperty = schema == null ? void 0 : schema.labelProperty) != null ? _schema$labelProperty : 'title', item.id);
|
|
4447
4675
|
});
|
|
4448
4676
|
setValuesLabels(newValuesLabel);
|
|
4449
4677
|
setIsLoadingData(false);
|
|
@@ -4453,13 +4681,15 @@ var SearchRenderField = function SearchRenderField(_ref3) {
|
|
|
4453
4681
|
}
|
|
4454
4682
|
};
|
|
4455
4683
|
|
|
4456
|
-
var valuesToSearch =
|
|
4684
|
+
var valuesToSearch = [];
|
|
4457
4685
|
|
|
4458
|
-
if (typeof
|
|
4459
|
-
valuesToSearch = [
|
|
4686
|
+
if (typeof value === 'string' && value) {
|
|
4687
|
+
valuesToSearch = [value];
|
|
4688
|
+
} else if (Array.isArray(value)) {
|
|
4689
|
+
valuesToSearch = value;
|
|
4460
4690
|
}
|
|
4461
4691
|
|
|
4462
|
-
if (valuesToSearch
|
|
4692
|
+
if (valuesToSearch.length > 0) {
|
|
4463
4693
|
fetchData(valuesToSearch);
|
|
4464
4694
|
} else {
|
|
4465
4695
|
setValuesLabels([]);
|
|
@@ -4494,7 +4724,7 @@ var VocabularyRenderField = function VocabularyRenderField(_ref4) {
|
|
|
4494
4724
|
modifyContent = _ref4.modifyContent;
|
|
4495
4725
|
var intl = useIntl();
|
|
4496
4726
|
var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
|
|
4497
|
-
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) || '';
|
|
4498
4728
|
var vocabulary = useVocabulary(vocabularyName);
|
|
4499
4729
|
|
|
4500
4730
|
var getRenderProps = function getRenderProps() {
|
|
@@ -4505,7 +4735,7 @@ var VocabularyRenderField = function VocabularyRenderField(_ref4) {
|
|
|
4505
4735
|
if (schema != null && schema.vocabularyName) {
|
|
4506
4736
|
var _vocabularyValue$titl;
|
|
4507
4737
|
|
|
4508
|
-
var vocabularyValue = get
|
|
4738
|
+
var vocabularyValue = get(vocabulary, 'data.items', []).find(function (item) {
|
|
4509
4739
|
return item.token === value;
|
|
4510
4740
|
});
|
|
4511
4741
|
renderProps['value'] = (_vocabularyValue$titl = vocabularyValue == null ? void 0 : vocabularyValue.title) != null ? _vocabularyValue$titl : '';
|
|
@@ -4515,7 +4745,7 @@ var VocabularyRenderField = function VocabularyRenderField(_ref4) {
|
|
|
4515
4745
|
renderProps['value'] = ((_renderProps$value = renderProps['value']) != null ? _renderProps$value : []).map(function (value) {
|
|
4516
4746
|
var _get$find$title, _get$find;
|
|
4517
4747
|
|
|
4518
|
-
return (_get$find$title = (_get$find = get
|
|
4748
|
+
return (_get$find$title = (_get$find = get(vocabulary, 'data.items', []).find(function (item) {
|
|
4519
4749
|
return item.token === value;
|
|
4520
4750
|
})) == null ? void 0 : _get$find.title) != null ? _get$find$title : '';
|
|
4521
4751
|
});
|
|
@@ -4592,7 +4822,7 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4592
4822
|
queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
|
|
4593
4823
|
path: schema.queryPath,
|
|
4594
4824
|
labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
|
|
4595
|
-
typeNameQuery: schema
|
|
4825
|
+
typeNameQuery: schema == null ? void 0 : schema.typeNameQuery
|
|
4596
4826
|
})]
|
|
4597
4827
|
});
|
|
4598
4828
|
} else if ((schema == null ? void 0 : schema.widget) === 'search') {
|
|
@@ -4609,7 +4839,7 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4609
4839
|
queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
|
|
4610
4840
|
path: schema.queryPath,
|
|
4611
4841
|
labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
|
|
4612
|
-
typeNameQuery: schema
|
|
4842
|
+
typeNameQuery: schema == null ? void 0 : schema.typeNameQuery
|
|
4613
4843
|
})]
|
|
4614
4844
|
});
|
|
4615
4845
|
} else if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
|
|
@@ -4639,7 +4869,7 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4639
4869
|
|
|
4640
4870
|
if (schema.items.vocabularyName) {
|
|
4641
4871
|
return jsx(SelectVocabulary, {
|
|
4642
|
-
vocabularyName: get
|
|
4872
|
+
vocabularyName: get(schema, 'items.vocabularyName', ''),
|
|
4643
4873
|
val: val || [],
|
|
4644
4874
|
className: className,
|
|
4645
4875
|
classWrap: "is-fullwidth",
|
|
@@ -4676,22 +4906,25 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4676
4906
|
}), jsx(InputList, {
|
|
4677
4907
|
value: val || [],
|
|
4678
4908
|
className: className,
|
|
4679
|
-
onChange: function onChange(
|
|
4680
|
-
return _setValue(
|
|
4909
|
+
onChange: function onChange(val) {
|
|
4910
|
+
return _setValue(val);
|
|
4681
4911
|
},
|
|
4682
4912
|
ref: ref,
|
|
4683
4913
|
dataTest: dataTest
|
|
4684
4914
|
})]
|
|
4685
4915
|
});
|
|
4686
4916
|
} else if ((schema == null ? void 0 : schema.widget) === 'file') {
|
|
4917
|
+
var value = val;
|
|
4687
4918
|
return jsx(FileUpload, {
|
|
4688
4919
|
onChange: function onChange(ev) {
|
|
4689
4920
|
return _setValue(ev);
|
|
4690
4921
|
},
|
|
4691
|
-
label: get
|
|
4922
|
+
label: get(value, 'filename', undefined),
|
|
4692
4923
|
dataTest: dataTest
|
|
4693
4924
|
});
|
|
4694
4925
|
} else if ((schema == null ? void 0 : schema.widget) === 'select' && schema.type === 'string') {
|
|
4926
|
+
var _schema$vocabulary;
|
|
4927
|
+
|
|
4695
4928
|
if (schema != null && schema.vocabularyName) {
|
|
4696
4929
|
return jsx(SelectVocabulary, {
|
|
4697
4930
|
val: val || '',
|
|
@@ -4700,7 +4933,7 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4700
4933
|
classWrap: "is-fullwidth",
|
|
4701
4934
|
dataTest: dataTest,
|
|
4702
4935
|
onChange: _setValue,
|
|
4703
|
-
vocabularyName: get
|
|
4936
|
+
vocabularyName: get(schema, 'vocabularyName', ''),
|
|
4704
4937
|
placeholder: placeholder,
|
|
4705
4938
|
id: id
|
|
4706
4939
|
});
|
|
@@ -4712,7 +4945,7 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4712
4945
|
appendDefault: true,
|
|
4713
4946
|
classWrap: "is-fullwidth",
|
|
4714
4947
|
dataTest: dataTest,
|
|
4715
|
-
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) {
|
|
4716
4949
|
return {
|
|
4717
4950
|
text: item,
|
|
4718
4951
|
value: item
|
|
@@ -4723,26 +4956,27 @@ var EditComponent = forwardRef(function (_ref, ref) {
|
|
|
4723
4956
|
id: id
|
|
4724
4957
|
});
|
|
4725
4958
|
} else if ((schema == null ? void 0 : schema.type) === 'object' && schema.widget !== 'file') {
|
|
4726
|
-
var
|
|
4959
|
+
var _value = val;
|
|
4727
4960
|
return jsxs(Fragment, {
|
|
4728
4961
|
children: [schema.title && jsx("h4", {
|
|
4729
4962
|
className: "subtitle mt-2",
|
|
4730
4963
|
children: schema.title
|
|
4731
|
-
}), Object.keys(get
|
|
4964
|
+
}), Object.keys(get(schema, 'properties', {})).map(function (key) {
|
|
4732
4965
|
var _subSchema$title;
|
|
4733
4966
|
|
|
4734
|
-
var subSchema = get
|
|
4735
|
-
var requiredFields = get
|
|
4967
|
+
var subSchema = get(schema, "properties." + key, null);
|
|
4968
|
+
var requiredFields = get(schema, 'required', []);
|
|
4969
|
+
if (!subSchema) return null;
|
|
4736
4970
|
return jsx(EditComponent, {
|
|
4737
4971
|
id: id + "[" + key + "]",
|
|
4738
4972
|
schema: subSchema,
|
|
4739
|
-
val:
|
|
4973
|
+
val: _value && key in _value ? _value[key] : '',
|
|
4740
4974
|
placeholder: (_subSchema$title = subSchema == null ? void 0 : subSchema.title) != null ? _subSchema$title : '',
|
|
4741
4975
|
required: requiredFields.includes(key),
|
|
4742
4976
|
setValue: function setValue(ev) {
|
|
4743
4977
|
var _extends2;
|
|
4744
4978
|
|
|
4745
|
-
_setValue(_extends({},
|
|
4979
|
+
_setValue(_extends({}, _value, (_extends2 = {}, _extends2[key] = ev, _extends2)));
|
|
4746
4980
|
},
|
|
4747
4981
|
dataTest: key + "TestInput"
|
|
4748
4982
|
}, id + "[" + key + "]");
|
|
@@ -4804,9 +5038,9 @@ function IAttachment(_ref) {
|
|
|
4804
5038
|
}, 1), jsx("td", {
|
|
4805
5039
|
children: jsx(EditableField, {
|
|
4806
5040
|
field: key,
|
|
4807
|
-
value: values
|
|
5041
|
+
value: values.file,
|
|
4808
5042
|
ns: "guillotina.behaviors.attachment.IAttachment",
|
|
4809
|
-
schema: properties
|
|
5043
|
+
schema: properties.file,
|
|
4810
5044
|
modifyContent: modifyContent && ['file'].includes(key)
|
|
4811
5045
|
})
|
|
4812
5046
|
}, 2)]
|
|
@@ -4856,6 +5090,11 @@ function IMultiAttachment(_ref) {
|
|
|
4856
5090
|
|
|
4857
5091
|
setLoading(true);
|
|
4858
5092
|
setError(undefined);
|
|
5093
|
+
|
|
5094
|
+
if (!file) {
|
|
5095
|
+
return Promise.resolve();
|
|
5096
|
+
}
|
|
5097
|
+
|
|
4859
5098
|
var endpoint = Ctx.path + "@upload/files/" + fileKey;
|
|
4860
5099
|
return Promise.resolve(Ctx.client.upload(endpoint, file)).then(function (req) {
|
|
4861
5100
|
if (req.status !== 200) {
|
|
@@ -4924,7 +5163,7 @@ function IMultiAttachment(_ref) {
|
|
|
4924
5163
|
field: "files/" + key,
|
|
4925
5164
|
value: values['files'][key],
|
|
4926
5165
|
ns: "guillotina.behaviors.attachment.IMultiAttachment.files",
|
|
4927
|
-
schema: properties
|
|
5166
|
+
schema: get(properties, 'files.additionalProperties', {}),
|
|
4928
5167
|
modifyContent: false
|
|
4929
5168
|
}), jsx("div", {
|
|
4930
5169
|
className: "ml-5",
|
|
@@ -5148,13 +5387,18 @@ function IImageAttachment(_ref) {
|
|
|
5148
5387
|
ev.preventDefault();
|
|
5149
5388
|
setLoading(true);
|
|
5150
5389
|
setError(undefined);
|
|
5390
|
+
|
|
5391
|
+
if (!file) {
|
|
5392
|
+
return Promise.resolve();
|
|
5393
|
+
}
|
|
5394
|
+
|
|
5151
5395
|
var endpoint = Ctx.path + "@upload/image";
|
|
5152
5396
|
return Promise.resolve(Ctx.client.upload(endpoint, file)).then(function (req) {
|
|
5153
5397
|
var _exit;
|
|
5154
5398
|
|
|
5155
5399
|
function _temp4(_result) {
|
|
5156
5400
|
if (_exit) return _result;
|
|
5157
|
-
setFile(
|
|
5401
|
+
setFile(null);
|
|
5158
5402
|
setLoading(false);
|
|
5159
5403
|
Ctx.flash(intl.formatMessage(genericFileMessages.image_uploaded), 'success');
|
|
5160
5404
|
Ctx.refresh();
|
|
@@ -5435,7 +5679,7 @@ function IMultiImageAttachment(_ref) {
|
|
|
5435
5679
|
fileKey = _useState[0],
|
|
5436
5680
|
setFileKey = _useState[1];
|
|
5437
5681
|
|
|
5438
|
-
var _useState2 = useState(
|
|
5682
|
+
var _useState2 = useState(undefined),
|
|
5439
5683
|
file = _useState2[0],
|
|
5440
5684
|
setFile = _useState2[1];
|
|
5441
5685
|
|
|
@@ -5468,6 +5712,11 @@ function IMultiImageAttachment(_ref) {
|
|
|
5468
5712
|
|
|
5469
5713
|
setLoading(true);
|
|
5470
5714
|
setError(undefined);
|
|
5715
|
+
|
|
5716
|
+
if (!file) {
|
|
5717
|
+
return Promise.resolve();
|
|
5718
|
+
}
|
|
5719
|
+
|
|
5471
5720
|
var endpoint = Ctx.path + "@upload/images/" + fileKey;
|
|
5472
5721
|
return Promise.resolve(Ctx.client.upload(endpoint, file)).then(function (req) {
|
|
5473
5722
|
var _exit;
|
|
@@ -5570,7 +5819,7 @@ function IMultiImageAttachment(_ref) {
|
|
|
5570
5819
|
field: "images/" + key,
|
|
5571
5820
|
value: values['images'][key],
|
|
5572
5821
|
ns: "guillotina.contrib.image.behaviors.IMultiImageAttachment.images",
|
|
5573
|
-
schema: properties
|
|
5822
|
+
schema: get(properties, 'images.additionalProperties', {}),
|
|
5574
5823
|
modifyContent: false,
|
|
5575
5824
|
required: false
|
|
5576
5825
|
}), jsx("div", {
|
|
@@ -5860,7 +6109,7 @@ function IMultiImageOrderedAttachment(_ref2) {
|
|
|
5860
6109
|
sortedList = _useState2[0],
|
|
5861
6110
|
setSortedList = _useState2[1];
|
|
5862
6111
|
|
|
5863
|
-
var _useState3 = useState(
|
|
6112
|
+
var _useState3 = useState(undefined),
|
|
5864
6113
|
file = _useState3[0],
|
|
5865
6114
|
setFile = _useState3[1];
|
|
5866
6115
|
|
|
@@ -6004,7 +6253,7 @@ function IMultiImageOrderedAttachment(_ref2) {
|
|
|
6004
6253
|
field: "images/" + key,
|
|
6005
6254
|
value: values['images'][key],
|
|
6006
6255
|
ns: "guillotina.contrib.image.behaviors.IMultiImageAttachment.images",
|
|
6007
|
-
schema: properties
|
|
6256
|
+
schema: get(properties, 'images.additionalProperties', {}),
|
|
6008
6257
|
modifyContent: false,
|
|
6009
6258
|
required: false
|
|
6010
6259
|
}), jsx("div", {
|
|
@@ -6059,163 +6308,6 @@ function IMultiImageOrderedAttachment(_ref2) {
|
|
|
6059
6308
|
});
|
|
6060
6309
|
}
|
|
6061
6310
|
|
|
6062
|
-
var base = {
|
|
6063
|
-
local: {
|
|
6064
|
-
roleperm: {},
|
|
6065
|
-
prinperm: {},
|
|
6066
|
-
prinrole: {}
|
|
6067
|
-
},
|
|
6068
|
-
inherit: []
|
|
6069
|
-
};
|
|
6070
|
-
var Sharing = /*#__PURE__*/function () {
|
|
6071
|
-
function Sharing(element) {
|
|
6072
|
-
this.local = void 0;
|
|
6073
|
-
this.inherit = void 0;
|
|
6074
|
-
Object.assign(this, element || base);
|
|
6075
|
-
}
|
|
6076
|
-
|
|
6077
|
-
var _proto = Sharing.prototype;
|
|
6078
|
-
|
|
6079
|
-
_proto.getRole = function getRole(role) {
|
|
6080
|
-
return this.local.roleperm[role];
|
|
6081
|
-
};
|
|
6082
|
-
|
|
6083
|
-
_proto.getPrincipals = function getPrincipals(principal) {
|
|
6084
|
-
return this.local.prinperm[principal];
|
|
6085
|
-
};
|
|
6086
|
-
|
|
6087
|
-
_proto.getPrinroles = function getPrinroles(role) {
|
|
6088
|
-
return this.local.prinrole[role];
|
|
6089
|
-
};
|
|
6090
|
-
|
|
6091
|
-
_createClass(Sharing, [{
|
|
6092
|
-
key: "roles",
|
|
6093
|
-
get: function get() {
|
|
6094
|
-
return Object.keys(this.local.roleperm);
|
|
6095
|
-
}
|
|
6096
|
-
}, {
|
|
6097
|
-
key: "principals",
|
|
6098
|
-
get: function get() {
|
|
6099
|
-
return Object.keys(this.local.prinperm);
|
|
6100
|
-
}
|
|
6101
|
-
}, {
|
|
6102
|
-
key: "prinrole",
|
|
6103
|
-
get: function get() {
|
|
6104
|
-
return Object.keys(this.local.prinrole);
|
|
6105
|
-
}
|
|
6106
|
-
}]);
|
|
6107
|
-
|
|
6108
|
-
return Sharing;
|
|
6109
|
-
}();
|
|
6110
|
-
|
|
6111
|
-
var ItemModel = /*#__PURE__*/function () {
|
|
6112
|
-
function ItemModel(item, url) {
|
|
6113
|
-
if (url === void 0) {
|
|
6114
|
-
url = '';
|
|
6115
|
-
}
|
|
6116
|
-
|
|
6117
|
-
this.item = void 0;
|
|
6118
|
-
this.url = void 0;
|
|
6119
|
-
this.item = item;
|
|
6120
|
-
this.url = url;
|
|
6121
|
-
}
|
|
6122
|
-
|
|
6123
|
-
_createClass(ItemModel, [{
|
|
6124
|
-
key: "path",
|
|
6125
|
-
get: function get() {
|
|
6126
|
-
var item = this.item['@id'] ? this.item['@id'] : this.item['@absolute_url'];
|
|
6127
|
-
var path = item.split('//')[1].split('/').splice(1).join('/');
|
|
6128
|
-
path = "/" + path + "/";
|
|
6129
|
-
|
|
6130
|
-
if (this.url.length > 0) {
|
|
6131
|
-
if (this.url.startsWith('/')) {
|
|
6132
|
-
path = path.replace(this.url.substring(1), '');
|
|
6133
|
-
} else {
|
|
6134
|
-
path = path.replace(this.url, '');
|
|
6135
|
-
}
|
|
6136
|
-
}
|
|
6137
|
-
|
|
6138
|
-
return path;
|
|
6139
|
-
}
|
|
6140
|
-
}, {
|
|
6141
|
-
key: "name",
|
|
6142
|
-
get: function get() {
|
|
6143
|
-
return this.item.title || this.item['@name'];
|
|
6144
|
-
}
|
|
6145
|
-
}, {
|
|
6146
|
-
key: "icon",
|
|
6147
|
-
get: function get() {
|
|
6148
|
-
var cfg = useConfig();
|
|
6149
|
-
|
|
6150
|
-
if (cfg.icons && cfg.icons[this.type]) {
|
|
6151
|
-
return cfg.icons[this.type];
|
|
6152
|
-
}
|
|
6153
|
-
|
|
6154
|
-
switch (this.type) {
|
|
6155
|
-
case 'GroupManager':
|
|
6156
|
-
return 'fas fa-users-cog';
|
|
6157
|
-
|
|
6158
|
-
case 'UserManager':
|
|
6159
|
-
return 'fas fa-user-cog';
|
|
6160
|
-
|
|
6161
|
-
case 'User':
|
|
6162
|
-
return 'fas fa-user';
|
|
6163
|
-
|
|
6164
|
-
case 'Group':
|
|
6165
|
-
return 'fas fa-users';
|
|
6166
|
-
|
|
6167
|
-
case 'Folder':
|
|
6168
|
-
return 'fas fa-folder';
|
|
6169
|
-
|
|
6170
|
-
default:
|
|
6171
|
-
return 'fas fa-file';
|
|
6172
|
-
}
|
|
6173
|
-
}
|
|
6174
|
-
}, {
|
|
6175
|
-
key: "fullPath",
|
|
6176
|
-
get: function get() {
|
|
6177
|
-
return this.url + this.item.id;
|
|
6178
|
-
}
|
|
6179
|
-
}, {
|
|
6180
|
-
key: "id",
|
|
6181
|
-
get: function get() {
|
|
6182
|
-
if (this.item.id) {
|
|
6183
|
-
return this.item.id;
|
|
6184
|
-
}
|
|
6185
|
-
|
|
6186
|
-
var id = this.item['@id'].split('&')[0].split('/');
|
|
6187
|
-
return id[id.length - 1];
|
|
6188
|
-
}
|
|
6189
|
-
}, {
|
|
6190
|
-
key: "uid",
|
|
6191
|
-
get: function get() {
|
|
6192
|
-
return this.item['@uid'];
|
|
6193
|
-
}
|
|
6194
|
-
}, {
|
|
6195
|
-
key: "type",
|
|
6196
|
-
get: function get() {
|
|
6197
|
-
return this.item['@type'] || this.item.type_name;
|
|
6198
|
-
}
|
|
6199
|
-
}, {
|
|
6200
|
-
key: "title",
|
|
6201
|
-
get: function get() {
|
|
6202
|
-
return this.item.title;
|
|
6203
|
-
}
|
|
6204
|
-
}, {
|
|
6205
|
-
key: "created",
|
|
6206
|
-
get: function get() {
|
|
6207
|
-
return this.item.creation_date ? formatDate(this.item.creation_date) : '';
|
|
6208
|
-
}
|
|
6209
|
-
}, {
|
|
6210
|
-
key: "updated",
|
|
6211
|
-
get: function get() {
|
|
6212
|
-
return this.item.modification_date ? formatDate(this.item.modification_date) : '';
|
|
6213
|
-
}
|
|
6214
|
-
}]);
|
|
6215
|
-
|
|
6216
|
-
return ItemModel;
|
|
6217
|
-
}();
|
|
6218
|
-
|
|
6219
6311
|
var messages$1 = defineMessages({
|
|
6220
6312
|
status_changed_ok: {
|
|
6221
6313
|
id: "status_changed_ok",
|
|
@@ -6291,13 +6383,12 @@ function IWorkflow() {
|
|
|
6291
6383
|
definition = _useState[0],
|
|
6292
6384
|
setDefinition = _useState[1];
|
|
6293
6385
|
|
|
6294
|
-
var _useState2 = useState(
|
|
6386
|
+
var _useState2 = useState(undefined),
|
|
6295
6387
|
workflowAction = _useState2[0],
|
|
6296
6388
|
setWorkflowAction = _useState2[1];
|
|
6297
6389
|
|
|
6298
|
-
var model = new ItemModel(Ctx.context);
|
|
6299
6390
|
var vocabulary = useVocabulary('workflow_states');
|
|
6300
|
-
var currentState =
|
|
6391
|
+
var currentState = Ctx.context['guillotina.contrib.workflows.interfaces.IWorkflowBehavior']['review_state'];
|
|
6301
6392
|
useEffect(function () {
|
|
6302
6393
|
loadDefinition();
|
|
6303
6394
|
}, [Ctx.path]);
|
|
@@ -6317,7 +6408,7 @@ function IWorkflow() {
|
|
|
6317
6408
|
}
|
|
6318
6409
|
|
|
6319
6410
|
Ctx.refresh();
|
|
6320
|
-
setWorkflowAction(
|
|
6411
|
+
setWorkflowAction(undefined);
|
|
6321
6412
|
});
|
|
6322
6413
|
});
|
|
6323
6414
|
} catch (e) {
|
|
@@ -6326,21 +6417,23 @@ function IWorkflow() {
|
|
|
6326
6417
|
};
|
|
6327
6418
|
|
|
6328
6419
|
var getStateTitle = function getStateTitle() {
|
|
6329
|
-
var _vocabulary$data, _vocabulary$data
|
|
6420
|
+
var _vocabulary$data$item, _vocabulary$data;
|
|
6421
|
+
|
|
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;
|
|
6330
6424
|
|
|
6331
|
-
|
|
6332
|
-
var vocabularyValue = vocabulary.data.items.find(function (item) {
|
|
6425
|
+
var vocabularyValue = vocabulary == null ? void 0 : (_vocabulary$data2 = vocabulary.data) == null ? void 0 : _vocabulary$data2.items.find(function (item) {
|
|
6333
6426
|
return item.token === currentState;
|
|
6334
6427
|
});
|
|
6335
6428
|
|
|
6336
6429
|
if (vocabularyValue) {
|
|
6337
|
-
var translatedValue = get
|
|
6430
|
+
var translatedValue = get(vocabularyValue, "title.translated_title." + intl.locale, null);
|
|
6338
6431
|
|
|
6339
6432
|
if (translatedValue !== null) {
|
|
6340
6433
|
return translatedValue;
|
|
6341
6434
|
}
|
|
6342
6435
|
|
|
6343
|
-
var titleValue = get
|
|
6436
|
+
var titleValue = get(vocabularyValue, "title.title." + intl.locale, null);
|
|
6344
6437
|
|
|
6345
6438
|
if (titleValue !== null) {
|
|
6346
6439
|
return titleValue;
|
|
@@ -6356,7 +6449,7 @@ function IWorkflow() {
|
|
|
6356
6449
|
children: [workflowAction && jsx(Confirm, {
|
|
6357
6450
|
loading: loading,
|
|
6358
6451
|
onCancel: function onCancel() {
|
|
6359
|
-
return setWorkflowAction(
|
|
6452
|
+
return setWorkflowAction(undefined);
|
|
6360
6453
|
},
|
|
6361
6454
|
onConfirm: doWorkflowAction,
|
|
6362
6455
|
message: intl.formatMessage(messages$1.confirm_message, {
|
|
@@ -6382,7 +6475,7 @@ function IWorkflow() {
|
|
|
6382
6475
|
onClick: function onClick() {
|
|
6383
6476
|
return setWorkflowAction(transition['@id'].split('@workflow')[1].slice(1));
|
|
6384
6477
|
},
|
|
6385
|
-
children: get
|
|
6478
|
+
children: get(transition, "metadata.translated_title." + intl.locale, transition.title)
|
|
6386
6479
|
}, transition['@id']);
|
|
6387
6480
|
})]
|
|
6388
6481
|
})]
|
|
@@ -6408,14 +6501,17 @@ function PanelActions() {
|
|
|
6408
6501
|
|
|
6409
6502
|
return jsx(Fragment$1, {
|
|
6410
6503
|
children: Object.keys(ACTIONS_OBJECT).map(function (actionKey) {
|
|
6411
|
-
|
|
6504
|
+
var actionKeyTyped = actionKey;
|
|
6505
|
+
var actionObject = ACTIONS_OBJECT[actionKeyTyped];
|
|
6506
|
+
|
|
6507
|
+
if (hasPerm(actionObject.perms)) {
|
|
6412
6508
|
return jsx("button", {
|
|
6413
6509
|
className: "button mr-4",
|
|
6414
6510
|
onClick: function onClick() {
|
|
6415
|
-
onAction(
|
|
6511
|
+
onAction(actionKeyTyped);
|
|
6416
6512
|
},
|
|
6417
|
-
children:
|
|
6418
|
-
}, "panel_action_" +
|
|
6513
|
+
children: actionObject.text
|
|
6514
|
+
}, "panel_action_" + actionObject.text);
|
|
6419
6515
|
}
|
|
6420
6516
|
})
|
|
6421
6517
|
});
|
|
@@ -6457,7 +6553,8 @@ var messages$2 = defineMessages({
|
|
|
6457
6553
|
"value": "Installed Addons"
|
|
6458
6554
|
}]
|
|
6459
6555
|
}
|
|
6460
|
-
});
|
|
6556
|
+
}); // TODO: Refactor without useAsync... just crudContext
|
|
6557
|
+
|
|
6461
6558
|
function PanelAddons() {
|
|
6462
6559
|
var _state$data$available, _state$data, _state$data$available2, _state$data2, _state$data$installed, _state$data3, _state$data$installed2, _state$data4;
|
|
6463
6560
|
|
|
@@ -6612,8 +6709,9 @@ var prepareData = function prepareData(result) {
|
|
|
6612
6709
|
|
|
6613
6710
|
var arrayToObject = function arrayToObject(array) {
|
|
6614
6711
|
return array.reduce(function (obj, item) {
|
|
6615
|
-
|
|
6616
|
-
|
|
6712
|
+
var _extends2;
|
|
6713
|
+
|
|
6714
|
+
return _extends({}, obj, (_extends2 = {}, _extends2[item.id] = item, _extends2));
|
|
6617
6715
|
}, {});
|
|
6618
6716
|
};
|
|
6619
6717
|
|
|
@@ -6775,8 +6873,9 @@ function ItemsActionsProvider(_ref) {
|
|
|
6775
6873
|
|
|
6776
6874
|
function onSelectAllItems(checked) {
|
|
6777
6875
|
setSelected(items.reduce(function (obj, item) {
|
|
6778
|
-
|
|
6779
|
-
|
|
6876
|
+
var _extends2;
|
|
6877
|
+
|
|
6878
|
+
return _extends({}, obj, (_extends2 = {}, _extends2[item.path + "/" + item.id] = checked, _extends2));
|
|
6780
6879
|
}, {
|
|
6781
6880
|
all: checked
|
|
6782
6881
|
}));
|
|
@@ -6784,11 +6883,11 @@ function ItemsActionsProvider(_ref) {
|
|
|
6784
6883
|
|
|
6785
6884
|
function onSelectOneItem(item) {
|
|
6786
6885
|
setSelected(function (state) {
|
|
6787
|
-
var
|
|
6886
|
+
var _extends3;
|
|
6788
6887
|
|
|
6789
|
-
return _extends({}, state, (
|
|
6888
|
+
return _extends({}, state, (_extends3 = {
|
|
6790
6889
|
all: false
|
|
6791
|
-
},
|
|
6890
|
+
}, _extends3[item.path + "/" + item.id] = !state[item.path + "/" + item.id], _extends3));
|
|
6792
6891
|
});
|
|
6793
6892
|
}
|
|
6794
6893
|
|
|
@@ -6810,13 +6909,38 @@ function ItemsActionsProvider(_ref) {
|
|
|
6810
6909
|
children: children
|
|
6811
6910
|
});
|
|
6812
6911
|
}
|
|
6813
|
-
function AllItemsCheckbox(_ref2) {
|
|
6814
|
-
var dataTest = _ref2.dataTest;
|
|
6815
6912
|
|
|
6913
|
+
var useItemsActions = function useItemsActions() {
|
|
6816
6914
|
var _useContext = useContext(ItemsActionsCtx),
|
|
6915
|
+
onAction = _useContext.onAction,
|
|
6916
|
+
onSelectOneItem = _useContext.onSelectOneItem,
|
|
6817
6917
|
onSelectAllItems = _useContext.onSelectAllItems,
|
|
6818
6918
|
selected = _useContext.selected;
|
|
6819
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
|
+
|
|
6820
6944
|
return jsx(Checkbox, {
|
|
6821
6945
|
onChange: onSelectAllItems,
|
|
6822
6946
|
checked: selected.all,
|
|
@@ -6827,9 +6951,9 @@ function ItemCheckbox(_ref3) {
|
|
|
6827
6951
|
var item = _ref3.item,
|
|
6828
6952
|
dataTest = _ref3.dataTest;
|
|
6829
6953
|
|
|
6830
|
-
var
|
|
6831
|
-
selected =
|
|
6832
|
-
onSelectOneItem =
|
|
6954
|
+
var _useItemsActions2 = useItemsActions(),
|
|
6955
|
+
selected = _useItemsActions2.selected,
|
|
6956
|
+
onSelectOneItem = _useItemsActions2.onSelectOneItem;
|
|
6833
6957
|
|
|
6834
6958
|
var absId = item.path + "/" + item.id;
|
|
6835
6959
|
var value = selected[absId];
|
|
@@ -6841,14 +6965,18 @@ function ItemCheckbox(_ref3) {
|
|
|
6841
6965
|
dataTest: dataTest
|
|
6842
6966
|
});
|
|
6843
6967
|
}
|
|
6968
|
+
/**
|
|
6969
|
+
* Dropdown to choose some action to apply to the selected items.
|
|
6970
|
+
*/
|
|
6971
|
+
|
|
6844
6972
|
function ItemsActionsDropdown() {
|
|
6845
6973
|
var intl = useIntl();
|
|
6846
6974
|
var ACTIONS_OBJECT = getActionsObject(intl, true);
|
|
6847
6975
|
var traversal = useTraversal();
|
|
6848
6976
|
|
|
6849
|
-
var
|
|
6850
|
-
selected =
|
|
6851
|
-
onAction =
|
|
6977
|
+
var _useItemsActions3 = useItemsActions(),
|
|
6978
|
+
selected = _useItemsActions3.selected,
|
|
6979
|
+
onAction = _useItemsActions3.onAction;
|
|
6852
6980
|
|
|
6853
6981
|
var disabled = Object.values(selected).every(function (v) {
|
|
6854
6982
|
return !v;
|
|
@@ -6932,6 +7060,7 @@ function Pagination(_ref) {
|
|
|
6932
7060
|
"aria-label": "pagination",
|
|
6933
7061
|
children: [jsx("a", {
|
|
6934
7062
|
className: "pagination-previous is-small",
|
|
7063
|
+
// disabled={current === 0}
|
|
6935
7064
|
onClick: function onClick() {
|
|
6936
7065
|
return current > 0 ? doPaginate(current - 1) : null;
|
|
6937
7066
|
},
|
|
@@ -6943,6 +7072,7 @@ function Pagination(_ref) {
|
|
|
6943
7072
|
})
|
|
6944
7073
|
}), jsx("a", {
|
|
6945
7074
|
className: "pagination-next is-small",
|
|
7075
|
+
// disabled={current >= maxPages - 1}
|
|
6946
7076
|
onClick: function onClick() {
|
|
6947
7077
|
return doPaginate(current + 1);
|
|
6948
7078
|
},
|
|
@@ -6957,6 +7087,170 @@ function Pagination(_ref) {
|
|
|
6957
7087
|
});
|
|
6958
7088
|
}
|
|
6959
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
|
+
|
|
6960
7254
|
function Item(_ref) {
|
|
6961
7255
|
var item = _ref.item,
|
|
6962
7256
|
icon = _ref.icon;
|
|
@@ -7097,11 +7391,11 @@ function SearchOptionsLabels(_ref) {
|
|
|
7097
7391
|
renderValue = _useState[0],
|
|
7098
7392
|
setRenderValue = _useState[1];
|
|
7099
7393
|
|
|
7100
|
-
var defaultRenderValue = location.get(query);
|
|
7394
|
+
var defaultRenderValue = location.get(query) || '';
|
|
7101
7395
|
useEffect(function () {
|
|
7102
7396
|
var value = defaultRenderValue;
|
|
7103
7397
|
|
|
7104
|
-
if ((options != null ? options : []).length > 0) {
|
|
7398
|
+
if (options && (options != null ? options : []).length > 0) {
|
|
7105
7399
|
var option = options.find(function (item) {
|
|
7106
7400
|
return item.value === value;
|
|
7107
7401
|
});
|
|
@@ -7150,14 +7444,16 @@ function SearchVocabularyLabels(_ref) {
|
|
|
7150
7444
|
setRenderValue = _useState[1];
|
|
7151
7445
|
|
|
7152
7446
|
var vocabulary = useVocabulary(vocabularyName);
|
|
7153
|
-
var defaultRenderValue = location.get(query);
|
|
7447
|
+
var defaultRenderValue = location.get(query) || '';
|
|
7154
7448
|
useEffect(function () {
|
|
7155
7449
|
var _vocabulary$data$item, _vocabulary$data;
|
|
7156
7450
|
|
|
7157
7451
|
var value = defaultRenderValue;
|
|
7158
7452
|
|
|
7159
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) {
|
|
7160
|
-
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) {
|
|
7161
7457
|
return item.token === value;
|
|
7162
7458
|
});
|
|
7163
7459
|
|
|
@@ -7191,7 +7487,7 @@ function SearchVocabularyLabels(_ref) {
|
|
|
7191
7487
|
return null;
|
|
7192
7488
|
}
|
|
7193
7489
|
|
|
7194
|
-
var initialState$
|
|
7490
|
+
var initialState$3 = {
|
|
7195
7491
|
page: 0,
|
|
7196
7492
|
items: [],
|
|
7197
7493
|
loading: true,
|
|
@@ -7210,7 +7506,7 @@ function PanelItems() {
|
|
|
7210
7506
|
var intl = useIntl();
|
|
7211
7507
|
var Ctx = useTraversal();
|
|
7212
7508
|
|
|
7213
|
-
var _useSetState = useSetState(initialState$
|
|
7509
|
+
var _useSetState = useSetState(initialState$3),
|
|
7214
7510
|
state = _useSetState[0],
|
|
7215
7511
|
setState = _useSetState[1];
|
|
7216
7512
|
|
|
@@ -7226,7 +7522,7 @@ function PanelItems() {
|
|
|
7226
7522
|
var page;
|
|
7227
7523
|
|
|
7228
7524
|
try {
|
|
7229
|
-
page = parseInt(location.get('page')
|
|
7525
|
+
page = parseInt(location.get('page') || '0');
|
|
7230
7526
|
} catch (_unused) {
|
|
7231
7527
|
page = 0;
|
|
7232
7528
|
}
|
|
@@ -7273,7 +7569,7 @@ function PanelItems() {
|
|
|
7273
7569
|
var resultQueryParams = [];
|
|
7274
7570
|
var resultDynamicLocation = [];
|
|
7275
7571
|
filterSchema.forEach(function (filter) {
|
|
7276
|
-
var itemParam = location.get(filter.attribute_key);
|
|
7572
|
+
var itemParam = location.get(filter.attribute_key) || '';
|
|
7277
7573
|
resultDynamicLocation.push(itemParam);
|
|
7278
7574
|
|
|
7279
7575
|
if (itemParam) {
|
|
@@ -7285,53 +7581,51 @@ function PanelItems() {
|
|
|
7285
7581
|
var controller = new AbortController();
|
|
7286
7582
|
if (Ctx.state.loading) return;
|
|
7287
7583
|
|
|
7288
|
-
|
|
7289
|
-
|
|
7290
|
-
|
|
7291
|
-
|
|
7292
|
-
|
|
7293
|
-
var get = Ctx.registry.get;
|
|
7294
|
-
var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
|
|
7295
|
-
|
|
7296
|
-
if (sortParsed === undefined) {
|
|
7297
|
-
var defaultSortValue = Ctx.registry.getDefaultSortValue(Ctx.context['@type'], {
|
|
7298
|
-
key: 'id',
|
|
7299
|
-
direction: 'des'
|
|
7584
|
+
var getData = function getData() {
|
|
7585
|
+
try {
|
|
7586
|
+
setState({
|
|
7587
|
+
loading: true,
|
|
7588
|
+
total: Ctx.context.length
|
|
7300
7589
|
});
|
|
7301
|
-
|
|
7302
|
-
|
|
7590
|
+
var get = Ctx.registry.get;
|
|
7591
|
+
var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
|
|
7303
7592
|
|
|
7304
|
-
|
|
7305
|
-
|
|
7306
|
-
|
|
7307
|
-
|
|
7308
|
-
|
|
7309
|
-
|
|
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 = '';
|
|
7310
7604
|
|
|
7311
|
-
|
|
7312
|
-
|
|
7605
|
+
if (search || type || resultQueryParams.length > 0) {
|
|
7606
|
+
var _searchParsed, _typeParsed, _sortParsed;
|
|
7313
7607
|
|
|
7314
|
-
|
|
7315
|
-
|
|
7316
|
-
|
|
7608
|
+
qs = buildQs([].concat(qsParsed, (_searchParsed = searchParsed) != null ? _searchParsed : [], (_typeParsed = typeParsed) != null ? _typeParsed : [], (_sortParsed = sortParsed) != null ? _sortParsed : [], resultQueryParams));
|
|
7609
|
+
} else {
|
|
7610
|
+
var _sortParsed2;
|
|
7317
7611
|
|
|
7318
|
-
|
|
7319
|
-
|
|
7612
|
+
qs = buildQs([].concat(qsParsed, (_sortParsed2 = sortParsed) != null ? _sortParsed2 : []));
|
|
7613
|
+
}
|
|
7320
7614
|
|
|
7321
|
-
|
|
7322
|
-
|
|
7323
|
-
|
|
7324
|
-
|
|
7325
|
-
|
|
7326
|
-
|
|
7327
|
-
|
|
7328
|
-
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
|
+
});
|
|
7329
7622
|
});
|
|
7330
|
-
})
|
|
7331
|
-
|
|
7332
|
-
|
|
7333
|
-
}
|
|
7623
|
+
} catch (e) {
|
|
7624
|
+
return Promise.reject(e);
|
|
7625
|
+
}
|
|
7626
|
+
};
|
|
7334
7627
|
|
|
7628
|
+
getData();
|
|
7335
7629
|
return function () {
|
|
7336
7630
|
controller.abort();
|
|
7337
7631
|
};
|
|
@@ -7376,12 +7670,14 @@ function PanelItems() {
|
|
|
7376
7670
|
var _filter$values;
|
|
7377
7671
|
|
|
7378
7672
|
if (filter.type === 'select' && ((_filter$values = filter.values) != null ? _filter$values : []).length > 0) {
|
|
7673
|
+
var _filter$values2;
|
|
7674
|
+
|
|
7379
7675
|
return jsx(Select, {
|
|
7380
7676
|
id: filter.attribute_key,
|
|
7381
7677
|
placeholder: filter.label,
|
|
7382
7678
|
appendDefault: true,
|
|
7383
7679
|
classWrap: "is-size-7 is-fullwidth",
|
|
7384
|
-
options: filter.values,
|
|
7680
|
+
options: (_filter$values2 = filter.values) != null ? _filter$values2 : [],
|
|
7385
7681
|
value: location.get(filter.attribute_key) || '',
|
|
7386
7682
|
dataTest: "filterInput" + filter.attribute_key,
|
|
7387
7683
|
onChange: function onChange(value) {
|
|
@@ -7448,7 +7744,7 @@ function PanelItems() {
|
|
|
7448
7744
|
var filterData = location.get(filter.attribute_key);
|
|
7449
7745
|
|
|
7450
7746
|
if (filterData) {
|
|
7451
|
-
var _filter$
|
|
7747
|
+
var _filter$values3;
|
|
7452
7748
|
|
|
7453
7749
|
if (filter.type === 'select' && filter.vocabulary) {
|
|
7454
7750
|
return jsx("div", {
|
|
@@ -7457,7 +7753,7 @@ function PanelItems() {
|
|
|
7457
7753
|
vocabularyName: filter == null ? void 0 : filter.vocabulary
|
|
7458
7754
|
})
|
|
7459
7755
|
}, filter.attribute_key);
|
|
7460
|
-
} else if (filter.type === 'select' && ((_filter$
|
|
7756
|
+
} else if (filter.type === 'select' && ((_filter$values3 = filter.values) != null ? _filter$values3 : []).length > 0) {
|
|
7461
7757
|
return jsx("div", {
|
|
7462
7758
|
children: jsx(SearchOptionsLabels, {
|
|
7463
7759
|
query: filter.attribute_key,
|
|
@@ -7503,7 +7799,7 @@ function PanelItems() {
|
|
|
7503
7799
|
className: "has-text-info is-flex is-align-items-center",
|
|
7504
7800
|
children: [jsx("span", {
|
|
7505
7801
|
children: column.label
|
|
7506
|
-
}), getIcon(column.key, column.isSortable)]
|
|
7802
|
+
}), getIcon(column.key, !!column.isSortable)]
|
|
7507
7803
|
})
|
|
7508
7804
|
}, "table-col-" + column.label);
|
|
7509
7805
|
}), jsx("th", {
|
|
@@ -7514,7 +7810,7 @@ function PanelItems() {
|
|
|
7514
7810
|
children: [items && items.map(function (item) {
|
|
7515
7811
|
return jsx(RItem, {
|
|
7516
7812
|
item: item,
|
|
7517
|
-
search: search,
|
|
7813
|
+
search: search != null ? search : '',
|
|
7518
7814
|
columns: columns
|
|
7519
7815
|
}, item['@uid']);
|
|
7520
7816
|
}), items && items.length === 0 && jsx("tr", {
|
|
@@ -7538,17 +7834,19 @@ function PanelItems() {
|
|
|
7538
7834
|
}
|
|
7539
7835
|
|
|
7540
7836
|
function BehaviorsView(_ref) {
|
|
7837
|
+
var _context$__behaviors_;
|
|
7838
|
+
|
|
7541
7839
|
var context = _ref.context,
|
|
7542
7840
|
schema = _ref.schema;
|
|
7543
7841
|
var Ctx = useTraversal();
|
|
7544
7842
|
var getBehavior = Ctx.registry.getBehavior;
|
|
7545
|
-
var behaviors = [].concat(context.__behaviors__, context['@static_behaviors']);
|
|
7843
|
+
var behaviors = [].concat((_context$__behaviors_ = context.__behaviors__) != null ? _context$__behaviors_ : [], Object(context['@static_behaviors']));
|
|
7546
7844
|
|
|
7547
|
-
var GetBehavior = function GetBehavior(
|
|
7548
|
-
var Cls = getBehavior(
|
|
7845
|
+
var GetBehavior = function GetBehavior(behaviorName) {
|
|
7846
|
+
var Cls = getBehavior(behaviorName, BehaviorNotImplemented);
|
|
7549
7847
|
return jsx(Cls, {
|
|
7550
|
-
values: context[
|
|
7551
|
-
properties: get
|
|
7848
|
+
values: context[behaviorName],
|
|
7849
|
+
properties: get(schema, ['definitions', behaviorName, 'properties'], {})
|
|
7552
7850
|
});
|
|
7553
7851
|
};
|
|
7554
7852
|
|
|
@@ -7644,9 +7942,11 @@ function PanelProperties() {
|
|
|
7644
7942
|
var properties = Object.keys((schema == null ? void 0 : (_schema$data = schema.data) == null ? void 0 : _schema$data.properties) || []).filter(function (key) {
|
|
7645
7943
|
return !ignoreFields.includes(key);
|
|
7646
7944
|
}).map(function (key) {
|
|
7945
|
+
var _schema$data2;
|
|
7946
|
+
|
|
7647
7947
|
return {
|
|
7648
7948
|
key: key,
|
|
7649
|
-
value: schema.data.properties[key]
|
|
7949
|
+
value: schema == null ? void 0 : (_schema$data2 = schema.data) == null ? void 0 : _schema$data2.properties[key]
|
|
7650
7950
|
};
|
|
7651
7951
|
});
|
|
7652
7952
|
useEffect(function () {
|
|
@@ -7658,7 +7958,7 @@ function PanelProperties() {
|
|
|
7658
7958
|
setSchema({
|
|
7659
7959
|
loading: true
|
|
7660
7960
|
});
|
|
7661
|
-
return Promise.resolve(Ctx.client.getTypeSchema(Ctx.path,
|
|
7961
|
+
return Promise.resolve(Ctx.client.getTypeSchema(Ctx.path, Ctx.context.type_name)).then(function (dataJson) {
|
|
7662
7962
|
setSchema({
|
|
7663
7963
|
loading: false,
|
|
7664
7964
|
data: dataJson
|
|
@@ -7733,7 +8033,7 @@ function PanelProperties() {
|
|
|
7733
8033
|
}), jsx("td", {
|
|
7734
8034
|
children: jsx(EditableField, {
|
|
7735
8035
|
field: prop,
|
|
7736
|
-
value: Ctx.context
|
|
8036
|
+
value: get(Ctx.context, prop, ''),
|
|
7737
8037
|
modifyContent: false
|
|
7738
8038
|
})
|
|
7739
8039
|
})]
|
|
@@ -7757,7 +8057,7 @@ function PanelProperties() {
|
|
|
7757
8057
|
})
|
|
7758
8058
|
}), jsx("tbody", {
|
|
7759
8059
|
children: properties.map(function (_ref) {
|
|
7760
|
-
var _schema$data$required, _schema$
|
|
8060
|
+
var _schema$data$required, _schema$data3;
|
|
7761
8061
|
|
|
7762
8062
|
var key = _ref.key,
|
|
7763
8063
|
value = _ref.value;
|
|
@@ -7770,10 +8070,10 @@ function PanelProperties() {
|
|
|
7770
8070
|
}), jsx("td", {
|
|
7771
8071
|
children: jsx(EditableField, {
|
|
7772
8072
|
field: key,
|
|
7773
|
-
value: Ctx.context
|
|
8073
|
+
value: get(Ctx.context, key, ''),
|
|
7774
8074
|
schema: value,
|
|
7775
8075
|
modifyContent: modifyContent,
|
|
7776
|
-
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)
|
|
7777
8077
|
})
|
|
7778
8078
|
})]
|
|
7779
8079
|
}, 'prop' + key);
|
|
@@ -7809,14 +8109,6 @@ function PermissionPrinperm(_ref) {
|
|
|
7809
8109
|
state = _useSetState[0],
|
|
7810
8110
|
setState = _useSetState[1];
|
|
7811
8111
|
|
|
7812
|
-
var getMultiples = function getMultiples(field, setter) {
|
|
7813
|
-
return function (values) {
|
|
7814
|
-
var _setter;
|
|
7815
|
-
|
|
7816
|
-
setter((_setter = {}, _setter[field] = values, _setter));
|
|
7817
|
-
};
|
|
7818
|
-
};
|
|
7819
|
-
|
|
7820
8112
|
var savePermission = function savePermission() {
|
|
7821
8113
|
try {
|
|
7822
8114
|
if (!state.principal || !state.setting || state.permission.length === 0) {
|
|
@@ -7866,7 +8158,7 @@ function PermissionPrinperm(_ref) {
|
|
|
7866
8158
|
children: intl.formatMessage(genericMessages.select_principal)
|
|
7867
8159
|
}), jsx(Select, {
|
|
7868
8160
|
appendDefault: true,
|
|
7869
|
-
options: principals,
|
|
8161
|
+
options: principals != null ? principals : [],
|
|
7870
8162
|
onChange: function onChange(value) {
|
|
7871
8163
|
return setState({
|
|
7872
8164
|
principal: value
|
|
@@ -7880,8 +8172,12 @@ function PermissionPrinperm(_ref) {
|
|
|
7880
8172
|
className: "label",
|
|
7881
8173
|
children: intl.formatMessage(genericMessages.select_permissions)
|
|
7882
8174
|
}), jsx(Select, {
|
|
7883
|
-
options: permissions,
|
|
7884
|
-
onChange:
|
|
8175
|
+
options: permissions != null ? permissions : [],
|
|
8176
|
+
onChange: function onChange(values) {
|
|
8177
|
+
setState({
|
|
8178
|
+
permission: values
|
|
8179
|
+
});
|
|
8180
|
+
},
|
|
7885
8181
|
size: 5,
|
|
7886
8182
|
multiple: true,
|
|
7887
8183
|
dataTest: "selectPermissionsTest"
|
|
@@ -7932,14 +8228,6 @@ function PermissionPrinrole(_ref) {
|
|
|
7932
8228
|
state = _useSetState[0],
|
|
7933
8229
|
setState = _useSetState[1];
|
|
7934
8230
|
|
|
7935
|
-
var getMultiples = function getMultiples(field, setter) {
|
|
7936
|
-
return function (values) {
|
|
7937
|
-
var _setter;
|
|
7938
|
-
|
|
7939
|
-
setter((_setter = {}, _setter[field] = values, _setter));
|
|
7940
|
-
};
|
|
7941
|
-
};
|
|
7942
|
-
|
|
7943
8231
|
var savePermission = function savePermission() {
|
|
7944
8232
|
try {
|
|
7945
8233
|
if (!state.principal || !state.setting || state.roles.length === 0) {
|
|
@@ -7989,7 +8277,7 @@ function PermissionPrinrole(_ref) {
|
|
|
7989
8277
|
children: intl.formatMessage(genericMessages.select_principal)
|
|
7990
8278
|
}), jsx(Select, {
|
|
7991
8279
|
appendDefault: true,
|
|
7992
|
-
options: principals,
|
|
8280
|
+
options: principals != null ? principals : [],
|
|
7993
8281
|
onChange: function onChange(value) {
|
|
7994
8282
|
return setState({
|
|
7995
8283
|
principal: value
|
|
@@ -8004,7 +8292,11 @@ function PermissionPrinrole(_ref) {
|
|
|
8004
8292
|
children: intl.formatMessage(genericMessages.select_role)
|
|
8005
8293
|
}), jsx(Select, {
|
|
8006
8294
|
options: roles,
|
|
8007
|
-
onChange:
|
|
8295
|
+
onChange: function onChange(values) {
|
|
8296
|
+
setState({
|
|
8297
|
+
roles: values
|
|
8298
|
+
});
|
|
8299
|
+
},
|
|
8008
8300
|
size: 5,
|
|
8009
8301
|
multiple: true,
|
|
8010
8302
|
dataTest: "selectRoleTest"
|
|
@@ -8055,14 +8347,6 @@ function PermissionRoleperm(_ref) {
|
|
|
8055
8347
|
state = _useSetState[0],
|
|
8056
8348
|
setState = _useSetState[1];
|
|
8057
8349
|
|
|
8058
|
-
var getMultiples = function getMultiples(field, setter) {
|
|
8059
|
-
return function (values) {
|
|
8060
|
-
var _setter;
|
|
8061
|
-
|
|
8062
|
-
setter((_setter = {}, _setter[field] = values, _setter));
|
|
8063
|
-
};
|
|
8064
|
-
};
|
|
8065
|
-
|
|
8066
8350
|
var savePermission = function savePermission() {
|
|
8067
8351
|
try {
|
|
8068
8352
|
if (!state.role || !state.setting || state.permission.length === 0) {
|
|
@@ -8126,8 +8410,12 @@ function PermissionRoleperm(_ref) {
|
|
|
8126
8410
|
className: "label",
|
|
8127
8411
|
children: intl.formatMessage(genericMessages.select_permissions)
|
|
8128
8412
|
}), jsx(Select, {
|
|
8129
|
-
options: permissions,
|
|
8130
|
-
onChange:
|
|
8413
|
+
options: permissions != null ? permissions : [],
|
|
8414
|
+
onChange: function onChange(values) {
|
|
8415
|
+
setState({
|
|
8416
|
+
permission: values
|
|
8417
|
+
});
|
|
8418
|
+
},
|
|
8131
8419
|
dataTest: "selectPermissionsTest",
|
|
8132
8420
|
size: 5,
|
|
8133
8421
|
multiple: true
|
|
@@ -8260,7 +8548,18 @@ function PanelPermissions() {
|
|
|
8260
8548
|
useEffect(function () {
|
|
8261
8549
|
get('@sharing');
|
|
8262
8550
|
}, [reset]);
|
|
8263
|
-
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
|
+
|
|
8264
8563
|
return jsxs("div", {
|
|
8265
8564
|
className: "columns",
|
|
8266
8565
|
children: [!loading && jsxs("div", {
|
|
@@ -8418,14 +8717,14 @@ function AddPermission(_ref) {
|
|
|
8418
8717
|
return Promise.resolve(Ctx.client.getPrincipals(Ctx.path)).then(function (principalsData) {
|
|
8419
8718
|
var groups = principalsData.groups.map(function (group) {
|
|
8420
8719
|
return {
|
|
8421
|
-
text: group
|
|
8422
|
-
value: group
|
|
8720
|
+
text: group['@name'],
|
|
8721
|
+
value: group['@name']
|
|
8423
8722
|
};
|
|
8424
8723
|
});
|
|
8425
8724
|
var users = principalsData.users.map(function (user) {
|
|
8426
8725
|
return {
|
|
8427
|
-
text: user.fullname || user
|
|
8428
|
-
value: user
|
|
8726
|
+
text: user.fullname || user['@name'],
|
|
8727
|
+
value: user['@name']
|
|
8429
8728
|
};
|
|
8430
8729
|
});
|
|
8431
8730
|
principals = [].concat(groups, users);
|
|
@@ -8496,18 +8795,6 @@ var prepareAvailable = function prepareAvailable(items, already, title) {
|
|
|
8496
8795
|
text: "Add " + title
|
|
8497
8796
|
};
|
|
8498
8797
|
if (items.length === 0) return [];
|
|
8499
|
-
|
|
8500
|
-
if (items[0] && typeof items[0] === 'string') {
|
|
8501
|
-
return [def].concat(items.map(function (x) {
|
|
8502
|
-
return {
|
|
8503
|
-
value: x,
|
|
8504
|
-
text: x
|
|
8505
|
-
};
|
|
8506
|
-
})).filter(function (item) {
|
|
8507
|
-
return !already.includes(item.value);
|
|
8508
|
-
});
|
|
8509
|
-
}
|
|
8510
|
-
|
|
8511
8798
|
return [def].concat(items).filter(function (item) {
|
|
8512
8799
|
return !already.includes(item.value);
|
|
8513
8800
|
});
|
|
@@ -8520,7 +8807,7 @@ function TagsWidget(_ref) {
|
|
|
8520
8807
|
noData = _ref.noData,
|
|
8521
8808
|
onChange = _ref.onChange,
|
|
8522
8809
|
loading = _ref.loading;
|
|
8523
|
-
var selectRef = useRef();
|
|
8810
|
+
var selectRef = useRef(null);
|
|
8524
8811
|
|
|
8525
8812
|
var _useState = useState(items),
|
|
8526
8813
|
result = _useState[0],
|
|
@@ -8568,7 +8855,7 @@ function TagsWidget(_ref) {
|
|
|
8568
8855
|
marginBottom: '20px'
|
|
8569
8856
|
},
|
|
8570
8857
|
children: noData
|
|
8571
|
-
}), available.length > 1 && jsx("li", {
|
|
8858
|
+
}), (available != null ? available : []).length > 1 && jsx("li", {
|
|
8572
8859
|
className: "widget-list-add select is-small",
|
|
8573
8860
|
children: jsx(Select, {
|
|
8574
8861
|
options: availableData,
|
|
@@ -8586,13 +8873,13 @@ function TagsWidget(_ref) {
|
|
|
8586
8873
|
});
|
|
8587
8874
|
}
|
|
8588
8875
|
|
|
8589
|
-
var initialState$
|
|
8590
|
-
types:
|
|
8876
|
+
var initialState$4 = {
|
|
8877
|
+
types: []
|
|
8591
8878
|
};
|
|
8592
8879
|
function CreateButton() {
|
|
8593
8880
|
var intl = useIntl();
|
|
8594
8881
|
|
|
8595
|
-
var _useSetState = useSetState(initialState$
|
|
8882
|
+
var _useSetState = useSetState(initialState$4),
|
|
8596
8883
|
state = _useSetState[0],
|
|
8597
8884
|
setState = _useSetState[1];
|
|
8598
8885
|
|
|
@@ -8640,7 +8927,8 @@ function CreateButton() {
|
|
|
8640
8927
|
|
|
8641
8928
|
if (state.types && state.types.length === 0) {
|
|
8642
8929
|
return null;
|
|
8643
|
-
}
|
|
8930
|
+
} // Implement some kind of filtering
|
|
8931
|
+
|
|
8644
8932
|
|
|
8645
8933
|
return jsx(Dropdown, {
|
|
8646
8934
|
id: "dropdown-menu",
|
|
@@ -8679,7 +8967,7 @@ function ContextToolbar(_ref) {
|
|
|
8679
8967
|
var AddButton = _ref.AddButton;
|
|
8680
8968
|
var intl = useIntl();
|
|
8681
8969
|
|
|
8682
|
-
var _useSetState2 = useSetState(initialState$
|
|
8970
|
+
var _useSetState2 = useSetState(initialState$4),
|
|
8683
8971
|
state = _useSetState2[0],
|
|
8684
8972
|
setState = _useSetState2[1];
|
|
8685
8973
|
|
|
@@ -8690,7 +8978,7 @@ function ContextToolbar(_ref) {
|
|
|
8690
8978
|
|
|
8691
8979
|
var traversal = useTraversal();
|
|
8692
8980
|
var Config = useConfig();
|
|
8693
|
-
var searchText = location.get('q');
|
|
8981
|
+
var searchText = location.get('q') || '';
|
|
8694
8982
|
|
|
8695
8983
|
var _useState = useState(searchText || ''),
|
|
8696
8984
|
searchValue = _useState[0],
|
|
@@ -8703,14 +8991,13 @@ function ContextToolbar(_ref) {
|
|
|
8703
8991
|
setSearchValue(searchText);
|
|
8704
8992
|
}, [searchText]);
|
|
8705
8993
|
|
|
8706
|
-
var onSearchQuery = function onSearchQuery(
|
|
8707
|
-
|
|
8994
|
+
var onSearchQuery = function onSearchQuery(event) {
|
|
8995
|
+
event.preventDefault();
|
|
8708
8996
|
setLocation({
|
|
8709
|
-
q:
|
|
8997
|
+
q: event.currentTarget.elements.filterInput.value,
|
|
8710
8998
|
tab: 'Items',
|
|
8711
8999
|
page: 0
|
|
8712
9000
|
});
|
|
8713
|
-
ev.preventDefault();
|
|
8714
9001
|
};
|
|
8715
9002
|
|
|
8716
9003
|
var onSearchByType = function onSearchByType(typeText) {
|
|
@@ -8744,7 +9031,8 @@ function ContextToolbar(_ref) {
|
|
|
8744
9031
|
type: "text",
|
|
8745
9032
|
className: "input is-size-7",
|
|
8746
9033
|
placeholder: intl.formatMessage(genericMessages.search),
|
|
8747
|
-
"data-test": "inputFilterTest"
|
|
9034
|
+
"data-test": "inputFilterTest",
|
|
9035
|
+
id: "filterInput"
|
|
8748
9036
|
})
|
|
8749
9037
|
}), jsx("div", {
|
|
8750
9038
|
className: "control",
|
|
@@ -8771,7 +9059,9 @@ function ContextToolbar(_ref) {
|
|
|
8771
9059
|
value: item
|
|
8772
9060
|
};
|
|
8773
9061
|
}),
|
|
8774
|
-
onChange:
|
|
9062
|
+
onChange: function onChange(value) {
|
|
9063
|
+
return onSearchByType(value);
|
|
9064
|
+
}
|
|
8775
9065
|
})
|
|
8776
9066
|
}), traversal.hasPerm('guillotina.AddContent') && jsx("div", {
|
|
8777
9067
|
className: "level-item",
|
|
@@ -8812,11 +9102,11 @@ function TabsPanel(_ref2) {
|
|
|
8812
9102
|
location = _useLocation[0],
|
|
8813
9103
|
setLocation = _useLocation[1];
|
|
8814
9104
|
|
|
8815
|
-
|
|
8816
|
-
|
|
8817
|
-
|
|
8818
|
-
currentTab =
|
|
8819
|
-
}
|
|
9105
|
+
currentTab = location.get('tab') || Object.keys(tabs)[0];
|
|
9106
|
+
/*if (!Object.keys(tabs).includes(currentTab)) {
|
|
9107
|
+
setLocation(defaultTab)
|
|
9108
|
+
currentTab = defaultTab
|
|
9109
|
+
}*/
|
|
8820
9110
|
|
|
8821
9111
|
var _useState = useState(currentTab),
|
|
8822
9112
|
current = _useState[0],
|
|
@@ -8825,7 +9115,7 @@ function TabsPanel(_ref2) {
|
|
|
8825
9115
|
var CurrentComp = tabs[current] || fallback;
|
|
8826
9116
|
React.useEffect(function () {
|
|
8827
9117
|
if (Object.keys(tabs).includes(currentTab)) {
|
|
8828
|
-
setTab(currentTab);
|
|
9118
|
+
setTab(currentTab); // setLocation({tab: currentTab})
|
|
8829
9119
|
}
|
|
8830
9120
|
}, [currentTab, tabs]);
|
|
8831
9121
|
|
|
@@ -8884,14 +9174,14 @@ var tabsPermissions = {
|
|
|
8884
9174
|
Behaviors: 'guillotina.ModifyContent',
|
|
8885
9175
|
Permissions: 'guillotina.SeePermissions'
|
|
8886
9176
|
};
|
|
8887
|
-
function FolderCtx(
|
|
9177
|
+
function FolderCtx() {
|
|
8888
9178
|
var ctx = useTraversal();
|
|
8889
9179
|
var calculated = ctx.filterTabs(tabs, tabsPermissions);
|
|
8890
|
-
return jsx(TabsPanel,
|
|
9180
|
+
return jsx(TabsPanel, {
|
|
8891
9181
|
tabs: calculated,
|
|
8892
9182
|
currentTab: "Items",
|
|
8893
|
-
rightToolbar: jsx(ContextToolbar,
|
|
8894
|
-
}
|
|
9183
|
+
rightToolbar: jsx(ContextToolbar, {})
|
|
9184
|
+
});
|
|
8895
9185
|
}
|
|
8896
9186
|
|
|
8897
9187
|
var tabs$1 = {
|
|
@@ -8905,13 +9195,13 @@ var tabsPermissions$1 = {
|
|
|
8905
9195
|
Behaviors: 'guillotina.ModifyContent',
|
|
8906
9196
|
Permissions: 'guillotina.SeePermissions'
|
|
8907
9197
|
};
|
|
8908
|
-
function ItemCtx(
|
|
9198
|
+
function ItemCtx() {
|
|
8909
9199
|
var ctx = useTraversal();
|
|
8910
9200
|
var calculated = ctx.filterTabs(tabs$1, tabsPermissions$1);
|
|
8911
|
-
return jsx(TabsPanel,
|
|
9201
|
+
return jsx(TabsPanel, {
|
|
8912
9202
|
tabs: calculated,
|
|
8913
9203
|
currentTab: "Properties"
|
|
8914
|
-
}
|
|
9204
|
+
});
|
|
8915
9205
|
}
|
|
8916
9206
|
|
|
8917
9207
|
function _catch$7(body, recover) {
|
|
@@ -8930,8 +9220,9 @@ function _catch$7(body, recover) {
|
|
|
8930
9220
|
|
|
8931
9221
|
function ApplicationCtx() {
|
|
8932
9222
|
var intl = useIntl();
|
|
8933
|
-
var
|
|
8934
|
-
var
|
|
9223
|
+
var traversal = useTraversal();
|
|
9224
|
+
var appContext = traversal.state.context;
|
|
9225
|
+
var databases = appContext.databases;
|
|
8935
9226
|
return jsxs(Fragment, {
|
|
8936
9227
|
children: [jsx("h3", {
|
|
8937
9228
|
children: intl.formatMessage({
|
|
@@ -8945,22 +9236,26 @@ function ApplicationCtx() {
|
|
|
8945
9236
|
className: "container",
|
|
8946
9237
|
children: [jsx(ItemTitle, {
|
|
8947
9238
|
title: "Objects"
|
|
8948
|
-
}),
|
|
8949
|
-
|
|
8950
|
-
|
|
8951
|
-
|
|
8952
|
-
|
|
8953
|
-
|
|
8954
|
-
|
|
8955
|
-
|
|
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
|
+
})
|
|
8956
9251
|
})]
|
|
8957
9252
|
})]
|
|
8958
9253
|
});
|
|
8959
9254
|
}
|
|
8960
9255
|
function DatabaseCtx() {
|
|
8961
|
-
var
|
|
8962
|
-
var containers =
|
|
8963
|
-
var path =
|
|
9256
|
+
var traversal = useTraversal();
|
|
9257
|
+
var containers = traversal.state.context.containers;
|
|
9258
|
+
var path = traversal.state.path;
|
|
8964
9259
|
return jsx(Fragment, {
|
|
8965
9260
|
children: jsxs("div", {
|
|
8966
9261
|
className: "container",
|
|
@@ -9248,17 +9543,17 @@ function UsersToolbar() {
|
|
|
9248
9543
|
|
|
9249
9544
|
var searchText = location.get('q');
|
|
9250
9545
|
|
|
9251
|
-
var onSearchQuery = function onSearchQuery(
|
|
9252
|
-
|
|
9546
|
+
var onSearchQuery = function onSearchQuery(event) {
|
|
9547
|
+
event.preventDefault();
|
|
9253
9548
|
setLocation({
|
|
9254
|
-
q:
|
|
9549
|
+
q: event.currentTarget.elements.filterInput.value,
|
|
9255
9550
|
page: 0
|
|
9256
9551
|
});
|
|
9257
|
-
|
|
9258
|
-
|
|
9552
|
+
}; // cleanup form on state.search change
|
|
9553
|
+
|
|
9259
9554
|
|
|
9260
9555
|
useEffect(function () {
|
|
9261
|
-
if (!searchText || searchText === '') {
|
|
9556
|
+
if (ref.current && (!searchText || searchText === '')) {
|
|
9262
9557
|
ref.current.value = '';
|
|
9263
9558
|
}
|
|
9264
9559
|
}, [searchText]);
|
|
@@ -9278,7 +9573,8 @@ function UsersToolbar() {
|
|
|
9278
9573
|
type: "text",
|
|
9279
9574
|
className: "input is-size-7",
|
|
9280
9575
|
placeholder: intl.formatMessage(genericMessages.search),
|
|
9281
|
-
"data-test": "inputFilterTest"
|
|
9576
|
+
"data-test": "inputFilterTest",
|
|
9577
|
+
id: "filterInput"
|
|
9282
9578
|
})
|
|
9283
9579
|
}), jsx("div", {
|
|
9284
9580
|
className: "control",
|
|
@@ -9310,12 +9606,12 @@ function UsersToolbar() {
|
|
|
9310
9606
|
})]
|
|
9311
9607
|
});
|
|
9312
9608
|
}
|
|
9313
|
-
function UsersCtx(
|
|
9314
|
-
return jsx(TabsPanel,
|
|
9609
|
+
function UsersCtx() {
|
|
9610
|
+
return jsx(TabsPanel, {
|
|
9315
9611
|
tabs: tabs$3,
|
|
9316
9612
|
currentTab: "Users",
|
|
9317
9613
|
rightToolbar: jsx(UsersToolbar, {})
|
|
9318
|
-
}
|
|
9614
|
+
});
|
|
9319
9615
|
}
|
|
9320
9616
|
function UserCtx() {
|
|
9321
9617
|
var intl = useIntl();
|
|
@@ -9332,9 +9628,10 @@ function UserCtx() {
|
|
|
9332
9628
|
state = _useState[0],
|
|
9333
9629
|
setState = _useState[1];
|
|
9334
9630
|
|
|
9631
|
+
var userDataContext = Ctx.context;
|
|
9335
9632
|
var fields = {
|
|
9336
9633
|
user_groups: [],
|
|
9337
|
-
user_roles:
|
|
9634
|
+
user_roles: userDataContext.user_roles
|
|
9338
9635
|
};
|
|
9339
9636
|
|
|
9340
9637
|
var _useRemoteField = useRemoteField(fields),
|
|
@@ -9438,7 +9735,7 @@ function UserCtx() {
|
|
|
9438
9735
|
"value": "Username"
|
|
9439
9736
|
}]
|
|
9440
9737
|
}), ":", ' ']
|
|
9441
|
-
}), ' ',
|
|
9738
|
+
}), ' ', userDataContext.username, " (", userDataContext.email, ")"]
|
|
9442
9739
|
}), jsxs("p", {
|
|
9443
9740
|
children: [jsxs("label", {
|
|
9444
9741
|
children: [' ', intl.formatMessage({
|
|
@@ -9448,7 +9745,7 @@ function UserCtx() {
|
|
|
9448
9745
|
"value": "Creation Date"
|
|
9449
9746
|
}]
|
|
9450
9747
|
}), ":", ' ']
|
|
9451
|
-
}), ' ', formatDate(
|
|
9748
|
+
}), ' ', formatDate(userDataContext.creation_date)]
|
|
9452
9749
|
}), jsxs("p", {
|
|
9453
9750
|
children: [jsxs("label", {
|
|
9454
9751
|
children: [' ', intl.formatMessage({
|
|
@@ -9458,7 +9755,7 @@ function UserCtx() {
|
|
|
9458
9755
|
"value": "Modification Date"
|
|
9459
9756
|
}]
|
|
9460
9757
|
}), ":", ' ']
|
|
9461
|
-
}), ' ', formatDate(
|
|
9758
|
+
}), ' ', formatDate(userDataContext.modification_date)]
|
|
9462
9759
|
}), jsx(Button, {
|
|
9463
9760
|
className: "is-size-7 is-info",
|
|
9464
9761
|
onClick: function onClick() {
|
|
@@ -9477,7 +9774,7 @@ function UserCtx() {
|
|
|
9477
9774
|
onSubmit: function onSubmit(ev) {
|
|
9478
9775
|
return updateObject(ev);
|
|
9479
9776
|
},
|
|
9480
|
-
formData:
|
|
9777
|
+
formData: userDataContext,
|
|
9481
9778
|
exclude: ['password'],
|
|
9482
9779
|
remotes: remotes,
|
|
9483
9780
|
submitButton: false,
|
|
@@ -9491,7 +9788,7 @@ function UserCtx() {
|
|
|
9491
9788
|
className: "column",
|
|
9492
9789
|
children: [jsx(TagsWidget, {
|
|
9493
9790
|
onChange: updateRemote('user_groups'),
|
|
9494
|
-
items:
|
|
9791
|
+
items: userDataContext.user_groups,
|
|
9495
9792
|
title: "Groups",
|
|
9496
9793
|
noData: intl.formatMessage({
|
|
9497
9794
|
id: "there_is_no_groups_for_this_user",
|
|
@@ -9512,7 +9809,12 @@ function UserCtx() {
|
|
|
9512
9809
|
"value": "The user doesn't have any role"
|
|
9513
9810
|
}]
|
|
9514
9811
|
}),
|
|
9515
|
-
available: state.roles
|
|
9812
|
+
available: state.roles.map(function (x) {
|
|
9813
|
+
return {
|
|
9814
|
+
value: x,
|
|
9815
|
+
text: x
|
|
9816
|
+
};
|
|
9817
|
+
})
|
|
9516
9818
|
})]
|
|
9517
9819
|
})]
|
|
9518
9820
|
})]
|
|
@@ -9528,7 +9830,7 @@ function CopyItems(props) {
|
|
|
9528
9830
|
try {
|
|
9529
9831
|
return Promise.resolve(Promise.all(items.map(function (item, i) {
|
|
9530
9832
|
var input = form[i + 1] || {};
|
|
9531
|
-
return Ctx.client.post("" + Ctx.path + item
|
|
9833
|
+
return Ctx.client.post("" + Ctx.path + item.id + "/@duplicate", {
|
|
9532
9834
|
destination: path,
|
|
9533
9835
|
new_id: input.value || getNewId(item.id)
|
|
9534
9836
|
});
|
|
@@ -9574,7 +9876,7 @@ function CopyItems(props) {
|
|
|
9574
9876
|
}), jsx("input", {
|
|
9575
9877
|
type: "text",
|
|
9576
9878
|
className: "input",
|
|
9577
|
-
"data-test": "inputCopyIdTest-" + item
|
|
9879
|
+
"data-test": "inputCopyIdTest-" + item.id,
|
|
9578
9880
|
defaultValue: getNewId(item.id)
|
|
9579
9881
|
})]
|
|
9580
9882
|
}, item.id);
|
|
@@ -9647,9 +9949,9 @@ function MoveItems(props) {
|
|
|
9647
9949
|
var moveItems = function moveItems(path) {
|
|
9648
9950
|
try {
|
|
9649
9951
|
return Promise.resolve(Promise.all(items.map(function (item) {
|
|
9650
|
-
return Ctx.client.post("" + Ctx.path + item
|
|
9952
|
+
return Ctx.client.post("" + Ctx.path + item.id + "/@move", {
|
|
9651
9953
|
destination: path,
|
|
9652
|
-
new_id: item
|
|
9954
|
+
new_id: item.id
|
|
9653
9955
|
});
|
|
9654
9956
|
}))).then(function (responses) {
|
|
9655
9957
|
Ctx.refresh();
|
|
@@ -9986,17 +10288,17 @@ function GroupToolbar() {
|
|
|
9986
10288
|
|
|
9987
10289
|
var searchText = location.get('q');
|
|
9988
10290
|
|
|
9989
|
-
var onSearchQuery = function onSearchQuery(
|
|
9990
|
-
|
|
10291
|
+
var onSearchQuery = function onSearchQuery(event) {
|
|
10292
|
+
event.preventDefault();
|
|
9991
10293
|
setLocation({
|
|
9992
|
-
q:
|
|
10294
|
+
q: event.currentTarget.elements.filterInput.value,
|
|
9993
10295
|
page: 0
|
|
9994
10296
|
});
|
|
9995
|
-
|
|
9996
|
-
|
|
10297
|
+
}; // cleanup form on state.search change
|
|
10298
|
+
|
|
9997
10299
|
|
|
9998
10300
|
useEffect(function () {
|
|
9999
|
-
if (!searchText || searchText === '') {
|
|
10301
|
+
if (ref.current && (!searchText || searchText === '')) {
|
|
10000
10302
|
ref.current.value = '';
|
|
10001
10303
|
}
|
|
10002
10304
|
}, [searchText]);
|
|
@@ -10016,7 +10318,8 @@ function GroupToolbar() {
|
|
|
10016
10318
|
type: "text",
|
|
10017
10319
|
className: "input is-size-7",
|
|
10018
10320
|
placeholder: intl.formatMessage(genericMessages.search),
|
|
10019
|
-
"data-test": "inputFilterTest"
|
|
10321
|
+
"data-test": "inputFilterTest",
|
|
10322
|
+
id: "filterInput"
|
|
10020
10323
|
})
|
|
10021
10324
|
}), jsx("div", {
|
|
10022
10325
|
className: "control",
|
|
@@ -10054,12 +10357,12 @@ function GroupToolbar() {
|
|
|
10054
10357
|
})]
|
|
10055
10358
|
});
|
|
10056
10359
|
}
|
|
10057
|
-
function GroupsCtx(
|
|
10058
|
-
return jsx(TabsPanel,
|
|
10360
|
+
function GroupsCtx() {
|
|
10361
|
+
return jsx(TabsPanel, {
|
|
10059
10362
|
tabs: tabs$4,
|
|
10060
10363
|
currentTab: "Groups",
|
|
10061
10364
|
rightToolbar: jsx(GroupToolbar, {})
|
|
10062
|
-
}
|
|
10365
|
+
});
|
|
10063
10366
|
}
|
|
10064
10367
|
var sortParsed = parser("_sort_asc=id");
|
|
10065
10368
|
var searchParsed = parser('type_name=User');
|
|
@@ -10074,6 +10377,7 @@ function GroupCtx() {
|
|
|
10074
10377
|
roles = _useState[0],
|
|
10075
10378
|
setRoles = _useState[1];
|
|
10076
10379
|
|
|
10380
|
+
var groupDataContext = Ctx.context;
|
|
10077
10381
|
useEffect(function () {
|
|
10078
10382
|
var getRoles = function getRoles() {
|
|
10079
10383
|
try {
|
|
@@ -10127,11 +10431,11 @@ function GroupCtx() {
|
|
|
10127
10431
|
var addRole = function addRole(role) {
|
|
10128
10432
|
try {
|
|
10129
10433
|
return Promise.resolve(patch({
|
|
10130
|
-
user_roles:
|
|
10434
|
+
user_roles: groupDataContext.user_roles.concat(role)
|
|
10131
10435
|
})).then(function (_ref) {
|
|
10132
10436
|
var isError = _ref.isError,
|
|
10133
10437
|
errorMessage = _ref.errorMessage;
|
|
10134
|
-
handleResponse(isError, intl.formatMessage({
|
|
10438
|
+
handleResponse(!!isError, intl.formatMessage({
|
|
10135
10439
|
id: "role_added_to_group",
|
|
10136
10440
|
defaultMessage: [{
|
|
10137
10441
|
"type": 0,
|
|
@@ -10145,7 +10449,7 @@ function GroupCtx() {
|
|
|
10145
10449
|
}]
|
|
10146
10450
|
}, {
|
|
10147
10451
|
role: role
|
|
10148
|
-
}), errorMessage);
|
|
10452
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10149
10453
|
});
|
|
10150
10454
|
} catch (e) {
|
|
10151
10455
|
return Promise.reject(e);
|
|
@@ -10155,13 +10459,13 @@ function GroupCtx() {
|
|
|
10155
10459
|
var removeRole = function removeRole(role) {
|
|
10156
10460
|
try {
|
|
10157
10461
|
return Promise.resolve(patch({
|
|
10158
|
-
user_roles:
|
|
10462
|
+
user_roles: groupDataContext.user_roles.filter(function (r) {
|
|
10159
10463
|
return r !== role;
|
|
10160
10464
|
})
|
|
10161
10465
|
})).then(function (_ref2) {
|
|
10162
10466
|
var isError = _ref2.isError,
|
|
10163
10467
|
errorMessage = _ref2.errorMessage;
|
|
10164
|
-
handleResponse(isError, intl.formatMessage({
|
|
10468
|
+
handleResponse(!!isError, intl.formatMessage({
|
|
10165
10469
|
id: "role_removed_from_group",
|
|
10166
10470
|
defaultMessage: [{
|
|
10167
10471
|
"type": 0,
|
|
@@ -10175,7 +10479,7 @@ function GroupCtx() {
|
|
|
10175
10479
|
}]
|
|
10176
10480
|
}, {
|
|
10177
10481
|
role: role
|
|
10178
|
-
}), errorMessage);
|
|
10482
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10179
10483
|
});
|
|
10180
10484
|
} catch (e) {
|
|
10181
10485
|
return Promise.reject(e);
|
|
@@ -10185,30 +10489,32 @@ function GroupCtx() {
|
|
|
10185
10489
|
var addUser = function addUser(newUserId) {
|
|
10186
10490
|
try {
|
|
10187
10491
|
var data = {};
|
|
10188
|
-
|
|
10492
|
+
groupDataContext.users.forEach(function (user) {
|
|
10189
10493
|
data[user] = true;
|
|
10190
10494
|
});
|
|
10191
10495
|
data[newUserId] = true;
|
|
10192
10496
|
return Promise.resolve(Ctx.client.rest.patch(Ctx.containerPath + "@groups/" + Ctx.context['@name'], {
|
|
10193
10497
|
users: data
|
|
10194
|
-
})).then(function (
|
|
10195
|
-
|
|
10196
|
-
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
|
|
10200
|
-
|
|
10201
|
-
|
|
10202
|
-
|
|
10203
|
-
|
|
10204
|
-
|
|
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
|
+
}]
|
|
10205
10514
|
}, {
|
|
10206
|
-
|
|
10207
|
-
|
|
10208
|
-
|
|
10209
|
-
}, {
|
|
10210
|
-
user: newUserId
|
|
10211
|
-
}), errorMessage);
|
|
10515
|
+
user: newUserId
|
|
10516
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10517
|
+
});
|
|
10212
10518
|
});
|
|
10213
10519
|
} catch (e) {
|
|
10214
10520
|
return Promise.reject(e);
|
|
@@ -10218,29 +10524,31 @@ function GroupCtx() {
|
|
|
10218
10524
|
var removeUser = function removeUser(userToRemove) {
|
|
10219
10525
|
try {
|
|
10220
10526
|
var data = {};
|
|
10221
|
-
|
|
10527
|
+
groupDataContext.users.forEach(function (user) {
|
|
10222
10528
|
data[user] = userToRemove !== user;
|
|
10223
10529
|
});
|
|
10224
10530
|
return Promise.resolve(Ctx.client.rest.patch(Ctx.containerPath + "@groups/" + Ctx.context['@name'], {
|
|
10225
10531
|
users: data
|
|
10226
|
-
})).then(function (
|
|
10227
|
-
|
|
10228
|
-
|
|
10229
|
-
|
|
10230
|
-
|
|
10231
|
-
|
|
10232
|
-
|
|
10233
|
-
|
|
10234
|
-
|
|
10235
|
-
|
|
10236
|
-
|
|
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
|
+
}]
|
|
10237
10548
|
}, {
|
|
10238
|
-
|
|
10239
|
-
|
|
10240
|
-
|
|
10241
|
-
}, {
|
|
10242
|
-
user: userToRemove
|
|
10243
|
-
}), errorMessage);
|
|
10549
|
+
user: userToRemove
|
|
10550
|
+
}), errorMessage != null ? errorMessage : '');
|
|
10551
|
+
});
|
|
10244
10552
|
});
|
|
10245
10553
|
} catch (e) {
|
|
10246
10554
|
return Promise.reject(e);
|
|
@@ -10295,11 +10603,13 @@ function GroupCtx() {
|
|
|
10295
10603
|
})
|
|
10296
10604
|
}), jsx(Select, {
|
|
10297
10605
|
options: roles.filter(function (role) {
|
|
10298
|
-
return !
|
|
10606
|
+
return !groupDataContext.user_roles.includes(role.value);
|
|
10299
10607
|
}),
|
|
10300
10608
|
appendDefault: true,
|
|
10301
|
-
onChange:
|
|
10302
|
-
|
|
10609
|
+
onChange: function onChange(value) {
|
|
10610
|
+
return addRole(value);
|
|
10611
|
+
}
|
|
10612
|
+
}), jsx("hr", {}), groupDataContext.user_roles.map(function (urole) {
|
|
10303
10613
|
return jsx("p", {
|
|
10304
10614
|
className: "control",
|
|
10305
10615
|
children: jsx(Tag, {
|
|
@@ -10331,7 +10641,7 @@ function GroupCtx() {
|
|
|
10331
10641
|
traversal: Ctx,
|
|
10332
10642
|
onChange: addUser,
|
|
10333
10643
|
btnClass: "is-small"
|
|
10334
|
-
}), jsx("hr", {}),
|
|
10644
|
+
}), jsx("hr", {}), groupDataContext.users.map(function (user) {
|
|
10335
10645
|
return jsx("p", {
|
|
10336
10646
|
className: "control",
|
|
10337
10647
|
children: jsx(Tag, {
|
|
@@ -10480,7 +10790,7 @@ function Path() {
|
|
|
10480
10790
|
var links = buildPaths(segments);
|
|
10481
10791
|
|
|
10482
10792
|
if (segments.length === 1) {
|
|
10483
|
-
return
|
|
10793
|
+
return null;
|
|
10484
10794
|
}
|
|
10485
10795
|
|
|
10486
10796
|
return jsx("nav", {
|
|
@@ -10614,11 +10924,13 @@ var getComponent = function getComponent(context, path, fallback) {
|
|
|
10614
10924
|
fallback = undefined;
|
|
10615
10925
|
}
|
|
10616
10926
|
|
|
10617
|
-
if (!context) return;
|
|
10927
|
+
if (!context) return; // console.log("Component for path", path)
|
|
10928
|
+
// lookup by path
|
|
10618
10929
|
|
|
10619
10930
|
if (registry.paths[path]) {
|
|
10620
10931
|
return registry.paths[path];
|
|
10621
|
-
}
|
|
10932
|
+
} // by type
|
|
10933
|
+
|
|
10622
10934
|
|
|
10623
10935
|
if (registry.views[context['@type']]) {
|
|
10624
10936
|
return registry.views[context['@type']];
|
|
@@ -10641,19 +10953,15 @@ var getItemsColumn = function getItemsColumn(type) {
|
|
|
10641
10953
|
return undefined;
|
|
10642
10954
|
};
|
|
10643
10955
|
|
|
10644
|
-
var
|
|
10645
|
-
|
|
10646
|
-
|
|
10647
|
-
}
|
|
10956
|
+
var getView = function getView(name) {
|
|
10957
|
+
return registry.views[name];
|
|
10958
|
+
};
|
|
10648
10959
|
|
|
10649
|
-
|
|
10960
|
+
var getForm = function getForm(type, fallback) {
|
|
10961
|
+
return registry.forms[type] || fallback || BaseForm;
|
|
10650
10962
|
};
|
|
10651
10963
|
|
|
10652
10964
|
var getAction = function getAction(type, fallback) {
|
|
10653
|
-
if (fallback === void 0) {
|
|
10654
|
-
fallback = undefined;
|
|
10655
|
-
}
|
|
10656
|
-
|
|
10657
10965
|
return registry.actions[type] || fallback;
|
|
10658
10966
|
};
|
|
10659
10967
|
|
|
@@ -10670,10 +10978,21 @@ var getSchemas = function getSchemas(type) {
|
|
|
10670
10978
|
};
|
|
10671
10979
|
|
|
10672
10980
|
var getFieldsToFilter = function getFieldsToFilter(type, fallback) {
|
|
10981
|
+
if (fallback === void 0) {
|
|
10982
|
+
fallback = ['title'];
|
|
10983
|
+
}
|
|
10984
|
+
|
|
10673
10985
|
return registry.fieldsToFilter[type] || fallback;
|
|
10674
10986
|
};
|
|
10675
10987
|
|
|
10676
10988
|
var getDefaultSortValue = function getDefaultSortValue(type, fallback) {
|
|
10989
|
+
if (fallback === void 0) {
|
|
10990
|
+
fallback = {
|
|
10991
|
+
key: 'id',
|
|
10992
|
+
direction: 'des'
|
|
10993
|
+
};
|
|
10994
|
+
}
|
|
10995
|
+
|
|
10677
10996
|
return registry.defaultSortValue[type] || fallback;
|
|
10678
10997
|
};
|
|
10679
10998
|
|
|
@@ -10681,12 +11000,14 @@ var defaultComponent = function defaultComponent(context) {
|
|
|
10681
11000
|
return context.is_folderish ? FolderCtx : ItemCtx;
|
|
10682
11001
|
};
|
|
10683
11002
|
function useRegistry(data) {
|
|
11003
|
+
// if data is provided we need to merge it into actual registry
|
|
10684
11004
|
var ref = React.useRef();
|
|
10685
11005
|
|
|
10686
11006
|
if (data && !ref.current) {
|
|
10687
11007
|
ref.current = true;
|
|
10688
11008
|
Object.keys(data).map(function (key) {
|
|
10689
|
-
|
|
11009
|
+
var registryKey = key;
|
|
11010
|
+
registry[registryKey] = _extends({}, registry[registryKey], data[registryKey]);
|
|
10690
11011
|
});
|
|
10691
11012
|
}
|
|
10692
11013
|
|
|
@@ -10701,86 +11022,26 @@ function useRegistry(data) {
|
|
|
10701
11022
|
getItemsColumn: getItemsColumn,
|
|
10702
11023
|
getFieldsToFilter: getFieldsToFilter,
|
|
10703
11024
|
getDefaultSortValue: getDefaultSortValue,
|
|
10704
|
-
getSchemas: getSchemas
|
|
11025
|
+
getSchemas: getSchemas,
|
|
11026
|
+
getView: getView
|
|
10705
11027
|
};
|
|
10706
11028
|
}
|
|
11029
|
+
/*
|
|
10707
11030
|
|
|
10708
|
-
|
|
10709
|
-
|
|
10710
|
-
|
|
10711
|
-
context: undefined,
|
|
10712
|
-
flash: {
|
|
10713
|
-
message: undefined,
|
|
10714
|
-
type: undefined
|
|
10715
|
-
},
|
|
10716
|
-
action: {
|
|
10717
|
-
action: undefined,
|
|
10718
|
-
params: undefined
|
|
11031
|
+
const registry = {
|
|
11032
|
+
paths: {
|
|
11033
|
+
"/db/guillotina/tags/": TagsContext
|
|
10719
11034
|
},
|
|
10720
|
-
|
|
10721
|
-
|
|
10722
|
-
|
|
10723
|
-
|
|
10724
|
-
};
|
|
10725
|
-
function guillotinaReducer(state, action) {
|
|
10726
|
-
switch (action.type) {
|
|
10727
|
-
case 'SET_PATH':
|
|
10728
|
-
return _extends({}, state, {
|
|
10729
|
-
path: action.payload,
|
|
10730
|
-
loading: true
|
|
10731
|
-
});
|
|
10732
|
-
|
|
10733
|
-
case 'SET_CONTEXT':
|
|
10734
|
-
return _extends({}, state, action.payload, {
|
|
10735
|
-
errorStatus: undefined,
|
|
10736
|
-
loading: false
|
|
10737
|
-
});
|
|
10738
|
-
|
|
10739
|
-
case 'SET_ERROR':
|
|
10740
|
-
return _extends({}, state, {
|
|
10741
|
-
errorStatus: action.payload,
|
|
10742
|
-
loading: false
|
|
10743
|
-
});
|
|
10744
|
-
|
|
10745
|
-
case 'SET_FLASH':
|
|
10746
|
-
return _extends({}, state, action.payload);
|
|
10747
|
-
|
|
10748
|
-
case 'CLEAR_FLASH':
|
|
10749
|
-
return _extends({}, state, {
|
|
10750
|
-
flash: {
|
|
10751
|
-
message: undefined,
|
|
10752
|
-
type: undefined
|
|
10753
|
-
}
|
|
10754
|
-
});
|
|
10755
|
-
|
|
10756
|
-
case 'SET_ACTION':
|
|
10757
|
-
return _extends({}, state, {
|
|
10758
|
-
action: action.payload
|
|
10759
|
-
});
|
|
11035
|
+
forms: {
|
|
11036
|
+
Tag: AddTagForm
|
|
11037
|
+
}
|
|
11038
|
+
}
|
|
10760
11039
|
|
|
10761
|
-
case 'CLEAR_ACTION':
|
|
10762
|
-
return _extends({}, state, {
|
|
10763
|
-
action: {
|
|
10764
|
-
action: undefined,
|
|
10765
|
-
params: undefined
|
|
10766
|
-
}
|
|
10767
|
-
});
|
|
10768
11040
|
|
|
10769
|
-
|
|
10770
|
-
return _extends({}, state, {
|
|
10771
|
-
refresh: Date.now(),
|
|
10772
|
-
loading: !action.payload.transparent
|
|
10773
|
-
});
|
|
11041
|
+
<guillotina registry={registry} />
|
|
10774
11042
|
|
|
10775
|
-
case 'APPLY':
|
|
10776
|
-
return _extends({}, state, {
|
|
10777
|
-
context: _extends({}, state.context, action.payload)
|
|
10778
|
-
});
|
|
10779
11043
|
|
|
10780
|
-
|
|
10781
|
-
return state;
|
|
10782
|
-
}
|
|
10783
|
-
}
|
|
11044
|
+
*/
|
|
10784
11045
|
|
|
10785
11046
|
var actions = [
|
|
10786
11047
|
{
|
|
@@ -13591,25 +13852,27 @@ function Guillotina(_ref) {
|
|
|
13591
13852
|
props = _objectWithoutPropertiesLoose(_ref, ["auth", "locale"]);
|
|
13592
13853
|
|
|
13593
13854
|
var messages = loadLocaleData(locale);
|
|
13594
|
-
var url = props.url || 'http://localhost:8080';
|
|
13855
|
+
var url = props.url || 'http://localhost:8080'; // without trailing slash
|
|
13856
|
+
|
|
13595
13857
|
var config = props.config || {};
|
|
13596
13858
|
var client = useGuillotinaClient();
|
|
13597
13859
|
|
|
13598
13860
|
var _useConfig = useConfig(config),
|
|
13599
13861
|
Permissions = _useConfig.Permissions;
|
|
13600
13862
|
|
|
13601
|
-
var registry = useRegistry(props.registry
|
|
13863
|
+
var registry = useRegistry(props.registry); // Location is cooked routing solution (only uses search params)
|
|
13602
13864
|
|
|
13603
13865
|
var _useLocation = useLocation(),
|
|
13604
|
-
location = _useLocation[0];
|
|
13866
|
+
location = _useLocation[0]; // if there is no path provided just go to root
|
|
13867
|
+
|
|
13605
13868
|
|
|
13606
13869
|
var searchPath = location.get('path') || '/';
|
|
13607
13870
|
|
|
13608
13871
|
if (searchPath && searchPath !== '') {
|
|
13609
|
-
initialState
|
|
13872
|
+
initialState.path = searchPath;
|
|
13610
13873
|
}
|
|
13611
13874
|
|
|
13612
|
-
var _useReducer = useReducer(guillotinaReducer, initialState
|
|
13875
|
+
var _useReducer = useReducer(guillotinaReducer, initialState),
|
|
13613
13876
|
state = _useReducer[0],
|
|
13614
13877
|
dispatch = _useReducer[1];
|
|
13615
13878
|
|
|
@@ -13617,8 +13880,10 @@ function Guillotina(_ref) {
|
|
|
13617
13880
|
refresh = state.refresh;
|
|
13618
13881
|
useEffect(function () {
|
|
13619
13882
|
dispatch({
|
|
13620
|
-
type:
|
|
13621
|
-
payload:
|
|
13883
|
+
type: GuillotinaReducerActionTypes.SET_PATH,
|
|
13884
|
+
payload: {
|
|
13885
|
+
path: searchPath
|
|
13886
|
+
}
|
|
13622
13887
|
});
|
|
13623
13888
|
}, [searchPath]);
|
|
13624
13889
|
useEffect(function () {
|
|
@@ -13627,14 +13892,18 @@ function Guillotina(_ref) {
|
|
|
13627
13892
|
return Promise.resolve(client.getContext(path)).then(function (data) {
|
|
13628
13893
|
if (data.status === 401) {
|
|
13629
13894
|
dispatch({
|
|
13630
|
-
type:
|
|
13631
|
-
payload:
|
|
13895
|
+
type: GuillotinaReducerActionTypes.SET_ERROR,
|
|
13896
|
+
payload: {
|
|
13897
|
+
errorStatus: 'notallowed'
|
|
13898
|
+
}
|
|
13632
13899
|
});
|
|
13633
13900
|
return;
|
|
13634
13901
|
} else if (data.status === 404) {
|
|
13635
13902
|
dispatch({
|
|
13636
|
-
type:
|
|
13637
|
-
payload:
|
|
13903
|
+
type: GuillotinaReducerActionTypes.SET_ERROR,
|
|
13904
|
+
payload: {
|
|
13905
|
+
errorStatus: 'notallowed'
|
|
13906
|
+
}
|
|
13638
13907
|
});
|
|
13639
13908
|
return;
|
|
13640
13909
|
}
|
|
@@ -13643,7 +13912,7 @@ function Guillotina(_ref) {
|
|
|
13643
13912
|
return Promise.resolve(client.canido(path, Permissions)).then(function (pr) {
|
|
13644
13913
|
return Promise.resolve(pr.json()).then(function (permissions) {
|
|
13645
13914
|
dispatch({
|
|
13646
|
-
type:
|
|
13915
|
+
type: GuillotinaReducerActionTypes.SET_CONTEXT,
|
|
13647
13916
|
payload: {
|
|
13648
13917
|
context: context,
|
|
13649
13918
|
permissions: permissions
|
|
@@ -13660,9 +13929,9 @@ function Guillotina(_ref) {
|
|
|
13660
13929
|
|
|
13661
13930
|
initContext();
|
|
13662
13931
|
}, [path, refresh, client]);
|
|
13663
|
-
var ErrorBoundary = registry.
|
|
13664
|
-
var NotAllowed = registry.
|
|
13665
|
-
var NotFound = registry.
|
|
13932
|
+
var ErrorBoundary = registry.getView('ErrorBoundary');
|
|
13933
|
+
var NotAllowed = registry.getView('NotAllowed');
|
|
13934
|
+
var NotFound = registry.getView('NotFound');
|
|
13666
13935
|
var Path = registry.get('components', 'Path');
|
|
13667
13936
|
var contextData = {
|
|
13668
13937
|
url: url,
|
|
@@ -13685,7 +13954,7 @@ function Guillotina(_ref) {
|
|
|
13685
13954
|
children: jsxs(ErrorBoundary, {
|
|
13686
13955
|
children: [!errorStatus && jsx(TraversalProvider, _extends({}, contextData, {
|
|
13687
13956
|
children: permissions && jsxs(React.Fragment, {
|
|
13688
|
-
children: [action.action && jsx(Action, _extends({}, action.params)), jsx("div", {
|
|
13957
|
+
children: [action.action && Action !== null && jsx(Action, _extends({}, action.params)), jsx("div", {
|
|
13689
13958
|
className: "level",
|
|
13690
13959
|
children: jsx("div", {
|
|
13691
13960
|
className: "level-left",
|
|
@@ -13694,7 +13963,7 @@ function Guillotina(_ref) {
|
|
|
13694
13963
|
children: jsx(Path, {})
|
|
13695
13964
|
})
|
|
13696
13965
|
})
|
|
13697
|
-
}), jsx(Flash, {}), Main && jsx(ErrorBoundary, {
|
|
13966
|
+
}), jsx(Flash, {}), Main !== undefined && jsx(ErrorBoundary, {
|
|
13698
13967
|
children: jsxs("div", {
|
|
13699
13968
|
className: "box main-panel",
|
|
13700
13969
|
children: [state.loading && jsx(Loading, {}), !state.loading && jsx(Main, {
|
|
@@ -13804,7 +14073,7 @@ var ERRORS = {
|
|
|
13804
14073
|
var initialState$5 = {
|
|
13805
14074
|
username: '',
|
|
13806
14075
|
password: '',
|
|
13807
|
-
loading:
|
|
14076
|
+
loading: false,
|
|
13808
14077
|
errors: undefined
|
|
13809
14078
|
};
|
|
13810
14079
|
var Login = function Login(_ref) {
|
|
@@ -13820,7 +14089,7 @@ var Login = function Login(_ref) {
|
|
|
13820
14089
|
|
|
13821
14090
|
var inputRef = useRef(null);
|
|
13822
14091
|
useEffect(function () {
|
|
13823
|
-
if (inputRef) {
|
|
14092
|
+
if (inputRef && inputRef.current) {
|
|
13824
14093
|
inputRef.current.focus();
|
|
13825
14094
|
}
|
|
13826
14095
|
}, [inputRef]);
|
|
@@ -14041,30 +14310,30 @@ function RequiredFieldsForm(_ref) {
|
|
|
14041
14310
|
dataTest: dataTest,
|
|
14042
14311
|
children: [schema && schema.data && !schema.loading && schema.formFields.map(function (key) {
|
|
14043
14312
|
if (!ignoreFiels.includes(key)) {
|
|
14044
|
-
var _value$title;
|
|
14313
|
+
var _schema$data, _value$title, _schema$data2;
|
|
14045
14314
|
|
|
14046
|
-
var value = schema.data.properties[key];
|
|
14315
|
+
var value = (_schema$data = schema.data) == null ? void 0 : _schema$data.properties[key];
|
|
14047
14316
|
return jsx(EditComponent, {
|
|
14048
14317
|
id: key,
|
|
14049
14318
|
placeholder: (_value$title = value == null ? void 0 : value.title) != null ? _value$title : '',
|
|
14050
14319
|
className: "",
|
|
14051
14320
|
required: true,
|
|
14052
|
-
schema: schema.data.properties[key],
|
|
14053
|
-
setValue: function setValue(
|
|
14321
|
+
schema: (_schema$data2 = schema.data) == null ? void 0 : _schema$data2.properties[key],
|
|
14322
|
+
setValue: function setValue(value) {
|
|
14054
14323
|
if (key === 'title') {
|
|
14055
14324
|
var _extends2;
|
|
14056
14325
|
|
|
14057
14326
|
setFormData(_extends({}, formData, (_extends2 = {
|
|
14058
|
-
uuid: stringToSlug(
|
|
14059
|
-
}, _extends2[key] =
|
|
14327
|
+
uuid: stringToSlug(value)
|
|
14328
|
+
}, _extends2[key] = value, _extends2)));
|
|
14060
14329
|
} else if (key === 'uuid') {
|
|
14061
14330
|
setFormData(_extends({}, formData, {
|
|
14062
|
-
uuid: stringToSlug(
|
|
14331
|
+
uuid: stringToSlug(value)
|
|
14063
14332
|
}));
|
|
14064
14333
|
} else {
|
|
14065
14334
|
var _extends3;
|
|
14066
14335
|
|
|
14067
|
-
setFormData(_extends({}, formData, (_extends3 = {}, _extends3[key] =
|
|
14336
|
+
setFormData(_extends({}, formData, (_extends3 = {}, _extends3[key] = value, _extends3)));
|
|
14068
14337
|
}
|
|
14069
14338
|
},
|
|
14070
14339
|
error: errors[key],
|
|
@@ -14195,6 +14464,7 @@ var Auth = /*#__PURE__*/function () {
|
|
|
14195
14464
|
method: 'post'
|
|
14196
14465
|
})).then(function (data) {
|
|
14197
14466
|
if (data.status === 401) {
|
|
14467
|
+
// invalid token
|
|
14198
14468
|
_this4.cleanAuth();
|
|
14199
14469
|
|
|
14200
14470
|
_this4.logout();
|
|
@@ -14257,7 +14527,7 @@ var Auth = /*#__PURE__*/function () {
|
|
|
14257
14527
|
|
|
14258
14528
|
if (!authToken) return {};
|
|
14259
14529
|
|
|
14260
|
-
if (this.willExpire(expires) && this.retryRefresh < this.maxRetry) {
|
|
14530
|
+
if (this.willExpire(expires != null ? expires : '') && this.retryRefresh < this.maxRetry) {
|
|
14261
14531
|
|
|
14262
14532
|
(function () {
|
|
14263
14533
|
try {
|
|
@@ -14315,5 +14585,14 @@ var Auth = /*#__PURE__*/function () {
|
|
|
14315
14585
|
return Auth;
|
|
14316
14586
|
}();
|
|
14317
14587
|
|
|
14318
|
-
|
|
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 };
|
|
14319
14598
|
//# sourceMappingURL=react-gmi.esm.js.map
|