@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.
@@ -3021,6 +3021,45 @@
3021
3021
  }, error ? error : ''));
3022
3022
  });
3023
3023
 
3024
+ var defaultEvents = ['mousedown', 'touchstart'];
3025
+
3026
+ var on = function on(obj) {
3027
+ return obj.addEventListener.apply(obj, [].slice.call(arguments, 1));
3028
+ };
3029
+
3030
+ var off = function off(obj) {
3031
+ return obj.removeEventListener.apply(obj, [].slice.call(arguments, 1));
3032
+ };
3033
+
3034
+ function useClickAway(ref, onClickAway, events) {
3035
+ if (events === void 0) {
3036
+ events = defaultEvents;
3037
+ }
3038
+
3039
+ var savedCallback = React.useRef(onClickAway);
3040
+ React.useEffect(function () {
3041
+ savedCallback.current = onClickAway;
3042
+ }, [onClickAway]);
3043
+ React.useEffect(function () {
3044
+ var handler = function handler(event) {
3045
+ var el = ref.current;
3046
+ el && !el.contains(event.target) && savedCallback.current(event);
3047
+ };
3048
+
3049
+ for (var _iterator = _createForOfIteratorHelperLoose(events), _step; !(_step = _iterator()).done;) {
3050
+ var eventName = _step.value;
3051
+ on(document, eventName, handler);
3052
+ }
3053
+
3054
+ return function () {
3055
+ for (var _iterator2 = _createForOfIteratorHelperLoose(events), _step2; !(_step2 = _iterator2()).done;) {
3056
+ var eventName = _step2.value;
3057
+ off(document, eventName, handler);
3058
+ }
3059
+ };
3060
+ }, [events, ref]);
3061
+ }
3062
+
3024
3063
  function debounce(func, wait) {
3025
3064
  var timeout;
3026
3065
  return function () {
@@ -3065,7 +3104,11 @@
3065
3104
  _ref$dataTestItem = _ref.dataTestItem,
3066
3105
  dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
3067
3106
  _ref$renderTextItemOp = _ref.renderTextItemOption,
3068
- renderTextItemOption = _ref$renderTextItemOp === void 0 ? null : _ref$renderTextItemOp;
3107
+ renderTextItemOption = _ref$renderTextItemOp === void 0 ? null : _ref$renderTextItemOp,
3108
+ _ref$typeNameQuery = _ref.typeNameQuery,
3109
+ typeNameQuery = _ref$typeNameQuery === void 0 ? null : _ref$typeNameQuery,
3110
+ _ref$labelProperty = _ref.labelProperty,
3111
+ labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
3069
3112
  var intl = reactIntl.useIntl();
3070
3113
 
3071
3114
  var _useSetState = useSetState(initialState),
@@ -3087,8 +3130,19 @@
3087
3130
  PageSize = _useConfig.PageSize,
3088
3131
  SearchEngine = _useConfig.SearchEngine;
3089
3132
 
3090
- var _useState = React.useState(generateUID('search_input')),
3091
- uid = _useState[0];
3133
+ var _useState = React.useState(undefined),
3134
+ valueLabel = _useState[0],
3135
+ setValueLabel = _useState[1];
3136
+
3137
+ var _useState2 = React.useState(false),
3138
+ setIsLoadingData = _useState2[1];
3139
+
3140
+ var _useState3 = React.useState(generateUID('search_input')),
3141
+ uid = _useState3[0];
3142
+
3143
+ useClickAway(wrapperRef, function () {
3144
+ setIsOpen(false);
3145
+ });
3092
3146
 
3093
3147
  var getHeight = function getHeight() {
3094
3148
  if (wrapperRef && wrapperRef.current) {
@@ -3102,10 +3156,52 @@
3102
3156
  };
3103
3157
  };
3104
3158
 
3105
- var delayedQuery = React__default['default'].useCallback(debounce(function (value) {
3159
+ var delayedQuery = React.useCallback(debounce(function (value) {
3106
3160
  return handleSearch(0, false, value);
3107
3161
  }, 500), []);
3108
3162
 
3163
+ var inicializeLabels = function inicializeLabels() {
3164
+ try {
3165
+ var _temp2 = function () {
3166
+ if (labelProperty !== 'id' && value) {
3167
+ setIsLoadingData(true);
3168
+ var searchTermQs = [];
3169
+ var searchTermParsed = ["id", value];
3170
+ var getSearch = traversal.registry.get;
3171
+ var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
3172
+ var qsParsed = traversal.client[fnName]({
3173
+ path: traversal.path,
3174
+ start: 0,
3175
+ pageSize: PageSize,
3176
+ withDepth: false
3177
+ });
3178
+ var typeNameParsed = [];
3179
+
3180
+ if (typeNameQuery) {
3181
+ typeNameParsed = parser("type_name__in=" + typeNameQuery);
3182
+ }
3183
+
3184
+ if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
3185
+ searchTermQs = buildQs([].concat(qs, [searchTermParsed], qsParsed, typeNameParsed));
3186
+ }
3187
+
3188
+ return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
3189
+ var newValuesLabel = data.items.reduce(function (result, item) {
3190
+ result[item.id] = get$1(item, labelProperty, item.id);
3191
+ return result;
3192
+ }, {});
3193
+ setValueLabel(newValuesLabel);
3194
+ setIsLoadingData(false);
3195
+ });
3196
+ }
3197
+ }();
3198
+
3199
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
3200
+ } catch (e) {
3201
+ return Promise.reject(e);
3202
+ }
3203
+ };
3204
+
3109
3205
  var handleSearch = function handleSearch(page, concat, value) {
3110
3206
  if (page === void 0) {
3111
3207
  page = 0;
@@ -3130,19 +3226,28 @@
3130
3226
  searchTermParsed = parser(queryCondition + "=" + value);
3131
3227
  }
3132
3228
 
3133
- var get = traversal.registry.get;
3134
- var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
3229
+ var _get = traversal.registry.get;
3230
+
3231
+ var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
3232
+
3135
3233
  var qsParsed = traversal.client[fnName]({
3136
3234
  path: traversal.path,
3137
3235
  start: page * PageSize,
3138
- pageSize: PageSize
3236
+ pageSize: PageSize,
3237
+ withDepth: false
3139
3238
  });
3239
+ var sortParsed = parser("_sort_des=title");
3240
+ var typeNameParsed = [];
3140
3241
 
3141
- if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0) {
3142
- searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed));
3242
+ if (typeNameQuery) {
3243
+ typeNameParsed = parser("type_name__in=" + typeNameQuery);
3143
3244
  }
3144
3245
 
3145
- return Promise.resolve(traversal.client.search(path, searchTermQs, false, false, page * PageSize, PageSize)).then(function (data) {
3246
+ if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
3247
+ searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed, typeNameParsed, sortParsed));
3248
+ }
3249
+
3250
+ return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
3146
3251
  var _data$items_total;
