@kaspernj/api-maker 1.0.2031 → 1.0.2032

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.
@@ -42,9 +42,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
42
42
  this.wholeRefBackup = useRef();
43
43
  this.wholeRef = this.props.wholeRef || this.wholeRefBackup;
44
44
  }
45
- getInputRef() {
46
- return this.props.inputRef || this.inputRef;
47
- }
45
+ getInputRef = () => this.props.inputRef || this.inputRef;
48
46
  render() {
49
47
  const {
50
48
  attribute,
@@ -72,11 +70,11 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
72
70
  defaultValue: this.inputDefaultValue(),
73
71
  disabled: disabled,
74
72
  id: this.inputId(),
75
- onBlur: digg(this, "setAmount"),
76
- onChange: digg(this, "setCents"),
77
- onKeyUp: digg(this, "setCents"),
73
+ onBlur: this.tt.setAmount,
74
+ onChange: this.tt.setCents,
75
+ onKeyUp: this.tt.setCents,
78
76
  placeholder: this.props.placeholder,
79
- ref: this.wholeRef,
77
+ ref: this.tt.wholeRef,
80
78
  type: "text"
81
79
  }), showCurrencyOptions && /*#__PURE__*/React.createElement("select", {
82
80
  className: "money-currency",
@@ -84,16 +82,14 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
84
82
  disabled: disabled,
85
83
  id: this.inputCurrencyId(),
86
84
  name: this.inputCurrencyName(),
87
- onChange: digg(this, "onCurrencyChanged"),
88
- ref: this.currencyRef
85
+ onChange: this.tt.onCurrencyChanged,
86
+ ref: this.tt.currencyRef
89
87
  }, /*#__PURE__*/React.createElement("option", null), currenciesCollection.map(option => /*#__PURE__*/React.createElement("option", {
90
88
  key: `select-option-${option[1]}`,
91
89
  value: option[1]
92
90
  }, this.props.small && option[1], !this.props.small && option[0]))));
93
91
  }
94
- inputCurrencyId() {
95
- return `${this.inputId()}_currency`;
96
- }
92
+ inputCurrencyId = () => `${this.inputId()}_currency`;
97
93
  inputCurrencyName() {
98
94
  if ("currencyName" in this.props) return this.props.currencyName;
99
95
  return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}_currency]`;
@@ -134,21 +130,18 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
134
130
  return MoneyFormatter.amountFromMoney(defaultValue);
135
131
  }
136
132
  }
137
- inputCentsId() {
138
- return `${this.inputId()}_cents`;
139
- }
133
+ inputCentsId = () => `${this.inputId()}_cents`;
140
134
  inputCentsName() {
141
135
  if ("name" in this.props) return this.props.name;
142
136
  return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}_cents]`;
143
137
  }
144
- inputId() {
145
- return idForComponent(this);
146
- }
138
+ inputId = () => idForComponent(this);
147
139
  onCurrencyChanged = () => {
148
140
  if (this.props.onChange) this.props.onChange();
149
141
  };
150
142
  setAmount = () => {
151
143
  const inputElement = this.getInputRef().current;
144
+ if (!inputElement) return;
152
145
  if (!inputElement.value && inputElement.value == "") {
153
146
  this.wholeRef.current.value = "";
154
147
  } else {
@@ -165,6 +158,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
165
158
  };
166
159
  setCents = () => {
167
160
  const inputElement = this.getInputRef().current;
161
+ if (!inputElement) return;
168
162
  let whole = MoneyFormatter.stringToFloat(this.wholeRef.current.value);
169
163
  let cents = parseInt(whole * 100, 10);
170
164
  let oldCents = parseInt(inputElement.value, 10);
@@ -176,4 +170,4 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
176
170
  if (this.props.onChange && oldCents != cents) this.props.onChange();
177
171
  };
178
172
  }));
