@pie-element/multi-trait-rubric 2.5.1-beta.1 → 2.5.1-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,469 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.Scale = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireDefault(require("react"));
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _styles = require("@material-ui/core/styles");
19
+ var _ArrowBackIos = _interopRequireDefault(require("@material-ui/icons/ArrowBackIos"));
20
+ var _ArrowForwardIos = _interopRequireDefault(require("@material-ui/icons/ArrowForwardIos"));
21
+ var _drag = require("@pie-lib/drag");
22
+ var _renderUi = require("@pie-lib/render-ui");
23
+ var _traitsHeader = _interopRequireDefault(require("./traitsHeader"));
24
+ var _trait = _interopRequireDefault(require("./trait"));
25
+ var _common = require("./common");
26
+ var _modals = require("./modals");
27
+ 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); }; }
28
+ 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; } }
29
+ var AdjustedBlockWidth = _common.BlockWidth + 2 * 8; // 8 is padding
30
+
31
+ var styles = {
32
+ scaleWrapper: {
33
+ display: 'flex',
34
+ flexDirection: 'column',
35
+ margin: '12px 0',
36
+ wordBreak: 'break-word',
37
+ padding: "16px 0 16px ".concat(_common.DragHandleSpace, "px"),
38
+ position: 'relative'
39
+ },
40
+ maxPoints: {
41
+ width: '300px',
42
+ margin: '16px 0 32px'
43
+ },
44
+ trait: {
45
+ background: _renderUi.color.secondaryBackground(),
46
+ margin: '16px 0',
47
+ padding: '16px'
48
+ }
49
+ };
50
+ var Scale = /*#__PURE__*/function (_React$Component) {
51
+ (0, _inherits2["default"])(Scale, _React$Component);
52
+ var _super = _createSuper(Scale);
53
+ function Scale() {
54
+ var _this;
55
+ (0, _classCallCheck2["default"])(this, Scale);
56
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
+ args[_key] = arguments[_key];
58
+ }
59
+ _this = _super.call.apply(_super, [this].concat(args));
60
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
61
+ showDecreaseMaxPointsDialog: false,
62
+ showDeleteScaleDialog: false,
63
+ showDeleteTraitDialog: false,
64
+ currentPosition: 0,
65
+ showRight: null,
66
+ showLeft: null,
67
+ showInfoDialog: false,
68
+ infoDialogText: ''
69
+ });
70
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "set", function (newState) {
71
+ return _this.setState(newState);
72
+ });
73
+ // Max Points
74
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateMaxPointsFieldValue", function (_ref) {
75
+ var target = _ref.target;
76
+ var _ref2 = _this.props || {},
77
+ scale = _ref2.scale,
78
+ scaleIndex = _ref2.scaleIndex,
79
+ onScaleChanged = _ref2.onScaleChanged;
80
+ var maxPoints = scale.maxPoints,
81
+ scorePointsLabels = scale.scorePointsLabels,
82
+ traits = scale.traits;
83
+ var numberValue = parseInt(target.value, 10);
84
+ _this.setState({
85
+ currentPosition: 0,
86
+ showLeft: false,
87
+ showRight: _this.secondaryBlockRef && _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth
88
+ });
89
+ if (numberValue < maxPoints) {
90
+ _this.showDecreaseMaxPointsModal({
91
+ newMaxPoints: numberValue
92
+ });
93
+ } else {
94
+ var _loop = function _loop(i) {
95
+ if (!scorePointsLabels[i]) {
96
+ scorePointsLabels.push('');
97
+ }
98
+ traits.forEach(function (trait, index) {
99
+ if (!traits[index].scorePointsDescriptors[i]) {
100
+ traits[index].scorePointsDescriptors.push('');
101
+ }
102
+ });
103
+ };
104
+ for (var i = 0; i <= numberValue; i++) {
105
+ _loop(i);
106
+ }
107
+ onScaleChanged(scaleIndex, {
108
+ maxPoints: numberValue,
109
+ scorePointsLabels: scorePointsLabels,
110
+ traits: traits
111
+ });
112
+ }
113
+ });
114
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDecreaseMaxPointsModal", function (_ref3) {
115
+ var newMaxPoints = _ref3.newMaxPoints;
116
+ return _this.set({
117
+ showDecreaseMaxPointsDialog: true,
118
+ newMaxPoints: newMaxPoints
119
+ });
120
+ });
121
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDecreaseMaxPointsModal", function () {
122
+ return _this.set({
123
+ showDecreaseMaxPointsDialog: false,
124
+ newMaxPoints: undefined
125
+ });
126
+ });
127
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMaxPoints", function () {
128
+ var _ref4 = _this.state || {},
129
+ newMaxPoints = _ref4.newMaxPoints;
130
+ var _ref5 = _this.props || {},
131
+ scaleIndex = _ref5.scaleIndex,
132
+ onScaleChanged = _ref5.onScaleChanged;
133
+ if (newMaxPoints) {
134
+ onScaleChanged(scaleIndex, {
135
+ maxPoints: newMaxPoints
136
+ });
137
+ }
138
+ _this.hideDecreaseMaxPointsModal();
139
+ });
140
+ // Delete Scale
141
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteScaleModal", function () {
142
+ return _this.set({
143
+ showDeleteScaleDialog: true
144
+ });
145
+ });
146
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteScaleModal", function () {
147
+ return _this.set({
148
+ showDeleteScaleDialog: false
149
+ });
150
+ });
151
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteScale", function () {
152
+ var _ref6 = _this.props || {},
153
+ scaleIndex = _ref6.scaleIndex,
154
+ onScaleRemoved = _ref6.onScaleRemoved;
155
+ _this.hideDeleteScaleModal();
156
+ onScaleRemoved(scaleIndex);
157
+ });
158
+ // Delete Trait
159
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteTraitModal", function (traitToDeleteIndex) {
160
+ return _this.set({
161
+ showDeleteTraitDialog: true,
162
+ traitToDeleteIndex: traitToDeleteIndex
163
+ });
164
+ });
165
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteTraitModal", function () {
166
+ return _this.set({
167
+ showDeleteTraitDialog: false,
168
+ traitToDeleteIndex: undefined
169
+ });
170
+ });
171
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitRemoved", function () {
172
+ var traitToDeleteIndex = _this.state.traitToDeleteIndex;
173
+ var _ref7 = _this.props || {},
174
+ scale = _ref7.scale,
175
+ scaleIndex = _ref7.scaleIndex,
176
+ onScaleChanged = _ref7.onScaleChanged,
177
+ minNoOfTraits = _ref7.minNoOfTraits;
178
+ var _ref8 = scale || {},
179
+ traits = _ref8.traits,
180
+ traitLabel = _ref8.traitLabel;
181
+ if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;
182
+ if (traits.length === minNoOfTraits) {
183
+ _this.set({
184
+ infoDialogText: "There can't be less than ".concat(minNoOfTraits, " ").concat((traitLabel || 'trait').toLowerCase(), "s."),
185
+ showInfoDialog: true
186
+ });
187
+ return false;
188
+ }
189
+ traits = [].concat((0, _toConsumableArray2["default"])(traits.slice(0, traitToDeleteIndex)), (0, _toConsumableArray2["default"])(traits.slice(traitToDeleteIndex + 1)));
190
+ onScaleChanged(scaleIndex, {
191
+ traits: traits
192
+ });
193
+ _this.hideDeleteTraitModal();
194
+ });
195
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitAdded", function () {
196
+ var _ref9 = _this.props || {},
197
+ scale = _ref9.scale,
198
+ scaleIndex = _ref9.scaleIndex,
199
+ onScaleChanged = _ref9.onScaleChanged,
200
+ maxNoOfTraits = _ref9.maxNoOfTraits;
201
+ var _ref10 = scale || {},
202
+ traits = _ref10.traits,
203
+ scorePointsLabels = _ref10.scorePointsLabels;
204
+ if (traits.length === maxNoOfTraits) {
205
+ _this.set({
206
+ infoDialogText: "There can't be more than ".concat(maxNoOfTraits, " scales."),
207
+ showInfoDialog: true
208
+ });
209
+ return false;
210
+ }
211
+ traits.push({
212
+ name: '',
213
+ description: '',
214
+ standards: [],
215
+ scorePointsDescriptors: Array.from({
216
+ length: scorePointsLabels.length
217
+ }, function () {
218
+ return '';
219
+ })
220
+ });
221
+ onScaleChanged(scaleIndex, {
222
+ traits: traits
223
+ });
224
+ });
225
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitChanged", function (traitIndex, trait) {
226
+ var _ref11 = _this.props || {},
227
+ scale = _ref11.scale,
228
+ scaleIndex = _ref11.scaleIndex,
229
+ onScaleChanged = _ref11.onScaleChanged;
230
+ var _ref12 = scale || {},
231
+ traits = _ref12.traits;
232
+ if (traitIndex >= 0 && traitIndex < traits.length) {
233
+ traits[traitIndex] = trait;
234
+ onScaleChanged(scaleIndex, {
235
+ traits: traits
236
+ });
237
+ }
238
+ });
239
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitDropped", function (source, newIndex) {
240
+ var _ref13 = _this.props || {},
241
+ scale = _ref13.scale,
242
+ scaleIndex = _ref13.scaleIndex,
243
+ onScaleChanged = _ref13.onScaleChanged,
244
+ maxNoOfTraits = _ref13.maxNoOfTraits,
245
+ minNoOfTraits = _ref13.minNoOfTraits;
246
+ var _ref14 = scale || {},
247
+ traits = _ref14.traits;
248
+ var oldIndex = source.index;
249
+ var cup = traits[oldIndex];
250
+ var remainingTraits = traits.filter(function (item, index) {
251
+ return index !== oldIndex;
252
+ });
253
+ var newTraits = [].concat((0, _toConsumableArray2["default"])(remainingTraits.slice(0, newIndex)), [cup], (0, _toConsumableArray2["default"])(remainingTraits.slice(newIndex)));
254
+ onScaleChanged(scaleIndex, {
255
+ traits: newTraits
256
+ });
257
+ });
258
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "decreasePosition", function () {
259
+ var currentPosition = _this.state.currentPosition;
260
+ var decreasedPosition = currentPosition - (currentPosition === AdjustedBlockWidth / 2 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
261
+ _this.setState({
262
+ currentPosition: decreasedPosition,
263
+ showRight: decreasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
264
+ showLeft: decreasedPosition > 0
265
+ });
266
+ });
267
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "increasePosition", function () {
268
+ var currentPosition = _this.state.currentPosition;
269
+ var increasedPosition = currentPosition + (currentPosition === 0 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
270
+ _this.setState({
271
+ currentPosition: increasedPosition,
272
+ showRight: increasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
273
+ showLeft: increasedPosition > 0
274
+ });
275
+ });
276
+ return _this;
277
+ }
278
+ (0, _createClass2["default"])(Scale, [{
279
+ key: "componentDidMount",
280
+ value: function componentDidMount() {
281
+ if (this.state.showRight === null && this.secondaryBlockRef) {
282
+ this.setState({
283
+ showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
284
+ });
285
+ }
286
+ }
287
+ }, {
288
+ key: "UNSAFE_componentWillReceiveProps",
289
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
290
+ if (nextProps.excludeZero !== this.props.excludeZero || nextProps.showStandards !== this.props.showStandards || nextProps.showDescription !== this.props.showDescription) {
291
+ this.setState({
292
+ currentPosition: 0,
293
+ showLeft: false,
294
+ showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
295
+ });
296
+ }
297
+ }
298
+ }, {
299
+ key: "render",
300
+ value: function render() {
301
+ var _this2 = this;
302
+ var _ref15 = this.props || {},
303
+ classes = _ref15.classes,
304
+ scale = _ref15.scale,
305
+ scaleIndex = _ref15.scaleIndex,
306
+ showStandards = _ref15.showStandards,
307
+ onScaleChanged = _ref15.onScaleChanged,
308
+ excludeZero = _ref15.excludeZero,
309
+ showDescription = _ref15.showDescription,
310
+ showLevelTagInput = _ref15.showLevelTagInput,
311
+ showScorePointLabels = _ref15.showScorePointLabels,
312
+ enableDragAndDrop = _ref15.enableDragAndDrop,
313
+ spellCheck = _ref15.spellCheck,
314
+ width = _ref15.width,
315
+ uploadSoundSupport = _ref15.uploadSoundSupport,
316
+ maxPointsEnabled = _ref15.maxPointsEnabled;
317
+ var _ref16 = scale || {},
318
+ maxPoints = _ref16.maxPoints,
319
+ scorePointsLabels = _ref16.scorePointsLabels,
320
+ traitLabel = _ref16.traitLabel,
321
+ traits = _ref16.traits;
322
+ var _this$state = this.state,
323
+ showDecreaseMaxPointsDialog = _this$state.showDecreaseMaxPointsDialog,
324
+ showDeleteScaleDialog = _this$state.showDeleteScaleDialog,
325
+ showDeleteTraitDialog = _this$state.showDeleteTraitDialog,
326
+ currentPosition = _this$state.currentPosition,
327
+ showRight = _this$state.showRight,
328
+ showLeft = _this$state.showLeft,
329
+ showInfoDialog = _this$state.showInfoDialog,
330
+ infoDialogText = _this$state.infoDialogText;
331
+ var scorePointsValues = [];
332
+ var secondaryBlockWidth = parseInt(width) - _common.DragHandleSpace - _common.PrimaryBlockWidth || 320; // 320 is minWidth
333
+
334
+ // determining the score points values
335
+ for (var pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {
336
+ scorePointsValues.push(pointValue);
337
+ }
338
+ return /*#__PURE__*/_react["default"].createElement("div", {
339
+ key: "scale-".concat(scaleIndex),
340
+ className: classes.scaleWrapper,
341
+ ref: function ref(_ref17) {
342
+ _this2.scaleWrapper = _ref17;
343
+ }
344
+ }, /*#__PURE__*/_react["default"].createElement(_traitsHeader["default"], {
345
+ setSecondaryBlockRef: function setSecondaryBlockRef(ref) {
346
+ if (ref) {
347
+ _this2.secondaryBlockRef = ref;
348
+ }
349
+ },
350
+ key: 'header-key',
351
+ traitLabel: traitLabel,
352
+ scorePointsValues: scorePointsValues,
353
+ scorePointsLabels: scorePointsLabels,
354
+ onScaleChange: function onScaleChange(params) {
355
+ return onScaleChanged(scaleIndex, params);
356
+ },
357
+ onTraitLabelChange: function onTraitLabelChange(label) {
358
+ return onScaleChanged(scaleIndex, {
359
+ traitLabel: label
360
+ });
361
+ },
362
+ showStandards: showStandards,
363
+ showDescription: showDescription,
364
+ showLevelTagInput: showLevelTagInput,
365
+ showScorePointLabels: showScorePointLabels,
366
+ maxPoints: maxPoints,
367
+ updateMaxPointsFieldValue: this.updateMaxPointsFieldValue,
368
+ scaleIndex: scaleIndex,
369
+ showDeleteScaleModal: this.showDeleteScaleModal,
370
+ currentPosition: currentPosition,
371
+ secondaryBlockWidth: secondaryBlockWidth,
372
+ spellCheck: spellCheck,
373
+ uploadSoundSupport: uploadSoundSupport,
374
+ maxPointsEnabled: maxPointsEnabled
375
+ }), traits.map(function (trait, index) {
376
+ return /*#__PURE__*/_react["default"].createElement(_trait["default"], {
377
+ key: index,
378
+ index: index,
379
+ trait: trait,
380
+ scorePointsValues: scorePointsValues,
381
+ scorePointsLabels: scorePointsLabels,
382
+ onTraitRemoved: function onTraitRemoved() {
383
+ return _this2.showDeleteTraitModal(index);
384
+ },
385
+ onTraitChanged: function onTraitChanged(trait) {
386
+ return _this2.onTraitChanged(index, trait);
387
+ },
388
+ onTraitDropped: _this2.onTraitDropped,
389
+ showStandards: showStandards,
390
+ showDescription: showDescription,
391
+ currentPosition: currentPosition,
392
+ enableDragAndDrop: enableDragAndDrop,
393
+ secondaryBlockWidth: secondaryBlockWidth,
394
+ spellCheck: spellCheck,
395
+ uploadSoundSupport: uploadSoundSupport
396
+ });
397
+ }), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
398
+ width: "".concat(AdjustedBlockWidth / 2, "px"),
399
+ show: showLeft,
400
+ onClick: this.decreasePosition,
401
+ left: "".concat(_common.PrimaryBlockWidth + _common.DragHandleSpace, "px"),
402
+ showLevelTagInput: showLevelTagInput
403
+ }, /*#__PURE__*/_react["default"].createElement(_ArrowBackIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
404
+ width: "".concat(AdjustedBlockWidth / 2, "px"),
405
+ show: showRight,
406
+ onClick: this.increasePosition,
407
+ showLevelTagInput: showLevelTagInput
408
+ }, /*#__PURE__*/_react["default"].createElement(_ArrowForwardIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.MultiTraitButton, {
409
+ onClick: this.onTraitAdded
410
+ }, /*#__PURE__*/_react["default"].createElement("div", {
411
+ dangerouslySetInnerHTML: {
412
+ __html: "Add ".concat(traitLabel || ' Trait')
413
+ }
414
+ })), /*#__PURE__*/_react["default"].createElement(_modals.DecreaseMaxPoints, {
415
+ open: !!showDecreaseMaxPointsDialog,
416
+ deleteScorePoints: this.changeMaxPoints,
417
+ cancel: this.hideDecreaseMaxPointsModal
418
+ }), /*#__PURE__*/_react["default"].createElement(_modals.DeleteScale, {
419
+ open: !!showDeleteScaleDialog,
420
+ scaleIndex: scaleIndex,
421
+ deleteScale: this.deleteScale,
422
+ cancel: this.hideDeleteScaleModal
423
+ }), /*#__PURE__*/_react["default"].createElement(_modals.DeleteTrait, {
424
+ open: !!showDeleteTraitDialog,
425
+ deleteTrait: this.onTraitRemoved,
426
+ cancel: this.hideDeleteTraitModal,
427
+ traitLabel: traitLabel.toLowerCase()
428
+ }), /*#__PURE__*/_react["default"].createElement(_modals.InfoDialog, {
429
+ open: showInfoDialog,
430
+ text: infoDialogText,
431
+ onClose: function onClose() {
432
+ return _this2.set({
433
+ showInfoDialog: false
434
+ });
435
+ }
436
+ }));
437
+ }
438
+ }]);
439
+ return Scale;
440
+ }(_react["default"].Component);
441
+ exports.Scale = Scale;
442
+ Scale.propTypes = {
443
+ classes: _propTypes["default"].object,
444
+ scale: _propTypes["default"].shape({
445
+ maxPoints: _propTypes["default"].number,
446
+ scorePointsLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
447
+ traitLabel: _propTypes["default"].string,
448
+ traits: _propTypes["default"].arrayOf(_propTypes["default"].shape({
449
+ name: _propTypes["default"].string,
450
+ standards: _propTypes["default"].arrayOf(_propTypes["default"].string),
451
+ scorePointsDescriptors: _propTypes["default"].arrayOf(_propTypes["default"].string),
452
+ description: _propTypes["default"].string
453
+ }))
454
+ }),
455
+ width: _propTypes["default"].string,
456
+ excludeZero: _propTypes["default"].bool,
457
+ scaleIndex: _propTypes["default"].number,
458
+ onScaleChanged: _propTypes["default"].func,
459
+ onScaleRemoved: _propTypes["default"].func,
460
+ showStandards: _propTypes["default"].bool,
461
+ showLevelTagInput: _propTypes["default"].bool,
462
+ showDescription: _propTypes["default"].bool,
463
+ uploadSoundSupport: _propTypes["default"].object,
464
+ showScorePointLabels: _propTypes["default"].bool,
465
+ enableDragAndDrop: _propTypes["default"].bool
466
+ };
467
+ var _default = (0, _drag.withDragContext)((0, _styles.withStyles)(styles)(Scale));
468
+ exports["default"] = _default;
469
+ //# sourceMappingURL=scale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scale.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_ArrowBackIos","_ArrowForwardIos","_drag","_renderUi","_traitsHeader","_trait","_common","_modals","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","AdjustedBlockWidth","BlockWidth","styles","scaleWrapper","display","flexDirection","margin","wordBreak","padding","concat","DragHandleSpace","position","maxPoints","width","trait","background","color","secondaryBackground","Scale","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","_defineProperty2","_assertThisInitialized2","showDecreaseMaxPointsDialog","showDeleteScaleDialog","showDeleteTraitDialog","currentPosition","showRight","showLeft","showInfoDialog","infoDialogText","newState","setState","_ref","target","_ref2","props","scale","scaleIndex","onScaleChanged","scorePointsLabels","traits","numberValue","parseInt","value","secondaryBlockRef","scrollWidth","offsetWidth","showDecreaseMaxPointsModal","newMaxPoints","_loop","i","push","forEach","index","scorePointsDescriptors","_ref3","set","undefined","_ref4","state","_ref5","hideDecreaseMaxPointsModal","_ref6","onScaleRemoved","hideDeleteScaleModal","traitToDeleteIndex","_ref7","minNoOfTraits","_ref8","traitLabel","toLowerCase","_toConsumableArray2","slice","hideDeleteTraitModal","_ref9","maxNoOfTraits","_ref10","name","description","standards","from","traitIndex","_ref11","_ref12","source","newIndex","_ref13","_ref14","oldIndex","cup","remainingTraits","filter","item","newTraits","decreasedPosition","increasedPosition","_createClass2","key","componentDidMount","UNSAFE_componentWillReceiveProps","nextProps","excludeZero","showStandards","showDescription","render","_this2","_ref15","classes","showLevelTagInput","showScorePointLabels","enableDragAndDrop","spellCheck","uploadSoundSupport","maxPointsEnabled","_ref16","_this$state","scorePointsValues","secondaryBlockWidth","PrimaryBlockWidth","pointValue","createElement","className","ref","setSecondaryBlockRef","onScaleChange","params","onTraitLabelChange","label","updateMaxPointsFieldValue","showDeleteScaleModal","map","onTraitRemoved","showDeleteTraitModal","onTraitChanged","onTraitDropped","Arrow","show","onClick","decreasePosition","left","increasePosition","MultiTraitButton","onTraitAdded","dangerouslySetInnerHTML","__html","DecreaseMaxPoints","open","deleteScorePoints","changeMaxPoints","cancel","DeleteScale","deleteScale","DeleteTrait","deleteTrait","InfoDialog","text","onClose","React","Component","exports","propTypes","PropTypes","object","shape","number","arrayOf","string","bool","func","_default","withDragContext","withStyles"],"sources":["../src/scale.jsx"],"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"],"mappings":"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"}