@pie-element/complex-rubric 6.0.0-beta.1 → 6.0.0-next.0

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.
Files changed (124) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/configure/CHANGELOG.md +0 -11
  3. package/configure/lib/defaults.js +9 -0
  4. package/configure/lib/defaults.js.map +1 -1
  5. package/configure/lib/index.js +8 -8
  6. package/configure/lib/index.js.map +1 -1
  7. package/configure/package.json +9 -9
  8. package/configure/src/__tests__/index.test.js +15 -0
  9. package/configure/src/__tests__/main.test.jsx +7 -0
  10. package/configure/src/defaults.js +3 -0
  11. package/configure/src/index.js +1 -1
  12. package/controller/package.json +1 -1
  13. package/module/configure.js +1 -0
  14. package/module/controller.js +262 -0
  15. package/module/demo.js +221 -0
  16. package/module/element.js +1 -0
  17. package/module/index.html +21 -0
  18. package/module/manifest.json +22 -0
  19. package/module/print-demo.js +259 -0
  20. package/module/print.html +18 -0
  21. package/module/print.js +1 -0
  22. package/package.json +10 -6
  23. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.json +0 -1
  24. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.md +0 -2491
  25. package/configure/node_modules/@pie-element/multi-trait-rubric/README.md +0 -55
  26. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.json +0 -1
  27. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.md +0 -2333
  28. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js +0 -429
  29. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js.map +0 -1
  30. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js +0 -181
  31. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js.map +0 -1
  32. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js +0 -157
  33. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js.map +0 -1
  34. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js +0 -455
  35. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js.map +0 -1
  36. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js +0 -206
  37. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js.map +0 -1
  38. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js +0 -451
  39. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js.map +0 -1
  40. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js +0 -275
  41. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js.map +0 -1
  42. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js +0 -233
  43. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js.map +0 -1
  44. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js +0 -87
  45. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js.map +0 -1
  46. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/package.json +0 -24
  47. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.json +0 -1
  48. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.md +0 -1571
  49. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js +0 -18
  50. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js.map +0 -1
  51. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js +0 -158
  52. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js.map +0 -1
  53. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js +0 -11
  54. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js.map +0 -1
  55. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/package.json +0 -14
  56. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json +0 -1628
  57. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json.md +0 -1202
  58. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/config.js +0 -8
  59. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/generate.js +0 -117
  60. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/index.html +0 -1
  61. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/session.js +0 -6
  62. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json +0 -861
  63. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json.md +0 -614
  64. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js +0 -54
  65. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js.map +0 -1
  66. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js +0 -123
  67. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js.map +0 -1
  68. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js +0 -248
  69. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js.map +0 -1
  70. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js +0 -83
  71. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js.map +0 -1
  72. package/configure/node_modules/@pie-element/multi-trait-rubric/package.json +0 -32
  73. package/configure/node_modules/@pie-element/rubric/CHANGELOG.json +0 -257
  74. package/configure/node_modules/@pie-element/rubric/CHANGELOG.md +0 -2774
  75. package/configure/node_modules/@pie-element/rubric/README.md +0 -3
  76. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.json +0 -197
  77. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.md +0 -2541
  78. package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js +0 -67
  79. package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js.map +0 -1
  80. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js +0 -135
  81. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js.map +0 -1
  82. package/configure/node_modules/@pie-element/rubric/configure/lib/main.js +0 -103
  83. package/configure/node_modules/@pie-element/rubric/configure/lib/main.js.map +0 -1
  84. package/configure/node_modules/@pie-element/rubric/configure/package.json +0 -24
  85. package/configure/node_modules/@pie-element/rubric/configure/src/__tests__/index.test.jsx +0 -178
  86. package/configure/node_modules/@pie-element/rubric/configure/src/defaults.js +0 -42
  87. package/configure/node_modules/@pie-element/rubric/configure/src/index.js +0 -139
  88. package/configure/node_modules/@pie-element/rubric/configure/src/main.jsx +0 -87
  89. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.json +0 -17
  90. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.md +0 -1564
  91. package/configure/node_modules/@pie-element/rubric/controller/lib/defaults.js +0 -15
  92. package/configure/node_modules/@pie-element/rubric/controller/lib/defaults.js.map +0 -1
  93. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js +0 -46
  94. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js.map +0 -1
  95. package/configure/node_modules/@pie-element/rubric/controller/package.json +0 -12
  96. package/configure/node_modules/@pie-element/rubric/controller/src/__tests__/index.test.js +0 -33
  97. package/configure/node_modules/@pie-element/rubric/controller/src/defaults.js +0 -8
  98. package/configure/node_modules/@pie-element/rubric/controller/src/index.js +0 -41
  99. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json +0 -712
  100. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json.md +0 -532
  101. package/configure/node_modules/@pie-element/rubric/docs/demo/config.js +0 -8
  102. package/configure/node_modules/@pie-element/rubric/docs/demo/generate.js +0 -8
  103. package/configure/node_modules/@pie-element/rubric/docs/demo/index.html +0 -2
  104. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json +0 -391
  105. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json.md +0 -281
  106. package/configure/node_modules/@pie-element/rubric/lib/index.js +0 -52
  107. package/configure/node_modules/@pie-element/rubric/lib/index.js.map +0 -1
  108. package/configure/node_modules/@pie-element/rubric/lib/main.js +0 -210
  109. package/configure/node_modules/@pie-element/rubric/lib/main.js.map +0 -1
  110. package/configure/node_modules/@pie-element/rubric/lib/print.js +0 -71
  111. package/configure/node_modules/@pie-element/rubric/lib/print.js.map +0 -1
  112. package/configure/node_modules/@pie-element/rubric/package.json +0 -30
  113. package/configure/node_modules/@pie-element/rubric/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +0 -2641
  114. package/configure/node_modules/@pie-element/rubric/src/__tests__/rubric-view.test.jsx +0 -49
  115. package/configure/node_modules/@pie-element/rubric/src/index.js +0 -48
  116. package/configure/node_modules/@pie-element/rubric/src/main.jsx +0 -226
  117. package/configure/node_modules/@pie-element/rubric/src/print.js +0 -74
  118. package/configure/node_modules/clsx/clsx.d.ts +0 -6
  119. package/configure/node_modules/clsx/dist/clsx.js +0 -1
  120. package/configure/node_modules/clsx/dist/clsx.m.js +0 -1
  121. package/configure/node_modules/clsx/dist/clsx.min.js +0 -1
  122. package/configure/node_modules/clsx/license +0 -9
  123. package/configure/node_modules/clsx/package.json +0 -37
  124. package/configure/node_modules/clsx/readme.md +0 -88
