@kaspernj/api-maker 1.0.459 → 1.0.461
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/build/bootstrap/attribute-row.js +134 -0
- package/build/bootstrap/attribute-rows.js +1 -2
- package/build/flash-message.js +3 -2
- package/build/history.js +3 -0
- package/build/history.native.js +10 -0
- package/package.json +1 -1
- package/src/bootstrap/{attribute-row/index.jsx → attribute-row.jsx} +44 -17
- package/src/bootstrap/attribute-rows.jsx +0 -2
- package/src/flash-message.js +9 -7
- package/src/history.js +3 -0
- package/src/history.native.js +9 -0
- package/build/bootstrap/attribute-row/index.js +0 -111
- package/src/bootstrap/attribute-row/basic-style.scss +0 -9
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import React, { useMemo } from "react";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { digg } from "diggerize";
|
|
5
|
+
import * as inflection from "inflection";
|
|
6
|
+
import memo from "set-state-compare/src/memo";
|
|
7
|
+
import MoneyFormatter from "../money-formatter";
|
|
8
|
+
import PropTypes from "prop-types";
|
|
9
|
+
import { shapeComponent, ShapeComponent } from "set-state-compare/src/shape-component";
|
|
10
|
+
import strftime from "strftime";
|
|
11
|
+
import Text from "../utils/text";
|
|
12
|
+
import useI18n from "i18n-on-steroids/src/use-i18n";
|
|
13
|
+
import { View } from "react-native";
|
|
14
|
+
export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends ShapeComponent {
|
|
15
|
+
static defaultProps = {
|
|
16
|
+
checkIfAttributeLoaded: false
|
|
17
|
+
};
|
|
18
|
+
static propTypes = {
|
|
19
|
+
attribute: PropTypes.string,
|
|
20
|
+
checkIfAttributeLoaded: PropTypes.bool.isRequired,
|
|
21
|
+
children: PropTypes.node,
|
|
22
|
+
identifier: PropTypes.string,
|
|
23
|
+
label: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),
|
|
24
|
+
model: PropTypes.object,
|
|
25
|
+
value: PropTypes.node
|
|
26
|
+
};
|
|
27
|
+
setup() {
|
|
28
|
+
const {
|
|
29
|
+
l,
|
|
30
|
+
t
|
|
31
|
+
} = useI18n({
|
|
32
|
+
namespace: "js.api_maker.attribute_row"
|
|
33
|
+
});
|
|
34
|
+
this.l = l;
|
|
35
|
+
this.t = t;
|
|
36
|
+
this.attribute = useMemo(() => {
|
|
37
|
+
if (this.props.attribute) {
|
|
38
|
+
return this.props.model?.constructor?.attributes()?.find(attribute => attribute.name() == inflection.underscore(this.props.attribute));
|
|
39
|
+
}
|
|
40
|
+
}, [this.props.attribute, this.props.model]);
|
|
41
|
+
}
|
|
42
|
+
render() {
|
|
43
|
+
const {
|
|
44
|
+
attribute,
|
|
45
|
+
checkIfAttributeLoaded,
|
|
46
|
+
children,
|
|
47
|
+
className,
|
|
48
|
+
identifier,
|
|
49
|
+
label,
|
|
50
|
+
model,
|
|
51
|
+
style,
|
|
52
|
+
value,
|
|
53
|
+
...restProps
|
|
54
|
+
} = this.props;
|
|
55
|
+
const actualStyle = Object.assign({
|
|
56
|
+
paddingVertical: 8
|
|
57
|
+
}, style);
|
|
58
|
+
return /*#__PURE__*/React.createElement(View, _extends({
|
|
59
|
+
dataSet: {
|
|
60
|
+
attribute,
|
|
61
|
+
class: classNames(className, "component-api-maker-attribute-row"),
|
|
62
|
+
identifier
|
|
63
|
+
},
|
|
64
|
+
style: actualStyle
|
|
65
|
+
}, restProps), /*#__PURE__*/React.createElement(Text, {
|
|
66
|
+
dataSet: {
|
|
67
|
+
class: "attribute-row-label"
|
|
68
|
+
},
|
|
69
|
+
style: {
|
|
70
|
+
fontWeight: "bold"
|
|
71
|
+
}
|
|
72
|
+
}, this.label()), /*#__PURE__*/React.createElement(View, {
|
|
73
|
+
dataSet: {
|
|
74
|
+
class: "attribute-row-value"
|
|
75
|
+
},
|
|
76
|
+
style: {
|
|
77
|
+
marginTop: 3
|
|
78
|
+
}
|
|
79
|
+
}, this.value()));
|
|
80
|
+
}
|
|
81
|
+
label() {
|
|
82
|
+
const {
|
|
83
|
+
attribute,
|
|
84
|
+
label,
|
|
85
|
+
model
|
|
86
|
+
} = this.props;
|
|
87
|
+
if ("label" in this.props) return label;
|
|
88
|
+
if (attribute && model) return model.constructor.humanAttributeName(attribute);
|
|
89
|
+
throw new Error("Couldn't figure out label");
|
|
90
|
+
}
|
|
91
|
+
value() {
|
|
92
|
+
const {
|
|
93
|
+
attribute,
|
|
94
|
+
checkIfAttributeLoaded,
|
|
95
|
+
children,
|
|
96
|
+
model
|
|
97
|
+
} = this.props;
|
|
98
|
+
if (children) return children;
|
|
99
|
+
if (attribute && !(attribute in model)) throw new Error(`Attribute not found: ${digg(model.modelClassData(), "name")}#${attribute}`);
|
|
100
|
+
if (attribute && checkIfAttributeLoaded && !model.isAttributeLoaded(attribute)) return null;
|
|
101
|
+
if (attribute && model) {
|
|
102
|
+
const value = model[attribute]();
|
|
103
|
+
return this.valueContent(value);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
valueContent(value) {
|
|
107
|
+
const {
|
|
108
|
+
l,
|
|
109
|
+
t
|
|
110
|
+
} = this.tt;
|
|
111
|
+
const columnType = this.attribute?.getColumn()?.getType();
|
|
112
|
+
if (columnType == "date") {
|
|
113
|
+
return /*#__PURE__*/React.createElement(Text, null, l("date.formats.default", value));
|
|
114
|
+
} else if (value instanceof Date) {
|
|
115
|
+
return /*#__PURE__*/React.createElement(Text, null, strftime("%Y-%m-%d %H:%M", value));
|
|
116
|
+
} else if (typeof value === "boolean") {
|
|
117
|
+
if (value) {
|
|
118
|
+
return /*#__PURE__*/React.createElement(Text, null, t("js.shared.yes", {
|
|
119
|
+
defaultValue: "Yes"
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
return /*#__PURE__*/React.createElement(Text, null, t("js.shared.no", {
|
|
123
|
+
defaultValue: "No"
|
|
124
|
+
}));
|
|
125
|
+
} else if (MoneyFormatter.isMoney(value)) {
|
|
126
|
+
return /*#__PURE__*/React.createElement(Text, null, MoneyFormatter.format(value));
|
|
127
|
+
} else if (typeof value == "string") {
|
|
128
|
+
return /*#__PURE__*/React.createElement(Text, null, value);
|
|
129
|
+
} else {
|
|
130
|
+
return value;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}));
|
|
134
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJjbGFzc05hbWVzIiwiZGlnZyIsImluZmxlY3Rpb24iLCJtZW1vIiwiTW9uZXlGb3JtYXR0ZXIiLCJQcm9wVHlwZXMiLCJzaGFwZUNvbXBvbmVudCIsIlNoYXBlQ29tcG9uZW50Iiwic3RyZnRpbWUiLCJUZXh0IiwidXNlSTE4biIsIlZpZXciLCJBcGlNYWtlckJvb3RzdHJhcEF0dHJpYnV0ZVJvdyIsImRlZmF1bHRQcm9wcyIsImNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQiLCJwcm9wVHlwZXMiLCJhdHRyaWJ1dGUiLCJzdHJpbmciLCJib29sIiwiaXNSZXF1aXJlZCIsImNoaWxkcmVuIiwibm9kZSIsImlkZW50aWZpZXIiLCJsYWJlbCIsIm9uZU9mVHlwZSIsIm1vZGVsIiwib2JqZWN0IiwidmFsdWUiLCJzZXR1cCIsImwiLCJ0IiwibmFtZXNwYWNlIiwicHJvcHMiLCJjb25zdHJ1Y3RvciIsImF0dHJpYnV0ZXMiLCJmaW5kIiwibmFtZSIsInVuZGVyc2NvcmUiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJzdHlsZSIsInJlc3RQcm9wcyIsImFjdHVhbFN0eWxlIiwiT2JqZWN0IiwiYXNzaWduIiwicGFkZGluZ1ZlcnRpY2FsIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiZGF0YVNldCIsImNsYXNzIiwiZm9udFdlaWdodCIsIm1hcmdpblRvcCIsImh1bWFuQXR0cmlidXRlTmFtZSIsIkVycm9yIiwibW9kZWxDbGFzc0RhdGEiLCJpc0F0dHJpYnV0ZUxvYWRlZCIsInZhbHVlQ29udGVudCIsInR0IiwiY29sdW1uVHlwZSIsImdldENvbHVtbiIsImdldFR5cGUiLCJEYXRlIiwiZGVmYXVsdFZhbHVlIiwiaXNNb25leSIsImZvcm1hdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290c3RyYXAvYXR0cmlidXRlLXJvdy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgTW9uZXlGb3JtYXR0ZXIgZnJvbSBcIi4uL21vbmV5LWZvcm1hdHRlclwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnQsIFNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5pbXBvcnQgc3RyZnRpbWUgZnJvbSBcInN0cmZ0aW1lXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi91dGlscy90ZXh0XCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL3NyYy91c2UtaTE4blwiXG5pbXBvcnQge1ZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyQm9vdHN0cmFwQXR0cmlidXRlUm93IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQ6IGZhbHNlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjaGVja0lmQXR0cmlidXRlTG9hZGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICBpZGVudGlmaWVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMubm9kZSwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHZhbHVlOiBQcm9wVHlwZXMubm9kZVxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge2wsIHR9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5hdHRyaWJ1dGVfcm93XCJ9KVxuXG4gICAgdGhpcy5sID0gbFxuICAgIHRoaXMudCA9IHRcbiAgICB0aGlzLmF0dHJpYnV0ZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLmF0dHJpYnV0ZSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnByb3BzLm1vZGVsPy5jb25zdHJ1Y3Rvcj8uYXR0cmlidXRlcygpPy5maW5kKChhdHRyaWJ1dGUpID0+IGF0dHJpYnV0ZS5uYW1lKCkgPT0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMucHJvcHMuYXR0cmlidXRlKSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFt0aGlzLnByb3BzLmF0dHJpYnV0ZSwgdGhpcy5wcm9wcy5tb2RlbF1cbiAgICApXG4gIH1cblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQsIGNoaWxkcmVuLCBjbGFzc05hbWUsIGlkZW50aWZpZXIsIGxhYmVsLCBtb2RlbCwgc3R5bGUsIHZhbHVlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGFjdHVhbFN0eWxlID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgcGFkZGluZ1ZlcnRpY2FsOiA4XG4gICAgICB9LFxuICAgICAgc3R5bGVcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdcbiAgICAgICAgZGF0YVNldD17e1xuICAgICAgICAgIGF0dHJpYnV0ZSxcbiAgICAgICAgICBjbGFzczogY2xhc3NOYW1lcyhjbGFzc05hbWUsIFwiY29tcG9uZW50LWFwaS1tYWtlci1hdHRyaWJ1dGUtcm93XCIpLFxuICAgICAgICAgIGlkZW50aWZpZXJcbiAgICAgICAgfX1cbiAgICAgICAgc3R5bGU9e2FjdHVhbFN0eWxlfVxuICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgPlxuICAgICAgICA8VGV4dCBkYXRhU2V0PXt7Y2xhc3M6IFwiYXR0cmlidXRlLXJvdy1sYWJlbFwifX0gc3R5bGU9e3tmb250V2VpZ2h0OiBcImJvbGRcIn19PlxuICAgICAgICAgIHt0aGlzLmxhYmVsKCl9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICAgPFZpZXcgZGF0YVNldD17e2NsYXNzOiBcImF0dHJpYnV0ZS1yb3ctdmFsdWVcIn19IHN0eWxlPXt7bWFyZ2luVG9wOiAzfX0+XG4gICAgICAgICAge3RoaXMudmFsdWUoKX1cbiAgICAgICAgPC9WaWV3PlxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIGxhYmVsKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGxhYmVsLCBtb2RlbH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoXCJsYWJlbFwiIGluIHRoaXMucHJvcHMpIHJldHVybiBsYWJlbFxuICAgIGlmIChhdHRyaWJ1dGUgJiYgbW9kZWwpIHJldHVybiBtb2RlbC5jb25zdHJ1Y3Rvci5odW1hbkF0dHJpYnV0ZU5hbWUoYXR0cmlidXRlKVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmlndXJlIG91dCBsYWJlbFwiKVxuICB9XG5cbiAgdmFsdWUoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZCwgY2hpbGRyZW4sIG1vZGVsfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChjaGlsZHJlbikgcmV0dXJuIGNoaWxkcmVuXG5cbiAgICBpZiAoYXR0cmlidXRlICYmICEoYXR0cmlidXRlIGluIG1vZGVsKSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXR0cmlidXRlIG5vdCBmb3VuZDogJHtkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKX0jJHthdHRyaWJ1dGV9YClcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZCAmJiAhbW9kZWwuaXNBdHRyaWJ1dGVMb2FkZWQoYXR0cmlidXRlKSlcbiAgICAgIHJldHVybiBudWxsXG5cbiAgICBpZiAoYXR0cmlidXRlICYmIG1vZGVsKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG1vZGVsW2F0dHJpYnV0ZV0oKVxuXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZUNvbnRlbnQodmFsdWUpXG4gICAgfVxuICB9XG5cbiAgdmFsdWVDb250ZW50KHZhbHVlKSB7XG4gICAgY29uc3Qge2wsIHR9ID0gdGhpcy50dFxuICAgIGNvbnN0IGNvbHVtblR5cGUgPSB0aGlzLmF0dHJpYnV0ZT8uZ2V0Q29sdW1uKCk/LmdldFR5cGUoKVxuXG4gICAgaWYgKGNvbHVtblR5cGUgPT0gXCJkYXRlXCIpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0PntsKFwiZGF0ZS5mb3JtYXRzLmRlZmF1bHRcIiwgdmFsdWUpfTwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRleHQ+e3N0cmZ0aW1lKFwiJVktJW0tJWQgJUg6JU1cIiwgdmFsdWUpfTwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxUZXh0Pnt0KFwianMuc2hhcmVkLnllc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlllc1wifSl9PC9UZXh0PlxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0Pnt0KFwianMuc2hhcmVkLm5vXCIsIHtkZWZhdWx0VmFsdWU6IFwiTm9cIn0pfTwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKE1vbmV5Rm9ybWF0dGVyLmlzTW9uZXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dD57TW9uZXlGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKX08L1RleHQ+XG4gICAgICApXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRleHQ+e3ZhbHVlfTwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgfVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQUssSUFBR0MsT0FBTyxRQUFPLE9BQU87QUFDcEMsT0FBT0MsVUFBVSxNQUFNLFlBQVk7QUFDbkMsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBTyxLQUFLQyxVQUFVLE1BQU0sWUFBWTtBQUN4QyxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU9DLGNBQWMsTUFBTSxvQkFBb0I7QUFDL0MsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsU0FBUUMsY0FBYyxFQUFFQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BGLE9BQU9DLFFBQVEsTUFBTSxVQUFVO0FBQy9CLE9BQU9DLElBQUksTUFBTSxlQUFlO0FBQ2hDLE9BQU9DLE9BQU8sTUFBTSwrQkFBK0I7QUFDbkQsU0FBUUMsSUFBSSxRQUFPLGNBQWM7QUFFakMsZUFBZVIsSUFBSSxDQUFDRyxjQUFjLENBQUMsTUFBTU0sNkJBQTZCLFNBQVNMLGNBQWMsQ0FBQztFQUM1RixPQUFPTSxZQUFZLEdBQUc7SUFDcEJDLHNCQUFzQixFQUFFO0VBQzFCLENBQUM7RUFFRCxPQUFPQyxTQUFTLEdBQUc7SUFDakJDLFNBQVMsRUFBRVgsU0FBUyxDQUFDWSxNQUFNO0lBQzNCSCxzQkFBc0IsRUFBRVQsU0FBUyxDQUFDYSxJQUFJLENBQUNDLFVBQVU7SUFDakRDLFFBQVEs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
|
|
@@ -14,7 +14,6 @@ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRows extends
|
|
|
14
14
|
checkIfAttributeLoaded: PropTypes.bool.isRequired,
|
|
15
15
|
model: PropTypes.object.isRequired
|
|
16
16
|
});
|
|
17
|
-
classObject = this.p.model.modelClass();
|
|
18
17
|
render() {
|
|
19
18
|
const {
|
|
20
19
|
attributes,
|
|
@@ -29,4 +28,4 @@ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRows extends
|
|
|
29
28
|
}));
|
|
30
29
|
}
|
|
31
30
|
}));
|
|
32
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdHRyaWJ1dGVSb3ciLCJCYXNlQ29tcG9uZW50IiwibWVtbyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0IiwiUmVhY3QiLCJzaGFwZUNvbXBvbmVudCIsIkFwaU1ha2VyQm9vdHN0cmFwQXR0cmlidXRlUm93cyIsImRlZmF1bHRQcm9wcyIsImNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQiLCJwcm9wVHlwZXMiLCJhdHRyaWJ1dGVzIiwiYXJyYXkiLCJpc1JlcXVpcmVkIiwiYm9vbCIsIm1vZGVsIiwib2JqZWN0IiwicmVuZGVyIiwicCIsIm1hcCIsImF0dHJpYnV0ZSIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYm9vdHN0cmFwL2F0dHJpYnV0ZS1yb3dzLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXR0cmlidXRlUm93IGZyb20gXCIuL2F0dHJpYnV0ZS1yb3dcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckJvb3RzdHJhcEF0dHJpYnV0ZVJvd3MgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjaGVja0lmQXR0cmlidXRlTG9hZGVkOiBmYWxzZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBjaGVja0lmQXR0cmlidXRlTG9hZGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbiAgfSlcblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGVzLCBjaGVja0lmQXR0cmlidXRlTG9hZGVkLCBtb2RlbH0gPSB0aGlzLnBcblxuICAgIHJldHVybiBhdHRyaWJ1dGVzLm1hcCgoYXR0cmlidXRlKSA9PlxuICAgICAgPEF0dHJpYnV0ZVJvdyBhdHRyaWJ1dGU9e2F0dHJpYnV0ZX0gY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZD17Y2hlY2tJZkF0dHJpYnV0ZUxvYWRlZH0ga2V5PXtgYXR0cmlidXRlLSR7YXR0cmlidXRlfWB9IG1vZGVsPXttb2RlbH0gLz5cbiAgICApXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxZQUFZLE1BQU0saUJBQWlCO0FBQzFDLE9BQU9DLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQVFDLGNBQWMsUUFBTyx1Q0FBdUM7QUFFcEUsZUFBZUosSUFBSSxDQUFDSSxjQUFjLENBQUMsTUFBTUMsOEJBQThCLFNBQVNOLGFBQWEsQ0FBQztFQUM1RixPQUFPTyxZQUFZLEdBQUc7SUFDcEJDLHNCQUFzQixFQUFFO0VBQzFCLENBQUM7RUFFRCxPQUFPQyxTQUFTLEdBQUdOLGNBQWMsQ0FBQztJQUNoQ08sVUFBVSxFQUFFUixTQUFTLENBQUNTLEtBQUssQ0FBQ0MsVUFBVTtJQUN0Q0osc0JBQXNCLEVBQUVOLFNBQVMsQ0FBQ1csSUFBSSxDQUFDRCxVQUFVO0lBQ2pERSxLQUFLLEVBQUVaLFNBQVMsQ0FBQ2EsTUFBTSxDQUFDSDtFQUMxQixDQUFDLENBQUM7RUFFRkksTUFBTUEsQ0FBQSxFQUFJO0lBQ1IsTUFBTTtNQUFDTixVQUFVO01BQUVGLHNCQUFzQjtNQUFFTTtJQUFLLENBQUMsR0FBRyxJQUFJLENBQUNHLENBQUM7SUFFMUQsT0FBT1AsVUFBVSxDQUFDUSxHQUFHLENBQUVDLFNBQVMsaUJBQzlCZixLQUFBLENBQUFnQixhQUFBLENBQUNyQixZQUFZO01BQUNvQixTQUFTLEVBQUVBLFNBQVU7TUFBQ1gsc0JBQXNCLEVBQUVBLHNCQUF1QjtNQUFDYSxHQUFHLEVBQUUsYUFBYUYsU0FBUyxFQUFHO01BQUNMLEtBQUssRUFBRUE7SUFBTSxDQUFFLENBQ3BJLENBQUM7RUFDSDtBQUNGLENBQUMsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
package/build/flash-message.js
CHANGED
|
@@ -30,7 +30,8 @@ export default class FlashMessage {
|
|
|
30
30
|
}
|
|
31
31
|
return digg(error, "message");
|
|
32
32
|
});
|
|
33
|
-
|
|
33
|
+
const errorMessage = errorMessages.join(". ");
|
|
34
|
+
FlashMessage.error(errorMessage);
|
|
34
35
|
} else {
|
|
35
36
|
console.error("Didnt know what to do with this", error);
|
|
36
37
|
}
|
|
@@ -75,4 +76,4 @@ export default class FlashMessage {
|
|
|
75
76
|
globalThis.dispatchEvent(event);
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDdXN0b21FcnJvciIsIkkxOG5PblN0ZXJvaWRzIiwiVmFsaWRhdGlvbkVycm9yIiwiZGlnZyIsIkZsYXNoTWVzc2FnZSIsImFsZXJ0IiwibWVzc2FnZSIsInR5cGUiLCJlcnJvciIsImVycm9yUmVzcG9uc2UiLCJoYXNVbmhhbmRsZWRFcnJvcnMiLCJnZXRDdXJyZW50IiwidCIsImVycm9ycyIsImFyZ3MiLCJyZXNwb25zZSIsImVycm9yTWVzc2FnZXMiLCJtYXAiLCJlcnJvck1lc3NhZ2UiLCJqb2luIiwiY29uc29sZSIsInN1Y2Nlc3MiLCJjb25zdHJ1Y3RvciIsIkVycm9yIiwidGl0bGUiLCJkZWZhdWx0VmFsdWUiLCJldmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiZ2xvYmFsVGhpcyIsImRpc3BhdGNoRXZlbnQiXSwic291cmNlcyI6WyIuLi9zcmMvZmxhc2gtbWVzc2FnZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ3VzdG9tRXJyb3IgZnJvbSBcIkBrYXNwZXJuai9hcGktbWFrZXIvYnVpbGQvY3VzdG9tLWVycm9yXCJcbmltcG9ydCBJMThuT25TdGVyb2lkcyBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkc1wiXG5pbXBvcnQgVmFsaWRhdGlvbkVycm9yIGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL3ZhbGlkYXRpb24tZXJyb3JcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmxhc2hNZXNzYWdlIHtcbiAgc3RhdGljIGFsZXJ0KG1lc3NhZ2UpIHtcbiAgICBuZXcgRmxhc2hNZXNzYWdlKHt0eXBlOiBcImFsZXJ0XCIsIG1lc3NhZ2V9KVxuICB9XG5cbiAgc3RhdGljIGVycm9yKG1lc3NhZ2UpIHtcbiAgICBuZXcgRmxhc2hNZXNzYWdlKHt0eXBlOiBcImVycm9yXCIsIG1lc3NhZ2V9KVxuICB9XG5cbiAgc3RhdGljIGVycm9yUmVzcG9uc2UoZXJyb3IpIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIGlmIChlcnJvci5oYXNVbmhhbmRsZWRFcnJvcnMoKSkge1xuICAgICAgICBGbGFzaE1lc3NhZ2UuZXJyb3IoZXJyb3IubWVzc2FnZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIEZsYXNoTWVzc2FnZS5lcnJvcihJMThuT25TdGVyb2lkcy5nZXRDdXJyZW50KCkudChcImpzLmZsYXNoX21lc3NhZ2UuY291bGRudF9zdWJtaXRfYmVjYXVzZV9vZl92YWxpZGF0aW9uX2Vycm9yc1wiKSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgQ3VzdG9tRXJyb3IpIHtcbiAgICAgIGNvbnN0IGVycm9ycyA9IGVycm9yLmFyZ3MucmVzcG9uc2UuZXJyb3JzXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2VzID0gZXJyb3JzXG4gICAgICAgIC5tYXAoKGVycm9yKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBlcnJvciA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3JcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZGlnZyhlcnJvciwgXCJtZXNzYWdlXCIpXG4gICAgICAgIH0pXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2VzLmpvaW4oXCIuIFwiKVxuXG4gICAgICBGbGFzaE1lc3NhZ2UuZXJyb3IoZXJyb3JNZXNzYWdlKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiRGlkbnQga25vdyB3aGF0IHRvIGRvIHdpdGggdGhpc1wiLCBlcnJvcilcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgc3VjY2VzcyhtZXNzYWdlKSB7XG4gICAgbmV3IEZsYXNoTWVzc2FnZSh7dHlwZTogXCJzdWNjZXNzXCIsIG1lc3NhZ2V9KVxuICB9XG5cbiAgY29uc3RydWN0b3Ioe21lc3NhZ2UsIHR5cGV9KSB7XG4gICAgaWYgKCFtZXNzYWdlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBtZXNzYWdlIGdpdmVuXCIpXG4gICAgaWYgKCF0eXBlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyB0eXBlIGdpdmVuXCIpXG5cbiAgICBsZXQgdGl0bGVcblxuICAgIGlmICh0eXBlID09IFwiYWxlcnRcIikge1xuICAgICAgdGl0bGUgPSBJMThuT25TdGVyb2lkcy5nZXRDdXJyZW50KCkudChcImpzLmZsYXNoX21lc3NhZ2UuYWxlcnRcIiwge2RlZmF1bHRWYWx1ZTogXCJBbGVydFwifSlcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJlcnJvclwiKSB7XG4gICAgICB0aXRsZSA9IEkxOG5PblN0ZXJvaWRzLmdldEN1cnJlbnQoKS50KFwianMuZmxhc2hfbWVzc2FnZS5lcnJvclwiLCB7ZGVmYXVsdFZhbHVlOiBcIkVycm9yXCJ9KVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInN1Y2Nlc3NcIikge1xuICAgICAgdGl0bGUgPSBJMThuT25TdGVyb2lkcy5nZXRDdXJyZW50KCkudChcImpzLmZsYXNoX21lc3NhZ2Uuc3VjY2Vzc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlN1Y2Nlc3NcIn0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRpdGxlID0gSTE4bk9uU3Rlcm9pZHMuZ2V0Q3VycmVudCgpLnQoXCJqcy5mbGFzaF9tZXNzYWdlLm5vdGlmaWNhdGlvblwiLCB7ZGVmYXVsdFZhbHVlOiBcIk5vdGlmaWNhdGlvblwifSlcbiAgICB9XG5cbiAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudChcInB1c2hOb3RpZmljYXRpb25cIiwge1xuICAgICAgZGV0YWlsOiB7XG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIHRpdGxlLFxuICAgICAgICB0eXBlXG4gICAgICB9XG4gICAgfSlcblxuICAgIGdsb2JhbFRoaXMuZGlzcGF0Y2hFdmVudChldmVudClcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxXQUFXLE1BQU0sd0NBQXdDO0FB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
|
package/build/history.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createBrowserHistory } from "history";
|
|
2
|
+
export default createBrowserHistory();
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVCcm93c2VySGlzdG9yeSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9oaXN0b3J5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlQnJvd3Nlckhpc3Rvcnl9IGZyb20gXCJoaXN0b3J5XCJcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlQnJvd3Nlckhpc3RvcnkoKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxvQkFBb0IsUUFBTyxTQUFTO0FBRTVDLGVBQWVBLG9CQUFvQixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
class HistoryNative {
|
|
2
|
+
push(...args) {
|
|
3
|
+
throw new Error("Stub: Push from history.nativejs", {
|
|
4
|
+
args
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
const historyNative = new HistoryNative();
|
|
9
|
+
export default historyNative;
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJIaXN0b3J5TmF0aXZlIiwicHVzaCIsImFyZ3MiLCJFcnJvciIsImhpc3RvcnlOYXRpdmUiXSwic291cmNlcyI6WyIuLi9zcmMvaGlzdG9yeS5uYXRpdmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgSGlzdG9yeU5hdGl2ZSB7XG4gIHB1c2goLi4uYXJncykge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlN0dWI6IFB1c2ggZnJvbSBoaXN0b3J5Lm5hdGl2ZWpzXCIsIHthcmdzfSlcbiAgfVxufVxuXG5jb25zdCBoaXN0b3J5TmF0aXZlID0gbmV3IEhpc3RvcnlOYXRpdmUoKVxuXG5leHBvcnQgZGVmYXVsdCBoaXN0b3J5TmF0aXZlXG4iXSwibWFwcGluZ3MiOiJBQUFBLE1BQU1BLGFBQWEsQ0FBQztFQUNsQkMsSUFBSUEsQ0FBQyxHQUFHQyxJQUFJLEVBQUU7SUFDWixNQUFNLElBQUlDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRTtNQUFDRDtJQUFJLENBQUMsQ0FBQztFQUM3RDtBQUNGO0FBRUEsTUFBTUUsYUFBYSxHQUFHLElBQUlKLGFBQWEsQ0FBQyxDQUFDO0FBRXpDLGVBQWVJLGFBQWEiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/package.json
CHANGED
|
@@ -3,11 +3,13 @@ import classNames from "classnames"
|
|
|
3
3
|
import {digg} from "diggerize"
|
|
4
4
|
import * as inflection from "inflection"
|
|
5
5
|
import memo from "set-state-compare/src/memo"
|
|
6
|
-
import MoneyFormatter from "
|
|
6
|
+
import MoneyFormatter from "../money-formatter"
|
|
7
7
|
import PropTypes from "prop-types"
|
|
8
8
|
import {shapeComponent, ShapeComponent} from "set-state-compare/src/shape-component"
|
|
9
9
|
import strftime from "strftime"
|
|
10
|
+
import Text from "../utils/text"
|
|
10
11
|
import useI18n from "i18n-on-steroids/src/use-i18n"
|
|
12
|
+
import {View} from "react-native"
|
|
11
13
|
|
|
12
14
|
export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends ShapeComponent {
|
|
13
15
|
static defaultProps = {
|
|
@@ -40,22 +42,31 @@ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends S
|
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
render () {
|
|
43
|
-
const {attribute, checkIfAttributeLoaded, children, className, identifier, label, model, value, ...restProps} = this.props
|
|
45
|
+
const {attribute, checkIfAttributeLoaded, children, className, identifier, label, model, style, value, ...restProps} = this.props
|
|
46
|
+
const actualStyle = Object.assign(
|
|
47
|
+
{
|
|
48
|
+
paddingVertical: 8
|
|
49
|
+
},
|
|
50
|
+
style
|
|
51
|
+
)
|
|
44
52
|
|
|
45
53
|
return (
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
<View
|
|
55
|
+
dataSet={{
|
|
56
|
+
attribute,
|
|
57
|
+
class: classNames(className, "component-api-maker-attribute-row"),
|
|
58
|
+
identifier
|
|
59
|
+
}}
|
|
60
|
+
style={actualStyle}
|
|
50
61
|
{...restProps}
|
|
51
62
|
>
|
|
52
|
-
<
|
|
63
|
+
<Text dataSet={{class: "attribute-row-label"}} style={{fontWeight: "bold"}}>
|
|
53
64
|
{this.label()}
|
|
54
|
-
</
|
|
55
|
-
<
|
|
65
|
+
</Text>
|
|
66
|
+
<View dataSet={{class: "attribute-row-value"}} style={{marginTop: 3}}>
|
|
56
67
|
{this.value()}
|
|
57
|
-
</
|
|
58
|
-
</
|
|
68
|
+
</View>
|
|
69
|
+
</View>
|
|
59
70
|
)
|
|
60
71
|
}
|
|
61
72
|
|
|
@@ -91,15 +102,31 @@ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends S
|
|
|
91
102
|
const columnType = this.attribute?.getColumn()?.getType()
|
|
92
103
|
|
|
93
104
|
if (columnType == "date") {
|
|
94
|
-
return
|
|
105
|
+
return (
|
|
106
|
+
<Text>{l("date.formats.default", value)}</Text>
|
|
107
|
+
)
|
|
95
108
|
} else if (value instanceof Date) {
|
|
96
|
-
return
|
|
109
|
+
return (
|
|
110
|
+
<Text>{strftime("%Y-%m-%d %H:%M", value)}</Text>
|
|
111
|
+
)
|
|
97
112
|
} else if (typeof value === "boolean") {
|
|
98
|
-
if (value)
|
|
99
|
-
|
|
100
|
-
|
|
113
|
+
if (value) {
|
|
114
|
+
return (
|
|
115
|
+
<Text>{t("js.shared.yes", {defaultValue: "Yes"})}</Text>
|
|
116
|
+
)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return (
|
|
120
|
+
<Text>{t("js.shared.no", {defaultValue: "No"})}</Text>
|
|
121
|
+
)
|
|
101
122
|
} else if (MoneyFormatter.isMoney(value)) {
|
|
102
|
-
return
|
|
123
|
+
return (
|
|
124
|
+
<Text>{MoneyFormatter.format(value)}</Text>
|
|
125
|
+
)
|
|
126
|
+
} else if (typeof value == "string") {
|
|
127
|
+
return (
|
|
128
|
+
<Text>{value}</Text>
|
|
129
|
+
)
|
|
103
130
|
} else {
|
|
104
131
|
return value
|
|
105
132
|
}
|
package/src/flash-message.js
CHANGED
|
@@ -21,15 +21,17 @@ export default class FlashMessage {
|
|
|
21
21
|
}
|
|
22
22
|
} else if (error instanceof CustomError) {
|
|
23
23
|
const errors = error.args.response.errors
|
|
24
|
-
const errorMessages = errors
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
const errorMessages = errors
|
|
25
|
+
.map((error) => {
|
|
26
|
+
if (typeof error == "string") {
|
|
27
|
+
return error
|
|
28
|
+
}
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
return digg(error, "message")
|
|
31
|
+
})
|
|
32
|
+
const errorMessage = errorMessages.join(". ")
|
|
31
33
|
|
|
32
|
-
FlashMessage.error(
|
|
34
|
+
FlashMessage.error(errorMessage)
|
|
33
35
|
} else {
|
|
34
36
|
console.error("Didnt know what to do with this", error)
|
|
35
37
|
}
|
package/src/history.js
ADDED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
-
import React, { useMemo } from "react";
|
|
3
|
-
import classNames from "classnames";
|
|
4
|
-
import { digg } from "diggerize";
|
|
5
|
-
import * as inflection from "inflection";
|
|
6
|
-
import memo from "set-state-compare/src/memo";
|
|
7
|
-
import MoneyFormatter from "../../money-formatter";
|
|
8
|
-
import PropTypes from "prop-types";
|
|
9
|
-
import { shapeComponent, ShapeComponent } from "set-state-compare/src/shape-component";
|
|
10
|
-
import strftime from "strftime";
|
|
11
|
-
import useI18n from "i18n-on-steroids/src/use-i18n";
|
|
12
|
-
export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends ShapeComponent {
|
|
13
|
-
static defaultProps = {
|
|
14
|
-
checkIfAttributeLoaded: false
|
|
15
|
-
};
|
|
16
|
-
static propTypes = {
|
|
17
|
-
attribute: PropTypes.string,
|
|
18
|
-
checkIfAttributeLoaded: PropTypes.bool.isRequired,
|
|
19
|
-
children: PropTypes.node,
|
|
20
|
-
identifier: PropTypes.string,
|
|
21
|
-
label: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),
|
|
22
|
-
model: PropTypes.object,
|
|
23
|
-
value: PropTypes.node
|
|
24
|
-
};
|
|
25
|
-
setup() {
|
|
26
|
-
const {
|
|
27
|
-
l,
|
|
28
|
-
t
|
|
29
|
-
} = useI18n({
|
|
30
|
-
namespace: "js.api_maker.attribute_row"
|
|
31
|
-
});
|
|
32
|
-
this.l = l;
|
|
33
|
-
this.t = t;
|
|
34
|
-
this.attribute = useMemo(() => {
|
|
35
|
-
if (this.props.attribute) {
|
|
36
|
-
return this.props.model?.constructor?.attributes()?.find(attribute => attribute.name() == inflection.underscore(this.props.attribute));
|
|
37
|
-
}
|
|
38
|
-
}, [this.props.attribute, this.props.model]);
|
|
39
|
-
}
|
|
40
|
-
render() {
|
|
41
|
-
const {
|
|
42
|
-
attribute,
|
|
43
|
-
checkIfAttributeLoaded,
|
|
44
|
-
children,
|
|
45
|
-
className,
|
|
46
|
-
identifier,
|
|
47
|
-
label,
|
|
48
|
-
model,
|
|
49
|
-
value,
|
|
50
|
-
...restProps
|
|
51
|
-
} = this.props;
|
|
52
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
|
53
|
-
className: classNames(className, "component-api-maker-attribute-row"),
|
|
54
|
-
"data-attribute": attribute,
|
|
55
|
-
"data-identifier": identifier
|
|
56
|
-
}, restProps), /*#__PURE__*/React.createElement("div", {
|
|
57
|
-
className: "attribute-row-label"
|
|
58
|
-
}, this.label()), /*#__PURE__*/React.createElement("div", {
|
|
59
|
-
className: "attribute-row-value"
|
|
60
|
-
}, this.value()));
|
|
61
|
-
}
|
|
62
|
-
label() {
|
|
63
|
-
const {
|
|
64
|
-
attribute,
|
|
65
|
-
label,
|
|
66
|
-
model
|
|
67
|
-
} = this.props;
|
|
68
|
-
if ("label" in this.props) return label;
|
|
69
|
-
if (attribute && model) return model.constructor.humanAttributeName(attribute);
|
|
70
|
-
throw new Error("Couldn't figure out label");
|
|
71
|
-
}
|
|
72
|
-
value() {
|
|
73
|
-
const {
|
|
74
|
-
attribute,
|
|
75
|
-
checkIfAttributeLoaded,
|
|
76
|
-
children,
|
|
77
|
-
model
|
|
78
|
-
} = this.props;
|
|
79
|
-
if (children) return children;
|
|
80
|
-
if (attribute && !(attribute in model)) throw new Error(`Attribute not found: ${digg(model.modelClassData(), "name")}#${attribute}`);
|
|
81
|
-
if (attribute && checkIfAttributeLoaded && !model.isAttributeLoaded(attribute)) return null;
|
|
82
|
-
if (attribute && model) {
|
|
83
|
-
const value = model[attribute]();
|
|
84
|
-
return this.valueContent(value);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
valueContent(value) {
|
|
88
|
-
const {
|
|
89
|
-
l,
|
|
90
|
-
t
|
|
91
|
-
} = this.tt;
|
|
92
|
-
const columnType = this.attribute?.getColumn()?.getType();
|
|
93
|
-
if (columnType == "date") {
|
|
94
|
-
return l("date.formats.default", value);
|
|
95
|
-
} else if (value instanceof Date) {
|
|
96
|
-
return strftime("%Y-%m-%d %H:%M", value);
|
|
97
|
-
} else if (typeof value === "boolean") {
|
|
98
|
-
if (value) return t("js.shared.yes", {
|
|
99
|
-
defaultValue: "Yes"
|
|
100
|
-
});
|
|
101
|
-
return t("js.shared.no", {
|
|
102
|
-
defaultValue: "No"
|
|
103
|
-
});
|
|
104
|
-
} else if (MoneyFormatter.isMoney(value)) {
|
|
105
|
-
return MoneyFormatter.format(value);
|
|
106
|
-
} else {
|
|
107
|
-
return value;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}));
|
|
111
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJjbGFzc05hbWVzIiwiZGlnZyIsImluZmxlY3Rpb24iLCJtZW1vIiwiTW9uZXlGb3JtYXR0ZXIiLCJQcm9wVHlwZXMiLCJzaGFwZUNvbXBvbmVudCIsIlNoYXBlQ29tcG9uZW50Iiwic3RyZnRpbWUiLCJ1c2VJMThuIiwiQXBpTWFrZXJCb290c3RyYXBBdHRyaWJ1dGVSb3ciLCJkZWZhdWx0UHJvcHMiLCJjaGVja0lmQXR0cmlidXRlTG9hZGVkIiwicHJvcFR5cGVzIiwiYXR0cmlidXRlIiwic3RyaW5nIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJjaGlsZHJlbiIsIm5vZGUiLCJpZGVudGlmaWVyIiwibGFiZWwiLCJvbmVPZlR5cGUiLCJtb2RlbCIsIm9iamVjdCIsInZhbHVlIiwic2V0dXAiLCJsIiwidCIsIm5hbWVzcGFjZSIsInByb3BzIiwiY29uc3RydWN0b3IiLCJhdHRyaWJ1dGVzIiwiZmluZCIsIm5hbWUiLCJ1bmRlcnNjb3JlIiwicmVuZGVyIiwiY2xhc3NOYW1lIiwicmVzdFByb3BzIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiaHVtYW5BdHRyaWJ1dGVOYW1lIiwiRXJyb3IiLCJtb2RlbENsYXNzRGF0YSIsImlzQXR0cmlidXRlTG9hZGVkIiwidmFsdWVDb250ZW50IiwidHQiLCJjb2x1bW5UeXBlIiwiZ2V0Q29sdW1uIiwiZ2V0VHlwZSIsIkRhdGUiLCJkZWZhdWx0VmFsdWUiLCJpc01vbmV5IiwiZm9ybWF0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jvb3RzdHJhcC9hdHRyaWJ1dGUtcm93L2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCBNb25leUZvcm1hdHRlciBmcm9tIFwiLi4vLi4vbW9uZXktZm9ybWF0dGVyXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudCwgU2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCBzdHJmdGltZSBmcm9tIFwic3RyZnRpbWVcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckJvb3RzdHJhcEF0dHJpYnV0ZVJvdyBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjaGVja0lmQXR0cmlidXRlTG9hZGVkOiBmYWxzZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgaWRlbnRpZmllcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsYWJlbDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm5vZGUsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm5vZGVcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtsLCB0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIuYXR0cmlidXRlX3Jvd1wifSlcblxuICAgIHRoaXMubCA9IGxcbiAgICB0aGlzLnQgPSB0XG4gICAgdGhpcy5hdHRyaWJ1dGUgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5hdHRyaWJ1dGUpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5tb2RlbD8uY29uc3RydWN0b3I/LmF0dHJpYnV0ZXMoKT8uZmluZCgoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUubmFtZSgpID09IGluZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSkpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdGhpcy5wcm9wcy5hdHRyaWJ1dGUsIHRoaXMucHJvcHMubW9kZWxdXG4gICAgKVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjaGVja0lmQXR0cmlidXRlTG9hZGVkLCBjaGlsZHJlbiwgY2xhc3NOYW1lLCBpZGVudGlmaWVyLCBsYWJlbCwgbW9kZWwsIHZhbHVlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSwgXCJjb21wb25lbnQtYXBpLW1ha2VyLWF0dHJpYnV0ZS1yb3dcIil9XG4gICAgICAgIGRhdGEtYXR0cmlidXRlPXthdHRyaWJ1dGV9XG4gICAgICAgIGRhdGEtaWRlbnRpZmllcj17aWRlbnRpZmllcn1cbiAgICAgICAgey4uLnJlc3RQcm9wc31cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhdHRyaWJ1dGUtcm93LWxhYmVsXCI+XG4gICAgICAgICAge3RoaXMubGFiZWwoKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYXR0cmlidXRlLXJvdy12YWx1ZVwiPlxuICAgICAgICAgIHt0aGlzLnZhbHVlKCl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgbGFiZWwoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgbGFiZWwsIG1vZGVsfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChcImxhYmVsXCIgaW4gdGhpcy5wcm9wcykgcmV0dXJuIGxhYmVsXG4gICAgaWYgKGF0dHJpYnV0ZSAmJiBtb2RlbCkgcmV0dXJuIG1vZGVsLmNvbnN0cnVjdG9yLmh1bWFuQXR0cmlidXRlTmFtZShhdHRyaWJ1dGUpXG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBmaWd1cmUgb3V0IGxhYmVsXCIpXG4gIH1cblxuICB2YWx1ZSgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjaGVja0lmQXR0cmlidXRlTG9hZGVkLCBjaGlsZHJlbiwgbW9kZWx9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGNoaWxkcmVuKSByZXR1cm4gY2hpbGRyZW5cblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgIShhdHRyaWJ1dGUgaW4gbW9kZWwpKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdHRyaWJ1dGUgbm90IGZvdW5kOiAke2RpZ2cobW9kZWwubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpfSMke2F0dHJpYnV0ZX1gKVxuXG4gICAgaWYgKGF0dHJpYnV0ZSAmJiBjaGVja0lmQXR0cmlidXRlTG9hZGVkICYmICFtb2RlbC5pc0F0dHJpYnV0ZUxvYWRlZChhdHRyaWJ1dGUpKVxuICAgICAgcmV0dXJuIG51bGxcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgbW9kZWwpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gbW9kZWxbYXR0cmlidXRlXSgpXG5cbiAgICAgIHJldHVybiB0aGlzLnZhbHVlQ29udGVudCh2YWx1ZSlcbiAgICB9XG4gIH1cblxuICB2YWx1ZUNvbnRlbnQodmFsdWUpIHtcbiAgICBjb25zdCB7bCwgdH0gPSB0aGlzLnR0XG4gICAgY29uc3QgY29sdW1uVHlwZSA9IHRoaXMuYXR0cmlidXRlPy5nZXRDb2x1bW4oKT8uZ2V0VHlwZSgpXG5cbiAgICBpZiAoY29sdW1uVHlwZSA9PSBcImRhdGVcIikge1xuICAgICAgcmV0dXJuIGwoXCJkYXRlLmZvcm1hdHMuZGVmYXVsdFwiLCB2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWQgJUg6JU1cIiwgdmFsdWUpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICBpZiAodmFsdWUpIHJldHVybiB0KFwianMuc2hhcmVkLnllc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlllc1wifSlcblxuICAgICAgcmV0dXJuIHQoXCJqcy5zaGFyZWQubm9cIiwge2RlZmF1bHRWYWx1ZTogXCJOb1wifSlcbiAgICB9IGVsc2UgaWYgKE1vbmV5Rm9ybWF0dGVyLmlzTW9uZXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gTW9uZXlGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9XG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsS0FBSyxJQUFHQyxPQUFPLFFBQU8sT0FBTztBQUNwQyxPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxTQUFRQyxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPLEtBQUtDLFVBQVUsTUFBTSxZQUFZO0FBQ3hDLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsT0FBT0MsY0FBYyxNQUFNLHVCQUF1QjtBQUNsRCxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxTQUFRQyxjQUFjLEVBQUVDLGNBQWMsUUFBTyx1Q0FBdUM7QUFDcEYsT0FBT0MsUUFBUSxNQUFNLFVBQVU7QUFDL0IsT0FBT0MsT0FBTyxNQUFNLCtCQUErQjtBQUVuRCxlQUFlTixJQUFJLENBQUNHLGNBQWMsQ0FBQyxNQUFNSSw2QkFBNkIsU0FBU0gsY0FBYyxDQUFDO0VBQzVGLE9BQU9JLFlBQVks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
|