1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.Form = undefined;
|
7 |
|
8 | var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
9 |
|
10 | var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
11 |
|
12 | var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
|
13 |
|
14 | var _defineProperty3 = _interopRequireDefault(_defineProperty2);
|
15 |
|
16 | var _extends4 = require('babel-runtime/helpers/extends');
|
17 |
|
18 | var _extends5 = _interopRequireDefault(_extends4);
|
19 |
|
20 | var _keys = require('babel-runtime/core-js/object/keys');
|
21 |
|
22 | var _keys2 = _interopRequireDefault(_keys);
|
23 |
|
24 | var _react = require('react');
|
25 |
|
26 | var _react2 = _interopRequireDefault(_react);
|
27 |
|
28 | var _Checkbox = require('./Checkbox');
|
29 |
|
30 | var _Checkbox2 = _interopRequireDefault(_Checkbox);
|
31 |
|
32 | var _helperFunctions = require('./helperFunctions');
|
33 |
|
34 | var _recompose = require('recompose');
|
35 |
|
36 | var _Button = require('./Button');
|
37 |
|
38 | var _Button2 = _interopRequireDefault(_Button);
|
39 |
|
40 | var _SelectOne = require('./SelectOne');
|
41 |
|
42 | var _SelectOne2 = _interopRequireDefault(_SelectOne);
|
43 |
|
44 | var _SelectMany = require('./SelectMany');
|
45 |
|
46 | var _SelectMany2 = _interopRequireDefault(_SelectMany);
|
47 |
|
48 | var _ = require('.');
|
49 |
|
50 | var _StyledForm = require('./StyledForm');
|
51 |
|
52 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
53 |
|
54 | var signValueLabelMaps = [{
|
55 | value: -1,
|
56 | label: '<'
|
57 | }, {
|
58 | value: 0,
|
59 | label: '='
|
60 | }, {
|
61 | value: 1,
|
62 | label: '>'
|
63 | }];
|
64 |
|
65 | var sumOf = function sumOf(arrayOfNumbers) {
|
66 | return arrayOfNumbers.reduce(function (acc, v) {
|
67 | acc = acc + v;
|
68 | return acc;
|
69 | });
|
70 | };
|
71 |
|
72 | var Form = function Form(props) {
|
73 | var _props$className = props.className,
|
74 | className = _props$className === undefined ? 'form' : _props$className,
|
75 | style = props.style,
|
76 | values = props.values,
|
77 | touched = props.touched,
|
78 | errors = props.errors,
|
79 | children = props.children,
|
80 | handleChange = props.handleChange,
|
81 | handleSubmit = props.handleSubmit,
|
82 | setFieldValue = props.setFieldValue,
|
83 | setFieldTouched = props.setFieldTouched,
|
84 | isSubmitting = props.isSubmitting;
|
85 |
|
86 |
|
87 | var getClassName = function getClassName(primary, secondary) {
|
88 | return (0, _helperFunctions.advancedMulti)({
|
89 | unflattenedBase: ['form', className],
|
90 | suffixes: ['__' + primary, '__' + secondary + '__' + primary]
|
91 | });
|
92 | };
|
93 |
|
94 | var renderError = function renderError(type) {
|
95 | return errors && errors[type] && touched && touched[type] && _react2.default.createElement(
|
96 | _StyledForm.ERROR,
|
97 | {
|
98 | className: className ? 'form__error ' + className + '__error' : 'form__error'
|
99 | },
|
100 | errors[type]
|
101 | );
|
102 | };
|
103 |
|
104 | var renderTextareaInputSocket = function renderTextareaInputSocket(_ref) {
|
105 | var type = _ref.type,
|
106 | label = _ref.label,
|
107 | _ref$required = _ref.required,
|
108 | required = _ref$required === undefined ? true : _ref$required;
|
109 |
|
110 | var getLocalClassName = function getLocalClassName(primary) {
|
111 | return getClassName(primary, 'textarea');
|
112 | };
|
113 | var SOCKET = _StyledForm.TEXTAREA.SOCKET,
|
114 | LABEL = _StyledForm.TEXTAREA.LABEL,
|
115 | INPUT = _StyledForm.TEXTAREA.INPUT;
|
116 |
|
117 | var onChange = function onChange(e) {
|
118 | return setFieldValue(type, e.target.value);
|
119 | };
|
120 | return _react2.default.createElement(
|
121 | SOCKET,
|
122 | {
|
123 | className: getLocalClassName('socket')
|
124 | },
|
125 | _react2.default.createElement(
|
126 | _react.Fragment,
|
127 | null,
|
128 | _react2.default.createElement(
|
129 | LABEL,
|
130 | {
|
131 | className: getLocalClassName('label')
|
132 | },
|
133 | (0, _helperFunctions.capitalizeEveryWord)(label)
|
134 | ),
|
135 | _react2.default.createElement(INPUT, {
|
136 | className: getLocalClassName('input'),
|
137 | 'data-testid': type.toLowerCase() + '-input',
|
138 | id: type,
|
139 | required: required,
|
140 | value: values[type],
|
141 | onChange: onChange
|
142 | }),
|
143 | errors[type] && touched[type] && _react2.default.createElement(
|
144 | _StyledForm.ERROR,
|
145 | null,
|
146 | errors[type]
|
147 | )
|
148 | )
|
149 | );
|
150 | };
|
151 |
|
152 | var renderSelectManyWithAdvancedCompositionSocket = function renderSelectManyWithAdvancedCompositionSocket(_ref2) {
|
153 | var _ref2$isSigned = _ref2.isSigned,
|
154 | isSigned = _ref2$isSigned === undefined ? true : _ref2$isSigned,
|
155 | _ref2$isVertical = _ref2.isVertical,
|
156 | isVertical = _ref2$isVertical === undefined ? false : _ref2$isVertical,
|
157 | type = _ref2.type,
|
158 | label = _ref2.label,
|
159 | optionLabels = _ref2.optionLabels,
|
160 | renderTrigger = _ref2.renderTrigger;
|
161 | var OPTIONS = _StyledForm.COMPOSITION.OPTIONS,
|
162 | CURRENT_OPTION = _StyledForm.COMPOSITION.CURRENT_OPTION,
|
163 | RANGE_INPUT = _StyledForm.COMPOSITION.RANGE_INPUT,
|
164 | NUMBER_INPUT = _StyledForm.COMPOSITION.NUMBER_INPUT,
|
165 | HEAD = _StyledForm.COMPOSITION.HEAD,
|
166 | LABEL = _StyledForm.COMPOSITION.LABEL,
|
167 | SOCKET = _StyledForm.COMPOSITION.SOCKET;
|
168 |
|
169 | var getLocalClassName = function getLocalClassName(primary) {
|
170 | return getClassName(primary, 'composition');
|
171 | };
|
172 |
|
173 | var currentOptions = values[type] ? (0, _keys2.default)(values[type]).map(function (compositionID) {
|
174 | var currentOptionLabelMap = optionLabels.find(function (optionLabel) {
|
175 | return optionLabel.value === compositionID;
|
176 | });
|
177 | if (!currentOptionLabelMap) {
|
178 | throw new Error('optionLabels prop lacks one or more of the form values');
|
179 | }
|
180 | return {
|
181 | value: compositionID,
|
182 | label: currentOptionLabelMap.label
|
183 | };
|
184 | }) : [];
|
185 | var getSharedInputProps = function getSharedInputProps(_ref3) {
|
186 | var currentOption = _ref3.currentOption;
|
187 |
|
188 | var id = currentOption.value;
|
189 | var value = values[type][id];
|
190 | return {
|
191 | onClick: function onClick(e) {
|
192 | e.stopPropagation();
|
193 | e.nativeEvent.stopImmediatePropagation();
|
194 | },
|
195 | id: id,
|
196 | value: value ? value[0] : 0,
|
197 | onChange: function onChange(v) {
|
198 | var integerValue = parseInt(v.target.value, 10);
|
199 | var integerSign = value ? value[1] : 0;
|
200 | setFieldValue(type, (0, _extends5.default)({}, values[type], (0, _defineProperty3.default)({}, id, [integerValue, integerSign])));
|
201 | }
|
202 | };
|
203 | };
|
204 | var renderSignDropdown = function renderSignDropdown(_ref4) {
|
205 | var option = _ref4.option;
|
206 |
|
207 |
|
208 | var id = option.value;
|
209 | var value = values[type][id];
|
210 | return value && _react2.default.createElement(
|
211 | _SelectOne2.default,
|
212 | {
|
213 | renderTrigger: function renderTrigger(_ref5) {
|
214 | var currentOption = _ref5.currentOption,
|
215 | isOn = _ref5.isOn,
|
216 | getTriggerProps = _ref5.getTriggerProps;
|
217 | return _react2.default.createElement(
|
218 | _Button2.default,
|
219 | (0, _extends5.default)({ isOn: isOn }, getTriggerProps()),
|
220 | currentOption ? currentOption.label : optionLabels[0].label
|
221 | );
|
222 | },
|
223 | currentOption: signValueLabelMaps.find(function (signValueLabelMap) {
|
224 | return signValueLabelMap.value === value[1];
|
225 | }),
|
226 | onChange: function onChange(signValueLabelMap) {
|
227 | setFieldValue(type, (0, _extends5.default)({}, values[type], (0, _defineProperty3.default)({}, id, [value[0], signValueLabelMap.value])));
|
228 | },
|
229 | options: signValueLabelMaps
|
230 | },
|
231 | signValueLabelMaps
|
232 | );
|
233 | };
|
234 |
|
235 | var renderCurrentOptionLabel = function renderCurrentOptionLabel(_ref6) {
|
236 | var currentOption = _ref6.currentOption;
|
237 |
|
238 | return _react2.default.createElement(
|
239 | LABEL,
|
240 | {
|
241 | isVertical: isVertical,
|
242 | className: (0, _helperFunctions.advancedMulti)({
|
243 | unflattenedBases: ['form', '' + className],
|
244 | suffixes: ['__composition__label'],
|
245 | flipVars: [[isVertical, 'vertical', 'horizontal']]
|
246 | })
|
247 | },
|
248 | currentOption.label
|
249 | );
|
250 | };
|
251 | var renderCurrentOptionInputs = function renderCurrentOptionInputs(_ref7) {
|
252 | var currentOption = _ref7.currentOption;
|
253 |
|
254 | var renderRangeInput = function renderRangeInput() {
|
255 | return _react2.default.createElement(RANGE_INPUT, (0, _extends5.default)({}, getSharedInputProps({ currentOption: currentOption }), {
|
256 | className: (0, _helperFunctions.advancedMulti)({
|
257 | unflattenedBases: ['form', '' + className],
|
258 | suffixes: ['__input', '__input__range'],
|
259 | flipVars: [[isVertical, 'vertical', 'horizontal']]
|
260 | }),
|
261 | isVertical: isVertical
|
262 | }));
|
263 | };
|
264 | var renderNumberInput = function renderNumberInput() {
|
265 | return _react2.default.createElement(NUMBER_INPUT, (0, _extends5.default)({}, getSharedInputProps({ currentOption: currentOption }), {
|
266 | isVertical: isVertical,
|
267 | className: className + '__composition__input ' + className + '__composition__input__number'
|
268 | }));
|
269 | };
|
270 | var renderEmptyDiv = function renderEmptyDiv(_ref8) {
|
271 | var size = _ref8.size;
|
272 | return _react2.default.createElement('div', { style: { height: size, width: size } });
|
273 | };
|
274 | return _react2.default.createElement(
|
275 | _react.Fragment,
|
276 | null,
|
277 | renderRangeInput(),
|
278 | isSigned ? renderSignDropdown({ option: currentOption }) : renderEmptyDiv({ size: '3rem' }),
|
279 | renderNumberInput()
|
280 | );
|
281 | };
|
282 |
|
283 | var renderHead = function renderHead() {
|
284 | return _react2.default.createElement(
|
285 | HEAD,
|
286 | { className: className + '__label ' + className + '__composition__label' },
|
287 | (0, _helperFunctions.capitalizeEveryWord)(label)
|
288 | );
|
289 | };
|
290 | var handleOnChange = function handleOnChange(value) {
|
291 | console.log('onChange', value);
|
292 | setFieldValue(type, value.reduce(function (acc, v) {
|
293 | if ((0, _keys2.default)(values[type]).length === 0) {
|
294 | acc[v.value] = [100, -1];
|
295 | } else if (values[type][v.value]) {
|
296 | acc[v.value] = values[type][v.value];
|
297 | } else {
|
298 | acc[v.value] = [0, 1];
|
299 | }
|
300 | return acc;
|
301 | }, {}));
|
302 | };
|
303 | var handleRenderCurrentOption = function handleRenderCurrentOption(currentOption) {
|
304 | return _react2.default.createElement(
|
305 | CURRENT_OPTION,
|
306 | {
|
307 | isVertical: isVertical,
|
308 | className: (0, _helperFunctions.flippyClass)(isVertical, className + '__composition__currentoption', 'vertical', 'horizontal')
|
309 | },
|
310 | renderCurrentOptionLabel({
|
311 | currentOption: currentOption
|
312 | }),
|
313 | renderCurrentOptionInputs({
|
314 | currentOption: currentOption
|
315 | })
|
316 | );
|
317 | };
|
318 | return _react2.default.createElement(
|
319 | SOCKET,
|
320 | { className: className + '__socket ' + className + '__composition__socket' },
|
321 | label && renderHead(),
|
322 | _react2.default.createElement(
|
323 | _SelectMany2.default,
|
324 | {
|
325 | initialOptions: currentOptions,
|
326 | options: optionLabels,
|
327 | renderTrigger: renderTrigger,
|
328 | onChange: handleOnChange,
|
329 | transitionType: ['dropdown', 'fade'],
|
330 | pivotFrom: 'DOWNRIGHT',
|
331 | renderCurrentOption: handleRenderCurrentOption
|
332 | },
|
333 | function (_ref9) {
|
334 | var getChildProps = _ref9.getChildProps,
|
335 | getChildrenProps = _ref9.getChildrenProps,
|
336 | currentOptions = _ref9.currentOptions;
|
337 | return _react2.default.createElement(
|
338 | OPTIONS,
|
339 | (0, _extends5.default)({}, getChildrenProps({
|
340 | className: className + '__composition__options'
|
341 | })),
|
342 | optionLabels.map(function (optionLabel) {
|
343 | return _react2.default.createElement(
|
344 | _Button2.default,
|
345 | (0, _extends5.default)({
|
346 | colors: 'neutral',
|
347 | isOn: currentOptions.map(function (currentOption) {
|
348 | return currentOption.value;
|
349 | }).includes(optionLabel.value)
|
350 | }, getChildProps({
|
351 | option: optionLabel
|
352 | }), {
|
353 | key: optionLabel.value
|
354 | }),
|
355 | optionLabel.label
|
356 | );
|
357 | })
|
358 | );
|
359 | }
|
360 | )
|
361 | );
|
362 | };
|
363 |
|
364 | var renderSelectManySocket = function renderSelectManySocket(_ref10) {
|
365 | var type = _ref10.type,
|
366 | label = _ref10.label,
|
367 | options = _ref10.options,
|
368 | renderTrigger = _ref10.renderTrigger;
|
369 | var SOCKET = _StyledForm.SELECTMANY.SOCKET,
|
370 | LABEL = _StyledForm.SELECTMANY.LABEL,
|
371 | DROPDOWN = _StyledForm.SELECTMANY.DROPDOWN;
|
372 |
|
373 | var getLocalClassName = function getLocalClassName(primary) {
|
374 | return getClassName(primary, 'selectmany');
|
375 | };
|
376 | return _react2.default.createElement(
|
377 | SOCKET,
|
378 | { className: getLocalClassName('socket') },
|
379 | _react2.default.createElement(
|
380 | LABEL,
|
381 | { className: getLocalClassName('label') },
|
382 | (0, _helperFunctions.capitalizeEveryWord)(label)
|
383 | ),
|
384 | _react2.default.createElement(
|
385 | _SelectMany2.default,
|
386 | {
|
387 | currentOptions: values[type],
|
388 | options: options,
|
389 | renderTrigger: renderTrigger,
|
390 | onChange: function onChange(value) {
|
391 | setFieldValue(type, value);
|
392 | },
|
393 | transitionType: ['dropdown', 'fade'],
|
394 | pivotFrom: 'DOWNRIGHT'
|
395 | },
|
396 | function (_ref11) {
|
397 | var getChildProps = _ref11.getChildProps,
|
398 | getChildrenProps = _ref11.getChildrenProps;
|
399 | return _react2.default.createElement(
|
400 | DROPDOWN,
|
401 | (0, _extends5.default)({}, getChildrenProps({
|
402 | className: className + '__dropdown',
|
403 | style: { width: '25.5rem' }
|
404 | })),
|
405 | options.map(function (option) {
|
406 | return _react2.default.createElement(
|
407 | _Button2.default,
|
408 | (0, _extends5.default)({}, getChildProps({
|
409 | option: { value: option.value, label: option.label }
|
410 | }), {
|
411 | key: option.value
|
412 | }),
|
413 | option.label
|
414 | );
|
415 | })
|
416 | );
|
417 | }
|
418 | )
|
419 | );
|
420 | };
|
421 |
|
422 | var renderSelectOneSocket = function renderSelectOneSocket(_ref12) {
|
423 | var type = _ref12.type,
|
424 | label = _ref12.label,
|
425 | options = _ref12.options;
|
426 | var SOCKET = _StyledForm.SELECTONE.SOCKET,
|
427 | LABEL = _StyledForm.SELECTONE.LABEL,
|
428 | DROPDOWN = _StyledForm.SELECTONE.DROPDOWN;
|
429 |
|
430 | var getLocalClassName = function getLocalClassName(primary) {
|
431 | return getClassName(primary, 'selectone');
|
432 | };
|
433 | return _react2.default.createElement(
|
434 | SOCKET,
|
435 | { className: getLocalClassName('socket') },
|
436 | _react2.default.createElement(
|
437 | LABEL,
|
438 | { className: getLocalClassName('label') },
|
439 | (0, _helperFunctions.capitalizeEveryWord)(label)
|
440 | ),
|
441 | _react2.default.createElement(
|
442 | _SelectOne2.default,
|
443 | {
|
444 | renderTrigger: function renderTrigger(_ref13) {
|
445 | var isOn = _ref13.isOn,
|
446 | currentOption = _ref13.currentOption,
|
447 | getTriggerProps = _ref13.getTriggerProps;
|
448 | return _react2.default.createElement(
|
449 | _Button2.default,
|
450 | (0, _extends5.default)({
|
451 | type: 'caretdown',
|
452 | isOn: isOn
|
453 | }, getTriggerProps({
|
454 | className: 'selectone__trigger',
|
455 | style: { border: '1px solid #ccc' }
|
456 | }), {
|
457 | colors: _.buttonStyles.monochrome
|
458 | }),
|
459 | currentOption ? currentOption.label : ''
|
460 | );
|
461 | },
|
462 | options: options,
|
463 | currentOption: values[type],
|
464 | onChange: function onChange(value) {
|
465 | setFieldValue(type, value);
|
466 | },
|
467 | transitionType: ['dropdown', 'fade'],
|
468 | pivotFrom: 'DOWNRIGHT'
|
469 | },
|
470 | function (_ref14) {
|
471 | var getChildProps = _ref14.getChildProps,
|
472 | getChildrenProps = _ref14.getChildrenProps,
|
473 | currentOption = _ref14.currentOption,
|
474 | toggleIsOn = _ref14.toggleIsOn;
|
475 | return _react2.default.createElement(
|
476 | DROPDOWN,
|
477 | (0, _extends5.default)({}, getChildrenProps({ style: { width: '25.5rem' } })),
|
478 | options.map(function (option) {
|
479 | return _react2.default.createElement(
|
480 | _Button2.default,
|
481 | (0, _extends5.default)({}, getChildProps({
|
482 | option: { value: option.value, label: option.label },
|
483 | onClick: toggleIsOn
|
484 | }), {
|
485 | isOn: currentOption.value === option.value,
|
486 | key: option.value
|
487 | }),
|
488 | option.label
|
489 | );
|
490 | })
|
491 | );
|
492 | }
|
493 | )
|
494 | );
|
495 | };
|
496 |
|
497 | var renderSubmitButton = function renderSubmitButton() {
|
498 | var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
499 |
|
500 | var label = _ref15.label,
|
501 | props = (0, _objectWithoutProperties3.default)(_ref15, ['label']);
|
502 | return _react2.default.createElement(
|
503 | _Button2.default,
|
504 | (0, _extends5.default)({
|
505 | invert: true,
|
506 | colors: 'surfing',
|
507 | onClick: handleSubmit,
|
508 | dataTestId: 'submit',
|
509 | disabled: isSubmitting,
|
510 | style: { width: '24rem', borderRadius: '.25rem' }
|
511 | }, props),
|
512 | label
|
513 | );
|
514 | };
|
515 |
|
516 | var renderTextInputSocket = function renderTextInputSocket(_ref16) {
|
517 | var type = _ref16.type,
|
518 | label = _ref16.label,
|
519 | sublabel = _ref16.sublabel,
|
520 | _ref16$options = _ref16.options,
|
521 | options = _ref16$options === undefined ? { required: true, autoFocus: false, autoComplete: '' } : _ref16$options,
|
522 | props = (0, _objectWithoutProperties3.default)(_ref16, ['type', 'label', 'sublabel', 'options']);
|
523 | var SOCKET = _StyledForm.TEXTINPUT.SOCKET,
|
524 | INPUT = _StyledForm.TEXTINPUT.INPUT,
|
525 | LABEL = _StyledForm.TEXTINPUT.LABEL,
|
526 | SUBLABEL = _StyledForm.TEXTINPUT.SUBLABEL,
|
527 | BAR = _StyledForm.TEXTINPUT.BAR;
|
528 |
|
529 | var getLocalClassName = function getLocalClassName(primary) {
|
530 | return getClassName(primary, 'textinput');
|
531 | };
|
532 | return _react2.default.createElement(
|
533 | SOCKET,
|
534 | (0, _extends5.default)({ className: getLocalClassName('socket') }, props),
|
535 | _react2.default.createElement(INPUT, {
|
536 | id: type,
|
537 | className: className + '__socket__input ' + className + '__socket__input__' + type.toLowerCase(),
|
538 | type: 'text',
|
539 | required: options.required ? options.required : true,
|
540 | autoFocus: options.autoFocus ? options.autoFocus : false,
|
541 | value: values[type],
|
542 | autoComplete: options.autoComplete ? options.autoComplete : '',
|
543 | onChange: handleChange,
|
544 | onBlur: function onBlur() {
|
545 | return setFieldTouched(type);
|
546 | }
|
547 | }),
|
548 | _react2.default.createElement(
|
549 | LABEL,
|
550 | { className: getLocalClassName('label') },
|
551 | (0, _helperFunctions.capitalizeEveryWord)(label)
|
552 | ),
|
553 | _react2.default.createElement(BAR, { className: getLocalClassName('bar') }),
|
554 | sublabel && _react2.default.createElement(
|
555 | SUBLABEL,
|
556 | { className: getLocalClassName('sublabel') },
|
557 | sublabel
|
558 | ),
|
559 | renderError(type)
|
560 | );
|
561 | };
|
562 |
|
563 | var renderGroup = function renderGroup(_ref17) {
|
564 | var label = _ref17.label,
|
565 | renderChildren = _ref17.renderChildren;
|
566 | var SOCKET = _StyledForm.GROUP.SOCKET,
|
567 | LABEL = _StyledForm.GROUP.LABEL,
|
568 | CHILDREN = _StyledForm.GROUP.CHILDREN;
|
569 |
|
570 | var getLocalClassName = function getLocalClassName(primary) {
|
571 | return getClassName(primary, 'group');
|
572 | };
|
573 | return _react2.default.createElement(
|
574 | SOCKET,
|
575 | { className: getLocalClassName('socket') },
|
576 | _react2.default.createElement(
|
577 | LABEL,
|
578 | { className: getLocalClassName('label') },
|
579 | label
|
580 | ),
|
581 | _react2.default.createElement(
|
582 | CHILDREN,
|
583 | { className: getLocalClassName('children') },
|
584 | renderChildren()
|
585 | )
|
586 | );
|
587 | };
|
588 |
|
589 | var renderCheckboxSocket = function renderCheckboxSocket(_ref18) {
|
590 | var label = _ref18.label,
|
591 | type = _ref18.type;
|
592 | var SOCKET = _StyledForm.CHECKBOX.SOCKET,
|
593 | LABEL = _StyledForm.CHECKBOX.LABEL,
|
594 | INPUT = _StyledForm.CHECKBOX.INPUT;
|
595 |
|
596 | var getLocalClassName = function getLocalClassName(primary) {
|
597 | return getClassName(primary, 'checkbox');
|
598 | };
|
599 | return _react2.default.createElement(
|
600 | SOCKET,
|
601 | { className: getLocalClassName('socket') },
|
602 | _react2.default.createElement(
|
603 | LABEL,
|
604 | { className: getLocalClassName('label') },
|
605 | label
|
606 | ),
|
607 | _react2.default.createElement(INPUT, {
|
608 | className: getLocalClassName('input'),
|
609 | id: type,
|
610 | checked: values[type],
|
611 | onChange: handleChange
|
612 | })
|
613 | );
|
614 | };
|
615 |
|
616 | return _react2.default.createElement(
|
617 | _StyledForm.CONTAINER,
|
618 | {
|
619 | onSubmit: handleSubmit,
|
620 | className: className ? className : 'form',
|
621 | style: style
|
622 | },
|
623 | children({
|
624 | renderTextInputSocket: renderTextInputSocket,
|
625 | renderTextareaInputSocket: renderTextareaInputSocket,
|
626 | renderSelectManyWithAdvancedCompositionSocket: renderSelectManyWithAdvancedCompositionSocket,
|
627 | renderSelectOneSocket: renderSelectOneSocket,
|
628 | renderSelectManySocket: renderSelectManySocket,
|
629 | renderCheckboxSocket: renderCheckboxSocket,
|
630 | renderGroup: renderGroup,
|
631 | renderSubmitButton: renderSubmitButton
|
632 | }),
|
633 | _react2.default.createElement('input', { type: 'submit', style: { visibility: 'hidden', height: 0, width: 0 } })
|
634 | );
|
635 | };
|
636 |
|
637 | exports.Form = Form;
|
638 | Form.defaultProps = {
|
639 | handleSubmit: function handleSubmit() {
|
640 | return console.log('Form: handleSubmit');
|
641 | },
|
642 | style: {}
|
643 | };
|
644 |
|
645 | var enhance = (0, _recompose.compose)();
|
646 |
|
647 |
|
648 | exports.default = enhance(Form); |
\ | No newline at end of file |