3147
3252
 
3148
3253
  var newItems = options.items && concat ? [].concat(options.items, data.items) : data.items;
@@ -3166,20 +3271,24 @@
3166
3271
  return item.title || item['@name'];
3167
3272
  };
3168
3273
 
3169
- React__default['default'].useEffect(function () {
3170
- if (path && !options.loading && !options.items) {
3171
-
3172
- try {
3173
- handleSearch(options.page);
3174
- } catch (e) {
3175
- Promise.reject(e);
3176
- }
3274
+ React.useEffect(function () {
3275
+ if (value) {
3276
+ inicializeLabels();
3277
+ } else {
3278
+ setValueLabel({});
3177
3279
  }
3178
- }, [path, options.loading, options.items]);
3280
+ }, [path, value]);
3281
+
3282
+ if (valueLabel === undefined) {
3283
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3284
+ className: "spinner"
3285
+ });
3286
+ }
3287
+
3179
3288
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
3180
3289
  "data-test": dataTestWrapper,
3181
3290
  ref: wrapperRef,
3182
- className: "dropdown " + (isOpen ? 'is-active' : ''),
3291
+ className: "dropdown mb-2 " + (isOpen ? 'is-active' : ''),
3183
3292
  onBlur: function onBlur(ev) {
3184
3293
  if (!ev.currentTarget.contains(ev.relatedTarget)) {
3185
3294
  if (searchTerm !== '') {
@@ -3187,7 +3296,7 @@
3187
3296
  setOptions(initialState);
3188
3297
  }
3189
3298
 
3190
- setIsOpen(!isOpen);
3299
+ setIsOpen(false);
3191
3300
  }
3192
3301
  }
