@guillotinaweb/react-gmi 0.24.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/fields/renderField.d.ts +12 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/input/search_input.d.ts +14 -3
- package/dist/components/input/search_input_list.d.ts +35 -0
- package/dist/react-gmi.esm.js +948 -333
- package/dist/react-gmi.esm.js.map +1 -1
- package/dist/react-gmi.js +950 -332
- package/dist/react-gmi.js.map +1 -1
- package/dist/react-gmi.modern.js +846 -310
- package/dist/react-gmi.modern.js.map +1 -1
- package/dist/react-gmi.umd.js +950 -332
- package/dist/react-gmi.umd.js.map +1 -1
- package/package.json +2 -1
package/dist/react-gmi.js
CHANGED
|
@@ -3024,6 +3024,45 @@ var Textarea = React__default['default'].forwardRef(function (_ref, ref) {
|
|
|
3024
3024
|
}, error ? error : ''));
|
|
3025
3025
|
});
|
|
3026
3026
|
|
|
3027
|
+
var defaultEvents = ['mousedown', 'touchstart'];
|
|
3028
|
+
|
|
3029
|
+
var on = function on(obj) {
|
|
3030
|
+
return obj.addEventListener.apply(obj, [].slice.call(arguments, 1));
|
|
3031
|
+
};
|
|
3032
|
+
|
|
3033
|
+
var off = function off(obj) {
|
|
3034
|
+
return obj.removeEventListener.apply(obj, [].slice.call(arguments, 1));
|
|
3035
|
+
};
|
|
3036
|
+
|
|
3037
|
+
function useClickAway(ref, onClickAway, events) {
|
|
3038
|
+
if (events === void 0) {
|
|
3039
|
+
events = defaultEvents;
|
|
3040
|
+
}
|
|
3041
|
+
|
|
3042
|
+
var savedCallback = React.useRef(onClickAway);
|
|
3043
|
+
React.useEffect(function () {
|
|
3044
|
+
savedCallback.current = onClickAway;
|
|
3045
|
+
}, [onClickAway]);
|
|
3046
|
+
React.useEffect(function () {
|
|
3047
|
+
var handler = function handler(event) {
|
|
3048
|
+
var el = ref.current;
|
|
3049
|
+
el && !el.contains(event.target) && savedCallback.current(event);
|
|
3050
|
+
};
|
|
3051
|
+
|
|
3052
|
+
for (var _iterator = _createForOfIteratorHelperLoose(events), _step; !(_step = _iterator()).done;) {
|
|
3053
|
+
var eventName = _step.value;
|
|
3054
|
+
on(document, eventName, handler);
|
|
3055
|
+
}
|
|
3056
|
+
|
|
3057
|
+
return function () {
|
|
3058
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(events), _step2; !(_step2 = _iterator2()).done;) {
|
|
3059
|
+
var eventName = _step2.value;
|
|
3060
|
+
off(document, eventName, handler);
|
|
3061
|
+
}
|
|
3062
|
+
};
|
|
3063
|
+
}, [events, ref]);
|
|
3064
|
+
}
|
|
3065
|
+
|
|
3027
3066
|
function debounce(func, wait) {
|
|
3028
3067
|
var timeout;
|
|
3029
3068
|
return function () {
|
|
@@ -3068,7 +3107,11 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3068
3107
|
_ref$dataTestItem = _ref.dataTestItem,
|
|
3069
3108
|
dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
|
|
3070
3109
|
_ref$renderTextItemOp = _ref.renderTextItemOption,
|
|
3071
|
-
renderTextItemOption = _ref$renderTextItemOp === void 0 ? null : _ref$renderTextItemOp
|
|
3110
|
+
renderTextItemOption = _ref$renderTextItemOp === void 0 ? null : _ref$renderTextItemOp,
|
|
3111
|
+
_ref$typeNameQuery = _ref.typeNameQuery,
|
|
3112
|
+
typeNameQuery = _ref$typeNameQuery === void 0 ? null : _ref$typeNameQuery,
|
|
3113
|
+
_ref$labelProperty = _ref.labelProperty,
|
|
3114
|
+
labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
|
|
3072
3115
|
var intl = reactIntl.useIntl();
|
|
3073
3116
|
|
|
3074
3117
|
var _useSetState = useSetState(initialState),
|
|
@@ -3090,8 +3133,19 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3090
3133
|
PageSize = _useConfig.PageSize,
|
|
3091
3134
|
SearchEngine = _useConfig.SearchEngine;
|
|
3092
3135
|
|
|
3093
|
-
var _useState = React.useState(
|
|
3094
|
-
|
|
3136
|
+
var _useState = React.useState(undefined),
|
|
3137
|
+
valueLabel = _useState[0],
|
|
3138
|
+
setValueLabel = _useState[1];
|
|
3139
|
+
|
|
3140
|
+
var _useState2 = React.useState(false),
|
|
3141
|
+
setIsLoadingData = _useState2[1];
|
|
3142
|
+
|
|
3143
|
+
var _useState3 = React.useState(generateUID('search_input')),
|
|
3144
|
+
uid = _useState3[0];
|
|
3145
|
+
|
|
3146
|
+
useClickAway(wrapperRef, function () {
|
|
3147
|
+
setIsOpen(false);
|
|
3148
|
+
});
|
|
3095
3149
|
|
|
3096
3150
|
var getHeight = function getHeight() {
|
|
3097
3151
|
if (wrapperRef && wrapperRef.current) {
|
|
@@ -3105,10 +3159,52 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3105
3159
|
};
|
|
3106
3160
|
};
|
|
3107
3161
|
|
|
3108
|
-
var delayedQuery =
|
|
3162
|
+
var delayedQuery = React.useCallback(debounce(function (value) {
|
|
3109
3163
|
return handleSearch(0, false, value);
|
|
3110
3164
|
}, 500), []);
|
|
3111
3165
|
|
|
3166
|
+
var inicializeLabels = function inicializeLabels() {
|
|
3167
|
+
try {
|
|
3168
|
+
var _temp2 = function () {
|
|
3169
|
+
if (labelProperty !== 'id' && value) {
|
|
3170
|
+
setIsLoadingData(true);
|
|
3171
|
+
var searchTermQs = [];
|
|
3172
|
+
var searchTermParsed = ["id", value];
|
|
3173
|
+
var getSearch = traversal.registry.get;
|
|
3174
|
+
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
3175
|
+
var qsParsed = traversal.client[fnName]({
|
|
3176
|
+
path: traversal.path,
|
|
3177
|
+
start: 0,
|
|
3178
|
+
pageSize: PageSize,
|
|
3179
|
+
withDepth: false
|
|
3180
|
+
});
|
|
3181
|
+
var typeNameParsed = [];
|
|
3182
|
+
|
|
3183
|
+
if (typeNameQuery) {
|
|
3184
|
+
typeNameParsed = parser("type_name__in=" + typeNameQuery);
|
|
3185
|
+
}
|
|
3186
|
+
|
|
3187
|
+
if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
|
|
3188
|
+
searchTermQs = buildQs([].concat(qs, [searchTermParsed], qsParsed, typeNameParsed));
|
|
3189
|
+
}
|
|
3190
|
+
|
|
3191
|
+
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
|
|
3192
|
+
var newValuesLabel = data.items.reduce(function (result, item) {
|
|
3193
|
+
result[item.id] = get$1(item, labelProperty, item.id);
|
|
3194
|
+
return result;
|
|
3195
|
+
}, {});
|
|
3196
|
+
setValueLabel(newValuesLabel);
|
|
3197
|
+
setIsLoadingData(false);
|
|
3198
|
+
});
|
|
3199
|
+
}
|
|
3200
|
+
}();
|
|
3201
|
+
|
|
3202
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
3203
|
+
} catch (e) {
|
|
3204
|
+
return Promise.reject(e);
|
|
3205
|
+
}
|
|
3206
|
+
};
|
|
3207
|
+
|
|
3112
3208
|
var handleSearch = function handleSearch(page, concat, value) {
|
|
3113
3209
|
if (page === void 0) {
|
|
3114
3210
|
page = 0;
|
|
@@ -3133,19 +3229,28 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3133
3229
|
searchTermParsed = parser(queryCondition + "=" + value);
|
|
3134
3230
|
}
|
|
3135
3231
|
|
|
3136
|
-
var
|
|
3137
|
-
|
|
3232
|
+
var _get = traversal.registry.get;
|
|
3233
|
+
|
|
3234
|
+
var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
|
|
3235
|
+
|
|
3138
3236
|
var qsParsed = traversal.client[fnName]({
|
|
3139
3237
|
path: traversal.path,
|
|
3140
3238
|
start: page * PageSize,
|
|
3141
|
-
pageSize: PageSize
|
|
3239
|
+
pageSize: PageSize,
|
|
3240
|
+
withDepth: false
|
|
3142
3241
|
});
|
|
3242
|
+
var sortParsed = parser("_sort_des=title");
|
|
3243
|
+
var typeNameParsed = [];
|
|
3244
|
+
|
|
3245
|
+
if (typeNameQuery) {
|
|
3246
|
+
typeNameParsed = parser("type_name__in=" + typeNameQuery);
|
|
3247
|
+
}
|
|
3143
3248
|
|
|
3144
|
-
if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0) {
|
|
3145
|
-
searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed));
|
|
3249
|
+
if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
|
|
3250
|
+
searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed, typeNameParsed, sortParsed));
|
|
3146
3251
|
}
|
|
3147
3252
|
|
|
3148
|
-
return Promise.resolve(traversal.client.search(path, searchTermQs, false, false
|
|
3253
|
+
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
|
|
3149
3254
|
var _data$items_total;
|
|
3150
3255
|
|
|
3151
3256
|
var newItems = options.items && concat ? [].concat(options.items, data.items) : data.items;
|
|
@@ -3169,20 +3274,24 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3169
3274
|
return item.title || item['@name'];
|
|
3170
3275
|
};
|
|
3171
3276
|
|
|
3172
|
-
|
|
3173
|
-
if (
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
} catch (e) {
|
|
3178
|
-
Promise.reject(e);
|
|
3179
|
-
}
|
|
3277
|
+
React.useEffect(function () {
|
|
3278
|
+
if (value) {
|
|
3279
|
+
inicializeLabels();
|
|
3280
|
+
} else {
|
|
3281
|
+
setValueLabel({});
|
|
3180
3282
|
}
|
|
3181
|
-
}, [path,
|
|
3283
|
+
}, [path, value]);
|
|
3284
|
+
|
|
3285
|
+
if (valueLabel === undefined) {
|
|
3286
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
3287
|
+
className: "spinner"
|
|
3288
|
+
});
|
|
3289
|
+
}
|
|
3290
|
+
|
|
3182
3291
|
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
3183
3292
|
"data-test": dataTestWrapper,
|
|
3184
3293
|
ref: wrapperRef,
|
|
3185
|
-
className: "dropdown " + (isOpen ? 'is-active' : ''),
|
|
3294
|
+
className: "dropdown mb-2 " + (isOpen ? 'is-active' : ''),
|
|
3186
3295
|
onBlur: function onBlur(ev) {
|
|
3187
3296
|
if (!ev.currentTarget.contains(ev.relatedTarget)) {
|
|
3188
3297
|
if (searchTerm !== '') {
|
|
@@ -3190,7 +3299,7 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3190
3299
|
setOptions(initialState);
|
|
3191
3300
|
}
|
|
3192
3301
|
|
|
3193
|
-
setIsOpen(
|
|
3302
|
+
setIsOpen(false);
|
|
3194
3303
|
}
|
|
3195
3304
|
}
|
|
3196
3305
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -3198,12 +3307,16 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3198
3307
|
}, /*#__PURE__*/React__default['default'].createElement("button", {
|
|
3199
3308
|
className: "button " + btnClass,
|
|
3200
3309
|
onClick: function onClick(ev) {
|
|
3201
|
-
ev.
|
|
3310
|
+
ev.target.blur();
|
|
3202
3311
|
setIsOpen(!isOpen);
|
|
3312
|
+
|
|
3313
|
+
if (!options.loading && !options.items) {
|
|
3314
|
+
handleSearch(options.page);
|
|
3315
|
+
}
|
|
3203
3316
|
},
|
|
3204
3317
|
"aria-haspopup": "true",
|
|
3205
3318
|
"aria-controls": "dropdown-menu"
|
|
3206
|
-
}, /*#__PURE__*/React__default['default'].createElement("span", null, value
|
|
3319
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", null, value ? get$1(valueLabel, value, value) : intl.formatMessage(genericMessages.choose)), /*#__PURE__*/React__default['default'].createElement("span", {
|
|
3207
3320
|
className: "icon"
|
|
3208
3321
|
}, /*#__PURE__*/React__default['default'].createElement("i", {
|
|
3209
3322
|
className: "fas fa-angle-down",
|
|
@@ -3231,12 +3344,16 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3231
3344
|
})), /*#__PURE__*/React__default['default'].createElement("hr", {
|
|
3232
3345
|
className: "dropdown-divider"
|
|
3233
3346
|
}), options.loading && /*#__PURE__*/React__default['default'].createElement(Loading, null), options.items && options.items.map(function (item) {
|
|
3234
|
-
return /*#__PURE__*/React__default['default'].createElement("
|
|
3235
|
-
|
|
3236
|
-
className: "dropdown-item editable " + (value && value.id === item.id ? 'is-active' : ''),
|
|
3347
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
3348
|
+
className: "dropdown-item editable " + (value === item.id ? 'is-active' : ''),
|
|
3237
3349
|
"data-test": dataTestItem + "-" + item.id,
|
|
3238
|
-
onMouseDown: function onMouseDown() {
|
|
3239
|
-
|
|
3350
|
+
onMouseDown: function onMouseDown(ev) {
|
|
3351
|
+
ev.preventDefault();
|
|
3352
|
+
|
|
3353
|
+
if (onChange) {
|
|
3354
|
+
onChange(item.id);
|
|
3355
|
+
}
|
|
3356
|
+
|
|
3240
3357
|
setIsOpen(false);
|
|
3241
3358
|
},
|
|
3242
3359
|
key: item.path
|
|
@@ -3259,11 +3376,20 @@ var SearchInput = function SearchInput(_ref) {
|
|
|
3259
3376
|
};
|
|
3260
3377
|
SearchInput.propTypes = {
|
|
3261
3378
|
onChange: PropTypes__default['default'].func,
|
|
3262
|
-
value: PropTypes__default['default'].
|
|
3263
|
-
client: PropTypes__default['default'].object,
|
|
3379
|
+
value: PropTypes__default['default'].string,
|
|
3264
3380
|
path: PropTypes__default['default'].string,
|
|
3265
|
-
|
|
3266
|
-
|
|
3381
|
+
btnClass: PropTypes__default['default'].string,
|
|
3382
|
+
error: PropTypes__default['default'].string,
|
|
3383
|
+
errorZoneClassName: PropTypes__default['default'].string,
|
|
3384
|
+
traversal: PropTypes__default['default'].object,
|
|
3385
|
+
qs: PropTypes__default['default'].array,
|
|
3386
|
+
queryCondition: PropTypes__default['default'].string,
|
|
3387
|
+
dataTestWrapper: PropTypes__default['default'].string,
|
|
3388
|
+
dataTestSearchInput: PropTypes__default['default'].string,
|
|
3389
|
+
dataTestItem: PropTypes__default['default'].string,
|
|
3390
|
+
renderTextItemOption: PropTypes__default['default'].func,
|
|
3391
|
+
typeNameQuery: PropTypes__default['default'].string,
|
|
3392
|
+
labelProperty: PropTypes__default['default'].string
|
|
3267
3393
|
};
|
|
3268
3394
|
|
|
3269
3395
|
var InputList = React.forwardRef(function (_ref, ref) {
|
|
@@ -3322,45 +3448,6 @@ var InputList = React.forwardRef(function (_ref, ref) {
|
|
|
3322
3448
|
}));
|
|
3323
3449
|
});
|
|
3324
3450
|
|
|
3325
|
-
var defaultEvents = ['mousedown', 'touchstart'];
|
|
3326
|
-
|
|
3327
|
-
var on = function on(obj) {
|
|
3328
|
-
return obj.addEventListener.apply(obj, [].slice.call(arguments, 1));
|
|
3329
|
-
};
|
|
3330
|
-
|
|
3331
|
-
var off = function off(obj) {
|
|
3332
|
-
return obj.removeEventListener.apply(obj, [].slice.call(arguments, 1));
|
|
3333
|
-
};
|
|
3334
|
-
|
|
3335
|
-
function useClickAway(ref, onClickAway, events) {
|
|
3336
|
-
if (events === void 0) {
|
|
3337
|
-
events = defaultEvents;
|
|
3338
|
-
}
|
|
3339
|
-
|
|
3340
|
-
var savedCallback = React.useRef(onClickAway);
|
|
3341
|
-
React.useEffect(function () {
|
|
3342
|
-
savedCallback.current = onClickAway;
|
|
3343
|
-
}, [onClickAway]);
|
|
3344
|
-
React.useEffect(function () {
|
|
3345
|
-
var handler = function handler(event) {
|
|
3346
|
-
var el = ref.current;
|
|
3347
|
-
el && !el.contains(event.target) && savedCallback.current(event);
|
|
3348
|
-
};
|
|
3349
|
-
|
|
3350
|
-
for (var _iterator = _createForOfIteratorHelperLoose(events), _step; !(_step = _iterator()).done;) {
|
|
3351
|
-
var eventName = _step.value;
|
|
3352
|
-
on(document, eventName, handler);
|
|
3353
|
-
}
|
|
3354
|
-
|
|
3355
|
-
return function () {
|
|
3356
|
-
for (var _iterator2 = _createForOfIteratorHelperLoose(events), _step2; !(_step2 = _iterator2()).done;) {
|
|
3357
|
-
var eventName = _step2.value;
|
|
3358
|
-
off(document, eventName, handler);
|
|
3359
|
-
}
|
|
3360
|
-
};
|
|
3361
|
-
}, [events, ref]);
|
|
3362
|
-
}
|
|
3363
|
-
|
|
3364
3451
|
function Dropdown(_ref) {
|
|
3365
3452
|
var children = _ref.children,
|
|
3366
3453
|
disabled = _ref.disabled,
|
|
@@ -3762,12 +3849,14 @@ function useVocabulary(vocabularyName, path) {
|
|
|
3762
3849
|
var plain = ['string', 'number', 'boolean'];
|
|
3763
3850
|
function RenderField(_ref) {
|
|
3764
3851
|
var value = _ref.value,
|
|
3765
|
-
Widget = _ref.Widget
|
|
3852
|
+
Widget = _ref.Widget,
|
|
3853
|
+
schema = _ref.schema;
|
|
3766
3854
|
if (value === null || value === undefined) return '';
|
|
3767
3855
|
|
|
3768
3856
|
if (Widget) {
|
|
3769
3857
|
return /*#__PURE__*/React__default['default'].createElement(Widget, {
|
|
3770
|
-
value: value
|
|
3858
|
+
value: value,
|
|
3859
|
+
schema: schema
|
|
3771
3860
|
});
|
|
3772
3861
|
}
|
|
3773
3862
|
|
|
@@ -3814,23 +3903,154 @@ var FieldValue = function FieldValue(_ref2) {
|
|
|
3814
3903
|
})));
|
|
3815
3904
|
};
|
|
3816
3905
|
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
modifyContent = _ref3.modifyContent;
|
|
3822
|
-
var intl = reactIntl.useIntl();
|
|
3823
|
-
var DEFAULT_VALUE_EDITABLE_FIELD = intl.formatMessage({
|
|
3906
|
+
var DEFAULT_VALUE_NO_EDITABLE_FIELD = ' -- ';
|
|
3907
|
+
|
|
3908
|
+
var getDefaultValueEditableField = function getDefaultValueEditableField(intl) {
|
|
3909
|
+
return intl.formatMessage({
|
|
3824
3910
|
id: "default_value_editable_field",
|
|
3825
3911
|
defaultMessage: [{
|
|
3826
3912
|
"type": 0,
|
|
3827
3913
|
"value": "Click to edit"
|
|
3828
3914
|
}]
|
|
3829
3915
|
});
|
|
3830
|
-
|
|
3916
|
+
};
|
|
3917
|
+
|
|
3918
|
+
var SearchRenderField = function SearchRenderField(_ref3) {
|
|
3919
|
+
var schema = _ref3.schema,
|
|
3920
|
+
value = _ref3.value,
|
|
3921
|
+
modifyContent = _ref3.modifyContent;
|
|
3922
|
+
|
|
3923
|
+
var _useState = React.useState([]),
|
|
3924
|
+
valuesLabels = _useState[0],
|
|
3925
|
+
setValuesLabels = _useState[1];
|
|
3926
|
+
|
|
3927
|
+
var _useState2 = React.useState(false),
|
|
3928
|
+
isLoadingData = _useState2[0],
|
|
3929
|
+
setIsLoadingData = _useState2[1];
|
|
3930
|
+
|
|
3931
|
+
var traversal = useTraversal();
|
|
3932
|
+
|
|
3933
|
+
var _useConfig = useConfig(),
|
|
3934
|
+
SearchEngine = _useConfig.SearchEngine;
|
|
3935
|
+
|
|
3936
|
+
React.useEffect(function () {
|
|
3937
|
+
var fetchData = function fetchData(valuesToSearch) {
|
|
3938
|
+
try {
|
|
3939
|
+
setIsLoadingData(true);
|
|
3940
|
+
var searchTermQs = [];
|
|
3941
|
+
var searchTermParsed = ['__or', "id=" + valuesToSearch.join('%26id=')];
|
|
3942
|
+
var getSearch = traversal.registry.get;
|
|
3943
|
+
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
3944
|
+
var qsParsed = traversal.client[fnName]({
|
|
3945
|
+
path: traversal.path,
|
|
3946
|
+
start: 0,
|
|
3947
|
+
pageSize: 100,
|
|
3948
|
+
withDepth: false
|
|
3949
|
+
});
|
|
3950
|
+
|
|
3951
|
+
if (searchTermParsed.length > 0 || qsParsed.length > 0) {
|
|
3952
|
+
searchTermQs = buildQs([searchTermParsed].concat(qsParsed));
|
|
3953
|
+
}
|
|
3954
|
+
|
|
3955
|
+
return Promise.resolve(traversal.client.search(traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false, 0, 100)).then(function (data) {
|
|
3956
|
+
var newValuesLabel = data.items.map(function (item) {
|
|
3957
|
+
var _schema$labelProperty;
|
|
3958
|
+
|
|
3959
|
+
return get$1(item, (_schema$labelProperty = schema == null ? void 0 : schema.labelProperty) != null ? _schema$labelProperty : 'title', item.id);
|
|
3960
|
+
});
|
|
3961
|
+
setValuesLabels(newValuesLabel);
|
|
3962
|
+
setIsLoadingData(false);
|
|
3963
|
+
});
|
|
3964
|
+
} catch (e) {
|
|
3965
|
+
return Promise.reject(e);
|
|
3966
|
+
}
|
|
3967
|
+
};
|
|
3968
|
+
|
|
3969
|
+
var valuesToSearch = value;
|
|
3970
|
+
|
|
3971
|
+
if (typeof valuesToSearch === 'string') {
|
|
3972
|
+
valuesToSearch = [valuesToSearch];
|
|
3973
|
+
}
|
|
3974
|
+
|
|
3975
|
+
if (valuesToSearch !== undefined && valuesToSearch.length > 0) {
|
|
3976
|
+
fetchData(valuesToSearch);
|
|
3977
|
+
} else {
|
|
3978
|
+
setValuesLabels([]);
|
|
3979
|
+
}
|
|
3980
|
+
}, [value]);
|
|
3981
|
+
|
|
3982
|
+
var getRenderValue = function getRenderValue() {
|
|
3983
|
+
console.log('get render values', value, valuesLabels);
|
|
3984
|
+
|
|
3985
|
+
if (value === undefined) {
|
|
3986
|
+
if (modifyContent) {
|
|
3987
|
+
return DEFAULT_VALUE_EDITABLE_FIELD;
|
|
3988
|
+
}
|
|
3989
|
+
|
|
3990
|
+
return DEFAULT_VALUE_NO_EDITABLE_FIELD;
|
|
3991
|
+
}
|
|
3992
|
+
|
|
3993
|
+
if (isLoadingData) {
|
|
3994
|
+
return 'Loading...';
|
|
3995
|
+
}
|
|
3996
|
+
|
|
3997
|
+
return valuesLabels;
|
|
3998
|
+
};
|
|
3999
|
+
|
|
4000
|
+
return /*#__PURE__*/React__default['default'].createElement(RenderField, {
|
|
4001
|
+
value: getRenderValue()
|
|
4002
|
+
});
|
|
4003
|
+
};
|
|
4004
|
+
var VocabularyRenderField = function VocabularyRenderField(_ref4) {
|
|
4005
|
+
var _schema$items;
|
|
4006
|
+
|
|
4007
|
+
var schema = _ref4.schema,
|
|
4008
|
+
value = _ref4.value,
|
|
4009
|
+
modifyContent = _ref4.modifyContent;
|
|
4010
|
+
var intl = reactIntl.useIntl();
|
|
4011
|
+
var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
|
|
4012
|
+
var vocabularyName = (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName);
|
|
4013
|
+
var vocabulary = useVocabulary(vocabularyName);
|
|
4014
|
+
|
|
4015
|
+
var getRenderProps = function getRenderProps() {
|
|
4016
|
+
var renderProps = {
|
|
4017
|
+
value: value != null ? value : modifyContent ? DEFAULT_VALUE_EDITABLE_FIELD : DEFAULT_VALUE_NO_EDITABLE_FIELD
|
|
4018
|
+
};
|
|
4019
|
+
|
|
4020
|
+
if (schema != null && schema.vocabularyName) {
|
|
4021
|
+
var _vocabularyValue$titl;
|
|
4022
|
+
|
|
4023
|
+
var vocabularyValue = get$1(vocabulary, 'data.items', []).find(function (item) {
|
|
4024
|
+
return item.token === value;
|
|
4025
|
+
});
|
|
4026
|
+
renderProps['value'] = (_vocabularyValue$titl = vocabularyValue == null ? void 0 : vocabularyValue.title) != null ? _vocabularyValue$titl : '';
|
|
4027
|
+
} else {
|
|
4028
|
+
var _renderProps$value;
|
|
4029
|
+
|
|
4030
|
+
renderProps['value'] = ((_renderProps$value = renderProps['value']) != null ? _renderProps$value : []).map(function (value) {
|
|
4031
|
+
var _get$find$title, _get$find;
|
|
4032
|
+
|
|
4033
|
+
return (_get$find$title = (_get$find = get$1(vocabulary, 'data.items', []).find(function (item) {
|
|
4034
|
+
return item.token === value;
|
|
4035
|
+
})) == null ? void 0 : _get$find.title) != null ? _get$find$title : '';
|
|
4036
|
+
});
|
|
4037
|
+
}
|
|
4038
|
+
|
|
4039
|
+
return renderProps;
|
|
4040
|
+
};
|
|
4041
|
+
|
|
4042
|
+
return /*#__PURE__*/React__default['default'].createElement(RenderField, getRenderProps());
|
|
4043
|
+
};
|
|
4044
|
+
function RenderFieldComponent(_ref5) {
|
|
4045
|
+
var schema = _ref5.schema,
|
|
4046
|
+
field = _ref5.field,
|
|
4047
|
+
val = _ref5.val,
|
|
4048
|
+
modifyContent = _ref5.modifyContent;
|
|
4049
|
+
var intl = reactIntl.useIntl();
|
|
4050
|
+
var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
|
|
3831
4051
|
|
|
3832
4052
|
var getRenderProps = function getRenderProps() {
|
|
3833
|
-
var _schema$
|
|
4053
|
+
var _schema$items2;
|
|
3834
4054
|
|
|
3835
4055
|
var renderProps = {
|
|
3836
4056
|
value: val != null ? val : modifyContent ? DEFAULT_VALUE_EDITABLE_FIELD : DEFAULT_VALUE_NO_EDITABLE_FIELD
|
|
@@ -3848,50 +4068,622 @@ function RenderFieldComponent(_ref3) {
|
|
|
3848
4068
|
renderProps['value'] = (_val$toString = val == null ? void 0 : val.toString()) != null ? _val$toString : renderProps['value'];
|
|
3849
4069
|
} else if (val && (schema == null ? void 0 : schema.type) === 'datetime') {
|
|
3850
4070
|
renderProps['value'] = new Date(val).toLocaleString();
|
|
3851
|
-
} else if (schema != null && (_schema$
|
|
3852
|
-
|
|
4071
|
+
} else if (schema != null && (_schema$items2 = schema.items) != null && _schema$items2.vocabularyName || schema != null && schema.vocabularyName) {
|
|
4072
|
+
renderProps['Widget'] = VocabularyRenderField;
|
|
4073
|
+
renderProps['schema'] = schema;
|
|
4074
|
+
} else if ((schema == null ? void 0 : schema.widget) === 'search' || (schema == null ? void 0 : schema.widget) === 'search_list') {
|
|
4075
|
+
renderProps['Widget'] = SearchRenderField;
|
|
4076
|
+
renderProps['value'] = val;
|
|
4077
|
+
renderProps['schema'] = schema;
|
|
4078
|
+
}
|
|
3853
4079
|
|
|
3854
|
-
|
|
3855
|
-
|
|
4080
|
+
return renderProps;
|
|
4081
|
+
};
|
|
3856
4082
|
|
|
3857
|
-
|
|
3858
|
-
|
|
4083
|
+
return /*#__PURE__*/React__default['default'].createElement(RenderField, getRenderProps());
|
|
4084
|
+
}
|
|
3859
4085
|
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
4086
|
+
var SelectVocabulary = React__default['default'].forwardRef(function (_ref, ref) {
|
|
4087
|
+
var vocabularyName = _ref.vocabularyName,
|
|
4088
|
+
className = _ref.className,
|
|
4089
|
+
classWrap = _ref.classWrap,
|
|
4090
|
+
val = _ref.val,
|
|
4091
|
+
dataTest = _ref.dataTest,
|
|
4092
|
+
multiple = _ref.multiple,
|
|
4093
|
+
rest = _objectWithoutPropertiesLoose(_ref, ["vocabularyName", "className", "classWrap", "val", "dataTest", "multiple"]);
|
|
3866
4094
|
|
|
3867
|
-
|
|
3868
|
-
var _get$find$title, _get$find;
|
|
4095
|
+
var vocabulary = useVocabulary(vocabularyName);
|
|
3869
4096
|
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
4097
|
+
var getOptions = function getOptions() {
|
|
4098
|
+
if (get$1(vocabulary, 'data.items', null)) {
|
|
4099
|
+
var vocData = vocabulary.data.items.map(function (item) {
|
|
4100
|
+
var _item$title$default;
|
|
4101
|
+
|
|
4102
|
+
return {
|
|
4103
|
+
text: (_item$title$default = item.title.default) != null ? _item$title$default : item.title,
|
|
4104
|
+
value: item.token
|
|
4105
|
+
};
|
|
4106
|
+
});
|
|
4107
|
+
return vocData;
|
|
4108
|
+
}
|
|
4109
|
+
|
|
4110
|
+
return [];
|
|
4111
|
+
};
|
|
4112
|
+
|
|
4113
|
+
var getProps = function getProps() {
|
|
4114
|
+
if (multiple) {
|
|
4115
|
+
var currentValue = val || [];
|
|
4116
|
+
return {
|
|
4117
|
+
multiple: true,
|
|
4118
|
+
size: 5,
|
|
4119
|
+
value: currentValue,
|
|
4120
|
+
options: getOptions()
|
|
4121
|
+
};
|
|
3875
4122
|
}
|
|
3876
4123
|
|
|
3877
|
-
return
|
|
4124
|
+
return {
|
|
4125
|
+
value: val != null ? val : '',
|
|
4126
|
+
appendDefault: true,
|
|
4127
|
+
options: getOptions()
|
|
4128
|
+
};
|
|
4129
|
+
};
|
|
4130
|
+
|
|
4131
|
+
if (vocabulary.data === undefined || vocabulary.loading) {
|
|
4132
|
+
return /*#__PURE__*/React__default['default'].createElement("div", null);
|
|
4133
|
+
}
|
|
4134
|
+
|
|
4135
|
+
return /*#__PURE__*/React__default['default'].createElement(Select, _extends({}, getProps(), {
|
|
4136
|
+
className: className,
|
|
4137
|
+
classWrap: classWrap || 'is-fullwidth',
|
|
4138
|
+
dataTest: dataTest,
|
|
4139
|
+
ref: ref
|
|
4140
|
+
}, rest));
|
|
4141
|
+
});
|
|
4142
|
+
Select.propTypes = {
|
|
4143
|
+
error: PropTypes__default['default'].string,
|
|
4144
|
+
disabled: PropTypes__default['default'].bool,
|
|
4145
|
+
loading: PropTypes__default['default'].bool,
|
|
4146
|
+
isSubmitted: PropTypes__default['default'].bool,
|
|
4147
|
+
size: PropTypes__default['default'].number,
|
|
4148
|
+
onChange: PropTypes__default['default'].func,
|
|
4149
|
+
multiple: PropTypes__default['default'].bool,
|
|
4150
|
+
className: PropTypes__default['default'].string,
|
|
4151
|
+
vocabularyName: PropTypes__default['default'].string
|
|
4152
|
+
};
|
|
4153
|
+
|
|
4154
|
+
var _SearchInputList$prop;
|
|
4155
|
+
|
|
4156
|
+
function debounce$1(func, wait) {
|
|
4157
|
+
var timeout;
|
|
4158
|
+
return function () {
|
|
4159
|
+
var context = this;
|
|
4160
|
+
var args = arguments;
|
|
4161
|
+
|
|
4162
|
+
var later = function later() {
|
|
4163
|
+
timeout = null;
|
|
4164
|
+
func.apply(context, args);
|
|
4165
|
+
};
|
|
4166
|
+
|
|
4167
|
+
clearTimeout(timeout);
|
|
4168
|
+
timeout = setTimeout(later, wait);
|
|
4169
|
+
};
|
|
4170
|
+
}
|
|
4171
|
+
|
|
4172
|
+
var initialState$1 = {
|
|
4173
|
+
page: 0,
|
|
4174
|
+
items: undefined,
|
|
4175
|
+
loading: false,
|
|
4176
|
+
items_total: 0
|
|
4177
|
+
};
|
|
4178
|
+
var SearchInputList = function SearchInputList(_ref) {
|
|
4179
|
+
var onChange = _ref.onChange,
|
|
4180
|
+
error = _ref.error,
|
|
4181
|
+
errorZoneClassName = _ref.errorZoneClassName,
|
|
4182
|
+
_ref$traversal = _ref.traversal,
|
|
4183
|
+
traversal = _ref$traversal === void 0 ? null : _ref$traversal,
|
|
4184
|
+
_ref$path = _ref.path,
|
|
4185
|
+
path = _ref$path === void 0 ? null : _ref$path,
|
|
4186
|
+
_ref$qs = _ref.qs,
|
|
4187
|
+
qs = _ref$qs === void 0 ? [] : _ref$qs,
|
|
4188
|
+
_ref$queryCondition = _ref.queryCondition,
|
|
4189
|
+
queryCondition = _ref$queryCondition === void 0 ? 'id__in' : _ref$queryCondition,
|
|
4190
|
+
value = _ref.value,
|
|
4191
|
+
_ref$btnClass = _ref.btnClass,
|
|
4192
|
+
btnClass = _ref$btnClass === void 0 ? '' : _ref$btnClass,
|
|
4193
|
+
_ref$dataTestWrapper = _ref.dataTestWrapper,
|
|
4194
|
+
dataTestWrapper = _ref$dataTestWrapper === void 0 ? 'wrapperSearchInputTest' : _ref$dataTestWrapper,
|
|
4195
|
+
_ref$dataTestSearchIn = _ref.dataTestSearchInput,
|
|
4196
|
+
dataTestSearchInput = _ref$dataTestSearchIn === void 0 ? 'searchInputTest' : _ref$dataTestSearchIn,
|
|
4197
|
+
_ref$dataTestItem = _ref.dataTestItem,
|
|
4198
|
+
dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
|
|
4199
|
+
_ref$renderTextItemOp = _ref.renderTextItemOption,
|
|
4200
|
+
renderTextItemOption = _ref$renderTextItemOp === void 0 ? null : _ref$renderTextItemOp,
|
|
4201
|
+
_ref$typeNameQuery = _ref.typeNameQuery,
|
|
4202
|
+
typeNameQuery = _ref$typeNameQuery === void 0 ? null : _ref$typeNameQuery,
|
|
4203
|
+
_ref$labelProperty = _ref.labelProperty,
|
|
4204
|
+
labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
|
|
4205
|
+
var intl = reactIntl.useIntl();
|
|
4206
|
+
|
|
4207
|
+
var _useSetState = useSetState(initialState$1),
|
|
4208
|
+
options = _useSetState[0],
|
|
4209
|
+
setOptions = _useSetState[1];
|
|
4210
|
+
|
|
4211
|
+
var _useState = React.useState(undefined),
|
|
4212
|
+
valuesLabel = _useState[0],
|
|
4213
|
+
setValuesLabels = _useState[1];
|
|
4214
|
+
|
|
4215
|
+
var _React$useState = React__default['default'].useState(false),
|
|
4216
|
+
isOpen = _React$useState[0],
|
|
4217
|
+
setIsOpen = _React$useState[1];
|
|
4218
|
+
|
|
4219
|
+
var _React$useState2 = React__default['default'].useState(''),
|
|
4220
|
+
searchTerm = _React$useState2[0],
|
|
4221
|
+
setSearchTerm = _React$useState2[1];
|
|
4222
|
+
|
|
4223
|
+
var inputRef = React__default['default'].useRef(null);
|
|
4224
|
+
var wrapperRef = React__default['default'].useRef(null);
|
|
4225
|
+
|
|
4226
|
+
var _useConfig = useConfig(),
|
|
4227
|
+
PageSize = _useConfig.PageSize,
|
|
4228
|
+
SearchEngine = _useConfig.SearchEngine;
|
|
4229
|
+
|
|
4230
|
+
var _useState2 = React.useState(false),
|
|
4231
|
+
isLoadingData = _useState2[0],
|
|
4232
|
+
setIsLoadingData = _useState2[1];
|
|
4233
|
+
|
|
4234
|
+
var _useState3 = React.useState(generateUID('search_input')),
|
|
4235
|
+
uid = _useState3[0];
|
|
4236
|
+
|
|
4237
|
+
useClickAway(wrapperRef, function () {
|
|
4238
|
+
setIsOpen(false);
|
|
4239
|
+
});
|
|
4240
|
+
|
|
4241
|
+
var getHeight = function getHeight() {
|
|
4242
|
+
if (wrapperRef && wrapperRef.current) {
|
|
4243
|
+
return {
|
|
4244
|
+
maxHeight: window.innerHeight - wrapperRef.current.getBoundingClientRect().top - 100 + "px"
|
|
4245
|
+
};
|
|
4246
|
+
}
|
|
4247
|
+
|
|
4248
|
+
return {
|
|
4249
|
+
maxHeight: 'auto'
|
|
4250
|
+
};
|
|
4251
|
+
};
|
|
4252
|
+
|
|
4253
|
+
var delayedQuery = React.useCallback(debounce$1(function (value) {
|
|
4254
|
+
return handleSearch(0, false, value);
|
|
4255
|
+
}, 500), []);
|
|
4256
|
+
|
|
4257
|
+
var handleSearch = function handleSearch(page, concat, value) {
|
|
4258
|
+
if (page === void 0) {
|
|
4259
|
+
page = 0;
|
|
4260
|
+
}
|
|
4261
|
+
|
|
4262
|
+
if (concat === void 0) {
|
|
4263
|
+
concat = false;
|
|
4264
|
+
}
|
|
4265
|
+
|
|
4266
|
+
if (value === void 0) {
|
|
4267
|
+
value = '';
|
|
4268
|
+
}
|
|
4269
|
+
|
|
4270
|
+
try {
|
|
4271
|
+
setOptions({
|
|
4272
|
+
loading: true
|
|
4273
|
+
});
|
|
4274
|
+
var searchTermQs = [];
|
|
4275
|
+
var searchTermParsed = [];
|
|
4276
|
+
|
|
4277
|
+
if (value !== '') {
|
|
4278
|
+
searchTermParsed = parser(queryCondition + "=" + value);
|
|
4279
|
+
}
|
|
4280
|
+
|
|
4281
|
+
var _get = traversal.registry.get;
|
|
4282
|
+
|
|
4283
|
+
var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
|
|
4284
|
+
|
|
4285
|
+
var qsParsed = traversal.client[fnName]({
|
|
4286
|
+
path: traversal.path,
|
|
4287
|
+
start: page * PageSize,
|
|
4288
|
+
pageSize: PageSize,
|
|
4289
|
+
withDepth: false
|
|
4290
|
+
});
|
|
4291
|
+
var sortParsed = parser("_sort_des=title");
|
|
4292
|
+
var typeNameParsed = [];
|
|
4293
|
+
|
|
4294
|
+
if (typeNameQuery) {
|
|
4295
|
+
typeNameParsed = parser("type_name__in=" + typeNameQuery);
|
|
4296
|
+
}
|
|
4297
|
+
|
|
4298
|
+
if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
|
|
4299
|
+
searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed, typeNameParsed, sortParsed));
|
|
4300
|
+
}
|
|
4301
|
+
|
|
4302
|
+
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
|
|
4303
|
+
var _data$items_total;
|
|
4304
|
+
|
|
4305
|
+
var newItems = options.items && concat ? [].concat(options.items, data.items) : data.items;
|
|
4306
|
+
setOptions({
|
|
4307
|
+
items: newItems != null ? newItems : [],
|
|
4308
|
+
loading: false,
|
|
4309
|
+
items_total: (_data$items_total = data.items_total) != null ? _data$items_total : 0,
|
|
4310
|
+
page: page
|
|
4311
|
+
});
|
|
4312
|
+
});
|
|
4313
|
+
} catch (e) {
|
|
4314
|
+
return Promise.reject(e);
|
|
4315
|
+
}
|
|
4316
|
+
};
|
|
4317
|
+
|
|
4318
|
+
var inicializeLabels = function inicializeLabels() {
|
|
4319
|
+
try {
|
|
4320
|
+
var _temp2 = function () {
|
|
4321
|
+
if (labelProperty !== 'id' && value.length > 0) {
|
|
4322
|
+
setIsLoadingData(true);
|
|
4323
|
+
var searchTermQs = [];
|
|
4324
|
+
var searchTermParsed = ['__or', "id=" + value.join('%26id=')];
|
|
4325
|
+
var getSearch = traversal.registry.get;
|
|
4326
|
+
var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
|
|
4327
|
+
var qsParsed = traversal.client[fnName]({
|
|
4328
|
+
path: traversal.path,
|
|
4329
|
+
start: 0,
|
|
4330
|
+
pageSize: 100,
|
|
4331
|
+
withDepth: false
|
|
4332
|
+
});
|
|
4333
|
+
var typeNameParsed = [];
|
|
4334
|
+
|
|
4335
|
+
if (typeNameQuery) {
|
|
4336
|
+
typeNameParsed = parser("type_name__in=" + typeNameQuery);
|
|
4337
|
+
}
|
|
4338
|
+
|
|
4339
|
+
if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
|
|
4340
|
+
searchTermQs = buildQs([].concat(qs, [searchTermParsed], qsParsed, typeNameParsed));
|
|
4341
|
+
}
|
|
4342
|
+
|
|
4343
|
+
return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false, 0, 100)).then(function (data) {
|
|
4344
|
+
var newValuesLabel = data.items.reduce(function (result, item) {
|
|
4345
|
+
result[item.id] = get$1(item, labelProperty, item.id);
|
|
4346
|
+
return result;
|
|
4347
|
+
}, {});
|
|
4348
|
+
setValuesLabels(newValuesLabel);
|
|
4349
|
+
setIsLoadingData(false);
|
|
4350
|
+
});
|
|
4351
|
+
}
|
|
4352
|
+
}();
|
|
4353
|
+
|
|
4354
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
4355
|
+
} catch (e) {
|
|
4356
|
+
return Promise.reject(e);
|
|
4357
|
+
}
|
|
4358
|
+
};
|
|
4359
|
+
|
|
4360
|
+
var renderTextItemOptionFn = function renderTextItemOptionFn(item) {
|
|
4361
|
+
if (renderTextItemOption) {
|
|
4362
|
+
return renderTextItemOption(item);
|
|
4363
|
+
}
|
|
4364
|
+
|
|
4365
|
+
return item.title || item['@name'];
|
|
4366
|
+
};
|
|
4367
|
+
|
|
4368
|
+
React__default['default'].useEffect(function () {
|
|
4369
|
+
if (!options.loading && !options.items && value.length > 0) {
|
|
4370
|
+
inicializeLabels();
|
|
4371
|
+
} else if (value.length === 0) {
|
|
4372
|
+
setValuesLabels({});
|
|
4373
|
+
}
|
|
4374
|
+
}, [path, options.loading, options.items]);
|
|
4375
|
+
|
|
4376
|
+
if (isLoadingData || valuesLabel === undefined) {
|
|
4377
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4378
|
+
className: "spinner"
|
|
4379
|
+
});
|
|
4380
|
+
}
|
|
4381
|
+
|
|
4382
|
+
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4383
|
+
className: "tags mb-2"
|
|
4384
|
+
}, value.map(function (tag, index) {
|
|
4385
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4386
|
+
key: "input_list_" + tag + "_" + index,
|
|
4387
|
+
className: "tag is-info is-medium"
|
|
4388
|
+
}, get$1(valuesLabel, tag, tag), /*#__PURE__*/React__default['default'].createElement("button", {
|
|
4389
|
+
className: "delete is-small",
|
|
4390
|
+
onClick: function onClick(ev) {
|
|
4391
|
+
ev.stopPropagation();
|
|
4392
|
+
ev.preventDefault();
|
|
4393
|
+
onChange([].concat(value.filter(function (tag) {
|
|
4394
|
+
return value.indexOf(tag) !== index;
|
|
4395
|
+
})));
|
|
4396
|
+
}
|
|
4397
|
+
}));
|
|
4398
|
+
})), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4399
|
+
"data-test": dataTestWrapper,
|
|
4400
|
+
ref: wrapperRef,
|
|
4401
|
+
className: "dropdown mb-2 " + (isOpen ? 'is-active' : ''),
|
|
4402
|
+
onBlur: function onBlur(ev) {
|
|
4403
|
+
if (!ev.currentTarget.contains(ev.relatedTarget)) {
|
|
4404
|
+
if (searchTerm !== '') {
|
|
4405
|
+
setSearchTerm('');
|
|
4406
|
+
setOptions(initialState$1);
|
|
4407
|
+
}
|
|
4408
|
+
|
|
4409
|
+
setIsOpen(false);
|
|
4410
|
+
}
|
|
4411
|
+
}
|
|
4412
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4413
|
+
className: "dropdown-trigger"
|
|
4414
|
+
}, /*#__PURE__*/React__default['default'].createElement("button", {
|
|
4415
|
+
className: "button " + btnClass,
|
|
4416
|
+
onClick: function onClick(ev) {
|
|
4417
|
+
ev.preventDefault();
|
|
4418
|
+
setIsOpen(!isOpen);
|
|
4419
|
+
|
|
4420
|
+
if (!options.loading && !options.items) {
|
|
4421
|
+
handleSearch(options.page);
|
|
4422
|
+
}
|
|
4423
|
+
},
|
|
4424
|
+
"aria-haspopup": "true",
|
|
4425
|
+
"aria-controls": "dropdown-menu"
|
|
4426
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", null, intl.formatMessage(genericMessages.choose)), /*#__PURE__*/React__default['default'].createElement("span", {
|
|
4427
|
+
className: "icon"
|
|
4428
|
+
}, /*#__PURE__*/React__default['default'].createElement("i", {
|
|
4429
|
+
className: "fas fa-angle-down",
|
|
4430
|
+
"aria-hidden": "true"
|
|
4431
|
+
})))), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4432
|
+
className: "dropdown-menu",
|
|
4433
|
+
id: "dropdown-menu",
|
|
4434
|
+
role: "menu",
|
|
4435
|
+
style: getHeight()
|
|
4436
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4437
|
+
className: "dropdown-content"
|
|
4438
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4439
|
+
className: "dropdown-item"
|
|
4440
|
+
}, /*#__PURE__*/React__default['default'].createElement("input", {
|
|
4441
|
+
ref: inputRef,
|
|
4442
|
+
"data-test": dataTestSearchInput,
|
|
4443
|
+
className: "input",
|
|
4444
|
+
type: "text",
|
|
4445
|
+
placeholder: intl.formatMessage(genericMessages.search),
|
|
4446
|
+
value: searchTerm,
|
|
4447
|
+
onChange: function onChange(ev) {
|
|
4448
|
+
delayedQuery(ev.target.value);
|
|
4449
|
+
setSearchTerm(ev.target.value);
|
|
4450
|
+
}
|
|
4451
|
+
})), /*#__PURE__*/React__default['default'].createElement("hr", {
|
|
4452
|
+
className: "dropdown-divider"
|
|
4453
|
+
}), options.loading && /*#__PURE__*/React__default['default'].createElement(Loading, null), options.items && options.items.map(function (item) {
|
|
4454
|
+
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4455
|
+
className: "dropdown-item editable " + (value && value.id === item.id ? 'is-active' : ''),
|
|
4456
|
+
"data-test": dataTestItem + "-" + item.id,
|
|
4457
|
+
onMouseDown: function onMouseDown(ev) {
|
|
4458
|
+
ev.stopPropagation();
|
|
4459
|
+
ev.preventDefault();
|
|
4460
|
+
|
|
4461
|
+
if (onChange && !value.includes(item.id)) {
|
|
4462
|
+
var _extends2;
|
|
4463
|
+
|
|
4464
|
+
setValuesLabels(_extends({}, valuesLabel, (_extends2 = {}, _extends2[item.id] = get$1(item, labelProperty, item.id), _extends2)));
|
|
4465
|
+
onChange([].concat(value, [item.id]));
|
|
4466
|
+
}
|
|
4467
|
+
},
|
|
4468
|
+
key: item.path
|
|
4469
|
+
}, renderTextItemOptionFn(item));
|
|
4470
|
+
}), options.items && options.items.length === 0 && /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4471
|
+
className: "dropdown-item"
|
|
4472
|
+
}, intl.formatMessage(genericMessages.no_results)), options.items && options.items_total > options.items.length && /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("hr", {
|
|
4473
|
+
className: "dropdown-divider"
|
|
4474
|
+
}), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
4475
|
+
className: "dropdown-item editable",
|
|
4476
|
+
onMouseDown: function onMouseDown(ev) {
|
|
4477
|
+
ev.stopPropagation();
|
|
4478
|
+
ev.preventDefault();
|
|
4479
|
+
handleSearch(options.page + 1, true);
|
|
4480
|
+
}
|
|
4481
|
+
}, intl.formatMessage(genericMessages.load_more)))))), error && /*#__PURE__*/React__default['default'].createElement(ErrorZone, {
|
|
4482
|
+
className: errorZoneClassName,
|
|
4483
|
+
id: uid
|
|
4484
|
+
}, error ? error : ''));
|
|
4485
|
+
};
|
|
4486
|
+
SearchInputList.propTypes = (_SearchInputList$prop = {
|
|
4487
|
+
onChange: PropTypes__default['default'].func,
|
|
4488
|
+
path: PropTypes__default['default'].string,
|
|
4489
|
+
btnClass: PropTypes__default['default'].string,
|
|
4490
|
+
dataTestWrapper: PropTypes__default['default'].string,
|
|
4491
|
+
dataTestSearchInput: PropTypes__default['default'].string,
|
|
4492
|
+
dataTestItem: PropTypes__default['default'].string,
|
|
4493
|
+
renderTextItemOption: PropTypes__default['default'].func,
|
|
4494
|
+
typeNameQuery: PropTypes__default['default'].string,
|
|
4495
|
+
labelProperty: PropTypes__default['default'].string,
|
|
4496
|
+
error: PropTypes__default['default'].string,
|
|
4497
|
+
errorZoneClassName: PropTypes__default['default'].string,
|
|
4498
|
+
traversal: PropTypes__default['default'].object
|
|
4499
|
+
}, _SearchInputList$prop["path"] = PropTypes__default['default'].string, _SearchInputList$prop.qs = PropTypes__default['default'].array, _SearchInputList$prop.queryCondition = PropTypes__default['default'].string, _SearchInputList$prop);
|
|
4500
|
+
|
|
4501
|
+
var EditComponent = React__default['default'].forwardRef(function (_ref, ref) {
|
|
4502
|
+
var schema = _ref.schema,
|
|
4503
|
+
val = _ref.val,
|
|
4504
|
+
setValue = _ref.setValue,
|
|
4505
|
+
dataTest = _ref.dataTest,
|
|
4506
|
+
className = _ref.className,
|
|
4507
|
+
rest = _objectWithoutPropertiesLoose(_ref, ["schema", "val", "setValue", "dataTest", "className"]);
|
|
4508
|
+
|
|
4509
|
+
var traversal = useTraversal();
|
|
4510
|
+
|
|
4511
|
+
if ((schema == null ? void 0 : schema.widget) === 'search_list') {
|
|
4512
|
+
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, rest.placeholder && /*#__PURE__*/React__default['default'].createElement("label", {
|
|
4513
|
+
className: "label"
|
|
4514
|
+
}, rest.placeholder), /*#__PURE__*/React__default['default'].createElement(SearchInputList, _extends({
|
|
4515
|
+
value: val || [],
|
|
4516
|
+
traversal: traversal,
|
|
4517
|
+
className: className,
|
|
4518
|
+
onChange: function onChange(ev) {
|
|
4519
|
+
return setValue(ev);
|
|
4520
|
+
},
|
|
4521
|
+
queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
|
|
4522
|
+
dataTest: dataTest,
|
|
4523
|
+
path: schema.queryPath,
|
|
4524
|
+
labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
|
|
4525
|
+
typeNameQuery: schema != null && schema.typeNameQuery ? schema.typeNameQuery : null
|
|
4526
|
+
}, rest)));
|
|
4527
|
+
} else if ((schema == null ? void 0 : schema.widget) === 'search') {
|
|
4528
|
+
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, rest.placeholder && /*#__PURE__*/React__default['default'].createElement("label", {
|
|
4529
|
+
className: "label"
|
|
4530
|
+
}, rest.placeholder), /*#__PURE__*/React__default['default'].createElement(SearchInput, _extends({
|
|
4531
|
+
value: val,
|
|
4532
|
+
traversal: traversal,
|
|
4533
|
+
className: className,
|
|
4534
|
+
onChange: function onChange(ev) {
|
|
4535
|
+
return setValue(ev);
|
|
4536
|
+
},
|
|
4537
|
+
queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
|
|
4538
|
+
dataTest: dataTest,
|
|
4539
|
+
path: schema.queryPath,
|
|
4540
|
+
labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
|
|
4541
|
+
typeNameQuery: schema != null && schema.typeNameQuery ? schema.typeNameQuery : null
|
|
4542
|
+
}, rest)));
|
|
4543
|
+
} else if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
|
|
4544
|
+
return /*#__PURE__*/React__default['default'].createElement(Textarea, _extends({
|
|
4545
|
+
value: val || '',
|
|
4546
|
+
className: className,
|
|
4547
|
+
onChange: function onChange(ev) {
|
|
4548
|
+
return setValue(ev);
|
|
4549
|
+
},
|
|
4550
|
+
ref: ref,
|
|
4551
|
+
dataTest: dataTest
|
|
4552
|
+
}, rest));
|
|
4553
|
+
} else if ((schema == null ? void 0 : schema.type) === 'boolean') {
|
|
4554
|
+
return /*#__PURE__*/React__default['default'].createElement(Checkbox, _extends({
|
|
4555
|
+
value: !!val,
|
|
4556
|
+
className: className,
|
|
4557
|
+
onChange: function onChange(ev) {
|
|
4558
|
+
return setValue(ev);
|
|
4559
|
+
},
|
|
4560
|
+
ref: ref,
|
|
4561
|
+
dataTest: dataTest
|
|
4562
|
+
}, rest));
|
|
4563
|
+
} else if ((schema == null ? void 0 : schema.type) === 'array') {
|
|
4564
|
+
if (schema.items && schema.items.type === 'string') {
|
|
4565
|
+
var _schema$items;
|
|
4566
|
+
|
|
4567
|
+
if (schema.items.vocabularyName) {
|
|
4568
|
+
return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
|
|
4569
|
+
vocabularyName: get$1(schema, 'items.vocabularyName', null),
|
|
4570
|
+
val: val || [],
|
|
4571
|
+
className: className,
|
|
4572
|
+
classWrap: "is-fullwidth",
|
|
4573
|
+
dataTest: dataTest
|
|
4574
|
+
}, rest, {
|
|
4575
|
+
onChange: setValue,
|
|
4576
|
+
multiple: true
|
|
4577
|
+
}));
|
|
4578
|
+
} else if (schema != null && (_schema$items = schema.items) != null && _schema$items.vocabulary) {
|
|
4579
|
+
return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
|
|
4580
|
+
value: val || [],
|
|
4581
|
+
className: className,
|
|
4582
|
+
classWrap: "is-fullwidth",
|
|
4583
|
+
dataTest: dataTest,
|
|
4584
|
+
options: schema == null ? void 0 : schema.items.vocabulary.map(function (item) {
|
|
4585
|
+
return {
|
|
4586
|
+
text: item,
|
|
4587
|
+
value: item
|
|
4588
|
+
};
|
|
4589
|
+
}),
|
|
4590
|
+
multiple: true,
|
|
4591
|
+
onChange: setValue
|
|
4592
|
+
}, rest));
|
|
4593
|
+
}
|
|
4594
|
+
}
|
|
4595
|
+
|
|
4596
|
+
return /*#__PURE__*/React__default['default'].createElement(InputList, _extends({
|
|
4597
|
+
value: val || [],
|
|
4598
|
+
className: className,
|
|
4599
|
+
onChange: function onChange(ev) {
|
|
4600
|
+
return setValue(ev);
|
|
4601
|
+
},
|
|
4602
|
+
ref: ref,
|
|
4603
|
+
dataTest: dataTest
|
|
4604
|
+
}, rest));
|
|
4605
|
+
} else if ((schema == null ? void 0 : schema.widget) === 'file') {
|
|
4606
|
+
return /*#__PURE__*/React__default['default'].createElement(FileUpload, _extends({
|
|
4607
|
+
onChange: function onChange(ev) {
|
|
4608
|
+
return setValue(ev);
|
|
4609
|
+
},
|
|
4610
|
+
label: get$1(val, 'filename', null),
|
|
4611
|
+
dataTest: dataTest
|
|
4612
|
+
}, rest));
|
|
4613
|
+
} else if ((schema == null ? void 0 : schema.widget) === 'select' && schema.type === 'string') {
|
|
4614
|
+
if (schema != null && schema.vocabularyName) {
|
|
4615
|
+
return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
|
|
4616
|
+
val: val || '',
|
|
4617
|
+
className: className,
|
|
4618
|
+
appendDefault: true,
|
|
4619
|
+
classWrap: "is-fullwidth",
|
|
4620
|
+
dataTest: dataTest,
|
|
4621
|
+
onChange: setValue,
|
|
4622
|
+
vocabularyName: get$1(schema, 'vocabularyName', null)
|
|
4623
|
+
}, rest));
|
|
4624
|
+
}
|
|
4625
|
+
|
|
4626
|
+
return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
|
|
4627
|
+
value: val || '',
|
|
4628
|
+
className: className,
|
|
4629
|
+
appendDefault: true,
|
|
4630
|
+
classWrap: "is-fullwidth",
|
|
4631
|
+
dataTest: dataTest,
|
|
4632
|
+
options: schema == null ? void 0 : schema.vocabulary.map(function (item) {
|
|
4633
|
+
return {
|
|
4634
|
+
text: item,
|
|
4635
|
+
value: item
|
|
4636
|
+
};
|
|
4637
|
+
}),
|
|
4638
|
+
onChange: setValue
|
|
4639
|
+
}, rest));
|
|
4640
|
+
}
|
|
4641
|
+
|
|
4642
|
+
var getInputType = function getInputType() {
|
|
4643
|
+
switch (schema == null ? void 0 : schema.type) {
|
|
4644
|
+
case 'integer':
|
|
4645
|
+
return 'number';
|
|
4646
|
+
|
|
4647
|
+
case 'date':
|
|
4648
|
+
return 'date';
|
|
4649
|
+
|
|
4650
|
+
case 'datetime':
|
|
4651
|
+
return 'datetime-local';
|
|
4652
|
+
|
|
4653
|
+
default:
|
|
4654
|
+
return 'text';
|
|
4655
|
+
}
|
|
3878
4656
|
};
|
|
3879
4657
|
|
|
3880
|
-
return /*#__PURE__*/React__default['default'].createElement(
|
|
3881
|
-
|
|
4658
|
+
return /*#__PURE__*/React__default['default'].createElement(Input, _extends({
|
|
4659
|
+
value: val || '',
|
|
4660
|
+
className: className,
|
|
4661
|
+
dataTest: dataTest,
|
|
4662
|
+
onChange: function onChange(ev) {
|
|
4663
|
+
return setValue(ev);
|
|
4664
|
+
},
|
|
4665
|
+
ref: ref,
|
|
4666
|
+
type: getInputType()
|
|
4667
|
+
}, rest));
|
|
4668
|
+
});
|
|
4669
|
+
EditComponent.displayName = 'EditComponent';
|
|
3882
4670
|
|
|
3883
4671
|
function IAttachment(_ref) {
|
|
3884
4672
|
var properties = _ref.properties,
|
|
3885
4673
|
values = _ref.values;
|
|
4674
|
+
var intl = reactIntl.useIntl();
|
|
3886
4675
|
var Ctx = useTraversal();
|
|
3887
4676
|
var modifyContent = Ctx.hasPerm('guillotina.ModifyContent');
|
|
3888
4677
|
return /*#__PURE__*/React__default['default'].createElement(Table, {
|
|
3889
|
-
headers: [
|
|
4678
|
+
headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
|
|
3890
4679
|
className: "is-striped is-fullwidth is-size-7"
|
|
3891
4680
|
}, Object.keys(properties).map(function (key) {
|
|
3892
4681
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
3893
4682
|
key: 'attachment_' + key
|
|
3894
4683
|
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4684
|
+
style: {
|
|
4685
|
+
width: '150px'
|
|
4686
|
+
},
|
|
3895
4687
|
key: 1
|
|
3896
4688
|
}, key), /*#__PURE__*/React__default['default'].createElement("td", {
|
|
3897
4689
|
key: 2
|
|
@@ -3987,7 +4779,7 @@ function IMultiAttachment(_ref) {
|
|
|
3987
4779
|
};
|
|
3988
4780
|
|
|
3989
4781
|
return /*#__PURE__*/React__default['default'].createElement(Table, {
|
|
3990
|
-
headers: [
|
|
4782
|
+
headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
|
|
3991
4783
|
className: "is-striped is-fullwidth is-size-7"
|
|
3992
4784
|
}, fileKeyToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
|
|
3993
4785
|
loading: loading,
|
|
@@ -4004,7 +4796,10 @@ function IMultiAttachment(_ref) {
|
|
|
4004
4796
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
4005
4797
|
key: 'multiattachment_' + key
|
|
4006
4798
|
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4007
|
-
key: 1
|
|
4799
|
+
key: 1,
|
|
4800
|
+
style: {
|
|
4801
|
+
width: '150px'
|
|
4802
|
+
}
|
|
4008
4803
|
}, key), /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4009
4804
|
key: 2
|
|
4010
4805
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -4292,7 +5087,7 @@ function IImageAttachment(_ref) {
|
|
|
4292
5087
|
};
|
|
4293
5088
|
|
|
4294
5089
|
return /*#__PURE__*/React__default['default'].createElement(Table, {
|
|
4295
|
-
headers: [
|
|
5090
|
+
headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
|
|
4296
5091
|
className: "is-striped is-fullwidth is-size-7"
|
|
4297
5092
|
}, showConfirmToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
|
|
4298
5093
|
loading: loading,
|
|
@@ -4304,7 +5099,10 @@ function IImageAttachment(_ref) {
|
|
|
4304
5099
|
},
|
|
4305
5100
|
message: intl.formatMessage(genericFileMessages.confirm_message_delete_image)
|
|
4306
5101
|
}), values['image'] && /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4307
|
-
key: 1
|
|
5102
|
+
key: 1,
|
|
5103
|
+
style: {
|
|
5104
|
+
width: '150px'
|
|
5105
|
+
}
|
|
4308
5106
|
}, intl.formatMessage(genericMessages.image)), /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4309
5107
|
key: 2
|
|
4310
5108
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -4594,7 +5392,7 @@ function IMultiImageAttachment(_ref) {
|
|
|
4594
5392
|
};
|
|
4595
5393
|
|
|
4596
5394
|
return /*#__PURE__*/React__default['default'].createElement(Table, {
|
|
4597
|
-
headers: [
|
|
5395
|
+
headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
|
|
4598
5396
|
className: "is-striped is-fullwidth is-size-7"
|
|
4599
5397
|
}, fileKeyToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
|
|
4600
5398
|
loading: loading,
|
|
@@ -4611,7 +5409,10 @@ function IMultiImageAttachment(_ref) {
|
|
|
4611
5409
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
4612
5410
|
key: "multiimageattachment_" + key
|
|
4613
5411
|
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4614
|
-
key: 1
|
|
5412
|
+
key: 1,
|
|
5413
|
+
style: {
|
|
5414
|
+
width: '150px'
|
|
5415
|
+
}
|
|
4615
5416
|
}, key), /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4616
5417
|
key: 2
|
|
4617
5418
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -6092,75 +6893,7 @@ function SearchVocabularyLabels(props) {
|
|
|
6092
6893
|
return null;
|
|
6093
6894
|
}
|
|
6094
6895
|
|
|
6095
|
-
var
|
|
6096
|
-
var vocabularyName = _ref.vocabularyName,
|
|
6097
|
-
className = _ref.className,
|
|
6098
|
-
classWrap = _ref.classWrap,
|
|
6099
|
-
val = _ref.val,
|
|
6100
|
-
dataTest = _ref.dataTest,
|
|
6101
|
-
multiple = _ref.multiple,
|
|
6102
|
-
rest = _objectWithoutPropertiesLoose(_ref, ["vocabularyName", "className", "classWrap", "val", "dataTest", "multiple"]);
|
|
6103
|
-
|
|
6104
|
-
var vocabulary = useVocabulary(vocabularyName);
|
|
6105
|
-
|
|
6106
|
-
var getOptions = function getOptions() {
|
|
6107
|
-
if (get$1(vocabulary, 'data.items', null)) {
|
|
6108
|
-
var vocData = vocabulary.data.items.map(function (item) {
|
|
6109
|
-
var _item$title$default;
|
|
6110
|
-
|
|
6111
|
-
return {
|
|
6112
|
-
text: (_item$title$default = item.title.default) != null ? _item$title$default : item.title,
|
|
6113
|
-
value: item.token
|
|
6114
|
-
};
|
|
6115
|
-
});
|
|
6116
|
-
return vocData;
|
|
6117
|
-
}
|
|
6118
|
-
|
|
6119
|
-
return [];
|
|
6120
|
-
};
|
|
6121
|
-
|
|
6122
|
-
var getProps = function getProps() {
|
|
6123
|
-
if (multiple) {
|
|
6124
|
-
var currentValue = val || [];
|
|
6125
|
-
return {
|
|
6126
|
-
multiple: true,
|
|
6127
|
-
size: 5,
|
|
6128
|
-
value: currentValue,
|
|
6129
|
-
options: getOptions()
|
|
6130
|
-
};
|
|
6131
|
-
}
|
|
6132
|
-
|
|
6133
|
-
return {
|
|
6134
|
-
value: val != null ? val : '',
|
|
6135
|
-
appendDefault: true,
|
|
6136
|
-
options: getOptions()
|
|
6137
|
-
};
|
|
6138
|
-
};
|
|
6139
|
-
|
|
6140
|
-
if (vocabulary.data === undefined || vocabulary.loading) {
|
|
6141
|
-
return /*#__PURE__*/React__default['default'].createElement("div", null);
|
|
6142
|
-
}
|
|
6143
|
-
|
|
6144
|
-
return /*#__PURE__*/React__default['default'].createElement(Select, _extends({}, getProps(), {
|
|
6145
|
-
className: className,
|
|
6146
|
-
classWrap: classWrap || 'is-fullwidth',
|
|
6147
|
-
dataTest: dataTest,
|
|
6148
|
-
ref: ref
|
|
6149
|
-
}, rest));
|
|
6150
|
-
});
|
|
6151
|
-
Select.propTypes = {
|
|
6152
|
-
error: PropTypes__default['default'].string,
|
|
6153
|
-
disabled: PropTypes__default['default'].bool,
|
|
6154
|
-
loading: PropTypes__default['default'].bool,
|
|
6155
|
-
isSubmitted: PropTypes__default['default'].bool,
|
|
6156
|
-
size: PropTypes__default['default'].number,
|
|
6157
|
-
onChange: PropTypes__default['default'].func,
|
|
6158
|
-
multiple: PropTypes__default['default'].bool,
|
|
6159
|
-
className: PropTypes__default['default'].string,
|
|
6160
|
-
vocabularyName: PropTypes__default['default'].string
|
|
6161
|
-
};
|
|
6162
|
-
|
|
6163
|
-
var initialState$1 = {
|
|
6896
|
+
var initialState$2 = {
|
|
6164
6897
|
page: 0,
|
|
6165
6898
|
items: [],
|
|
6166
6899
|
loading: true,
|
|
@@ -6179,7 +6912,7 @@ function PanelItems() {
|
|
|
6179
6912
|
var intl = reactIntl.useIntl();
|
|
6180
6913
|
var Ctx = useTraversal();
|
|
6181
6914
|
|
|
6182
|
-
var _useSetState = useSetState(initialState$
|
|
6915
|
+
var _useSetState = useSetState(initialState$2),
|
|
6183
6916
|
state = _useSetState[0],
|
|
6184
6917
|
setState = _useSetState[1];
|
|
6185
6918
|
|
|
@@ -6629,7 +7362,7 @@ function PanelProperties() {
|
|
|
6629
7362
|
icon: model.icon,
|
|
6630
7363
|
align: "is-left",
|
|
6631
7364
|
className: "has-text-grey"
|
|
6632
|
-
}),
|
|
7365
|
+
}), "\xA0", /*#__PURE__*/React__default['default'].createElement("span", null, Ctx.context.title || Ctx.context['@name']))), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
6633
7366
|
className: "level-right"
|
|
6634
7367
|
}, /*#__PURE__*/React__default['default'].createElement(PropertiesButtonView, null))), /*#__PURE__*/React__default['default'].createElement("hr", null), schema && schema.data && !schema.loading && /*#__PURE__*/React__default['default'].createElement("div", {
|
|
6635
7368
|
className: "columns"
|
|
@@ -6638,13 +7371,20 @@ function PanelProperties() {
|
|
|
6638
7371
|
}, /*#__PURE__*/React__default['default'].createElement("table", {
|
|
6639
7372
|
className: "table is-striped is-fullwidth is-size-7"
|
|
6640
7373
|
}, /*#__PURE__*/React__default['default'].createElement("thead", null, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("th", {
|
|
7374
|
+
style: {
|
|
7375
|
+
width: '150px'
|
|
7376
|
+
},
|
|
6641
7377
|
className: "is-2"
|
|
6642
7378
|
}, intl.formatMessage(genericMessages.property)), /*#__PURE__*/React__default['default'].createElement("th", {
|
|
6643
7379
|
className: "is-8"
|
|
6644
7380
|
}, intl.formatMessage(genericMessages.value)))), /*#__PURE__*/React__default['default'].createElement("tbody", null, showProperties.map(function (prop) {
|
|
6645
7381
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
6646
7382
|
key: 'prop' + prop
|
|
6647
|
-
}, /*#__PURE__*/React__default['default'].createElement("td",
|
|
7383
|
+
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
7384
|
+
style: {
|
|
7385
|
+
width: '150px'
|
|
7386
|
+
}
|
|
7387
|
+
}, prop), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
|
|
6648
7388
|
field: prop,
|
|
6649
7389
|
value: Ctx.context[prop],
|
|
6650
7390
|
modifyContent: false
|
|
@@ -6652,6 +7392,9 @@ function PanelProperties() {
|
|
|
6652
7392
|
}))), properties.length > 0 && /*#__PURE__*/React__default['default'].createElement("table", {
|
|
6653
7393
|
className: "table is-striped is-fullwidth is-size-7"
|
|
6654
7394
|
}, /*#__PURE__*/React__default['default'].createElement("thead", null, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("th", {
|
|
7395
|
+
style: {
|
|
7396
|
+
width: '150px'
|
|
7397
|
+
},
|
|
6655
7398
|
className: "is-2"
|
|
6656
7399
|
}, intl.formatMessage(genericMessages.property)), /*#__PURE__*/React__default['default'].createElement("th", {
|
|
6657
7400
|
className: "is-8"
|
|
@@ -6660,7 +7403,11 @@ function PanelProperties() {
|
|
|
6660
7403
|
value = _ref.value;
|
|
6661
7404
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
6662
7405
|
key: 'prop' + key
|
|
6663
|
-
}, /*#__PURE__*/React__default['default'].createElement("td",
|
|
7406
|
+
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
7407
|
+
style: {
|
|
7408
|
+
width: '150px'
|
|
7409
|
+
}
|
|
7410
|
+
}, value.title || key), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
|
|
6664
7411
|
field: key,
|
|
6665
7412
|
value: Ctx.context[key],
|
|
6666
7413
|
schema: value,
|
|
@@ -7391,13 +8138,13 @@ function TagsWidget(_ref) {
|
|
|
7391
8138
|
|
|
7392
8139
|
/* eslint jsx-a11y/anchor-is-valid: "off" */
|
|
7393
8140
|
|
|
7394
|
-
var initialState$
|
|
8141
|
+
var initialState$3 = {
|
|
7395
8142
|
types: undefined
|
|
7396
8143
|
};
|
|
7397
8144
|
function CreateButton() {
|
|
7398
8145
|
var intl = reactIntl.useIntl();
|
|
7399
8146
|
|
|
7400
|
-
var _useSetState = useSetState(initialState$
|
|
8147
|
+
var _useSetState = useSetState(initialState$3),
|
|
7401
8148
|
state = _useSetState[0],
|
|
7402
8149
|
setState = _useSetState[1];
|
|
7403
8150
|
|
|
@@ -7483,7 +8230,7 @@ function ContextToolbar(_ref) {
|
|
|
7483
8230
|
|
|
7484
8231
|
var intl = reactIntl.useIntl();
|
|
7485
8232
|
|
|
7486
|
-
var _useSetState2 = useSetState(initialState$
|
|
8233
|
+
var _useSetState2 = useSetState(initialState$3),
|
|
7487
8234
|
state = _useSetState2[0],
|
|
7488
8235
|
setState = _useSetState2[1];
|
|
7489
8236
|
|
|
@@ -8678,15 +9425,19 @@ var editableFields = ['title', 'description', 'effective_date', 'expiration_date
|
|
|
8678
9425
|
function IDublinCore(_ref) {
|
|
8679
9426
|
var properties = _ref.properties,
|
|
8680
9427
|
values = _ref.values;
|
|
9428
|
+
var intl = reactIntl.useIntl();
|
|
8681
9429
|
var Ctx = useTraversal();
|
|
8682
9430
|
var modifyContent = Ctx.hasPerm('guillotina.ModifyContent');
|
|
8683
9431
|
return /*#__PURE__*/React__default['default'].createElement(Table, {
|
|
8684
|
-
headers: [
|
|
9432
|
+
headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
|
|
8685
9433
|
className: "is-striped is-fullwidth is-size-7"
|
|
8686
9434
|
}, Object.keys(properties).map(function (key) {
|
|
8687
9435
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
8688
9436
|
key: 'dublin_' + key
|
|
8689
9437
|
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
9438
|
+
style: {
|
|
9439
|
+
width: '150px'
|
|
9440
|
+
},
|
|
8690
9441
|
key: 1
|
|
8691
9442
|
}, key), /*#__PURE__*/React__default['default'].createElement("td", {
|
|
8692
9443
|
key: 2
|
|
@@ -8897,13 +9648,13 @@ function GroupCtx() {
|
|
|
8897
9648
|
}
|
|
8898
9649
|
};
|
|
8899
9650
|
|
|
8900
|
-
var addUser = function addUser(
|
|
9651
|
+
var addUser = function addUser(newUserId) {
|
|
8901
9652
|
try {
|
|
8902
9653
|
var data = {};
|
|
8903
9654
|
Ctx.context.users.forEach(function (user) {
|
|
8904
9655
|
data[user] = true;
|
|
8905
9656
|
});
|
|
8906
|
-
data[
|
|
9657
|
+
data[newUserId] = true;
|
|
8907
9658
|
return Promise.resolve(Ctx.client.rest.patch(Ctx.containerPath + "@groups/" + Ctx.context['@name'], {
|
|
8908
9659
|
users: data
|
|
8909
9660
|
})).then(function (_ref3) {
|
|
@@ -8922,7 +9673,7 @@ function GroupCtx() {
|
|
|
8922
9673
|
"value": " added to group"
|
|
8923
9674
|
}]
|
|
8924
9675
|
}, {
|
|
8925
|
-
user:
|
|
9676
|
+
user: newUserId
|
|
8926
9677
|
}), errorMessage);
|
|
8927
9678
|
});
|
|
8928
9679
|
} catch (e) {
|
|
@@ -9215,142 +9966,6 @@ var buildPaths = function buildPaths(segments) {
|
|
|
9215
9966
|
return results;
|
|
9216
9967
|
};
|
|
9217
9968
|
|
|
9218
|
-
var EditComponent = React__default['default'].forwardRef(function (_ref, ref) {
|
|
9219
|
-
var schema = _ref.schema,
|
|
9220
|
-
val = _ref.val,
|
|
9221
|
-
setValue = _ref.setValue,
|
|
9222
|
-
dataTest = _ref.dataTest,
|
|
9223
|
-
className = _ref.className,
|
|
9224
|
-
rest = _objectWithoutPropertiesLoose(_ref, ["schema", "val", "setValue", "dataTest", "className"]);
|
|
9225
|
-
|
|
9226
|
-
if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
|
|
9227
|
-
return /*#__PURE__*/React__default['default'].createElement(Textarea, _extends({
|
|
9228
|
-
value: val || '',
|
|
9229
|
-
className: className,
|
|
9230
|
-
onChange: function onChange(ev) {
|
|
9231
|
-
return setValue(ev);
|
|
9232
|
-
},
|
|
9233
|
-
ref: ref,
|
|
9234
|
-
dataTest: dataTest
|
|
9235
|
-
}, rest));
|
|
9236
|
-
} else if ((schema == null ? void 0 : schema.type) === 'boolean') {
|
|
9237
|
-
return /*#__PURE__*/React__default['default'].createElement(Checkbox, _extends({
|
|
9238
|
-
value: !!val,
|
|
9239
|
-
className: className,
|
|
9240
|
-
onChange: function onChange(ev) {
|
|
9241
|
-
return setValue(ev);
|
|
9242
|
-
},
|
|
9243
|
-
ref: ref,
|
|
9244
|
-
dataTest: dataTest
|
|
9245
|
-
}, rest));
|
|
9246
|
-
} else if ((schema == null ? void 0 : schema.type) === 'array') {
|
|
9247
|
-
if (schema.items && schema.items.type === 'string') {
|
|
9248
|
-
var _schema$items;
|
|
9249
|
-
|
|
9250
|
-
if (schema.items.vocabularyName) {
|
|
9251
|
-
return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
|
|
9252
|
-
vocabularyName: get$1(schema, 'items.vocabularyName', null),
|
|
9253
|
-
val: val || [],
|
|
9254
|
-
className: className,
|
|
9255
|
-
classWrap: "is-fullwidth",
|
|
9256
|
-
dataTest: dataTest
|
|
9257
|
-
}, rest, {
|
|
9258
|
-
onChange: setValue,
|
|
9259
|
-
multiple: true
|
|
9260
|
-
}));
|
|
9261
|
-
} else if (schema != null && (_schema$items = schema.items) != null && _schema$items.vocabulary) {
|
|
9262
|
-
return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
|
|
9263
|
-
value: val || [],
|
|
9264
|
-
className: className,
|
|
9265
|
-
classWrap: "is-fullwidth",
|
|
9266
|
-
dataTest: dataTest,
|
|
9267
|
-
options: schema == null ? void 0 : schema.items.vocabulary.map(function (item) {
|
|
9268
|
-
return {
|
|
9269
|
-
text: item,
|
|
9270
|
-
value: item
|
|
9271
|
-
};
|
|
9272
|
-
}),
|
|
9273
|
-
multiple: true,
|
|
9274
|
-
onChange: setValue
|
|
9275
|
-
}, rest));
|
|
9276
|
-
}
|
|
9277
|
-
}
|
|
9278
|
-
|
|
9279
|
-
return /*#__PURE__*/React__default['default'].createElement(InputList, _extends({
|
|
9280
|
-
value: val || [],
|
|
9281
|
-
className: className,
|
|
9282
|
-
onChange: function onChange(ev) {
|
|
9283
|
-
return setValue(ev);
|
|
9284
|
-
},
|
|
9285
|
-
ref: ref,
|
|
9286
|
-
dataTest: dataTest
|
|
9287
|
-
}, rest));
|
|
9288
|
-
} else if ((schema == null ? void 0 : schema.widget) === 'file') {
|
|
9289
|
-
return /*#__PURE__*/React__default['default'].createElement(FileUpload, _extends({
|
|
9290
|
-
onChange: function onChange(ev) {
|
|
9291
|
-
return setValue(ev);
|
|
9292
|
-
},
|
|
9293
|
-
label: get$1(val, 'filename', null),
|
|
9294
|
-
dataTest: dataTest
|
|
9295
|
-
}, rest));
|
|
9296
|
-
} else if ((schema == null ? void 0 : schema.widget) === 'select' && schema.type === 'string') {
|
|
9297
|
-
if (schema != null && schema.vocabularyName) {
|
|
9298
|
-
return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
|
|
9299
|
-
val: val || '',
|
|
9300
|
-
className: className,
|
|
9301
|
-
appendDefault: true,
|
|
9302
|
-
classWrap: "is-fullwidth",
|
|
9303
|
-
dataTest: dataTest,
|
|
9304
|
-
onChange: setValue,
|
|
9305
|
-
vocabularyName: get$1(schema, 'vocabularyName', null)
|
|
9306
|
-
}, rest));
|
|
9307
|
-
}
|
|
9308
|
-
|
|
9309
|
-
return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
|
|
9310
|
-
value: val || '',
|
|
9311
|
-
className: className,
|
|
9312
|
-
appendDefault: true,
|
|
9313
|
-
classWrap: "is-fullwidth",
|
|
9314
|
-
dataTest: dataTest,
|
|
9315
|
-
options: schema == null ? void 0 : schema.vocabulary.map(function (item) {
|
|
9316
|
-
return {
|
|
9317
|
-
text: item,
|
|
9318
|
-
value: item
|
|
9319
|
-
};
|
|
9320
|
-
}),
|
|
9321
|
-
onChange: setValue
|
|
9322
|
-
}, rest));
|
|
9323
|
-
}
|
|
9324
|
-
|
|
9325
|
-
var getInputType = function getInputType() {
|
|
9326
|
-
switch (schema == null ? void 0 : schema.type) {
|
|
9327
|
-
case 'integer':
|
|
9328
|
-
return 'number';
|
|
9329
|
-
|
|
9330
|
-
case 'date':
|
|
9331
|
-
return 'date';
|
|
9332
|
-
|
|
9333
|
-
case 'datetime':
|
|
9334
|
-
return 'datetime-local';
|
|
9335
|
-
|
|
9336
|
-
default:
|
|
9337
|
-
return 'text';
|
|
9338
|
-
}
|
|
9339
|
-
};
|
|
9340
|
-
|
|
9341
|
-
return /*#__PURE__*/React__default['default'].createElement(Input, _extends({
|
|
9342
|
-
value: val || '',
|
|
9343
|
-
className: className,
|
|
9344
|
-
dataTest: dataTest,
|
|
9345
|
-
onChange: function onChange(ev) {
|
|
9346
|
-
return setValue(ev);
|
|
9347
|
-
},
|
|
9348
|
-
ref: ref,
|
|
9349
|
-
type: getInputType()
|
|
9350
|
-
}, rest));
|
|
9351
|
-
});
|
|
9352
|
-
EditComponent.displayName = 'EditComponent';
|
|
9353
|
-
|
|
9354
9969
|
var registry = {
|
|
9355
9970
|
paths: {},
|
|
9356
9971
|
views: {
|
|
@@ -9529,7 +10144,7 @@ const registry = {
|
|
|
9529
10144
|
|
|
9530
10145
|
*/
|
|
9531
10146
|
|
|
9532
|
-
var initialState$
|
|
10147
|
+
var initialState$4 = {
|
|
9533
10148
|
path: '',
|
|
9534
10149
|
loading: false,
|
|
9535
10150
|
context: undefined,
|
|
@@ -12432,10 +13047,10 @@ function Guillotina(_ref) {
|
|
|
12432
13047
|
var searchPath = location.get('path') || '/';
|
|
12433
13048
|
|
|
12434
13049
|
if (searchPath && searchPath !== '') {
|
|
12435
|
-
initialState$
|
|
13050
|
+
initialState$4.path = searchPath;
|
|
12436
13051
|
}
|
|
12437
13052
|
|
|
12438
|
-
var _useReducer = React.useReducer(guillotinaReducer, initialState$
|
|
13053
|
+
var _useReducer = React.useReducer(guillotinaReducer, initialState$4),
|
|
12439
13054
|
state = _useReducer[0],
|
|
12440
13055
|
dispatch = _useReducer[1];
|
|
12441
13056
|
|
|
@@ -12587,7 +13202,7 @@ var ERRORS = {
|
|
|
12587
13202
|
failed_to_fetch: 'Failed to fetch data: Backend not running?',
|
|
12588
13203
|
invalid_credentials: 'Failed! Invalid credentials'
|
|
12589
13204
|
};
|
|
12590
|
-
var initialState$
|
|
13205
|
+
var initialState$5 = {
|
|
12591
13206
|
username: '',
|
|
12592
13207
|
password: '',
|
|
12593
13208
|
loading: undefined,
|
|
@@ -12600,7 +13215,7 @@ var Login = function Login(_ref) {
|
|
|
12600
13215
|
auth = _ref.auth,
|
|
12601
13216
|
onLogin = _ref.onLogin;
|
|
12602
13217
|
|
|
12603
|
-
var _useSetState = useSetState(initialState$
|
|
13218
|
+
var _useSetState = useSetState(initialState$5),
|
|
12604
13219
|
state = _useSetState[0],
|
|
12605
13220
|
setState = _useSetState[1];
|
|
12606
13221
|
|
|
@@ -13103,6 +13718,7 @@ exports.CreateContainer = CreateContainer;
|
|
|
13103
13718
|
exports.DatabaseCtx = DatabaseCtx;
|
|
13104
13719
|
exports.Delete = Delete;
|
|
13105
13720
|
exports.DownloadField = DownloadField;
|
|
13721
|
+
exports.EditComponent = EditComponent;
|
|
13106
13722
|
exports.EditableField = EditableField;
|
|
13107
13723
|
exports.EmailInput = EmailInput;
|
|
13108
13724
|
exports.FileUpload = FileUpload;
|
|
@@ -13168,6 +13784,7 @@ exports.RestClient = RestClient;
|
|
|
13168
13784
|
exports.SearchInput = SearchInput;
|
|
13169
13785
|
exports.SearchLabels = SearchLabels;
|
|
13170
13786
|
exports.SearchOptionsLabels = SearchOptionsLabels;
|
|
13787
|
+
exports.SearchRenderField = SearchRenderField;
|
|
13171
13788
|
exports.SearchVocabularyLabels = SearchVocabularyLabels;
|
|
13172
13789
|
exports.Select = Select;
|
|
13173
13790
|
exports.Sharing = Sharing;
|
|
@@ -13183,6 +13800,7 @@ exports.UserCtx = UserCtx;
|
|
|
13183
13800
|
exports.UserForm = UserForm;
|
|
13184
13801
|
exports.UsersCtx = UsersCtx;
|
|
13185
13802
|
exports.UsersToolbar = UsersToolbar;
|
|
13803
|
+
exports.VocabularyRenderField = VocabularyRenderField;
|
|
13186
13804
|
exports.base64ToArrayBuffer = base64ToArrayBuffer;
|
|
13187
13805
|
exports.buildQs = buildQs;
|
|
13188
13806
|
exports.classnames = classnames;
|