@pie-element/complex-rubric 3.8.3 → 3.8.4-next.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.json +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.md +2430 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/LICENSE.md +5 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/README.md +55 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.json +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.md +2298 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js +584 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js +152 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js +223 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js +546 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js +361 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js +556 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js +380 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js +296 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js +118 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/package.json +18 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.json +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.md +1539 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js +19 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js +215 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js +13 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/package.json +15 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json +1628 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json.md +1202 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/config.js +8 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/generate.js +117 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/index.html +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/session.js +6 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json +861 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json.md +614 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js +91 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js +164 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js +330 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js +103 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/package.json +24 -0
- package/configure/node_modules/@pie-element/rubric/CHANGELOG.json +257 -0
- package/configure/node_modules/@pie-element/rubric/CHANGELOG.md +2713 -0
- package/configure/node_modules/@pie-element/rubric/LICENSE.md +5 -0
- package/configure/node_modules/@pie-element/rubric/README.md +3 -0
- package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.json +197 -0
- package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.md +2506 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js +68 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/index.js +197 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/main.js +162 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/authoring.js +573 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/authoring.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/index.js +24 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/point-menu.js +172 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/point-menu.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/package.json +18 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/__tests__/index.test.jsx +167 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/defaults.js +42 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/index.js +129 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/main.jsx +89 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/pie-toolbox-rubric/authoring.jsx +449 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/pie-toolbox-rubric/index.js +9 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/pie-toolbox-rubric/point-menu.jsx +94 -0
- package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.json +17 -0
- package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.md +1532 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/defaults.js +16 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/index.js +59 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/controller/package.json +13 -0
- package/configure/node_modules/@pie-element/rubric/controller/src/__tests__/index.test.js +33 -0
- package/configure/node_modules/@pie-element/rubric/controller/src/defaults.js +8 -0
- package/configure/node_modules/@pie-element/rubric/controller/src/index.js +41 -0
- package/configure/node_modules/@pie-element/rubric/docs/config-schema.json +712 -0
- package/configure/node_modules/@pie-element/rubric/docs/config-schema.json.md +532 -0
- package/configure/node_modules/@pie-element/rubric/docs/demo/config.js +8 -0
- package/configure/node_modules/@pie-element/rubric/docs/demo/generate.js +8 -0
- package/configure/node_modules/@pie-element/rubric/docs/demo/index.html +2 -0
- package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json +391 -0
- package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json.md +281 -0
- package/configure/node_modules/@pie-element/rubric/lib/index.js +94 -0
- package/configure/node_modules/@pie-element/rubric/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/lib/main.js +270 -0
- package/configure/node_modules/@pie-element/rubric/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/lib/print.js +114 -0
- package/configure/node_modules/@pie-element/rubric/lib/print.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/module/configure.js +1 -0
- package/configure/node_modules/@pie-element/rubric/module/controller.js +113 -0
- package/configure/node_modules/@pie-element/rubric/module/demo.js +33 -0
- package/configure/node_modules/@pie-element/rubric/module/element.js +1 -0
- package/configure/node_modules/@pie-element/rubric/module/index.html +21 -0
- package/configure/node_modules/@pie-element/rubric/module/manifest.json +10 -0
- package/configure/node_modules/@pie-element/rubric/module/print-demo.js +71 -0
- package/configure/node_modules/@pie-element/rubric/module/print.html +18 -0
- package/configure/node_modules/@pie-element/rubric/module/print.js +1 -0
- package/configure/node_modules/@pie-element/rubric/package.json +26 -0
- package/configure/node_modules/@pie-element/rubric/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +1815 -0
- package/configure/node_modules/@pie-element/rubric/src/__tests__/rubric-view.test.jsx +49 -0
- package/configure/node_modules/@pie-element/rubric/src/index.js +37 -0
- package/configure/node_modules/@pie-element/rubric/src/main.jsx +219 -0
- package/configure/node_modules/@pie-element/rubric/src/print.js +63 -0
- package/module/element.js +1 -1
- package/module/index.html +1 -1
- package/module/manifest.json +5 -1
- package/module/print.html +1 -1
- package/module/print.js +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,556 @@
|
|
|
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
|
+
var numberValue = parseInt(target.value, 10);
|
|
115
|
+
|
|
116
|
+
_this.setState({
|
|
117
|
+
currentPosition: 0,
|
|
118
|
+
showLeft: false,
|
|
119
|
+
showRight: _this.secondaryBlockRef && _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
if (numberValue < maxPoints) {
|
|
123
|
+
_this.showDecreaseMaxPointsModal({
|
|
124
|
+
newMaxPoints: numberValue
|
|
125
|
+
});
|
|
126
|
+
} else {
|
|
127
|
+
onScaleChanged(scaleIndex, {
|
|
128
|
+
maxPoints: numberValue
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDecreaseMaxPointsModal", function (_ref3) {
|
|
133
|
+
var newMaxPoints = _ref3.newMaxPoints;
|
|
134
|
+
return _this.set({
|
|
135
|
+
showDecreaseMaxPointsDialog: true,
|
|
136
|
+
newMaxPoints: newMaxPoints
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDecreaseMaxPointsModal", function () {
|
|
140
|
+
return _this.set({
|
|
141
|
+
showDecreaseMaxPointsDialog: false,
|
|
142
|
+
newMaxPoints: undefined
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMaxPoints", function () {
|
|
146
|
+
var _ref4 = _this.state || {},
|
|
147
|
+
newMaxPoints = _ref4.newMaxPoints;
|
|
148
|
+
|
|
149
|
+
var _ref5 = _this.props || {},
|
|
150
|
+
scaleIndex = _ref5.scaleIndex,
|
|
151
|
+
onScaleChanged = _ref5.onScaleChanged;
|
|
152
|
+
|
|
153
|
+
if (newMaxPoints) {
|
|
154
|
+
onScaleChanged(scaleIndex, {
|
|
155
|
+
maxPoints: newMaxPoints
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
_this.hideDecreaseMaxPointsModal();
|
|
160
|
+
});
|
|
161
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteScaleModal", function () {
|
|
162
|
+
return _this.set({
|
|
163
|
+
showDeleteScaleDialog: true
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteScaleModal", function () {
|
|
167
|
+
return _this.set({
|
|
168
|
+
showDeleteScaleDialog: false
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteScale", function () {
|
|
172
|
+
var _ref6 = _this.props || {},
|
|
173
|
+
scaleIndex = _ref6.scaleIndex,
|
|
174
|
+
onScaleRemoved = _ref6.onScaleRemoved;
|
|
175
|
+
|
|
176
|
+
_this.hideDeleteScaleModal();
|
|
177
|
+
|
|
178
|
+
onScaleRemoved(scaleIndex);
|
|
179
|
+
});
|
|
180
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteTraitModal", function (traitToDeleteIndex) {
|
|
181
|
+
return _this.set({
|
|
182
|
+
showDeleteTraitDialog: true,
|
|
183
|
+
traitToDeleteIndex: traitToDeleteIndex
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteTraitModal", function () {
|
|
187
|
+
return _this.set({
|
|
188
|
+
showDeleteTraitDialog: false,
|
|
189
|
+
traitToDeleteIndex: undefined
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitRemoved", function () {
|
|
193
|
+
var traitToDeleteIndex = _this.state.traitToDeleteIndex;
|
|
194
|
+
|
|
195
|
+
var _ref7 = _this.props || {},
|
|
196
|
+
scale = _ref7.scale,
|
|
197
|
+
scaleIndex = _ref7.scaleIndex,
|
|
198
|
+
onScaleChanged = _ref7.onScaleChanged,
|
|
199
|
+
minNoOfTraits = _ref7.minNoOfTraits;
|
|
200
|
+
|
|
201
|
+
var _ref8 = scale || {},
|
|
202
|
+
traits = _ref8.traits,
|
|
203
|
+
traitLabel = _ref8.traitLabel;
|
|
204
|
+
|
|
205
|
+
if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;
|
|
206
|
+
|
|
207
|
+
if (traits.length === minNoOfTraits) {
|
|
208
|
+
_this.set({
|
|
209
|
+
infoDialogText: "There can't be less than ".concat(minNoOfTraits, " ").concat((traitLabel || 'trait').toLowerCase(), "s."),
|
|
210
|
+
showInfoDialog: true
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
traits = [].concat((0, _toConsumableArray2["default"])(traits.slice(0, traitToDeleteIndex)), (0, _toConsumableArray2["default"])(traits.slice(traitToDeleteIndex + 1)));
|
|
217
|
+
onScaleChanged(scaleIndex, {
|
|
218
|
+
traits: traits
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
_this.hideDeleteTraitModal();
|
|
222
|
+
});
|
|
223
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitAdded", function () {
|
|
224
|
+
var _ref9 = _this.props || {},
|
|
225
|
+
scale = _ref9.scale,
|
|
226
|
+
scaleIndex = _ref9.scaleIndex,
|
|
227
|
+
onScaleChanged = _ref9.onScaleChanged,
|
|
228
|
+
maxNoOfTraits = _ref9.maxNoOfTraits;
|
|
229
|
+
|
|
230
|
+
var _ref10 = scale || {},
|
|
231
|
+
traits = _ref10.traits,
|
|
232
|
+
scorePointsLabels = _ref10.scorePointsLabels;
|
|
233
|
+
|
|
234
|
+
if (traits.length === maxNoOfTraits) {
|
|
235
|
+
_this.set({
|
|
236
|
+
infoDialogText: "There can't be more than ".concat(maxNoOfTraits, " scales."),
|
|
237
|
+
showInfoDialog: true
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
return false;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
traits.push({
|
|
244
|
+
name: '',
|
|
245
|
+
description: '',
|
|
246
|
+
standards: [],
|
|
247
|
+
scorePointsDescriptors: Array.from({
|
|
248
|
+
length: scorePointsLabels.length
|
|
249
|
+
}, function () {
|
|
250
|
+
return '';
|
|
251
|
+
})
|
|
252
|
+
});
|
|
253
|
+
onScaleChanged(scaleIndex, {
|
|
254
|
+
traits: traits
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitChanged", function (traitIndex, trait) {
|
|
258
|
+
var _ref11 = _this.props || {},
|
|
259
|
+
scale = _ref11.scale,
|
|
260
|
+
scaleIndex = _ref11.scaleIndex,
|
|
261
|
+
onScaleChanged = _ref11.onScaleChanged;
|
|
262
|
+
|
|
263
|
+
var _ref12 = scale || {},
|
|
264
|
+
traits = _ref12.traits;
|
|
265
|
+
|
|
266
|
+
if (traitIndex >= 0 && traitIndex < traits.length) {
|
|
267
|
+
traits[traitIndex] = trait;
|
|
268
|
+
onScaleChanged(scaleIndex, {
|
|
269
|
+
traits: traits
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitDropped", function (source, newIndex) {
|
|
274
|
+
var _ref13 = _this.props || {},
|
|
275
|
+
scale = _ref13.scale,
|
|
276
|
+
scaleIndex = _ref13.scaleIndex,
|
|
277
|
+
onScaleChanged = _ref13.onScaleChanged;
|
|
278
|
+
|
|
279
|
+
var _ref14 = scale || {},
|
|
280
|
+
traits = _ref14.traits;
|
|
281
|
+
|
|
282
|
+
var oldIndex = source.index;
|
|
283
|
+
var cup = traits[oldIndex];
|
|
284
|
+
var remainingTraits = traits.filter(function (item, index) {
|
|
285
|
+
return index !== oldIndex;
|
|
286
|
+
});
|
|
287
|
+
var newTraits = [].concat((0, _toConsumableArray2["default"])(remainingTraits.slice(0, newIndex)), [cup], (0, _toConsumableArray2["default"])(remainingTraits.slice(newIndex)));
|
|
288
|
+
onScaleChanged(scaleIndex, {
|
|
289
|
+
traits: newTraits
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "decreasePosition", function () {
|
|
293
|
+
var currentPosition = _this.state.currentPosition;
|
|
294
|
+
var decreasedPosition = currentPosition - (currentPosition === AdjustedBlockWidth / 2 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
|
|
295
|
+
|
|
296
|
+
_this.setState({
|
|
297
|
+
currentPosition: decreasedPosition,
|
|
298
|
+
showRight: decreasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
|
|
299
|
+
showLeft: decreasedPosition > 0
|
|
300
|
+
});
|
|
301
|
+
});
|
|
302
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "increasePosition", function () {
|
|
303
|
+
var currentPosition = _this.state.currentPosition;
|
|
304
|
+
var increasedPosition = currentPosition + (currentPosition === 0 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
|
|
305
|
+
|
|
306
|
+
_this.setState({
|
|
307
|
+
currentPosition: increasedPosition,
|
|
308
|
+
showRight: increasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
|
|
309
|
+
showLeft: increasedPosition > 0
|
|
310
|
+
});
|
|
311
|
+
});
|
|
312
|
+
return _this;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
(0, _createClass2["default"])(Scale, [{
|
|
316
|
+
key: "componentDidMount",
|
|
317
|
+
value: function componentDidMount() {
|
|
318
|
+
if (this.state.showRight === null && this.secondaryBlockRef) {
|
|
319
|
+
this.setState({
|
|
320
|
+
showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}, {
|
|
325
|
+
key: "componentDidUpdate",
|
|
326
|
+
value: function componentDidUpdate(prevProps) {
|
|
327
|
+
if (prevProps.scale.maxPoints !== this.props.scale.maxPoints || prevProps.showDescription !== this.props.showDescription || prevProps.excludeZero !== this.props.excludeZero) {
|
|
328
|
+
this.setState({
|
|
329
|
+
showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}, {
|
|
334
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
335
|
+
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
336
|
+
if (nextProps.excludeZero !== this.props.excludeZero || nextProps.showStandards !== this.props.showStandards || nextProps.showDescription !== this.props.showDescription) {
|
|
337
|
+
this.setState({
|
|
338
|
+
currentPosition: 0,
|
|
339
|
+
showLeft: false,
|
|
340
|
+
showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
} // Max Points
|
|
344
|
+
|
|
345
|
+
}, {
|
|
346
|
+
key: "render",
|
|
347
|
+
value: function render() {
|
|
348
|
+
var _this2 = this;
|
|
349
|
+
|
|
350
|
+
var _ref15 = this.props || {},
|
|
351
|
+
classes = _ref15.classes,
|
|
352
|
+
errors = _ref15.errors,
|
|
353
|
+
scale = _ref15.scale,
|
|
354
|
+
scaleIndex = _ref15.scaleIndex,
|
|
355
|
+
showStandards = _ref15.showStandards,
|
|
356
|
+
onScaleChanged = _ref15.onScaleChanged,
|
|
357
|
+
excludeZero = _ref15.excludeZero,
|
|
358
|
+
showDescription = _ref15.showDescription,
|
|
359
|
+
showLevelTagInput = _ref15.showLevelTagInput,
|
|
360
|
+
showScorePointLabels = _ref15.showScorePointLabels,
|
|
361
|
+
enableDragAndDrop = _ref15.enableDragAndDrop,
|
|
362
|
+
spellCheck = _ref15.spellCheck,
|
|
363
|
+
width = _ref15.width,
|
|
364
|
+
uploadSoundSupport = _ref15.uploadSoundSupport,
|
|
365
|
+
maxPointsEnabled = _ref15.maxPointsEnabled,
|
|
366
|
+
_ref15$mathMlOptions = _ref15.mathMlOptions,
|
|
367
|
+
mathMlOptions = _ref15$mathMlOptions === void 0 ? {} : _ref15$mathMlOptions,
|
|
368
|
+
maxMaxPoints = _ref15.maxMaxPoints,
|
|
369
|
+
_ref15$expandedPlugin = _ref15.expandedPluginProps,
|
|
370
|
+
expandedPluginProps = _ref15$expandedPlugin === void 0 ? {} : _ref15$expandedPlugin,
|
|
371
|
+
_ref15$labelPluginPro = _ref15.labelPluginProps,
|
|
372
|
+
labelPluginProps = _ref15$labelPluginPro === void 0 ? {} : _ref15$labelPluginPro,
|
|
373
|
+
_ref15$imageSupport = _ref15.imageSupport,
|
|
374
|
+
imageSupport = _ref15$imageSupport === void 0 ? {} : _ref15$imageSupport;
|
|
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
|
+
|
|
392
|
+
var _ref17 = errors || {},
|
|
393
|
+
traitsErrors = _ref17.traitsErrors,
|
|
394
|
+
scorePointsErrors = _ref17.scorePointsErrors;
|
|
395
|
+
|
|
396
|
+
var currentScaleTraitsErrors = traitsErrors && traitsErrors[scaleIndex] || {};
|
|
397
|
+
var currentScalePointsLabelsErrors = scorePointsErrors && scorePointsErrors[scaleIndex] || {};
|
|
398
|
+
var scorePointsValues = [];
|
|
399
|
+
var secondaryBlockWidth = parseInt(width) - _common.DragHandleSpace - _common.PrimaryBlockWidth || 320; // 320 is minWidth
|
|
400
|
+
// determining the score points values
|
|
401
|
+
|
|
402
|
+
for (var pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {
|
|
403
|
+
scorePointsValues.push(pointValue);
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
407
|
+
key: "scale-".concat(scaleIndex),
|
|
408
|
+
className: classes.scaleWrapper,
|
|
409
|
+
ref: function ref(_ref18) {
|
|
410
|
+
_this2.scaleWrapper = _ref18;
|
|
411
|
+
}
|
|
412
|
+
}, /*#__PURE__*/_react["default"].createElement(_traitsHeader["default"], {
|
|
413
|
+
setSecondaryBlockRef: function setSecondaryBlockRef(ref) {
|
|
414
|
+
if (ref) {
|
|
415
|
+
_this2.secondaryBlockRef = ref;
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
key: 'header-key',
|
|
419
|
+
errors: currentScalePointsLabelsErrors,
|
|
420
|
+
traitLabel: traitLabel,
|
|
421
|
+
scorePointsValues: scorePointsValues,
|
|
422
|
+
scorePointsLabels: scorePointsLabels,
|
|
423
|
+
onScaleChange: function onScaleChange(params) {
|
|
424
|
+
return onScaleChanged(scaleIndex, params);
|
|
425
|
+
},
|
|
426
|
+
onTraitLabelChange: function onTraitLabelChange(label) {
|
|
427
|
+
return onScaleChanged(scaleIndex, {
|
|
428
|
+
traitLabel: label
|
|
429
|
+
});
|
|
430
|
+
},
|
|
431
|
+
showStandards: showStandards,
|
|
432
|
+
showDescription: showDescription,
|
|
433
|
+
showLevelTagInput: showLevelTagInput,
|
|
434
|
+
showScorePointLabels: showScorePointLabels,
|
|
435
|
+
maxPoints: maxPoints,
|
|
436
|
+
updateMaxPointsFieldValue: this.updateMaxPointsFieldValue,
|
|
437
|
+
scaleIndex: scaleIndex,
|
|
438
|
+
showDeleteScaleModal: this.showDeleteScaleModal,
|
|
439
|
+
currentPosition: currentPosition,
|
|
440
|
+
secondaryBlockWidth: secondaryBlockWidth,
|
|
441
|
+
spellCheck: spellCheck,
|
|
442
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
443
|
+
maxPointsEnabled: maxPointsEnabled,
|
|
444
|
+
mathMlOptions: mathMlOptions,
|
|
445
|
+
maxMaxPoints: maxMaxPoints,
|
|
446
|
+
expandedPluginProps: expandedPluginProps,
|
|
447
|
+
labelPluginProps: labelPluginProps,
|
|
448
|
+
imageSupport: imageSupport
|
|
449
|
+
}), traits.map(function (trait, index) {
|
|
450
|
+
return /*#__PURE__*/_react["default"].createElement(_trait["default"], {
|
|
451
|
+
key: index,
|
|
452
|
+
index: index,
|
|
453
|
+
error: currentScaleTraitsErrors && currentScaleTraitsErrors[index],
|
|
454
|
+
trait: trait,
|
|
455
|
+
traitLabel: traitLabel || 'Trait',
|
|
456
|
+
scorePointsValues: scorePointsValues,
|
|
457
|
+
scorePointsLabels: scorePointsLabels,
|
|
458
|
+
onTraitRemoved: function onTraitRemoved() {
|
|
459
|
+
return _this2.showDeleteTraitModal(index);
|
|
460
|
+
},
|
|
461
|
+
onTraitChanged: function onTraitChanged(trait) {
|
|
462
|
+
return _this2.onTraitChanged(index, trait);
|
|
463
|
+
},
|
|
464
|
+
onTraitDropped: _this2.onTraitDropped,
|
|
465
|
+
showStandards: showStandards,
|
|
466
|
+
showDescription: showDescription,
|
|
467
|
+
maxPoints: maxPoints,
|
|
468
|
+
currentPosition: currentPosition,
|
|
469
|
+
enableDragAndDrop: enableDragAndDrop,
|
|
470
|
+
secondaryBlockWidth: secondaryBlockWidth,
|
|
471
|
+
spellCheck: spellCheck,
|
|
472
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
473
|
+
mathMlOptions: mathMlOptions,
|
|
474
|
+
expandedPluginProps: expandedPluginProps,
|
|
475
|
+
labelPluginProps: labelPluginProps,
|
|
476
|
+
imageSupport: imageSupport
|
|
477
|
+
});
|
|
478
|
+
}), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
|
|
479
|
+
width: "".concat(AdjustedBlockWidth / 2, "px"),
|
|
480
|
+
show: showLeft,
|
|
481
|
+
onClick: this.decreasePosition,
|
|
482
|
+
left: "".concat(_common.PrimaryBlockWidth, "px"),
|
|
483
|
+
showLevelTagInput: showLevelTagInput
|
|
484
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowBackIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
|
|
485
|
+
width: "".concat(AdjustedBlockWidth / 2, "px"),
|
|
486
|
+
show: showRight,
|
|
487
|
+
onClick: this.increasePosition,
|
|
488
|
+
showLevelTagInput: showLevelTagInput
|
|
489
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowForwardIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.MultiTraitButton, {
|
|
490
|
+
onClick: this.onTraitAdded
|
|
491
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
492
|
+
dangerouslySetInnerHTML: {
|
|
493
|
+
__html: "Add ".concat(traitLabel || ' Trait')
|
|
494
|
+
}
|
|
495
|
+
})), /*#__PURE__*/_react["default"].createElement(_modals.DecreaseMaxPoints, {
|
|
496
|
+
open: !!showDecreaseMaxPointsDialog,
|
|
497
|
+
deleteScorePoints: this.changeMaxPoints,
|
|
498
|
+
cancel: this.hideDecreaseMaxPointsModal
|
|
499
|
+
}), /*#__PURE__*/_react["default"].createElement(_modals.DeleteScale, {
|
|
500
|
+
open: !!showDeleteScaleDialog,
|
|
501
|
+
scaleIndex: scaleIndex,
|
|
502
|
+
deleteScale: this.deleteScale,
|
|
503
|
+
cancel: this.hideDeleteScaleModal
|
|
504
|
+
}), /*#__PURE__*/_react["default"].createElement(_modals.DeleteTrait, {
|
|
505
|
+
open: !!showDeleteTraitDialog,
|
|
506
|
+
deleteTrait: this.onTraitRemoved,
|
|
507
|
+
cancel: this.hideDeleteTraitModal,
|
|
508
|
+
traitLabel: traitLabel.toLowerCase()
|
|
509
|
+
}), /*#__PURE__*/_react["default"].createElement(_modals.InfoDialog, {
|
|
510
|
+
open: showInfoDialog,
|
|
511
|
+
text: infoDialogText,
|
|
512
|
+
onClose: function onClose() {
|
|
513
|
+
return _this2.set({
|
|
514
|
+
showInfoDialog: false
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
}));
|
|
518
|
+
}
|
|
519
|
+
}]);
|
|
520
|
+
return Scale;
|
|
521
|
+
}(_react["default"].Component);
|
|
522
|
+
|
|
523
|
+
exports.Scale = Scale;
|
|
524
|
+
Scale.propTypes = {
|
|
525
|
+
classes: _propTypes["default"].object,
|
|
526
|
+
errors: _propTypes["default"].object,
|
|
527
|
+
scale: _propTypes["default"].shape({
|
|
528
|
+
maxPoints: _propTypes["default"].number,
|
|
529
|
+
scorePointsLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
530
|
+
traitLabel: _propTypes["default"].string,
|
|
531
|
+
traits: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
532
|
+
name: _propTypes["default"].string,
|
|
533
|
+
standards: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
534
|
+
scorePointsDescriptors: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
535
|
+
description: _propTypes["default"].string
|
|
536
|
+
}))
|
|
537
|
+
}),
|
|
538
|
+
width: _propTypes["default"].string,
|
|
539
|
+
excludeZero: _propTypes["default"].bool,
|
|
540
|
+
scaleIndex: _propTypes["default"].number,
|
|
541
|
+
onScaleChanged: _propTypes["default"].func,
|
|
542
|
+
onScaleRemoved: _propTypes["default"].func,
|
|
543
|
+
showStandards: _propTypes["default"].bool,
|
|
544
|
+
showLevelTagInput: _propTypes["default"].bool,
|
|
545
|
+
showDescription: _propTypes["default"].bool,
|
|
546
|
+
uploadSoundSupport: _propTypes["default"].object,
|
|
547
|
+
showScorePointLabels: _propTypes["default"].bool,
|
|
548
|
+
enableDragAndDrop: _propTypes["default"].bool,
|
|
549
|
+
expandedPluginProps: _propTypes["default"].object,
|
|
550
|
+
labelPluginProps: _propTypes["default"].object
|
|
551
|
+
};
|
|
552
|
+
|
|
553
|
+
var _default = (0, _drag.withDragContext)((0, _styles.withStyles)(styles)(Scale));
|
|
554
|
+
|
|
555
|
+
exports["default"] = _default;
|
|
556
|
+
//# 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","numberValue","parseInt","value","secondaryBlockRef","scrollWidth","offsetWidth","showDecreaseMaxPointsModal","newMaxPoints","set","undefined","state","hideDecreaseMaxPointsModal","onScaleRemoved","hideDeleteScaleModal","traitToDeleteIndex","minNoOfTraits","traits","traitLabel","length","toLowerCase","slice","hideDeleteTraitModal","maxNoOfTraits","scorePointsLabels","push","name","description","standards","scorePointsDescriptors","Array","from","traitIndex","source","newIndex","oldIndex","index","cup","remainingTraits","filter","item","newTraits","decreasedPosition","increasedPosition","prevProps","showDescription","excludeZero","nextProps","showStandards","classes","errors","showLevelTagInput","showScorePointLabels","enableDragAndDrop","spellCheck","uploadSoundSupport","maxPointsEnabled","mathMlOptions","maxMaxPoints","expandedPluginProps","labelPluginProps","imageSupport","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 } = 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 onScaleChanged(scaleIndex, { maxPoints: numberValue });\n }\n };\n\n showDecreaseMaxPointsModal = ({ newMaxPoints }) => this.set({ showDecreaseMaxPointsDialog: true, newMaxPoints });\n\n hideDecreaseMaxPointsModal = () => this.set({ showDecreaseMaxPointsDialog: false, newMaxPoints: undefined });\n\n changeMaxPoints = () => {\n const { newMaxPoints } = this.state || {};\n const { scaleIndex, onScaleChanged } = this.props || {};\n\n if (newMaxPoints) {\n onScaleChanged(scaleIndex, { maxPoints: newMaxPoints });\n }\n\n this.hideDecreaseMaxPointsModal();\n };\n\n // Delete Scale\n showDeleteScaleModal = () => this.set({ showDeleteScaleDialog: true });\n\n hideDeleteScaleModal = () => this.set({ showDeleteScaleDialog: false });\n\n deleteScale = () => {\n const { scaleIndex, onScaleRemoved } = this.props || {};\n\n this.hideDeleteScaleModal();\n\n onScaleRemoved(scaleIndex);\n };\n\n // Delete Trait\n showDeleteTraitModal = (traitToDeleteIndex) => this.set({ showDeleteTraitDialog: true, traitToDeleteIndex });\n\n hideDeleteTraitModal = () => this.set({ showDeleteTraitDialog: false, traitToDeleteIndex: undefined });\n\n onTraitRemoved = () => {\n const { traitToDeleteIndex } = this.state;\n const { scale, scaleIndex, onScaleChanged, minNoOfTraits } = this.props || {};\n let { traits, traitLabel } = scale || {};\n\n if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;\n\n if (traits.length === minNoOfTraits) {\n this.set({\n infoDialogText: `There can't be less than ${minNoOfTraits} ${(traitLabel || 'trait').toLowerCase()}s.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n traits = [...traits.slice(0, traitToDeleteIndex), ...traits.slice(traitToDeleteIndex + 1)];\n\n onScaleChanged(scaleIndex, { traits });\n\n this.hideDeleteTraitModal();\n };\n\n onTraitAdded = () => {\n const { scale, scaleIndex, onScaleChanged, maxNoOfTraits } = this.props || {};\n const { traits, scorePointsLabels } = scale || {};\n\n if (traits.length === maxNoOfTraits) {\n this.set({\n infoDialogText: `There can't be more than ${maxNoOfTraits} scales.`,\n showInfoDialog: true,\n });\n\n return false;\n }\n\n traits.push({\n name: '',\n description: '',\n standards: [],\n scorePointsDescriptors: Array.from({ length: scorePointsLabels.length }, () => ''),\n });\n\n onScaleChanged(scaleIndex, { traits });\n };\n\n onTraitChanged = (traitIndex, trait) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { traits } = scale || {};\n\n if (traitIndex >= 0 && traitIndex < traits.length) {\n traits[traitIndex] = trait;\n\n onScaleChanged(scaleIndex, { traits });\n }\n };\n\n onTraitDropped = (source, newIndex) => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { traits } = scale || {};\n const { index: oldIndex } = source;\n const cup = traits[oldIndex];\n\n const remainingTraits = traits.filter((item, index) => index !== oldIndex);\n\n const newTraits = [...remainingTraits.slice(0, newIndex), cup, ...remainingTraits.slice(newIndex)];\n\n onScaleChanged(scaleIndex, { traits: newTraits });\n };\n\n decreasePosition = () => {\n const { currentPosition } = this.state;\n const decreasedPosition =\n currentPosition - (currentPosition === AdjustedBlockWidth / 2 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);\n\n this.setState({\n currentPosition: decreasedPosition,\n showRight: decreasedPosition < this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n showLeft: decreasedPosition > 0,\n });\n };\n\n increasePosition = () => {\n const { currentPosition } = this.state;\n const increasedPosition = currentPosition + (currentPosition === 0 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);\n\n this.setState({\n currentPosition: increasedPosition,\n showRight: increasedPosition < this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth,\n showLeft: increasedPosition > 0,\n });\n };\n\n render() {\n const {\n classes,\n errors,\n scale,\n scaleIndex,\n showStandards,\n onScaleChanged,\n excludeZero,\n showDescription,\n showLevelTagInput,\n showScorePointLabels,\n enableDragAndDrop,\n spellCheck,\n width,\n uploadSoundSupport,\n maxPointsEnabled,\n mathMlOptions = {},\n maxMaxPoints,\n expandedPluginProps = {},\n labelPluginProps = {},\n imageSupport = {},\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 expandedPluginProps={expandedPluginProps}\n labelPluginProps={labelPluginProps}\n imageSupport={imageSupport}\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 expandedPluginProps={expandedPluginProps}\n labelPluginProps={labelPluginProps}\n imageSupport={imageSupport}\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 expandedPluginProps: PropTypes.object,\n labelPluginProps: PropTypes.object,\n};\n\nexport default withDragContext(withStyles(styles)(Scale));\n"],"file":"scale.js"}
|