@guillotinaweb/react-gmi 0.30.1 → 0.31.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
@@ -1430,7 +1430,7 @@ function AddItem(props) {
1430
1430
 
1431
1431
  var type = props.type;
1432
1432
  var getForm = Ctx.registry.getForm;
1433
- var Form = getForm(type);
1433
+ var Form = getForm(type, undefined);
1434
1434
 
1435
1435
  var setActive = function setActive() {
1436
1436
  Ctx.cancelAction();
@@ -1599,6 +1599,11 @@ var Checkbox = function Checkbox(_ref) {
1599
1599
  state = _useState[0],
1600
1600
  setState = _useState[1];
1601
1601
 
1602
+ React.useEffect(function () {
1603
+ if (state !== checked) {
1604
+ setState(!!checked);
1605
+ }
1606
+ }, [checked]);
1602
1607
  React.useEffect(function () {
1603
1608
  if (inputRef.current) {
1604
1609
  inputRef.current.indeterminate = indeterminate;
@@ -2746,52 +2751,49 @@ var cacheTypes = {};
2746
2751
  var cacheSchemas = {};
2747
2752
  var GuillotinaClient = /*#__PURE__*/function () {
2748
2753
  function GuillotinaClient(rest, pathContainsContainer) {
2749
- var _this = this;
2750
-
2751
2754
  this.rest = void 0;
2752
2755
  this.pathContainsContainer = void 0;
2756
+ this.rest = rest;
2757
+ this.pathContainsContainer = pathContainsContainer;
2758
+ }
2753
2759
 
2754
- this.getContainerFromPath = function (path) {
2755
- if (_this.pathContainsContainer) {
2756
- if (path.startsWith('/')) {
2757
- path = path.substring(1);
2758
- }
2760
+ var _proto = GuillotinaClient.prototype;
2759
2761
 
2760
- var parts = path.split('/');
2761
- return parts[0] + "/" + parts[1] + "/";
2762
+ _proto.getContainerFromPath = function getContainerFromPath(path) {
2763
+ if (this.pathContainsContainer) {
2764
+ if (path.startsWith('/')) {
2765
+ path = path.substring(1);
2762
2766
  }
2763
2767
 
2764
- return '';
2765
- };
2766
-
2767
- this.clearContainerFromPath = function (path) {
2768
- if (_this.pathContainsContainer) {
2769
- return "/" + _this.cleanPath(path);
2770
- }
2768
+ var parts = path.split('/');
2769
+ return parts[0] + "/" + parts[1] + "/";
2770
+ }
2771
2771
 
2772
- return path;
2773
- };
2772
+ return '';
2773
+ };
2774
2774
 
2775
- this.rest = rest;
2776
- this.pathContainsContainer = pathContainsContainer;
2777
- }
2775
+ _proto.clearContainerFromPath = function clearContainerFromPath(path) {
2776
+ if (this.pathContainsContainer) {
2777
+ return "/" + this.cleanPath(path);
2778
+ }
2778
2779
 
2779
- var _proto = GuillotinaClient.prototype;
2780
+ return path;
2781
+ };
2780
2782
 
2781
2783
  _proto.getContext = function getContext(path) {
2782
2784
  try {
2783
- var _this3 = this;
2785
+ var _this2 = this;
2784
2786
 
2785
2787
  switch (path) {
2786
2788
  case '/':
2787
- return Promise.resolve(_this3.rest.get(''));
2789
+ return Promise.resolve(_this2.rest.get(''));
2788
2790
 
2789
2791
  default:
2790
2792
  if (path.startsWith('/')) {
2791
2793
  path = path.substring(1);
2792
2794
  }
2793
2795
 
2794
- return Promise.resolve(_this3.rest.get(path));
2796
+ return Promise.resolve(_this2.rest.get(path));
2795
2797
  }
2796
2798
  } catch (e) {
2797
2799
  return Promise.reject(e);
@@ -2800,13 +2802,13 @@ var GuillotinaClient = /*#__PURE__*/function () {
2800
2802
 
2801
2803
  _proto.get = function get(path) {
2802
2804
  try {
2803
- var _this5 = this;
2805
+ var _this4 = this;
2804
2806
 
2805
2807
  if (path.startsWith('/')) {
2806
2808
  path = path.slice(1);
2807
2809
  }
2808
2810
 
2809
- return Promise.resolve(_this5.rest.get(path));
2811
+ return Promise.resolve(_this4.rest.get(path));
2810
2812
  } catch (e) {
2811
2813
  return Promise.reject(e);
2812
2814
  }
@@ -2883,13 +2885,15 @@ var GuillotinaClient = /*#__PURE__*/function () {
2883
2885
  width: 120
2884
2886
  };
2885
2887
  return [{
2888
+ key: 'icon',
2886
2889
  label: '',
2887
2890
  isSortable: false,
2888
- child: function child(m) {
2891
+ child: function child(_ref3) {
2892
+ var model = _ref3.model;
2889
2893
  return jsxRuntime.jsx("td", {
2890
2894
  style: smallcss,
2891
2895
  children: jsxRuntime.jsx(Icon, {
2892
- icon: m.icon
2896
+ icon: model.icon
2893
2897
  })
2894
2898
  });
2895
2899
  }
@@ -2897,13 +2901,14 @@ var GuillotinaClient = /*#__PURE__*/function () {
2897
2901
  label: 'type',
2898
2902
  key: 'type_name',
2899
2903
  isSortable: false,
2900
- child: function child(m) {
2904
+ child: function child(_ref4) {
2905
+ var model = _ref4.model;
2901
2906
  return jsxRuntime.jsx(TdLink, {
2902
2907
  style: smallcss,
2903
- model: m,
2908
+ model: model,
2904
2909
  children: jsxRuntime.jsx("span", {
2905
2910
  className: "tag",
2906
- children: m.type
2911
+ children: model.type
2907
2912
  })
2908
2913
  });
2909
2914
  }
@@ -2911,13 +2916,15 @@ var GuillotinaClient = /*#__PURE__*/function () {
2911
2916
  label: 'id/name',
2912
2917
  key: 'title',
2913
2918
  isSortable: true,
2914
- child: function child(m, _navigate, search) {
2919
+ child: function child(_ref5) {
2920
+ var model = _ref5.model,
2921
+ search = _ref5.search;
2915
2922
  return jsxRuntime.jsxs(TdLink, {
2916
- model: m,
2917
- children: [m.name, search && jsxRuntime.jsxs(React__default['default'].Fragment, {
2923
+ model: model,
2924
+ children: [model.name, search && jsxRuntime.jsxs(React__default['default'].Fragment, {
2918
2925
  children: [jsxRuntime.jsx("br", {}), jsxRuntime.jsx("span", {
2919
2926
  className: "is-size-7 tag is-light",
2920
- children: m.path
2927
+ children: model.path
2921
2928
  })]
2922
2929
  })]
2923
2930
  });
@@ -2926,22 +2933,24 @@ var GuillotinaClient = /*#__PURE__*/function () {
2926
2933
  label: 'created',
2927
2934
  key: 'creation_date',
2928
2935
  isSortable: true,
2929
- child: function child(m) {
2936
+ child: function child(_ref6) {
2937
+ var model = _ref6.model;
2930
2938
  return jsxRuntime.jsx("td", {
2931
2939
  style: mediumcss,
2932
2940
  className: "is-size-7 is-vcentered",
2933
- children: m.created
2941
+ children: model.created
2934
2942
  });
2935
2943
  }
2936
2944
  }, {
2937
2945
  label: 'modified',
2938
2946
  key: 'modification_date',
2939
2947
  isSortable: true,
2940
- child: function child(m) {
2948
+ child: function child(_ref7) {
2949
+ var model = _ref7.model;
2941
2950
  return jsxRuntime.jsx("td", {
2942
2951
  style: mediumcss,
2943
2952
  className: "is-size-7 is-vcentered",
2944
- children: m.updated
2953
+ children: model.updated
2945
2954
  });
2946
2955
  }
2947
2956
  }];
@@ -2967,21 +2976,21 @@ var GuillotinaClient = /*#__PURE__*/function () {
2967
2976
  }
2968
2977
 
2969
2978
  try {
2970
- var _this7 = this;
2979
+ var _this6 = this;
2971
2980
 
2972
2981
  if (path.startsWith('/')) {
2973
2982
  path = path.slice(1);
2974
2983
  }
2975
2984
 
2976
2985
  if (container) {
2977
- path = _this7.getContainerFromPath(path);
2986
+ path = _this6.getContainerFromPath(path);
2978
2987
  }
2979
2988
 
2980
2989
  var query = prepare ? toQueryString(params) : params;
2981
2990
  var url = path + "@search?" + query;
2982
- return Promise.resolve(_this7.rest.get(url, signal)).then(function (res) {
2991
+ return Promise.resolve(_this6.rest.get(url, signal)).then(function (res) {
2983
2992
  return Promise.resolve(res.json()).then(function (data) {
2984
- return _this7.applyCompat(data);
2993
+ return _this6.applyCompat(data);
2985
2994
  });
2986
2995
  });
2987
2996
  } catch (e) {
@@ -2991,7 +3000,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
2991
3000
 
2992
3001
  _proto.canido = function canido(path, permissions) {
2993
3002
  try {
2994
- var _this9 = this;
3003
+ var _this8 = this;
2995
3004
 
2996
3005
  if (path.startsWith('/')) {
2997
3006
  path = path.slice(1);
@@ -3002,7 +3011,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
3002
3011
  }
3003
3012
 
3004
3013
  var url = path + "@canido?permissions=" + permissions;
3005
- return Promise.resolve(_this9.rest.get(url));
3014
+ return Promise.resolve(_this8.rest.get(url));
3006
3015
  } catch (e) {
3007
3016
  return Promise.reject(e);
3008
3017
  }
@@ -3010,9 +3019,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3010
3019
 
3011
3020
  _proto.createObject = function createObject(path, data) {
3012
3021
  try {
3013
- var _this11 = this;
3022
+ var _this10 = this;
3014
3023
 
3015
- return Promise.resolve(_this11.rest.post(path, data));
3024
+ return Promise.resolve(_this10.rest.post(path, data));
3016
3025
  } catch (e) {
3017
3026
  return Promise.reject(e);
3018
3027
  }
@@ -3025,9 +3034,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3025
3034
 
3026
3035
  _proto.delete = function _delete(path, data) {
3027
3036
  try {
3028
- var _this13 = this;
3037
+ var _this12 = this;
3029
3038
 
3030
- return Promise.resolve(_this13.rest.delete(path, data));
3039
+ return Promise.resolve(_this12.rest.delete(path, data));
3031
3040
  } catch (e) {
3032
3041
  return Promise.reject(e);
3033
3042
  }
@@ -3035,13 +3044,13 @@ var GuillotinaClient = /*#__PURE__*/function () {
3035
3044
 
3036
3045
  _proto.create = function create(path, data) {
3037
3046
  try {
3038
- var _this15 = this;
3047
+ var _this14 = this;
3039
3048
 
3040
3049
  if (path.startsWith('/')) {
3041
3050
  path = path.substring(1);
3042
3051
  }
3043
3052
 
3044
- return Promise.resolve(_this15.rest.post(path, data));
3053
+ return Promise.resolve(_this14.rest.post(path, data));
3045
3054
  } catch (e) {
3046
3055
  return Promise.reject(e);
3047
3056
  }
@@ -3049,9 +3058,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3049
3058
 
3050
3059
  _proto.post = function post(path, data) {
3051
3060
  try {
3052
- var _this17 = this;
3061
+ var _this16 = this;
3053
3062
 
3054
- return Promise.resolve(_this17.create(path, data));
3063
+ return Promise.resolve(_this16.create(path, data));
3055
3064
  } catch (e) {
3056
3065
  return Promise.reject(e);
3057
3066
  }
@@ -3059,13 +3068,13 @@ var GuillotinaClient = /*#__PURE__*/function () {
3059
3068
 
3060
3069
  _proto.patch = function patch(path, data) {
3061
3070
  try {
3062
- var _this19 = this;
3071
+ var _this18 = this;
3063
3072
 
3064
3073
  if (path.startsWith('/')) {
3065
3074
  path = path.substring(1);
3066
3075
  }
3067
3076
 
3068
- return Promise.resolve(_this19.rest.patch(path, data));
3077
+ return Promise.resolve(_this18.rest.patch(path, data));
3069
3078
  } catch (e) {
3070
3079
  return Promise.reject(e);
3071
3080
  }
@@ -3073,13 +3082,13 @@ var GuillotinaClient = /*#__PURE__*/function () {
3073
3082
 
3074
3083
  _proto.upload = function upload(path, file) {
3075
3084
  try {
3076
- var _this21 = this;
3085
+ var _this20 = this;
3077
3086
 
3078
3087
  if (path.startsWith('/')) {
3079
3088
  path = path.substring(1);
3080
3089
  }
3081
3090
 
3082
- return Promise.resolve(_this21.rest.upload(path, file));
3091
+ return Promise.resolve(_this20.rest.upload(path, file));
3083
3092
  } catch (e) {
3084
3093
  return Promise.reject(e);
3085
3094
  }
@@ -3087,13 +3096,13 @@ var GuillotinaClient = /*#__PURE__*/function () {
3087
3096
 
3088
3097
  _proto.download = function download(path) {
3089
3098
  try {
3090
- var _this23 = this;
3099
+ var _this22 = this;
3091
3100
 
3092
3101
  if (path.startsWith('/')) {
3093
3102
  path = path.substring(1);
3094
3103
  }
3095
3104
 
3096
- return Promise.resolve(_this23.rest.get(path));
3105
+ return Promise.resolve(_this22.rest.get(path));
3097
3106
  } catch (e) {
3098
3107
  return Promise.reject(e);
3099
3108
  }
@@ -3101,7 +3110,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
3101
3110
 
3102
3111
  _proto.getTypeSchema = function getTypeSchema(path, name) {
3103
3112
  try {
3104
- var _this25 = this;
3113
+ var _this24 = this;
3105
3114
 
3106
3115
  function _temp3() {
3107
3116
  return cacheSchemas[name];
@@ -3109,10 +3118,10 @@ var GuillotinaClient = /*#__PURE__*/function () {
3109
3118
 
3110
3119
  var _temp4 = function () {
3111
3120
  if (!cacheSchemas[name]) {
3112
- var url = _this25.getContainerFromPath(path); // todo: handle db case (only addable containers)
3121
+ var url = _this24.getContainerFromPath(path); // todo: handle db case (only addable containers)
3113
3122
 
3114
3123
 
3115
- return Promise.resolve(_this25.rest.get(url + "@types/" + name)).then(function (res) {
3124
+ return Promise.resolve(_this24.rest.get(url + "@types/" + name)).then(function (res) {
3116
3125
  return Promise.resolve(res.json()).then(function (_res$json) {
3117
3126
  cacheSchemas[name] = _res$json;
3118
3127
  });
@@ -3128,9 +3137,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3128
3137
 
3129
3138
  _proto.getAddons = function getAddons(path) {
3130
3139
  try {
3131
- var _this27 = this;
3140
+ var _this26 = this;
3132
3141
 
3133
- return Promise.resolve(_this27.rest.get(path + "@addons"));
3142
+ return Promise.resolve(_this26.rest.get(path + "@addons"));
3134
3143
  } catch (e) {
3135
3144
  return Promise.reject(e);
3136
3145
  }
@@ -3138,9 +3147,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3138
3147
 
3139
3148
  _proto.installAddon = function installAddon(path, key) {
3140
3149
  try {
3141
- var _this29 = this;
3150
+ var _this28 = this;
3142
3151
 
3143
- return Promise.resolve(_this29.rest.post(path + "@addons", {
3152
+ return Promise.resolve(_this28.rest.post(path + "@addons", {
3144
3153
  id: key
3145
3154
  }));
3146
3155
  } catch (e) {
@@ -3150,9 +3159,9 @@ var GuillotinaClient = /*#__PURE__*/function () {
3150
3159
 
3151
3160
  _proto.removeAddon = function removeAddon(path, key) {
3152
3161
  try {
3153
- var _this31 = this;
3162
+ var _this30 = this;
3154
3163
 
3155
- return Promise.resolve(_this31.rest.delete(path + "@addons", {
3164
+ return Promise.resolve(_this30.rest.delete(path + "@addons", {
3156
3165
  id: key
3157
3166
  }));
3158
3167
  } catch (e) {
@@ -3162,10 +3171,10 @@ var GuillotinaClient = /*#__PURE__*/function () {
3162
3171
 
3163
3172
  _proto.getGroups = function getGroups(path) {
3164
3173
  try {
3165
- var _this33 = this;
3174
+ var _this32 = this;
3166
3175
 
3167
- var endpoint = _this33.getContainerFromPath(path) + "@groups";
3168
- return Promise.resolve(_this33.rest.get(endpoint));
3176
+ var endpoint = _this32.getContainerFromPath(path) + "@groups";
3177
+ return Promise.resolve(_this32.rest.get(endpoint));
3169
3178
  } catch (e) {
3170
3179
  return Promise.reject(e);
3171
3180
  }
@@ -3173,10 +3182,10 @@ var GuillotinaClient = /*#__PURE__*/function () {
3173
3182
 
3174
3183
  _proto.getUsers = function getUsers(path) {
3175
3184
  try {
3176
- var _this35 = this;
3185
+ var _this34 = this;
3177
3186
 
3178
- var endpoint = _this35.getContainerFromPath(path) + "@users";
3179
- return Promise.resolve(_this35.rest.get(endpoint));
3187
+ var endpoint = _this34.getContainerFromPath(path) + "@users";
3188
+ return Promise.resolve(_this34.rest.get(endpoint));
3180
3189
  } catch (e) {
3181
3190
  return Promise.reject(e);
3182
3191
  }
@@ -3184,15 +3193,15 @@ var GuillotinaClient = /*#__PURE__*/function () {
3184
3193
 
3185
3194
  _proto.getPrincipals = function getPrincipals(path) {
3186
3195
  try {
3187
- var _this37 = this;
3196
+ var _this36 = this;
3188
3197
 
3189
- var groups = _this37.getGroups(path);
3198
+ var groups = _this36.getGroups(path);
3190
3199
 
3191
- var users = _this37.getUsers(path);
3200
+ var users = _this36.getUsers(path);
3192
3201
 
3193
- return Promise.resolve(Promise.all([groups, users])).then(function (_ref3) {
3194
- var responseGroups = _ref3[0],
3195
- responseUsers = _ref3[1];
3202
+ return Promise.resolve(Promise.all([groups, users])).then(function (_ref8) {
3203
+ var responseGroups = _ref8[0],
3204
+ responseUsers = _ref8[1];
3196
3205
 
3197
3206
  function _temp8() {
3198
3207
  function _temp6() {
@@ -3246,10 +3255,10 @@ var GuillotinaClient = /*#__PURE__*/function () {
3246
3255
 
3247
3256
  _proto.getRoles = function getRoles(path) {
3248
3257
  try {
3249
- var _this39 = this;
3258
+ var _this38 = this;
3250
3259
 
3251
- var endpoint = _this39.getContainerFromPath(path) + "@available-roles";
3252
- return Promise.resolve(_this39.rest.get(endpoint));
3260
+ var endpoint = _this38.getContainerFromPath(path) + "@available-roles";
3261
+ return Promise.resolve(_this38.rest.get(endpoint));
3253
3262
  } catch (e) {
3254
3263
  return Promise.reject(e);
3255
3264
  }
@@ -3257,14 +3266,14 @@ var GuillotinaClient = /*#__PURE__*/function () {
3257
3266
 
3258
3267
  _proto.getAllPermissions = function getAllPermissions(path) {
3259
3268
  try {
3260
- var _this41 = this;
3269
+ var _this40 = this;
3261
3270
 
3262
3271
  // paths used to query the API always has to start without a "/"
3263
3272
  if (path.startsWith('/')) {
3264
3273
  path = path.slice(1);
3265
3274
  }
3266
3275
 
3267
- return Promise.resolve(_this41.rest.get(path + '@all_permissions')).then(function (req) {
3276
+ return Promise.resolve(_this40.rest.get(path + '@all_permissions')).then(function (req) {
3268
3277
  return Promise.resolve(req.json()).then(function (resp) {
3269
3278
  var permissions = Array.from(new Set(extractPermissions(resp)));
3270
3279
  return permissions;
@@ -3277,7 +3286,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
3277
3286
 
3278
3287
  _proto.getTypes = function getTypes(path) {
3279
3288
  try {
3280
- var _this43 = this;
3289
+ var _this42 = this;
3281
3290
 
3282
3291
  function _temp12() {
3283
3292
  return cacheTypes[path];
@@ -3289,7 +3298,7 @@ var GuillotinaClient = /*#__PURE__*/function () {
3289
3298
 
3290
3299
  var _temp13 = function () {
3291
3300
  if (!cacheTypes[path]) {
3292
- return Promise.resolve(_this43.rest.get(path + '@addable-types')).then(function (types) {
3301
+ return Promise.resolve(_this42.rest.get(path + '@addable-types')).then(function (types) {
3293
3302
  var _temp9 = function () {
3294
3303
  if (types.status === 401 || types.status === 404) {
3295
3304
  cacheTypes[path] = [];
@@ -3587,8 +3596,8 @@ var SearchInput = function SearchInput(_ref) {
3587
3596
  if (labelProperty !== 'id' && value) {
3588
3597
  var searchTermQs = '';
3589
3598
  var searchTermParsed = ["id", value];
3590
- var getSearch = traversal.registry.get;
3591
- var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
3599
+ var getSearchEngineQueryParamsFunction = traversal.registry.getSearchEngineQueryParamsFunction;
3600
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
3592
3601
  var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
3593
3602
  path: traversal.path,
3594
3603
  start: 0,
@@ -3646,10 +3655,8 @@ var SearchInput = function SearchInput(_ref) {
3646
3655
  searchTermParsed = parser(queryCondition + "=" + value);
3647
3656
  }
3648
3657
 
3649
- var _get = traversal.registry.get;
3650
-
3651
- var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
3652
-
3658
+ var getSearchEngineQueryParamsFunction = traversal.registry.getSearchEngineQueryParamsFunction;
3659
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
3653
3660
  var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
3654
3661
  path: traversal.path,
3655
3662
  start: page * PageSize,
@@ -3923,10 +3930,8 @@ var SearchInputList = function SearchInputList(_ref) {
3923
3930
  searchTermParsed = parser(queryCondition + "=" + value);
3924
3931
  }
3925
3932
 
3926
- var _get = traversal.registry.get;
3927
-
3928
- var fnName = _get('searchEngineQueryParamsFunction', SearchEngine);
3929
-
3933
+ var getSearchEngineQueryParamsFunction = traversal.registry.getSearchEngineQueryParamsFunction;
3934
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
3930
3935
  var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
3931
3936
  path: traversal.path,
3932
3937
  start: page * PageSize,
@@ -3967,8 +3972,8 @@ var SearchInputList = function SearchInputList(_ref) {
3967
3972
  setIsLoadingData(true);
3968
3973
  var searchTermQs = '';
3969
3974
  var searchTermParsed = ['__or', "id=" + value.join('%26id=')];
3970
- var getSearch = traversal.registry.get;
3971
- var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
3975
+ var getSearchEngineQueryParamsFunction = traversal.registry.getSearchEngineQueryParamsFunction;
3976
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
3972
3977
  var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
3973
3978
  path: traversal.path,
3974
3979
  start: 0,
@@ -4295,8 +4300,8 @@ function EditableField(_ref) {
4295
4300
  var _useConfig = useConfig(),
4296
4301
  fieldHaveDeleteButton = _useConfig.fieldHaveDeleteButton;
4297
4302
 
4298
- var EditComponent = Ctx.registry.get('components', 'EditComponent');
4299
- var RenderFieldComponent = Ctx.registry.get('components', 'RenderFieldComponent');
4303
+ var EditComponent = Ctx.registry.getComponent('EditComponent');
4304
+ var RenderFieldComponent = Ctx.registry.getComponent('RenderFieldComponent');
4300
4305
  React.useEffect(function () {
4301
4306
  if (isEdit && ref.current) {
4302
4307
  ref.current.focus();
@@ -4638,7 +4643,6 @@ var SearchRenderField = function SearchRenderField(_ref3) {
4638
4643
  var schema = _ref3.schema,
4639
4644
  value = _ref3.value,
4640
4645
  modifyContent = _ref3.modifyContent;
4641
- console.log('search render fields');
4642
4646
  var intl = reactIntl.useIntl();
4643
4647
 
4644
4648
  var _useState = React.useState([]),
@@ -4661,8 +4665,8 @@ var SearchRenderField = function SearchRenderField(_ref3) {
4661
4665
  setIsLoadingData(true);
4662
4666
  var searchTermQs = '';
4663
4667
  var searchTermParsed = ['__or', "id=" + valuesToSearch.join('%26id=')];
4664
- var getSearch = traversal.registry.get;
4665
- var fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine);
4668
+ var getSearchEngineQueryParamsFunction = traversal.registry.getSearchEngineQueryParamsFunction;
4669
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
4666
4670
  var qsParsed = traversal.client.getQueryParamsSearchFunction(fnName)({
4667
4671
  path: traversal.path,
4668
4672
  start: 0,
@@ -7316,7 +7320,11 @@ function RItem(_ref2) {
7316
7320
  })
7317
7321
  }), columns.map(function (i) {
7318
7322
  return jsxRuntime.jsx(React__default['default'].Fragment, {
7319
- children: i.child(model, link, search)
7323
+ children: i.child({
7324
+ model: model,
7325
+ link: link,
7326
+ search: search
7327
+ })
7320
7328
  }, i.label);
7321
7329
  }), jsxRuntime.jsx("td", {
7322
7330
  style: smallcss,
@@ -7594,11 +7602,11 @@ function PanelItems() {
7594
7602
  loading: true,
7595
7603
  total: Ctx.context.length
7596
7604
  });
7597
- var get = Ctx.registry.get;
7598
- var fnName = get('searchEngineQueryParamsFunction', SearchEngine);
7605
+ var getSearchEngineQueryParamsFunction = Ctx.registry.getSearchEngineQueryParamsFunction;
7606
+ var fnName = getSearchEngineQueryParamsFunction(SearchEngine);
7599
7607
 
7600
7608
  if (sortParsed === undefined) {
7601
- var defaultSortValue = Ctx.registry.getDefaultSortValue(Ctx.context['@type']);
7609
+ var defaultSortValue = Ctx.registry.getDefaultSortValue(Ctx.context['@type'], undefined);
7602
7610
  sortParsed = parser("_sort_" + defaultSortValue.direction + "=" + defaultSortValue.key);
7603
7611
  }
7604
7612
 
@@ -10914,24 +10922,18 @@ var registry = {
10914
10922
  fieldsToFilter: {
10915
10923
  UserManager: ['id', 'email', 'user_name']
10916
10924
  },
10925
+ parseSearchQueryParamFunction: {},
10917
10926
  defaultSortValue: {}
10918
10927
  };
10919
10928
 
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;
10927
- };
10928
-
10929
- var getComponent = function getComponent(context, path, fallback) {
10929
+ var getPathComponent = function getPathComponent(context, path, fallback) {
10930
10930
  if (fallback === void 0) {
10931
10931
  fallback = undefined;
10932
10932
  }
10933
10933
 
10934
- if (!context) return; // console.log("Component for path", path)
10934
+ if (!context) return function () {
10935
+ return null;
10936
+ }; // console.log("Component for path", path)
10935
10937
  // lookup by path
10936
10938
 
10937
10939
  if (registry.paths[path]) {
@@ -10960,6 +10962,10 @@ var getItemsColumn = function getItemsColumn(type) {
10960
10962
  return undefined;
10961
10963
  };
10962
10964
 
10965
+ var getComponent = function getComponent(name) {
10966
+ return registry.components[name];
10967
+ };
10968
+
10963
10969
  var getView = function getView(name) {
10964
10970
  return registry.views[name];
10965
10971
  };
@@ -11003,6 +11009,21 @@ var getDefaultSortValue = function getDefaultSortValue(type, fallback) {
11003
11009
  return registry.defaultSortValue[type] || fallback;
11004
11010
  };
11005
11011
 
11012
+ var getSearchEngineQueryParamsFunction = function getSearchEngineQueryParamsFunction(type) {
11013
+ return registry.searchEngineQueryParamsFunction[type];
11014
+ };
11015
+
11016
+ var getParsedSearchQueryParam = function getParsedSearchQueryParam(query, type) {
11017
+ var parsedFunction = registry.parseSearchQueryParamFunction[type];
11018
+
11019
+ if (!parsedFunction) {
11020
+ var fieldsToFilter = getFieldsToFilter(type);
11021
+ return buildQs(parser(query, fieldsToFilter));
11022
+ }
11023
+
11024
+ return parsedFunction(query, type);
11025
+ };
11026
+
11006
11027
  var defaultComponent = function defaultComponent(context) {
11007
11028
  return context.is_folderish ? FolderCtx : ItemCtx;
11008
11029
  };
@@ -11020,17 +11041,19 @@ function useRegistry(data) {
11020
11041
 
11021
11042
  return {
11022
11043
  registry: registry,
11023
- get: get$2,
11024
11044
  getForm: getForm,
11025
11045
  getComponent: getComponent,
11046
+ getPathComponent: getPathComponent,
11026
11047
  getAction: getAction,
11027
11048
  getBehavior: getBehavior,
11028
11049
  getProperties: getProperties,
11029
11050
  getItemsColumn: getItemsColumn,
11030
11051
  getFieldsToFilter: getFieldsToFilter,
11052
+ getParsedSearchQueryParam: getParsedSearchQueryParam,
11031
11053
  getDefaultSortValue: getDefaultSortValue,
11032
11054
  getSchemas: getSchemas,
11033
- getView: getView
11055
+ getView: getView,
11056
+ getSearchEngineQueryParamsFunction: getSearchEngineQueryParamsFunction
11034
11057
  };
11035
11058
  }
11036
11059
  /*
@@ -13939,7 +13962,7 @@ function Guillotina(_ref) {
13939
13962
  var ErrorBoundary = registry.getView('ErrorBoundary');
13940
13963
  var NotAllowed = registry.getView('NotAllowed');
13941
13964
  var NotFound = registry.getView('NotFound');
13942
- var Path = registry.get('components', 'Path');
13965
+ var Path = registry.getComponent('Path');
13943
13966
  var contextData = {
13944
13967
  url: url,
13945
13968
  client: client,
@@ -13952,7 +13975,7 @@ function Guillotina(_ref) {
13952
13975
  var action = state.action,
13953
13976
  errorStatus = state.errorStatus,
13954
13977
  permissions = state.permissions;
13955
- var Main = registry.getComponent(state.context, path);
13978
+ var Main = registry.getPathComponent(state.context, path);
13956
13979
  var Action = action.action ? registry.getAction(action.action) : null;
13957
13980
  return jsxRuntime.jsx(reactIntl.IntlProvider, {
13958
13981
  locale: locale,
@@ -14238,7 +14261,7 @@ function RequiredFieldsForm(_ref) {
14238
14261
  type = _ref.type;
14239
14262
  var intl = reactIntl.useIntl();
14240
14263
  var Ctx = useTraversal();
14241
- var EditComponent = Ctx.registry.get('components', 'EditComponent');
14264
+ var EditComponent = Ctx.registry.getComponent('EditComponent');
14242
14265
 
14243
14266
  var _useState = React.useState({}),
14244
14267
  formData = _useState[0],