@@ -1,275 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _debug = _interopRequireDefault(require("debug"));
11
- var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
13
- var _core = require("@dnd-kit/core");
14
- var _styles = require("@mui/material/styles");
15
- var _renderUi = require("@pie-lib/render-ui");
16
- var _common = require("./common");
17
- var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
18
- var _MoreVert = _interopRequireDefault(require("@mui/icons-material/MoreVert"));
19
- var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
20
- var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
21
- var _DragIndicator = _interopRequireDefault(require("@mui/icons-material/DragIndicator"));
22
- const log = (0, _debug.default)('@pie-element:placement-ordering:configure:trait-tile');
23
- const ActionsIcon = (0, _styles.styled)(_DragIndicator.default)({
24
- color: _renderUi.color.text()
25
- });
26
- const StyledPrimaryBlock = (0, _styles.styled)(_common.PrimaryBlock)(({
27
- theme
28
- }) => ({
29
- display: 'flex',
30
- flexDirection: 'column',
31
- justifyContent: 'space-between',
32
- marginBottom: theme.spacing(5)
33
- }));
34
- const Controls = (0, _styles.styled)('div')({
35
- display: 'flex',
36
- alignItems: 'center',
37
- width: '100%',
38
- cursor: 'pointer'
39
- });
40
- const Options = (0, _styles.styled)(_IconButton.default)({
41
- marginLeft: 'auto'
42
- });
43
- const RemoveLabel = (0, _styles.styled)('div')({
44
- display: 'flex',
45
- whiteSpace: 'break-spaces'
46
- });
47
- const ErrorText = (0, _styles.styled)('div')(({
48
- theme
49
- }) => ({
50
- fontSize: theme.typography.fontSize - 2,
51
- color: theme.palette.error.main,
52
- paddingBottom: theme.spacing(1)
53
- }));
54
- function TraitTile({
55
- error,
56
- trait: {
57
- name,
58
- standards,
59
- description,
60
- scorePointsDescriptors
61
- },
62
- traitLabel,
63
- scorePointsValues,
64
- showStandards,
65
- showDescription,
66
- enableDragAndDrop,
67
- currentPosition,
68
- secondaryBlockWidth,
69
- spellCheck,
70
- maxPoints,
71
- uploadSoundSupport,
72
- mathMlOptions = {},
73
- expandedPluginProps = {},
74
- labelPluginProps = {},
75
- imageSupport = {},
76
- index,
77
- onTraitChanged,
78
- onTraitRemoved,
79
- onTraitDropped
80
- }) {
81
- const [anchorEl, setAnchorEl] = _react.default.useState(null);
82
- const secondaryBlockRef = _react.default.useRef(null);
83
- const {
84
- attributes,
85
- listeners,
86
- setNodeRef: setDragRef,
87
- transform,
88
- isDragging
89
- } = (0, _core.useDraggable)({
90
- id: `trait-${index}`,
91
- data: {
92
- type: 'trait',
93
- index,
94
- name
95
- }
96
- });
97
- const {
98
- setNodeRef: setDropRef
99
- } = (0, _core.useDroppable)({
100
- id: `trait-drop-${index}`,
101
- data: {
102
- type: 'trait',
103
- index
104
- }
105
- });
106
- _react.default.useEffect(() => {
107
- if (currentPosition !== undefined && secondaryBlockRef.current && secondaryBlockRef.current.scrollLeft !== currentPosition) {
108
- scrollToPosition(currentPosition);
109
- }
110
- }, [currentPosition]);
111
- const onTraitChangedHandler = params => {
112
- if ((0, _isEmpty.default)(params)) return;
113
- const updatedTrait = {
114
- ...{
115
- name,
116
- standards,
117
- description,
118
- scorePointsDescriptors
119
- },
120
- ...params
121
- };
122
- onTraitChanged(updatedTrait);
123
- };
124
- const onScorePointDescriptorChange = ({
125
- descriptor,
126
- value
127
- }) => {
128
- if (value < 0 || value >= scorePointsDescriptors.length) return;
129
- const newDescriptors = [...scorePointsDescriptors];
130
- newDescriptors[value] = descriptor;
131
- onTraitChangedHandler({
132
- scorePointsDescriptors: newDescriptors
133
- });
134
- };
135
- const handleClick = event => setAnchorEl(event.currentTarget);
136
- const handleClose = () => setAnchorEl(null);
137
- const scrollToPosition = position => secondaryBlockRef.current?.scrollTo({
138
- left: position
139
- });
140
- const openMenu = () => {
141
- onTraitRemoved();
142
- handleClose();
143
- };
144
- const dragStyle = transform ? {
145
- transform: `translate3d(${transform.x}px, ${transform.y}px, 0)`,
146
- opacity: isDragging ? 0.5 : 1
147
- } : {};
148
- return /*#__PURE__*/_react.default.createElement("div", {
149
- ref: setDropRef,
150
- style: dragStyle
151
- }, /*#__PURE__*/_react.default.createElement(_common.Row, null, /*#__PURE__*/_react.default.createElement(StyledPrimaryBlock, null, /*#__PURE__*/_react.default.createElement(Controls, null, enableDragAndDrop && /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({
152
- ref: setDragRef
153
- }, attributes, listeners), /*#__PURE__*/_react.default.createElement(ActionsIcon, null)), /*#__PURE__*/_react.default.createElement(Options, {
154
- "aria-label": "more",
155
- "aria-controls": "long-menu",
156
- "aria-haspopup": "true",
157
- onClick: handleClick,
158
- size: "large"
159
- }, /*#__PURE__*/_react.default.createElement(_MoreVert.default, null)), /*#__PURE__*/_react.default.createElement(_Menu.default, {
160
- id: "long-menu",
161
- anchorEl: anchorEl,
162
- keepMounted: true,
163
- open: !!anchorEl,
164
- onClose: handleClose,
165
- transitionDuration: {
166
- enter: 225,
167
- exit: 195
168
- }
169
- }, /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
170
- onClick: openMenu
171
- }, /*#__PURE__*/_react.default.createElement(RemoveLabel, {
172
- dangerouslySetInnerHTML: {
173
- __html: `Remove ${name || traitLabel}`
174
- }
175
- })))), /*#__PURE__*/_react.default.createElement(_common.UnderlinedInput, {
176
- markup: name,
177
- error: error?.name || '',
178
- onChange: name => onTraitChangedHandler({
179
- name
180
- }),
181
- pluginProps: labelPluginProps,
182
- placeholder: `Enter ${traitLabel}`,
183
- spellCheck: spellCheck,
184
- uploadSoundSupport: uploadSoundSupport,
185
- mathMlOptions: mathMlOptions,
186
- imageSupport: imageSupport
187
- }), error && /*#__PURE__*/_react.default.createElement(ErrorText, null, error.name || '')), /*#__PURE__*/_react.default.createElement(_common.SecondaryBlock, {
188
- setRef: ref => {
189
- secondaryBlockRef.current = ref;
190
- },
191
- width: `${secondaryBlockWidth}px`
192
- }, showStandards && standards && /*#__PURE__*/_react.default.createElement(_common.Block, null, /*#__PURE__*/_react.default.createElement(_common.ExpandedInput, {
193
- placeholder: "Standards",
194
- markup: standards.join(','),
195
- onChange: standards => onTraitChangedHandler({
196
- standards: standards.split(',')
197
- }),
198
- pluginProps: expandedPluginProps,
199
- spellCheck: spellCheck,
200
- uploadSoundSupport: uploadSoundSupport,
201
- mathMlOptions: mathMlOptions,
202
- imageSupport: imageSupport
203
- })), showDescription && /*#__PURE__*/_react.default.createElement(_common.Block, null, /*#__PURE__*/_react.default.createElement(_common.ExpandedInput, {
204
- placeholder: "Enter Description",
205
- markup: description,
206
- error: error?.description || '',
207
- onChange: description => onTraitChangedHandler({
208
- description
209
- }),
210
- pluginProps: expandedPluginProps,
211
- spellCheck: spellCheck,
212
- uploadSoundSupport: uploadSoundSupport,
213
- mathMlOptions: mathMlOptions,
214
- imageSupport: imageSupport
215
- }), error && /*#__PURE__*/_react.default.createElement(ErrorText, null, error.description || '')), (scorePointsValues || []).map((scorePointsValue, scoreIndex) => {
216
- const adjustedBlockWidth = _common.BlockWidth + 2 * 8; // 8 is padding
217
- const remainingSpace = secondaryBlockWidth - adjustedBlockWidth * scoreIndex + currentPosition - 98;
218
- const value = scorePointsValues.length - scoreIndex - 1;
219
- let scoreDescriptor;
220
- try {
221
- scoreDescriptor = scorePointsDescriptors[value] || '';
222
- } catch (e) {
223
- scoreDescriptor = '';
224
- }
225
- return /*#__PURE__*/_react.default.createElement(_common.Block, {
226
- key: `key-key-${scoreIndex}`
227
- }, /*#__PURE__*/_react.default.createElement(_common.ExpandedInput, {
228
- placeholder: "Enter Descriptor",
229
- markup: scoreDescriptor,
230
- onChange: descriptor => onScorePointDescriptorChange({
231
- descriptor,
232
- value
233
- }),
234
- pluginProps: expandedPluginProps,
235
- alignToRight: remainingSpace < 296 && scorePointsValue < maxPoints // 296 is the space required for the toolbar
236
- ,
237
- spellCheck: spellCheck,
238
- uploadSoundSupport: uploadSoundSupport,
239
- mathMlOptions: mathMlOptions,
240
- imageSupport: imageSupport
241
- }));
242
- }))));
243
- }
244
- TraitTile.propTypes = {
245
- error: _propTypes.default.object,
246
- index: _propTypes.default.number.isRequired,
247
- onTraitChanged: _propTypes.default.func.isRequired,
248
- onTraitRemoved: _propTypes.default.func.isRequired,
249
- onTraitDropped: _propTypes.default.func,
250
- trait: _propTypes.default.shape({
251
- name: _propTypes.default.string,
252
- standards: _propTypes.default.arrayOf(_propTypes.default.string),
253
- scorePointsDescriptors: _propTypes.default.arrayOf(_propTypes.default.string),
254
- description: _propTypes.default.string
255
- }),
256
- traitLabel: _propTypes.default.string,
257
- scorePointsValues: _propTypes.default.arrayOf(_propTypes.default.number),
258
- showStandards: _propTypes.default.bool,
259
- showDescription: _propTypes.default.bool,
260
- maxPoints: _propTypes.default.number,
261
- enableDragAndDrop: _propTypes.default.bool,
262
- currentPosition: _propTypes.default.number,
263
- secondaryBlockWidth: _propTypes.default.number,
264
- spellCheck: _propTypes.default.bool,
265
- uploadSoundSupport: _propTypes.default.object,
266
- mathMlOptions: _propTypes.default.object,
267
- expandedPluginProps: _propTypes.default.object,
268
- labelPluginProps: _propTypes.default.object,
269
- imageSupport: _propTypes.default.shape({
270
- add: _propTypes.default.func.isRequired,
271
- delete: _propTypes.default.func.isRequired
272
- })
273
- };
274
- var _default = exports.default = TraitTile;
275
- //# sourceMappingURL=trait.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trait.js","names":["_react","_interopRequireDefault","require","_debug","_propTypes","_isEmpty","_core","_styles","_renderUi","_common","_IconButton","_MoreVert","_Menu","_MenuItem","_DragIndicator","log","debug","ActionsIcon","styled","DragIndicatorIcon","color","text","StyledPrimaryBlock","PrimaryBlock","theme","display","flexDirection","justifyContent","marginBottom","spacing","Controls","alignItems","width","cursor","Options","IconButton","marginLeft","RemoveLabel","whiteSpace","ErrorText","fontSize","typography","palette","error","main","paddingBottom","TraitTile","trait","name","standards","description","scorePointsDescriptors","traitLabel","scorePointsValues","showStandards","showDescription","enableDragAndDrop","currentPosition","secondaryBlockWidth","spellCheck","maxPoints","uploadSoundSupport","mathMlOptions","expandedPluginProps","labelPluginProps","imageSupport","index","onTraitChanged","onTraitRemoved","onTraitDropped","anchorEl","setAnchorEl","React","useState","secondaryBlockRef","useRef","attributes","listeners","setNodeRef","setDragRef","transform","isDragging","useDraggable","id","data","type","setDropRef","useDroppable","useEffect","undefined","current","scrollLeft","scrollToPosition","onTraitChangedHandler","params","isEmpty","updatedTrait","onScorePointDescriptorChange","descriptor","value","length","newDescriptors","handleClick","event","currentTarget","handleClose","position","scrollTo","left","openMenu","dragStyle","x","y","opacity","default","createElement","ref","style","Row","_extends2","onClick","size","keepMounted","open","onClose","transitionDuration","enter","exit","dangerouslySetInnerHTML","__html","UnderlinedInput","markup","onChange","pluginProps","placeholder","SecondaryBlock","setRef","Block","ExpandedInput","join","split","map","scorePointsValue","scoreIndex","adjustedBlockWidth","BlockWidth","remainingSpace","scoreDescriptor","e","key","alignToRight","propTypes","PropTypes","object","number","isRequired","func","shape","string","arrayOf","bool","add","delete","_default","exports"],"sources":["../src/trait.jsx"],"sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\n\nimport { styled } from '@mui/material/styles';\nimport { color } from '@pie-lib/render-ui';\n\nimport { Block, BlockWidth, ExpandedInput, PrimaryBlock, Row, SecondaryBlock, UnderlinedInput } from './common';\n\nimport IconButton from '@mui/material/IconButton';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport DragIndicatorIcon from '@mui/icons-material/DragIndicator';\n\nconst log = debug('@pie-element:placement-ordering:configure:trait-tile');\n\nconst ActionsIcon = styled(DragIndicatorIcon)({\n color: color.text(),\n});\n\nconst StyledPrimaryBlock = styled(PrimaryBlock)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n marginBottom: theme.spacing(5),\n}));\n\nconst Controls = styled('div')({\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n cursor: 'pointer',\n});\n\nconst Options = styled(IconButton)({\n marginLeft: 'auto',\n});\n\nconst RemoveLabel = styled('div')({\n display: 'flex',\n whiteSpace: 'break-spaces',\n});\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingBottom: theme.spacing(1),\n}));\n\nfunction TraitTile({\n error,\n trait: { name, standards, description, scorePointsDescriptors },\n traitLabel,\n scorePointsValues,\n showStandards,\n showDescription,\n enableDragAndDrop,\n currentPosition,\n secondaryBlockWidth,\n spellCheck,\n maxPoints,\n uploadSoundSupport,\n mathMlOptions = {},\n expandedPluginProps = {},\n labelPluginProps = {},\n imageSupport = {},\n index,\n onTraitChanged,\n onTraitRemoved,\n onTraitDropped,\n}) {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const secondaryBlockRef = React.useRef(null);\n\n const { attributes, listeners, setNodeRef: setDragRef, transform, isDragging } = useDraggable({\n id: `trait-${index}`,\n data: {\n type: 'trait',\n index,\n name,\n },\n });\n\n const { setNodeRef: setDropRef } = useDroppable({\n id: `trait-drop-${index}`,\n data: {\n type: 'trait',\n index,\n },\n });\n\n React.useEffect(() => {\n if (currentPosition !== undefined && secondaryBlockRef.current && secondaryBlockRef.current.scrollLeft !== currentPosition) {\n scrollToPosition(currentPosition);\n }\n }, [currentPosition]);\n\n const onTraitChangedHandler = (params) => {\n if (isEmpty(params)) return;\n\n const updatedTrait = { ...{ name, standards, description, scorePointsDescriptors }, ...params };\n onTraitChanged(updatedTrait);\n };\n\n const onScorePointDescriptorChange = ({ descriptor, value }) => {\n if (value < 0 || value >= scorePointsDescriptors.length) return;\n\n const newDescriptors = [...scorePointsDescriptors];\n newDescriptors[value] = descriptor;\n\n onTraitChangedHandler({ scorePointsDescriptors: newDescriptors });\n };\n\n const handleClick = (event) => setAnchorEl(event.currentTarget);\n\n const handleClose = () => setAnchorEl(null);\n\n const scrollToPosition = (position) => secondaryBlockRef.current?.scrollTo({ left: position });\n\n const openMenu = () => {\n onTraitRemoved();\n handleClose();\n };\n\n const dragStyle = transform ? {\n transform: `translate3d(${transform.x}px, ${transform.y}px, 0)`,\n opacity: isDragging ? 0.5 : 1,\n } : {};\n\n return (\n <div ref={setDropRef} style={dragStyle}>\n <Row>\n <StyledPrimaryBlock>\n <Controls>\n {enableDragAndDrop && (\n <span ref={setDragRef} {...attributes} {...listeners}>\n <ActionsIcon />\n </span>\n )}\n\n <Options\n aria-label=\"more\"\n aria-controls=\"long-menu\"\n aria-haspopup=\"true\"\n onClick={handleClick}\n size=\"large\">\n <MoreVertIcon />\n </Options>\n\n <Menu\n id=\"long-menu\"\n anchorEl={anchorEl}\n keepMounted\n open={!!anchorEl}\n onClose={handleClose}\n transitionDuration={{ enter: 225, exit: 195 }}\n >\n <MenuItem onClick={openMenu}>\n <RemoveLabel\n dangerouslySetInnerHTML={{ __html: `Remove ${name || traitLabel}` }}\n />\n </MenuItem>\n </Menu>\n </Controls>\n\n <UnderlinedInput\n markup={name}\n error={error?.name || ''}\n onChange={(name) => onTraitChangedHandler({ name })}\n pluginProps={labelPluginProps}\n placeholder={`Enter ${traitLabel}`}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n imageSupport={imageSupport}\n />\n {error && <ErrorText>{error.name || ''}</ErrorText>}\n </StyledPrimaryBlock>\n\n <SecondaryBlock\n setRef={(ref) => {\n secondaryBlockRef.current = ref;\n }}\n width={`${secondaryBlockWidth}px`}\n >\n {showStandards && standards && (\n <Block>\n <ExpandedInput\n placeholder=\"Standards\"\n markup={standards.join(',')}\n onChange={(standards) => onTraitChangedHandler({ standards: standards.split(',') })}\n pluginProps={expandedPluginProps}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n imageSupport={imageSupport}\n />\n </Block>\n )}\n\n {showDescription && (\n <Block>\n <ExpandedInput\n placeholder=\"Enter Description\"\n markup={description}\n error={error?.description || ''}\n onChange={(description) => onTraitChangedHandler({ description })}\n pluginProps={expandedPluginProps}\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n imageSupport={imageSupport}\n />\n {error && <ErrorText>{error.description || ''}</ErrorText>}\n </Block>\n )}\n\n {(scorePointsValues || []).map((scorePointsValue, scoreIndex) => {\n const adjustedBlockWidth = BlockWidth + 2 * 8; // 8 is padding\n const remainingSpace = secondaryBlockWidth - adjustedBlockWidth * scoreIndex + currentPosition - 98;\n const value = scorePointsValues.length - scoreIndex - 1;\n let scoreDescriptor;\n\n try {\n scoreDescriptor = scorePointsDescriptors[value] || '';\n } catch (e) {\n scoreDescriptor = '';\n }\n\n return (\n <Block key={`key-key-${scoreIndex}`}>\n <ExpandedInput\n placeholder=\"Enter Descriptor\"\n markup={scoreDescriptor}\n onChange={(descriptor) => onScorePointDescriptorChange({ descriptor, value })}\n pluginProps={expandedPluginProps}\n alignToRight={remainingSpace < 296 && scorePointsValue < maxPoints} // 296 is the space required for the toolbar\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n imageSupport={imageSupport}\n />\n </Block>\n );\n })}\n </SecondaryBlock>\n </Row>\n </div>\n );\n}\n\nTraitTile.propTypes = {\n error: PropTypes.object,\n index: PropTypes.number.isRequired,\n onTraitChanged: PropTypes.func.isRequired,\n onTraitRemoved: PropTypes.func.isRequired,\n onTraitDropped: PropTypes.func,\n trait: PropTypes.shape({\n name: PropTypes.string,\n standards: PropTypes.arrayOf(PropTypes.string),\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n }),\n traitLabel: PropTypes.string,\n scorePointsValues: PropTypes.arrayOf(PropTypes.number),\n showStandards: PropTypes.bool,\n showDescription: PropTypes.bool,\n maxPoints: PropTypes.number,\n enableDragAndDrop: PropTypes.bool,\n currentPosition: PropTypes.number,\n secondaryBlockWidth: PropTypes.number,\n spellCheck: PropTypes.bool,\n uploadSoundSupport: PropTypes.object,\n mathMlOptions: PropTypes.object,\n expandedPluginProps: PropTypes.object,\n labelPluginProps: PropTypes.object,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n};\n\nexport default TraitTile;\n"],"mappings":"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","ignoreList":[]}
@@ -1,233 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.TraitsHeaderTile = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _styles = require("@mui/material/styles");
12
- var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
13
- var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
14
- var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
15
- var _MoreVert = _interopRequireDefault(require("@mui/icons-material/MoreVert"));
16
- var _renderUi = require("@pie-lib/render-ui");
17
- var _common = require("./common");
18
- const Label = (0, _styles.styled)('div')(({
19
- theme
20
- }) => ({
21
- width: '140px',
22
- border: 'none',
23
- padding: '10px 0',
24
- display: 'flex',
25
- alignItems: 'center',
26
- justifyContent: 'space-around'
27
- }));
28
- const GreyHeaderRow = (0, _styles.styled)('div')(({
29
- height,
30
- theme
31
- }) => ({
32
- background: _renderUi.color.secondaryBackground(),
33
- borderRadius: '4px',
34
- position: 'relative',
35
- marginBottom: theme.spacing(2),
36
- display: 'flex',
37
- height: height
38
- }));
39
- const PrimaryBlockGreyHeader = (0, _styles.styled)('div')(({
40
- theme
41
- }) => ({
42
- width: `${_common.PrimaryBlockWidth}px`,
43
- minWidth: `${_common.PrimaryBlockWidth}px`,
44
- position: 'relative',
45
- padding: '0 10px',
46
- boxSizing: 'border-box',
47
- paddingTop: theme.spacing(1.5),
48
- alignSelf: 'center'
49
- }));
50
- const ScorePointErrorText = (0, _styles.styled)('div')(({
51
- theme
52
- }) => ({
53
- position: 'absolute',
54
- fontSize: theme.typography.fontSize - 2,
55
- color: theme.palette.error.main,
56
- paddingTop: theme.spacing(0.5)
57
- }));
58
- class TraitsHeaderTile extends _react.default.Component {
59
- constructor(...args) {
60
- super(...args);
61
- (0, _defineProperty2.default)(this, "state", {
62
- anchorEl: null
63
- });
64
- (0, _defineProperty2.default)(this, "onScorePointLabelChange", ({
65
- scorePointLabel,
66
- value
67
- }) => {
68
- const {
69
- scorePointsLabels,
70
- onScaleChange
71
- } = this.props;
72
- if (value < 0 || value >= scorePointsLabels.length) return;
73
- scorePointsLabels[value] = scorePointLabel;
74
- onScaleChange({
75
- scorePointsLabels
76
- });
77
- });
78
- (0, _defineProperty2.default)(this, "handleClick", event => this.setState({
79
- anchorEl: event.currentTarget
80
- }));
81
- (0, _defineProperty2.default)(this, "handleClose", () => this.setState({
82
- anchorEl: null
83
- }));
84
- (0, _defineProperty2.default)(this, "scrollToPosition", position => this.secondaryBlock.scrollTo({
85
- left: position
86
- }));
87
- (0, _defineProperty2.default)(this, "openMenu", () => {
88
- this.props.showDeleteScaleModal();
89
- this.handleClose();
90
- });
91
- }
92
- UNSAFE_componentWillReceiveProps(nextProps) {
93
- if (nextProps.currentPosition !== this.props.currentPosition) {
94
- this.scrollToPosition(nextProps.currentPosition);
95
- }
96
- }
97
- render() {
98
- const {
99
- scorePointsValues,
100
- scorePointsLabels,
101
- traitLabel,
102
- currentPosition,
103
- showStandards,
104
- onTraitLabelChange,
105
- showDescription,
106
- showLevelTagInput,
107
- maxPoints,
108
- updateMaxPointsFieldValue,
109
- scaleIndex,
110
- showScorePointLabels,
111
- secondaryBlockWidth,
112
- setSecondaryBlockRef,
113
- spellCheck,
114
- uploadSoundSupport,
115
- maxPointsEnabled,
116
- mathMlOptions = {},
117
- errors = {},
118
- maxMaxPoints,
119
- labelPluginProps = {},
120
- imageSupport = {}
121
- } = this.props;
122
- const {
123
- anchorEl
124
- } = this.state;
125
- return /*#__PURE__*/_react.default.createElement(GreyHeaderRow, {
126
- height: showLevelTagInput ? _common.HeaderHeightLarge : _common.HeaderHeight
127
- }, /*#__PURE__*/_react.default.createElement(PrimaryBlockGreyHeader, null, showLevelTagInput && /*#__PURE__*/_react.default.createElement(_common.SimpleInput, {
128
- markup: traitLabel || 'Trait',
129
- onChange: onTraitLabelChange,
130
- pluginProps: labelPluginProps,
131
- spellCheck: spellCheck,
132
- label: "Level Label",
133
- uploadSoundSupport: uploadSoundSupport,
134
- mathMlOptions: mathMlOptions,
135
- imageSupport: imageSupport
136
- }), /*#__PURE__*/_react.default.createElement(_common.ScaleSettings, null, /*#__PURE__*/_react.default.createElement("div", null, "Scale ", scaleIndex + 1), maxPointsEnabled && /*#__PURE__*/_react.default.createElement(_common.MaxPointsPicker, {
137
- maxPoints: maxPoints,
138
- maxMaxPoints: maxMaxPoints,
139
- onChange: updateMaxPointsFieldValue
140
- }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
141
- "aria-label": "more",
142
- "aria-controls": "long-menu",
143
- "aria-haspopup": "true",
144
- onClick: this.handleClick,
145
- size: "large"
146
- }, /*#__PURE__*/_react.default.createElement(_MoreVert.default, null)), /*#__PURE__*/_react.default.createElement(_Menu.default, {
147
- id: "long-menu",
148
- anchorEl: anchorEl,
149
- keepMounted: true,
150
- open: !!anchorEl,
151
- onClose: this.handleClose,
152
- transitionDuration: {
153
- enter: 225,
154
- exit: 195
155
- }
156
- }, ['Remove Scale'].map(option => /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
157
- key: option,
158
- onClick: this.openMenu
159
- }, option)))))), /*#__PURE__*/_react.default.createElement(_common.SecondaryBlock, {
160
- setRef: ref => {
161
- if (ref) {
162
- this.secondaryBlock = ref;
163
- setSecondaryBlockRef(ref);
164
- }
165
- },
166
- width: `${secondaryBlockWidth}px`
167
- }, showStandards && /*#__PURE__*/_react.default.createElement(_common.Block, null, /*#__PURE__*/_react.default.createElement(Label, null, "Standard(s)")), showDescription && /*#__PURE__*/_react.default.createElement(_common.Block, null, /*#__PURE__*/_react.default.createElement(Label, null, "Description")), scorePointsValues.map((scorePointsValue, index) => {
168
- const adjustedBlockWidth = _common.BlockWidth + 2 * 8; // 8 is padding
169
- const remainingSpace = secondaryBlockWidth - adjustedBlockWidth * index + currentPosition - 128;
170
- const value = scorePointsValues.length - index - 1;
171
- let scoreDescriptor;
172
- let error;
173
- try {
174
- scoreDescriptor = scorePointsLabels[value] || '';
175
- error = errors[value] || '';
176
- } catch (e) {
177
- scoreDescriptor = '';
178
- }
179
- return /*#__PURE__*/_react.default.createElement(_common.Block, {
180
- key: `secondary-block-part-${index}`
181
- }, /*#__PURE__*/_react.default.createElement(_common.ScorePoint, {
182
- scorePointsValue: scorePointsValue,
183
- error: error,
184
- scoreDescriptor: scoreDescriptor,
185
- pluginProps: labelPluginProps,
186
- showScorePointLabels: showScorePointLabels,
187
- onChange: scorePointLabel => this.onScorePointLabelChange({
188
- scorePointLabel,
189
- value
190
- }),
191
- alignToRight: remainingSpace < 296 && scorePointsValue < maxPoints // 296 is the space required for the toolbar
192
- ,
193
- spellCheck: spellCheck,
194
- uploadSoundSupport: uploadSoundSupport,
195
- mathMlOptions: mathMlOptions,
196
- imageSupport: imageSupport
197
- }), error && /*#__PURE__*/_react.default.createElement(ScorePointErrorText, null, error));
198
- })));
199
- }
200
- }
201
- exports.TraitsHeaderTile = TraitsHeaderTile;
202
- (0, _defineProperty2.default)(TraitsHeaderTile, "propTypes", {
203
- maxPointsEnabled: _propTypes.default.bool,
204
- spellCheck: _propTypes.default.bool,
205
- errors: _propTypes.default.object
206
- });
207
- TraitsHeaderTile.propTypes = {
208
- onTraitLabelChange: _propTypes.default.func,
209
- onScaleChange: _propTypes.default.func,
210
- scorePointsValues: _propTypes.default.arrayOf(_propTypes.default.number),
211
- scorePointsLabels: _propTypes.default.arrayOf(_propTypes.default.string),
212
- traitLabel: _propTypes.default.string,
213
- showStandards: _propTypes.default.bool,
214
- showLevelTagInput: _propTypes.default.bool,
215
- showDescription: _propTypes.default.bool,
216
- maxPoints: _propTypes.default.number,
217
- updateMaxPointsFieldValue: _propTypes.default.func,
218
- scaleIndex: _propTypes.default.number,
219
- currentPosition: _propTypes.default.number,
220
- secondaryBlockWidth: _propTypes.default.number,
221
- showDeleteScaleModal: _propTypes.default.func,
222
- showScorePointLabels: _propTypes.default.bool,
223
- setSecondaryBlockRef: _propTypes.default.func,
224
- uploadSoundSupport: _propTypes.default.object,
225
- maxMaxPoints: _propTypes.default.number,
226
- labelPluginProps: _propTypes.default.object,
227
- imageSupport: _propTypes.default.shape({
228
- add: _propTypes.default.func.isRequired,
229
- delete: _propTypes.default.func.isRequired
230
- })
231
- };
232
- var _default = exports.default = TraitsHeaderTile;
233
- //# sourceMappingURL=traitsHeader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"traitsHeader.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_IconButton","_Menu","_MenuItem","_MoreVert","_renderUi","_common","Label","styled","theme","width","border","padding","display","alignItems","justifyContent","GreyHeaderRow","height","background","color","secondaryBackground","borderRadius","position","marginBottom","spacing","PrimaryBlockGreyHeader","PrimaryBlockWidth","minWidth","boxSizing","paddingTop","alignSelf","ScorePointErrorText","fontSize","typography","palette","error","main","TraitsHeaderTile","React","Component","constructor","args","_defineProperty2","default","anchorEl","scorePointLabel","value","scorePointsLabels","onScaleChange","props","length","event","setState","currentTarget","secondaryBlock","scrollTo","left","showDeleteScaleModal","handleClose","UNSAFE_componentWillReceiveProps","nextProps","currentPosition","scrollToPosition","render","scorePointsValues","traitLabel","showStandards","onTraitLabelChange","showDescription","showLevelTagInput","maxPoints","updateMaxPointsFieldValue","scaleIndex","showScorePointLabels","secondaryBlockWidth","setSecondaryBlockRef","spellCheck","uploadSoundSupport","maxPointsEnabled","mathMlOptions","errors","maxMaxPoints","labelPluginProps","imageSupport","state","createElement","HeaderHeightLarge","HeaderHeight","SimpleInput","markup","onChange","pluginProps","label","ScaleSettings","MaxPointsPicker","onClick","handleClick","size","id","keepMounted","open","onClose","transitionDuration","enter","exit","map","option","key","openMenu","SecondaryBlock","setRef","ref","Block","scorePointsValue","index","adjustedBlockWidth","BlockWidth","remainingSpace","scoreDescriptor","e","ScorePoint","onScorePointLabelChange","alignToRight","exports","PropTypes","bool","object","propTypes","func","arrayOf","number","string","shape","add","isRequired","delete","_default"],"sources":["../src/traitsHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { styled } from '@mui/material/styles';\nimport IconButton from '@mui/material/IconButton';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport { color } from '@pie-lib/render-ui';\n\nimport {\n Block,\n BlockWidth,\n PrimaryBlockWidth,\n SecondaryBlock,\n ScorePoint,\n MaxPointsPicker,\n SimpleInput,\n ScaleSettings,\n HeaderHeight,\n HeaderHeightLarge,\n} from './common';\n\nconst Label = styled('div')(({ theme }) => ({\n width: '140px',\n border: 'none',\n padding: '10px 0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-around',\n}));\n\nconst GreyHeaderRow = styled('div')(({ height, theme }) => ({\n background: color.secondaryBackground(),\n borderRadius: '4px',\n position: 'relative',\n marginBottom: theme.spacing(2),\n display: 'flex',\n height: height,\n}));\n\nconst PrimaryBlockGreyHeader = styled('div')(({ theme }) => ({\n width: `${PrimaryBlockWidth}px`,\n minWidth: `${PrimaryBlockWidth}px`,\n position: 'relative',\n padding: '0 10px',\n boxSizing: 'border-box',\n paddingTop: theme.spacing(1.5),\n alignSelf: 'center'\n}));\n\nconst ScorePointErrorText = styled('div')(({ theme }) => ({\n position: 'absolute',\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(0.5),\n}));\n\nexport class TraitsHeaderTile extends React.Component {\n static propTypes = {\n maxPointsEnabled: PropTypes.bool,\n spellCheck: PropTypes.bool,\n errors: PropTypes.object,\n };\n\n state = {\n anchorEl: null,\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.currentPosition !== this.props.currentPosition) {\n this.scrollToPosition(nextProps.currentPosition);\n }\n }\n\n onScorePointLabelChange = ({ scorePointLabel, value }) => {\n const { scorePointsLabels, onScaleChange } = this.props;\n\n if (value < 0 || value >= scorePointsLabels.length) return;\n\n scorePointsLabels[value] = scorePointLabel;\n\n onScaleChange({ scorePointsLabels });\n };\n\n handleClick = (event) => this.setState({ anchorEl: event.currentTarget });\n\n handleClose = () => this.setState({ anchorEl: null });\n\n scrollToPosition = (position) => this.secondaryBlock.scrollTo({ left: position });\n\n openMenu = () => {\n this.props.showDeleteScaleModal();\n this.handleClose();\n };\n\n render() {\n const {\n scorePointsValues,\n scorePointsLabels,\n traitLabel,\n currentPosition,\n showStandards,\n onTraitLabelChange,\n showDescription,\n showLevelTagInput,\n maxPoints,\n updateMaxPointsFieldValue,\n scaleIndex,\n showScorePointLabels,\n secondaryBlockWidth,\n setSecondaryBlockRef,\n spellCheck,\n uploadSoundSupport,\n maxPointsEnabled,\n mathMlOptions = {},\n errors = {},\n maxMaxPoints,\n labelPluginProps = {},\n imageSupport = {},\n } = this.props;\n const { anchorEl } = this.state;\n\n return (\n <GreyHeaderRow height={showLevelTagInput ? HeaderHeightLarge : HeaderHeight}>\n <PrimaryBlockGreyHeader>\n {showLevelTagInput && (\n <SimpleInput\n markup={traitLabel || 'Trait'}\n onChange={onTraitLabelChange}\n pluginProps={labelPluginProps}\n spellCheck={spellCheck}\n label=\"Level Label\"\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n imageSupport={imageSupport}\n />\n )}\n\n <ScaleSettings>\n <div>Scale {scaleIndex + 1}</div>\n\n {maxPointsEnabled && (\n <MaxPointsPicker maxPoints={maxPoints} maxMaxPoints={maxMaxPoints} onChange={updateMaxPointsFieldValue} />\n )}\n\n <div>\n <IconButton\n aria-label=\"more\"\n aria-controls=\"long-menu\"\n aria-haspopup=\"true\"\n onClick={this.handleClick}\n size=\"large\">\n <MoreVertIcon />\n </IconButton>\n <Menu\n id=\"long-menu\"\n anchorEl={anchorEl}\n keepMounted\n open={!!anchorEl}\n onClose={this.handleClose}\n transitionDuration={{ enter: 225, exit: 195 }}\n >\n {['Remove Scale'].map((option) => (\n <MenuItem key={option} onClick={this.openMenu}>\n {option}\n </MenuItem>\n ))}\n </Menu>\n </div>\n </ScaleSettings>\n </PrimaryBlockGreyHeader>\n <SecondaryBlock\n setRef={(ref) => {\n if (ref) {\n this.secondaryBlock = ref;\n setSecondaryBlockRef(ref);\n }\n }}\n width={`${secondaryBlockWidth}px`}\n >\n {showStandards && (\n <Block>\n <Label>Standard(s)</Label>\n </Block>\n )}\n\n {showDescription && (\n <Block>\n <Label>Description</Label>\n </Block>\n )}\n\n {scorePointsValues.map((scorePointsValue, index) => {\n const adjustedBlockWidth = BlockWidth + 2 * 8; // 8 is padding\n const remainingSpace = secondaryBlockWidth - adjustedBlockWidth * index + currentPosition - 128;\n const value = scorePointsValues.length - index - 1;\n let scoreDescriptor;\n let error;\n\n try {\n scoreDescriptor = scorePointsLabels[value] || '';\n error = errors[value] || '';\n } catch (e) {\n scoreDescriptor = '';\n }\n\n return (\n <Block key={`secondary-block-part-${index}`}>\n <ScorePoint\n scorePointsValue={scorePointsValue}\n error={error}\n scoreDescriptor={scoreDescriptor}\n pluginProps={labelPluginProps}\n showScorePointLabels={showScorePointLabels}\n onChange={(scorePointLabel) => this.onScorePointLabelChange({ scorePointLabel, value })}\n alignToRight={remainingSpace < 296 && scorePointsValue < maxPoints} // 296 is the space required for the toolbar\n spellCheck={spellCheck}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n imageSupport={imageSupport}\n />\n {error && <ScorePointErrorText>{error}</ScorePointErrorText>}\n </Block>\n );\n })}\n </SecondaryBlock>\n </GreyHeaderRow>\n );\n }\n}\n\nTraitsHeaderTile.propTypes = {\n onTraitLabelChange: PropTypes.func,\n onScaleChange: PropTypes.func,\n scorePointsValues: PropTypes.arrayOf(PropTypes.number),\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n showStandards: PropTypes.bool,\n showLevelTagInput: PropTypes.bool,\n showDescription: PropTypes.bool,\n maxPoints: PropTypes.number,\n updateMaxPointsFieldValue: PropTypes.func,\n scaleIndex: PropTypes.number,\n currentPosition: PropTypes.number,\n secondaryBlockWidth: PropTypes.number,\n showDeleteScaleModal: PropTypes.func,\n showScorePointLabels: PropTypes.bool,\n setSecondaryBlockRef: PropTypes.func,\n uploadSoundSupport: PropTypes.object,\n maxMaxPoints: PropTypes.number,\n labelPluginProps: PropTypes.object,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n};\n\nexport default TraitsHeaderTile;\n"],"mappings":"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","ignoreList":[]}