3193
3302
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -3195,12 +3304,16 @@
3195
3304
  }, /*#__PURE__*/React__default['default'].createElement("button", {
3196
3305
  className: "button " + btnClass,
3197
3306
  onClick: function onClick(ev) {
3198
- ev.preventDefault();
3307
+ ev.target.blur();
3199
3308
  setIsOpen(!isOpen);
3309
+
3310
+ if (!options.loading && !options.items) {
3311
+ handleSearch(options.page);
3312
+ }
3200
3313
  },
3201
3314
  "aria-haspopup": "true",
3202
3315
  "aria-controls": "dropdown-menu"
3203
- }, /*#__PURE__*/React__default['default'].createElement("span", null, value && value.title ? value.title : 'Choose...'), /*#__PURE__*/React__default['default'].createElement("span", {
3316
+ }, /*#__PURE__*/React__default['default'].createElement("span", null, value ? get$1(valueLabel, value, value) : intl.formatMessage(genericMessages.choose)), /*#__PURE__*/React__default['default'].createElement("span", {
3204
3317
  className: "icon"
3205
3318
  }, /*#__PURE__*/React__default['default'].createElement("i", {
3206
3319
  className: "fas fa-angle-down",
@@ -3228,12 +3341,16 @@
3228
3341
  })), /*#__PURE__*/React__default['default'].createElement("hr", {
3229
3342
  className: "dropdown-divider"
3230
3343
  }), options.loading && /*#__PURE__*/React__default['default'].createElement(Loading, null), options.items && options.items.map(function (item) {
3231
- return /*#__PURE__*/React__default['default'].createElement("a", {
3232
- href: "#",
3233
- className: "dropdown-item editable " + (value && value.id === item.id ? 'is-active' : ''),
3344
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3345
+ className: "dropdown-item editable " + (value === item.id ? 'is-active' : ''),
3234
3346
  "data-test": dataTestItem + "-" + item.id,
3235
- onMouseDown: function onMouseDown() {
3236
- onChange && onChange(item);
3347
+ onMouseDown: function onMouseDown(ev) {
3348
+ ev.preventDefault();
3349
+
3350
+ if (onChange) {
3351
+ onChange(item.id);
3352
+ }
3353
+
3237
3354
  setIsOpen(false);
3238
3355
  },
3239
3356
  key: item.path
@@ -3256,11 +3373,20 @@
3256
3373
  };
3257
3374
  SearchInput.propTypes = {
3258
3375
  onChange: PropTypes__default['default'].func,
3259
- value: PropTypes__default['default'].object,
3260
- client: PropTypes__default['default'].object,
3376
+ value: PropTypes__default['default'].string,
3261
3377
  path: PropTypes__default['default'].string,
3262
- PageSize: PropTypes__default['default'].number,
3263
- btnClass: PropTypes__default['default'].string
3378
+ btnClass: PropTypes__default['default'].string,
3379
+ error: PropTypes__default['default'].string,
3380
+ errorZoneClassName: PropTypes__default['default'].string,
3381
+ traversal: PropTypes__default['default'].object,
3382
+ qs: PropTypes__default['default'].array,
3383
+ queryCondition: PropTypes__default['default'].string,
3384
+ dataTestWrapper: PropTypes__default['default'].string,
3385
+ dataTestSearchInput: PropTypes__default['default'].string,
3386
+ dataTestItem: PropTypes__default['default'].string,
3387
+ renderTextItemOption: PropTypes__default['default'].func,
3388
+ typeNameQuery: PropTypes__default['default'].string,
3389
+ labelProperty: PropTypes__default['default'].string
3264
3390
  };
3265
3391
 
3266
3392
  var InputList = React.forwardRef(function (_ref, ref) {
@@ -3319,45 +3445,6 @@
3319
3445
  }));
3320
3446
  });
3321
3447
 
3322
- var defaultEvents = ['mousedown', 'touchstart'];
3323
-
3324
- var on = function on(obj) {
3325
- return obj.addEventListener.apply(obj, [].slice.call(arguments, 1));
3326
- };
3327
-
3328
- var off = function off(obj) {
3329
- return obj.removeEventListener.apply(obj, [].slice.call(arguments, 1));
3330
- };
3331
-
3332
- function useClickAway(ref, onClickAway, events) {
3333
- if (events === void 0) {
3334
- events = defaultEvents;
3335
- }
3336
-
3337
- var savedCallback = React.useRef(onClickAway);
3338
- React.useEffect(function () {
3339
- savedCallback.current = onClickAway;
3340
- }, [onClickAway]);
3341
- React.useEffect(function () {
3342
- var handler = function handler(event) {
3343
- var el = ref.current;
3344
- el && !el.contains(event.target) && savedCallback.current(event);
3345
- };
3346
-
3347
- for (var _iterator = _createForOfIteratorHelperLoose(events), _step; !(_step = _iterator()).done;) {
3348
- var eventName = _step.value;
3349
- on(document, eventName, handler);
3350
- }
3351
-
3352
- return function () {
3353
- for (var _iterator2 = _createForOfIteratorHelperLoose(events), _step2; !(_step2 = _iterator2()).done;) {
3354
- var eventName = _step2.value;
3355
- off(document, eventName, handler);
3356
- }
3357
- };
3358
- }, [events, ref]);
3359
- }
3360
-
3361
3448
  function Dropdown(_ref) {
3362
3449
  var children = _ref.children,
3363
3450
  disabled = _ref.disabled,
@@ -3825,12 +3912,98 @@
3825
3912
  });
3826
3913
  };
3827
3914
 
3828
- var VocabularyRenderField = function VocabularyRenderField(_ref3) {
3829
- var _schema$items;
3830
-
3915
+ var SearchRenderField = function SearchRenderField(_ref3) {
3831
3916
  var schema = _ref3.schema,
3832
3917
  value = _ref3.value,
3833
3918
  modifyContent = _ref3.modifyContent;
3919
+
3920
+ var _useState = React.useState([]),
3921
+ valuesLabels = _useState[0],
3922
+ setValuesLabels = _useState[1];
3923
+
3924
+ var _useState2 = React.useState(false),
3925
+ isLoadingData = _useState2[0],
3926
+ setIsLoadingData = _useState2[1];
3927
+
3928
+ var traversal = useTraversal();
3929
+
3930
+ var _useConfig = useConfig(),
3931
+ SearchEngine = _useConfig.SearchEngine;
3932
+
3933
+ React.useEffect(function () {
3934
+ var fetchData = function fetchData(valuesToSearch) {
3935
+ try {
3936
+ setIsLoadingData(true);
3937
+ var searchTermQs = [];
3938
+ var searchTermParsed = ['__or', "id=" + valuesToSearch.join('%26id=')];
3939
+ var getSearch = traversal.registry.get;
3940
+ var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
3941
+ var qsParsed = traversal.client[fnName]({
3942
+ path: traversal.path,
3943
+ start: 0,
3944
+ pageSize: 100,
3945
+ withDepth: false
3946
+ });
3947
+
3948
+ if (searchTermParsed.length > 0 || qsParsed.length > 0) {
3949
+ searchTermQs = buildQs([searchTermParsed].concat(qsParsed));
3950
+ }
3951
+
3952
+ return Promise.resolve(traversal.client.search(traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false, 0, 100)).then(function (data) {
3953
+ var newValuesLabel = data.items.map(function (item) {
3954
+ var _schema$labelProperty;
3955
+
3956
+ return get$1(item, (_schema$labelProperty = schema == null ? void 0 : schema.labelProperty) != null ? _schema$labelProperty : 'title', item.id);
3957
+ });
3958
+ setValuesLabels(newValuesLabel);
3959
+ setIsLoadingData(false);
3960
+ });
3961
+ } catch (e) {
3962
+ return Promise.reject(e);
3963
+ }
3964
+ };
3965
+
3966
+ var valuesToSearch = value;
3967
+
3968
+ if (typeof valuesToSearch === 'string') {
3969
+ valuesToSearch = [valuesToSearch];
3970
+ }
3971
+
3972
+ if (valuesToSearch !== undefined && valuesToSearch.length > 0) {
3973
+ fetchData(valuesToSearch);
3974
+ } else {
3975
+ setValuesLabels([]);
3976
+ }
3977
+ }, [value]);
3978
+
3979
+ var getRenderValue = function getRenderValue() {
3980
+ console.log('get render values', value, valuesLabels);
3981
+
3982
+ if (value === undefined) {
3983
+ if (modifyContent) {
3984
+ return DEFAULT_VALUE_EDITABLE_FIELD;
3985
+ }
3986
+
3987
+ return DEFAULT_VALUE_NO_EDITABLE_FIELD;
3988
+ }
3989
+
3990
+ if (isLoadingData) {
3991
+ return 'Loading...';
3992
+ }
3993
+
3994
+ return valuesLabels;
3995
+ };
3996
+
3997
+ return /*#__PURE__*/React__default['default'].createElement(RenderField, {
3998
+ value: getRenderValue()
3999
+ });
4000
+ };
4001
+ var VocabularyRenderField = function VocabularyRenderField(_ref4) {
4002
+ var _schema$items;
4003
+
4004
+ var schema = _ref4.schema,
4005
+ value = _ref4.value,
4006
+ modifyContent = _ref4.modifyContent;
3834
4007
  var intl = reactIntl.useIntl();
3835
4008
  var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
3836
4009
  var vocabularyName = (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName);
@@ -3865,11 +4038,11 @@
3865
4038
 
3866
4039
  return /*#__PURE__*/React__default['default'].createElement(RenderField, getRenderProps());
3867
4040
  };
3868
- function RenderFieldComponent(_ref4) {
3869
- var schema = _ref4.schema,
3870
- field = _ref4.field,
3871
- val = _ref4.val,
3872
- modifyContent = _ref4.modifyContent;
4041
+ function RenderFieldComponent(_ref5) {
4042
+ var schema = _ref5.schema,
4043
+ field = _ref5.field,
4044
+ val = _ref5.val,
4045
+ modifyContent = _ref5.modifyContent;
3873
4046
  var intl = reactIntl.useIntl();
3874
4047
  var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
3875
4048
 
@@ -3895,6 +4068,10 @@
3895
4068
  } else if (schema != null && (_schema$items2 = schema.items) != null && _schema$items2.vocabularyName || schema != null && schema.vocabularyName) {
3896
4069
  renderProps['Widget'] = VocabularyRenderField;
3897
4070
  renderProps['schema'] = schema;
4071
+ } else if ((schema == null ? void 0 : schema.widget) === 'search' || (schema == null ? void 0 : schema.widget) === 'search_list') {
4072
+ renderProps['Widget'] = SearchRenderField;
4073
+ renderProps['value'] = val;
4074
+ renderProps['schema'] = schema;
3898
4075
  }
3899
4076
 
3900
4077
  return renderProps;
@@ -3971,6 +4148,353 @@
3971
4148
  vocabularyName: PropTypes__default['default'].string
3972
4149
  };
3973
4150
 
4151
+ var _SearchInputList$prop;
4152
+
4153
+ function debounce$1(func, wait) {
4154
+ var timeout;
4155
+ return function () {
4156
+ var context = this;
4157
+ var args = arguments;
4158
+
4159
+ var later = function later() {
4160
+ timeout = null;
4161
+ func.apply(context, args);
4162
+ };
4163
+
4164
+ clearTimeout(timeout);
4165
+ timeout = setTimeout(later, wait);
4166
+ };
4167
+ }
4168
+
4169
+ var initialState$1 = {
4170
+ page: 0,
4171
+ items: undefined,
4172
+ loading: false,
4173
+ items_total: 0
4174
+ };
4175
+ var SearchInputList = function SearchInputList(_ref) {
4176
+ var onChange = _ref.onChange,
4177
+ error = _ref.error,
4178
+ errorZoneClassName = _ref.errorZoneClassName,
4179
+ _ref$traversal = _ref.traversal,
4180
+ traversal = _ref$traversal === void 0 ? null : _ref$traversal,
4181
+ _ref$path = _ref.path,
4182
+ path = _ref$path === void 0 ? null : _ref$path,
4183
+ _ref$qs = _ref.qs,
4184
+ qs = _ref$qs === void 0 ? [] : _ref$qs,
4185
+ _ref$queryCondition = _ref.queryCondition,
4186
+ queryCondition = _ref$queryCondition === void 0 ? 'id__in' : _ref$queryCondition,
4187
+ value = _ref.value,
4188
+ _ref$btnClass = _ref.btnClass,
4189
+ btnClass = _ref$btnClass === void 0 ? '' : _ref$btnClass,
4190
+ _ref$dataTestWrapper = _ref.dataTestWrapper,
4191
+ dataTestWrapper = _ref$dataTestWrapper === void 0 ? 'wrapperSearchInputTest' : _ref$dataTestWrapper,
4192
+ _ref$dataTestSearchIn = _ref.dataTestSearchInput,
4193
+ dataTestSearchInput = _ref$dataTestSearchIn === void 0 ? 'searchInputTest' : _ref$dataTestSearchIn,
4194
+ _ref$dataTestItem = _ref.dataTestItem,
4195
+ dataTestItem = _ref$dataTestItem === void 0 ? 'searchInputItemTest' : _ref$dataTestItem,
4196
+ _ref$renderTextItemOp = _ref.renderTextItemOption,
4197
+ renderTextItemOption = _ref$renderTextItemOp === void 0 ? null : _ref$renderTextItemOp,
4198
+ _ref$typeNameQuery = _ref.typeNameQuery,
4199
+ typeNameQuery = _ref$typeNameQuery === void 0 ? null : _ref$typeNameQuery,
4200
+ _ref$labelProperty = _ref.labelProperty,
4201
+ labelProperty = _ref$labelProperty === void 0 ? 'id' : _ref$labelProperty;
4202
+ var intl = reactIntl.useIntl();
4203
+
4204
+ var _useSetState = useSetState(initialState$1),
4205
+ options = _useSetState[0],
4206
+ setOptions = _useSetState[1];
4207
+
4208
+ var _useState = React.useState(undefined),
4209
+ valuesLabel = _useState[0],
4210
+ setValuesLabels = _useState[1];
4211
+
4212
+ var _React$useState = React__default['default'].useState(false),
4213
+ isOpen = _React$useState[0],
4214
+ setIsOpen = _React$useState[1];
4215
+
4216
+ var _React$useState2 = React__default['default'].useState(''),
4217
+ searchTerm = _React$useState2[0],
4218
+ setSearchTerm = _React$useState2[1];
4219
+
4220
+ var inputRef = React__default['default'].useRef(null);
4221
+ var wrapperRef = React__default['default'].useRef(null);
4222
+
4223
+ var _useConfig = useConfig(),
4224
+ PageSize = _useConfig.PageSize,
4225
+ SearchEngine = _useConfig.SearchEngine;
4226
+
4227
+ var _useState2 = React.useState(false),
4228
+ isLoadingData = _useState2[0],
4229
+ setIsLoadingData = _useState2[1];
4230
+
4231
+ var _useState3 = React.useState(generateUID('search_input')),
4232
+ uid = _useState3[0];
4233
+
4234
+ useClickAway(wrapperRef, function () {
4235
+ setIsOpen(false);
4236
+ });
4237
+
4238
+ var getHeight = function getHeight() {
4239
+ if (wrapperRef && wrapperRef.current) {
4240
+ return {
4241
+ maxHeight: window.innerHeight - wrapperRef.current.getBoundingClientRect().top - 100 + "px"
4242
+ };
4243
+ }
4244
+
4245
+ return {
4246
+ maxHeight: 'auto'
4247
+ };
4248
+ };
4249
+
4250
+ var delayedQuery = React.useCallback(debounce$1(function (value) {
4251
+ return handleSearch(0, false, value);
4252
+ }, 500), []);
4253
+
4254
+ var handleSearch = function handleSearch(page, concat, value) {
4255
+ if (page === void 0) {
4256
+ page = 0;
4257
+ }
4258
+
4259
+ if (concat === void 0) {
4260
+ concat = false;
4261
+ }
4262
+
4263
+ if (value === void 0) {
4264
+ value = '';
4265
+ }
4266
+
4267
+ try {
4268
+ setOptions({
4269
+ loading: true
4270
+ });
4271
+ var searchTermQs = [];
4272
+ var searchTermParsed = [];
4273
+
4274
+ if (value !== '') {
4275
+ searchTermParsed = parser(queryCondition + "=" + value);
4276
+ }
4277
+
4278
+ var _get = traversal.registry.get;
4279
+
4280
+ var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
4281
+
4282
+ var qsParsed = traversal.client[fnName]({
4283
+ path: traversal.path,
4284
+ start: page * PageSize,
4285
+ pageSize: PageSize,
4286
+ withDepth: false
4287
+ });
4288
+ var sortParsed = parser("_sort_des=title");
4289
+ var typeNameParsed = [];
4290
+
4291
+ if (typeNameQuery) {
4292
+ typeNameParsed = parser("type_name__in=" + typeNameQuery);
4293
+ }
4294
+
4295
+ if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
4296
+ searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed, typeNameParsed, sortParsed));
4297
+ }
4298
+
4299
+ return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false)).then(function (data) {
4300
+ var _data$items_total;
4301
+
4302
+ var newItems = options.items && concat ? [].concat(options.items, data.items) : data.items;
4303
+ setOptions({
4304
+ items: newItems != null ? newItems : [],
4305
+ loading: false,
4306
+ items_total: (_data$items_total = data.items_total) != null ? _data$items_total : 0,
4307
+ page: page
4308
+ });
4309
+ });
4310
+ } catch (e) {
4311
+ return Promise.reject(e);
4312
+ }
4313
+ };
4314
+
4315
+ var inicializeLabels = function inicializeLabels() {
4316
+ try {
4317
+ var _temp2 = function () {
4318
+ if (labelProperty !== 'id' && value.length > 0) {
4319
+ setIsLoadingData(true);
4320
+ var searchTermQs = [];
4321
+ var searchTermParsed = ['__or', "id=" + value.join('%26id=')];
4322
+ var getSearch = traversal.registry.get;
4323
+ var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
4324
+ var qsParsed = traversal.client[fnName]({
4325
+ path: traversal.path,
4326
+ start: 0,
4327
+ pageSize: 100,
4328
+ withDepth: false
4329
+ });
4330
+ var typeNameParsed = [];
4331
+
4332
+ if (typeNameQuery) {
4333
+ typeNameParsed = parser("type_name__in=" + typeNameQuery);
4334
+ }
4335
+
4336
+ if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0 || typeNameParsed.length > 0) {
4337
+ searchTermQs = buildQs([].concat(qs, [searchTermParsed], qsParsed, typeNameParsed));
4338
+ }
4339
+
4340
+ return Promise.resolve(traversal.client.search(path ? path : traversal.client.getContainerFromPath(traversal.path), searchTermQs, false, false, 0, 100)).then(function (data) {
4341
+ var newValuesLabel = data.items.reduce(function (result, item) {
4342
+ result[item.id] = get$1(item, labelProperty, item.id);
4343
+ return result;
4344
+ }, {});
4345
+ setValuesLabels(newValuesLabel);
4346
+ setIsLoadingData(false);
4347
+ });
4348
+ }
4349
+ }();
4350
+
4351
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
4352
+ } catch (e) {
4353
+ return Promise.reject(e);
4354
+ }
4355
+ };
4356
+
4357
+ var renderTextItemOptionFn = function renderTextItemOptionFn(item) {
4358
+ if (renderTextItemOption) {
4359
+ return renderTextItemOption(item);
4360
+ }
4361
+
4362
+ return item.title || item['@name'];
4363
+ };
4364
+
4365
+ React__default['default'].useEffect(function () {
4366
+ if (!options.loading && !options.items && value.length > 0) {
4367
+ inicializeLabels();
4368
+ } else if (value.length === 0) {
4369
+ setValuesLabels({});
4370
+ }
4371
+ }, [path, options.loading, options.items]);
4372
+
4373
+ if (isLoadingData || valuesLabel === undefined) {
4374
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4375
+ className: "spinner"
4376
+ });
4377
+ }
4378
+
4379
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
4380
+ className: "tags mb-2"
4381
+ }, value.map(function (tag, index) {
4382
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4383
+ key: "input_list_" + tag + "_" + index,
4384
+ className: "tag is-info is-medium"
4385
+ }, get$1(valuesLabel, tag, tag), /*#__PURE__*/React__default['default'].createElement("button", {
4386
+ className: "delete is-small",
4387
+ onClick: function onClick(ev) {
4388
+ ev.stopPropagation();
4389
+ ev.preventDefault();
4390
+ onChange([].concat(value.filter(function (tag) {
4391
+ return value.indexOf(tag) !== index;
4392
+ })));
4393
+ }
4394
+ }));
4395
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
4396
+ "data-test": dataTestWrapper,
4397
+ ref: wrapperRef,
4398
+ className: "dropdown mb-2 " + (isOpen ? 'is-active' : ''),
4399
+ onBlur: function onBlur(ev) {
4400
+ if (!ev.currentTarget.contains(ev.relatedTarget)) {
4401
+ if (searchTerm !== '') {
4402
+ setSearchTerm('');
4403
+ setOptions(initialState$1);
4404
+ }
4405
+
4406
+ setIsOpen(false);
4407
+ }
4408
+ }
4409
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4410
+ className: "dropdown-trigger"
4411
+ }, /*#__PURE__*/React__default['default'].createElement("button", {
4412
+ className: "button " + btnClass,
4413
+ onClick: function onClick(ev) {
4414
+ ev.preventDefault();
4415
+ setIsOpen(!isOpen);
4416
+
4417
+ if (!options.loading && !options.items) {
4418
+ handleSearch(options.page);
4419
+ }
4420
+ },
4421
+ "aria-haspopup": "true",
4422
+ "aria-controls": "dropdown-menu"
4423
+ }, /*#__PURE__*/React__default['default'].createElement("span", null, intl.formatMessage(genericMessages.choose)), /*#__PURE__*/React__default['default'].createElement("span", {
4424
+ className: "icon"
4425
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
4426
+ className: "fas fa-angle-down",
4427
+ "aria-hidden": "true"
4428
+ })))), /*#__PURE__*/React__default['default'].createElement("div", {
4429
+ className: "dropdown-menu",
4430
+ id: "dropdown-menu",
4431
+ role: "menu",
4432
+ style: getHeight()
4433
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4434
+ className: "dropdown-content"
4435
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4436
+ className: "dropdown-item"
4437
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
4438
+ ref: inputRef,
4439
+ "data-test": dataTestSearchInput,
4440
+ className: "input",
4441
+ type: "text",
4442
+ placeholder: intl.formatMessage(genericMessages.search),
4443
+ value: searchTerm,
4444
+ onChange: function onChange(ev) {
4445
+ delayedQuery(ev.target.value);
4446
+ setSearchTerm(ev.target.value);
4447
+ }
4448
+ })), /*#__PURE__*/React__default['default'].createElement("hr", {
4449
+ className: "dropdown-divider"
4450
+ }), options.loading && /*#__PURE__*/React__default['default'].createElement(Loading, null), options.items && options.items.map(function (item) {
4451
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4452
+ className: "dropdown-item editable " + (value && value.id === item.id ? 'is-active' : ''),
4453
+ "data-test": dataTestItem + "-" + item.id,
4454
+ onMouseDown: function onMouseDown(ev) {
4455
+ ev.stopPropagation();
4456
+ ev.preventDefault();
4457
+
4458
+ if (onChange && !value.includes(item.id)) {
4459
+ var _extends2;
4460
+
4461
+ setValuesLabels(_extends({}, valuesLabel, (_extends2 = {}, _extends2[item.id] = get$1(item, labelProperty, item.id), _extends2)));
4462
+ onChange([].concat(value, [item.id]));
4463
+ }
4464
+ },
4465
+ key: item.path
4466
+ }, renderTextItemOptionFn(item));
4467
+ }), options.items && options.items.length === 0 && /*#__PURE__*/React__default['default'].createElement("div", {
4468
+ className: "dropdown-item"
4469
+ }, 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", {
4470
+ className: "dropdown-divider"
4471
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
4472
+ className: "dropdown-item editable",
4473
+ onMouseDown: function onMouseDown(ev) {
4474
+ ev.stopPropagation();
4475
+ ev.preventDefault();
4476
+ handleSearch(options.page + 1, true);
4477
+ }
4478
+ }, intl.formatMessage(genericMessages.load_more)))))), error && /*#__PURE__*/React__default['default'].createElement(ErrorZone, {
4479
+ className: errorZoneClassName,
4480
+ id: uid
4481
+ }, error ? error : ''));
4482
+ };
4483
+ SearchInputList.propTypes = (_SearchInputList$prop = {
4484
+ onChange: PropTypes__default['default'].func,
4485
+ path: PropTypes__default['default'].string,
4486
+ btnClass: PropTypes__default['default'].string,
4487
+ dataTestWrapper: PropTypes__default['default'].string,
4488
+ dataTestSearchInput: PropTypes__default['default'].string,
4489
+ dataTestItem: PropTypes__default['default'].string,
4490
+ renderTextItemOption: PropTypes__default['default'].func,
4491
+ typeNameQuery: PropTypes__default['default'].string,
4492
+ labelProperty: PropTypes__default['default'].string,
4493
+ error: PropTypes__default['default'].string,
4494
+ errorZoneClassName: PropTypes__default['default'].string,
4495
+ traversal: PropTypes__default['default'].object
4496
+ }, _SearchInputList$prop["path"] = PropTypes__default['default'].string, _SearchInputList$prop.qs = PropTypes__default['default'].array, _SearchInputList$prop.queryCondition = PropTypes__default['default'].string, _SearchInputList$prop);
4497
+
3974
4498
  var EditComponent = React__default['default'].forwardRef(function (_ref, ref) {
3975
4499
  var schema = _ref.schema,
3976
4500
  val = _ref.val,
@@ -3979,7 +4503,41 @@
3979
4503
  className = _ref.className,
3980
4504
  rest = _objectWithoutPropertiesLoose(_ref, ["schema", "val", "setValue", "dataTest", "className"]);
3981
4505
 
3982
- if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
4506
+ var traversal = useTraversal();
4507
+
4508
+ if ((schema == null ? void 0 : schema.widget) === 'search_list') {
4509
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, rest.placeholder && /*#__PURE__*/React__default['default'].createElement("label", {
4510
+ className: "label"
4511
+ }, rest.placeholder), /*#__PURE__*/React__default['default'].createElement(SearchInputList, _extends({
4512
+ value: val || [],
4513
+ traversal: traversal,
4514
+ className: className,
4515
+ onChange: function onChange(ev) {
4516
+ return setValue(ev);
4517
+ },
4518
+ queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
4519
+ dataTest: dataTest,
4520
+ path: schema.queryPath,
4521
+ labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
4522
+ typeNameQuery: schema != null && schema.typeNameQuery ? schema.typeNameQuery : null
4523
+ }, rest)));
4524
+ } else if ((schema == null ? void 0 : schema.widget) === 'search') {
4525
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, rest.placeholder && /*#__PURE__*/React__default['default'].createElement("label", {
4526
+ className: "label"
4527
+ }, rest.placeholder), /*#__PURE__*/React__default['default'].createElement(SearchInput, _extends({
4528
+ value: val,
4529
+ traversal: traversal,
4530
+ className: className,
4531
+ onChange: function onChange(ev) {
4532
+ return setValue(ev);
4533
+ },
4534
+ queryCondition: schema != null && schema.queryCondition ? schema.queryCondition : 'title__in',
4535
+ dataTest: dataTest,
4536
+ path: schema.queryPath,
4537
+ labelProperty: schema != null && schema.labelProperty ? schema.labelProperty : 'title',
4538
+ typeNameQuery: schema != null && schema.typeNameQuery ? schema.typeNameQuery : null
4539
+ }, rest)));
4540
+ } else if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
3983
4541
  return /*#__PURE__*/React__default['default'].createElement(Textarea, _extends({
3984
4542
  value: val || '',
3985
4543
  className: className,
@@ -4110,15 +4668,19 @@
4110
4668
  function IAttachment(_ref) {
4111
4669
  var properties = _ref.properties,
4112
4670
  values = _ref.values;
4671
+ var intl = reactIntl.useIntl();
4113
4672
  var Ctx = useTraversal();
4114
4673
  var modifyContent = Ctx.hasPerm('guillotina.ModifyContent');
4115
4674
  return /*#__PURE__*/React__default['default'].createElement(Table, {
4116
- headers: ['Field', 'Value'],
4675
+ headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
4117
4676
  className: "is-striped is-fullwidth is-size-7"
4118
4677
  }, Object.keys(properties).map(function (key) {
4119
4678
  return /*#__PURE__*/React__default['default'].createElement("tr", {
4120
4679
  key: 'attachment_' + key
4121
4680
  }, /*#__PURE__*/React__default['default'].createElement("td", {
4681
+ style: {
4682
+ width: '150px'
4683
+ },
4122
4684
  key: 1
4123
4685
  }, key), /*#__PURE__*/React__default['default'].createElement("td", {
4124
4686
  key: 2
@@ -4214,7 +4776,7 @@
4214
4776
  };
4215
4777
 
4216
4778
  return /*#__PURE__*/React__default['default'].createElement(Table, {
4217
- headers: ['Field', 'Value'],
4779
+ headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
4218
4780
  className: "is-striped is-fullwidth is-size-7"
4219
4781
  }, fileKeyToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
4220
4782
  loading: loading,
@@ -4231,7 +4793,10 @@
4231
4793
  return /*#__PURE__*/React__default['default'].createElement("tr", {
4232
4794
  key: 'multiattachment_' + key
4233
4795
  }, /*#__PURE__*/React__default['default'].createElement("td", {
4234
- key: 1
4796
+ key: 1,
4797
+ style: {
4798
+ width: '150px'
4799
+ }
4235
4800
  }, key), /*#__PURE__*/React__default['default'].createElement("td", {
4236
4801
  key: 2
4237
4802
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -4519,7 +5084,7 @@
4519
5084
  };
4520
5085
 
4521
5086
  return /*#__PURE__*/React__default['default'].createElement(Table, {
4522
- headers: ['Field', 'Value'],
5087
+ headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
4523
5088
  className: "is-striped is-fullwidth is-size-7"
4524
5089
  }, showConfirmToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
4525
5090
  loading: loading,
@@ -4531,7 +5096,10 @@
4531
5096
  },
4532
5097
  message: intl.formatMessage(genericFileMessages.confirm_message_delete_image)
4533
5098
  }), values['image'] && /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("td", {
4534
- key: 1
5099
+ key: 1,
5100
+ style: {
5101
+ width: '150px'
5102
+ }
4535
5103
  }, intl.formatMessage(genericMessages.image)), /*#__PURE__*/React__default['default'].createElement("td", {
4536
5104
  key: 2
4537
5105
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -4821,7 +5389,7 @@
4821
5389
  };
4822
5390
 
4823
5391
  return /*#__PURE__*/React__default['default'].createElement(Table, {
4824
- headers: ['Field', 'Value'],
5392
+ headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
4825
5393
  className: "is-striped is-fullwidth is-size-7"
4826
5394
  }, fileKeyToDelete && /*#__PURE__*/React__default['default'].createElement(Confirm, {
4827
5395
  loading: loading,
@@ -4838,7 +5406,10 @@
4838
5406
  return /*#__PURE__*/React__default['default'].createElement("tr", {
4839
5407
  key: "multiimageattachment_" + key
4840
5408
  }, /*#__PURE__*/React__default['default'].createElement("td", {
4841
- key: 1
5409
+ key: 1,
5410
+ style: {
5411
+ width: '150px'
5412
+ }
4842
5413
  }, key), /*#__PURE__*/React__default['default'].createElement("td", {
4843
5414
  key: 2
4844
5415
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -6319,7 +6890,7 @@
6319
6890
  return null;
6320
6891
  }
6321
6892
 
6322
- var initialState$1 = {
6893
+ var initialState$2 = {
6323
6894
  page: 0,
6324
6895
  items: [],
6325
6896
  loading: true,
@@ -6338,7 +6909,7 @@
6338
6909
  var intl = reactIntl.useIntl();
6339
6910
  var Ctx = useTraversal();
6340
6911
 
6341
- var _useSetState = useSetState(initialState$1),
6912
+ var _useSetState = useSetState(initialState$2),
6342
6913
  state = _useSetState[0],
6343
6914
  setState = _useSetState[1];
6344
6915
 
@@ -6788,7 +7359,7 @@
6788
7359
  icon: model.icon,
6789
7360
  align: "is-left",
6790
7361
  className: "has-text-grey"
6791
- }), ' ', "\xA0", /*#__PURE__*/React__default['default'].createElement("span", null, Ctx.context.title || Ctx.context['@name']))), /*#__PURE__*/React__default['default'].createElement("div", {
7362
+ }), "\xA0", /*#__PURE__*/React__default['default'].createElement("span", null, Ctx.context.title || Ctx.context['@name']))), /*#__PURE__*/React__default['default'].createElement("div", {
6792
7363
  className: "level-right"
6793
7364
  }, /*#__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", {
6794
7365
  className: "columns"
@@ -6797,13 +7368,20 @@
6797
7368
  }, /*#__PURE__*/React__default['default'].createElement("table", {
6798
7369
  className: "table is-striped is-fullwidth is-size-7"
6799
7370
  }, /*#__PURE__*/React__default['default'].createElement("thead", null, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("th", {
7371
+ style: {
7372
+ width: '150px'
7373
+ },
6800
7374
  className: "is-2"
6801
7375
  }, intl.formatMessage(genericMessages.property)), /*#__PURE__*/React__default['default'].createElement("th", {
6802
7376
  className: "is-8"
6803
7377
  }, intl.formatMessage(genericMessages.value)))), /*#__PURE__*/React__default['default'].createElement("tbody", null, showProperties.map(function (prop) {
6804
7378
  return /*#__PURE__*/React__default['default'].createElement("tr", {
6805
7379
  key: 'prop' + prop
6806
- }, /*#__PURE__*/React__default['default'].createElement("td", null, prop), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
7380
+ }, /*#__PURE__*/React__default['default'].createElement("td", {
7381
+ style: {
7382
+ width: '150px'
7383
+ }
7384
+ }, prop), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
6807
7385
  field: prop,
6808
7386
  value: Ctx.context[prop],
6809
7387
  modifyContent: false
@@ -6811,6 +7389,9 @@
6811
7389
  }))), properties.length > 0 && /*#__PURE__*/React__default['default'].createElement("table", {
6812
7390
  className: "table is-striped is-fullwidth is-size-7"
6813
7391
  }, /*#__PURE__*/React__default['default'].createElement("thead", null, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("th", {
7392
+ style: {
7393
+ width: '150px'
7394
+ },
6814
7395
  className: "is-2"
6815
7396
  }, intl.formatMessage(genericMessages.property)), /*#__PURE__*/React__default['default'].createElement("th", {
6816
7397
  className: "is-8"
@@ -6819,7 +7400,11 @@
6819
7400
  value = _ref.value;
6820
7401
  return /*#__PURE__*/React__default['default'].createElement("tr", {
6821
7402
  key: 'prop' + key
6822
- }, /*#__PURE__*/React__default['default'].createElement("td", null, value.title || key), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
7403
+ }, /*#__PURE__*/React__default['default'].createElement("td", {
7404
+ style: {
7405
+ width: '150px'
7406
+ }
7407
+ }, value.title || key), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
6823
7408
  field: key,
6824
7409
  value: Ctx.context[key],
6825
7410
  schema: value,
@@ -7550,13 +8135,13 @@
7550
8135
 
7551
8136
  /* eslint jsx-a11y/anchor-is-valid: "off" */
7552
8137
 
7553
- var initialState$2 = {
8138
+ var initialState$3 = {
7554
8139
  types: undefined
7555
8140
  };
7556
8141
  function CreateButton() {
7557
8142
  var intl = reactIntl.useIntl();
7558
8143
 
7559
- var _useSetState = useSetState(initialState$2),
8144
+ var _useSetState = useSetState(initialState$3),
7560
8145
  state = _useSetState[0],
7561
8146
  setState = _useSetState[1];
7562
8147
 
@@ -7642,7 +8227,7 @@
7642
8227
 
7643
8228
  var intl = reactIntl.useIntl();
7644
8229
 
7645
- var _useSetState2 = useSetState(initialState$2),
8230
+ var _useSetState2 = useSetState(initialState$3),
7646
8231
  state = _useSetState2[0],
7647
8232
  setState = _useSetState2[1];
7648
8233
 
@@ -8837,15 +9422,19 @@
8837
9422
  function IDublinCore(_ref) {
8838
9423
  var properties = _ref.properties,
8839
9424
  values = _ref.values;
9425
+ var intl = reactIntl.useIntl();
8840
9426
  var Ctx = useTraversal();
8841
9427
  var modifyContent = Ctx.hasPerm('guillotina.ModifyContent');
8842
9428
  return /*#__PURE__*/React__default['default'].createElement(Table, {
8843
- headers: ['Field', 'Value'],
9429
+ headers: [intl.formatMessage(genericMessages.property), intl.formatMessage(genericMessages.value)],
8844
9430
  className: "is-striped is-fullwidth is-size-7"
8845
9431
  }, Object.keys(properties).map(function (key) {
8846
9432
  return /*#__PURE__*/React__default['default'].createElement("tr", {
8847
9433
  key: 'dublin_' + key
8848
9434
  }, /*#__PURE__*/React__default['default'].createElement("td", {
9435
+ style: {
9436
+ width: '150px'
9437
+ },
8849
9438
  key: 1
8850
9439
  }, key), /*#__PURE__*/React__default['default'].createElement("td", {
8851
9440
  key: 2
@@ -9056,13 +9645,13 @@
9056
9645
  }
9057
9646
  };
9058
9647
 
9059
- var addUser = function addUser(newUser) {
9648
+ var addUser = function addUser(newUserId) {
9060
9649
  try {
9061
9650
  var data = {};
9062
9651
  Ctx.context.users.forEach(function (user) {
9063
9652
  data[user] = true;
9064
9653
  });
9065
- data[newUser.id] = true;
9654
+ data[newUserId] = true;
9066
9655
  return Promise.resolve(Ctx.client.rest.patch(Ctx.containerPath + "@groups/" + Ctx.context['@name'], {
9067
9656
  users: data
9068
9657
  })).then(function (_ref3) {
@@ -9081,7 +9670,7 @@
9081
9670
  "value": " added to group"
9082
9671
  }]
9083
9672
  }, {
9084
- user: newUser.id
9673
+ user: newUserId
9085
9674
  }), errorMessage);
9086
9675
  });
9087
9676
  } catch (e) {
@@ -9552,7 +10141,7 @@
9552
10141
 
9553
10142
  */
9554
10143
 
9555
- var initialState$3 = {
10144
+ var initialState$4 = {
9556
10145
  path: '',
9557
10146
  loading: false,
9558
10147
  context: undefined,
@@ -12455,10 +13044,10 @@
12455
13044
  var searchPath = location.get('path') || '/';
12456
13045
 
12457
13046
  if (searchPath && searchPath !== '') {
12458
- initialState$3.path = searchPath;
13047
+ initialState$4.path = searchPath;
12459
13048
  }
12460
13049
 
12461
- var _useReducer = React.useReducer(guillotinaReducer, initialState$3),
13050
+ var _useReducer = React.useReducer(guillotinaReducer, initialState$4),
12462
13051
  state = _useReducer[0],
12463
13052
  dispatch = _useReducer[1];
12464
13053
 
@@ -12610,7 +13199,7 @@
12610
13199
  failed_to_fetch: 'Failed to fetch data: Backend not running?',
12611
13200
  invalid_credentials: 'Failed! Invalid credentials'
12612
13201
  };
12613
- var initialState$4 = {
13202
+ var initialState$5 = {
12614
13203
  username: '',
12615
13204
  password: '',
12616
13205
  loading: undefined,
@@ -12623,7 +13212,7 @@
12623
13212
  auth = _ref.auth,
12624
13213
  onLogin = _ref.onLogin;
12625
13214
 
12626
- var _useSetState = useSetState(initialState$4),
13215
+ var _useSetState = useSetState(initialState$5),
12627
13216
  state = _useSetState[0],
12628
13217
  setState = _useSetState[1];
12629
13218
 
@@ -13192,6 +13781,7 @@
13192
13781
  exports.SearchInput = SearchInput;
13193
13782
  exports.SearchLabels = SearchLabels;
13194
13783
  exports.SearchOptionsLabels = SearchOptionsLabels;
13784
+ exports.SearchRenderField = SearchRenderField;
13195
13785
  exports.SearchVocabularyLabels = SearchVocabularyLabels;
13196
13786
  exports.Select = Select;
13197
13787
  exports.Sharing = Sharing;