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