@guillotinaweb/react-gmi 0.24.1 → 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 +5 -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 +694 -105
- package/dist/react-gmi.esm.js.map +1 -1
- package/dist/react-gmi.js +694 -104
- package/dist/react-gmi.js.map +1 -1
- package/dist/react-gmi.modern.js +592 -83
- package/dist/react-gmi.modern.js.map +1 -1
- package/dist/react-gmi.umd.js +694 -104
- package/dist/react-gmi.umd.js.map +1 -1
- package/package.json +1 -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 = [];
|
|
3143
3244
|
|
|
3144
|
-
if (
|
|
3145
|
-
|
|
3245
|
+
if (typeNameQuery) {
|
|
3246
|
+
typeNameParsed = parser("type_name__in=" + typeNameQuery);
|
|
3146
3247
|
}
|
|
3147
3248
|
|
|
3148
|
-
|
|
3249
|
+
if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
|
|
3250
|
+
searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed, typeNameParsed, sortParsed));
|
|
3251
|
+
}
|
|
3252
|
+
|
|
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,
|
|
@@ -3828,12 +3915,98 @@ var getDefaultValueEditableField = function getDefaultValueEditableField(intl) {
|
|
|
3828
3915
|
});
|
|
3829
3916
|
};
|
|
3830
3917
|
|
|
3831
|
-
var
|
|
3832
|
-
var _schema$items;
|
|
3833
|
-
|
|
3918
|
+
var SearchRenderField = function SearchRenderField(_ref3) {
|
|
3834
3919
|
var schema = _ref3.schema,
|
|
3835
3920
|
value = _ref3.value,
|
|
3836
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;
|
|
3837
4010
|
var intl = reactIntl.useIntl();
|
|
3838
4011
|
var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
|
|
3839
4012
|
var vocabularyName = (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName);
|
|
@@ -3868,11 +4041,11 @@ var VocabularyRenderField = function VocabularyRenderField(_ref3) {
|
|
|
3868
4041
|
|
|
3869
4042
|
return /*#__PURE__*/React__default['default'].createElement(RenderField, getRenderProps());
|
|
3870
4043
|
};
|
|
3871
|
-
function RenderFieldComponent(
|
|
3872
|
-
var schema =
|
|
3873
|
-
field =
|
|
3874
|
-
val =
|
|
3875
|
-
modifyContent =
|
|
4044
|
+
function RenderFieldComponent(_ref5) {
|
|
4045
|
+
var schema = _ref5.schema,
|
|
4046
|
+
field = _ref5.field,
|
|
4047
|
+
val = _ref5.val,
|
|
4048
|
+
modifyContent = _ref5.modifyContent;
|
|
3876
4049
|
var intl = reactIntl.useIntl();
|
|
3877
4050
|
var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
|
|
3878
4051
|
|
|
@@ -3898,6 +4071,10 @@ function RenderFieldComponent(_ref4) {
|
|
|
3898
4071
|
} else if (schema != null && (_schema$items2 = schema.items) != null && _schema$items2.vocabularyName || schema != null && schema.vocabularyName) {
|
|
3899
4072
|
renderProps['Widget'] = VocabularyRenderField;
|
|
3900
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;
|
|
3901
4078
|
}
|
|
3902
4079
|
|
|
3903
4080
|
return renderProps;
|
|
@@ -3974,6 +4151,353 @@ Select.propTypes = {
|
|
|
3974
4151
|
vocabularyName: PropTypes__default['default'].string
|
|
3975
4152
|
};
|
|
3976
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
|
+
|
|
3977
4501
|
var EditComponent = React__default['default'].forwardRef(function (_ref, ref) {
|
|
3978
4502
|
var schema = _ref.schema,
|
|
3979
4503
|
val = _ref.val,
|
|
@@ -3982,7 +4506,41 @@ var EditComponent = React__default['default'].forwardRef(function (_ref, ref) {
|
|
|
3982
4506
|
className = _ref.className,
|
|
3983
4507
|
rest = _objectWithoutPropertiesLoose(_ref, ["schema", "val", "setValue", "dataTest", "className"]);
|
|
3984
4508
|
|
|
3985
|
-
|
|
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') {
|
|
3986
4544
|
return /*#__PURE__*/React__default['default'].createElement(Textarea, _extends({
|
|
3987
4545
|
value: val || '',
|
|
3988
4546
|
className: className,
|
|
@@ -4113,15 +4671,19 @@ EditComponent.displayName = 'EditComponent';
|
|
|
4113
4671
|
function IAttachment(_ref) {
|
|
4114
4672
|
var properties = _ref.properties,
|
|
4115
4673
|
values = _ref.values;
|
|
4674
|
+
var intl = reactIntl.useIntl();
|
|
4116
4675
|
var Ctx = useTraversal();
|
|
4117
4676
|
var modifyContent = Ctx.hasPerm('guillotina.ModifyContent');
|
|
4118
4677
|
return /*#__PURE__*/React__default['default'].createElement(Table, {
|
|
4119
|
-
headers: [
|
|
4678
|
+
headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
|
|
4120
4679
|
className: "is-striped is-fullwidth is-size-7"
|
|
4121
4680
|
}, Object.keys(properties).map(function (key) {
|
|
4122
4681
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
4123
4682
|
key: 'attachment_' + key
|
|
4124
4683
|
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4684
|
+
style: {
|
|
4685
|
+
width: '150px'
|
|
4686
|
+
},
|
|
4125
4687
|
key: 1
|
|
4126
4688
|
}, key), /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4127
4689
|
key: 2
|
|
@@ -4217,7 +4779,7 @@ function IMultiAttachment(_ref) {
|
|
|
4217
4779
|
};
|
|
4218
4780
|
|
|
4219
4781
|
return /*#__PURE__*/React__default['default'].createElement(Table, {
|
|
4220
|
-
headers: [
|
|
4782
|
+
headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
|
|
4221
4783
|
className: "is-striped is-fullwidth is-size-7"
|
|
4222
4784
|
}, fileKeyToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
|
|
4223
4785
|
loading: loading,
|
|
@@ -4234,7 +4796,10 @@ function IMultiAttachment(_ref) {
|
|
|
4234
4796
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
4235
4797
|
key: 'multiattachment_' + key
|
|
4236
4798
|
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4237
|
-
key: 1
|
|
4799
|
+
key: 1,
|
|
4800
|
+
style: {
|
|
4801
|
+
width: '150px'
|
|
4802
|
+
}
|
|
4238
4803
|
}, key), /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4239
4804
|
key: 2
|
|
4240
4805
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -4522,7 +5087,7 @@ function IImageAttachment(_ref) {
|
|
|
4522
5087
|
};
|
|
4523
5088
|
|
|
4524
5089
|
return /*#__PURE__*/React__default['default'].createElement(Table, {
|
|
4525
|
-
headers: [
|
|
5090
|
+
headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
|
|
4526
5091
|
className: "is-striped is-fullwidth is-size-7"
|
|
4527
5092
|
}, showConfirmToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
|
|
4528
5093
|
loading: loading,
|
|
@@ -4534,7 +5099,10 @@ function IImageAttachment(_ref) {
|
|
|
4534
5099
|
},
|
|
4535
5100
|
message: intl.formatMessage(genericFileMessages.confirm_message_delete_image)
|
|
4536
5101
|
}), values['image'] && /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4537
|
-
key: 1
|
|
5102
|
+
key: 1,
|
|
5103
|
+
style: {
|
|
5104
|
+
width: '150px'
|
|
5105
|
+
}
|
|
4538
5106
|
}, intl.formatMessage(genericMessages.image)), /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4539
5107
|
key: 2
|
|
4540
5108
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -4824,7 +5392,7 @@ function IMultiImageAttachment(_ref) {
|
|
|
4824
5392
|
};
|
|
4825
5393
|
|
|
4826
5394
|
return /*#__PURE__*/React__default['default'].createElement(Table, {
|
|
4827
|
-
headers: [
|
|
5395
|
+
headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
|
|
4828
5396
|
className: "is-striped is-fullwidth is-size-7"
|
|
4829
5397
|
}, fileKeyToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
|
|
4830
5398
|
loading: loading,
|
|
@@ -4841,7 +5409,10 @@ function IMultiImageAttachment(_ref) {
|
|
|
4841
5409
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
4842
5410
|
key: "multiimageattachment_" + key
|
|
4843
5411
|
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4844
|
-
key: 1
|
|
5412
|
+
key: 1,
|
|
5413
|
+
style: {
|
|
5414
|
+
width: '150px'
|
|
5415
|
+
}
|
|
4845
5416
|
}, key), /*#__PURE__*/React__default['default'].createElement("td", {
|
|
4846
5417
|
key: 2
|
|
4847
5418
|
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -6322,7 +6893,7 @@ function SearchVocabularyLabels(props) {
|
|
|
6322
6893
|
return null;
|
|
6323
6894
|
}
|
|
6324
6895
|
|
|
6325
|
-
var initialState$
|
|
6896
|
+
var initialState$2 = {
|
|
6326
6897
|
page: 0,
|
|
6327
6898
|
items: [],
|
|
6328
6899
|
loading: true,
|
|
@@ -6341,7 +6912,7 @@ function PanelItems() {
|
|
|
6341
6912
|
var intl = reactIntl.useIntl();
|
|
6342
6913
|
var Ctx = useTraversal();
|
|
6343
6914
|
|
|
6344
|
-
var _useSetState = useSetState(initialState$
|
|
6915
|
+
var _useSetState = useSetState(initialState$2),
|
|
6345
6916
|
state = _useSetState[0],
|
|
6346
6917
|
setState = _useSetState[1];
|
|
6347
6918
|
|
|
@@ -6791,7 +7362,7 @@ function PanelProperties() {
|
|
|
6791
7362
|
icon: model.icon,
|
|
6792
7363
|
align: "is-left",
|
|
6793
7364
|
className: "has-text-grey"
|
|
6794
|
-
}),
|
|
7365
|
+
}), "\xA0", /*#__PURE__*/React__default['default'].createElement("span", null, Ctx.context.title || Ctx.context['@name']))), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
6795
7366
|
className: "level-right"
|
|
6796
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", {
|
|
6797
7368
|
className: "columns"
|
|
@@ -6800,13 +7371,20 @@ function PanelProperties() {
|
|
|
6800
7371
|
}, /*#__PURE__*/React__default['default'].createElement("table", {
|
|
6801
7372
|
className: "table is-striped is-fullwidth is-size-7"
|
|
6802
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
|
+
},
|
|
6803
7377
|
className: "is-2"
|
|
6804
7378
|
}, intl.formatMessage(genericMessages.property)), /*#__PURE__*/React__default['default'].createElement("th", {
|
|
6805
7379
|
className: "is-8"
|
|
6806
7380
|
}, intl.formatMessage(genericMessages.value)))), /*#__PURE__*/React__default['default'].createElement("tbody", null, showProperties.map(function (prop) {
|
|
6807
7381
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
6808
7382
|
key: 'prop' + prop
|
|
6809
|
-
}, /*#__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, {
|
|
6810
7388
|
field: prop,
|
|
6811
7389
|
value: Ctx.context[prop],
|
|
6812
7390
|
modifyContent: false
|
|
@@ -6814,6 +7392,9 @@ function PanelProperties() {
|
|
|
6814
7392
|
}))), properties.length > 0 && /*#__PURE__*/React__default['default'].createElement("table", {
|
|
6815
7393
|
className: "table is-striped is-fullwidth is-size-7"
|
|
6816
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
|
+
},
|
|
6817
7398
|
className: "is-2"
|
|
6818
7399
|
}, intl.formatMessage(genericMessages.property)), /*#__PURE__*/React__default['default'].createElement("th", {
|
|
6819
7400
|
className: "is-8"
|
|
@@ -6822,7 +7403,11 @@ function PanelProperties() {
|
|
|
6822
7403
|
value = _ref.value;
|
|
6823
7404
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
6824
7405
|
key: 'prop' + key
|
|
6825
|
-
}, /*#__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, {
|
|
6826
7411
|
field: key,
|
|
6827
7412
|
value: Ctx.context[key],
|
|
6828
7413
|
schema: value,
|
|
@@ -7553,13 +8138,13 @@ function TagsWidget(_ref) {
|
|
|
7553
8138
|
|
|
7554
8139
|
/* eslint jsx-a11y/anchor-is-valid: "off" */
|
|
7555
8140
|
|
|
7556
|
-
var initialState$
|
|
8141
|
+
var initialState$3 = {
|
|
7557
8142
|
types: undefined
|
|
7558
8143
|
};
|
|
7559
8144
|
function CreateButton() {
|
|
7560
8145
|
var intl = reactIntl.useIntl();
|
|
7561
8146
|
|
|
7562
|
-
var _useSetState = useSetState(initialState$
|
|
8147
|
+
var _useSetState = useSetState(initialState$3),
|
|
7563
8148
|
state = _useSetState[0],
|
|
7564
8149
|
setState = _useSetState[1];
|
|
7565
8150
|
|
|
@@ -7645,7 +8230,7 @@ function ContextToolbar(_ref) {
|
|
|
7645
8230
|
|
|
7646
8231
|
var intl = reactIntl.useIntl();
|
|
7647
8232
|
|
|
7648
|
-
var _useSetState2 = useSetState(initialState$
|
|
8233
|
+
var _useSetState2 = useSetState(initialState$3),
|
|
7649
8234
|
state = _useSetState2[0],
|
|
7650
8235
|
setState = _useSetState2[1];
|
|
7651
8236
|
|
|
@@ -8840,15 +9425,19 @@ var editableFields = ['title', 'description', 'effective_date', 'expiration_date
|
|
|
8840
9425
|
function IDublinCore(_ref) {
|
|
8841
9426
|
var properties = _ref.properties,
|
|
8842
9427
|
values = _ref.values;
|
|
9428
|
+
var intl = reactIntl.useIntl();
|
|
8843
9429
|
var Ctx = useTraversal();
|
|
8844
9430
|
var modifyContent = Ctx.hasPerm('guillotina.ModifyContent');
|
|
8845
9431
|
return /*#__PURE__*/React__default['default'].createElement(Table, {
|
|
8846
|
-
headers: [
|
|
9432
|
+
headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
|
|
8847
9433
|
className: "is-striped is-fullwidth is-size-7"
|
|
8848
9434
|
}, Object.keys(properties).map(function (key) {
|
|
8849
9435
|
return /*#__PURE__*/React__default['default'].createElement("tr", {
|
|
8850
9436
|
key: 'dublin_' + key
|
|
8851
9437
|
}, /*#__PURE__*/React__default['default'].createElement("td", {
|
|
9438
|
+
style: {
|
|
9439
|
+
width: '150px'
|
|
9440
|
+
},
|
|
8852
9441
|
key: 1
|
|
8853
9442
|
}, key), /*#__PURE__*/React__default['default'].createElement("td", {
|
|
8854
9443
|
key: 2
|
|
@@ -9059,13 +9648,13 @@ function GroupCtx() {
|
|
|
9059
9648
|
}
|
|
9060
9649
|
};
|
|
9061
9650
|
|
|
9062
|
-
var addUser = function addUser(
|
|
9651
|
+
var addUser = function addUser(newUserId) {
|
|
9063
9652
|
try {
|
|
9064
9653
|
var data = {};
|
|
9065
9654
|
Ctx.context.users.forEach(function (user) {
|
|
9066
9655
|
data[user] = true;
|
|
9067
9656
|
});
|
|
9068
|
-
data[
|
|
9657
|
+
data[newUserId] = true;
|
|
9069
9658
|
return Promise.resolve(Ctx.client.rest.patch(Ctx.containerPath + "@groups/" + Ctx.context['@name'], {
|
|
9070
9659
|
users: data
|
|
9071
9660
|
})).then(function (_ref3) {
|
|
@@ -9084,7 +9673,7 @@ function GroupCtx() {
|
|
|
9084
9673
|
"value": " added to group"
|
|
9085
9674
|
}]
|
|
9086
9675
|
}, {
|
|
9087
|
-
user:
|
|
9676
|
+
user: newUserId
|
|
9088
9677
|
}), errorMessage);
|
|
9089
9678
|
});
|
|
9090
9679
|
} catch (e) {
|
|
@@ -9555,7 +10144,7 @@ const registry = {
|
|
|
9555
10144
|
|
|
9556
10145
|
*/
|
|
9557
10146
|
|
|
9558
|
-
var initialState$
|
|
10147
|
+
var initialState$4 = {
|
|
9559
10148
|
path: '',
|
|
9560
10149
|
loading: false,
|
|
9561
10150
|
context: undefined,
|
|
@@ -12458,10 +13047,10 @@ function Guillotina(_ref) {
|
|
|
12458
13047
|
var searchPath = location.get('path') || '/';
|
|
12459
13048
|
|
|
12460
13049
|
if (searchPath && searchPath !== '') {
|
|
12461
|
-
initialState$
|
|
13050
|
+
initialState$4.path = searchPath;
|
|
12462
13051
|
}
|
|
12463
13052
|
|
|
12464
|
-
var _useReducer = React.useReducer(guillotinaReducer, initialState$
|
|
13053
|
+
var _useReducer = React.useReducer(guillotinaReducer, initialState$4),
|
|
12465
13054
|
state = _useReducer[0],
|
|
12466
13055
|
dispatch = _useReducer[1];
|
|
12467
13056
|
|
|
@@ -12613,7 +13202,7 @@ var ERRORS = {
|
|
|
12613
13202
|
failed_to_fetch: 'Failed to fetch data: Backend not running?',
|
|
12614
13203
|
invalid_credentials: 'Failed! Invalid credentials'
|
|
12615
13204
|
};
|
|
12616
|
-
var initialState$
|
|
13205
|
+
var initialState$5 = {
|
|
12617
13206
|
username: '',
|
|
12618
13207
|
password: '',
|
|
12619
13208
|
loading: undefined,
|
|
@@ -12626,7 +13215,7 @@ var Login = function Login(_ref) {
|
|
|
12626
13215
|
auth = _ref.auth,
|
|
12627
13216
|
onLogin = _ref.onLogin;
|
|
12628
13217
|
|
|
12629
|
-
var _useSetState = useSetState(initialState$
|
|
13218
|
+
var _useSetState = useSetState(initialState$5),
|
|
12630
13219
|
state = _useSetState[0],
|
|
12631
13220
|
setState = _useSetState[1];
|
|
12632
13221
|
|
|
@@ -13195,6 +13784,7 @@ exports.RestClient = RestClient;
|
|
|
13195
13784
|
exports.SearchInput = SearchInput;
|
|
13196
13785
|
exports.SearchLabels = SearchLabels;
|
|
13197
13786
|
exports.SearchOptionsLabels = SearchOptionsLabels;
|
|
13787
|
+
exports.SearchRenderField = SearchRenderField;
|
|
13198
13788
|
exports.SearchVocabularyLabels = SearchVocabularyLabels;
|
|
13199
13789
|
exports.Select = Select;
|
|
13200
13790
|
exports.Sharing = Sharing;
|