Skip to content

Commit eae5775

Browse files
committed
fixes #204 update Checkbox to functional component with default value handling
1 parent 4efc6f1 commit eae5775

30 files changed

+2424
-2043
lines changed

example/ExamplePage.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ class ExamplePage extends React.Component<void, State> {
6767
{label : "Conditional Array", value: "data/conditionalarray.json"},
6868
{label : "Test - Date Capture", value: "data/tests/datecapture.json"},
6969
{label : "Test - Localizer", value: "localizer"},
70+
{label : "Portal Config", value: "data/portal/config-detail.json"},
7071
{label : "MapRoot Restaurant", value: "data/maproot/restaurant.json"},
7172
{label : "MapRoot Payment", value: "data/maproot/payment.json"},
7273
{label : "MapRoot Pickup", value: "data/maproot/pickup.json"}
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
{
2+
"schema": {
3+
"type": "object",
4+
"title": "Config Detail",
5+
"properties": {
6+
"name": {
7+
"title": "API Name",
8+
"type": "string"
9+
},
10+
"version": {
11+
"title": "API Version",
12+
"type": "string"
13+
},
14+
"group": {
15+
"title": "Maven Group",
16+
"type": "string"
17+
},
18+
"artifactId": {
19+
"title": "Artifact Id",
20+
"type": "string"
21+
},
22+
"rootPackage": {
23+
"title": "Root Package",
24+
"type": "string"
25+
},
26+
"handlerPackage": {
27+
"title": "Handler Package",
28+
"type": "string"
29+
},
30+
"modelPackage": {
31+
"title": "Model Package",
32+
"type": "string"
33+
},
34+
"overwriteHandler": {
35+
"title": "Overwrite Handler",
36+
"type": "boolean",
37+
"default": true
38+
},
39+
"overwriteHandlerTest": {
40+
"title": "Overwrite Handler Test",
41+
"type": "boolean",
42+
"default": true
43+
},
44+
"overwriteModel": {
45+
"title": "Overwrite Model",
46+
"type": "boolean",
47+
"default": true
48+
},
49+
"httpPort": {
50+
"title": "HTTP Port",
51+
"type": "integer",
52+
"default": 8080
53+
},
54+
"enableHttp": {
55+
"title": "Enable HTTP",
56+
"type": "boolean",
57+
"default": false
58+
},
59+
"httpsPort": {
60+
"title": "HTTPS Port",
61+
"type": "integer",
62+
"default": 8443
63+
},
64+
"enableHttps": {
65+
"title": "Enable HTTPS",
66+
"type": "boolean",
67+
"default": true
68+
},
69+
"enableRegistry": {
70+
"title": "Enable Registry",
71+
"type": "boolean",
72+
"default": false
73+
},
74+
"eclipseIDE": {
75+
"title": "Eclipse IDE",
76+
"type": "boolean",
77+
"default": false
78+
},
79+
"supportDb": {
80+
"title": "Support Database",
81+
"type": "boolean",
82+
"default": false
83+
},
84+
"supportH2ForTest": {
85+
"title": "Support H2 Test",
86+
"type": "boolean",
87+
"default": false
88+
},
89+
"supportClient": {
90+
"title": "Support Client",
91+
"type": "boolean",
92+
"default": false
93+
},
94+
"dockerOrganization": {
95+
"title": "Docker Organization",
96+
"type": "string",
97+
"default": "networknt"
98+
}
99+
},
100+
"required": [
101+
"name",
102+
"version",
103+
"groupId",
104+
"artifactId",
105+
"rootPackage",
106+
"handlerPackage",
107+
"modelPackage",
108+
"overwriteHandler",
109+
"overwriteHandlerTest",
110+
"overwriteModel",
111+
"httpPort",
112+
"enableHttp",
113+
"httpsPort",
114+
"enableHttps",
115+
"enableRegistry",
116+
"eclipseIDE",
117+
"supportDb",
118+
"supportH2ForTest",
119+
"supportClient",
120+
"dockerOrganization"
121+
]
122+
},
123+
"form": [
124+
"name",
125+
"version",
126+
"groupId",
127+
"artifactId",
128+
"rootPackage",
129+
"handlerPackage",
130+
"modelPackage",
131+
"overwriteHandler",
132+
"overwriteHandlerTest",
133+
"overwriteModel",
134+
"httpPort",
135+
"enableHttp",
136+
"httpsPort",
137+
"enableHttps",
138+
"enableRegistry",
139+
"eclipseIDE",
140+
"supportDb",
141+
"supportH2ForTest",
142+
"supportClient",
143+
"dockerOrganization"
144+
]
145+
}

lib/Array.js

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -37,23 +37,21 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
3737

3838
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3939

40-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
40+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
4141

42-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
42+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4343

44-
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
44+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4545

46-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
46+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
4747

48-
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
48+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
4949

50-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51-
52-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
50+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
5351

54-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
52+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
5553

56-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
54+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5755

5856
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
5957

@@ -63,6 +61,16 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
6361

6462
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
6563

64+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
65+
66+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
67+
68+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
69+
70+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
71+
72+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
73+
6674
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6775

6876
var styles = function styles(theme) {
@@ -89,11 +97,11 @@ var styles = function styles(theme) {
8997
};
9098
};
9199

92-
var ArrayComponent =
93-
/*#__PURE__*/
94-
function (_Component) {
100+
var ArrayComponent = /*#__PURE__*/function (_Component) {
95101
_inherits(ArrayComponent, _Component);
96102

103+
var _super = _createSuper(ArrayComponent);
104+
97105
_createClass(ArrayComponent, null, [{
98106
key: "assignItemId",
99107
value: function assignItemId(item) {
@@ -125,7 +133,7 @@ function (_Component) {
125133

126134
_classCallCheck(this, ArrayComponent);
127135

128-
_this = _possibleConstructorReturn(this, _getPrototypeOf(ArrayComponent).call(this, _props));
136+
_this = _super.call(this, _props);
129137

130138
_defineProperty(_assertThisInitialized(_this), "SEQUENCE", 1);
131139

@@ -200,14 +208,14 @@ function (_Component) {
200208
classes = _this$props2.classes;
201209

202210
var AddButton = form.AddButton || function (props) {
203-
return _react["default"].createElement(_Button["default"], _extends({
211+
return /*#__PURE__*/_react["default"].createElement(_Button["default"], _extends({
204212
className: classes.addButton,
205213
variant: "contained",
206214
color: "primary"
207215
}, props));
208216
};
209217

210-
return _react["default"].createElement(AddButton, {
218+
return /*#__PURE__*/_react["default"].createElement(AddButton, {
211219
onClick: _this.onAppend
212220
}, form.add || "Add");
213221
});
@@ -258,15 +266,15 @@ function (_Component) {
258266
arrayIndex: i
259267
});
260268
});
261-
arrays.push(_react["default"].createElement(_Card["default"], {
269+
arrays.push( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
262270
className: classes.arrayItem,
263271
key: item && item[ArrayComponent.ITEM_ID] || i
264-
}, _react["default"].createElement("div", {
272+
}, /*#__PURE__*/_react["default"].createElement("div", {
265273
className: classes.elementsContainer
266-
}, forms), _react["default"].createElement(_IconButton["default"], {
274+
}, forms), /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
267275
onClick: _this2.onDelete(i),
268276
className: classes.deleteItemButton
269-
}, _react["default"].createElement(_Close["default"], {
277+
}, /*#__PURE__*/_react["default"].createElement(_Close["default"], {
270278
fontSize: "small"
271279
}))));
272280
};
@@ -275,16 +283,16 @@ function (_Component) {
275283
_loop(i);
276284
}
277285

278-
return _react["default"].createElement("div", {
286+
return /*#__PURE__*/_react["default"].createElement("div", {
279287
className: classes.root
280-
}, _react["default"].createElement("div", {
288+
}, /*#__PURE__*/_react["default"].createElement("div", {
281289
style: {
282290
display: "flex"
283291
}
284-
}, _react["default"].createElement(_FormLabel["default"], {
292+
}, /*#__PURE__*/_react["default"].createElement(_FormLabel["default"], {
285293
required: form.required,
286294
className: classes.title
287-
}, form.title && getLocalizedString(form.title)), this.getAddButton()), _react["default"].createElement("div", null, arrays));
295+
}, form.title && getLocalizedString(form.title)), this.getAddButton()), /*#__PURE__*/_react["default"].createElement("div", null, arrays));
288296
}
289297
}], [{
290298
key: "getDerivedStateFromProps",

lib/Checkbox.js

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ exports["default"] = void 0;
77

88
var _react = _interopRequireDefault(require("react"));
99

10+
var _propTypes = _interopRequireDefault(require("prop-types"));
11+
1012
var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
1113

1214
var _FormGroup = _interopRequireDefault(require("@material-ui/core/FormGroup"));
@@ -19,24 +21,38 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
1921

2022
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2123

22-
var FormCheckbox = function FormCheckbox(_ref) {
23-
var form = _ref.form,
24-
value = _ref.value,
25-
getLocalizedString = _ref.localization.getLocalizedString,
26-
onChangeValidate = _ref.onChangeValidate;
27-
return _react["default"].createElement(_FormGroup["default"], {
24+
function FormCheckbox(props) {
25+
var model = props.model,
26+
form = props.form,
27+
value = props.value,
28+
setDefault = props.setDefault,
29+
getLocalizedString = props.localization.getLocalizedString,
30+
onChangeValidate = props.onChangeValidate;
31+
var key = form.key;
32+
setDefault(key, model, form, value);
33+
return /*#__PURE__*/_react["default"].createElement(_FormGroup["default"], {
2834
row: true
29-
}, _react["default"].createElement(_FormControlLabel["default"], _extends({
35+
}, /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], _extends({
3036
className: form.className,
3137
label: form.title && getLocalizedString(form.title),
32-
control: _react["default"].createElement(_Checkbox["default"], {
38+
control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
3339
name: form.key.slice(-1)[0],
3440
value: form.key.slice(-1)[0],
3541
checked: value || false,
3642
disabled: form.readonly,
3743
onChange: onChangeValidate
3844
})
3945
}, form.otherProps)));
46+
}
47+
48+
FormCheckbox.propTypes = {
49+
model: _propTypes["default"].objectOf(_propTypes["default"].object).isRequired,
50+
form: _propTypes["default"].objectOf(_propTypes["default"].object).isRequired,
51+
setDefault: _propTypes["default"].func.isRequired,
52+
value: _propTypes["default"].bool.isRequired,
53+
localization: _propTypes["default"].objectOf(_propTypes["default"].object).isRequired,
54+
getLocalizedString: _propTypes["default"].func.isRequired,
55+
onChangeValidate: _propTypes["default"].func.isRequired
4056
};
4157

4258
var _default = (0, _ComposedComponent["default"])(FormCheckbox);

0 commit comments

Comments
 (0)