@pie-element/multi-trait-rubric 3.4.1-next.42 → 3.4.1-next.45

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,574 @@
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] && scorePointsLabels[i] !== '') {
131
+ scorePointsLabels.push('');
132
+ }
133
+
134
+ traits.forEach(function (trait, index) {
135
+ if (!traits[index].scorePointsDescriptors[i] && 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
+ scale = _ref5.scale;
173
+
174
+ var _ref6 = scale || {},
175
+ maxPoints = _ref6.maxPoints;
176
+
177
+ var _ref7 = scale || {},
178
+ scorePointsLabels = _ref7.scorePointsLabels;
179
+
180
+ if (newMaxPoints) {
181
+ if (newMaxPoints < maxPoints) {
182
+ scorePointsLabels = scorePointsLabels.slice(0, newMaxPoints);
183
+ }
184
+
185
+ onScaleChanged(scaleIndex, {
186
+ maxPoints: newMaxPoints,
187
+ scorePointsLabels: scorePointsLabels
188
+ });
189
+ }
190
+
191
+ _this.hideDecreaseMaxPointsModal();
192
+ });
193
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteScaleModal", function () {
194
+ return _this.set({
195
+ showDeleteScaleDialog: true
196
+ });
197
+ });
198
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteScaleModal", function () {
199
+ return _this.set({
200
+ showDeleteScaleDialog: false
201
+ });
202
+ });
203
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteScale", function () {
204
+ var _ref8 = _this.props || {},
205
+ scaleIndex = _ref8.scaleIndex,
206
+ onScaleRemoved = _ref8.onScaleRemoved;
207
+
208
+ _this.hideDeleteScaleModal();
209
+
210
+ onScaleRemoved(scaleIndex);
211
+ });
212
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteTraitModal", function (traitToDeleteIndex) {
213
+ return _this.set({
214
+ showDeleteTraitDialog: true,
215
+ traitToDeleteIndex: traitToDeleteIndex
216
+ });
217
+ });
218
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteTraitModal", function () {
219
+ return _this.set({
220
+ showDeleteTraitDialog: false,
221
+ traitToDeleteIndex: undefined
222
+ });
223
+ });
224
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitRemoved", function () {
225
+ var traitToDeleteIndex = _this.state.traitToDeleteIndex;
226
+
227
+ var _ref9 = _this.props || {},
228
+ scale = _ref9.scale,
229
+ scaleIndex = _ref9.scaleIndex,
230
+ onScaleChanged = _ref9.onScaleChanged,
231
+ minNoOfTraits = _ref9.minNoOfTraits;
232
+
233
+ var _ref10 = scale || {},
234
+ traits = _ref10.traits,
235
+ traitLabel = _ref10.traitLabel;
236
+
237
+ if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;
238
+
239
+ if (traits.length === minNoOfTraits) {
240
+ _this.set({
241
+ infoDialogText: "There can't be less than ".concat(minNoOfTraits, " ").concat((traitLabel || 'trait').toLowerCase(), "s."),
242
+ showInfoDialog: true
243
+ });
244
+
245
+ return false;
246
+ }
247
+
248
+ traits = [].concat((0, _toConsumableArray2["default"])(traits.slice(0, traitToDeleteIndex)), (0, _toConsumableArray2["default"])(traits.slice(traitToDeleteIndex + 1)));
249
+ onScaleChanged(scaleIndex, {
250
+ traits: traits
251
+ });
252
+
253
+ _this.hideDeleteTraitModal();
254
+ });
255
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitAdded", function () {
256
+ var _ref11 = _this.props || {},
257
+ scale = _ref11.scale,
258
+ scaleIndex = _ref11.scaleIndex,
259
+ onScaleChanged = _ref11.onScaleChanged,
260
+ maxNoOfTraits = _ref11.maxNoOfTraits;
261
+
262
+ var _ref12 = scale || {},
263
+ traits = _ref12.traits,
264
+ scorePointsLabels = _ref12.scorePointsLabels;
265
+
266
+ if (traits.length === maxNoOfTraits) {
267
+ _this.set({
268
+ infoDialogText: "There can't be more than ".concat(maxNoOfTraits, " scales."),
269
+ showInfoDialog: true
270
+ });
271
+
272
+ return false;
273
+ }
274
+
275
+ traits.push({
276
+ name: '',
277
+ description: '',
278
+ standards: [],
279
+ scorePointsDescriptors: Array.from({
280
+ length: scorePointsLabels.length
281
+ }, function () {
282
+ return '';
283
+ })
284
+ });
285
+ onScaleChanged(scaleIndex, {
286
+ traits: traits
287
+ });
288
+ });
289
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitChanged", function (traitIndex, trait) {
290
+ var _ref13 = _this.props || {},
291
+ scale = _ref13.scale,
292
+ scaleIndex = _ref13.scaleIndex,
293
+ onScaleChanged = _ref13.onScaleChanged;
294
+
295
+ var _ref14 = scale || {},
296
+ traits = _ref14.traits;
297
+
298
+ if (traitIndex >= 0 && traitIndex < traits.length) {
299
+ traits[traitIndex] = trait;
300
+ onScaleChanged(scaleIndex, {
301
+ traits: traits
302
+ });
303
+ }
304
+ });
305
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitDropped", function (source, newIndex) {
306
+ var _ref15 = _this.props || {},
307
+ scale = _ref15.scale,
308
+ scaleIndex = _ref15.scaleIndex,
309
+ onScaleChanged = _ref15.onScaleChanged;
310
+
311
+ var _ref16 = scale || {},
312
+ traits = _ref16.traits;
313
+
314
+ var oldIndex = source.index;
315
+ var cup = traits[oldIndex];
316
+ var remainingTraits = traits.filter(function (item, index) {
317
+ return index !== oldIndex;
318
+ });
319
+ var newTraits = [].concat((0, _toConsumableArray2["default"])(remainingTraits.slice(0, newIndex)), [cup], (0, _toConsumableArray2["default"])(remainingTraits.slice(newIndex)));
320
+ onScaleChanged(scaleIndex, {
321
+ traits: newTraits
322
+ });
323
+ });
324
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "decreasePosition", function () {
325
+ var currentPosition = _this.state.currentPosition;
326
+ var decreasedPosition = currentPosition - (currentPosition === AdjustedBlockWidth / 2 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
327
+
328
+ _this.setState({
329
+ currentPosition: decreasedPosition,
330
+ showRight: decreasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
331
+ showLeft: decreasedPosition > 0
332
+ });
333
+ });
334
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "increasePosition", function () {
335
+ var currentPosition = _this.state.currentPosition;
336
+ var increasedPosition = currentPosition + (currentPosition === 0 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
337
+
338
+ _this.setState({
339
+ currentPosition: increasedPosition,
340
+ showRight: increasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
341
+ showLeft: increasedPosition > 0
342
+ });
343
+ });
344
+ return _this;
345
+ }
346
+
347
+ (0, _createClass2["default"])(Scale, [{
348
+ key: "componentDidMount",
349
+ value: function componentDidMount() {
350
+ if (this.state.showRight === null && this.secondaryBlockRef) {
351
+ this.setState({
352
+ showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
353
+ });
354
+ }
355
+ }
356
+ }, {
357
+ key: "componentDidUpdate",
358
+ value: function componentDidUpdate(prevProps) {
359
+ if (prevProps.scale.maxPoints !== this.props.scale.maxPoints || prevProps.showDescription !== this.props.showDescription || prevProps.excludeZero !== this.props.excludeZero) {
360
+ this.setState({
361
+ showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
362
+ });
363
+ }
364
+ }
365
+ }, {
366
+ key: "UNSAFE_componentWillReceiveProps",
367
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
368
+ if (nextProps.excludeZero !== this.props.excludeZero || nextProps.showStandards !== this.props.showStandards || nextProps.showDescription !== this.props.showDescription) {
369
+ this.setState({
370
+ currentPosition: 0,
371
+ showLeft: false,
372
+ showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
373
+ });
374
+ }
375
+ } // Max Points
376
+
377
+ }, {
378
+ key: "render",
379
+ value: function render() {
380
+ var _this2 = this;
381
+
382
+ var _ref17 = this.props || {},
383
+ classes = _ref17.classes,
384
+ errors = _ref17.errors,
385
+ scale = _ref17.scale,
386
+ scaleIndex = _ref17.scaleIndex,
387
+ showStandards = _ref17.showStandards,
388
+ onScaleChanged = _ref17.onScaleChanged,
389
+ excludeZero = _ref17.excludeZero,
390
+ showDescription = _ref17.showDescription,
391
+ showLevelTagInput = _ref17.showLevelTagInput,
392
+ showScorePointLabels = _ref17.showScorePointLabels,
393
+ enableDragAndDrop = _ref17.enableDragAndDrop,
394
+ spellCheck = _ref17.spellCheck,
395
+ width = _ref17.width,
396
+ uploadSoundSupport = _ref17.uploadSoundSupport,
397
+ maxPointsEnabled = _ref17.maxPointsEnabled,
398
+ _ref17$mathMlOptions = _ref17.mathMlOptions,
399
+ mathMlOptions = _ref17$mathMlOptions === void 0 ? {} : _ref17$mathMlOptions,
400
+ maxMaxPoints = _ref17.maxMaxPoints;
401
+
402
+ var _ref18 = scale || {},
403
+ maxPoints = _ref18.maxPoints,
404
+ scorePointsLabels = _ref18.scorePointsLabels,
405
+ traitLabel = _ref18.traitLabel,
406
+ traits = _ref18.traits;
407
+
408
+ var _this$state = this.state,
409
+ showDecreaseMaxPointsDialog = _this$state.showDecreaseMaxPointsDialog,
410
+ showDeleteScaleDialog = _this$state.showDeleteScaleDialog,
411
+ showDeleteTraitDialog = _this$state.showDeleteTraitDialog,
412
+ currentPosition = _this$state.currentPosition,
413
+ showRight = _this$state.showRight,
414
+ showLeft = _this$state.showLeft,
415
+ showInfoDialog = _this$state.showInfoDialog,
416
+ infoDialogText = _this$state.infoDialogText;
417
+
418
+ var _ref19 = errors || {},
419
+ traitsErrors = _ref19.traitsErrors,
420
+ scorePointsErrors = _ref19.scorePointsErrors;
421
+
422
+ var currentScaleTraitsErrors = traitsErrors && traitsErrors[scaleIndex] || {};
423
+ var currentScalePointsLabelsErrors = scorePointsErrors && scorePointsErrors[scaleIndex] || {};
424
+ var scorePointsValues = [];
425
+ var secondaryBlockWidth = parseInt(width) - _common.DragHandleSpace - _common.PrimaryBlockWidth || 320; // 320 is minWidth
426
+ // determining the score points values
427
+
428
+ for (var pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {
429
+ scorePointsValues.push(pointValue);
430
+ }
431
+
432
+ return /*#__PURE__*/_react["default"].createElement("div", {
433
+ key: "scale-".concat(scaleIndex),
434
+ className: classes.scaleWrapper,
435
+ ref: function ref(_ref20) {
436
+ _this2.scaleWrapper = _ref20;
437
+ }
438
+ }, /*#__PURE__*/_react["default"].createElement(_traitsHeader["default"], {
439
+ setSecondaryBlockRef: function setSecondaryBlockRef(ref) {
440
+ if (ref) {
441
+ _this2.secondaryBlockRef = ref;
442
+ }
443
+ },
444
+ key: 'header-key',
445
+ errors: currentScalePointsLabelsErrors,
446
+ traitLabel: traitLabel,
447
+ scorePointsValues: scorePointsValues,
448
+ scorePointsLabels: scorePointsLabels,
449
+ onScaleChange: function onScaleChange(params) {
450
+ return onScaleChanged(scaleIndex, params);
451
+ },
452
+ onTraitLabelChange: function onTraitLabelChange(label) {
453
+ return onScaleChanged(scaleIndex, {
454
+ traitLabel: label
455
+ });
456
+ },
457
+ showStandards: showStandards,
458
+ showDescription: showDescription,
459
+ showLevelTagInput: showLevelTagInput,
460
+ showScorePointLabels: showScorePointLabels,
461
+ maxPoints: maxPoints,
462
+ updateMaxPointsFieldValue: this.updateMaxPointsFieldValue,
463
+ scaleIndex: scaleIndex,
464
+ showDeleteScaleModal: this.showDeleteScaleModal,
465
+ currentPosition: currentPosition,
466
+ secondaryBlockWidth: secondaryBlockWidth,
467
+ spellCheck: spellCheck,
468
+ uploadSoundSupport: uploadSoundSupport,
469
+ maxPointsEnabled: maxPointsEnabled,
470
+ mathMlOptions: mathMlOptions,
471
+ maxMaxPoints: maxMaxPoints
472
+ }), traits.map(function (trait, index) {
473
+ return /*#__PURE__*/_react["default"].createElement(_trait["default"], {
474
+ key: index,
475
+ index: index,
476
+ error: currentScaleTraitsErrors && currentScaleTraitsErrors[index],
477
+ trait: trait,
478
+ traitLabel: traitLabel || 'Trait',
479
+ scorePointsValues: scorePointsValues,
480
+ scorePointsLabels: scorePointsLabels,
481
+ onTraitRemoved: function onTraitRemoved() {
482
+ return _this2.showDeleteTraitModal(index);
483
+ },
484
+ onTraitChanged: function onTraitChanged(trait) {
485
+ return _this2.onTraitChanged(index, trait);
486
+ },
487
+ onTraitDropped: _this2.onTraitDropped,
488
+ showStandards: showStandards,
489
+ showDescription: showDescription,
490
+ maxPoints: maxPoints,
491
+ currentPosition: currentPosition,
492
+ enableDragAndDrop: enableDragAndDrop,
493
+ secondaryBlockWidth: secondaryBlockWidth,
494
+ spellCheck: spellCheck,
495
+ uploadSoundSupport: uploadSoundSupport,
496
+ mathMlOptions: mathMlOptions
497
+ });
498
+ }), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
499
+ width: "".concat(AdjustedBlockWidth / 2, "px"),
500
+ show: showLeft,
501
+ onClick: this.decreasePosition,
502
+ left: "".concat(_common.PrimaryBlockWidth, "px"),
503
+ showLevelTagInput: showLevelTagInput
504
+ }, /*#__PURE__*/_react["default"].createElement(_ArrowBackIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
505
+ width: "".concat(AdjustedBlockWidth / 2, "px"),
506
+ show: showRight,
507
+ onClick: this.increasePosition,
508
+ showLevelTagInput: showLevelTagInput
509
+ }, /*#__PURE__*/_react["default"].createElement(_ArrowForwardIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.MultiTraitButton, {
510
+ onClick: this.onTraitAdded
511
+ }, /*#__PURE__*/_react["default"].createElement("div", {
512
+ dangerouslySetInnerHTML: {
513
+ __html: "Add ".concat(traitLabel || ' Trait')
514
+ }
515
+ })), /*#__PURE__*/_react["default"].createElement(_modals.DecreaseMaxPoints, {
516
+ open: !!showDecreaseMaxPointsDialog,
517
+ deleteScorePoints: this.changeMaxPoints,
518
+ cancel: this.hideDecreaseMaxPointsModal
519
+ }), /*#__PURE__*/_react["default"].createElement(_modals.DeleteScale, {
520
+ open: !!showDeleteScaleDialog,
521
+ scaleIndex: scaleIndex,
522
+ deleteScale: this.deleteScale,
523
+ cancel: this.hideDeleteScaleModal
524
+ }), /*#__PURE__*/_react["default"].createElement(_modals.DeleteTrait, {
525
+ open: !!showDeleteTraitDialog,
526
+ deleteTrait: this.onTraitRemoved,
527
+ cancel: this.hideDeleteTraitModal,
528
+ traitLabel: traitLabel.toLowerCase()
529
+ }), /*#__PURE__*/_react["default"].createElement(_modals.InfoDialog, {
530
+ open: showInfoDialog,
531
+ text: infoDialogText,
532
+ onClose: function onClose() {
533
+ return _this2.set({
534
+ showInfoDialog: false
535
+ });
536
+ }
537
+ }));
538
+ }
539
+ }]);
540
+ return Scale;
541
+ }(_react["default"].Component);
542
+
543
+ exports.Scale = Scale;
544
+ Scale.propTypes = {
545
+ classes: _propTypes["default"].object,
546
+ errors: _propTypes["default"].object,
547
+ scale: _propTypes["default"].shape({
548
+ maxPoints: _propTypes["default"].number,
549
+ scorePointsLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
550
+ traitLabel: _propTypes["default"].string,
551
+ traits: _propTypes["default"].arrayOf(_propTypes["default"].shape({
552
+ name: _propTypes["default"].string,
553
+ standards: _propTypes["default"].arrayOf(_propTypes["default"].string),
554
+ scorePointsDescriptors: _propTypes["default"].arrayOf(_propTypes["default"].string),
555
+ description: _propTypes["default"].string
556
+ }))
557
+ }),
558
+ width: _propTypes["default"].string,
559
+ excludeZero: _propTypes["default"].bool,
560
+ scaleIndex: _propTypes["default"].number,
561
+ onScaleChanged: _propTypes["default"].func,
562
+ onScaleRemoved: _propTypes["default"].func,
563
+ showStandards: _propTypes["default"].bool,
564
+ showLevelTagInput: _propTypes["default"].bool,
565
+ showDescription: _propTypes["default"].bool,
566
+ uploadSoundSupport: _propTypes["default"].object,
567
+ showScorePointLabels: _propTypes["default"].bool,
568
+ enableDragAndDrop: _propTypes["default"].bool
569
+ };
570
+
571
+ var _default = (0, _drag.withDragContext)((0, _styles.withStyles)(styles)(Scale));
572
+
573
+ exports["default"] = _default;
574
+ //# 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","slice","hideDecreaseMaxPointsModal","onScaleRemoved","hideDeleteScaleModal","traitToDeleteIndex","minNoOfTraits","traitLabel","length","toLowerCase","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","maxMaxPoints","traitsErrors","scorePointsErrors","currentScaleTraitsErrors","currentScalePointsLabelsErrors","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":"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","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] && scorePointsLabels[i] !== '') {\n scorePointsLabels.push('');\n }\n\n traits.forEach((trait, index) => {\n if (!traits[index].scorePointsDescriptors[i] && 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, scale } = this.props || {};\n const { maxPoints } = scale || {};\n let { scorePointsLabels } = scale || {};\n\n if (newMaxPoints) {\n if (newMaxPoints < maxPoints) {\n scorePointsLabels = scorePointsLabels.slice(0, newMaxPoints);\n }\n\n onScaleChanged(scaleIndex, { maxPoints: newMaxPoints, scorePointsLabels });\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 maxMaxPoints\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 { traitsErrors, scorePointsErrors } = errors || {};\n const currentScaleTraitsErrors = traitsErrors && traitsErrors[scaleIndex] || {};\n const currentScalePointsLabelsErrors = scorePointsErrors && scorePointsErrors[scaleIndex] || {};\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 errors={currentScalePointsLabelsErrors}\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 maxMaxPoints={maxMaxPoints}\n />\n\n {traits.map((trait, index) => (\n <TraitTile\n key={index}\n index={index}\n error={currentScaleTraitsErrors && currentScaleTraitsErrors[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"}