@pie-element/multi-trait-rubric 2.5.1-beta.0 → 2.5.1-beta.3

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.
@@ -1,533 +0,0 @@
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/drag");
37
-
38
- var _renderUi = require("@pie-lib/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 = {
55
- scaleWrapper: {
56
- display: 'flex',
57
- flexDirection: 'column',
58
- margin: '12px 0',
59
- wordBreak: 'break-word',
60
- padding: "16px 0 16px ".concat(_common.DragHandleSpace, "px"),
61
- position: 'relative'
62
- },
63
- maxPoints: {
64
- width: '300px',
65
- margin: '16px 0 32px'
66
- },
67
- trait: {
68
- background: _renderUi.color.secondaryBackground(),
69
- margin: '16px 0',
70
- padding: '16px'
71
- }
72
- };
73
-
74
- var Scale = /*#__PURE__*/function (_React$Component) {
75
- (0, _inherits2["default"])(Scale, _React$Component);
76
-
77
- var _super = _createSuper(Scale);
78
-
79
- function Scale() {
80
- var _this;
81
-
82
- (0, _classCallCheck2["default"])(this, Scale);
83
-
84
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
85
- args[_key] = arguments[_key];
86
- }
87
-
88
- _this = _super.call.apply(_super, [this].concat(args));
89
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
90
- showDecreaseMaxPointsDialog: false,
91
- showDeleteScaleDialog: false,
92
- showDeleteTraitDialog: false,
93
- currentPosition: 0,
94
- showRight: null,
95
- showLeft: null,
96
- showInfoDialog: false,
97
- infoDialogText: ''
98
- });
99
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "set", function (newState) {
100
- return _this.setState(newState);
101
- });
102
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateMaxPointsFieldValue", function (_ref) {
103
- var target = _ref.target;
104
-
105
- var _ref2 = _this.props || {},
106
- scale = _ref2.scale,
107
- scaleIndex = _ref2.scaleIndex,
108
- onScaleChanged = _ref2.onScaleChanged;
109
-
110
- var maxPoints = scale.maxPoints,
111
- scorePointsLabels = scale.scorePointsLabels,
112
- traits = scale.traits;
113
- var numberValue = parseInt(target.value, 10);
114
-
115
- _this.setState({
116
- currentPosition: 0,
117
- showLeft: false,
118
- showRight: _this.secondaryBlockRef && _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth
119
- });
120
-
121
- if (numberValue < maxPoints) {
122
- _this.showDecreaseMaxPointsModal({
123
- newMaxPoints: numberValue
124
- });
125
- } else {
126
- var _loop = function _loop(i) {
127
- if (!scorePointsLabels[i]) {
128
- scorePointsLabels.push('');
129
- }
130
-
131
- traits.forEach(function (trait, index) {
132
- if (!traits[index].scorePointsDescriptors[i]) {
133
- traits[index].scorePointsDescriptors.push('');
134
- }
135
- });
136
- };
137
-
138
- for (var i = 0; i <= numberValue; i++) {
139
- _loop(i);
140
- }
141
-
142
- onScaleChanged(scaleIndex, {
143
- maxPoints: numberValue,
144
- scorePointsLabels: scorePointsLabels,
145
- traits: traits
146
- });
147
- }
148
- });
149
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDecreaseMaxPointsModal", function (_ref3) {
150
- var newMaxPoints = _ref3.newMaxPoints;
151
- return _this.set({
152
- showDecreaseMaxPointsDialog: true,
153
- newMaxPoints: newMaxPoints
154
- });
155
- });
156
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDecreaseMaxPointsModal", function () {
157
- return _this.set({
158
- showDecreaseMaxPointsDialog: false,
159
- newMaxPoints: undefined
160
- });
161
- });
162
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMaxPoints", function () {
163
- var _ref4 = _this.state || {},
164
- newMaxPoints = _ref4.newMaxPoints;
165
-
166
- var _ref5 = _this.props || {},
167
- scaleIndex = _ref5.scaleIndex,
168
- onScaleChanged = _ref5.onScaleChanged;
169
-
170
- if (newMaxPoints) {
171
- onScaleChanged(scaleIndex, {
172
- maxPoints: newMaxPoints
173
- });
174
- }
175
-
176
- _this.hideDecreaseMaxPointsModal();
177
- });
178
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteScaleModal", function () {
179
- return _this.set({
180
- showDeleteScaleDialog: true
181
- });
182
- });
183
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteScaleModal", function () {
184
- return _this.set({
185
- showDeleteScaleDialog: false
186
- });
187
- });
188
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteScale", function () {
189
- var _ref6 = _this.props || {},
190
- scaleIndex = _ref6.scaleIndex,
191
- onScaleRemoved = _ref6.onScaleRemoved;
192
-
193
- _this.hideDeleteScaleModal();
194
-
195
- onScaleRemoved(scaleIndex);
196
- });
197
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteTraitModal", function (traitToDeleteIndex) {
198
- return _this.set({
199
- showDeleteTraitDialog: true,
200
- traitToDeleteIndex: traitToDeleteIndex
201
- });
202
- });
203
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteTraitModal", function () {
204
- return _this.set({
205
- showDeleteTraitDialog: false,
206
- traitToDeleteIndex: undefined
207
- });
208
- });
209
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitRemoved", function () {
210
- var traitToDeleteIndex = _this.state.traitToDeleteIndex;
211
-
212
- var _ref7 = _this.props || {},
213
- scale = _ref7.scale,
214
- scaleIndex = _ref7.scaleIndex,
215
- onScaleChanged = _ref7.onScaleChanged,
216
- minNoOfTraits = _ref7.minNoOfTraits;
217
-
218
- var _ref8 = scale || {},
219
- traits = _ref8.traits,
220
- traitLabel = _ref8.traitLabel;
221
-
222
- if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;
223
-
224
- if (traits.length === minNoOfTraits) {
225
- _this.set({
226
- infoDialogText: "There can't be less than ".concat(minNoOfTraits, " ").concat((traitLabel || 'trait').toLowerCase(), "s."),
227
- showInfoDialog: true
228
- });
229
-
230
- return false;
231
- }
232
-
233
- traits = [].concat((0, _toConsumableArray2["default"])(traits.slice(0, traitToDeleteIndex)), (0, _toConsumableArray2["default"])(traits.slice(traitToDeleteIndex + 1)));
234
- onScaleChanged(scaleIndex, {
235
- traits: traits
236
- });
237
-
238
- _this.hideDeleteTraitModal();
239
- });
240
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitAdded", function () {
241
- var _ref9 = _this.props || {},
242
- scale = _ref9.scale,
243
- scaleIndex = _ref9.scaleIndex,
244
- onScaleChanged = _ref9.onScaleChanged,
245
- maxNoOfTraits = _ref9.maxNoOfTraits;
246
-
247
- var _ref10 = scale || {},
248
- traits = _ref10.traits,
249
- scorePointsLabels = _ref10.scorePointsLabels;
250
-
251
- if (traits.length === maxNoOfTraits) {
252
- _this.set({
253
- infoDialogText: "There can't be more than ".concat(maxNoOfTraits, " scales."),
254
- showInfoDialog: true
255
- });
256
-
257
- return false;
258
- }
259
-
260
- traits.push({
261
- name: '',
262
- description: '',
263
- standards: [],
264
- scorePointsDescriptors: Array.from({
265
- length: scorePointsLabels.length
266
- }, function () {
267
- return '';
268
- })
269
- });
270
- onScaleChanged(scaleIndex, {
271
- traits: traits
272
- });
273
- });
274
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitChanged", function (traitIndex, trait) {
275
- var _ref11 = _this.props || {},
276
- scale = _ref11.scale,
277
- scaleIndex = _ref11.scaleIndex,
278
- onScaleChanged = _ref11.onScaleChanged;
279
-
280
- var _ref12 = scale || {},
281
- traits = _ref12.traits;
282
-
283
- if (traitIndex >= 0 && traitIndex < traits.length) {
284
- traits[traitIndex] = trait;
285
- onScaleChanged(scaleIndex, {
286
- traits: traits
287
- });
288
- }
289
- });
290
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitDropped", function (source, newIndex) {
291
- var _ref13 = _this.props || {},
292
- scale = _ref13.scale,
293
- scaleIndex = _ref13.scaleIndex,
294
- onScaleChanged = _ref13.onScaleChanged,
295
- maxNoOfTraits = _ref13.maxNoOfTraits,
296
- minNoOfTraits = _ref13.minNoOfTraits;
297
-
298
- var _ref14 = scale || {},
299
- traits = _ref14.traits;
300
-
301
- var oldIndex = source.index;
302
- var cup = traits[oldIndex];
303
- var remainingTraits = traits.filter(function (item, index) {
304
- return index !== oldIndex;
305
- });
306
- var newTraits = [].concat((0, _toConsumableArray2["default"])(remainingTraits.slice(0, newIndex)), [cup], (0, _toConsumableArray2["default"])(remainingTraits.slice(newIndex)));
307
- onScaleChanged(scaleIndex, {
308
- traits: newTraits
309
- });
310
- });
311
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "decreasePosition", function () {
312
- var currentPosition = _this.state.currentPosition;
313
- var decreasedPosition = currentPosition - (currentPosition === AdjustedBlockWidth / 2 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
314
-
315
- _this.setState({
316
- currentPosition: decreasedPosition,
317
- showRight: decreasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
318
- showLeft: decreasedPosition > 0
319
- });
320
- });
321
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "increasePosition", function () {
322
- var currentPosition = _this.state.currentPosition;
323
- var increasedPosition = currentPosition + (currentPosition === 0 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
324
-
325
- _this.setState({
326
- currentPosition: increasedPosition,
327
- showRight: increasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
328
- showLeft: increasedPosition > 0
329
- });
330
- });
331
- return _this;
332
- }
333
-
334
- (0, _createClass2["default"])(Scale, [{
335
- key: "componentDidMount",
336
- value: function componentDidMount() {
337
- if (this.state.showRight === null && this.secondaryBlockRef) {
338
- this.setState({
339
- showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
340
- });
341
- }
342
- }
343
- }, {
344
- key: "UNSAFE_componentWillReceiveProps",
345
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
346
- if (nextProps.excludeZero !== this.props.excludeZero || nextProps.showStandards !== this.props.showStandards || nextProps.showDescription !== this.props.showDescription) {
347
- this.setState({
348
- currentPosition: 0,
349
- showLeft: false,
350
- showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
351
- });
352
- }
353
- } // Max Points
354
-
355
- }, {
356
- key: "render",
357
- value: function render() {
358
- var _this2 = this;
359
-
360
- var _ref15 = this.props || {},
361
- classes = _ref15.classes,
362
- scale = _ref15.scale,
363
- scaleIndex = _ref15.scaleIndex,
364
- showStandards = _ref15.showStandards,
365
- onScaleChanged = _ref15.onScaleChanged,
366
- excludeZero = _ref15.excludeZero,
367
- showDescription = _ref15.showDescription,
368
- showLevelTagInput = _ref15.showLevelTagInput,
369
- showScorePointLabels = _ref15.showScorePointLabels,
370
- enableDragAndDrop = _ref15.enableDragAndDrop,
371
- spellCheck = _ref15.spellCheck,
372
- width = _ref15.width,
373
- uploadSoundSupport = _ref15.uploadSoundSupport,
374
- maxPointsEnabled = _ref15.maxPointsEnabled;
375
-
376
- var _ref16 = scale || {},
377
- maxPoints = _ref16.maxPoints,
378
- scorePointsLabels = _ref16.scorePointsLabels,
379
- traitLabel = _ref16.traitLabel,
380
- traits = _ref16.traits;
381
-
382
- var _this$state = this.state,
383
- showDecreaseMaxPointsDialog = _this$state.showDecreaseMaxPointsDialog,
384
- showDeleteScaleDialog = _this$state.showDeleteScaleDialog,
385
- showDeleteTraitDialog = _this$state.showDeleteTraitDialog,
386
- currentPosition = _this$state.currentPosition,
387
- showRight = _this$state.showRight,
388
- showLeft = _this$state.showLeft,
389
- showInfoDialog = _this$state.showInfoDialog,
390
- infoDialogText = _this$state.infoDialogText;
391
- var scorePointsValues = [];
392
- var secondaryBlockWidth = parseInt(width) - _common.DragHandleSpace - _common.PrimaryBlockWidth || 320; // 320 is minWidth
393
- // determining the score points values
394
-
395
- for (var pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {
396
- scorePointsValues.push(pointValue);
397
- }
398
-
399
- return /*#__PURE__*/_react["default"].createElement("div", {
400
- key: "scale-".concat(scaleIndex),
401
- className: classes.scaleWrapper,
402
- ref: function ref(_ref17) {
403
- _this2.scaleWrapper = _ref17;
404
- }
405
- }, /*#__PURE__*/_react["default"].createElement(_traitsHeader["default"], {
406
- setSecondaryBlockRef: function setSecondaryBlockRef(ref) {
407
- if (ref) {
408
- _this2.secondaryBlockRef = ref;
409
- }
410
- },
411
- key: 'header-key',
412
- traitLabel: traitLabel,
413
- scorePointsValues: scorePointsValues,
414
- scorePointsLabels: scorePointsLabels,
415
- onScaleChange: function onScaleChange(params) {
416
- return onScaleChanged(scaleIndex, params);
417
- },
418
- onTraitLabelChange: function onTraitLabelChange(label) {
419
- return onScaleChanged(scaleIndex, {
420
- traitLabel: label
421
- });
422
- },
423
- showStandards: showStandards,
424
- showDescription: showDescription,
425
- showLevelTagInput: showLevelTagInput,
426
- showScorePointLabels: showScorePointLabels,
427
- maxPoints: maxPoints,
428
- updateMaxPointsFieldValue: this.updateMaxPointsFieldValue,
429
- scaleIndex: scaleIndex,
430
- showDeleteScaleModal: this.showDeleteScaleModal,
431
- currentPosition: currentPosition,
432
- secondaryBlockWidth: secondaryBlockWidth,
433
- spellCheck: spellCheck,
434
- uploadSoundSupport: uploadSoundSupport,
435
- maxPointsEnabled: maxPointsEnabled
436
- }), traits.map(function (trait, index) {
437
- return /*#__PURE__*/_react["default"].createElement(_trait["default"], {
438
- key: index,
439
- index: index,
440
- trait: trait,
441
- scorePointsValues: scorePointsValues,
442
- scorePointsLabels: scorePointsLabels,
443
- onTraitRemoved: function onTraitRemoved() {
444
- return _this2.showDeleteTraitModal(index);
445
- },
446
- onTraitChanged: function onTraitChanged(trait) {
447
- return _this2.onTraitChanged(index, trait);
448
- },
449
- onTraitDropped: _this2.onTraitDropped,
450
- showStandards: showStandards,
451
- showDescription: showDescription,
452
- currentPosition: currentPosition,
453
- enableDragAndDrop: enableDragAndDrop,
454
- secondaryBlockWidth: secondaryBlockWidth,
455
- spellCheck: spellCheck,
456
- uploadSoundSupport: uploadSoundSupport
457
- });
458
- }), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
459
- width: "".concat(AdjustedBlockWidth / 2, "px"),
460
- show: showLeft,
461
- onClick: this.decreasePosition,
462
- left: "".concat(_common.PrimaryBlockWidth + _common.DragHandleSpace, "px"),
463
- showLevelTagInput: showLevelTagInput
464
- }, /*#__PURE__*/_react["default"].createElement(_ArrowBackIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
465
- width: "".concat(AdjustedBlockWidth / 2, "px"),
466
- show: showRight,
467
- onClick: this.increasePosition,
468
- showLevelTagInput: showLevelTagInput
469
- }, /*#__PURE__*/_react["default"].createElement(_ArrowForwardIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.MultiTraitButton, {
470
- onClick: this.onTraitAdded
471
- }, /*#__PURE__*/_react["default"].createElement("div", {
472
- dangerouslySetInnerHTML: {
473
- __html: "Add ".concat(traitLabel || ' Trait')
474
- }
475
- })), /*#__PURE__*/_react["default"].createElement(_modals.DecreaseMaxPoints, {
476
- open: !!showDecreaseMaxPointsDialog,
477
- deleteScorePoints: this.changeMaxPoints,
478
- cancel: this.hideDecreaseMaxPointsModal
479
- }), /*#__PURE__*/_react["default"].createElement(_modals.DeleteScale, {
480
- open: !!showDeleteScaleDialog,
481
- scaleIndex: scaleIndex,
482
- deleteScale: this.deleteScale,
483
- cancel: this.hideDeleteScaleModal
484
- }), /*#__PURE__*/_react["default"].createElement(_modals.DeleteTrait, {
485
- open: !!showDeleteTraitDialog,
486
- deleteTrait: this.onTraitRemoved,
487
- cancel: this.hideDeleteTraitModal,
488
- traitLabel: traitLabel.toLowerCase()
489
- }), /*#__PURE__*/_react["default"].createElement(_modals.InfoDialog, {
490
- open: showInfoDialog,
491
- text: infoDialogText,
492
- onClose: function onClose() {
493
- return _this2.set({
494
- showInfoDialog: false
495
- });
496
- }
497
- }));
498
- }
499
- }]);
500
- return Scale;
501
- }(_react["default"].Component);
502
-
503
- exports.Scale = Scale;
504
- Scale.propTypes = {
505
- classes: _propTypes["default"].object,
506
- scale: _propTypes["default"].shape({
507
- maxPoints: _propTypes["default"].number,
508
- scorePointsLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
509
- traitLabel: _propTypes["default"].string,
510
- traits: _propTypes["default"].arrayOf(_propTypes["default"].shape({
511
- name: _propTypes["default"].string,
512
- standards: _propTypes["default"].arrayOf(_propTypes["default"].string),
513
- scorePointsDescriptors: _propTypes["default"].arrayOf(_propTypes["default"].string),
514
- description: _propTypes["default"].string
515
- }))
516
- }),
517
- width: _propTypes["default"].string,
518
- excludeZero: _propTypes["default"].bool,
519
- scaleIndex: _propTypes["default"].number,
520
- onScaleChanged: _propTypes["default"].func,
521
- onScaleRemoved: _propTypes["default"].func,
522
- showStandards: _propTypes["default"].bool,
523
- showLevelTagInput: _propTypes["default"].bool,
524
- showDescription: _propTypes["default"].bool,
525
- uploadSoundSupport: _propTypes["default"].object,
526
- showScorePointLabels: _propTypes["default"].bool,
527
- enableDragAndDrop: _propTypes["default"].bool
528
- };
529
-
530
- var _default = (0, _drag.withDragContext)((0, _styles.withStyles)(styles)(Scale));
531
-
532
- exports["default"] = _default;
533
- //# sourceMappingURL=scale.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/scale.jsx"],"names":["AdjustedBlockWidth","BlockWidth","styles","scaleWrapper","display","flexDirection","margin","wordBreak","padding","DragHandleSpace","position","maxPoints","width","trait","background","color","secondaryBackground","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","nextProps","excludeZero","showStandards","showDescription","classes","showLevelTagInput","showScorePointLabels","enableDragAndDrop","spellCheck","uploadSoundSupport","maxPointsEnabled","scorePointsValues","secondaryBlockWidth","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/drag';\nimport { color } from '@pie-lib/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 = {\n scaleWrapper: {\n display: 'flex',\n flexDirection: 'column',\n margin: '12px 0',\n wordBreak: 'break-word',\n padding: `16px 0 16px ${DragHandleSpace}px`,\n position: 'relative',\n },\n maxPoints: {\n width: '300px',\n margin: '16px 0 32px',\n },\n trait: {\n background: color.secondaryBackground(),\n margin: '16px 0',\n padding: '16px',\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 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, maxNoOfTraits, minNoOfTraits } = 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 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 } = 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 />\n\n {traits.map((trait, index) => (\n <TraitTile\n key={index}\n index={index}\n trait={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 currentPosition={currentPosition}\n enableDragAndDrop={enableDragAndDrop}\n secondaryBlockWidth={secondaryBlockWidth}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n />\n ))}\n\n <Arrow\n width={`${AdjustedBlockWidth / 2}px`}\n show={showLeft}\n onClick={this.decreasePosition}\n left={`${PrimaryBlockWidth + DragHandleSpace}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 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"}