@guillotinaweb/react-gmi 0.30.1 → 0.32.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
@@ -907,24 +907,20 @@ function sleep(ms) {
907
907
  }, ms);
908
908
  });
909
909
  }
910
- var getActionsObject = function getActionsObject(intl, multiple) {
911
- if (multiple === void 0) {
912
- multiple = false;
913
- }
914
-
910
+ var getActionsObject = function getActionsObject(multiple) {
915
911
  return {
916
912
  DELETE: {
917
- text: intl.formatMessage(genericMessages.delete),
913
+ text: genericMessages.delete,
918
914
  perms: ['guillotina.DeleteContent'],
919
915
  action: multiple ? 'removeItems' : 'removeItem'
920
916
  },
921
917
  MOVE: {
922
- text: intl.formatMessage(genericMessages.move_to),
918
+ text: genericMessages.move_to,
923
919
  perms: ['guillotina.MoveContent'],
924
920
  action: multiple ? 'moveItems' : 'moveItem'
925
921
  },
926
922
  COPY: {
927
- text: intl.formatMessage(genericMessages.copy_to),
923
+ text: genericMessages.copy_to,
928
924
  perms: ['guillotina.DuplicateContent'],
929
925
  action: multiple ? 'copyItems' : 'copyItem'
930
926
  }
@@ -1430,7 +1426,7 @@ function AddItem(props) {
1430
1426
 
1431
1427
  var type = props.type;
1432
1428
  var getForm = Ctx.registry.getForm;
1433
- var Form = getForm(type);
1429
+ var Form = getForm(type, undefined);
1434
1430
 
1435
1431
  var setActive = function setActive() {
1436
1432
  Ctx.cancelAction();
@@ -1599,6 +1595,11 @@ var Checkbox = function Checkbox(_ref) {
1599
1595
  state = _useState[0],
1600
1596
  setState = _useState[1];
1601
1597
 
1598
+ React.useEffect(function () {
1599
+ if (state !== checked) {
1600
+ setState(!!checked);
1601
+ }
1602
+ }, [checked]);
1602
1603
  React.useEffect(function () {
1603
1604
  if (inputRef.current) {
1604
1605
  inputRef.current.indeterminate = indeterminate;
@@ -2746,52 +2747,49 @@ var cacheTypes = {};
2746
2747
  var cacheSchemas = {};
2747
2748
  var GuillotinaClient = /*#__PURE__*/function () {
2748
2749
  function GuillotinaClient(rest, pathContainsContainer) {
2749
- var _this = this;
2750
-
2751
2750
  this.rest = void 0;
2752
2751
  this.pathContainsContainer = void 0;
2752
+ this.rest = rest;
2753
+ this.pathContainsContainer = pathContainsContainer;
2754
+ }
2753
2755
 
2754
- this.getContainerFromPath = function (path) {
2755
- if (_this.pathContainsContainer) {
2756
- if (path.startsWith('/')) {
2757
- path = path.substring(1);
2758
- }
2756
+ var _proto = GuillotinaClient.prototype;
2759
2757
 
2760
- var parts = path.split('/');
2761
- return parts[0] + "/" + parts[1] + "/";
2758
+ _proto.getContainerFromPath = function getContainerFromPath(path) {
2759
+ if (this.pathContainsContainer) {
2760
+ if (path.startsWith('/')) {
2761
+ path = path.substring(1);
2762
2762
  }
2763
2763
 
2764
- return '';
2765
- };
2766
-
2767
- this.clearContainerFromPath = function (path) {
2768
- if (_this.pathContainsContainer) {
2769
- return "/" + _this.cleanPath(path);
2770
- }
2764
+ var parts = path.split('/');
2765
+ return parts[0] + "/" + parts[1] + "/";
2766
+ }
2771
2767
 
2772
- return path;
2773
- };
2768
+ return '';
2769
+ };
2774
2770
 
2775
- this.rest = rest;
2776
- this.pathContainsContainer = pathContainsContainer;
2777
- }
2771
+ _proto.clearContainerFromPath = function clearContainerFromPath(path) {
2772
+ if (this.pathContainsContainer) {
2773
+ return "/" + this.cleanPath(path);
2774
+ }
2778
2775
 
2779
- var _proto = GuillotinaClient.prototype;
2776
+ return path;
2777
+ };
2780
2778
 
2781
2779
  _proto.getContext = function getContext(path) {
2782
2780
  try {
2783
- var _this3 = this;
2781
+ var _this2 = this;
2784
2782
 
2785
2783
  switch (path) {
2786
2784
  case '/':
2787
- return Promise.resolve(_this3.rest.get(''));
2785
+ return Promise.resolve(_this2.rest.get(''));
2788
2786
 
2789
2787
  default:
2790
2788
  if (path.startsWith('/')) {
2791
2789
  path = path.substring(1);
2792
2790
  }
2793
2791
 
2794
- return Promise.resolve(_this3.rest.get(path));
2792
+ return Promise.resolve(_this2.rest.get(path));
2795
2793
  }
2796
2794
  } catch (e) {
2797
2795
  return Promise.reject(e);
@@ -2800,13 +2798,13 @@ var GuillotinaClient = /*#__PURE__*/function () {
2800
2798
 
2801
2799
  _proto.get = function get(path) {
2802
2800
  try {
2803
- var _this5 = this;
2801
+ var _this4 = this;
2804
2802
 
2805
2803
  if (path.startsWith('/')) {
2806
2804
  path = path.slice(1);
2807
2805
  }
2808
2806
 
2809
- return Promise.resolve(_this5.rest.get(path));
2807
+ return Promise.resolve(_this4.rest.get(path));
2810
2808
  } catch (e) {
2811
2809
  return Promise.reject(e);
2812
2810
  }
@@ -2883,13 +2881,15 @@ var GuillotinaClient = /*#__PURE__*/function () {
2883
2881
  width: 120
2884
2882
  };
2885
2883
  return [{
2884
+ key: 'icon',
2886
2885
  label: '',
2887
2886
  isSortable: false,
2888
- child: function child(m) {
2887
+ child: function child(_ref3) {
2888
+ var model = _ref3.model;
2889
2889
  return jsxRuntime.jsx("td", {
2890
2890
  style: smallcss,
2891
2891
  children: jsxRuntime.jsx(Icon, {
2892
- icon: m.icon
2892
+ icon: model.icon
2893
2893
  })
2894
2894
  });
2895
2895
  }
@@ -2897,13 +2897,14 @@ var GuillotinaClient = /*#__PURE__*/function () {
2897
2897
  label: 'type',
2898
2898
  key: 'type_name',
2899
2899
  isSortable: false,
2900
- child: function child(m) {
2900
+ child: function child(_ref4) {
2901
+ var model = _ref4.model;
2901
2902
  return jsxRuntime.jsx(TdLink, {
2902
2903
  style: smallcss,
2903
- model: m,
2904
+ model: model,
2904
2905
  children: jsxRuntime.jsx("span", {
2905
2906
  className: "tag",
2906
- children: m.type
2907
+ children: model.type
2907
2908
  })
2908
2909
  });
2909
2910
  }
@@ -2911,13 +2912,15 @@ var GuillotinaClient = /*#__PURE__*/function () {
2911
2912
  label: 'id/name',
2912
2913
  key: 'title',
2913
2914
  isSortable: true,
2914
- child: function child(m, _navigate, search) {
2915
+ child: function child(_ref5) {
2916
+ var model = _ref5.model,
2917
+ search = _ref5.search;
2915
2918
  return jsxRuntime.jsxs(TdLink, {
2916
- model: m,
2917
- children: [m.name, search && jsxRuntime.jsxs(React__default['default'].Fragment, {
2919
+ model: model,
2920
+ children: [model.name, search && jsxRuntime.jsxs(React__default['default'].Fragment, {
2918
2921
  children: [jsxRuntime.jsx("br", {}), jsxRuntime.jsx("span", {
2919
2922
  className: "is-size-7 tag is-light",
2920
- children: m.path
2923
+ children: model.path
2921
2924
  })]
2922
2925
  })]
2923
2926
  });
@@ -2926,22 +2929,24 @@ var GuillotinaClient = /*#__PURE__*/function () {
2926
2929
  label: 'created',
2927
2930
  key: 'creation_date',
2928
2931
  isSortable: true,
2929
- child: function child(m) {
2932
+ child: function child(_ref6) {
2933
+ var model = _ref6.model;
2930
2934
  return jsxRuntime.jsx("td", {
2931
2935
  style: mediumcss,
2932
2936
  className: "is-size-7 is-vcentered",
2933
- children: m.created
2937
+ children: model.created
2934
2938
  });
2935
2939
  }
2936
2940
  }, {
2937
2941
  label: 'modified',
2938
2942
  key: 'modification_date',
2939
2943
  isSortable: true,
2940
- child: function child(m) {
2944
+ child: function child(_ref7) {
2945
+ var model = _ref7.model;
2941
2946
  return jsxRuntime.jsx("td", {
2942
2947
  style: mediumcss,
2943
2948
  className: "is-size-7 is-vcentered",
2944
- children: m.updated
2949
+ children: model.updated
2945
2950
  });
2946
2951
  }
2947
2952
  }];
@@ -2967,21 +2972,21 @@ var GuillotinaClient = /*#__PURE__*/function () {
2967
2972
  }
2968
2973
 
2969
2974
  try {
2970
- var _this7 = this;
2975
+ var _this6 = this;
2971
2976
 
2972
2977
  if (path.startsWith('/')) {
2973
2978
  path = path.slice(1);
2974
2979
  }
2975
2980
 
2976
2981
  if (container) {
2977
- path = _this7.getContainerFromPath(path);
2982
+ path = _this6.getContainerFromPath(path);
2978
2983
  }
2979
2984
 
2980
2985
  var query = prepare ? toQueryString(params) : params;
2981
2986
  var url = path + "@search?" + query;
2982
- return Promise.resolve(_this7.rest.get(url, signal)).then(function (res) {
2987
+ return Promise.resolve(_this6.rest.get(url, signal)).then(function (res) {
2983
2988
  return Promise.resolve(res.json()).then(function (data) {
2984
- return _this7.applyCompat(data);
2989
+ return _this6.applyCompat(data);
2985
2990
  });
2986
2991
  });
2987
2992
  } catch (e) {
@@ -2991,7 +2996,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
2991
2996
 
2992
2997
  _proto.canido = function canido(path, permissions) {
2993
2998
  try {
2994
- var _this9 = this;
2999
+ var _this8 = this;
2995
3000
 
2996
3001
  if (path.startsWith('/')) {
2997
3002
  path = path.slice(1);
@@ -3002,7 +3007,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
3002
3007
  }
3003
3008
 
3004
3009
  var url = path + "@canido?permissions=" + permissions;
3005
- return Promise.resolve(_this9.rest.get(url));
3010
+ return Promise.resolve(_this8.rest.get(url));
3006
3011
  } catch (e) {
3007
3012
  return Promise.reject(e);
3008
3013
  }
@@ -3010,9 +3015,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3010
3015
 
3011
3016
  _proto.createObject = function createObject(path, data) {
3012
3017
  try {
3013
- var _this11 = this;
3018
+ var _this10 = this;
3014
3019
 
3015
- return Promise.resolve(_this11.rest.post(path, data));
3020
+ return Promise.resolve(_this10.rest.post(path, data));
3016
3021
  } catch (e) {
3017
3022
  return Promise.reject(e);
3018
3023
  }
@@ -3025,9 +3030,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3025
3030
 
3026
3031
  _proto.delete = function _delete(path, data) {
3027
3032
  try {
3028
- var _this13 = this;
3033
+ var _this12 = this;
3029
3034
 
3030
- return Promise.resolve(_this13.rest.delete(path, data));
3035
+ return Promise.resolve(_this12.rest.delete(path, data));
3031
3036
  } catch (e) {
3032
3037
  return Promise.reject(e);
3033
3038
  }
@@ -3035,13 +3040,13 @@ var GuillotinaClient = /*#__PURE__*/function () {
3035
3040
 
3036
3041
  _proto.create = function create(path, data) {
3037
3042
  try {
3038
- var _this15 = this;
3043
+ var _this14 = this;
3039
3044
 
3040
3045
  if (path.startsWith('/')) {
3041
3046
  path = path.substring(1);
3042
3047
  }
3043
3048
 
3044
- return Promise.resolve(_this15.rest.post(path, data));
3049
+ return Promise.resolve(_this14.rest.post(path, data));
3045
3050
  } catch (e) {
3046
3051
  return Promise.reject(e);
3047
3052
  }
@@ -3049,9 +3054,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3049
3054
 
3050
3055
  _proto.post = function post(path, data) {
3051
3056
  try {
3052
- var _this17 = this;
3057
+ var _this16 = this;
3053
3058
 
3054
- return Promise.resolve(_this17.create(path, data));
3059
+ return Promise.resolve(_this16.create(path, data));
3055
3060
  } catch (e) {
3056
3061
  return Promise.reject(e);
3057
3062
  }
@@ -3059,13 +3064,13 @@ var GuillotinaClient = /*#__PURE__*/function () {
3059
3064
 
3060
3065
  _proto.patch = function patch(path, data) {
3061
3066
  try {
3062
- var _this19 = this;
3067
+ var _this18 = this;
3063
3068
 
3064
3069
  if (path.startsWith('/')) {
3065
3070
  path = path.substring(1);
3066
3071
  }
3067
3072
 
3068
- return Promise.resolve(_this19.rest.patch(path, data));
3073
+ return Promise.resolve(_this18.rest.patch(path, data));
3069
3074
  } catch (e) {
3070
3075
  return Promise.reject(e);
3071
3076
  }
@@ -3073,13 +3078,13 @@ var GuillotinaClient = /*#__PURE__*/function () {
3073
3078
 
3074
3079
  _proto.upload = function upload(path, file) {
3075
3080
  try {
3076
- var _this21 = this;
3081
+ var _this20 = this;
3077
3082
 
3078
3083
  if (path.startsWith('/')) {
3079
3084
  path = path.substring(1);
3080
3085
  }
3081
3086
 
3082
- return Promise.resolve(_this21.rest.upload(path, file));
3087
+ return Promise.resolve(_this20.rest.upload(path, file));
3083
3088
  } catch (e) {
3084
3089
  return Promise.reject(e);
3085
3090
  }
@@ -3087,13 +3092,13 @@ var GuillotinaClient = /*#__PURE__*/function () {
3087
3092
 
3088
3093
  _proto.download = function download(path) {
3089
3094
  try {
3090
- var _this23 = this;
3095
+ var _this22 = this;
3091
3096
 
3092
3097
  if (path.startsWith('/')) {
3093
3098
  path = path.substring(1);
3094
3099
  }
3095
3100
 
3096
- return Promise.resolve(_this23.rest.get(path));
3101
+ return Promise.resolve(_this22.rest.get(path));
3097
3102
  } catch (e) {
3098
3103
  return Promise.reject(e);
3099
3104
  }
@@ -3101,7 +3106,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
3101
3106
 
3102
3107
  _proto.getTypeSchema = function getTypeSchema(path, name) {
3103
3108
  try {
3104
- var _this25 = this;
3109
+ var _this24 = this;
3105
3110
 
3106
3111
  function _temp3() {
3107
3112
  return cacheSchemas[name];
@@ -3109,10 +3114,10 @@ var GuillotinaClient = /*#__PURE__*/function () {
3109
3114
 
3110
3115
  var _temp4 = function () {
3111
3116
  if (!cacheSchemas[name]) {
3112
- var url = _this25.getContainerFromPath(path); // todo: handle db case (only addable containers)
3117
+ var url = _this24.getContainerFromPath(path); // todo: handle db case (only addable containers)
3113
3118
 
3114
3119
 
3115
- return Promise.resolve(_this25.rest.get(url + "@types/" + name)).then(function (res) {
3120
+ return Promise.resolve(_this24.rest.get(url + "@types/" + name)).then(function (res) {
3116
3121
  return Promise.resolve(res.json()).then(function (_res$json) {
3117
3122
  cacheSchemas[name] = _res$json;
3118
3123
  });
@@ -3128,9 +3133,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3128
3133
 
3129
3134
  _proto.getAddons = function getAddons(path) {
3130
3135
  try {
3131
- var _this27 = this;
3136
+ var _this26 = this;
3132
3137
 
3133
- return Promise.resolve(_this27.rest.get(path + "@addons"));
3138
+ return Promise.resolve(_this26.rest.get(path + "@addons"));
3134
3139
  } catch (e) {
3135
3140
  return Promise.reject(e);
3136
3141
  }
@@ -3138,9 +3143,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3138
3143
 
3139
3144
  _proto.installAddon = function installAddon(path, key) {
3140
3145
  try {
3141
- var _this29 = this;
3146
+ var _this28 = this;
3142
3147
 
3143
- return Promise.resolve(_this29.rest.post(path + "@addons", {
3148
+ return Promise.resolve(_this28.rest.post(path + "@addons", {
3144
3149
  id: key
3145
3150
  }));
3146
3151
  } catch (e) {
@@ -3150,9 +3155,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3150
3155
 
3151
3156
  _proto.removeAddon = function removeAddon(path, key) {
3152
3157
  try {
3153
- var _this31 = this;
3158
+ var _this30 = this;
3154
3159
 
3155
- return Promise.resolve(_this31.rest.delete(path + "@addons", {
3160
+ return Promise.resolve(_this30.rest.delete(path + "@addons", {
3156
3161
  id: key
3157
3162
  }));
3158
3163
  } catch (e) {
@@ -3162,10 +3167,10 @@ var GuillotinaClient = /*#__PURE__*/function () {
3162
3167
 
3163
3168
  _proto.getGroups = function getGroups(path) {
3164
3169
  try {
3165
- var _this33 = this;
3170
+ var _this32 = this;
3166
3171
 
3167
- var endpoint = _this33.getContainerFromPath(path) + "@groups";
3168
- return Promise.resolve(_this33.rest.get(endpoint));
3172
+ var endpoint = _this32.getContainerFromPath(path) + "@groups";
3173
+ return Promise.resolve(_this32.rest.get(endpoint));
3169
3174
  } catch (e) {
3170
3175
  return Promise.reject(e);
3171
3176
  }
@@ -3173,10 +3178,10 @@ var GuillotinaClient = /*#__PURE__*/function () {
3173
3178
 
3174
3179
  _proto.getUsers = function getUsers(path) {
3175
3180
  try {
3176
- var _this35 = this;
3181
+ var _this34 = this;
3177
3182
 
3178
- var endpoint = _this35.getContainerFromPath(path) + "@users";
3179
- return Promise.resolve(_this35.rest.get(endpoint));
3183
+ var endpoint = _this34.getContainerFromPath(path) + "@users";
3184
+ return Promise.resolve(_this34.rest.get(endpoint));
3180
3185
  } catch (e) {
3181
3186
  return Promise.reject(e);
3182
3187
  }
@@ -3184,15 +3189,15 @@ var GuillotinaClient = /*#__PURE__*/function () {
3184
3189
 
3185
3190
  _proto.getPrincipals = function getPrincipals(path) {
3186
3191
  try {
3187
- var _this37 = this;
3192
+ var _this36 = this;
3188
3193
 
3189
- var groups = _this37.getGroups(path);
3194
+ var groups = _this36.getGroups(path);
3190
3195
 
3191
- var users = _this37.getUsers(path);
3196
+ var users = _this36.getUsers(path);
3192
3197
 
3193
- return Promise.resolve(Promise.all([groups, users])).then(function (_ref3) {
3194
- var responseGroups = _ref3[0],
3195
- responseUsers = _ref3[1];
3198
+ return Promise.resolve(Promise.all([groups, users])).then(function (_ref8) {
3199
+ var responseGroups = _ref8[0],
3200
+ responseUsers = _ref8[1];
3196
3201
 
3197
3202
  function _temp8() {
3198
3203
  function _temp6() {
@@ -3246,10 +3251,10 @@ var GuillotinaClient = /*#__PURE__*/function () {
3246
3251
 
3247
3252
  _proto.getRoles = function getRoles(path) {
3248
3253
  try {
3249
- var _this39 = this;
3254
+ var _this38 = this;
3250
3255
 
3251
- var endpoint = _this39.getContainerFromPath(path) + "@available-roles";
3252
- return Promise.resolve(_this39.rest.get(endpoint));
3256
+ var endpoint = _this38.getContainerFromPath(path) + "@available-roles";
3257
+ return Promise.resolve(_this38.rest.get(endpoint));
3253
3258
  } catch (e) {
3254
3259
  return Promise.reject(e);
3255
3260
  }
@@ -3257,14 +3262,14 @@ var GuillotinaClient = /*#__PURE__*/function () {
3257
3262
 
3258
3263
  _proto.getAllPermissions = function getAllPermissions(path) {
3259
3264
  try {
3260
- var _this41 = this;
3265
+ var _this40 = this;
3261
3266
 
3262
3267
  // paths used to query the API always has to start without a "/"
3263
3268
  if (path.startsWith('/')) {
3264
3269
  path = path.slice(1);
3265
3270
  }
3266
3271
 
3267
- return Promise.resolve(_this41.rest.get(path + '@all_permissions')).then(function (req) {
3272
+ return Promise.resolve(_this40.rest.get(path + '@all_permissions')).then(function (req) {
3268
3273
  return Promise.resolve(req.json()).then(function (resp) {
3269
3274
  var permissions = Array.from(new Set(extractPermissions(resp)));
3270
3275
  return permissions;
@@ -3277,7 +3282,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
3277
3282
 
3278
3283
  _proto.getTypes = function getTypes(path) {
3279
3284
  try {
3280
- var _this43 = this;
3285
+ var _this42 = this;
3281
3286
 
3282
3287
  function _temp12() {
3283
3288
  return cacheTypes[path];
@@ -3289,7 +3294,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
3289
3294
 
3290
3295
  var _temp13 = function () {
3291
3296
  if (!cacheTypes[path]) {
3292
- return Promise.resolve(_this43.rest.get(path + '@addable-types')).then(function (types) {
3297
+ return Promise.resolve(_this42.rest.get(path + '@addable-types')).then(function (types) {
3293
3298
  var _temp9 = function () {
3294
3299
  if (types.status === 401 || types.status === 404) {
3295
3300
  cacheTypes[path] = [];
@@ -3587,8 +3592,8 @@ var SearchInput = function SearchInput(_ref) {
3587
3592
  if (labelProperty !== 'id' && value) {
3588
3593
  var searchTermQs = '';
3589
3594
  var searchTermParsed = ["id", value];
3590
- var getSearch = traversal.registry.get;
3591
- var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
3595
+ var getSearchEngineQueryParamsFunction = traversal.registry.getSearchEngineQueryParamsFunction;
3596
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
3592
3597
  var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
3593
3598
  path: traversal.path,
3594
3599
  start: 0,
@@ -3646,10 +3651,8 @@ var SearchInput = function SearchInput(_ref) {
3646
3651
  searchTermParsed = parser(queryCondition + "=" + value);
3647
3652
  }
3648
3653
 
3649
- var _get = traversal.registry.get;
3650
-
3651
- var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
3652
-
3654
+ var getSearchEngineQueryParamsFunction = traversal.registry.getSearchEngineQueryParamsFunction;
3655
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
3653
3656
  var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
3654
3657
  path: traversal.path,
3655
3658
  start: page * PageSize,
@@ -3923,10 +3926,8 @@ var SearchInputList = function SearchInputList(_ref) {
3923
3926
  searchTermParsed = parser(queryCondition + "=" + value);
3924
3927
  }
3925
3928
 
3926
- var _get = traversal.registry.get;
3927
-
3928
- var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
3929
-
3929
+ var getSearchEngineQueryParamsFunction = traversal.registry.getSearchEngineQueryParamsFunction;
3930
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
3930
3931
  var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
3931
3932
  path: traversal.path,
3932
3933
  start: page * PageSize,
@@ -3967,8 +3968,8 @@ var SearchInputList = function SearchInputList(_ref) {
3967
3968
  setIsLoadingData(true);
3968
3969
  var searchTermQs = '';
3969
3970
  var searchTermParsed = ['__or', "id=" + value.join('%26id=')];
3970
- var getSearch = traversal.registry.get;
3971
- var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
3971
+ var getSearchEngineQueryParamsFunction = traversal.registry.getSearchEngineQueryParamsFunction;
3972
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
3972
3973
  var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
3973
3974
  path: traversal.path,
3974
3975
  start: 0,
@@ -4295,8 +4296,8 @@ function EditableField(_ref) {
4295
4296
  var _useConfig = useConfig(),
4296
4297
  fieldHaveDeleteButton = _useConfig.fieldHaveDeleteButton;
4297
4298
 
4298
- var EditComponent = Ctx.registry.get('components', 'EditComponent');
4299
- var RenderFieldComponent = Ctx.registry.get('components', 'RenderFieldComponent');
4299
+ var EditComponent = Ctx.registry.getComponent('EditComponent');
4300
+ var RenderFieldComponent = Ctx.registry.getComponent('RenderFieldComponent');
4300
4301
  React.useEffect(function () {
4301
4302
  if (isEdit && ref.current) {
4302
4303
  ref.current.focus();
@@ -4638,7 +4639,6 @@ var SearchRenderField = function SearchRenderField(_ref3) {
4638
4639
  var schema = _ref3.schema,
4639
4640
  value = _ref3.value,
4640
4641
  modifyContent = _ref3.modifyContent;
4641
- console.log('search render fields');
4642
4642
  var intl = reactIntl.useIntl();
4643
4643
 
4644
4644
  var _useState = React.useState([]),
@@ -4661,8 +4661,8 @@ var SearchRenderField = function SearchRenderField(_ref3) {
4661
4661
  setIsLoadingData(true);
4662
4662
  var searchTermQs = '';
4663
4663
  var searchTermParsed = ['__or', "id=" + valuesToSearch.join('%26id=')];
4664
- var getSearch = traversal.registry.get;
4665
- var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
4664
+ var getSearchEngineQueryParamsFunction = traversal.registry.getSearchEngineQueryParamsFunction;
4665
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
4666
4666
  var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
4667
4667
  path: traversal.path,
4668
4668
  start: 0,
@@ -6492,7 +6492,7 @@ function IWorkflow() {
6492
6492
  function PanelActions() {
6493
6493
  var traversal = useTraversal();
6494
6494
  var intl = reactIntl.useIntl();
6495
- var ACTIONS_OBJECT = getActionsObject(intl);
6495
+ var ACTIONS_OBJECT = traversal.registry.getActionsList(traversal.context['@type'], false);
6496
6496
 
6497
6497
  var hasPerm = function hasPerm(perms) {
6498
6498
  return perms.some(function (perm) {
@@ -6517,7 +6517,7 @@ function PanelActions() {
6517
6517
  onClick: function onClick() {
6518
6518
  onAction(actionKeyTyped);
6519
6519
  },
6520
- children: actionObject.text
6520
+ children: intl.formatMessage(actionObject.text)
6521
6521
  }, "panel_action_" + actionObject.text);
6522
6522
  }
6523
6523
  })
@@ -6868,9 +6868,8 @@ var ItemsActionsCtx = React.createContext({
6868
6868
  function ItemsActionsProvider(_ref) {
6869
6869
  var items = _ref.items,
6870
6870
  children = _ref.children;
6871
- var intl = reactIntl.useIntl();
6872
- var actions = getActionsObject(intl, true);
6873
6871
  var traversal = useTraversal();
6872
+ var actions = traversal.registry.getActionsList(traversal.context['@type'], true);
6874
6873
 
6875
6874
  var _useState = React.useState({
6876
6875
  all: false
@@ -6978,8 +6977,8 @@ function ItemCheckbox(_ref3) {
6978
6977
 
6979
6978
  function ItemsActionsDropdown() {
6980
6979
  var intl = reactIntl.useIntl();
6981
- var ACTIONS_OBJECT = getActionsObject(intl, true);
6982
6980
  var traversal = useTraversal();
6981
+ var ACTIONS_OBJECT = traversal.registry.getActionsList(traversal.context['@type'], true);
6983
6982
 
6984
6983
  var _useItemsActions3 = useItemsActions(),
6985
6984
  selected = _useItemsActions3.selected,
@@ -6990,7 +6989,7 @@ function ItemsActionsDropdown() {
6990
6989
  });
6991
6990
  var options = Object.keys(ACTIONS_OBJECT).map(function (action) {
6992
6991
  return {
6993
- text: ACTIONS_OBJECT[action].text,
6992
+ text: intl.formatMessage(ACTIONS_OBJECT[action].text),
6994
6993
  value: action
6995
6994
  };
6996
6995
  });
@@ -7316,7 +7315,11 @@ function RItem(_ref2) {
7316
7315
  })
7317
7316
  }), columns.map(function (i) {
7318
7317
  return jsxRuntime.jsx(React__default['default'].Fragment, {
7319
- children: i.child(model, link, search)
7318
+ children: i.child({
7319
+ model: model,
7320
+ link: link,
7321
+ search: search
7322
+ })
7320
7323
  }, i.label);
7321
7324
  }), jsxRuntime.jsx("td", {
7322
7325
  style: smallcss,
@@ -7594,11 +7597,11 @@ function PanelItems() {
7594
7597
  loading: true,
7595
7598
  total: Ctx.context.length
7596
7599
  });
7597
- var get = Ctx.registry.get;
7598
- var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
7600
+ var getSearchEngineQueryParamsFunction = Ctx.registry.getSearchEngineQueryParamsFunction;
7601
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
7599
7602
 
7600
7603
  if (sortParsed === undefined) {
7601
- var defaultSortValue = Ctx.registry.getDefaultSortValue(Ctx.context['@type']);
7604
+ var defaultSortValue = Ctx.registry.getDefaultSortValue(Ctx.context['@type'], undefined);
7602
7605
  sortParsed = parser("_sort_" + defaultSortValue.direction + "=" + defaultSortValue.key);
7603
7606
  }
7604
7607
 
@@ -10914,24 +10917,19 @@ var registry = {
10914
10917
  fieldsToFilter: {
10915
10918
  UserManager: ['id', 'email', 'user_name']
10916
10919
  },
10917
- defaultSortValue: {}
10918
- };
10919
-
10920
- var get$2 = function get(key, param, fallback) {
10921
- if (fallback === void 0) {
10922
- fallback = undefined;
10923
- }
10924
-
10925
- if (registry[key]) return registry[key][param] || fallback;
10926
- return fallback;
10920
+ parseSearchQueryParamFunction: {},
10921
+ defaultSortValue: {},
10922
+ actionsList: {}
10927
10923
  };
10928
10924
 
10929
- var getComponent = function getComponent(context, path, fallback) {
10925
+ var getPathComponent = function getPathComponent(context, path, fallback) {
10930
10926
  if (fallback === void 0) {
10931
10927
  fallback = undefined;
10932
10928
  }
10933
10929
 
10934
- if (!context) return; // console.log("Component for path", path)
10930
+ if (!context) return function () {
10931
+ return null;
10932
+ }; // console.log("Component for path", path)
10935
10933
  // lookup by path
10936
10934
 
10937
10935
  if (registry.paths[path]) {
@@ -10960,6 +10958,10 @@ var getItemsColumn = function getItemsColumn(type) {
10960
10958
  return undefined;
10961
10959
  };
10962
10960
 
10961
+ var getComponent = function getComponent(name) {
10962
+ return registry.components[name];
10963
+ };
10964
+
10963
10965
  var getView = function getView(name) {
10964
10966
  return registry.views[name];
10965
10967
  };
@@ -11003,6 +11005,31 @@ var getDefaultSortValue = function getDefaultSortValue(type, fallback) {
11003
11005
  return registry.defaultSortValue[type] || fallback;
11004
11006
  };
11005
11007
 
11008
+ var getSearchEngineQueryParamsFunction = function getSearchEngineQueryParamsFunction(type) {
11009
+ return registry.searchEngineQueryParamsFunction[type];
11010
+ };
11011
+
11012
+ var getParsedSearchQueryParam = function getParsedSearchQueryParam(query, type) {
11013
+ var parsedFunction = registry.parseSearchQueryParamFunction[type];
11014
+
11015
+ if (!parsedFunction) {
11016
+ var fieldsToFilter = getFieldsToFilter(type);
11017
+ return buildQs(parser(query, fieldsToFilter));
11018
+ }
11019
+
11020
+ return parsedFunction(query, type);
11021
+ };
11022
+
11023
+ var getActionsList = function getActionsList(type, multiple) {
11024
+ var funcActionsList = registry.actionsList[type];
11025
+
11026
+ if (funcActionsList) {
11027
+ return funcActionsList(multiple);
11028
+ }
11029
+
11030
+ return getActionsObject(multiple);
11031
+ };
11032
+
11006
11033
  var defaultComponent = function defaultComponent(context) {
11007
11034
  return context.is_folderish ? FolderCtx : ItemCtx;
11008
11035
  };
@@ -11020,17 +11047,20 @@ function useRegistry(data) {
11020
11047
 
11021
11048
  return {
11022
11049
  registry: registry,
11023
- get: get$2,
11024
11050
  getForm: getForm,
11025
11051
  getComponent: getComponent,
11052
+ getPathComponent: getPathComponent,
11026
11053
  getAction: getAction,
11027
11054
  getBehavior: getBehavior,
11028
11055
  getProperties: getProperties,
11029
11056
  getItemsColumn: getItemsColumn,
11030
11057
  getFieldsToFilter: getFieldsToFilter,
11058
+ getParsedSearchQueryParam: getParsedSearchQueryParam,
11031
11059
  getDefaultSortValue: getDefaultSortValue,
11032
11060
  getSchemas: getSchemas,
11033
- getView: getView
11061
+ getView: getView,
11062
+ getSearchEngineQueryParamsFunction: getSearchEngineQueryParamsFunction,
11063
+ getActionsList: getActionsList
11034
11064
  };
11035
11065
  }
11036
11066
  /*
@@ -13939,7 +13969,7 @@ function Guillotina(_ref) {
13939
13969
  var ErrorBoundary = registry.getView('ErrorBoundary');
13940
13970
  var NotAllowed = registry.getView('NotAllowed');
13941
13971
  var NotFound = registry.getView('NotFound');
13942
- var Path = registry.get('components', 'Path');
13972
+ var Path = registry.getComponent('Path');
13943
13973
  var contextData = {
13944
13974
  url: url,
13945
13975
  client: client,
@@ -13952,7 +13982,7 @@ function Guillotina(_ref) {
13952
13982
  var action = state.action,
13953
13983
  errorStatus = state.errorStatus,
13954
13984
  permissions = state.permissions;
13955
- var Main = registry.getComponent(state.context, path);
13985
+ var Main = registry.getPathComponent(state.context, path);
13956
13986
  var Action = action.action ? registry.getAction(action.action) : null;
13957
13987
  return jsxRuntime.jsx(reactIntl.IntlProvider, {
13958
13988
  locale: locale,
@@ -14238,7 +14268,7 @@ function RequiredFieldsForm(_ref) {
14238
14268
  type = _ref.type;
14239
14269
  var intl = reactIntl.useIntl();
14240
14270
  var Ctx = useTraversal();
14241
- var EditComponent = Ctx.registry.get('components', 'EditComponent');
14271
+ var EditComponent = Ctx.registry.getComponent('EditComponent');
14242
14272
 
14243
14273
  var _useState = React.useState({}),
14244
14274
  formData = _useState[0],