@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/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(generateUID('search_input')),
3094
- uid = _useState[0];
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 = React__default['default'].useCallback(debounce(function (value) {
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 get = traversal.registry.get;
3137
- var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
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 (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0) {
3145
- searchTermQs = buildQs([].concat(qs, searchTermParsed, qsParsed));
3245
+ if (typeNameQuery) {
3246
+ typeNameParsed = parser("type_name__in=" + typeNameQuery);
3146
3247
  }
3147
3248
 
3148
- return Promise.resolve(traversal.client.search(path, searchTermQs, false, false, page * PageSize, PageSize)).then(function (data) {
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
- React__default['default'].useEffect(function () {
3173
- if (path && !options.loading && !options.items) {
3174
-
3175
- try {
3176
- handleSearch(options.page);
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, options.loading, options.items]);
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(!isOpen);
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.preventDefault();
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 && value.title ? value.title : 'Choose...'), /*#__PURE__*/React__default['default'].createElement("span", {
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("a", {
3235
- href: "#",
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
- onChange && onChange(item);
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'].object,
3263
- client: PropTypes__default['default'].object,
3379
+ value: PropTypes__default['default'].string,
3264
3380
  path: PropTypes__default['default'].string,
3265
- PageSize: PropTypes__default['default'].number,
3266
- btnClass: PropTypes__default['default'].string
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 VocabularyRenderField = function VocabularyRenderField(_ref3) {
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(_ref4) {
3872
- var schema = _ref4.schema,
3873
- field = _ref4.field,
3874
- val = _ref4.val,
3875
- modifyContent = _ref4.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
- if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
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: ['Field', 'Value'],
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: ['Field', 'Value'],
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: ['Field', 'Value'],
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: ['Field', 'Value'],
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$1 = {
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$1),
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
- }), ' ', "\xA0", /*#__PURE__*/React__default['default'].createElement("span", null, Ctx.context.title || Ctx.context['@name']))), /*#__PURE__*/React__default['default'].createElement("div", {
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", null, prop), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
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", null, value.title || key), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(EditableField, {
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$2 = {
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$2),
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$2),
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: ['Field', 'Value'],
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(newUser) {
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[newUser.id] = true;
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: newUser.id
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$3 = {
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$3.path = searchPath;
13050
+ initialState$4.path = searchPath;
12462
13051
  }
12463
13052
 
12464
- var _useReducer = React.useReducer(guillotinaReducer, initialState$3),
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$4 = {
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$4),
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;