@guillotinaweb/react-gmi 0.24.0 → 0.24.1

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
@@ -3762,12 +3762,14 @@ function useVocabulary(vocabularyName, path) {
3762
3762
  var plain = ['string', 'number', 'boolean'];
3763
3763
  function RenderField(_ref) {
3764
3764
  var value = _ref.value,
3765
- Widget = _ref.Widget;
3765
+ Widget = _ref.Widget,
3766
+ schema = _ref.schema;
3766
3767
  if (value === null || value === undefined) return '';
3767
3768
 
3768
3769
  if (Widget) {
3769
3770
  return /*#__PURE__*/React__default['default'].createElement(Widget, {
3770
- value: value
3771
+ value: value,
3772
+ schema: schema
3771
3773
  });
3772
3774
  }
3773
3775
 
@@ -3814,23 +3816,68 @@ var FieldValue = function FieldValue(_ref2) {
3814
3816
  })));
3815
3817
  };
3816
3818
 
3817
- function RenderFieldComponent(_ref3) {
3818
- var schema = _ref3.schema,
3819
- field = _ref3.field,
3820
- val = _ref3.val,
3821
- modifyContent = _ref3.modifyContent;
3822
- var intl = reactIntl.useIntl();
3823
- var DEFAULT_VALUE_EDITABLE_FIELD = intl.formatMessage({
3819
+ var DEFAULT_VALUE_NO_EDITABLE_FIELD = ' -- ';
3820
+
3821
+ var getDefaultValueEditableField = function getDefaultValueEditableField(intl) {
3822
+ return intl.formatMessage({
3824
3823
  id: "default_value_editable_field",
3825
3824
  defaultMessage: [{
3826
3825
  "type": 0,
3827
3826
  "value": "Click to edit"
3828
3827
  }]
3829
3828
  });
3830
- var DEFAULT_VALUE_NO_EDITABLE_FIELD = ' -- ';
3829
+ };
3830
+
3831
+ var VocabularyRenderField = function VocabularyRenderField(_ref3) {
3832
+ var _schema$items;
3833
+
3834
+ var schema = _ref3.schema,
3835
+ value = _ref3.value,
3836
+ modifyContent = _ref3.modifyContent;
3837
+ var intl = reactIntl.useIntl();
3838
+ var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
3839
+ var vocabularyName = (schema == null ? void 0 : (_schema$items = schema.items) == null ? void 0 : _schema$items.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName);
3840
+ var vocabulary = useVocabulary(vocabularyName);
3841
+
3842
+ var getRenderProps = function getRenderProps() {
3843
+ var renderProps = {
3844
+ value: value != null ? value : modifyContent ? DEFAULT_VALUE_EDITABLE_FIELD : DEFAULT_VALUE_NO_EDITABLE_FIELD
3845
+ };
3846
+
3847
+ if (schema != null && schema.vocabularyName) {
3848
+ var _vocabularyValue$titl;
3849
+
3850
+ var vocabularyValue = get$1(vocabulary, 'data.items', []).find(function (item) {
3851
+ return item.token === value;
3852
+ });
3853
+ renderProps['value'] = (_vocabularyValue$titl = vocabularyValue == null ? void 0 : vocabularyValue.title) != null ? _vocabularyValue$titl : '';
3854
+ } else {
3855
+ var _renderProps$value;
3856
+
3857
+ renderProps['value'] = ((_renderProps$value = renderProps['value']) != null ? _renderProps$value : []).map(function (value) {
3858
+ var _get$find$title, _get$find;
3859
+
3860
+ return (_get$find$title = (_get$find = get$1(vocabulary, 'data.items', []).find(function (item) {
3861
+ return item.token === value;
3862
+ })) == null ? void 0 : _get$find.title) != null ? _get$find$title : '';
3863
+ });
3864
+ }
3865
+
3866
+ return renderProps;
3867
+ };
3868
+
3869
+ return /*#__PURE__*/React__default['default'].createElement(RenderField, getRenderProps());
3870
+ };
3871
+ function RenderFieldComponent(_ref4) {
3872
+ var schema = _ref4.schema,
3873
+ field = _ref4.field,
3874
+ val = _ref4.val,
3875
+ modifyContent = _ref4.modifyContent;
3876
+ var intl = reactIntl.useIntl();
3877
+ var DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl);
3831
3878
 
3832
3879
  var getRenderProps = function getRenderProps() {
3833
- var _schema$items;
3880
+ var _schema$items2;
3834
3881
 
3835
3882
  var renderProps = {
3836
3883
  value: val != null ? val : modifyContent ? DEFAULT_VALUE_EDITABLE_FIELD : DEFAULT_VALUE_NO_EDITABLE_FIELD
@@ -3848,37 +3895,220 @@ function RenderFieldComponent(_ref3) {
3848
3895
  renderProps['value'] = (_val$toString = val == null ? void 0 : val.toString()) != null ? _val$toString : renderProps['value'];
3849
3896
  } else if (val && (schema == null ? void 0 : schema.type) === 'datetime') {
3850
3897
  renderProps['value'] = new Date(val).toLocaleString();
3851
- } else if (schema != null && (_schema$items = schema.items) != null && _schema$items.vocabularyName || schema != null && schema.vocabularyName) {
3852
- var _schema$items2;
3898
+ } else if (schema != null && (_schema$items2 = schema.items) != null && _schema$items2.vocabularyName || schema != null && schema.vocabularyName) {
3899
+ renderProps['Widget'] = VocabularyRenderField;
3900
+ renderProps['schema'] = schema;
3901
+ }
3853
3902
 
3854
- var vocabularyName = (schema == null ? void 0 : (_schema$items2 = schema.items) == null ? void 0 : _schema$items2.vocabularyName) || (schema == null ? void 0 : schema.vocabularyName);
3855
- var vocabulary = useVocabulary(vocabularyName);
3903
+ return renderProps;
3904
+ };
3856
3905
 
3857
- if (schema != null && schema.vocabularyName) {
3858
- var _vocabularyValue$titl;
3906
+ return /*#__PURE__*/React__default['default'].createElement(RenderField, getRenderProps());
3907
+ }
3859
3908
 
3860
- var vocabularyValue = get$1(vocabulary, 'data.items', []).find(function (item) {
3861
- return item.token === val;
3862
- });
3863
- renderProps['value'] = (_vocabularyValue$titl = vocabularyValue == null ? void 0 : vocabularyValue.title) != null ? _vocabularyValue$titl : '';
3864
- } else {
3865
- var _renderProps$value;
3909
+ var SelectVocabulary = React__default['default'].forwardRef(function (_ref, ref) {
3910
+ var vocabularyName = _ref.vocabularyName,
3911
+ className = _ref.className,
3912
+ classWrap = _ref.classWrap,
3913
+ val = _ref.val,
3914
+ dataTest = _ref.dataTest,
3915
+ multiple = _ref.multiple,
3916
+ rest = _objectWithoutPropertiesLoose(_ref, ["vocabularyName", "className", "classWrap", "val", "dataTest", "multiple"]);
3866
3917
 
3867
- renderProps['value'] = ((_renderProps$value = renderProps['value']) != null ? _renderProps$value : []).map(function (value) {
3868
- var _get$find$title, _get$find;
3918
+ var vocabulary = useVocabulary(vocabularyName);
3869
3919
 
3870
- return (_get$find$title = (_get$find = get$1(vocabulary, 'data.items', []).find(function (item) {
3871
- return item.token === value;
3872
- })) == null ? void 0 : _get$find.title) != null ? _get$find$title : '';
3873
- });
3920
+ var getOptions = function getOptions() {
3921
+ if (get$1(vocabulary, 'data.items', null)) {
3922
+ var vocData = vocabulary.data.items.map(function (item) {
3923
+ var _item$title$default;
3924
+
3925
+ return {
3926
+ text: (_item$title$default = item.title.default) != null ? _item$title$default : item.title,
3927
+ value: item.token
3928
+ };
3929
+ });
3930
+ return vocData;
3931
+ }
3932
+
3933
+ return [];
3934
+ };
3935
+
3936
+ var getProps = function getProps() {
3937
+ if (multiple) {
3938
+ var currentValue = val || [];
3939
+ return {
3940
+ multiple: true,
3941
+ size: 5,
3942
+ value: currentValue,
3943
+ options: getOptions()
3944
+ };
3945
+ }
3946
+
3947
+ return {
3948
+ value: val != null ? val : '',
3949
+ appendDefault: true,
3950
+ options: getOptions()
3951
+ };
3952
+ };
3953
+
3954
+ if (vocabulary.data === undefined || vocabulary.loading) {
3955
+ return /*#__PURE__*/React__default['default'].createElement("div", null);
3956
+ }
3957
+
3958
+ return /*#__PURE__*/React__default['default'].createElement(Select, _extends({}, getProps(), {
3959
+ className: className,
3960
+ classWrap: classWrap || 'is-fullwidth',
3961
+ dataTest: dataTest,
3962
+ ref: ref
3963
+ }, rest));
3964
+ });
3965
+ Select.propTypes = {
3966
+ error: PropTypes__default['default'].string,
3967
+ disabled: PropTypes__default['default'].bool,
3968
+ loading: PropTypes__default['default'].bool,
3969
+ isSubmitted: PropTypes__default['default'].bool,
3970
+ size: PropTypes__default['default'].number,
3971
+ onChange: PropTypes__default['default'].func,
3972
+ multiple: PropTypes__default['default'].bool,
3973
+ className: PropTypes__default['default'].string,
3974
+ vocabularyName: PropTypes__default['default'].string
3975
+ };
3976
+
3977
+ var EditComponent = React__default['default'].forwardRef(function (_ref, ref) {
3978
+ var schema = _ref.schema,
3979
+ val = _ref.val,
3980
+ setValue = _ref.setValue,
3981
+ dataTest = _ref.dataTest,
3982
+ className = _ref.className,
3983
+ rest = _objectWithoutPropertiesLoose(_ref, ["schema", "val", "setValue", "dataTest", "className"]);
3984
+
3985
+ if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
3986
+ return /*#__PURE__*/React__default['default'].createElement(Textarea, _extends({
3987
+ value: val || '',
3988
+ className: className,
3989
+ onChange: function onChange(ev) {
3990
+ return setValue(ev);
3991
+ },
3992
+ ref: ref,
3993
+ dataTest: dataTest
3994
+ }, rest));
3995
+ } else if ((schema == null ? void 0 : schema.type) === 'boolean') {
3996
+ return /*#__PURE__*/React__default['default'].createElement(Checkbox, _extends({
3997
+ value: !!val,
3998
+ className: className,
3999
+ onChange: function onChange(ev) {
4000
+ return setValue(ev);
4001
+ },
4002
+ ref: ref,
4003
+ dataTest: dataTest
4004
+ }, rest));
4005
+ } else if ((schema == null ? void 0 : schema.type) === 'array') {
4006
+ if (schema.items && schema.items.type === 'string') {
4007
+ var _schema$items;
4008
+
4009
+ if (schema.items.vocabularyName) {
4010
+ return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
4011
+ vocabularyName: get$1(schema, 'items.vocabularyName', null),
4012
+ val: val || [],
4013
+ className: className,
4014
+ classWrap: "is-fullwidth",
4015
+ dataTest: dataTest
4016
+ }, rest, {
4017
+ onChange: setValue,
4018
+ multiple: true
4019
+ }));
4020
+ } else if (schema != null && (_schema$items = schema.items) != null && _schema$items.vocabulary) {
4021
+ return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
4022
+ value: val || [],
4023
+ className: className,
4024
+ classWrap: "is-fullwidth",
4025
+ dataTest: dataTest,
4026
+ options: schema == null ? void 0 : schema.items.vocabulary.map(function (item) {
4027
+ return {
4028
+ text: item,
4029
+ value: item
4030
+ };
4031
+ }),
4032
+ multiple: true,
4033
+ onChange: setValue
4034
+ }, rest));
3874
4035
  }
3875
4036
  }
