@bigbinary/neeto-fields-frontend 1.3.28 → 1.3.30

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/README.md CHANGED
@@ -8,28 +8,28 @@ Rails engine for development.
8
8
  # Contents
9
9
 
10
10
  1. [Development with Host Application](#development-with-host-application)
11
- - [Engine](#engine)
12
- - [Installation](#installation)
13
- - [customizability](#customizability)
14
- - [Frontend package](#frontend-package)
15
- - [Installation](#installation-1)
16
- - [Instructions for development](#instructions-for-development)
17
- - [Components](#components)
18
- - [FieldsDashBoard](#1-fieldsdashboard)
19
- - [FieldsPane](#2-fieldspane)
20
- - [FieldValuesContainer](#3-fieldvaluescontainer)
21
- - [FieldInputs](#4-fieldinputs)
22
- - [InlineFieldValueInputProps](#5-inlinefieldvalueinput)
23
- - [FieldDeleteAlert](#6-fielddeletealert)
24
- - [Functions](#functions)
25
- - [mergeInitialValues](#1-neetofieldsutilsmergeinitialvalues)
26
- - [transformValues](#2-neetofieldsutilstransformvalues)
27
- - [Hooks](#hooks)
28
- - [useFetchFields](#1-usefetchfields)
29
- - [useShowFields](#2-useshowfield)
30
- - [useCreateField](#3-usecreatefield)
31
- - [useUpdateField](#4-useupdatefield)
32
- - [useDestroyField](#5-usedestroyfield)
11
+ - [Engine](#engine)
12
+ - [Installation](#installation)
13
+ - [customizability](#customizability)
14
+ - [Frontend package](#frontend-package)
15
+ - [Installation](#installation-1)
16
+ - [Instructions for development](#instructions-for-development)
17
+ - [Components](#components)
18
+ - [FieldsDashBoard](#1-fieldsdashboard)
19
+ - [FieldsPane](#2-fieldspane)
20
+ - [FieldValuesContainer](#3-fieldvaluescontainer)
21
+ - [FieldInputs](#4-fieldinputs)
22
+ - [InlineFieldValueInput](#5-inlinefieldvalueinput)
23
+ - [FieldDeleteAlert](#6-fielddeletealert)
24
+ - [Functions](#functions)
25
+ - [mergeInitialValues](#1-neetofieldsutilsmergeinitialvalues)
26
+ - [transformValues](#2-neetofieldsutilstransformvalues)
27
+ - [Hooks](#hooks)
28
+ - [useFetchFields](#1-usefetchfields)
29
+ - [useShowFields](#2-useshowfield)
30
+ - [useCreateField](#3-usecreatefield)
31
+ - [useUpdateField](#4-useupdatefield)
32
+ - [useDestroyField](#5-usedestroyfield)
33
33
  2. [Instructions for Publishing](#instructions-for-publishing)
34
34
 
35
35
  ## Development with Host Application
package/dist/index.cjs.js CHANGED
@@ -1119,23 +1119,34 @@ var Text = function Text(props) {
1119
1119
  handleSubmit = _useFormikFields.handleSubmit,
1120
1120
  fieldProps = _useFormikFields.fieldProps,
1121
1121
  dirty = _useFormikFields.dirty;
1122
- var individualSubmit = props.individualSubmit,
1123
- isInline = props.isInline;
1124
- var isNotInline = !isInline;
1125
- var showSubmitButton = isNotInline && individualSubmit && dirty;
1126
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, isNotInline && {
1122
+ var isInline = props.isInline;
1123
+ var handleKeyDown = function handleKeyDown(event) {
1124
+ if (event.key !== "Enter" || event.shiftKey) return;
1125
+ event.preventDefault();
1126
+ handleSubmit();
1127
+ };
1128
+ var handleFocus = function handleFocus(element) {
1129
+ var end = element.value.length;
1130
+ element.setSelectionRange(end, end);
1131
+ };
1132
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Textarea, _extends({}, fieldProps, {
1133
+ className: "neeto-fields-nano-adaptive-input",
1134
+ rows: 1,
1135
+ size: "small",
1136
+ style: {
1137
+ resize: "none"
1138
+ }
1139
+ // Inline inputs are already saved on blur and this could override that onBlur handler if this condition is not added.
1140
+ }, !isInline && {
1127
1141
  onBlur: function onBlur() {
1128
1142
  return dirty && handleSubmit();
1129
1143
  }
1130
1144
  }, {
1131
- suffix: showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
1132
- "data-cy": utils.joinHyphenCase(fieldProps.label, "check-button"),
1133
- icon: neetoIcons.Check,
1134
- style: "text",
1135
- onClick: function onClick() {
1136
- return handleSubmit();
1137
- }
1138
- })
1145
+ onFocus: function onFocus(_ref) {
1146
+ var target = _ref.target;
1147
+ return handleFocus(target);
1148
+ },
1149
+ onKeyDown: handleKeyDown
1139
1150
  }));
1140
1151
  };
1141
1152
 
@@ -7946,17 +7957,25 @@ var renderDataAsText = function renderDataAsText(field, fieldValues) {
7946
7957
 
7947
7958
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7948
7959
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7949
- var InlineFieldValueInput = function InlineFieldValueInput(_ref) {
7950
- var field = _ref.field,
7951
- fieldValues = _ref.fieldValues,
7952
- resourceType = _ref.resourceType,
7953
- resourceId = _ref.resourceId,
7954
- _ref$ownerId = _ref.ownerId,
7955
- ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId,
7956
- _ref$onMutationSucces = _ref.onMutationSuccess,
7957
- onMutationSuccess = _ref$onMutationSucces === void 0 ? neetoCist.noop : _ref$onMutationSucces,
7958
- _ref$onMutate = _ref.onMutate,
7959
- _onMutate = _ref$onMutate === void 0 ? neetoCist.noop : _ref$onMutate;
7960
+ var DefaultDisplayComponent = function DefaultDisplayComponent(_ref) {
7961
+ var value = _ref.value;
7962
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
7963
+ className: "text-wrap"
7964
+ }, value);
7965
+ };
7966
+ var InlineFieldValueInput = function InlineFieldValueInput(_ref2) {
7967
+ var field = _ref2.field,
7968
+ fieldValues = _ref2.fieldValues,
7969
+ resourceType = _ref2.resourceType,
7970
+ resourceId = _ref2.resourceId,
7971
+ _ref2$ownerId = _ref2.ownerId,
7972
+ ownerId = _ref2$ownerId === void 0 ? "" : _ref2$ownerId,
7973
+ _ref2$onMutationSucce = _ref2.onMutationSuccess,
7974
+ onMutationSuccess = _ref2$onMutationSucce === void 0 ? neetoCist.noop : _ref2$onMutationSucce,
7975
+ _ref2$onMutate = _ref2.onMutate,
7976
+ _onMutate = _ref2$onMutate === void 0 ? neetoCist.noop : _ref2$onMutate,
7977
+ _ref2$customDisplayCo = _ref2.customDisplayComponents,
7978
+ customDisplayComponents = _ref2$customDisplayCo === void 0 ? {} : _ref2$customDisplayCo;
7960
7979
  var _useState = React.useState(false),
7961
7980
  _useState2 = _slicedToArray(_useState, 2),
7962
7981
  editMode = _useState2[0],
@@ -7980,7 +7999,15 @@ var InlineFieldValueInput = function InlineFieldValueInput(_ref) {
7980
7999
  var Field = getFieldInput({
7981
8000
  field: field
7982
8001
  });
7983
- var isEditable = !field.isSystem && (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(field.kind));
8002
+ var fieldKind = field.kind;
8003
+ var isEditable = !field.isSystem && (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));
8004
+ var displayValue = renderDataAsText(field, fieldValues) || "-";
8005
+ var _ref3 = customDisplayComponents[fieldKind] || {},
8006
+ _ref3$props = _ref3.props,
8007
+ customDisplayComponentProps = _ref3$props === void 0 ? {} : _ref3$props,
8008
+ _ref3$component = _ref3.component,
8009
+ CustomDisplayComponent = _ref3$component === void 0 ? null : _ref3$component;
8010
+ var DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;
7984
8011
  return isEditable ? /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(FieldValueInputWrapper, {
7985
8012
  field: field,
7986
8013
  fieldValues: fieldValues,
@@ -8000,9 +8027,17 @@ var InlineFieldValueInput = function InlineFieldValueInput(_ref) {
8000
8027
  onClick: function onClick() {
8001
8028
  return setEditMode(true);
8002
8029
  }
8003
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, null, renderDataAsText(field, fieldValues) || "-"));
8030
+ }, /*#__PURE__*/React__default["default"].createElement(DisplayComponent, _extends({
8031
+ resourceId: resourceId,
8032
+ value: displayValue
8033
+ }, customDisplayComponentProps)));
8004
8034
  };
8005
8035
 
8036
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
8037
+
8038
+ var css = ".neeto-fields-nano-adaptive-input textarea{--neeto-ui-input-line-height:1.5}.neeto-fields-nano-adaptive-input .neeto-ui-input.neeto-ui-input--small{--neeto-ui-textarea-padding-x:8px;--neeto-ui-textarea-padding-y:4px}.neeto-fields-nano-adaptive-input .neeto-ui-input.neeto-ui-input--medium{--neeto-ui-textarea-padding-x:8px;--neeto-ui-textarea-padding-y:5px}.neeto-fields-nano-adaptive-input .neeto-ui-input.neeto-ui-input--large{--neeto-ui-textarea-padding-x:12px;--neeto-ui-textarea-padding-y:8px}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX2FkYXB0aXZlX2lucHV0LnNjc3MiLCJhcHAvamF2YXNjcmlwdC9zdHlsZXNoZWV0cy9hcHBsaWNhdGlvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNFLDJDQUNFLGdDQ0FKLENESUksd0VBQ0UsaUNBQUEsQ0FDQSxpQ0NGTixDREtJLHlFQUNFLGlDQUFBLENBQ0EsaUNDSE4sQ0RNSSx3RUFDRSxrQ0FBQSxDQUNBLGlDQ0pOIiwic291cmNlc0NvbnRlbnQiOlsiLm5lZXRvLWZpZWxkcy1uYW5vLWFkYXB0aXZlLWlucHV0IHtcbiAgdGV4dGFyZWEge1xuICAgIC0tbmVldG8tdWktaW5wdXQtbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuXG4gIC5uZWV0by11aS1pbnB1dCAge1xuICAgICYubmVldG8tdWktaW5wdXQtLXNtYWxsIHtcbiAgICAgIC0tbmVldG8tdWktdGV4dGFyZWEtcGFkZGluZy14OiA4cHg7XG4gICAgICAtLW5lZXRvLXVpLXRleHRhcmVhLXBhZGRpbmcteTogNHB4O1xuICAgIH1cblxuICAgICYubmVldG8tdWktaW5wdXQtLW1lZGl1bSB7XG4gICAgICAtLW5lZXRvLXVpLXRleHRhcmVhLXBhZGRpbmcteDogOHB4O1xuICAgICAgLS1uZWV0by11aS10ZXh0YXJlYS1wYWRkaW5nLXk6IDVweDtcbiAgICB9XG5cbiAgICAmLm5lZXRvLXVpLWlucHV0LS1sYXJnZSB7XG4gICAgICAtLW5lZXRvLXVpLXRleHRhcmVhLXBhZGRpbmcteDogMTJweDtcbiAgICAgIC0tbmVldG8tdWktdGV4dGFyZWEtcGFkZGluZy15OiA4cHg7XG4gICAgfVxuICB9XG59XG4iLCIubmVldG8tZmllbGRzLW5hbm8tYWRhcHRpdmUtaW5wdXQgdGV4dGFyZWEge1xuICAtLW5lZXRvLXVpLWlucHV0LWxpbmUtaGVpZ2h0OiAxLjU7XG59XG4ubmVldG8tZmllbGRzLW5hbm8tYWRhcHRpdmUtaW5wdXQgLm5lZXRvLXVpLWlucHV0Lm5lZXRvLXVpLWlucHV0LS1zbWFsbCB7XG4gIC0tbmVldG8tdWktdGV4dGFyZWEtcGFkZGluZy14OiA4cHg7XG4gIC0tbmVldG8tdWktdGV4dGFyZWEtcGFkZGluZy15OiA0cHg7XG59XG4ubmVldG8tZmllbGRzLW5hbm8tYWRhcHRpdmUtaW5wdXQgLm5lZXRvLXVpLWlucHV0Lm5lZXRvLXVpLWlucHV0LS1tZWRpdW0ge1xuICAtLW5lZXRvLXVpLXRleHRhcmVhLXBhZGRpbmcteDogOHB4O1xuICAtLW5lZXRvLXVpLXRleHRhcmVhLXBhZGRpbmcteTogNXB4O1xufVxuLm5lZXRvLWZpZWxkcy1uYW5vLWFkYXB0aXZlLWlucHV0IC5uZWV0by11aS1pbnB1dC5uZWV0by11aS1pbnB1dC0tbGFyZ2Uge1xuICAtLW5lZXRvLXVpLXRleHRhcmVhLXBhZGRpbmcteDogMTJweDtcbiAgLS1uZWV0by11aS10ZXh0YXJlYS1wYWRkaW5nLXk6IDhweDtcbn0iXX0= */";
8039
+ n(css,{});
8040
+
8006
8041
  exports.FieldDeleteAlert = DeleteAlert;
8007
8042
  exports.FieldInputs = FieldInputs;
8008
8043
  exports.FieldValuesContainer = FieldValuesContainer;