@pie-element/complex-rubric 0.0.2-next.4424
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/LICENSE.md +5 -0
- package/README.md +3 -0
- package/configure/lib/defaults.js +99 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/index.js +232 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/main.js +165 -0
- package/configure/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.json +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.md +376 -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 +344 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js +455 -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 +82 -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 +112 -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 +438 -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 +324 -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 +490 -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 +334 -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 +254 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js +29 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/package.json +22 -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 +66 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js +9 -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 +122 -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/package.json +15 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json +226 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json.md +169 -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 +108 -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 +282 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json.md +189 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js +85 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js +99 -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 +209 -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 +731 -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 +615 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/index.js +93 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/package.json +16 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/index.js +38 -0
- package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.json +17 -0
- package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.md +105 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/index.js +14 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/controller/package.json +9 -0
- package/configure/node_modules/@pie-element/rubric/controller/src/__tests__/index.test.js +35 -0
- package/configure/node_modules/@pie-element/rubric/controller/src/index.js +6 -0
- package/configure/node_modules/@pie-element/rubric/docs/config-schema.json +24 -0
- package/configure/node_modules/@pie-element/rubric/docs/config-schema.json.md +19 -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 +3 -0
- package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json +62 -0
- package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json.md +35 -0
- package/configure/node_modules/@pie-element/rubric/lib/index.js +88 -0
- package/configure/node_modules/@pie-element/rubric/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/lib/main.js +171 -0
- package/configure/node_modules/@pie-element/rubric/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/lib/print.js +114 -0
- package/configure/node_modules/@pie-element/rubric/lib/print.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/package.json +25 -0
- package/configure/node_modules/@pie-element/rubric/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +22767 -0
- package/configure/node_modules/@pie-element/rubric/src/__tests__/rubric-view.test.jsx +48 -0
- package/configure/node_modules/@pie-element/rubric/src/index.js +38 -0
- package/configure/node_modules/@pie-element/rubric/src/main.jsx +117 -0
- package/configure/node_modules/@pie-element/rubric/src/print.js +63 -0
- package/configure/package.json +22 -0
- package/configure/src/__tests__/__snapshots__/main.test.jsx.snap +106 -0
- package/configure/src/__tests__/index.test.js +41 -0
- package/configure/src/__tests__/main.test.jsx +104 -0
- package/configure/src/defaults.js +122 -0
- package/configure/src/index.js +138 -0
- package/configure/src/main.jsx +117 -0
- package/controller/lib/defaults.js +99 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +147 -0
- package/controller/lib/index.js.map +1 -0
- package/controller/package.json +12 -0
- package/controller/src/__tests__/index.test.js +58 -0
- package/controller/src/defaults.js +121 -0
- package/controller/src/index.js +81 -0
- package/docs/config-schema.json +427 -0
- package/docs/config-schema.json.md +315 -0
- package/docs/demo/config.js +8 -0
- package/docs/demo/generate.js +119 -0
- package/docs/demo/index.html +1 -0
- package/docs/demo/session.js +6 -0
- package/docs/pie-schema.json +994 -0
- package/docs/pie-schema.json.md +660 -0
- package/lib/index.js +176 -0
- package/lib/index.js.map +1 -0
- package/package.json +25 -0
- package/src/__tests__/index.test.js +166 -0
- package/src/index.js +106 -0
|
@@ -0,0 +1,490 @@
|
|
|
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
|
+
});
|
|
97
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "set", function (newState) {
|
|
98
|
+
return _this.setState(newState);
|
|
99
|
+
});
|
|
100
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateMaxPointsFieldValue", function (_ref) {
|
|
101
|
+
var target = _ref.target;
|
|
102
|
+
|
|
103
|
+
var _ref2 = _this.props || {},
|
|
104
|
+
scale = _ref2.scale,
|
|
105
|
+
scaleIndex = _ref2.scaleIndex,
|
|
106
|
+
onScaleChanged = _ref2.onScaleChanged;
|
|
107
|
+
|
|
108
|
+
var maxPoints = scale.maxPoints,
|
|
109
|
+
scorePointsLabels = scale.scorePointsLabels,
|
|
110
|
+
traits = scale.traits;
|
|
111
|
+
var numberValue = parseInt(target.value, 10);
|
|
112
|
+
|
|
113
|
+
_this.setState({
|
|
114
|
+
currentPosition: 0,
|
|
115
|
+
showLeft: false,
|
|
116
|
+
showRight: _this.secondaryBlockRef && _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
if (numberValue < maxPoints) {
|
|
120
|
+
_this.showDecreaseMaxPointsModal({
|
|
121
|
+
newMaxPoints: numberValue
|
|
122
|
+
});
|
|
123
|
+
} else {
|
|
124
|
+
var _loop = function _loop(i) {
|
|
125
|
+
if (!scorePointsLabels[i]) {
|
|
126
|
+
scorePointsLabels.push('');
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
traits.forEach(function (trait, index) {
|
|
130
|
+
if (!traits[index].scorePointsDescriptors[i]) {
|
|
131
|
+
traits[index].scorePointsDescriptors.push('');
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
for (var i = 0; i <= numberValue; i++) {
|
|
137
|
+
_loop(i);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
onScaleChanged(scaleIndex, {
|
|
141
|
+
maxPoints: numberValue,
|
|
142
|
+
scorePointsLabels: scorePointsLabels,
|
|
143
|
+
traits: traits
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDecreaseMaxPointsModal", function (_ref3) {
|
|
148
|
+
var newMaxPoints = _ref3.newMaxPoints;
|
|
149
|
+
return _this.set({
|
|
150
|
+
showDecreaseMaxPointsDialog: true,
|
|
151
|
+
newMaxPoints: newMaxPoints
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDecreaseMaxPointsModal", function () {
|
|
155
|
+
return _this.set({
|
|
156
|
+
showDecreaseMaxPointsDialog: false,
|
|
157
|
+
newMaxPoints: undefined
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMaxPoints", function () {
|
|
161
|
+
var _ref4 = _this.state || {},
|
|
162
|
+
newMaxPoints = _ref4.newMaxPoints;
|
|
163
|
+
|
|
164
|
+
var _ref5 = _this.props || {},
|
|
165
|
+
scaleIndex = _ref5.scaleIndex,
|
|
166
|
+
onScaleChanged = _ref5.onScaleChanged;
|
|
167
|
+
|
|
168
|
+
if (newMaxPoints) {
|
|
169
|
+
onScaleChanged(scaleIndex, {
|
|
170
|
+
maxPoints: newMaxPoints
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
_this.hideDecreaseMaxPointsModal();
|
|
175
|
+
});
|
|
176
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteScaleModal", function () {
|
|
177
|
+
return _this.set({
|
|
178
|
+
showDeleteScaleDialog: true
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteScaleModal", function () {
|
|
182
|
+
return _this.set({
|
|
183
|
+
showDeleteScaleDialog: false
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteScale", function () {
|
|
187
|
+
var _ref6 = _this.props || {},
|
|
188
|
+
scaleIndex = _ref6.scaleIndex,
|
|
189
|
+
onScaleRemoved = _ref6.onScaleRemoved;
|
|
190
|
+
|
|
191
|
+
_this.hideDeleteScaleModal();
|
|
192
|
+
|
|
193
|
+
onScaleRemoved(scaleIndex);
|
|
194
|
+
});
|
|
195
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "showDeleteTraitModal", function (traitToDeleteIndex) {
|
|
196
|
+
return _this.set({
|
|
197
|
+
showDeleteTraitDialog: true,
|
|
198
|
+
traitToDeleteIndex: traitToDeleteIndex
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hideDeleteTraitModal", function () {
|
|
202
|
+
return _this.set({
|
|
203
|
+
showDeleteTraitDialog: false,
|
|
204
|
+
traitToDeleteIndex: undefined
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitRemoved", function () {
|
|
208
|
+
var traitToDeleteIndex = _this.state.traitToDeleteIndex;
|
|
209
|
+
|
|
210
|
+
var _ref7 = _this.props || {},
|
|
211
|
+
scale = _ref7.scale,
|
|
212
|
+
scaleIndex = _ref7.scaleIndex,
|
|
213
|
+
onScaleChanged = _ref7.onScaleChanged;
|
|
214
|
+
|
|
215
|
+
var _ref8 = scale || {},
|
|
216
|
+
traits = _ref8.traits;
|
|
217
|
+
|
|
218
|
+
if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;
|
|
219
|
+
traits = [].concat((0, _toConsumableArray2["default"])(traits.slice(0, traitToDeleteIndex)), (0, _toConsumableArray2["default"])(traits.slice(traitToDeleteIndex + 1)));
|
|
220
|
+
onScaleChanged(scaleIndex, {
|
|
221
|
+
traits: traits
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
_this.hideDeleteTraitModal();
|
|
225
|
+
});
|
|
226
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitAdded", function () {
|
|
227
|
+
var _ref9 = _this.props || {},
|
|
228
|
+
scale = _ref9.scale,
|
|
229
|
+
scaleIndex = _ref9.scaleIndex,
|
|
230
|
+
onScaleChanged = _ref9.onScaleChanged;
|
|
231
|
+
|
|
232
|
+
var _ref10 = scale || {},
|
|
233
|
+
traits = _ref10.traits,
|
|
234
|
+
scorePointsLabels = _ref10.scorePointsLabels;
|
|
235
|
+
|
|
236
|
+
traits.push({
|
|
237
|
+
name: '',
|
|
238
|
+
description: '',
|
|
239
|
+
standards: [],
|
|
240
|
+
scorePointsDescriptors: Array.from({
|
|
241
|
+
length: scorePointsLabels.length
|
|
242
|
+
}, function () {
|
|
243
|
+
return '';
|
|
244
|
+
})
|
|
245
|
+
});
|
|
246
|
+
onScaleChanged(scaleIndex, {
|
|
247
|
+
traits: traits
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitChanged", function (traitIndex, trait) {
|
|
251
|
+
var _ref11 = _this.props || {},
|
|
252
|
+
scale = _ref11.scale,
|
|
253
|
+
scaleIndex = _ref11.scaleIndex,
|
|
254
|
+
onScaleChanged = _ref11.onScaleChanged;
|
|
255
|
+
|
|
256
|
+
var _ref12 = scale || {},
|
|
257
|
+
traits = _ref12.traits;
|
|
258
|
+
|
|
259
|
+
if (traitIndex >= 0 && traitIndex < traits.length) {
|
|
260
|
+
traits[traitIndex] = trait;
|
|
261
|
+
onScaleChanged(scaleIndex, {
|
|
262
|
+
traits: traits
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTraitDropped", function (source, newIndex) {
|
|
267
|
+
var _ref13 = _this.props || {},
|
|
268
|
+
scale = _ref13.scale,
|
|
269
|
+
scaleIndex = _ref13.scaleIndex,
|
|
270
|
+
onScaleChanged = _ref13.onScaleChanged;
|
|
271
|
+
|
|
272
|
+
var _ref14 = scale || {},
|
|
273
|
+
traits = _ref14.traits;
|
|
274
|
+
|
|
275
|
+
var oldIndex = source.index;
|
|
276
|
+
var cup = traits[oldIndex];
|
|
277
|
+
var remainingTraits = traits.filter(function (item, index) {
|
|
278
|
+
return index !== oldIndex;
|
|
279
|
+
});
|
|
280
|
+
var newTraits = [].concat((0, _toConsumableArray2["default"])(remainingTraits.slice(0, newIndex)), [cup], (0, _toConsumableArray2["default"])(remainingTraits.slice(newIndex)));
|
|
281
|
+
onScaleChanged(scaleIndex, {
|
|
282
|
+
traits: newTraits
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "decreasePosition", function () {
|
|
286
|
+
var currentPosition = _this.state.currentPosition;
|
|
287
|
+
var decreasedPosition = currentPosition - (currentPosition === AdjustedBlockWidth / 2 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
|
|
288
|
+
|
|
289
|
+
_this.setState({
|
|
290
|
+
currentPosition: decreasedPosition,
|
|
291
|
+
showRight: decreasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
|
|
292
|
+
showLeft: decreasedPosition > 0
|
|
293
|
+
});
|
|
294
|
+
});
|
|
295
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "increasePosition", function () {
|
|
296
|
+
var currentPosition = _this.state.currentPosition;
|
|
297
|
+
var increasedPosition = currentPosition + (currentPosition === 0 ? AdjustedBlockWidth / 2 : AdjustedBlockWidth);
|
|
298
|
+
|
|
299
|
+
_this.setState({
|
|
300
|
+
currentPosition: increasedPosition,
|
|
301
|
+
showRight: increasedPosition < _this.secondaryBlockRef.scrollWidth - _this.secondaryBlockRef.offsetWidth,
|
|
302
|
+
showLeft: increasedPosition > 0
|
|
303
|
+
});
|
|
304
|
+
});
|
|
305
|
+
return _this;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
(0, _createClass2["default"])(Scale, [{
|
|
309
|
+
key: "componentDidMount",
|
|
310
|
+
value: function componentDidMount() {
|
|
311
|
+
if (this.state.showRight === null && this.secondaryBlockRef) {
|
|
312
|
+
this.setState({
|
|
313
|
+
showRight: this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}, {
|
|
318
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
319
|
+
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
320
|
+
if (nextProps.excludeZero !== this.props.excludeZero || nextProps.showStandards !== this.props.showStandards || nextProps.showDescription !== this.props.showDescription) {
|
|
321
|
+
this.setState({
|
|
322
|
+
currentPosition: 0,
|
|
323
|
+
showLeft: false,
|
|
324
|
+
showRight: this.secondaryBlockRef && this.secondaryBlockRef.scrollWidth - this.secondaryBlockRef.offsetWidth
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
} // Max Points
|
|
328
|
+
|
|
329
|
+
}, {
|
|
330
|
+
key: "render",
|
|
331
|
+
value: function render() {
|
|
332
|
+
var _this2 = this;
|
|
333
|
+
|
|
334
|
+
var _ref15 = this.props || {},
|
|
335
|
+
classes = _ref15.classes,
|
|
336
|
+
scale = _ref15.scale,
|
|
337
|
+
scaleIndex = _ref15.scaleIndex,
|
|
338
|
+
showStandards = _ref15.showStandards,
|
|
339
|
+
onScaleChanged = _ref15.onScaleChanged,
|
|
340
|
+
excludeZero = _ref15.excludeZero,
|
|
341
|
+
showDescription = _ref15.showDescription,
|
|
342
|
+
showLevelTagInput = _ref15.showLevelTagInput,
|
|
343
|
+
showScorePointLabels = _ref15.showScorePointLabels,
|
|
344
|
+
enableDragAndDrop = _ref15.enableDragAndDrop,
|
|
345
|
+
spellCheck = _ref15.spellCheck,
|
|
346
|
+
width = _ref15.width;
|
|
347
|
+
|
|
348
|
+
var _ref16 = scale || {},
|
|
349
|
+
maxPoints = _ref16.maxPoints,
|
|
350
|
+
scorePointsLabels = _ref16.scorePointsLabels,
|
|
351
|
+
traitLabel = _ref16.traitLabel,
|
|
352
|
+
traits = _ref16.traits;
|
|
353
|
+
|
|
354
|
+
var _this$state = this.state,
|
|
355
|
+
showDecreaseMaxPointsDialog = _this$state.showDecreaseMaxPointsDialog,
|
|
356
|
+
showDeleteScaleDialog = _this$state.showDeleteScaleDialog,
|
|
357
|
+
showDeleteTraitDialog = _this$state.showDeleteTraitDialog,
|
|
358
|
+
currentPosition = _this$state.currentPosition,
|
|
359
|
+
showRight = _this$state.showRight,
|
|
360
|
+
showLeft = _this$state.showLeft;
|
|
361
|
+
var scorePointsValues = [];
|
|
362
|
+
var secondaryBlockWidth = parseInt(width) - _common.DragHandleSpace - _common.PrimaryBlockWidth || 320; // 320 is minWidth
|
|
363
|
+
// determining the score points values
|
|
364
|
+
|
|
365
|
+
for (var pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {
|
|
366
|
+
scorePointsValues.push(pointValue);
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
370
|
+
key: "scale-".concat(scaleIndex),
|
|
371
|
+
className: classes.scaleWrapper,
|
|
372
|
+
ref: function ref(_ref17) {
|
|
373
|
+
_this2.scaleWrapper = _ref17;
|
|
374
|
+
}
|
|
375
|
+
}, /*#__PURE__*/_react["default"].createElement(_traitsHeader["default"], {
|
|
376
|
+
setSecondaryBlockRef: function setSecondaryBlockRef(ref) {
|
|
377
|
+
if (ref) {
|
|
378
|
+
_this2.secondaryBlockRef = ref;
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
key: 'header-key',
|
|
382
|
+
traitLabel: traitLabel,
|
|
383
|
+
scorePointsValues: scorePointsValues,
|
|
384
|
+
scorePointsLabels: scorePointsLabels,
|
|
385
|
+
onScaleChange: function onScaleChange(params) {
|
|
386
|
+
return onScaleChanged(scaleIndex, params);
|
|
387
|
+
},
|
|
388
|
+
onTraitLabelChange: function onTraitLabelChange(label) {
|
|
389
|
+
return onScaleChanged(scaleIndex, {
|
|
390
|
+
traitLabel: label
|
|
391
|
+
});
|
|
392
|
+
},
|
|
393
|
+
showStandards: showStandards,
|
|
394
|
+
showDescription: showDescription,
|
|
395
|
+
showLevelTagInput: showLevelTagInput,
|
|
396
|
+
showScorePointLabels: showScorePointLabels,
|
|
397
|
+
maxPoints: maxPoints,
|
|
398
|
+
updateMaxPointsFieldValue: this.updateMaxPointsFieldValue,
|
|
399
|
+
scaleIndex: scaleIndex,
|
|
400
|
+
showDeleteScaleModal: this.showDeleteScaleModal,
|
|
401
|
+
currentPosition: currentPosition,
|
|
402
|
+
secondaryBlockWidth: secondaryBlockWidth,
|
|
403
|
+
spellCheck: spellCheck
|
|
404
|
+
}), traits.map(function (trait, index) {
|
|
405
|
+
return /*#__PURE__*/_react["default"].createElement(_trait["default"], {
|
|
406
|
+
key: index,
|
|
407
|
+
index: index,
|
|
408
|
+
trait: trait,
|
|
409
|
+
scorePointsValues: scorePointsValues,
|
|
410
|
+
scorePointsLabels: scorePointsLabels,
|
|
411
|
+
onTraitRemoved: function onTraitRemoved() {
|
|
412
|
+
return _this2.showDeleteTraitModal(index);
|
|
413
|
+
},
|
|
414
|
+
onTraitChanged: function onTraitChanged(trait) {
|
|
415
|
+
return _this2.onTraitChanged(index, trait);
|
|
416
|
+
},
|
|
417
|
+
onTraitDropped: _this2.onTraitDropped,
|
|
418
|
+
showStandards: showStandards,
|
|
419
|
+
showDescription: showDescription,
|
|
420
|
+
currentPosition: currentPosition,
|
|
421
|
+
enableDragAndDrop: enableDragAndDrop,
|
|
422
|
+
secondaryBlockWidth: secondaryBlockWidth,
|
|
423
|
+
spellCheck: spellCheck
|
|
424
|
+
});
|
|
425
|
+
}), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
|
|
426
|
+
width: "".concat(AdjustedBlockWidth / 2, "px"),
|
|
427
|
+
show: showLeft,
|
|
428
|
+
onClick: this.decreasePosition,
|
|
429
|
+
left: "".concat(_common.PrimaryBlockWidth + _common.DragHandleSpace, "px"),
|
|
430
|
+
showLevelTagInput: showLevelTagInput
|
|
431
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowBackIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.Arrow, {
|
|
432
|
+
width: "".concat(AdjustedBlockWidth / 2, "px"),
|
|
433
|
+
show: showRight,
|
|
434
|
+
onClick: this.increasePosition,
|
|
435
|
+
showLevelTagInput: showLevelTagInput
|
|
436
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowForwardIos["default"], null)), /*#__PURE__*/_react["default"].createElement(_common.MultiTraitButton, {
|
|
437
|
+
onClick: this.onTraitAdded
|
|
438
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
439
|
+
dangerouslySetInnerHTML: {
|
|
440
|
+
__html: "Add ".concat(traitLabel || ' Trait')
|
|
441
|
+
}
|
|
442
|
+
})), /*#__PURE__*/_react["default"].createElement(_modals.DecreaseMaxPoints, {
|
|
443
|
+
open: !!showDecreaseMaxPointsDialog,
|
|
444
|
+
deleteScorePoints: this.changeMaxPoints,
|
|
445
|
+
cancel: this.hideDecreaseMaxPointsModal
|
|
446
|
+
}), /*#__PURE__*/_react["default"].createElement(_modals.DeleteScale, {
|
|
447
|
+
open: !!showDeleteScaleDialog,
|
|
448
|
+
scaleIndex: scaleIndex,
|
|
449
|
+
deleteScale: this.deleteScale,
|
|
450
|
+
cancel: this.hideDeleteScaleModal
|
|
451
|
+
}), /*#__PURE__*/_react["default"].createElement(_modals.DeleteTrait, {
|
|
452
|
+
open: !!showDeleteTraitDialog,
|
|
453
|
+
deleteTrait: this.onTraitRemoved,
|
|
454
|
+
cancel: this.hideDeleteTraitModal
|
|
455
|
+
}));
|
|
456
|
+
}
|
|
457
|
+
}]);
|
|
458
|
+
return Scale;
|
|
459
|
+
}(_react["default"].Component);
|
|
460
|
+
|
|
461
|
+
exports.Scale = Scale;
|
|
462
|
+
Scale.propTypes = {
|
|
463
|
+
classes: _propTypes["default"].object,
|
|
464
|
+
scale: _propTypes["default"].shape({
|
|
465
|
+
maxPoints: _propTypes["default"].number,
|
|
466
|
+
scorePointsLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
467
|
+
traitLabel: _propTypes["default"].string,
|
|
468
|
+
traits: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
469
|
+
name: _propTypes["default"].string,
|
|
470
|
+
standards: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
471
|
+
scorePointsDescriptors: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
472
|
+
description: _propTypes["default"].string
|
|
473
|
+
}))
|
|
474
|
+
}),
|
|
475
|
+
width: _propTypes["default"].string,
|
|
476
|
+
excludeZero: _propTypes["default"].bool,
|
|
477
|
+
scaleIndex: _propTypes["default"].number,
|
|
478
|
+
onScaleChanged: _propTypes["default"].func,
|
|
479
|
+
onScaleRemoved: _propTypes["default"].func,
|
|
480
|
+
showStandards: _propTypes["default"].bool,
|
|
481
|
+
showLevelTagInput: _propTypes["default"].bool,
|
|
482
|
+
showDescription: _propTypes["default"].bool,
|
|
483
|
+
showScorePointLabels: _propTypes["default"].bool,
|
|
484
|
+
enableDragAndDrop: _propTypes["default"].bool
|
|
485
|
+
};
|
|
486
|
+
|
|
487
|
+
var _default = (0, _drag.withDragContext)((0, _styles.withStyles)(styles)(Scale));
|
|
488
|
+
|
|
489
|
+
exports["default"] = _default;
|
|
490
|
+
//# sourceMappingURL=scale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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","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","length","slice","hideDeleteTraitModal","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","traitLabel","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 {\n Arrow,\n BlockWidth,\n DragHandleSpace,\n MultiTraitButton,\n PrimaryBlockWidth\n} from './common';\nimport {\n DecreaseMaxPoints,\n DeleteScale,\n DeleteTrait,\n} 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 };\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 (nextProps.excludeZero !== this.props.excludeZero ||\n nextProps.showStandards !== this.props.showStandards ||\n nextProps.showDescription !== this.props.showDescription) {\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\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 } = this.props || {};\n let { traits } = scale || {};\n\n if (traitToDeleteIndex < 0 || traitToDeleteIndex >= traits.length) return;\n\n traits = [\n ...traits.slice(0, traitToDeleteIndex),\n ...traits.slice(traitToDeleteIndex + 1)\n ];\n\n onScaleChanged(scaleIndex, { traits });\n\n this.hideDeleteTraitModal();\n }\n\n onTraitAdded = () => {\n const { scale, scaleIndex, onScaleChanged } = this.props || {};\n const { traits, scorePointsLabels } = scale || {};\n\n traits.push({\n name: '',\n description: '',\n standards: [],\n scorePointsDescriptors: Array.from(\n { length: scorePointsLabels.length },\n () => ''\n ),\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 = [\n ...remainingTraits.slice(0, newIndex),\n cup,\n ...remainingTraits.slice(newIndex),\n ];\n\n onScaleChanged(scaleIndex, { traits: newTraits });\n }\n\n decreasePosition = () => {\n const { currentPosition } = this.state;\n const decreasedPosition = 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 } = this.props || {};\n\n const {\n maxPoints,\n scorePointsLabels,\n traitLabel,\n traits\n } = scale || {};\n\n const {\n showDecreaseMaxPointsDialog,\n showDeleteScaleDialog,\n showDeleteTraitDialog,\n currentPosition,\n showRight,\n showLeft\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 />\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 />\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 />\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(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 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 showScorePointLabels: PropTypes.bool,\n enableDragAndDrop: PropTypes.bool,\n}\n\nexport default withDragContext(withStyles(styles)(Scale));\n"],"file":"scale.js"}
|