3876
4037
 
3877
- return renderProps;
4038
+ return /*#__PURE__*/React__default['default'].createElement(InputList, _extends({
4039
+ value: val || [],
4040
+ className: className,
4041
+ onChange: function onChange(ev) {
4042
+ return setValue(ev);
4043
+ },
4044
+ ref: ref,
4045
+ dataTest: dataTest
4046
+ }, rest));
4047
+ } else if ((schema == null ? void 0 : schema.widget) === 'file') {
4048
+ return /*#__PURE__*/React__default['default'].createElement(FileUpload, _extends({
4049
+ onChange: function onChange(ev) {
4050
+ return setValue(ev);
4051
+ },
4052
+ label: get$1(val, 'filename', null),
4053
+ dataTest: dataTest
4054
+ }, rest));
4055
+ } else if ((schema == null ? void 0 : schema.widget) === 'select' && schema.type === 'string') {
4056
+ if (schema != null && schema.vocabularyName) {
4057
+ return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
4058
+ val: val || '',
4059
+ className: className,
4060
+ appendDefault: true,
4061
+ classWrap: "is-fullwidth",
4062
+ dataTest: dataTest,
4063
+ onChange: setValue,
4064
+ vocabularyName: get$1(schema, 'vocabularyName', null)
4065
+ }, rest));
4066
+ }
4067
+
4068
+ return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
4069
+ value: val || '',
4070
+ className: className,
4071
+ appendDefault: true,
4072
+ classWrap: "is-fullwidth",
4073
+ dataTest: dataTest,
4074
+ options: schema == null ? void 0 : schema.vocabulary.map(function (item) {
4075
+ return {
4076
+ text: item,
4077
+ value: item
4078
+ };
4079
+ }),
4080
+ onChange: setValue
4081
+ }, rest));
4082
+ }
4083
+
4084
+ var getInputType = function getInputType() {
4085
+ switch (schema == null ? void 0 : schema.type) {
4086
+ case 'integer':
4087
+ return 'number';
4088
+
4089
+ case 'date':
4090
+ return 'date';
4091
+
4092
+ case 'datetime':
4093
+ return 'datetime-local';
4094
+
4095
+ default:
4096
+ return 'text';
4097
+ }
3878
4098
  };