179
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVJlZiIsInNoYXBlQ29tcG9uZW50IiwiU2hhcGVDb21wb25lbnQiLCJjbGFzc05hbWVzIiwiQ29uZmlnIiwiZGlnZyIsImlkRm9yQ29tcG9uZW50IiwiaW5mbGVjdGlvbiIsIm1lbW8iLCJNb25leUZvcm1hdHRlciIsIlByb3BUeXBlcyIsIlByb3BUeXBlc0V4YWN0IiwiQXBpTWFrZXJJbnB1dHNNb25leSIsImRlZmF1bHRQcm9wcyIsImRpc2FibGVkIiwic2hvd0N1cnJlbmN5T3B0aW9ucyIsInByb3BUeXBlcyIsImF0dHJpYnV0ZSIsInN0cmluZyIsImNlbnRzSW5wdXROYW1lIiwiY2xhc3NOYW1lIiwiY3VycmVuY2llc0NvbGxlY3Rpb24iLCJhcnJheSIsImN1cnJlbmN5TmFtZSIsImN1cnJlbmN5UmVmIiwib2JqZWN0IiwiZGVmYXVsdFZhbHVlIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJpZCIsImlucHV0UmVmIiwibGFiZWwiLCJub2RlIiwibW9kZWwiLCJuYW1lIiwib25DaGFuZ2UiLCJmdW5jIiwicGxhY2Vob2xkZXIiLCJzbWFsbCIsInR5cGUiLCJ3aG9sZVJlZiIsInNldHVwIiwiY3VycmVuY3lSZWZCYWNrdXAiLCJwcm9wcyIsIndob2xlUmVmQmFja3VwIiwiZ2V0SW5wdXRSZWYiLCJyZW5kZXIiLCJnZXRDdXJyZW5jaWVzQ29sbGVjdGlvbiIsImNyZWF0ZUVsZW1lbnQiLCJpbnB1dERlZmF1bHRDZW50c1ZhbHVlIiwiaW5wdXRDZW50c0lkIiwiaW5wdXRDZW50c05hbWUiLCJyZWYiLCJpbnB1dERlZmF1bHRWYWx1ZSIsImlucHV0SWQiLCJvbkJsdXIiLCJvbktleVVwIiwiaW5wdXRDdXJyZW5jeVZhbHVlIiwiaW5wdXRDdXJyZW5jeUlkIiwiaW5wdXRDdXJyZW5jeU5hbWUiLCJtYXAiLCJvcHRpb24iLCJrZXkiLCJ2YWx1ZSIsIm1vZGVsQ2xhc3NEYXRhIiwicGFyYW1LZXkiLCJ1bmRlcnNjb3JlIiwiY3VycmVuY3lGcm9tTW9uZXkiLCJjb2RlIiwiZnJvbU1vbmV5IiwiYW1vdW50IiwiY3VycmVuY3kiLCJkZWNpbWFscyIsImV4Y2x1ZGVDdXJyZW5jeSIsInRvU3RyaW5nIiwiY3VycmVudCIsImFtb3VudEZyb21Nb25leSIsIm9uQ3VycmVuY3lDaGFuZ2VkIiwic2V0QW1vdW50IiwiaW5wdXRFbGVtZW50IiwiY2VudHMiLCJwYXJzZUZsb2F0IiwiZm9ybWF0dGVkIiwic2V0Q2VudHMiLCJ3aG9sZSIsInN0cmluZ1RvRmxvYXQiLCJwYXJzZUludCIsIm9sZENlbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0cy9tb25leS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudCwgU2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCBDb25maWcgZnJvbSBcIi4uL2NvbmZpZ1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IGlkRm9yQ29tcG9uZW50IGZyb20gXCIuL2lkLWZvci1jb21wb25lbnRcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IE1vbmV5Rm9ybWF0dGVyIGZyb20gXCIuLi9tb25leS1mb3JtYXR0ZXJcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VySW5wdXRzTW9uZXkgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIHNob3dDdXJyZW5jeU9wdGlvbnM6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNlbnRzSW5wdXROYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJyZW5jaWVzQ29sbGVjdGlvbjogUHJvcFR5cGVzLmFycmF5LFxuICAgIGN1cnJlbmN5TmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJyZW5jeVJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaW5wdXRSZWY6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5ub2RlLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMubm9kZSxcbiAgICBzaG93Q3VycmVuY3lPcHRpb25zOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzbWFsbDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB3aG9sZVJlZjogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMuaW5wdXRSZWYgPSB1c2VSZWYoKVxuICAgIHRoaXMuY3VycmVuY3lSZWZCYWNrdXAgPSB1c2VSZWYoKVxuICAgIHRoaXMuY3VycmVuY3lSZWYgPSB0aGlzLnByb3BzLmN1cnJlbmN5UmVmIHx8IHRoaXMuY3VycmVuY3lSZWZCYWNrdXBcbiAgICB0aGlzLndob2xlUmVmQmFja3VwID0gdXNlUmVmKClcbiAgICB0aGlzLndob2xlUmVmID0gdGhpcy5wcm9wcy53aG9sZVJlZiB8fCB0aGlzLndob2xlUmVmQmFja3VwXG4gIH1cblxuICBnZXRJbnB1dFJlZiAoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuaW5wdXRSZWYgfHwgdGhpcy5pbnB1dFJlZlxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjbGFzc05hbWUsIGRpc2FibGVkLCBtb2RlbCwgc2hvd0N1cnJlbmN5T3B0aW9uc30gPSB0aGlzLnByb3BzXG4gICAgbGV0IHtjdXJyZW5jaWVzQ29sbGVjdGlvbn0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoIWN1cnJlbmNpZXNDb2xsZWN0aW9uKSBjdXJyZW5jaWVzQ29sbGVjdGlvbiA9IENvbmZpZy5nZXRDdXJyZW5jaWVzQ29sbGVjdGlvbigpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhcGktbWFrZXItaW5wdXRzLW1vbmV5XCIgZGF0YS1hdHRyaWJ1dGU9e2F0dHJpYnV0ZX0gZGF0YS1tb2RlbC1pZD17bW9kZWw/LmlkKCl9PlxuICAgICAgICA8aW5wdXQgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0RGVmYXVsdENlbnRzVmFsdWUoKX0gaWQ9e3RoaXMuaW5wdXRDZW50c0lkKCl9IG5hbWU9e3RoaXMuaW5wdXRDZW50c05hbWUoKX0gcmVmPXt0aGlzLmdldElucHV0UmVmKCl9IHR5cGU9XCJoaWRkZW5cIiAvPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXCJtb25leS1jZW50c1wiLCBjbGFzc05hbWUpfVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dERlZmF1bHRWYWx1ZSgpfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBpZD17dGhpcy5pbnB1dElkKCl9XG4gICAgICAgICAgb25CbHVyPXtkaWdnKHRoaXMsIFwic2V0QW1vdW50XCIpfVxuICAgICAgICAgIG9uQ2hhbmdlPXtkaWdnKHRoaXMsIFwic2V0Q2VudHNcIil9XG4gICAgICAgICAgb25LZXlVcD17ZGlnZyh0aGlzLCBcInNldENlbnRzXCIpfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgIHJlZj17dGhpcy53aG9sZVJlZn1cbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIC8+XG4gICAgICAgIHtzaG93Q3VycmVuY3lPcHRpb25zICYmXG4gICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibW9uZXktY3VycmVuY3lcIlxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0Q3VycmVuY3lWYWx1ZSgpfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaWQ9e3RoaXMuaW5wdXRDdXJyZW5jeUlkKCl9XG4gICAgICAgICAgICBuYW1lPXt0aGlzLmlucHV0Q3VycmVuY3lOYW1lKCl9XG4gICAgICAgICAgICBvbkNoYW5nZT17ZGlnZyh0aGlzLCBcIm9uQ3VycmVuY3lDaGFuZ2VkXCIpfVxuICAgICAgICAgICAgcmVmPXt0aGlzLmN1cnJlbmN5UmVmfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxvcHRpb24+PC9vcHRpb24+XG4gICAgICAgICAgICB7Y3VycmVuY2llc0NvbGxlY3Rpb24ubWFwKChvcHRpb24pID0+IChcbiAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9e2BzZWxlY3Qtb3B0aW9uLSR7b3B0aW9uWzFdfWB9IHZhbHVlPXtvcHRpb25bMV19PlxuICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLnNtYWxsICYmIG9wdGlvblsxXX1cbiAgICAgICAgICAgICAgICB7IXRoaXMucHJvcHMuc21hbGwgJiYgb3B0aW9uWzBdfVxuICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBpbnB1dEN1cnJlbmN5SWQgKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmlucHV0SWQoKX1fY3VycmVuY3lgXG4gIH1cblxuICBpbnB1dEN1cnJlbmN5TmFtZSAoKSB7XG4gICAgaWYgKFwiY3VycmVuY3lOYW1lXCIgaW4gdGhpcy5wcm9wcylcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmN1cnJlbmN5TmFtZVxuXG4gICAgcmV0dXJuIGAke3RoaXMucHJvcHMubW9kZWwubW9kZWxDbGFzc0RhdGEoKS5wYXJhbUtleX1bJHtpbmZsZWN0aW9uLnVuZGVyc2NvcmUodGhpcy5wcm9wcy5hdHRyaWJ1dGUpfV9jdXJyZW5jeV1gXG4gIH1cblxuICBpbnB1dEN1cnJlbmN5VmFsdWUgKCkge1xuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWV9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIE1vbmV5Rm9ybWF0dGVyLmN1cnJlbmN5RnJvbU1vbmV5KGRlZmF1bHRWYWx1ZSkuY29kZVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gXCJES0tcIlxuICAgIH1cbiAgfVxuXG4gIGlucHV0RGVmYXVsdFZhbHVlICgpIHtcbiAgICBjb25zdCB7ZGVmYXVsdFZhbHVlfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiBNb25leUZvcm1hdHRlci5mcm9tTW9uZXkoe2Ftb3VudDogZGVmYXVsdFZhbHVlLmFtb3VudCwgY3VycmVuY3k6IHRoaXMuaW5wdXRDdXJyZW5jeVZhbHVlKCl9LCB7ZGVjaW1hbHM6IDIsIGV4Y2x1ZGVDdXJyZW5jeTogdHJ1ZX0pLnRvU3RyaW5nKClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwiXCJcbiAgICB9XG4gIH1cblxuICBpbnB1dERlZmF1bHRDZW50c1ZhbHVlICgpIHtcbiAgICBjb25zdCB7ZGVmYXVsdFZhbHVlfSA9IHRoaXMucHJvcHNcblxuICAgIGlmICh0aGlzLmdldElucHV0UmVmKCkuY3VycmVudCkge1xuICAgICAgcmV0dXJuIGRpZ2codGhpcy5nZXRJbnB1dFJlZigpLCBcImN1cnJlbnRcIiwgXCJ2YWx1ZVwiKVxuICAgIH0gZWxzZSBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gTW9uZXlGb3JtYXR0ZXIuYW1vdW50RnJvbU1vbmV5KGRlZmF1bHRWYWx1ZSlcbiAgICB9XG4gIH1cblxuICBpbnB1dENlbnRzSWQgKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmlucHV0SWQoKX1fY2VudHNgXG4gIH1cblxuICBpbnB1dENlbnRzTmFtZSAoKSB7XG4gICAgaWYgKFwibmFtZVwiIGluIHRoaXMucHJvcHMpXG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5uYW1lXG5cbiAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLnBhcmFtS2V5fVske2luZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSl9X2NlbnRzXWBcbiAgfVxuXG4gIGlucHV0SWQgKCkge1xuICAgIHJldHVybiBpZEZvckNvbXBvbmVudCh0aGlzKVxuICB9XG5cbiAgb25DdXJyZW5jeUNoYW5nZWQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFuZ2UpXG4gICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKClcbiAgfVxuXG4gIHNldEFtb3VudCA9ICgpID0+IHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmdldElucHV0UmVmKCkuY3VycmVudFxuXG4gICAgaWYgKCFpbnB1dEVsZW1lbnQudmFsdWUgJiYgaW5wdXRFbGVtZW50LnZhbHVlID09IFwiXCIpIHtcbiAgICAgIHRoaXMud2hvbGVSZWYuY3VycmVudC52YWx1ZSA9IFwiXCJcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY2VudHMgPSBwYXJzZUZsb2F0KGlucHV0RWxlbWVudC52YWx1ZSlcbiAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IE1vbmV5Rm9ybWF0dGVyLmZyb21Nb25leSh7YW1vdW50OiBjZW50cywgY3VycmVuY3k6IHRoaXMuaW5wdXRDdXJyZW5jeVZhbHVlKCl9LCB7ZGVjaW1hbHM6IDIsIGV4Y2x1ZGVDdXJyZW5jeTogdHJ1ZX0pLnRvU3RyaW5nKClcblxuICAgICAgdGhpcy53aG9sZVJlZi5jdXJyZW50LnZhbHVlID0gZm9ybWF0dGVkXG4gICAgfVxuICB9XG5cbiAgc2V0Q2VudHMgPSAoKSA9PiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5nZXRJbnB1dFJlZigpLmN1cnJlbnRcblxuICAgIGxldCB3aG9sZSA9IE1vbmV5Rm9ybWF0dGVyLnN0cmluZ1RvRmxvYXQodGhpcy53aG9sZVJlZi5jdXJyZW50LnZhbHVlKVxuICAgIGxldCBjZW50cyA9IHBhcnNlSW50KHdob2xlICogMTAwLCAxMClcbiAgICBsZXQgb2xkQ2VudHMgPSBwYXJzZUludChpbnB1dEVsZW1lbnQudmFsdWUsIDEwKVxuXG4gICAgaWYgKHR5cGVvZiBjZW50cyA9PSBcIm51bWJlclwiKSB7XG4gICAgICBpbnB1dEVsZW1lbnQudmFsdWUgPSBjZW50c1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnB1dEVsZW1lbnQudmFsdWUgPSAnJ1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLm9uQ2hhbmdlICYmIG9sZENlbnRzICE9IGNlbnRzKVxuICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZSgpXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLElBQUdDLE1BQU0sUUFBTyxPQUFPO0FBQ25DLFNBQVFDLGNBQWMsRUFBRUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRixPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxP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
173
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVJlZiIsInNoYXBlQ29tcG9uZW50IiwiU2hhcGVDb21wb25lbnQiLCJjbGFzc05hbWVzIiwiQ29uZmlnIiwiZGlnZyIsImlkRm9yQ29tcG9uZW50IiwiaW5mbGVjdGlvbiIsIm1lbW8iLCJNb25leUZvcm1hdHRlciIsIlByb3BUeXBlcyIsIlByb3BUeXBlc0V4YWN0IiwiQXBpTWFrZXJJbnB1dHNNb25leSIsImRlZmF1bHRQcm9wcyIsImRpc2FibGVkIiwic2hvd0N1cnJlbmN5T3B0aW9ucyIsInByb3BUeXBlcyIsImF0dHJpYnV0ZSIsInN0cmluZyIsImNlbnRzSW5wdXROYW1lIiwiY2xhc3NOYW1lIiwiY3VycmVuY2llc0NvbGxlY3Rpb24iLCJhcnJheSIsImN1cnJlbmN5TmFtZSIsImN1cnJlbmN5UmVmIiwib2JqZWN0IiwiZGVmYXVsdFZhbHVlIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJpZCIsImlucHV0UmVmIiwibGFiZWwiLCJub2RlIiwibW9kZWwiLCJuYW1lIiwib25DaGFuZ2UiLCJmdW5jIiwicGxhY2Vob2xkZXIiLCJzbWFsbCIsInR5cGUiLCJ3aG9sZVJlZiIsInNldHVwIiwiY3VycmVuY3lSZWZCYWNrdXAiLCJwcm9wcyIsIndob2xlUmVmQmFja3VwIiwiZ2V0SW5wdXRSZWYiLCJyZW5kZXIiLCJnZXRDdXJyZW5jaWVzQ29sbGVjdGlvbiIsImNyZWF0ZUVsZW1lbnQiLCJpbnB1dERlZmF1bHRDZW50c1ZhbHVlIiwiaW5wdXRDZW50c0lkIiwiaW5wdXRDZW50c05hbWUiLCJyZWYiLCJpbnB1dERlZmF1bHRWYWx1ZSIsImlucHV0SWQiLCJvbkJsdXIiLCJ0dCIsInNldEFtb3VudCIsInNldENlbnRzIiwib25LZXlVcCIsImlucHV0Q3VycmVuY3lWYWx1ZSIsImlucHV0Q3VycmVuY3lJZCIsImlucHV0Q3VycmVuY3lOYW1lIiwib25DdXJyZW5jeUNoYW5nZWQiLCJtYXAiLCJvcHRpb24iLCJrZXkiLCJ2YWx1ZSIsIm1vZGVsQ2xhc3NEYXRhIiwicGFyYW1LZXkiLCJ1bmRlcnNjb3JlIiwiY3VycmVuY3lGcm9tTW9uZXkiLCJjb2RlIiwiZnJvbU1vbmV5IiwiYW1vdW50IiwiY3VycmVuY3kiLCJkZWNpbWFscyIsImV4Y2x1ZGVDdXJyZW5jeSIsInRvU3RyaW5nIiwiY3VycmVudCIsImFtb3VudEZyb21Nb25leSIsImlucHV0RWxlbWVudCIsImNlbnRzIiwicGFyc2VGbG9hdCIsImZvcm1hdHRlZCIsIndob2xlIiwic3RyaW5nVG9GbG9hdCIsInBhcnNlSW50Iiwib2xkQ2VudHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5wdXRzL21vbmV5LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50LCBTaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IENvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgaWRGb3JDb21wb25lbnQgZnJvbSBcIi4vaWQtZm9yLWNvbXBvbmVudFwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgTW9uZXlGb3JtYXR0ZXIgZnJvbSBcIi4uL21vbmV5LWZvcm1hdHRlclwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNNb25leSBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgc2hvd0N1cnJlbmN5T3B0aW9uczogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2VudHNJbnB1dE5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbmNpZXNDb2xsZWN0aW9uOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgY3VycmVuY3lOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbmN5UmVmOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGRlZmF1bHRWYWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpbnB1dFJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLm5vZGUsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5ub2RlLFxuICAgIHNob3dDdXJyZW5jeU9wdGlvbnM6IFByb3BUeXBlcy5ib29sLFxuICAgIHNtYWxsOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHdob2xlUmVmOiBQcm9wVHlwZXMub2JqZWN0XG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgdGhpcy5pbnB1dFJlZiA9IHVzZVJlZigpXG4gICAgdGhpcy5jdXJyZW5jeVJlZkJhY2t1cCA9IHVzZVJlZigpXG4gICAgdGhpcy5jdXJyZW5jeVJlZiA9IHRoaXMucHJvcHMuY3VycmVuY3lSZWYgfHwgdGhpcy5jdXJyZW5jeVJlZkJhY2t1cFxuICAgIHRoaXMud2hvbGVSZWZCYWNrdXAgPSB1c2VSZWYoKVxuICAgIHRoaXMud2hvbGVSZWYgPSB0aGlzLnByb3BzLndob2xlUmVmIHx8IHRoaXMud2hvbGVSZWZCYWNrdXBcbiAgfVxuXG4gIGdldElucHV0UmVmID0gKCkgPT4gdGhpcy5wcm9wcy5pbnB1dFJlZiB8fCB0aGlzLmlucHV0UmVmXG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjbGFzc05hbWUsIGRpc2FibGVkLCBtb2RlbCwgc2hvd0N1cnJlbmN5T3B0aW9uc30gPSB0aGlzLnByb3BzXG4gICAgbGV0IHtjdXJyZW5jaWVzQ29sbGVjdGlvbn0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoIWN1cnJlbmNpZXNDb2xsZWN0aW9uKSBjdXJyZW5jaWVzQ29sbGVjdGlvbiA9IENvbmZpZy5nZXRDdXJyZW5jaWVzQ29sbGVjdGlvbigpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhcGktbWFrZXItaW5wdXRzLW1vbmV5XCIgZGF0YS1hdHRyaWJ1dGU9e2F0dHJpYnV0ZX0gZGF0YS1tb2RlbC1pZD17bW9kZWw/LmlkKCl9PlxuICAgICAgICA8aW5wdXQgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0RGVmYXVsdENlbnRzVmFsdWUoKX0gaWQ9e3RoaXMuaW5wdXRDZW50c0lkKCl9IG5hbWU9e3RoaXMuaW5wdXRDZW50c05hbWUoKX0gcmVmPXt0aGlzLmdldElucHV0UmVmKCl9IHR5cGU9XCJoaWRkZW5cIiAvPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXCJtb25leS1jZW50c1wiLCBjbGFzc05hbWUpfVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dERlZmF1bHRWYWx1ZSgpfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBpZD17dGhpcy5pbnB1dElkKCl9XG4gICAgICAgICAgb25CbHVyPXt0aGlzLnR0LnNldEFtb3VudH1cbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy50dC5zZXRDZW50c31cbiAgICAgICAgICBvbktleVVwPXt0aGlzLnR0LnNldENlbnRzfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgIHJlZj17dGhpcy50dC53aG9sZVJlZn1cbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIC8+XG4gICAgICAgIHtzaG93Q3VycmVuY3lPcHRpb25zICYmXG4gICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibW9uZXktY3VycmVuY3lcIlxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0Q3VycmVuY3lWYWx1ZSgpfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaWQ9e3RoaXMuaW5wdXRDdXJyZW5jeUlkKCl9XG4gICAgICAgICAgICBuYW1lPXt0aGlzLmlucHV0Q3VycmVuY3lOYW1lKCl9XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy50dC5vbkN1cnJlbmN5Q2hhbmdlZH1cbiAgICAgICAgICAgIHJlZj17dGhpcy50dC5jdXJyZW5jeVJlZn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8b3B0aW9uPjwvb3B0aW9uPlxuICAgICAgICAgICAge2N1cnJlbmNpZXNDb2xsZWN0aW9uLm1hcCgob3B0aW9uKSA9PiAoXG4gICAgICAgICAgICAgIDxvcHRpb24ga2V5PXtgc2VsZWN0LW9wdGlvbi0ke29wdGlvblsxXX1gfSB2YWx1ZT17b3B0aW9uWzFdfT5cbiAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5zbWFsbCAmJiBvcHRpb25bMV19XG4gICAgICAgICAgICAgICAgeyF0aGlzLnByb3BzLnNtYWxsICYmIG9wdGlvblswXX1cbiAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgaW5wdXRDdXJyZW5jeUlkID0gKCkgPT4gYCR7dGhpcy5pbnB1dElkKCl9X2N1cnJlbmN5YFxuXG4gIGlucHV0Q3VycmVuY3lOYW1lICgpIHtcbiAgICBpZiAoXCJjdXJyZW5jeU5hbWVcIiBpbiB0aGlzLnByb3BzKSByZXR1cm4gdGhpcy5wcm9wcy5jdXJyZW5jeU5hbWVcblxuICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXl9WyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMucHJvcHMuYXR0cmlidXRlKX1fY3VycmVuY3ldYFxuICB9XG5cbiAgaW5wdXRDdXJyZW5jeVZhbHVlICgpIHtcbiAgICBjb25zdCB7ZGVmYXVsdFZhbHVlfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiBNb25leUZvcm1hdHRlci5jdXJyZW5jeUZyb21Nb25leShkZWZhdWx0VmFsdWUpLmNvZGVcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwiREtLXCJcbiAgICB9XG4gIH1cblxuICBpbnB1dERlZmF1bHRWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZX0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gTW9uZXlGb3JtYXR0ZXIuZnJvbU1vbmV5KHthbW91bnQ6IGRlZmF1bHRWYWx1ZS5hbW91bnQsIGN1cnJlbmN5OiB0aGlzLmlucHV0Q3VycmVuY3lWYWx1ZSgpfSwge2RlY2ltYWxzOiAyLCBleGNsdWRlQ3VycmVuY3k6IHRydWV9KS50b1N0cmluZygpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBcIlwiXG4gICAgfVxuICB9XG5cbiAgaW5wdXREZWZhdWx0Q2VudHNWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZX0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAodGhpcy5nZXRJbnB1dFJlZigpLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybiBkaWdnKHRoaXMuZ2V0SW5wdXRSZWYoKSwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICB9IGVsc2UgaWYgKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIE1vbmV5Rm9ybWF0dGVyLmFtb3VudEZyb21Nb25leShkZWZhdWx0VmFsdWUpXG4gICAgfVxuICB9XG5cbiAgaW5wdXRDZW50c0lkID0gKCkgPT4gYCR7dGhpcy5pbnB1dElkKCl9X2NlbnRzYFxuXG4gIGlucHV0Q2VudHNOYW1lICgpIHtcbiAgICBpZiAoXCJuYW1lXCIgaW4gdGhpcy5wcm9wcykgcmV0dXJuIHRoaXMucHJvcHMubmFtZVxuXG4gICAgcmV0dXJuIGAke3RoaXMucHJvcHMubW9kZWwubW9kZWxDbGFzc0RhdGEoKS5wYXJhbUtleX1bJHtpbmZsZWN0aW9uLnVuZGVyc2NvcmUodGhpcy5wcm9wcy5hdHRyaWJ1dGUpfV9jZW50c11gXG4gIH1cblxuICBpbnB1dElkID0gKCkgPT4gaWRGb3JDb21wb25lbnQodGhpcylcblxuICBvbkN1cnJlbmN5Q2hhbmdlZCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoYW5nZSkgdGhpcy5wcm9wcy5vbkNoYW5nZSgpXG4gIH1cblxuICBzZXRBbW91bnQgPSAoKSA9PiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5nZXRJbnB1dFJlZigpLmN1cnJlbnRcblxuICAgIGlmICghaW5wdXRFbGVtZW50KSByZXR1cm5cblxuICAgIGlmICghaW5wdXRFbGVtZW50LnZhbHVlICYmIGlucHV0RWxlbWVudC52YWx1ZSA9PSBcIlwiKSB7XG4gICAgICB0aGlzLndob2xlUmVmLmN1cnJlbnQudmFsdWUgPSBcIlwiXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNlbnRzID0gcGFyc2VGbG9hdChpbnB1dEVsZW1lbnQudmFsdWUpXG4gICAgICBjb25zdCBmb3JtYXR0ZWQgPSBNb25leUZvcm1hdHRlci5mcm9tTW9uZXkoe2Ftb3VudDogY2VudHMsIGN1cnJlbmN5OiB0aGlzLmlucHV0Q3VycmVuY3lWYWx1ZSgpfSwge2RlY2ltYWxzOiAyLCBleGNsdWRlQ3VycmVuY3k6IHRydWV9KS50b1N0cmluZygpXG5cbiAgICAgIHRoaXMud2hvbGVSZWYuY3VycmVudC52YWx1ZSA9IGZvcm1hdHRlZFxuICAgIH1cbiAgfVxuXG4gIHNldENlbnRzID0gKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRSZWYoKS5jdXJyZW50XG5cbiAgICBpZiAoIWlucHV0RWxlbWVudCkgcmV0dXJuXG5cbiAgICBsZXQgd2hvbGUgPSBNb25leUZvcm1hdHRlci5zdHJpbmdUb0Zsb2F0KHRoaXMud2hvbGVSZWYuY3VycmVudC52YWx1ZSlcbiAgICBsZXQgY2VudHMgPSBwYXJzZUludCh3aG9sZSAqIDEwMCwgMTApXG4gICAgbGV0IG9sZENlbnRzID0gcGFyc2VJbnQoaW5wdXRFbGVtZW50LnZhbHVlLCAxMClcblxuICAgIGlmICh0eXBlb2YgY2VudHMgPT0gXCJudW1iZXJcIikge1xuICAgICAgaW5wdXRFbGVtZW50LnZhbHVlID0gY2VudHNcbiAgICB9IGVsc2Uge1xuICAgICAgaW5wdXRFbGVtZW50LnZhbHVlID0gJydcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoYW5nZSAmJiBvbGRDZW50cyAhPSBjZW50cykgdGhpcy5wcm9wcy5vbkNoYW5nZSgpXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLElBQUdDLE1BQU0sUUFBTyxPQUFPO0FBQ25DLFNBQVFDLGNBQWMsRUFBRUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRixPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxPQUFPQyxNQUFNLE1BQU0sV0FBVztBQUM5QixTQUFRQyxJQUFJLFFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaspernj/api-maker",
3
- "version": "1.0.2031",
3
+ "version": "1.0.2032",
4
4
  "description": "My new module",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
