@pie-element/explicit-constructed-response 4.6.1-beta.1 → 4.6.1-beta.4

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.
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.AlternateResponses = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireDefault(require("react"));
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
19
+ var _map = _interopRequireDefault(require("lodash/map"));
20
+ var _reduce = _interopRequireDefault(require("lodash/reduce"));
21
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
22
+ var _alternateSection = _interopRequireDefault(require("./alternateSection"));
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
26
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
27
+ var AlternateResponses = /*#__PURE__*/function (_React$Component) {
28
+ (0, _inherits2["default"])(AlternateResponses, _React$Component);
29
+ var _super = _createSuper(AlternateResponses);
30
+ function AlternateResponses() {
31
+ var _this;
32
+ (0, _classCallCheck2["default"])(this, AlternateResponses);
33
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34
+ args[_key] = arguments[_key];
35
+ }
36
+ _this = _super.call.apply(_super, [this].concat(args));
37
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
38
+ maxLengthPerChoice: (0, _cloneDeep["default"])(_this.props.model.maxLengthPerChoice)
39
+ });
40
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateChoicesIfNeeded", function (props) {
41
+ if (!_this.state.choices || !(0, _isEqual["default"])(_this.state.choices, props.model.choices) || !(0, _isEqual["default"])(props.model.choices, _this.props.model.choices) || _this.state.values && Object.keys(_this.state.values).length !== Object.keys(_this.props.model.choices).length || props.maxLengthPerChoiceEnabled !== _this.props.maxLengthPerChoiceEnabled) {
42
+ var _props$model = props.model,
43
+ choices = _props$model.choices,
44
+ maxLengthPerChoice = _props$model.maxLengthPerChoice;
45
+ var selectedValues = (0, _reduce["default"])(choices, function (obj, c, key) {
46
+ // if maxLengthPerChoiceEnabled is true, we display all the choices
47
+ if (c && (props.maxLengthPerChoiceEnabled || c.length > 1)) {
48
+ obj[key] = c[0];
49
+ }
50
+ return obj;
51
+ }, {});
52
+ _this.setState({
53
+ choices: props.model.choices,
54
+ values: selectedValues,
55
+ maxLengthPerChoice: (0, _cloneDeep["default"])(maxLengthPerChoice)
56
+ });
57
+ }
58
+ });
59
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getRemainingChoices", function (valueKey) {
60
+ var choices = _this.state.choices;
61
+ return (0, _reduce["default"])(choices, function (arr, c, key) {
62
+ if (c && c.length === 1 && !valueKey) {
63
+ arr.push({
64
+ label: c[0].label,
65
+ value: key
66
+ });
67
+ }
68
+ return arr;
69
+ }, []);
70
+ });
71
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChoiceChanged", function (choice, key) {
72
+ var onChange = _this.props.onChange;
73
+ var choices = _this.state.choices;
74
+ var sectionChoices = choices[key] || [];
75
+ var isNew = !sectionChoices.find(function (c) {
76
+ return c.value === choice.value;
77
+ });
78
+ var newChoices = sectionChoices.reduce(function (arr, c) {
79
+ var newVal = c.value === choice.value ? choice : c;
80
+ arr.push(newVal);
81
+ return arr;
82
+ }, []);
83
+ if (isNew) {
84
+ newChoices.push(choice);
85
+ }
86
+ onChange(_objectSpread(_objectSpread({}, choices), {}, (0, _defineProperty2["default"])({}, key, newChoices)));
87
+ });
88
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChoiceRemoved", function (value, section) {
89
+ var onChange = _this.props.onChange;
90
+ var choices = _this.state.choices;
91
+ var sectionChoices = choices[section] || [];
92
+ var newChoices = sectionChoices.reduce(function (arr, c) {
93
+ if (c.value === value) {
94
+ return arr;
95
+ }
96
+ arr.push(c);
97
+ return arr;
98
+ }, []);
99
+ onChange(_objectSpread(_objectSpread({}, choices), {}, (0, _defineProperty2["default"])({}, section, newChoices)));
100
+ });
101
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onSectionSelect", function (choice, key) {
102
+ var onChange = _this.props.onChange;
103
+ var _this$state = _this.state,
104
+ choices = _this$state.choices,
105
+ values = _this$state.values;
106
+ if (choices[key] && choices[key].length > 1) {
107
+ if (!choice) {
108
+ onChange(_objectSpread(_objectSpread({}, choices), {}, (0, _defineProperty2["default"])({}, key, [choices[key][0]])));
109
+ }
110
+ } else {
111
+ _this.setState({
112
+ choices: _objectSpread(_objectSpread({}, choices), {}, (0, _defineProperty2["default"])({}, key, [].concat((0, _toConsumableArray2["default"])(choices[key]), [{
113
+ label: '',
114
+ value: '1'
115
+ }]))),
116
+ values: _objectSpread(_objectSpread({}, values), {}, (0, _defineProperty2["default"])({}, key, choices[key][0]))
117
+ });
118
+ }
119
+ });
120
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLengthChanged", function (value, key) {
121
+ var _this$props = _this.props,
122
+ model = _this$props.model,
123
+ onLengthChange = _this$props.onLengthChange;
124
+ var maxLengthPerChoice = model.maxLengthPerChoice;
125
+ maxLengthPerChoice[key] = value;
126
+ onLengthChange(maxLengthPerChoice);
127
+ });
128
+ return _this;
129
+ }
130
+ (0, _createClass2["default"])(AlternateResponses, [{
131
+ key: "UNSAFE_componentWillReceiveProps",
132
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
133
+ this.updateChoicesIfNeeded(nextProps);
134
+ }
135
+ }, {
136
+ key: "componentDidMount",
137
+ value: function componentDidMount() {
138
+ this.updateChoicesIfNeeded(this.props);
139
+ }
140
+ }, {
141
+ key: "render",
142
+ value: function render() {
143
+ var _this2 = this;
144
+ var choices = this.state.choices;
145
+ var _this$props2 = this.props,
146
+ _this$props2$model = _this$props2.model,
147
+ maxLengthPerChoice = _this$props2$model.maxLengthPerChoice,
148
+ maxLengthPerChoiceEnabled = _this$props2$model.maxLengthPerChoiceEnabled,
149
+ spellCheck = _this$props2.spellCheck,
150
+ choicesErrors = _this$props2.choicesErrors;
151
+ return /*#__PURE__*/_react["default"].createElement("div", null, (0, _map["default"])(choices, function (c, key) {
152
+ // if maxLengthPerChoiceEnabled is true, we display all the choices
153
+ if (c && (maxLengthPerChoiceEnabled || c.length > 1)) {
154
+ var selected = _this2.state.values[key];
155
+ return /*#__PURE__*/_react["default"].createElement(_alternateSection["default"], {
156
+ key: key,
157
+ value: selected && selected.value,
158
+ errors: choicesErrors && choicesErrors[key],
159
+ onSelect: function onSelect(choice) {
160
+ return _this2.onSectionSelect(choice, key);
161
+ },
162
+ choiceChanged: function choiceChanged(choice) {
163
+ return _this2.onChoiceChanged(choice, key);
164
+ },
165
+ choiceRemoved: function choiceRemoved(value) {
166
+ return _this2.onChoiceRemoved(value, key);
167
+ },
168
+ lengthChanged: function lengthChanged(value) {
169
+ return _this2.onLengthChanged(value, key);
170
+ },
171
+ selectChoices: [selected],
172
+ choices: c,
173
+ maxLength: maxLengthPerChoice[key],
174
+ showMaxLength: maxLengthPerChoiceEnabled,
175
+ spellCheck: spellCheck
176
+ });
177
+ }
178
+ }), choices && Object.keys(this.state.values).length !== Object.keys(choices).length && /*#__PURE__*/_react["default"].createElement(_alternateSection["default"], {
179
+ value: "",
180
+ onSelect: function onSelect(choice) {
181
+ return _this2.onSectionSelect(choice, choice.value);
182
+ },
183
+ choiceChanged: function choiceChanged(choice) {
184
+ return _this2.onChoiceChanged(choice);
185
+ },
186
+ choiceRemoved: function choiceRemoved(value) {
187
+ return _this2.onChoiceRemoved(value);
188
+ },
189
+ selectChoices: this.getRemainingChoices(),
190
+ spellCheck: spellCheck
191
+ }));
192
+ }
193
+ }]);
194
+ return AlternateResponses;
195
+ }(_react["default"].Component);
196
+ exports.AlternateResponses = AlternateResponses;
197
+ (0, _defineProperty2["default"])(AlternateResponses, "propTypes", {
198
+ model: _propTypes["default"].object.isRequired,
199
+ onChange: _propTypes["default"].func.isRequired,
200
+ onLengthChange: _propTypes["default"].func.isRequired,
201
+ maxLengthPerChoiceEnabled: _propTypes["default"].bool.isRequired
202
+ });
203
+ var _default = AlternateResponses;
204
+ exports["default"] = _default;
205
+ //# sourceMappingURL=alternateResponses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alternateResponses.js","names":["_react","_interopRequireDefault","require","_propTypes","_isEqual","_map","_reduce","_cloneDeep","_alternateSection","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","AlternateResponses","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","maxLengthPerChoice","cloneDeep","props","model","state","choices","isEqual","values","maxLengthPerChoiceEnabled","_props$model","selectedValues","reduce","obj","c","setState","valueKey","arr","label","value","choice","onChange","sectionChoices","isNew","find","newChoices","newVal","section","_this$state","_toConsumableArray2","_this$props","onLengthChange","_createClass2","UNSAFE_componentWillReceiveProps","nextProps","updateChoicesIfNeeded","componentDidMount","render","_this2","_this$props2","_this$props2$model","spellCheck","choicesErrors","createElement","map","selected","errors","onSelect","onSectionSelect","choiceChanged","onChoiceChanged","choiceRemoved","onChoiceRemoved","lengthChanged","onLengthChanged","selectChoices","maxLength","showMaxLength","getRemainingChoices","React","Component","exports","PropTypes","isRequired","func","bool","_default"],"sources":["../src/alternateResponses.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash/isEqual';\nimport map from 'lodash/map';\nimport reduce from 'lodash/reduce';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport AlternateSection from './alternateSection';\n\nexport class AlternateResponses extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onLengthChange: PropTypes.func.isRequired,\n maxLengthPerChoiceEnabled: PropTypes.bool.isRequired,\n };\n\n state = { maxLengthPerChoice: cloneDeep(this.props.model.maxLengthPerChoice) };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateChoicesIfNeeded(nextProps);\n }\n\n componentDidMount() {\n this.updateChoicesIfNeeded(this.props);\n }\n\n updateChoicesIfNeeded = (props) => {\n if (\n !this.state.choices ||\n !isEqual(this.state.choices, props.model.choices) ||\n !isEqual(props.model.choices, this.props.model.choices) ||\n (this.state.values && Object.keys(this.state.values).length !== Object.keys(this.props.model.choices).length) ||\n props.maxLengthPerChoiceEnabled !== this.props.maxLengthPerChoiceEnabled\n ) {\n const { choices, maxLengthPerChoice } = props.model;\n\n const selectedValues = reduce(\n choices,\n (obj, c, key) => {\n // if maxLengthPerChoiceEnabled is true, we display all the choices\n if (c && (props.maxLengthPerChoiceEnabled || c.length > 1)) {\n obj[key] = c[0];\n }\n\n return obj;\n },\n {},\n );\n\n this.setState({\n choices: props.model.choices,\n values: selectedValues,\n maxLengthPerChoice: cloneDeep(maxLengthPerChoice),\n });\n }\n };\n\n getRemainingChoices = (valueKey) => {\n const { choices } = this.state;\n\n return reduce(\n choices,\n (arr, c, key) => {\n if (c && c.length === 1 && !valueKey) {\n arr.push({\n label: c[0].label,\n value: key,\n });\n }\n\n return arr;\n },\n [],\n );\n };\n\n onChoiceChanged = (choice, key) => {\n const { onChange } = this.props;\n const { choices } = this.state;\n const sectionChoices = choices[key] || [];\n\n const isNew = !sectionChoices.find((c) => c.value === choice.value);\n\n const newChoices = sectionChoices.reduce((arr, c) => {\n const newVal = c.value === choice.value ? choice : c;\n\n arr.push(newVal);\n\n return arr;\n }, []);\n\n if (isNew) {\n newChoices.push(choice);\n }\n\n onChange({\n ...choices,\n [key]: newChoices,\n });\n };\n\n onChoiceRemoved = (value, section) => {\n const { onChange } = this.props;\n const { choices } = this.state;\n const sectionChoices = choices[section] || [];\n\n const newChoices = sectionChoices.reduce((arr, c) => {\n if (c.value === value) {\n return arr;\n }\n\n arr.push(c);\n\n return arr;\n }, []);\n\n onChange({\n ...choices,\n [section]: newChoices,\n });\n };\n\n onSectionSelect = (choice, key) => {\n const { onChange } = this.props;\n const { choices, values } = this.state;\n\n if (choices[key] && choices[key].length > 1) {\n if (!choice) {\n onChange({\n ...choices,\n [key]: [choices[key][0]],\n });\n }\n } else {\n this.setState({\n choices: {\n ...choices,\n [key]: [\n ...choices[key],\n {\n label: '',\n value: '1',\n },\n ],\n },\n values: {\n ...values,\n [key]: choices[key][0],\n },\n });\n }\n };\n\n onLengthChanged = (value, key) => {\n const { model, onLengthChange } = this.props;\n const { maxLengthPerChoice } = model;\n\n maxLengthPerChoice[key] = value;\n onLengthChange(maxLengthPerChoice);\n };\n\n render() {\n const { choices } = this.state;\n const {\n model: { maxLengthPerChoice, maxLengthPerChoiceEnabled },\n spellCheck,\n choicesErrors,\n } = this.props;\n\n return (\n <div>\n {map(choices, (c, key) => {\n // if maxLengthPerChoiceEnabled is true, we display all the choices\n if (c && (maxLengthPerChoiceEnabled || c.length > 1)) {\n const selected = this.state.values[key];\n\n return (\n <AlternateSection\n key={key}\n value={selected && selected.value}\n errors={choicesErrors && choicesErrors[key]}\n onSelect={(choice) => this.onSectionSelect(choice, key)}\n choiceChanged={(choice) => this.onChoiceChanged(choice, key)}\n choiceRemoved={(value) => this.onChoiceRemoved(value, key)}\n lengthChanged={(value) => this.onLengthChanged(value, key)}\n selectChoices={[selected]}\n choices={c}\n maxLength={maxLengthPerChoice[key]}\n showMaxLength={maxLengthPerChoiceEnabled}\n spellCheck={spellCheck}\n />\n );\n }\n })}\n {choices && Object.keys(this.state.values).length !== Object.keys(choices).length && (\n <AlternateSection\n value=\"\"\n onSelect={(choice) => this.onSectionSelect(choice, choice.value)}\n choiceChanged={(choice) => this.onChoiceChanged(choice)}\n choiceRemoved={(value) => this.onChoiceRemoved(value)}\n selectChoices={this.getRemainingChoices()}\n spellCheck={spellCheck}\n />\n )}\n </div>\n );\n }\n}\n\nexport default AlternateResponses;\n"],"mappings":"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"}
@@ -0,0 +1,334 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.Choice = exports.AlternateSection = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireDefault(require("react"));
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
19
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
20
+ var _OutlinedInput = _interopRequireDefault(require("@material-ui/core/OutlinedInput"));
21
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
22
+ var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
23
+ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
24
+ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
25
+ var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
26
+ var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
27
+ var _styles = require("@material-ui/core/styles");
28
+ var _max = _interopRequireDefault(require("lodash/max"));
29
+ var _classnames = _interopRequireDefault(require("classnames"));
30
+ var _markupUtils = require("./markupUtils");
31
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
34
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
+ var styles = function styles() {
36
+ return {
37
+ altChoices: {
38
+ alignItems: 'flex-start',
39
+ flexDirection: 'column',
40
+ display: 'flex',
41
+ padding: '20px 0 0 0',
42
+ '& > *': {
43
+ marginBottom: '20px',
44
+ width: '100%'
45
+ }
46
+ },
47
+ choice: {
48
+ flex: '1',
49
+ marginRight: '20px'
50
+ },
51
+ deleteBtn: {
52
+ fill: 'gray'
53
+ },
54
+ selectContainer: {
55
+ alignItems: 'flex-end',
56
+ display: 'flex',
57
+ justifyContent: 'space-between',
58
+ width: '100%'
59
+ },
60
+ rightContainer: {
61
+ alignItems: 'center',
62
+ display: 'flex'
63
+ },
64
+ lengthField: {
65
+ width: '230px',
66
+ marginRight: '20px'
67
+ },
68
+ errorText: {
69
+ fontSize: '12px',
70
+ color: 'red',
71
+ paddingTop: '5px'
72
+ },
73
+ inputError: {
74
+ border: '2px solid red',
75
+ borderRadius: '6px'
76
+ }
77
+ };
78
+ };
79
+ var Choice = /*#__PURE__*/function (_React$Component) {
80
+ (0, _inherits2["default"])(Choice, _React$Component);
81
+ var _super = _createSuper(Choice);
82
+ function Choice() {
83
+ var _this;
84
+ (0, _classCallCheck2["default"])(this, Choice);
85
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
86
+ args[_key] = arguments[_key];
87
+ }
88
+ _this = _super.call.apply(_super, [this].concat(args));
89
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
90
+ value: _this.props.markup
91
+ });
92
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateText", (0, _debounce["default"])(_this.props.onChange, 300));
93
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (e) {
94
+ var value = e.target.value;
95
+ _this.setState({
96
+ value: value
97
+ });
98
+ _this.updateText(value);
99
+ });
100
+ return _this;
101
+ }
102
+ (0, _createClass2["default"])(Choice, [{
103
+ key: "UNSAFE_componentWillReceiveProps",
104
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
105
+ if (nextProps.markup) {
106
+ this.setState({
107
+ value: nextProps.markup
108
+ });
109
+ }
110
+ }
111
+ }, {
112
+ key: "render",
113
+ value: function render() {
114
+ var value = this.state.value;
115
+ var _this$props = this.props,
116
+ classes = _this$props.classes,
117
+ onDelete = _this$props.onDelete,
118
+ spellCheck = _this$props.spellCheck,
119
+ error = _this$props.error;
120
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
121
+ style: {
122
+ alignItems: 'center',
123
+ display: 'flex',
124
+ justifyContent: 'space-between'
125
+ }
126
+ }, /*#__PURE__*/_react["default"].createElement(_OutlinedInput["default"], {
127
+ className: (0, _classnames["default"])(classes.choice, error && classes.inputError),
128
+ value: value,
129
+ onChange: this.onChange,
130
+ labelWidth: 0,
131
+ disableUnderline: true,
132
+ spellCheck: spellCheck
133
+ }), /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
134
+ "aria-label": "delete",
135
+ className: classes.deleteBtn,
136
+ onClick: onDelete
137
+ }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null))), error && /*#__PURE__*/_react["default"].createElement("div", {
138
+ className: classes.errorText
139
+ }, error));
140
+ }
141
+ }]);
142
+ return Choice;
143
+ }(_react["default"].Component);
144
+ exports.Choice = Choice;
145
+ (0, _defineProperty2["default"])(Choice, "propTypes", {
146
+ classes: _propTypes["default"].object,
147
+ markup: _propTypes["default"].string,
148
+ onChange: _propTypes["default"].func.isRequired,
149
+ onDelete: _propTypes["default"].func.isRequired,
150
+ value: _propTypes["default"].string
151
+ });
152
+ var AlternateSection = /*#__PURE__*/function (_React$Component2) {
153
+ (0, _inherits2["default"])(AlternateSection, _React$Component2);
154
+ var _super2 = _createSuper(AlternateSection);
155
+ function AlternateSection() {
156
+ var _this2;
157
+ (0, _classCallCheck2["default"])(this, AlternateSection);
158
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
159
+ args[_key2] = arguments[_key2];
160
+ }
161
+ _this2 = _super2.call.apply(_super2, [this].concat(args));
162
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "state", {});
163
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "updateChoicesIfNeeded", function (props) {
164
+ if (!_this2.state.choices || !(0, _isEqual["default"])(props.choices, _this2.state.choices) || !(0, _isEqual["default"])(props.choices, _this2.props.choices)) {
165
+ _this2.setState({
166
+ choices: props.choices
167
+ });
168
+ }
169
+ });
170
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleSelect", function (e) {
171
+ var _this2$props = _this2.props,
172
+ onSelect = _this2$props.onSelect,
173
+ selectChoices = _this2$props.selectChoices;
174
+ var value = e.target.value;
175
+ onSelect(selectChoices.find(function (c) {
176
+ return c.value === value;
177
+ }));
178
+ });
179
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onAddChoice", function () {
180
+ var choices = _this2.state.choices;
181
+ if (choices.length && choices[choices.length - 1].label !== '') {
182
+ var value = (0, _max["default"])(choices.map(function (c) {
183
+ return parseInt(c.value);
184
+ }).filter(function (id) {
185
+ return !isNaN(id);
186
+ })) || 0;
187
+ _this2.setState({
188
+ choices: [].concat((0, _toConsumableArray2["default"])(choices), [{
189
+ value: "".concat(value + 1),
190
+ label: ''
191
+ }])
192
+ });
193
+ }
194
+ });
195
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onChoiceChanged", function (choice, value, index) {
196
+ var _this2$props2 = _this2.props,
197
+ choiceChanged = _this2$props2.choiceChanged,
198
+ lengthChanged = _this2$props2.lengthChanged,
199
+ maxLength = _this2$props2.maxLength,
200
+ choices = _this2$props2.choices;
201
+ var labelLengthsArr = choices.map(function (choice) {
202
+ return (choice.label || '').length;
203
+ });
204
+ labelLengthsArr[index] = value.length;
205
+ var newLength = Math.max.apply(Math, (0, _toConsumableArray2["default"])(labelLengthsArr));
206
+ choiceChanged(_objectSpread(_objectSpread({}, choice), {}, {
207
+ label: value
208
+ }));
209
+ if (newLength > maxLength || newLength + 10 <= maxLength) {
210
+ lengthChanged((0, _markupUtils.getAdjustedLength)(newLength));
211
+ }
212
+ });
213
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onRemoveChoice", function (choice) {
214
+ var choiceRemoved = _this2.props.choiceRemoved;
215
+ choiceRemoved(choice.value);
216
+ });
217
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "getChoicesMaxLength", function () {
218
+ var choices = _this2.state.choices;
219
+ if (!choices) {
220
+ return 1;
221
+ }
222
+ var labelLengthsArr = choices.map(function (choice) {
223
+ return (choice.label || '').length;
224
+ });
225
+ return Math.max.apply(Math, (0, _toConsumableArray2["default"])(labelLengthsArr));
226
+ });
227
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "changeLength", function (event) {
228
+ var lengthChanged = _this2.props.lengthChanged;
229
+ var numberValue = parseInt(event.target.value, 10);
230
+ var minLength = _this2.getChoicesMaxLength();
231
+ if (numberValue && numberValue >= minLength && numberValue <= minLength + 10) {
232
+ lengthChanged(numberValue);
233
+ }
234
+ });
235
+ return _this2;
236
+ }
237
+ (0, _createClass2["default"])(AlternateSection, [{
238
+ key: "UNSAFE_componentWillReceiveProps",
239
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
240
+ this.updateChoicesIfNeeded(nextProps);
241
+ }
242
+ }, {
243
+ key: "componentDidMount",
244
+ value: function componentDidMount() {
245
+ this.updateChoicesIfNeeded(this.props);
246
+ }
247
+ }, {
248
+ key: "render",
249
+ value: function render() {
250
+ var _this3 = this;
251
+ var _this$props2 = this.props,
252
+ classes = _this$props2.classes,
253
+ selectChoices = _this$props2.selectChoices,
254
+ maxLength = _this$props2.maxLength,
255
+ showMaxLength = _this$props2.showMaxLength,
256
+ value = _this$props2.value,
257
+ spellCheck = _this$props2.spellCheck,
258
+ errors = _this$props2.errors;
259
+ var choices = this.state.choices;
260
+ var minLength = this.getChoicesMaxLength();
261
+ return /*#__PURE__*/_react["default"].createElement("div", {
262
+ className: classes.design
263
+ }, /*#__PURE__*/_react["default"].createElement("div", {
264
+ className: classes.selectContainer
265
+ }, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
266
+ className: classes.select,
267
+ displayEmpty: true,
268
+ onChange: this.handleSelect,
269
+ value: value || '',
270
+ readOnly: showMaxLength
271
+ }, /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
272
+ value: ""
273
+ }, /*#__PURE__*/_react["default"].createElement("em", null, value ? 'Remove selection' : 'Select a response')), selectChoices.map(function (c, index) {
274
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
275
+ key: index,
276
+ value: c.value
277
+ }, c.label);
278
+ })), choices && choices.length > 0 && /*#__PURE__*/_react["default"].createElement("div", {
279
+ className: classes.rightContainer
280
+ }, maxLength && showMaxLength && /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
281
+ className: classes.lengthField,
282
+ label: "Maximum length (characters)",
283
+ type: "number",
284
+ inputProps: {
285
+ min: minLength,
286
+ max: minLength + 10
287
+ },
288
+ value: maxLength,
289
+ onChange: this.changeLength
290
+ }), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
291
+ className: classes.addButton,
292
+ variant: "contained",
293
+ color: "primary",
294
+ onClick: this.onAddChoice
295
+ }, "Add"))), errors && errors[0] && /*#__PURE__*/_react["default"].createElement("div", {
296
+ className: classes.errorText
297
+ }, errors[0]), /*#__PURE__*/_react["default"].createElement("div", {
298
+ className: classes.altChoices
299
+ }, choices && choices.map(function (c, index) {
300
+ return index > 0 && /*#__PURE__*/_react["default"].createElement(Choice, {
301
+ key: index,
302
+ classes: classes,
303
+ markup: c.label,
304
+ onChange: function onChange(val) {
305
+ return _this3.onChoiceChanged(c, val, index);
306
+ },
307
+ onDelete: function onDelete() {
308
+ return _this3.onRemoveChoice(c);
309
+ },
310
+ spellCheck: spellCheck,
311
+ error: errors && errors[index]
312
+ });
313
+ })));
314
+ }
315
+ }]);
316
+ return AlternateSection;
317
+ }(_react["default"].Component);
318
+ exports.AlternateSection = AlternateSection;
319
+ (0, _defineProperty2["default"])(AlternateSection, "propTypes", {
320
+ choices: _propTypes["default"].array,
321
+ selectChoices: _propTypes["default"].array.isRequired,
322
+ classes: _propTypes["default"].object.isRequired,
323
+ onSelect: _propTypes["default"].func.isRequired,
324
+ choiceChanged: _propTypes["default"].func.isRequired,
325
+ lengthChanged: _propTypes["default"].func,
326
+ choiceRemoved: _propTypes["default"].func.isRequired,
327
+ value: _propTypes["default"].string,
328
+ maxLength: _propTypes["default"].number,
329
+ showMaxLength: _propTypes["default"].bool
330
+ });
331
+ var Styled = (0, _styles.withStyles)(styles)(AlternateSection);
332
+ var _default = Styled;
333
+ exports["default"] = _default;
334
+ //# sourceMappingURL=alternateSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alternateSection.js","names":["_react","_interopRequireDefault","require","_propTypes","_debounce","_isEqual","_OutlinedInput","_Button","_Delete","_IconButton","_MenuItem","_Select","_TextField","_styles","_max","_classnames","_markupUtils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","altChoices","alignItems","flexDirection","display","padding","marginBottom","width","choice","flex","marginRight","deleteBtn","fill","selectContainer","justifyContent","rightContainer","lengthField","errorText","fontSize","color","paddingTop","inputError","border","borderRadius","Choice","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","value","props","markup","debounce","onChange","setState","updateText","_createClass2","UNSAFE_componentWillReceiveProps","nextProps","render","state","_this$props","classes","onDelete","spellCheck","error","createElement","Fragment","style","className","classnames","labelWidth","disableUnderline","onClick","React","Component","exports","PropTypes","string","func","isRequired","AlternateSection","_React$Component2","_super2","_this2","_len2","_key2","choices","isEqual","_this2$props","onSelect","selectChoices","find","c","label","max","map","parseInt","id","isNaN","_toConsumableArray2","index","_this2$props2","choiceChanged","lengthChanged","maxLength","labelLengthsArr","newLength","Math","getAdjustedLength","choiceRemoved","event","numberValue","minLength","getChoicesMaxLength","updateChoicesIfNeeded","componentDidMount","_this3","_this$props2","showMaxLength","errors","design","select","displayEmpty","handleSelect","readOnly","type","inputProps","min","changeLength","addButton","variant","onAddChoice","val","onChoiceChanged","onRemoveChoice","array","number","bool","Styled","withStyles","_default"],"sources":["../src/alternateSection.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEqual from 'lodash/isEqual';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport Button from '@material-ui/core/Button';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport max from 'lodash/max';\nimport classnames from 'classnames';\n\nimport { getAdjustedLength } from './markupUtils';\n\nconst styles = () => ({\n altChoices: {\n alignItems: 'flex-start',\n flexDirection: 'column',\n display: 'flex',\n padding: '20px 0 0 0',\n '& > *': {\n marginBottom: '20px',\n width: '100%',\n },\n },\n choice: {\n flex: '1',\n marginRight: '20px',\n },\n deleteBtn: {\n fill: 'gray',\n },\n selectContainer: {\n alignItems: 'flex-end',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n rightContainer: {\n alignItems: 'center',\n display: 'flex',\n },\n lengthField: {\n width: '230px',\n marginRight: '20px',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n paddingTop: '5px',\n },\n inputError: {\n border: '2px solid red',\n borderRadius: '6px',\n },\n});\n\nexport class Choice extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n markup: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n value: PropTypes.string,\n };\n\n state = {\n value: this.props.markup,\n };\n\n updateText = debounce(this.props.onChange, 300);\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.markup) {\n this.setState({ value: nextProps.markup });\n }\n }\n\n onChange = (e) => {\n const { value } = e.target;\n\n this.setState({ value });\n this.updateText(value);\n };\n\n render() {\n const { value } = this.state;\n const { classes, onDelete, spellCheck, error } = this.props;\n\n return (\n <>\n <div\n style={{\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <OutlinedInput\n className={classnames(classes.choice, error && classes.inputError)}\n value={value}\n onChange={this.onChange}\n labelWidth={0}\n disableUnderline\n spellCheck={spellCheck}\n />\n <IconButton aria-label=\"delete\" className={classes.deleteBtn} onClick={onDelete}>\n <Delete />\n </IconButton>\n </div>\n {error && <div className={classes.errorText}>{error}</div>}\n </>\n );\n }\n}\n\nexport class AlternateSection extends React.Component {\n static propTypes = {\n choices: PropTypes.array,\n selectChoices: PropTypes.array.isRequired,\n classes: PropTypes.object.isRequired,\n onSelect: PropTypes.func.isRequired,\n choiceChanged: PropTypes.func.isRequired,\n lengthChanged: PropTypes.func,\n choiceRemoved: PropTypes.func.isRequired,\n value: PropTypes.string,\n maxLength: PropTypes.number,\n showMaxLength: PropTypes.bool,\n };\n\n state = {};\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateChoicesIfNeeded(nextProps);\n }\n\n componentDidMount() {\n this.updateChoicesIfNeeded(this.props);\n }\n\n updateChoicesIfNeeded = (props) => {\n if (\n !this.state.choices ||\n !isEqual(props.choices, this.state.choices) ||\n !isEqual(props.choices, this.props.choices)\n ) {\n this.setState({\n choices: props.choices,\n });\n }\n };\n\n handleSelect = (e) => {\n const { onSelect, selectChoices } = this.props;\n const { value } = e.target;\n\n onSelect(selectChoices.find((c) => c.value === value));\n };\n\n onAddChoice = () => {\n const { choices } = this.state;\n\n if (choices.length && choices[choices.length - 1].label !== '') {\n const value = max(choices.map((c) => parseInt(c.value)).filter((id) => !isNaN(id))) || 0;\n\n this.setState({\n choices: [\n ...choices,\n {\n value: `${value + 1}`,\n label: '',\n },\n ],\n });\n }\n };\n\n onChoiceChanged = (choice, value, index) => {\n const { choiceChanged, lengthChanged, maxLength, choices } = this.props;\n\n const labelLengthsArr = choices.map((choice) => (choice.label || '').length);\n labelLengthsArr[index] = value.length;\n\n const newLength = Math.max(...labelLengthsArr);\n\n choiceChanged({\n ...choice,\n label: value,\n });\n\n if (newLength > maxLength || newLength + 10 <= maxLength) {\n lengthChanged(getAdjustedLength(newLength));\n }\n };\n\n onRemoveChoice = (choice) => {\n const { choiceRemoved } = this.props;\n\n choiceRemoved(choice.value);\n };\n\n getChoicesMaxLength = () => {\n const { choices } = this.state;\n\n if (!choices) {\n return 1;\n }\n\n const labelLengthsArr = choices.map((choice) => (choice.label || '').length);\n\n return Math.max(...labelLengthsArr);\n };\n\n changeLength = (event) => {\n const { lengthChanged } = this.props;\n const numberValue = parseInt(event.target.value, 10);\n const minLength = this.getChoicesMaxLength();\n\n if (numberValue && numberValue >= minLength && numberValue <= minLength + 10) {\n lengthChanged(numberValue);\n }\n };\n\n render() {\n const { classes, selectChoices, maxLength, showMaxLength, value, spellCheck, errors } = this.props;\n const { choices } = this.state;\n const minLength = this.getChoicesMaxLength();\n\n return (\n <div className={classes.design}>\n <div className={classes.selectContainer}>\n <Select\n className={classes.select}\n displayEmpty\n onChange={this.handleSelect}\n value={value || ''}\n readOnly={showMaxLength}\n >\n <MenuItem value=\"\">\n <em>{value ? 'Remove selection' : 'Select a response'}</em>\n </MenuItem>\n {selectChoices.map((c, index) => (\n <MenuItem key={index} value={c.value}>\n {c.label}\n </MenuItem>\n ))}\n </Select>\n {choices && choices.length > 0 && (\n <div className={classes.rightContainer}>\n {maxLength && showMaxLength && (\n <TextField\n className={classes.lengthField}\n label=\"Maximum length (characters)\"\n type=\"number\"\n inputProps={{\n min: minLength,\n max: minLength + 10,\n }}\n value={maxLength}\n onChange={this.changeLength}\n />\n )}\n <Button className={classes.addButton} variant=\"contained\" color=\"primary\" onClick={this.onAddChoice}>\n Add\n </Button>\n </div>\n )}\n </div>\n {errors && errors[0] && <div className={classes.errorText}>{errors[0]}</div>}\n <div className={classes.altChoices}>\n {choices &&\n choices.map(\n (c, index) =>\n index > 0 && (\n <Choice\n key={index}\n classes={classes}\n markup={c.label}\n onChange={(val) => this.onChoiceChanged(c, val, index)}\n onDelete={() => this.onRemoveChoice(c)}\n spellCheck={spellCheck}\n error={errors && errors[index]}\n />\n ),\n )}\n </div>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(AlternateSection);\n\nexport default Styled;\n"],"mappings":"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"}