3879
4099
 
3880
- return /*#__PURE__*/React__default['default'].createElement(RenderField, getRenderProps());
3881
- }
4100
+ return /*#__PURE__*/React__default['default'].createElement(Input, _extends({
4101
+ value: val || '',
4102
+ className: className,
4103
+ dataTest: dataTest,
4104
+ onChange: function onChange(ev) {
4105
+ return setValue(ev);
4106
+ },
4107
+ ref: ref,
4108
+ type: getInputType()
4109
+ }, rest));
4110
+ });
4111
+ EditComponent.displayName = 'EditComponent';
3882
4112
 
3883
4113
  function IAttachment(_ref) {
3884
4114
  var properties = _ref.properties,
@@ -6092,74 +6322,6 @@ function SearchVocabularyLabels(props) {
6092
6322
  return null;
6093
6323
  }
6094
6324
 
6095
- var SelectVocabulary = React__default['default'].forwardRef(function (_ref, ref) {
6096
- var vocabularyName = _ref.vocabularyName,
6097
- className = _ref.className,
6098
- classWrap = _ref.classWrap,
6099
- val = _ref.val,
6100
- dataTest = _ref.dataTest,
6101
- multiple = _ref.multiple,
6102
- rest = _objectWithoutPropertiesLoose(_ref, ["vocabularyName", "className", "classWrap", "val", "dataTest", "multiple"]);
6103
-
6104
- var vocabulary = useVocabulary(vocabularyName);
6105
-
6106
- var getOptions = function getOptions() {
6107
- if (get$1(vocabulary, 'data.items', null)) {
6108
- var vocData = vocabulary.data.items.map(function (item) {
6109
- var _item$title$default;
6110
-
6111
- return {
6112
- text: (_item$title$default = item.title.default) != null ? _item$title$default : item.title,
6113
- value: item.token
6114
- };
6115
- });
6116
- return vocData;
6117
- }
6118
-
6119
- return [];
6120
- };
6121
-
6122
- var getProps = function getProps() {
6123
- if (multiple) {
6124
- var currentValue = val || [];
6125
- return {
6126
- multiple: true,
6127
- size: 5,
6128
- value: currentValue,
6129
- options: getOptions()
6130
- };
6131
- }
6132
-
6133
- return {
6134
- value: val != null ? val : '',
6135
- appendDefault: true,
6136
- options: getOptions()
6137
- };
6138
- };
6139
-
6140
- if (vocabulary.data === undefined || vocabulary.loading) {
6141
- return /*#__PURE__*/React__default['default'].createElement("div", null);
6142
- }
6143
-
6144
- return /*#__PURE__*/React__default['default'].createElement(Select, _extends({}, getProps(), {
6145
- className: className,
6146
- classWrap: classWrap || 'is-fullwidth',
6147
- dataTest: dataTest,
6148
- ref: ref
6149
- }, rest));
6150
- });
6151
- Select.propTypes = {
6152
- error: PropTypes__default['default'].string,
6153
- disabled: PropTypes__default['default'].bool,
6154
- loading: PropTypes__default['default'].bool,
6155
- isSubmitted: PropTypes__default['default'].bool,
6156
- size: PropTypes__default['default'].number,
6157
- onChange: PropTypes__default['default'].func,
6158
- multiple: PropTypes__default['default'].bool,
6159
- className: PropTypes__default['default'].string,
6160
- vocabularyName: PropTypes__default['default'].string
6161
- };
6162
-
6163
6325
  var initialState$1 = {
6164
6326
  page: 0,
6165
6327
  items: [],
@@ -9215,142 +9377,6 @@ var buildPaths = function buildPaths(segments) {
9215
9377
  return results;
9216
9378
  };
9217
9379
 
9218
- var EditComponent = React__default['default'].forwardRef(function (_ref, ref) {
9219
- var schema = _ref.schema,
9220
- val = _ref.val,
9221
- setValue = _ref.setValue,
9222
- dataTest = _ref.dataTest,
9223
- className = _ref.className,
9224
- rest = _objectWithoutPropertiesLoose(_ref, ["schema", "val", "setValue", "dataTest", "className"]);
9225
-
9226
- if ((schema == null ? void 0 : schema.widget) === 'textarea' || (schema == null ? void 0 : schema.widget) === 'richtext') {
9227
- return /*#__PURE__*/React__default['default'].createElement(Textarea, _extends({
9228
- value: val || '',
9229
- className: className,
9230
- onChange: function onChange(ev) {
9231
- return setValue(ev);
9232
- },
9233
- ref: ref,
9234
- dataTest: dataTest
9235
- }, rest));
9236
- } else if ((schema == null ? void 0 : schema.type) === 'boolean') {
9237
- return /*#__PURE__*/React__default['default'].createElement(Checkbox, _extends({
9238
- value: !!val,
9239
- className: className,
9240
- onChange: function onChange(ev) {
9241
- return setValue(ev);
9242
- },
9243
- ref: ref,
9244
- dataTest: dataTest
9245
- }, rest));
9246
- } else if ((schema == null ? void 0 : schema.type) === 'array') {
9247
- if (schema.items && schema.items.type === 'string') {
9248
- var _schema$items;
9249
-
9250
- if (schema.items.vocabularyName) {
9251
- return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
9252
- vocabularyName: get$1(schema, 'items.vocabularyName', null),
9253
- val: val || [],
9254
- className: className,
9255
- classWrap: "is-fullwidth",
9256
- dataTest: dataTest
9257
- }, rest, {
9258
- onChange: setValue,
9259
- multiple: true
9260
- }));
9261
- } else if (schema != null && (_schema$items = schema.items) != null && _schema$items.vocabulary) {
9262
- return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
9263
- value: val || [],
9264
- className: className,
9265
- classWrap: "is-fullwidth",
9266
- dataTest: dataTest,
9267
- options: schema == null ? void 0 : schema.items.vocabulary.map(function (item) {
9268
- return {
9269
- text: item,
9270
- value: item
9271
- };
9272
- }),
9273
- multiple: true,
9274
- onChange: setValue
9275
- }, rest));
9276
- }
9277
- }
9278
-
9279
- return /*#__PURE__*/React__default['default'].createElement(InputList, _extends({
9280
- value: val || [],
9281
- className: className,
9282
- onChange: function onChange(ev) {
9283
- return setValue(ev);
9284
- },
9285
- ref: ref,
9286
- dataTest: dataTest
9287
- }, rest));
9288
- } else if ((schema == null ? void 0 : schema.widget) === 'file') {
9289
- return /*#__PURE__*/React__default['default'].createElement(FileUpload, _extends({
9290
- onChange: function onChange(ev) {
9291
- return setValue(ev);
9292
- },
9293
- label: get$1(val, 'filename', null),
9294
- dataTest: dataTest
9295
- }, rest));
9296
- } else if ((schema == null ? void 0 : schema.widget) === 'select' && schema.type === 'string') {
9297
- if (schema != null && schema.vocabularyName) {
9298
- return /*#__PURE__*/React__default['default'].createElement(SelectVocabulary, _extends({
9299
- val: val || '',
9300
- className: className,
9301
- appendDefault: true,
9302
- classWrap: "is-fullwidth",
9303
- dataTest: dataTest,
9304
- onChange: setValue,
9305
- vocabularyName: get$1(schema, 'vocabularyName', null)
9306
- }, rest));
9307
- }
9308
-
9309
- return /*#__PURE__*/React__default['default'].createElement(Select, _extends({
9310
- value: val || '',
9311
- className: className,
9312
- appendDefault: true,
9313
- classWrap: "is-fullwidth",
9314
- dataTest: dataTest,
9315
- options: schema == null ? void 0 : schema.vocabulary.map(function (item) {
9316
- return {
9317
- text: item,
9318
- value: item
9319
- };
9320
- }),
9321
- onChange: setValue
9322
- }, rest));
9323
- }
9324
-
9325
- var getInputType = function getInputType() {
9326
- switch (schema == null ? void 0 : schema.type) {
9327
- case 'integer':
9328
- return 'number';
9329
-
9330
- case 'date':
9331
- return 'date';
9332
-
9333
- case 'datetime':
9334
- return 'datetime-local';
9335
-
9336
- default:
9337
- return 'text';
9338
- }
9339
- };
9340
-
9341
- return /*#__PURE__*/React__default['default'].createElement(Input, _extends({
9342
- value: val || '',
9343
- className: className,
9344
- dataTest: dataTest,
9345
- onChange: function onChange(ev) {
9346
- return setValue(ev);
9347
- },
9348
- ref: ref,
9349
- type: getInputType()
9350
- }, rest));
9351
- });
9352
- EditComponent.displayName = 'EditComponent';
9353
-
9354
9380
  var registry = {
9355
9381
  paths: {},
9356
9382
  views: {
@@ -13103,6 +13129,7 @@ exports.CreateContainer = CreateContainer;
13103
13129
  exports.DatabaseCtx = DatabaseCtx;
13104
13130
  exports.Delete = Delete;
13105
13131
  exports.DownloadField = DownloadField;
13132
+ exports.EditComponent = EditComponent;
13106
13133
  exports.EditableField = EditableField;
13107
13134
  exports.EmailInput = EmailInput;
13108
13135
  exports.FileUpload = FileUpload;
@@ -13183,6 +13210,7 @@ exports.UserCtx = UserCtx;
13183
13210
  exports.UserForm = UserForm;
13184
13211
  exports.UsersCtx = UsersCtx;
13185
13212
  exports.UsersToolbar = UsersToolbar;
13213
+ exports.VocabularyRenderField = VocabularyRenderField;
13186
13214
  exports.base64ToArrayBuffer = base64ToArrayBuffer;
13187
13215
  exports.buildQs = buildQs;
13188
13216
  exports.classnames = classnames;