@pie-element/complex-rubric 2.0.2-next.13 → 2.0.2-next.15
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/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.json +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.md +978 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/LICENSE.md +5 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/README.md +55 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.json +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.md +869 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js +502 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js +98 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js +126 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js +553 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js +361 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js +552 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js +371 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js +270 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js +29 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/package.json +18 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.json +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.md +210 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js +94 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js +161 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js +13 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/package.json +15 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json +272 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json.md +206 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/config.js +8 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/generate.js +180 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/index.html +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/session.js +6 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json +298 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json.md +201 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js +85 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js +161 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js +330 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js +103 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/package.json +24 -0
- package/configure/node_modules/@pie-element/rubric/CHANGELOG.json +257 -0
- package/configure/node_modules/@pie-element/rubric/CHANGELOG.md +1248 -0
- package/configure/node_modules/@pie-element/rubric/LICENSE.md +5 -0
- package/configure/node_modules/@pie-element/rubric/README.md +3 -0
- package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.json +197 -0
- package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.md +1088 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js +34 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/index.js +130 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/main.js +108 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/package.json +17 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/defaults.js +26 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/index.js +64 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/main.jsx +56 -0
- package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.json +17 -0
- package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.md +192 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/index.js +14 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/controller/package.json +13 -0
- package/configure/node_modules/@pie-element/rubric/controller/src/__tests__/index.test.js +31 -0
- package/configure/node_modules/@pie-element/rubric/controller/src/index.js +6 -0
- package/configure/node_modules/@pie-element/rubric/docs/config-schema.json +160 -0
- package/configure/node_modules/@pie-element/rubric/docs/config-schema.json.md +127 -0
- package/configure/node_modules/@pie-element/rubric/docs/demo/config.js +8 -0
- package/configure/node_modules/@pie-element/rubric/docs/demo/generate.js +8 -0
- package/configure/node_modules/@pie-element/rubric/docs/demo/index.html +2 -0
- package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json +96 -0
- package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json.md +65 -0
- package/configure/node_modules/@pie-element/rubric/lib/index.js +88 -0
- package/configure/node_modules/@pie-element/rubric/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/lib/main.js +188 -0
- package/configure/node_modules/@pie-element/rubric/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/lib/print.js +114 -0
- package/configure/node_modules/@pie-element/rubric/lib/print.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/package.json +26 -0
- package/configure/node_modules/@pie-element/rubric/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +23003 -0
- package/configure/node_modules/@pie-element/rubric/src/__tests__/rubric-view.test.jsx +46 -0
- package/configure/node_modules/@pie-element/rubric/src/index.js +34 -0
- package/configure/node_modules/@pie-element/rubric/src/main.jsx +136 -0
- package/configure/node_modules/@pie-element/rubric/src/print.js +63 -0
- package/configure/package.json +2 -2
- package/controller/package.json +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,552 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.Scale = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
|
+
|
|
28
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
+
|
|
30
|
+
var _styles = require("@material-ui/core/styles");
|
|
31
|
+
|
|
32
|
+
var _ArrowBackIos = _interopRequireDefault(require("@material-ui/icons/ArrowBackIos"));
|
|
33
|
+
|
|
34
|
+
var _ArrowForwardIos = _interopRequireDefault(require("@material-ui/icons/ArrowForwardIos"));
|
|
35
|
+
|
|
36
|
+
var _drag = require("@pie-lib/pie-toolbox/drag");
|
|
37
|
+
|
|
38
|
+
var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
|
|
39
|
+
|
|
40
|
+
var _traitsHeader = _interopRequireDefault(require("./traitsHeader"));
|
|
41
|
+
|
|
42
|
+
var _trait = _interopRequireDefault(require("./trait"));
|
|
43
|
+
|
|
44
|
+
var _common = require("./common");
|
|
45
|
+
|
|
46
|
+
var _modals = require("./modals");
|
|
47
|
+
|
|
48
|
+
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); }; }
|
|
49
|
+
|
|
50
|
+
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; } }
|
|
51
|
+
|
|
52
|
+
var AdjustedBlockWidth = _common.BlockWidth + 2 * 8; // 8 is padding
|
|
53
|
+
|
|
54
|
+
var styles = function styles(theme) {
|
|
55
|
+
return {
|
|
56
|
+
scaleWrapper: {
|
|
57
|
+
display: 'flex',
|
|
58
|
+
flexDirection: 'column',
|
|
59
|
+
wordBreak: 'break-word',
|
|
60
|
+
position: 'relative',
|
|
61
|
+
marginBottom: theme.spacing.unit * 2.5
|
|
62
|
+
},
|
|
63
|
+
maxPoints: {
|
|
64
|
+
width: '300px',
|
|
65
|
+
marginTop: theme.spacing.unit * 2,
|
|
66
|
+
marginBottom: theme.spacing.unit * 4
|
|
67
|
+
},
|
|
68
|
+
trait: {
|
|
69
|
+
background: _renderUi.color.secondaryBackground(),
|
|
70
|
+
marginTop: theme.spacing.unit * 2,
|
|
71
|
+
marginBottom: theme.spacing.unit * 2,
|
|
72
|
+
padding: theme.spacing.unit * 2
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var Scale = /*#__PURE__*/function (_React$Component) {
|
|
78
|
+
(0, _inherits2["default"])(Scale, _React$Component);
|
|
79
|
+
|
|
80
|
+
var _super = _createSuper(Scale);
|
|
81
|
+
|
|
82
|
+
function Scale() {
|
|
83
|
+
var _this;
|
|
84
|
+
|
|
85
|
+
(0, _classCallCheck2["default"])(this, Scale);
|
|
86
|
+
|
|
87
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
88
|
+
args[_key] = arguments[_key];
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
92
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
93
|
+
showDecreaseMaxPointsDialog: false,
|
|
94
|
+
showDeleteScaleDialog: false,
|
|
95
|
+
showDeleteTraitDialog: false,
|
|
96
|
+
currentPosition: 0,
|
|
97
|
+
showRight: null,
|
|
98
|
+
showLeft: null,
|
|
99
|
+
showInfoDialog: false,
|
|
100
|
+
infoDialogText: ''
|
|
101
|
+
});
|
|
102
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "set", function (newState) {
|
|
103
|
+
return _this.setState(newState);
|
|
104
|
+
});
|
|
105
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateMaxPointsFieldValue", function (_ref) {
|
|
106
|
+
var target = _ref.target;
|
|
107
|
+
|
|
108
|
+
var _ref2 = _this.props || {},
|
|
109
|
+
scale = _ref2.scale,
|
|
110
|
+
scaleIndex = _ref2.scaleIndex,
|
|
111
|
+
onScaleChanged = _ref2.onScaleChanged;
|
|
112
|
+
|
|
113
|
+
var maxPoints = scale.maxPoints,
|
|
114
|
+
scorePointsLabels = scale.scorePointsLabels,
|
|
115
|
+
traits = scale.traits;
|
|
116
|
+
var numberValue = parseInt(target.value, 10);
|
|
117
|
+
|
|
118
|
+
_this.setState({
|
|
119
|
+
currentPosition: 0,
|
|
120
|
+
showLeft: false,
|
|
121
|
+
showRight: _this.secondaryBlockRef && _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
if (numberValue < maxPoints) {
|
|
125
|
+
_this.showDecreaseMaxPointsModal({
|
|
126
|
+
newMaxPoints: numberValue
|
|
127
|
+
});
|
|
128
|
+
} else {
|
|
129
|
+
var _loop = function _loop(i) {
|
|
130
|
+
if (!scorePointsLabels[i]) {
|
|
131
|
+
scorePointsLabels.push('');
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
traits.forEach(function (trait, index) {
|
|
135
|
+
if (!traits[index].scorePointsDescriptors[i]) {
|
|
136
|
+
traits[index].scorePointsDescriptors.push('');
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
for (var i = 0; i <= numberValue; i++) {
|
|
142
|
+
_loop(i);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
onScaleChanged(scaleIndex, {
|
|
146
|
+
maxPoints: numberValue,
|
|
147
|
+
scorePointsLabels: scorePointsLabels,
|
|
148
|
+
traits: traits
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDecreaseMaxPointsModal", function (_ref3) {
|
|
153
|
+
var newMaxPoints = _ref3.newMaxPoints;
|
|
154
|
+
return _this.set({
|
|
155
|
+
showDecreaseMaxPointsDialog: true,
|
|
156
|
+
newMaxPoints: newMaxPoints
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDecreaseMaxPointsModal", function () {
|
|
160
|
+
return _this.set({
|
|
161
|
+
showDecreaseMaxPointsDialog: false,
|
|
162
|
+
newMaxPoints: undefined
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMaxPoints", function () {
|
|
166
|
+
var _ref4 = _this.state || {},
|
|
167
|
+
newMaxPoints = _ref4.newMaxPoints;
|
|
168
|
+
|
|
169
|
+
var _ref5 = _this.props || {},
|
|
170
|
+
scaleIndex = _ref5.scaleIndex,
|
|
171
|
+
onScaleChanged = _ref5.onScaleChanged;
|
|
172
|
+
|
|
173
|
+
if (newMaxPoints) {
|
|
174
|
+
onScaleChanged(scaleIndex, {
|
|
175
|
+
maxPoints: newMaxPoints
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
_this.hideDecreaseMaxPointsModal();
|
|
180
|
+
});
|
|
181
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteScaleModal", function () {
|
|
182
|
+
return _this.set({
|
|
183
|
+
showDeleteScaleDialog: true
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteScaleModal", function () {
|
|
187
|
+
return _this.set({
|
|
188
|
+
showDeleteScaleDialog: false
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteScale", function () {
|
|
192
|
+
var _ref6 = _this.props || {},
|
|
193
|
+
scaleIndex = _ref6.scaleIndex,
|
|
194
|
+
onScaleRemoved = _ref6.onScaleRemoved;
|
|
195
|
+
|
|
196
|
+
_this.hideDeleteScaleModal();
|
|
197
|
+
|
|
198
|
+
onScaleRemoved(scaleIndex);
|
|
199
|
+
});
|
|
200
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteTraitModal", function (traitToDeleteIndex) {
|
|
201
|
+
return _this.set({
|
|
202
|
+
showDeleteTraitDialog: true,
|
|
203
|
+
traitToDeleteIndex: traitToDeleteIndex
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteTraitModal", function () {
|
|
207
|
+
return _this.set({
|
|
208
|
+
showDeleteTraitDialog: false,
|
|
209
|
+
traitToDeleteIndex: undefined
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitRemoved", function () {
|
|
213
|
+
var traitToDeleteIndex = _this.state.traitToDeleteIndex;
|
|
214
|
+
|
|
215
|
+
var _ref7 = _this.props || {},
|
|
216
|
+
scale = _ref7.scale,
|
|
217
|
+
scaleIndex = _ref7.scaleIndex,
|
|
218
|
+
onScaleChanged = _ref7.onScaleChanged,
|
|
219
|
+
minNoOfTraits = _ref7.minNoOfTraits;
|
|
220
|
+
|
|
221
|
+
var _ref8 = scale || {},
|
|
222
|
+
traits = _ref8.traits,
|
|
223
|
+
traitLabel = _ref8.traitLabel;
|
|
224
|
+
|
|
225
|
+
if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;
|
|
226
|
+
|
|
227
|
+
if (traits.length === minNoOfTraits) {
|
|
228
|
+
_this.set({
|
|
229
|
+
infoDialogText: "There can't be less than ".concat(minNoOfTraits, " ").concat((traitLabel || 'trait').toLowerCase(), "s."),
|
|
230
|
+
showInfoDialog: true
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
traits = [].concat((0, _toConsumableArray2["default"])(traits.slice(0, traitToDeleteIndex)), (0, _toConsumableArray2["default"])(traits.slice(traitToDeleteIndex + 1)));
|
|
237
|
+
onScaleChanged(scaleIndex, {
|
|
238
|
+
traits: traits
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
_this.hideDeleteTraitModal();
|
|
242
|
+
});
|
|
243
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitAdded", function () {
|
|
244
|
+
var _ref9 = _this.props || {},
|
|
245
|
+
scale = _ref9.scale,
|
|
246
|
+
scaleIndex = _ref9.scaleIndex,
|
|
247
|
+
onScaleChanged = _ref9.onScaleChanged,
|
|
248
|
+
maxNoOfTraits = _ref9.maxNoOfTraits;
|
|
249
|
+
|
|
250
|
+
var _ref10 = scale || {},
|
|
251
|
+
traits = _ref10.traits,
|
|
252
|
+
scorePointsLabels = _ref10.scorePointsLabels;
|
|
253
|
+
|
|
254
|
+
if (traits.length === maxNoOfTraits) {
|
|
255
|
+
_this.set({
|
|
256
|
+
infoDialogText: "There can't be more than ".concat(maxNoOfTraits, " scales."),
|
|
257
|
+
showInfoDialog: true
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
return false;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
traits.push({
|
|
264
|
+
name: '',
|
|
265
|
+
description: '',
|
|
266
|
+
standards: [],
|
|
267
|
+
scorePointsDescriptors: Array.from({
|
|
268
|
+
length: scorePointsLabels.length
|
|
269
|
+
}, function () {
|
|
270
|
+
return '';
|
|
271
|
+
})
|
|
272
|
+
});
|
|
273
|
+
onScaleChanged(scaleIndex, {
|
|
274
|
+
traits: traits
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitChanged", function (traitIndex, trait) {
|
|
278
|
+
var _ref11 = _this.props || {},
|
|
279
|
+
scale = _ref11.scale,
|
|
280
|
+
scaleIndex = _ref11.scaleIndex,
|
|
281
|
+
onScaleChanged = _ref11.onScaleChanged;
|
|
282
|
+
|
|
283
|
+
var _ref12 = scale || {},
|
|
284
|
+
traits = _ref12.traits;
|
|
285
|
+
|
|
286
|
+
if (traitIndex >= 0 && traitIndex < traits.length) {
|
|
287
|
+
traits[traitIndex] = trait;
|
|
288
|
+
onScaleChanged(scaleIndex, {
|
|
289
|
+
traits: traits
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitDropped", function (source, newIndex) {
|
|
294
|
+
var _ref13 = _this.props || {},
|
|
295
|
+
scale = _ref13.scale,
|
|
296
|
+
scaleIndex = _ref13.scaleIndex,
|
|
297
|
+
onScaleChanged = _ref13.onScaleChanged;
|
|
298
|
+
|
|
299
|
+
var _ref14 = scale || {},
|
|
300
|
+
traits = _ref14.traits;
|
|
301
|
+
|
|
302
|
+
var oldIndex = source.index;
|
|
303
|
+
var cup = traits[oldIndex];
|
|
304
|
+
var remainingTraits = traits.filter(function (item, index) {
|
|
305
|
+
return index !== oldIndex;
|
|
306
|
+
});
|
|
307
|
+
var newTraits = [].concat((0, _toConsumableArray2["default"])(remainingTraits.slice(0, newIndex)), [cup], (0, _toConsumableArray2["default"])(remainingTraits.slice(newIndex)));
|
|
308
|
+
onScaleChanged(scaleIndex, {
|
|
309
|
+
traits: newTraits
|
|
310
|
+
});
|
|
311
|
+
});
|
|
312
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "decreasePosition", function () {
|
|
313
|
+
var currentPosition = _this.state.currentPosition;
|
|
314
|
+
var decreasedPosition = currentPosition - (currentPosition === AdjustedBlockWidth / 2 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
|
|
315
|
+
|
|
316
|
+
_this.setState({
|
|
317
|
+
currentPosition: decreasedPosition,
|
|
318
|
+
showRight: decreasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
|
|
319
|
+
showLeft: decreasedPosition > 0
|
|
320
|
+
});
|
|
321
|
+
});
|
|
322
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "increasePosition", function () {
|
|
323
|
+
var currentPosition = _this.state.currentPosition;
|
|
324
|
+
var increasedPosition = currentPosition + (currentPosition === 0 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
|
|
325
|
+
|
|
326
|
+
_this.setState({
|
|
327
|
+
currentPosition: increasedPosition,
|
|
328
|
+
showRight: increasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
|
|
329
|
+
showLeft: increasedPosition > 0
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
return _this;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
(0, _createClass2["default"])(Scale, [{
|
|
336
|
+
key: "componentDidMount",
|
|
337
|
+
value: function componentDidMount() {
|
|
338
|
+
if (this.state.showRight === null && this.secondaryBlockRef) {
|
|
339
|
+
this.setState({
|
|
340
|
+
showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}, {
|
|
345
|
+
key: "componentDidUpdate",
|
|
346
|
+
value: function componentDidUpdate(prevProps) {
|
|
347
|
+
if (prevProps.scale.maxPoints !== this.props.scale.maxPoints || prevProps.showDescription !== this.props.showDescription || prevProps.excludeZero !== this.props.excludeZero) {
|
|
348
|
+
this.setState({
|
|
349
|
+
showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}, {
|
|
354
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
355
|
+
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
356
|
+
if (nextProps.excludeZero !== this.props.excludeZero || nextProps.showStandards !== this.props.showStandards || nextProps.showDescription !== this.props.showDescription) {
|
|
357
|
+
this.setState({
|
|
358
|
+
currentPosition: 0,
|
|
359
|
+
showLeft: false,
|
|
360
|
+
showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
} // Max Points
|
|
364
|
+
|
|
365
|
+
}, {
|
|
366
|
+
key: "render",
|
|
367
|
+
value: function render() {
|
|
368
|
+
var _this2 = this;
|
|
369
|
+
|
|
370
|
+
var _ref15 = this.props || {},
|
|
371
|
+
classes = _ref15.classes,
|
|
372
|
+
errors = _ref15.errors,
|
|
373
|
+
scale = _ref15.scale,
|
|
374
|
+
scaleIndex = _ref15.scaleIndex,
|
|
375
|
+
showStandards = _ref15.showStandards,
|
|
376
|
+
onScaleChanged = _ref15.onScaleChanged,
|
|
377
|
+
excludeZero = _ref15.excludeZero,
|
|
378
|
+
showDescription = _ref15.showDescription,
|
|
379
|
+
showLevelTagInput = _ref15.showLevelTagInput,
|
|
380
|
+
showScorePointLabels = _ref15.showScorePointLabels,
|
|
381
|
+
enableDragAndDrop = _ref15.enableDragAndDrop,
|
|
382
|
+
spellCheck = _ref15.spellCheck,
|
|
383
|
+
width = _ref15.width,
|
|
384
|
+
uploadSoundSupport = _ref15.uploadSoundSupport,
|
|
385
|
+
maxPointsEnabled = _ref15.maxPointsEnabled,
|
|
386
|
+
_ref15$mathMlOptions = _ref15.mathMlOptions,
|
|
387
|
+
mathMlOptions = _ref15$mathMlOptions === void 0 ? {} : _ref15$mathMlOptions;
|
|
388
|
+
|
|
389
|
+
var _ref16 = scale || {},
|
|
390
|
+
maxPoints = _ref16.maxPoints,
|
|
391
|
+
scorePointsLabels = _ref16.scorePointsLabels,
|
|
392
|
+
traitLabel = _ref16.traitLabel,
|
|
393
|
+
traits = _ref16.traits;
|
|
394
|
+
|
|
395
|
+
var _this$state = this.state,
|
|
396
|
+
showDecreaseMaxPointsDialog = _this$state.showDecreaseMaxPointsDialog,
|
|
397
|
+
showDeleteScaleDialog = _this$state.showDeleteScaleDialog,
|
|
398
|
+
showDeleteTraitDialog = _this$state.showDeleteTraitDialog,
|
|
399
|
+
currentPosition = _this$state.currentPosition,
|
|
400
|
+
showRight = _this$state.showRight,
|
|
401
|
+
showLeft = _this$state.showLeft,
|
|
402
|
+
showInfoDialog = _this$state.showInfoDialog,
|
|
403
|
+
infoDialogText = _this$state.infoDialogText;
|
|
404
|
+
var scorePointsValues = [];
|
|
405
|
+
var secondaryBlockWidth = parseInt(width) - _common.DragHandleSpace - _common.PrimaryBlockWidth || 320; // 320 is minWidth
|
|
406
|
+
// determining the score points values
|
|
407
|
+
|
|
408
|
+
for (var pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {
|
|
409
|
+
scorePointsValues.push(pointValue);
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
413
|
+
key: "scale-".concat(scaleIndex),
|
|
414
|
+
className: classes.scaleWrapper,
|
|
415
|
+
ref: function ref(_ref17) {
|
|
416
|
+
_this2.scaleWrapper = _ref17;
|
|
417
|
+
}
|
|
418
|
+
}, /*#__PURE__*/_react["default"].createElement(_traitsHeader["default"], {
|
|
419
|
+
setSecondaryBlockRef: function setSecondaryBlockRef(ref) {
|
|
420
|
+
if (ref) {
|
|
421
|
+
_this2.secondaryBlockRef = ref;
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
key: 'header-key',
|
|
425
|
+
traitLabel: traitLabel,
|
|
426
|
+
scorePointsValues: scorePointsValues,
|
|
427
|
+
scorePointsLabels: scorePointsLabels,
|
|
428
|
+
onScaleChange: function onScaleChange(params) {
|
|
429
|
+
return onScaleChanged(scaleIndex, params);
|
|
430
|
+
},
|
|
431
|
+
onTraitLabelChange: function onTraitLabelChange(label) {
|
|
432
|
+
return onScaleChanged(scaleIndex, {
|
|
433
|
+
traitLabel: label
|
|
434
|
+
});
|
|
435
|
+
},
|
|
436
|
+
showStandards: showStandards,
|
|
437
|
+
showDescription: showDescription,
|
|
438
|
+
showLevelTagInput: showLevelTagInput,
|
|
439
|
+
showScorePointLabels: showScorePointLabels,
|
|
440
|
+
maxPoints: maxPoints,
|
|
441
|
+
updateMaxPointsFieldValue: this.updateMaxPointsFieldValue,
|
|
442
|
+
scaleIndex: scaleIndex,
|
|
443
|
+
showDeleteScaleModal: this.showDeleteScaleModal,
|
|
444
|
+
currentPosition: currentPosition,
|
|
445
|
+
secondaryBlockWidth: secondaryBlockWidth,
|
|
446
|
+
spellCheck: spellCheck,
|
|
447
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
448
|
+
maxPointsEnabled: maxPointsEnabled,
|
|
449
|
+
mathMlOptions: mathMlOptions
|
|
450
|
+
}), traits.map(function (trait, index) {
|
|
451
|
+
return /*#__PURE__*/_react["default"].createElement(_trait["default"], {
|
|
452
|
+
key: index,
|
|
453
|
+
index: index,
|
|
454
|
+
error: errors && errors[index],
|
|
455
|
+
trait: trait,
|
|
456
|
+
traitLabel: traitLabel || 'Trait',
|
|
457
|
+
scorePointsValues: scorePointsValues,
|
|
458
|
+
scorePointsLabels: scorePointsLabels,
|
|
459
|
+
onTraitRemoved: function onTraitRemoved() {
|
|
460
|
+
return _this2.showDeleteTraitModal(index);
|
|
461
|
+
},
|
|
462
|
+
onTraitChanged: function onTraitChanged(trait) {
|
|
463
|
+
return _this2.onTraitChanged(index, trait);
|
|
464
|
+
},
|
|
465
|
+
onTraitDropped: _this2.onTraitDropped,
|
|
466
|
+
showStandards: showStandards,
|
|
467
|
+
showDescription: showDescription,
|
|
468
|
+
maxPoints: maxPoints,
|
|
469
|
+
currentPosition: currentPosition,
|
|
470
|
+
enableDragAndDrop: enableDragAndDrop,
|
|
471
|
+
secondaryBlockWidth: secondaryBlockWidth,
|
|
472
|
+
spellCheck: spellCheck,
|
|
473
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
474
|
+
mathMlOptions: mathMlOptions
|
|
475
|
+
});
|
|
476
|
+
}), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
|
|
477
|
+
width: "".concat(AdjustedBlockWidth / 2, "px"),
|
|
478
|
+
show: showLeft,
|
|
479
|
+
onClick: this.decreasePosition,
|
|
480
|
+
left: "".concat(_common.PrimaryBlockWidth, "px"),
|
|
481
|
+
showLevelTagInput: showLevelTagInput
|
|
482
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowBackIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
|
|
483
|
+
width: "".concat(AdjustedBlockWidth / 2, "px"),
|
|
484
|
+
show: showRight,
|
|
485
|
+
onClick: this.increasePosition,
|
|
486
|
+
showLevelTagInput: showLevelTagInput
|
|
487
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowForwardIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.MultiTraitButton, {
|
|
488
|
+
onClick: this.onTraitAdded
|
|
489
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
490
|
+
dangerouslySetInnerHTML: {
|
|
491
|
+
__html: "Add ".concat(traitLabel || ' Trait')
|
|
492
|
+
}
|
|
493
|
+
})), /*#__PURE__*/_react["default"].createElement(_modals.DecreaseMaxPoints, {
|
|
494
|
+
open: !!showDecreaseMaxPointsDialog,
|
|
495
|
+
deleteScorePoints: this.changeMaxPoints,
|
|
496
|
+
cancel: this.hideDecreaseMaxPointsModal
|
|
497
|
+
}), /*#__PURE__*/_react["default"].createElement(_modals.DeleteScale, {
|
|
498
|
+
open: !!showDeleteScaleDialog,
|
|
499
|
+
scaleIndex: scaleIndex,
|
|
500
|
+
deleteScale: this.deleteScale,
|
|
501
|
+
cancel: this.hideDeleteScaleModal
|
|
502
|
+
}), /*#__PURE__*/_react["default"].createElement(_modals.DeleteTrait, {
|
|
503
|
+
open: !!showDeleteTraitDialog,
|
|
504
|
+
deleteTrait: this.onTraitRemoved,
|
|
505
|
+
cancel: this.hideDeleteTraitModal,
|
|
506
|
+
traitLabel: traitLabel.toLowerCase()
|
|
507
|
+
}), /*#__PURE__*/_react["default"].createElement(_modals.InfoDialog, {
|
|
508
|
+
open: showInfoDialog,
|
|
509
|
+
text: infoDialogText,
|
|
510
|
+
onClose: function onClose() {
|
|
511
|
+
return _this2.set({
|
|
512
|
+
showInfoDialog: false
|
|
513
|
+
});
|
|
514
|
+
}
|
|
515
|
+
}));
|
|
516
|
+
}
|
|
517
|
+
}]);
|
|
518
|
+
return Scale;
|
|
519
|
+
}(_react["default"].Component);
|
|
520
|
+
|
|
521
|
+
exports.Scale = Scale;
|
|
522
|
+
Scale.propTypes = {
|
|
523
|
+
classes: _propTypes["default"].object,
|
|
524
|
+
errors: _propTypes["default"].object,
|
|
525
|
+
scale: _propTypes["default"].shape({
|
|
526
|
+
maxPoints: _propTypes["default"].number,
|
|
527
|
+
scorePointsLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
528
|
+
traitLabel: _propTypes["default"].string,
|
|
529
|
+
traits: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
530
|
+
name: _propTypes["default"].string,
|
|
531
|
+
standards: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
532
|
+
scorePointsDescriptors: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
533
|
+
description: _propTypes["default"].string
|
|
534
|
+
}))
|
|
535
|
+
}),
|
|
536
|
+
width: _propTypes["default"].string,
|
|
537
|
+
excludeZero: _propTypes["default"].bool,
|
|
538
|
+
scaleIndex: _propTypes["default"].number,
|
|
539
|
+
onScaleChanged: _propTypes["default"].func,
|
|
540
|
+
onScaleRemoved: _propTypes["default"].func,
|
|
541
|
+
showStandards: _propTypes["default"].bool,
|
|
542
|
+
showLevelTagInput: _propTypes["default"].bool,
|
|
543
|
+
showDescription: _propTypes["default"].bool,
|
|
544
|
+
uploadSoundSupport: _propTypes["default"].object,
|
|
545
|
+
showScorePointLabels: _propTypes["default"].bool,
|
|
546
|
+
enableDragAndDrop: _propTypes["default"].bool
|
|
547
|
+
};
|
|
548
|
+
|
|
549
|
+
var _default = (0, _drag.withDragContext)((0, _styles.withStyles)(styles)(Scale));
|
|
550
|
+
|
|
551
|
+
exports["default"] = _default;
|
|
552
|
+
//# sourceMappingURL=scale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/scale.jsx"],"names":["AdjustedBlockWidth","BlockWidth","styles","theme","scaleWrapper","display","flexDirection","wordBreak","position","marginBottom","spacing","unit","maxPoints","width","marginTop","trait","background","color","secondaryBackground","padding","Scale","showDecreaseMaxPointsDialog","showDeleteScaleDialog","showDeleteTraitDialog","currentPosition","showRight","showLeft","showInfoDialog","infoDialogText","newState","setState","target","props","scale","scaleIndex","onScaleChanged","scorePointsLabels","traits","numberValue","parseInt","value","secondaryBlockRef","scrollWidth","offsetWidth","showDecreaseMaxPointsModal","newMaxPoints","i","push","forEach","index","scorePointsDescriptors","set","undefined","state","hideDecreaseMaxPointsModal","onScaleRemoved","hideDeleteScaleModal","traitToDeleteIndex","minNoOfTraits","traitLabel","length","toLowerCase","slice","hideDeleteTraitModal","maxNoOfTraits","name","description","standards","Array","from","traitIndex","source","newIndex","oldIndex","cup","remainingTraits","filter","item","newTraits","decreasedPosition","increasedPosition","prevProps","showDescription","excludeZero","nextProps","showStandards","classes","errors","showLevelTagInput","showScorePointLabels","enableDragAndDrop","spellCheck","uploadSoundSupport","maxPointsEnabled","mathMlOptions","scorePointsValues","secondaryBlockWidth","DragHandleSpace","PrimaryBlockWidth","pointValue","ref","params","label","updateMaxPointsFieldValue","showDeleteScaleModal","map","showDeleteTraitModal","onTraitChanged","onTraitDropped","decreasePosition","increasePosition","onTraitAdded","__html","changeMaxPoints","deleteScale","onTraitRemoved","React","Component","propTypes","PropTypes","object","shape","number","arrayOf","string","bool","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,kBAAkB,GAAGC,qBAAa,IAAI,CAA5C,C,CAA+C;;AAE/C,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,YAAY,EAAE;AACZC,MAAAA,OAAO,EAAE,MADG;AAEZC,MAAAA,aAAa,EAAE,QAFH;AAGZC,MAAAA,SAAS,EAAE,YAHC;AAIZC,MAAAA,QAAQ,EAAE,UAJE;AAKZC,MAAAA,YAAY,EAAEN,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB;AALvB,KADW;AAQzBC,IAAAA,SAAS,EAAE;AACTC,MAAAA,KAAK,EAAE,OADE;AAETC,MAAAA,SAAS,EAAEX,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB,CAFvB;AAGTF,MAAAA,YAAY,EAAEN,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB;AAH1B,KARc;AAazBI,IAAAA,KAAK,EAAE;AACLC,MAAAA,UAAU,EAAEC,gBAAMC,mBAAN,EADP;AAELJ,MAAAA,SAAS,EAAEX,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB,CAF3B;AAGLF,MAAAA,YAAY,EAAEN,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB,CAH9B;AAILQ,MAAAA,OAAO,EAAEhB,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB;AAJzB;AAbkB,GAAZ;AAAA,CAAf;;IAqBaS,K;;;;;;;;;;;;;;;8FACH;AACNC,MAAAA,2BAA2B,EAAE,KADvB;AAENC,MAAAA,qBAAqB,EAAE,KAFjB;AAGNC,MAAAA,qBAAqB,EAAE,KAHjB;AAINC,MAAAA,eAAe,EAAE,CAJX;AAKNC,MAAAA,SAAS,EAAE,IALL;AAMNC,MAAAA,QAAQ,EAAE,IANJ;AAONC,MAAAA,cAAc,EAAE,KAPV;AAQNC,MAAAA,cAAc,EAAE;AARV,K;4FAWF,UAACC,QAAD;AAAA,aAAc,MAAKC,QAAL,CAAcD,QAAd,CAAd;AAAA,K;kHAiCsB,gBAAgB;AAAA,UAAbE,MAAa,QAAbA,MAAa;;AAC1C,kBAA8C,MAAKC,KAAL,IAAc,EAA5D;AAAA,UAAQC,KAAR,SAAQA,KAAR;AAAA,UAAeC,UAAf,SAAeA,UAAf;AAAA,UAA2BC,cAA3B,SAA2BA,cAA3B;;AACA,UAAQvB,SAAR,GAAiDqB,KAAjD,CAAQrB,SAAR;AAAA,UAAmBwB,iBAAnB,GAAiDH,KAAjD,CAAmBG,iBAAnB;AAAA,UAAsCC,MAAtC,GAAiDJ,KAAjD,CAAsCI,MAAtC;AAEA,UAAMC,WAAW,GAAGC,QAAQ,CAACR,MAAM,CAACS,KAAR,EAAe,EAAf,CAA5B;;AAEA,YAAKV,QAAL,CAAc;AACZN,QAAAA,eAAe,EAAE,CADL;AAEZE,QAAAA,QAAQ,EAAE,KAFE;AAGZD,QAAAA,SAAS,EAAE,MAAKgB,iBAAL,IAA0B,MAAKA,iBAAL,CAAuBC,WAAvB,GAAqC,MAAKD,iBAAL,CAAuBE;AAHrF,OAAd;;AAMA,UAAIL,WAAW,GAAG1B,SAAlB,EAA6B;AAC3B,cAAKgC,0BAAL,CAAgC;AAAEC,UAAAA,YAAY,EAAEP;AAAhB,SAAhC;AACD,OAFD,MAEO;AAAA,mCACIQ,CADJ;AAEH,cAAI,CAACV,iBAAiB,CAACU,CAAD,CAAtB,EAA2B;AACzBV,YAAAA,iBAAiB,CAACW,IAAlB,CAAuB,EAAvB;AACD;;AAEDV,UAAAA,MAAM,CAACW,OAAP,CAAe,UAACjC,KAAD,EAAQkC,KAAR,EAAkB;AAC/B,gBAAI,CAACZ,MAAM,CAACY,KAAD,CAAN,CAAcC,sBAAd,CAAqCJ,CAArC,CAAL,EAA8C;AAC5CT,cAAAA,MAAM,CAACY,KAAD,CAAN,CAAcC,sBAAd,CAAqCH,IAArC,CAA0C,EAA1C;AACD;AACF,WAJD;AANG;;AACL,aAAK,IAAID,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAIR,WAArB,EAAkCQ,CAAC,EAAnC,EAAuC;AAAA,gBAA9BA,CAA8B;AAUtC;;AAEDX,QAAAA,cAAc,CAACD,UAAD,EAAa;AAAEtB,UAAAA,SAAS,EAAE0B,WAAb;AAA0BF,UAAAA,iBAAiB,EAAjBA,iBAA1B;AAA6CC,UAAAA,MAAM,EAANA;AAA7C,SAAb,CAAd;AACD;AACF,K;mHAE4B;AAAA,UAAGQ,YAAH,SAAGA,YAAH;AAAA,aAAsB,MAAKM,GAAL,CAAS;AAAE9B,QAAAA,2BAA2B,EAAE,IAA/B;AAAqCwB,QAAAA,YAAY,EAAZA;AAArC,OAAT,CAAtB;AAAA,K;mHAEA;AAAA,aAAM,MAAKM,GAAL,CAAS;AAAE9B,QAAAA,2BAA2B,EAAE,KAA/B;AAAsCwB,QAAAA,YAAY,EAAEO;AAApD,OAAT,CAAN;AAAA,K;wGAEX,YAAM;AACtB,kBAAyB,MAAKC,KAAL,IAAc,EAAvC;AAAA,UAAQR,YAAR,SAAQA,YAAR;;AACA,kBAAuC,MAAKb,KAAL,IAAc,EAArD;AAAA,UAAQE,UAAR,SAAQA,UAAR;AAAA,UAAoBC,cAApB,SAAoBA,cAApB;;AAEA,UAAIU,YAAJ,EAAkB;AAChBV,QAAAA,cAAc,CAACD,UAAD,EAAa;AAAEtB,UAAAA,SAAS,EAAEiC;AAAb,SAAb,CAAd;AACD;;AAED,YAAKS,0BAAL;AACD,K;6GAGsB;AAAA,aAAM,MAAKH,GAAL,CAAS;AAAE7B,QAAAA,qBAAqB,EAAE;AAAzB,OAAT,CAAN;AAAA,K;6GAEA;AAAA,aAAM,MAAK6B,GAAL,CAAS;AAAE7B,QAAAA,qBAAqB,EAAE;AAAzB,OAAT,CAAN;AAAA,K;oGAET,YAAM;AAClB,kBAAuC,MAAKU,KAAL,IAAc,EAArD;AAAA,UAAQE,UAAR,SAAQA,UAAR;AAAA,UAAoBqB,cAApB,SAAoBA,cAApB;;AAEA,YAAKC,oBAAL;;AAEAD,MAAAA,cAAc,CAACrB,UAAD,CAAd;AACD,K;6GAGsB,UAACuB,kBAAD;AAAA,aAAwB,MAAKN,GAAL,CAAS;AAAE5B,QAAAA,qBAAqB,EAAE,IAAzB;AAA+BkC,QAAAA,kBAAkB,EAAlBA;AAA/B,OAAT,CAAxB;AAAA,K;6GAEA;AAAA,aAAM,MAAKN,GAAL,CAAS;AAAE5B,QAAAA,qBAAqB,EAAE,KAAzB;AAAgCkC,QAAAA,kBAAkB,EAAEL;AAApD,OAAT,CAAN;AAAA,K;uGAEN,YAAM;AACrB,UAAQK,kBAAR,GAA+B,MAAKJ,KAApC,CAAQI,kBAAR;;AACA,kBAA6D,MAAKzB,KAAL,IAAc,EAA3E;AAAA,UAAQC,KAAR,SAAQA,KAAR;AAAA,UAAeC,UAAf,SAAeA,UAAf;AAAA,UAA2BC,cAA3B,SAA2BA,cAA3B;AAAA,UAA2CuB,aAA3C,SAA2CA,aAA3C;;AACA,kBAA6BzB,KAAK,IAAI,EAAtC;AAAA,UAAMI,MAAN,SAAMA,MAAN;AAAA,UAAcsB,UAAd,SAAcA,UAAd;;AAEA,UAAIF,kBAAkB,GAAG,CAArB,IAA0BA,kBAAkB,IAAIpB,MAAM,CAACuB,MAA3D,EAAmE;;AAEnE,UAAIvB,MAAM,CAACuB,MAAP,KAAkBF,aAAtB,EAAqC;AACnC,cAAKP,GAAL,CAAS;AACPvB,UAAAA,cAAc,qCAA8B8B,aAA9B,cAA+C,CAACC,UAAU,IAAI,OAAf,EAAwBE,WAAxB,EAA/C,OADP;AAEPlC,UAAAA,cAAc,EAAE;AAFT,SAAT;;AAKA,eAAO,KAAP;AACD;;AAEDU,MAAAA,MAAM,iDAAOA,MAAM,CAACyB,KAAP,CAAa,CAAb,EAAgBL,kBAAhB,CAAP,uCAA+CpB,MAAM,CAACyB,KAAP,CAAaL,kBAAkB,GAAG,CAAlC,CAA/C,EAAN;AAEAtB,MAAAA,cAAc,CAACD,UAAD,EAAa;AAAEG,QAAAA,MAAM,EAANA;AAAF,OAAb,CAAd;;AAEA,YAAK0B,oBAAL;AACD,K;qGAEc,YAAM;AACnB,kBAA6D,MAAK/B,KAAL,IAAc,EAA3E;AAAA,UAAQC,KAAR,SAAQA,KAAR;AAAA,UAAeC,UAAf,SAAeA,UAAf;AAAA,UAA2BC,cAA3B,SAA2BA,cAA3B;AAAA,UAA2C6B,aAA3C,SAA2CA,aAA3C;;AACA,mBAAsC/B,KAAK,IAAI,EAA/C;AAAA,UAAQI,MAAR,UAAQA,MAAR;AAAA,UAAgBD,iBAAhB,UAAgBA,iBAAhB;;AAEA,UAAIC,MAAM,CAACuB,MAAP,KAAkBI,aAAtB,EAAqC;AACnC,cAAKb,GAAL,CAAS;AACPvB,UAAAA,cAAc,qCAA8BoC,aAA9B,aADP;AAEPrC,UAAAA,cAAc,EAAE;AAFT,SAAT;;AAKA,eAAO,KAAP;AACD;;AAEDU,MAAAA,MAAM,CAACU,IAAP,CAAY;AACVkB,QAAAA,IAAI,EAAE,EADI;AAEVC,QAAAA,WAAW,EAAE,EAFH;AAGVC,QAAAA,SAAS,EAAE,EAHD;AAIVjB,QAAAA,sBAAsB,EAAEkB,KAAK,CAACC,IAAN,CAAW;AAAET,UAAAA,MAAM,EAAExB,iBAAiB,CAACwB;AAA5B,SAAX,EAAiD;AAAA,iBAAM,EAAN;AAAA,SAAjD;AAJd,OAAZ;AAOAzB,MAAAA,cAAc,CAACD,UAAD,EAAa;AAAEG,QAAAA,MAAM,EAANA;AAAF,OAAb,CAAd;AACD,K;uGAEgB,UAACiC,UAAD,EAAavD,KAAb,EAAuB;AACtC,mBAA8C,MAAKiB,KAAL,IAAc,EAA5D;AAAA,UAAQC,KAAR,UAAQA,KAAR;AAAA,UAAeC,UAAf,UAAeA,UAAf;AAAA,UAA2BC,cAA3B,UAA2BA,cAA3B;;AACA,mBAAmBF,KAAK,IAAI,EAA5B;AAAA,UAAQI,MAAR,UAAQA,MAAR;;AAEA,UAAIiC,UAAU,IAAI,CAAd,IAAmBA,UAAU,GAAGjC,MAAM,CAACuB,MAA3C,EAAmD;AACjDvB,QAAAA,MAAM,CAACiC,UAAD,CAAN,GAAqBvD,KAArB;AAEAoB,QAAAA,cAAc,CAACD,UAAD,EAAa;AAAEG,UAAAA,MAAM,EAANA;AAAF,SAAb,CAAd;AACD;AACF,K;uGAEgB,UAACkC,MAAD,EAASC,QAAT,EAAsB;AACrC,mBAA8C,MAAKxC,KAAL,IAAc,EAA5D;AAAA,UAAQC,KAAR,UAAQA,KAAR;AAAA,UAAeC,UAAf,UAAeA,UAAf;AAAA,UAA2BC,cAA3B,UAA2BA,cAA3B;;AACA,mBAAmBF,KAAK,IAAI,EAA5B;AAAA,UAAQI,MAAR,UAAQA,MAAR;;AACA,UAAeoC,QAAf,GAA4BF,MAA5B,CAAQtB,KAAR;AACA,UAAMyB,GAAG,GAAGrC,MAAM,CAACoC,QAAD,CAAlB;AAEA,UAAME,eAAe,GAAGtC,MAAM,CAACuC,MAAP,CAAc,UAACC,IAAD,EAAO5B,KAAP;AAAA,eAAiBA,KAAK,KAAKwB,QAA3B;AAAA,OAAd,CAAxB;AAEA,UAAMK,SAAS,iDAAOH,eAAe,CAACb,KAAhB,CAAsB,CAAtB,EAAyBU,QAAzB,CAAP,IAA2CE,GAA3C,uCAAmDC,eAAe,CAACb,KAAhB,CAAsBU,QAAtB,CAAnD,EAAf;AAEArC,MAAAA,cAAc,CAACD,UAAD,EAAa;AAAEG,QAAAA,MAAM,EAAEyC;AAAV,OAAb,CAAd;AACD,K;yGAEkB,YAAM;AACvB,UAAQtD,eAAR,GAA4B,MAAK6B,KAAjC,CAAQ7B,eAAR;AACA,UAAMuD,iBAAiB,GACrBvD,eAAe,IAAIA,eAAe,KAAKxB,kBAAkB,GAAG,CAAzC,GAA6CA,kBAAkB,GAAG,CAAlE,GAAsEA,kBAA1E,CADjB;;AAGA,YAAK8B,QAAL,CAAc;AACZN,QAAAA,eAAe,EAAEuD,iBADL;AAEZtD,QAAAA,SAAS,EAAEsD,iBAAiB,GAAG,MAAKtC,iBAAL,CAAuBC,WAAvB,GAAqC,MAAKD,iBAAL,CAAuBE,WAF/E;AAGZjB,QAAAA,QAAQ,EAAEqD,iBAAiB,GAAG;AAHlB,OAAd;AAKD,K;yGAEkB,YAAM;AACvB,UAAQvD,eAAR,GAA4B,MAAK6B,KAAjC,CAAQ7B,eAAR;AACA,UAAMwD,iBAAiB,GAAGxD,eAAe,IAAIA,eAAe,KAAK,CAApB,GAAwBxB,kBAAkB,GAAG,CAA7C,GAAiDA,kBAArD,CAAzC;;AAEA,YAAK8B,QAAL,CAAc;AACZN,QAAAA,eAAe,EAAEwD,iBADL;AAEZvD,QAAAA,SAAS,EAAEuD,iBAAiB,GAAG,MAAKvC,iBAAL,CAAuBC,WAAvB,GAAqC,MAAKD,iBAAL,CAAuBE,WAF/E;AAGZjB,QAAAA,QAAQ,EAAEsD,iBAAiB,GAAG;AAHlB,OAAd;AAKD,K;;;;;;WA1LD,6BAAoB;AAClB,UAAI,KAAK3B,KAAL,CAAW5B,SAAX,KAAyB,IAAzB,IAAiC,KAAKgB,iBAA1C,EAA6D;AAC3D,aAAKX,QAAL,CAAc;AAAEL,UAAAA,SAAS,EAAE,KAAKgB,iBAAL,CAAuBC,WAAvB,GAAqC,KAAKD,iBAAL,CAAuBE;AAAzE,SAAd;AACD;AACF;;;WAED,4BAAmBsC,SAAnB,EAA8B;AAC5B,UACEA,SAAS,CAAChD,KAAV,CAAgBrB,SAAhB,KAA8B,KAAKoB,KAAL,CAAWC,KAAX,CAAiBrB,SAA/C,IACAqE,SAAS,CAACC,eAAV,KAA8B,KAAKlD,KAAL,CAAWkD,eADzC,IAEAD,SAAS,CAACE,WAAV,KAA0B,KAAKnD,KAAL,CAAWmD,WAHvC,EAIE;AACA,aAAKrD,QAAL,CAAc;AAAEL,UAAAA,SAAS,EAAE,KAAKgB,iBAAL,CAAuBC,WAAvB,GAAqC,KAAKD,iBAAL,CAAuBE;AAAzE,SAAd;AACD;AACF;;;WAED,0CAAiCyC,SAAjC,EAA4C;AAC1C,UACEA,SAAS,CAACD,WAAV,KAA0B,KAAKnD,KAAL,CAAWmD,WAArC,IACAC,SAAS,CAACC,aAAV,KAA4B,KAAKrD,KAAL,CAAWqD,aADvC,IAEAD,SAAS,CAACF,eAAV,KAA8B,KAAKlD,KAAL,CAAWkD,eAH3C,EAIE;AACA,aAAKpD,QAAL,CAAc;AACZN,UAAAA,eAAe,EAAE,CADL;AAEZE,UAAAA,QAAQ,EAAE,KAFE;AAGZD,UAAAA,SAAS,EAAE,KAAKgB,iBAAL,IAA0B,KAAKA,iBAAL,CAAuBC,WAAvB,GAAqC,KAAKD,iBAAL,CAAuBE;AAHrF,SAAd;AAKD;AACF,K,CAED;;;;WA8JA,kBAAS;AAAA;;AACP,mBAiBI,KAAKX,KAAL,IAAc,EAjBlB;AAAA,UACEsD,OADF,UACEA,OADF;AAAA,UAEEC,MAFF,UAEEA,MAFF;AAAA,UAGEtD,KAHF,UAGEA,KAHF;AAAA,UAIEC,UAJF,UAIEA,UAJF;AAAA,UAKEmD,aALF,UAKEA,aALF;AAAA,UAMElD,cANF,UAMEA,cANF;AAAA,UAOEgD,WAPF,UAOEA,WAPF;AAAA,UAQED,eARF,UAQEA,eARF;AAAA,UASEM,iBATF,UASEA,iBATF;AAAA,UAUEC,oBAVF,UAUEA,oBAVF;AAAA,UAWEC,iBAXF,UAWEA,iBAXF;AAAA,UAYEC,UAZF,UAYEA,UAZF;AAAA,UAaE9E,KAbF,UAaEA,KAbF;AAAA,UAcE+E,kBAdF,UAcEA,kBAdF;AAAA,UAeEC,gBAfF,UAeEA,gBAfF;AAAA,wCAgBEC,aAhBF;AAAA,UAgBEA,aAhBF,qCAgBkB,EAhBlB;;AAmBA,mBAA6D7D,KAAK,IAAI,EAAtE;AAAA,UAAQrB,SAAR,UAAQA,SAAR;AAAA,UAAmBwB,iBAAnB,UAAmBA,iBAAnB;AAAA,UAAsCuB,UAAtC,UAAsCA,UAAtC;AAAA,UAAkDtB,MAAlD,UAAkDA,MAAlD;;AAEA,wBASI,KAAKgB,KATT;AAAA,UACEhC,2BADF,eACEA,2BADF;AAAA,UAEEC,qBAFF,eAEEA,qBAFF;AAAA,UAGEC,qBAHF,eAGEA,qBAHF;AAAA,UAIEC,eAJF,eAIEA,eAJF;AAAA,UAKEC,SALF,eAKEA,SALF;AAAA,UAMEC,QANF,eAMEA,QANF;AAAA,UAOEC,cAPF,eAOEA,cAPF;AAAA,UAQEC,cARF,eAQEA,cARF;AAWA,UAAMmE,iBAAiB,GAAG,EAA1B;AACA,UAAMC,mBAAmB,GAAGzD,QAAQ,CAAC1B,KAAD,CAAR,GAAkBoF,uBAAlB,GAAoCC,yBAApC,IAAyD,GAArF,CAlCO,CAkCmF;AAE1F;;AACA,WAAK,IAAIC,UAAU,GAAGvF,SAAtB,EAAiCuF,UAAU,IAAIhB,WAAd,GAA4B,CAA5B,GAAgC,CAAjE,EAAoEgB,UAAU,IAAI,CAAlF,EAAqF;AACnFJ,QAAAA,iBAAiB,CAAChD,IAAlB,CAAuBoD,UAAvB;AACD;;AAED,0BACE;AACE,QAAA,GAAG,kBAAWjE,UAAX,CADL;AAEE,QAAA,SAAS,EAAEoD,OAAO,CAAClF,YAFrB;AAGE,QAAA,GAAG,EAAE,aAACgG,MAAD,EAAS;AACZ,UAAA,MAAI,CAAChG,YAAL,GAAoBgG,MAApB;AACD;AALH,sBAOE,gCAAC,wBAAD;AACE,QAAA,oBAAoB,EAAE,8BAACA,GAAD,EAAS;AAC7B,cAAIA,GAAJ,EAAS;AACP,YAAA,MAAI,CAAC3D,iBAAL,GAAyB2D,GAAzB;AACD;AACF,SALH;AAME,QAAA,GAAG,EAAE,YANP;AAOE,QAAA,UAAU,EAAEzC,UAPd;AAQE,QAAA,iBAAiB,EAAEoC,iBARrB;AASE,QAAA,iBAAiB,EAAE3D,iBATrB;AAUE,QAAA,aAAa,EAAE,uBAACiE,MAAD;AAAA,iBAAYlE,cAAc,CAACD,UAAD,EAAamE,MAAb,CAA1B;AAAA,SAVjB;AAWE,QAAA,kBAAkB,EAAE,4BAACC,KAAD;AAAA,iBAAWnE,cAAc,CAACD,UAAD,EAAa;AAAEyB,YAAAA,UAAU,EAAE2C;AAAd,WAAb,CAAzB;AAAA,SAXtB;AAYE,QAAA,aAAa,EAAEjB,aAZjB;AAaE,QAAA,eAAe,EAAEH,eAbnB;AAcE,QAAA,iBAAiB,EAAEM,iBAdrB;AAeE,QAAA,oBAAoB,EAAEC,oBAfxB;AAgBE,QAAA,SAAS,EAAE7E,SAhBb;AAiBE,QAAA,yBAAyB,EAAE,KAAK2F,yBAjBlC;AAkBE,QAAA,UAAU,EAAErE,UAlBd;AAmBE,QAAA,oBAAoB,EAAE,KAAKsE,oBAnB7B;AAoBE,QAAA,eAAe,EAAEhF,eApBnB;AAqBE,QAAA,mBAAmB,EAAEwE,mBArBvB;AAsBE,QAAA,UAAU,EAAEL,UAtBd;AAuBE,QAAA,kBAAkB,EAAEC,kBAvBtB;AAwBE,QAAA,gBAAgB,EAAEC,gBAxBpB;AAyBE,QAAA,aAAa,EAAEC;AAzBjB,QAPF,EAmCGzD,MAAM,CAACoE,GAAP,CAAW,UAAC1F,KAAD,EAAQkC,KAAR;AAAA,4BACV,gCAAC,iBAAD;AACE,UAAA,GAAG,EAAEA,KADP;AAEE,UAAA,KAAK,EAAEA,KAFT;AAGE,UAAA,KAAK,EAAEsC,MAAM,IAAIA,MAAM,CAACtC,KAAD,CAHzB;AAIE,UAAA,KAAK,EAAElC,KAJT;AAKE,UAAA,UAAU,EAAE4C,UAAU,IAAI,OAL5B;AAME,UAAA,iBAAiB,EAAEoC,iBANrB;AAOE,UAAA,iBAAiB,EAAE3D,iBAPrB;AAQE,UAAA,cAAc,EAAE;AAAA,mBAAM,MAAI,CAACsE,oBAAL,CAA0BzD,KAA1B,CAAN;AAAA,WARlB;AASE,UAAA,cAAc,EAAE,wBAAClC,KAAD;AAAA,mBAAW,MAAI,CAAC4F,cAAL,CAAoB1D,KAApB,EAA2BlC,KAA3B,CAAX;AAAA,WATlB;AAUE,UAAA,cAAc,EAAE,MAAI,CAAC6F,cAVvB;AAWE,UAAA,aAAa,EAAEvB,aAXjB;AAYE,UAAA,eAAe,EAAEH,eAZnB;AAaE,UAAA,SAAS,EAAEtE,SAbb;AAcE,UAAA,eAAe,EAAEY,eAdnB;AAeE,UAAA,iBAAiB,EAAEkE,iBAfrB;AAgBE,UAAA,mBAAmB,EAAEM,mBAhBvB;AAiBE,UAAA,UAAU,EAAEL,UAjBd;AAkBE,UAAA,kBAAkB,EAAEC,kBAlBtB;AAmBE,UAAA,aAAa,EAAEE;AAnBjB,UADU;AAAA,OAAX,CAnCH,eA2DE,gCAAC,aAAD;AACE,QAAA,KAAK,YAAK9F,kBAAkB,GAAG,CAA1B,OADP;AAEE,QAAA,IAAI,EAAE0B,QAFR;AAGE,QAAA,OAAO,EAAE,KAAKmF,gBAHhB;AAIE,QAAA,IAAI,YAAKX,yBAAL,OAJN;AAKE,QAAA,iBAAiB,EAAEV;AALrB,sBAOE,gCAAC,wBAAD,OAPF,CA3DF,eAoEE,gCAAC,aAAD;AACE,QAAA,KAAK,YAAKxF,kBAAkB,GAAG,CAA1B,OADP;AAEE,QAAA,IAAI,EAAEyB,SAFR;AAGE,QAAA,OAAO,EAAE,KAAKqF,gBAHhB;AAIE,QAAA,iBAAiB,EAAEtB;AAJrB,sBAME,gCAAC,2BAAD,OANF,CApEF,eA6EE,gCAAC,wBAAD;AAAkB,QAAA,OAAO,EAAE,KAAKuB;AAAhC,sBACE;AAAK,QAAA,uBAAuB,EAAE;AAAEC,UAAAA,MAAM,gBAASrD,UAAU,IAAI,QAAvB;AAAR;AAA9B,QADF,CA7EF,eAiFE,gCAAC,yBAAD;AACE,QAAA,IAAI,EAAE,CAAC,CAACtC,2BADV;AAEE,QAAA,iBAAiB,EAAE,KAAK4F,eAF1B;AAGE,QAAA,MAAM,EAAE,KAAK3D;AAHf,QAjFF,eAuFE,gCAAC,mBAAD;AACE,QAAA,IAAI,EAAE,CAAC,CAAChC,qBADV;AAEE,QAAA,UAAU,EAAEY,UAFd;AAGE,QAAA,WAAW,EAAE,KAAKgF,WAHpB;AAIE,QAAA,MAAM,EAAE,KAAK1D;AAJf,QAvFF,eA8FE,gCAAC,mBAAD;AACE,QAAA,IAAI,EAAE,CAAC,CAACjC,qBADV;AAEE,QAAA,WAAW,EAAE,KAAK4F,cAFpB;AAGE,QAAA,MAAM,EAAE,KAAKpD,oBAHf;AAIE,QAAA,UAAU,EAAEJ,UAAU,CAACE,WAAX;AAJd,QA9FF,eAoGE,gCAAC,kBAAD;AAAY,QAAA,IAAI,EAAElC,cAAlB;AAAkC,QAAA,IAAI,EAAEC,cAAxC;AAAwD,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACuB,GAAL,CAAS;AAAExB,YAAAA,cAAc,EAAE;AAAlB,WAAT,CAAN;AAAA;AAAjE,QApGF,CADF;AAwGD;;;EA3VwByF,kBAAMC,S;;;AA8VjCjG,KAAK,CAACkG,SAAN,GAAkB;AAChBhC,EAAAA,OAAO,EAAEiC,sBAAUC,MADH;AAEhBjC,EAAAA,MAAM,EAAEgC,sBAAUC,MAFF;AAGhBvF,EAAAA,KAAK,EAAEsF,sBAAUE,KAAV,CAAgB;AACrB7G,IAAAA,SAAS,EAAE2G,sBAAUG,MADA;AAErBtF,IAAAA,iBAAiB,EAAEmF,sBAAUI,OAAV,CAAkBJ,sBAAUK,MAA5B,CAFE;AAGrBjE,IAAAA,UAAU,EAAE4D,sBAAUK,MAHD;AAIrBvF,IAAAA,MAAM,EAAEkF,sBAAUI,OAAV,CACNJ,sBAAUE,KAAV,CAAgB;AACdxD,MAAAA,IAAI,EAAEsD,sBAAUK,MADF;AAEdzD,MAAAA,SAAS,EAAEoD,sBAAUI,OAAV,CAAkBJ,sBAAUK,MAA5B,CAFG;AAGd1E,MAAAA,sBAAsB,EAAEqE,sBAAUI,OAAV,CAAkBJ,sBAAUK,MAA5B,CAHV;AAId1D,MAAAA,WAAW,EAAEqD,sBAAUK;AAJT,KAAhB,CADM;AAJa,GAAhB,CAHS;AAgBhB/G,EAAAA,KAAK,EAAE0G,sBAAUK,MAhBD;AAiBhBzC,EAAAA,WAAW,EAAEoC,sBAAUM,IAjBP;AAkBhB3F,EAAAA,UAAU,EAAEqF,sBAAUG,MAlBN;AAmBhBvF,EAAAA,cAAc,EAAEoF,sBAAUO,IAnBV;AAoBhBvE,EAAAA,cAAc,EAAEgE,sBAAUO,IApBV;AAqBhBzC,EAAAA,aAAa,EAAEkC,sBAAUM,IArBT;AAsBhBrC,EAAAA,iBAAiB,EAAE+B,sBAAUM,IAtBb;AAuBhB3C,EAAAA,eAAe,EAAEqC,sBAAUM,IAvBX;AAwBhBjC,EAAAA,kBAAkB,EAAE2B,sBAAUC,MAxBd;AAyBhB/B,EAAAA,oBAAoB,EAAE8B,sBAAUM,IAzBhB;AA0BhBnC,EAAAA,iBAAiB,EAAE6B,sBAAUM;AA1Bb,CAAlB;;eA6Be,2BAAgB,wBAAW3H,MAAX,EAAmBkB,KAAnB,CAAhB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\n\nimport { withDragContext } from '@pie-lib/pie-toolbox/drag';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\nimport TraitsHeader from './traitsHeader';\nimport TraitTile from './trait';\nimport { Arrow, BlockWidth, DragHandleSpace, MultiTraitButton, PrimaryBlockWidth } from './common';\nimport { DecreaseMaxPoints, DeleteScale, DeleteTrait, InfoDialog } from './modals';\n\nconst AdjustedBlockWidth = BlockWidth + 2 * 8; // 8 is padding\n\nconst styles = (theme) => ({\n scaleWrapper: {\n display: 'flex',\n flexDirection: 'column',\n wordBreak: 'break-word',\n position: 'relative',\n marginBottom: theme.spacing.unit * 2.5,\n },\n maxPoints: {\n width: '300px',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 4,\n },\n trait: {\n background: color.secondaryBackground(),\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n padding: theme.spacing.unit * 2,\n },\n});\n\nexport class Scale extends React.Component {\n state = {\n showDecreaseMaxPointsDialog: false,\n showDeleteScaleDialog: false,\n showDeleteTraitDialog: false,\n currentPosition: 0,\n showRight: null,\n showLeft: null,\n showInfoDialog: false,\n infoDialogText: '',\n };\n\n set = (newState) => this.setState(newState);\n\n componentDidMount() {\n if (this.state.showRight === null && this.secondaryBlockRef) {\n this.setState({ showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth });\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.scale.maxPoints !== this.props.scale.maxPoints ||\n prevProps.showDescription !== this.props.showDescription ||\n prevProps.excludeZero !== this.props.excludeZero\n ) {\n this.setState({ showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth });\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (\n nextProps.excludeZero !== this.props.excludeZero ||\n nextProps.showStandards !== this.props.showStandards ||\n nextProps.showDescription !== this.props.showDescription\n ) {\n this.setState({\n currentPosition: 0,\n showLeft: false,\n showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n });\n }\n }\n\n // Max Points\n updateMaxPointsFieldValue = ({ target }) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { maxPoints, scorePointsLabels, traits } = scale;\n\n const numberValue = parseInt(target.value, 10);\n\n this.setState({\n currentPosition: 0,\n showLeft: false,\n showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n });\n\n if (numberValue < maxPoints) {\n this.showDecreaseMaxPointsModal({ newMaxPoints: numberValue });\n } else {\n for (let i = 0; i <= numberValue; i++) {\n if (!scorePointsLabels[i]) {\n scorePointsLabels.push('');\n }\n\n traits.forEach((trait, index) => {\n if (!traits[index].scorePointsDescriptors[i]) {\n traits[index].scorePointsDescriptors.push('');\n }\n });\n }\n\n onScaleChanged(scaleIndex, { maxPoints: numberValue, scorePointsLabels, traits });\n }\n };\n\n showDecreaseMaxPointsModal = ({ newMaxPoints }) => this.set({ showDecreaseMaxPointsDialog: true, newMaxPoints });\n\n hideDecreaseMaxPointsModal = () => this.set({ showDecreaseMaxPointsDialog: false, newMaxPoints: undefined });\n\n changeMaxPoints = () => {\n const { newMaxPoints } = this.state || {};\n const { scaleIndex, onScaleChanged } = this.props || {};\n\n if (newMaxPoints) {\n onScaleChanged(scaleIndex, { maxPoints: newMaxPoints });\n }\n\n this.hideDecreaseMaxPointsModal();\n };\n\n // Delete Scale\n showDeleteScaleModal = () => this.set({ showDeleteScaleDialog: true });\n\n hideDeleteScaleModal = () => this.set({ showDeleteScaleDialog: false });\n\n deleteScale = () => {\n const { scaleIndex, onScaleRemoved } = this.props || {};\n\n this.hideDeleteScaleModal();\n\n onScaleRemoved(scaleIndex);\n };\n\n // Delete Trait\n showDeleteTraitModal = (traitToDeleteIndex) => this.set({ showDeleteTraitDialog: true, traitToDeleteIndex });\n\n hideDeleteTraitModal = () => this.set({ showDeleteTraitDialog: false, traitToDeleteIndex: undefined });\n\n onTraitRemoved = () => {\n const { traitToDeleteIndex } = this.state;\n const { scale, scaleIndex, onScaleChanged, minNoOfTraits } = this.props || {};\n let { traits, traitLabel } = scale || {};\n\n if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;\n\n if (traits.length === minNoOfTraits) {\n this.set({\n infoDialogText: `There can't be less than ${minNoOfTraits} ${(traitLabel || 'trait').toLowerCase()}s.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n traits = [...traits.slice(0, traitToDeleteIndex), ...traits.slice(traitToDeleteIndex + 1)];\n\n onScaleChanged(scaleIndex, { traits });\n\n this.hideDeleteTraitModal();\n };\n\n onTraitAdded = () => {\n const { scale, scaleIndex, onScaleChanged, maxNoOfTraits } = this.props || {};\n const { traits, scorePointsLabels } = scale || {};\n\n if (traits.length === maxNoOfTraits) {\n this.set({\n infoDialogText: `There can't be more than ${maxNoOfTraits} scales.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n traits.push({\n name: '',\n description: '',\n standards: [],\n scorePointsDescriptors: Array.from({ length: scorePointsLabels.length }, () => ''),\n });\n\n onScaleChanged(scaleIndex, { traits });\n };\n\n onTraitChanged = (traitIndex, trait) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { traits } = scale || {};\n\n if (traitIndex >= 0 && traitIndex < traits.length) {\n traits[traitIndex] = trait;\n\n onScaleChanged(scaleIndex, { traits });\n }\n };\n\n onTraitDropped = (source, newIndex) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { traits } = scale || {};\n const { index: oldIndex } = source;\n const cup = traits[oldIndex];\n\n const remainingTraits = traits.filter((item, index) => index !== oldIndex);\n\n const newTraits = [...remainingTraits.slice(0, newIndex), cup, ...remainingTraits.slice(newIndex)];\n\n onScaleChanged(scaleIndex, { traits: newTraits });\n };\n\n decreasePosition = () => {\n const { currentPosition } = this.state;\n const decreasedPosition =\n currentPosition - (currentPosition === AdjustedBlockWidth / 2 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);\n\n this.setState({\n currentPosition: decreasedPosition,\n showRight: decreasedPosition < this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n showLeft: decreasedPosition > 0,\n });\n };\n\n increasePosition = () => {\n const { currentPosition } = this.state;\n const increasedPosition = currentPosition + (currentPosition === 0 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);\n\n this.setState({\n currentPosition: increasedPosition,\n showRight: increasedPosition < this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n showLeft: increasedPosition > 0,\n });\n };\n\n render() {\n const {\n classes,\n errors,\n scale,\n scaleIndex,\n showStandards,\n onScaleChanged,\n excludeZero,\n showDescription,\n showLevelTagInput,\n showScorePointLabels,\n enableDragAndDrop,\n spellCheck,\n width,\n uploadSoundSupport,\n maxPointsEnabled,\n mathMlOptions = {},\n } = this.props || {};\n\n const { maxPoints, scorePointsLabels, traitLabel, traits } = scale || {};\n\n const {\n showDecreaseMaxPointsDialog,\n showDeleteScaleDialog,\n showDeleteTraitDialog,\n currentPosition,\n showRight,\n showLeft,\n showInfoDialog,\n infoDialogText,\n } = this.state;\n\n const scorePointsValues = [];\n const secondaryBlockWidth = parseInt(width) - DragHandleSpace - PrimaryBlockWidth || 320; // 320 is minWidth\n\n // determining the score points values\n for (let pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {\n scorePointsValues.push(pointValue);\n }\n\n return (\n <div\n key={`scale-${scaleIndex}`}\n className={classes.scaleWrapper}\n ref={(ref) => {\n this.scaleWrapper = ref;\n }}\n >\n <TraitsHeader\n setSecondaryBlockRef={(ref) => {\n if (ref) {\n this.secondaryBlockRef = ref;\n }\n }}\n key={'header-key'}\n traitLabel={traitLabel}\n scorePointsValues={scorePointsValues}\n scorePointsLabels={scorePointsLabels}\n onScaleChange={(params) => onScaleChanged(scaleIndex, params)}\n onTraitLabelChange={(label) => onScaleChanged(scaleIndex, { traitLabel: label })}\n showStandards={showStandards}\n showDescription={showDescription}\n showLevelTagInput={showLevelTagInput}\n showScorePointLabels={showScorePointLabels}\n maxPoints={maxPoints}\n updateMaxPointsFieldValue={this.updateMaxPointsFieldValue}\n scaleIndex={scaleIndex}\n showDeleteScaleModal={this.showDeleteScaleModal}\n currentPosition={currentPosition}\n secondaryBlockWidth={secondaryBlockWidth}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n maxPointsEnabled={maxPointsEnabled}\n mathMlOptions={mathMlOptions}\n />\n\n {traits.map((trait, index) => (\n <TraitTile\n key={index}\n index={index}\n error={errors && errors[index]}\n trait={trait}\n traitLabel={traitLabel || 'Trait'}\n scorePointsValues={scorePointsValues}\n scorePointsLabels={scorePointsLabels}\n onTraitRemoved={() => this.showDeleteTraitModal(index)}\n onTraitChanged={(trait) => this.onTraitChanged(index, trait)}\n onTraitDropped={this.onTraitDropped}\n showStandards={showStandards}\n showDescription={showDescription}\n maxPoints={maxPoints}\n currentPosition={currentPosition}\n enableDragAndDrop={enableDragAndDrop}\n secondaryBlockWidth={secondaryBlockWidth}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n ))}\n\n <Arrow\n width={`${AdjustedBlockWidth / 2}px`}\n show={showLeft}\n onClick={this.decreasePosition}\n left={`${PrimaryBlockWidth}px`}\n showLevelTagInput={showLevelTagInput}\n >\n <ArrowBackIosIcon />\n </Arrow>\n <Arrow\n width={`${AdjustedBlockWidth / 2}px`}\n show={showRight}\n onClick={this.increasePosition}\n showLevelTagInput={showLevelTagInput}\n >\n <ArrowForwardIosIcon />\n </Arrow>\n\n <MultiTraitButton onClick={this.onTraitAdded}>\n <div dangerouslySetInnerHTML={{ __html: `Add ${traitLabel || ' Trait'}` }} />\n </MultiTraitButton>\n\n <DecreaseMaxPoints\n open={!!showDecreaseMaxPointsDialog}\n deleteScorePoints={this.changeMaxPoints}\n cancel={this.hideDecreaseMaxPointsModal}\n />\n\n <DeleteScale\n open={!!showDeleteScaleDialog}\n scaleIndex={scaleIndex}\n deleteScale={this.deleteScale}\n cancel={this.hideDeleteScaleModal}\n />\n\n <DeleteTrait\n open={!!showDeleteTraitDialog}\n deleteTrait={this.onTraitRemoved}\n cancel={this.hideDeleteTraitModal}\n traitLabel={traitLabel.toLowerCase()}\n />\n <InfoDialog open={showInfoDialog} text={infoDialogText} onClose={() => this.set({ showInfoDialog: false })} />\n </div>\n );\n }\n}\n\nScale.propTypes = {\n classes: PropTypes.object,\n errors: PropTypes.object,\n scale: PropTypes.shape({\n maxPoints: PropTypes.number,\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n traits: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n standards: PropTypes.arrayOf(PropTypes.string),\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n }),\n ),\n }),\n width: PropTypes.string,\n excludeZero: PropTypes.bool,\n scaleIndex: PropTypes.number,\n onScaleChanged: PropTypes.func,\n onScaleRemoved: PropTypes.func,\n showStandards: PropTypes.bool,\n showLevelTagInput: PropTypes.bool,\n showDescription: PropTypes.bool,\n uploadSoundSupport: PropTypes.object,\n showScorePointLabels: PropTypes.bool,\n enableDragAndDrop: PropTypes.bool,\n};\n\nexport default withDragContext(withStyles(styles)(Scale));\n"],"file":"scale.js"}
|