@@ -46,9 +46,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
46
46
  this.wholeRef = this.props.wholeRef || this.wholeRefBackup
47
47
  }
48
48
 
49
- getInputRef () {
50
- return this.props.inputRef || this.inputRef
51
- }
49
+ getInputRef = () => this.props.inputRef || this.inputRef
52
50
 
53
51
  render () {
54
52
  const {attribute, className, disabled, model, showCurrencyOptions} = this.props
@@ -64,11 +62,11 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
64
62
  defaultValue={this.inputDefaultValue()}
65
63
  disabled={disabled}
66
64
  id={this.inputId()}
67
- onBlur={digg(this, "setAmount")}
68
- onChange={digg(this, "setCents")}
69
- onKeyUp={digg(this, "setCents")}
65
+ onBlur={this.tt.setAmount}
66
+ onChange={this.tt.setCents}
67
+ onKeyUp={this.tt.setCents}
70
68
  placeholder={this.props.placeholder}
71
- ref={this.wholeRef}
69
+ ref={this.tt.wholeRef}
72
70
  type="text"
73
71
  />
74
72
  {showCurrencyOptions &&
@@ -78,8 +76,8 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
78
76
  disabled={disabled}
79
77
  id={this.inputCurrencyId()}
80
78
  name={this.inputCurrencyName()}
81
- onChange={digg(this, "onCurrencyChanged")}
82
- ref={this.currencyRef}
79
+ onChange={this.tt.onCurrencyChanged}
80
+ ref={this.tt.currencyRef}
83
81
  >
84
82
  <option></option>
85
83
  {currenciesCollection.map((option) => (
@@ -94,13 +92,10 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
94
92
  )
95
93
  }
96
94
 
97
- inputCurrencyId () {
98
- return `${this.inputId()}_currency`
99
- }
95
+ inputCurrencyId = () => `${this.inputId()}_currency`
100
96
 
101
97
  inputCurrencyName () {
102
- if ("currencyName" in this.props)
103
- return this.props.currencyName
98
+ if ("currencyName" in this.props) return this.props.currencyName
104
99
 
105
100
  return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}_currency]`
106
101
  }
@@ -135,29 +130,25 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
135
130
  }
136
131
  }
137
132
 
138
- inputCentsId () {
139
- return `${this.inputId()}_cents`
140
- }
133
+ inputCentsId = () => `${this.inputId()}_cents`
141
134
 
142
135
  inputCentsName () {
143
- if ("name" in this.props)
144
- return this.props.name
136
+ if ("name" in this.props) return this.props.name
145
137
 
146
138
  return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}_cents]`
147
139
  }
148
140
 
149
- inputId () {
150
- return idForComponent(this)
151
- }
141
+ inputId = () => idForComponent(this)
152
142
 
153
143
  onCurrencyChanged = () => {
154
- if (this.props.onChange)
155
- this.props.onChange()
144
+ if (this.props.onChange) this.props.onChange()
156
145
  }
157
146
 
158
147
  setAmount = () => {
159
148
  const inputElement = this.getInputRef().current
160
149
 
150
+ if (!inputElement) return
151
+
161
152
  if (!inputElement.value && inputElement.value == "") {
162
153
  this.wholeRef.current.value = ""
163
154
  } else {
@@ -171,6 +162,8 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
171
162
  setCents = () => {
172
163
  const inputElement = this.getInputRef().current
173
164
 
165
+ if (!inputElement) return
166
+
174
167
  let whole = MoneyFormatter.stringToFloat(this.wholeRef.current.value)
175
168
  let cents = parseInt(whole * 100, 10)
176
169
  let oldCents = parseInt(inputElement.value, 10)
@@ -181,7 +174,6 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
181
174
  inputElement.value = ''
182
175
  }
183
176
 
184
- if (this.props.onChange && oldCents != cents)
185
- this.props.onChange()
177
+ if (this.props.onChange && oldCents != cents) this.props.onChange()
186
178
  }
187
179
  }))