@pie-element/matrix 0.7.1-beta.0 → 0.7.1-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/package.json +2 -2
- package/package.json +2 -2
- package/configure/lib/HeaderCommon.js +0 -31
- package/configure/lib/HeaderCommon.js.map +0 -1
- package/configure/lib/Main.js +0 -222
- package/configure/lib/Main.js.map +0 -1
- package/configure/lib/MatrixColumnsSizeHeaderInput.js +0 -76
- package/configure/lib/MatrixColumnsSizeHeaderInput.js.map +0 -1
- package/configure/lib/MatrixLabelEditableButton.js +0 -218
- package/configure/lib/MatrixLabelEditableButton.js.map +0 -1
- package/configure/lib/MatrixLabelTypeHeaderInput.js +0 -117
- package/configure/lib/MatrixLabelTypeHeaderInput.js.map +0 -1
- package/configure/lib/MatrixRowsSizeHeaderInput.js +0 -76
- package/configure/lib/MatrixRowsSizeHeaderInput.js.map +0 -1
- package/configure/lib/MatrixValues.js +0 -245
- package/configure/lib/MatrixValues.js.map +0 -1
- package/configure/lib/NumberInput.js +0 -98
- package/configure/lib/NumberInput.js.map +0 -1
- package/configure/lib/columnLabelsGenerator.js +0 -58
- package/configure/lib/columnLabelsGenerator.js.map +0 -1
- package/configure/lib/defaults.js +0 -39
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/index.js +0 -162
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/isNumeric.js +0 -13
- package/configure/lib/isNumeric.js.map +0 -1
- package/configure/lib/matrixEntities.js +0 -17
- package/configure/lib/matrixEntities.js.map +0 -1
- package/controller/lib/defaults.js +0 -15
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -116
- package/controller/lib/index.js.map +0 -1
- package/lib/ChoiceInput.js +0 -71
- package/lib/ChoiceInput.js.map +0 -1
- package/lib/Main.js +0 -73
- package/lib/Main.js.map +0 -1
- package/lib/Matrix.js +0 -110
- package/lib/Matrix.js.map +0 -1
- package/lib/index.js +0 -124
- package/lib/index.js.map +0 -1
- package/lib/session-updater.js +0 -11
- package/lib/session-updater.js.map +0 -1
package/configure/package.json
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@material-ui/core": "^3.9.2",
|
|
11
11
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
12
|
-
"@pie-lib/config-ui": "12.0.0-beta.
|
|
13
|
-
"@pie-lib/editable-html": "10.0.0-beta.
|
|
12
|
+
"@pie-lib/config-ui": "12.0.0-beta.5",
|
|
13
|
+
"@pie-lib/editable-html": "10.0.0-beta.7",
|
|
14
14
|
"debug": "^4.1.1",
|
|
15
15
|
"prop-types": "^15.6.2",
|
|
16
16
|
"react": "^16.8.1",
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "0.7.1-beta.
|
|
7
|
+
"version": "0.7.1-beta.3+e0e0490c5",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"author": "",
|
|
25
25
|
"license": "ISC",
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "e0e0490c5b040c67f504c0bdfd00f6b834a28481",
|
|
27
27
|
"main": "lib/index.js",
|
|
28
28
|
"module": "src/index.js"
|
|
29
29
|
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.NumberInputFormGroupWrapper = exports.IconWrapper = exports.ColumnsWrapper = exports.ColumnsHeader = void 0;
|
|
9
|
-
|
|
10
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
-
|
|
12
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
-
|
|
14
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
15
|
-
|
|
16
|
-
var ColumnsWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: center;\n"])));
|
|
17
|
-
|
|
18
|
-
exports.ColumnsWrapper = ColumnsWrapper;
|
|
19
|
-
|
|
20
|
-
var ColumnsHeader = _styledComponents["default"].p(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 10px 0;\n color: #c3c3c3;\n font-size: 12px;\n"])));
|
|
21
|
-
|
|
22
|
-
exports.ColumnsHeader = ColumnsHeader;
|
|
23
|
-
|
|
24
|
-
var NumberInputFormGroupWrapper = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 110px;\n"])));
|
|
25
|
-
|
|
26
|
-
exports.NumberInputFormGroupWrapper = NumberInputFormGroupWrapper;
|
|
27
|
-
|
|
28
|
-
var IconWrapper = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n"])));
|
|
29
|
-
|
|
30
|
-
exports.IconWrapper = IconWrapper;
|
|
31
|
-
//# sourceMappingURL=HeaderCommon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/HeaderCommon.js"],"names":["ColumnsWrapper","styled","div","ColumnsHeader","p","NumberInputFormGroupWrapper","IconWrapper"],"mappings":";;;;;;;;;;;AAAA;;;;AAEO,IAAMA,cAAc,GAAGC,6BAAOC,GAAV,6JAApB;;;;AAMA,IAAMC,aAAa,GAAGF,6BAAOG,CAAV,oJAAnB;;;;AAMA,IAAMC,2BAA2B,GAAGJ,6BAAOC,GAAV,wLAAjC;;;;AAOA,IAAMI,WAAW,GAAGL,6BAAOC,GAAV,8GAAjB","sourcesContent":["import styled from 'styled-components';\n\nexport const ColumnsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n\nexport const ColumnsHeader = styled.p`\n margin: 10px 0;\n color: #c3c3c3;\n font-size: 12px;\n`;\n\nexport const NumberInputFormGroupWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 110px;\n`;\n\nexport const IconWrapper = styled.div`\n cursor: pointer;\n`;\n"],"file":"HeaderCommon.js"}
|
package/configure/lib/Main.js
DELETED
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = exports.Main = void 0;
|
|
9
|
-
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
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 _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
31
|
-
|
|
32
|
-
var _configUi = require("@pie-lib/config-ui");
|
|
33
|
-
|
|
34
|
-
var _styles = require("@material-ui/core/styles");
|
|
35
|
-
|
|
36
|
-
var _MatrixColumnsSizeHeaderInput = _interopRequireDefault(require("./MatrixColumnsSizeHeaderInput"));
|
|
37
|
-
|
|
38
|
-
var _MatrixRowsSizeHeaderInput = _interopRequireDefault(require("./MatrixRowsSizeHeaderInput"));
|
|
39
|
-
|
|
40
|
-
var _MatrixLabelTypeHeaderInput = _interopRequireDefault(require("./MatrixLabelTypeHeaderInput"));
|
|
41
|
-
|
|
42
|
-
var _MatrixValues = _interopRequireDefault(require("./MatrixValues"));
|
|
43
|
-
|
|
44
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
45
|
-
|
|
46
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
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 Panel = _configUi.settings.Panel,
|
|
53
|
-
toggle = _configUi.settings.toggle,
|
|
54
|
-
radio = _configUi.settings.radio;
|
|
55
|
-
|
|
56
|
-
var styles = function styles(theme) {
|
|
57
|
-
return {
|
|
58
|
-
promptHolder: {
|
|
59
|
-
width: '100%',
|
|
60
|
-
paddingBottom: theme.spacing.unit * 2,
|
|
61
|
-
marginBottom: theme.spacing.unit * 2
|
|
62
|
-
},
|
|
63
|
-
prompt: {
|
|
64
|
-
paddingTop: theme.spacing.unit * 2,
|
|
65
|
-
width: '100%'
|
|
66
|
-
},
|
|
67
|
-
matrixHeaderOptionsHolder: {
|
|
68
|
-
display: 'flex',
|
|
69
|
-
width: '100%',
|
|
70
|
-
padding: "".concat(theme.spacing.unit * 2.5, "px 0"),
|
|
71
|
-
justifyContent: 'space-around'
|
|
72
|
-
},
|
|
73
|
-
design: {
|
|
74
|
-
paddingTop: theme.spacing.unit * 3
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
var Design = (0, _styles.withStyles)(styles)(function (props) {
|
|
80
|
-
var classes = props.classes,
|
|
81
|
-
model = props.model,
|
|
82
|
-
configuration = props.configuration,
|
|
83
|
-
onPromptChanged = props.onPromptChanged,
|
|
84
|
-
imageSupport = props.imageSupport,
|
|
85
|
-
uploadSoundSupport = props.uploadSoundSupport,
|
|
86
|
-
onChangeModel = props.onChangeModel,
|
|
87
|
-
onConfigurationChanged = props.onConfigurationChanged,
|
|
88
|
-
onTeacherInstructionsChanged = props.onTeacherInstructionsChanged;
|
|
89
|
-
|
|
90
|
-
var _ref = configuration || {},
|
|
91
|
-
_ref$prompt = _ref.prompt,
|
|
92
|
-
prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
|
|
93
|
-
_ref$scoringType = _ref.scoringType,
|
|
94
|
-
scoringType = _ref$scoringType === void 0 ? {} : _ref$scoringType,
|
|
95
|
-
settingsPanelDisabled = _ref.settingsPanelDisabled,
|
|
96
|
-
_ref$spellCheck = _ref.spellCheck,
|
|
97
|
-
spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
|
|
98
|
-
_ref$teacherInstructi = _ref.teacherInstructions,
|
|
99
|
-
teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi;
|
|
100
|
-
|
|
101
|
-
var _ref2 = model || {},
|
|
102
|
-
teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
|
|
103
|
-
spellCheckEnabled = _ref2.spellCheckEnabled;
|
|
104
|
-
|
|
105
|
-
var panelProperties = {
|
|
106
|
-
teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
|
|
107
|
-
spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
|
|
108
|
-
scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
|
|
109
|
-
};
|
|
110
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
111
|
-
className: classes.design
|
|
112
|
-
}, /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
|
|
113
|
-
hideSettings: settingsPanelDisabled,
|
|
114
|
-
settings: /*#__PURE__*/_react["default"].createElement(Panel, {
|
|
115
|
-
model: model,
|
|
116
|
-
onChangeModel: onChangeModel,
|
|
117
|
-
configuration: configuration,
|
|
118
|
-
onChangeConfiguration: onConfigurationChanged,
|
|
119
|
-
groups: {
|
|
120
|
-
Properties: panelProperties
|
|
121
|
-
}
|
|
122
|
-
})
|
|
123
|
-
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
124
|
-
className: classes.matrixHeaderOptionsHolder
|
|
125
|
-
}, /*#__PURE__*/_react["default"].createElement(_MatrixRowsSizeHeaderInput["default"], {
|
|
126
|
-
model: model,
|
|
127
|
-
onChangeModel: onChangeModel
|
|
128
|
-
}), /*#__PURE__*/_react["default"].createElement(_MatrixColumnsSizeHeaderInput["default"], {
|
|
129
|
-
model: model,
|
|
130
|
-
onChangeModel: onChangeModel
|
|
131
|
-
}), /*#__PURE__*/_react["default"].createElement(_MatrixLabelTypeHeaderInput["default"], {
|
|
132
|
-
model: model,
|
|
133
|
-
onChangeModel: onChangeModel
|
|
134
|
-
})), teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
135
|
-
label: teacherInstructions.label,
|
|
136
|
-
className: classes.promptHolder
|
|
137
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
138
|
-
className: classes.prompt,
|
|
139
|
-
markup: model.teacherInstructions || '',
|
|
140
|
-
onChange: onTeacherInstructionsChanged,
|
|
141
|
-
imageSupport: imageSupport,
|
|
142
|
-
nonEmpty: false,
|
|
143
|
-
spellCheck: spellCheckEnabled,
|
|
144
|
-
uploadSoundSupport: uploadSoundSupport
|
|
145
|
-
})), /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
146
|
-
label: prompt.label,
|
|
147
|
-
className: classes.promptHolder
|
|
148
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
149
|
-
className: classes.prompt,
|
|
150
|
-
markup: model.prompt,
|
|
151
|
-
onChange: onPromptChanged,
|
|
152
|
-
imageSupport: imageSupport,
|
|
153
|
-
nonEmpty: !prompt.settings,
|
|
154
|
-
spellCheck: spellCheckEnabled,
|
|
155
|
-
uploadSoundSupport: uploadSoundSupport,
|
|
156
|
-
disableUnderline: true
|
|
157
|
-
})), /*#__PURE__*/_react["default"].createElement(_MatrixValues["default"], {
|
|
158
|
-
model: model,
|
|
159
|
-
onChangeModel: onChangeModel
|
|
160
|
-
}))));
|
|
161
|
-
});
|
|
162
|
-
|
|
163
|
-
var Main = /*#__PURE__*/function (_React$Component) {
|
|
164
|
-
(0, _inherits2["default"])(Main, _React$Component);
|
|
165
|
-
|
|
166
|
-
var _super = _createSuper(Main);
|
|
167
|
-
|
|
168
|
-
function Main() {
|
|
169
|
-
var _this;
|
|
170
|
-
|
|
171
|
-
(0, _classCallCheck2["default"])(this, Main);
|
|
172
|
-
|
|
173
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
174
|
-
args[_key] = arguments[_key];
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
178
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPromptChanged", function (prompt) {
|
|
179
|
-
_this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
|
|
180
|
-
prompt: prompt
|
|
181
|
-
}));
|
|
182
|
-
});
|
|
183
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeModel", function (data) {
|
|
184
|
-
_this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), data));
|
|
185
|
-
});
|
|
186
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTeacherInstructionsChanged", function (teacherInstructions) {
|
|
187
|
-
_this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
|
|
188
|
-
teacherInstructions: teacherInstructions
|
|
189
|
-
}));
|
|
190
|
-
});
|
|
191
|
-
return _this;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
(0, _createClass2["default"])(Main, [{
|
|
195
|
-
key: "render",
|
|
196
|
-
value: function render() {
|
|
197
|
-
return /*#__PURE__*/_react["default"].createElement(Design, (0, _extends2["default"])({}, this.props, {
|
|
198
|
-
onChangeModel: this.props.onModelChanged,
|
|
199
|
-
onPromptChanged: this.onPromptChanged,
|
|
200
|
-
onTeacherInstructionsChanged: this.onTeacherInstructionsChanged
|
|
201
|
-
}));
|
|
202
|
-
}
|
|
203
|
-
}]);
|
|
204
|
-
return Main;
|
|
205
|
-
}(_react["default"].Component);
|
|
206
|
-
|
|
207
|
-
exports.Main = Main;
|
|
208
|
-
(0, _defineProperty2["default"])(Main, "propTypes", {
|
|
209
|
-
model: _propTypes["default"].object.isRequired,
|
|
210
|
-
disableSidePanel: _propTypes["default"].bool,
|
|
211
|
-
onModelChanged: _propTypes["default"].func.isRequired,
|
|
212
|
-
onConfigurationChanged: _propTypes["default"].func.isRequired,
|
|
213
|
-
classes: _propTypes["default"].object.isRequired,
|
|
214
|
-
imageSupport: _propTypes["default"].shape({
|
|
215
|
-
add: _propTypes["default"].func.isRequired,
|
|
216
|
-
"delete": _propTypes["default"].func.isRequired
|
|
217
|
-
})
|
|
218
|
-
});
|
|
219
|
-
var Styled = (0, _styles.withStyles)(styles)(Main);
|
|
220
|
-
var _default = Styled;
|
|
221
|
-
exports["default"] = _default;
|
|
222
|
-
//# sourceMappingURL=Main.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Main.jsx"],"names":["Panel","settings","toggle","radio","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","matrixHeaderOptionsHolder","display","padding","justifyContent","design","Design","props","classes","model","configuration","onPromptChanged","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","scoringType","settingsPanelDisabled","spellCheck","teacherInstructions","teacherInstructionsEnabled","spellCheckEnabled","panelProperties","label","Properties","Main","onModelChanged","data","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputContainer, settings, layout } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport MatrixColumnsSizeHeaderInput from './MatrixColumnsSizeHeaderInput';\nimport MatrixRowsSizeHeaderInput from './MatrixRowsSizeHeaderInput';\nimport MatrixLabelTypeHeaderInput from './MatrixLabelTypeHeaderInput';\nimport MatrixValues from './MatrixValues';\n\nconst { Panel, toggle, radio } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n matrixHeaderOptionsHolder: {\n display: 'flex',\n width: '100%',\n padding: `${theme.spacing.unit * 2.5}px 0`,\n justifyContent: 'space-around',\n },\n design: {\n paddingTop: theme.spacing.unit * 3,\n },\n});\n\nconst Design = withStyles(styles)((props) => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\n imageSupport,\n uploadSoundSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged,\n } = props;\n const {\n prompt = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n } = configuration || {};\n const { teacherInstructionsEnabled, spellCheckEnabled } = model || {};\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n };\n\n return (\n <div className={classes.design}>\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n <div>\n <div className={classes.matrixHeaderOptionsHolder}>\n <MatrixRowsSizeHeaderInput model={model} onChangeModel={onChangeModel} />\n <MatrixColumnsSizeHeaderInput model={model} onChangeModel={onChangeModel} />\n <MatrixLabelTypeHeaderInput model={model} onChangeModel={onChangeModel} />\n </div>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n )}\n\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={!prompt.settings}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n disableUnderline\n />\n </InputContainer>\n\n <MatrixValues model={model} onChangeModel={onChangeModel} />\n </div>\n </layout.ConfigLayout>\n </div>\n );\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onChangeModel = (data) => {\n this.props.onModelChanged({ ...this.props.model, ...data });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n render() {\n return (\n <Design\n {...this.props}\n onChangeModel={this.props.onModelChanged}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"Main.js"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
|
|
16
|
-
var _Add = _interopRequireDefault(require("@material-ui/icons/Add"));
|
|
17
|
-
|
|
18
|
-
var _Remove = _interopRequireDefault(require("@material-ui/icons/Remove"));
|
|
19
|
-
|
|
20
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
21
|
-
|
|
22
|
-
var _HeaderCommon = require("./HeaderCommon");
|
|
23
|
-
|
|
24
|
-
var _matrixEntities = require("./matrixEntities");
|
|
25
|
-
|
|
26
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
-
|
|
28
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
29
|
-
|
|
30
|
-
var MatrixColumnsSizeHeaderInput = function MatrixColumnsSizeHeaderInput(_ref) {
|
|
31
|
-
var model = _ref.model,
|
|
32
|
-
onChangeModel = _ref.onChangeModel;
|
|
33
|
-
|
|
34
|
-
var onIncrementColumnsSize = function onIncrementColumnsSize() {
|
|
35
|
-
onChangeModel(_objectSpread(_objectSpread({}, model), {}, {
|
|
36
|
-
columnLabels: [].concat((0, _toConsumableArray2["default"])(model.columnLabels), ["COLUMN ".concat(model.columnLabels.length + 1)]),
|
|
37
|
-
labelType: _matrixEntities.MATRIX_LABEL_TYPE.custom
|
|
38
|
-
}));
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
var onDecrementColumnsSize = function onDecrementColumnsSize() {
|
|
42
|
-
var columnLabelsLength = model.columnLabels.length;
|
|
43
|
-
|
|
44
|
-
if (columnLabelsLength <= 1) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
var columnLabelsNext = (0, _toConsumableArray2["default"])(model.columnLabels);
|
|
49
|
-
columnLabelsNext.pop();
|
|
50
|
-
|
|
51
|
-
var matrixValuesClone = _objectSpread({}, model.matrixValues);
|
|
52
|
-
|
|
53
|
-
model.rowLabels.forEach(function (rowLabel, rowIndex) {
|
|
54
|
-
delete matrixValuesClone["".concat(rowIndex, "-").concat(columnLabelsLength - 1)];
|
|
55
|
-
});
|
|
56
|
-
onChangeModel(_objectSpread(_objectSpread({}, model), {}, {
|
|
57
|
-
columnLabels: columnLabelsNext,
|
|
58
|
-
matrixValues: matrixValuesClone,
|
|
59
|
-
labelType: _matrixEntities.MATRIX_LABEL_TYPE.custom
|
|
60
|
-
}));
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
return /*#__PURE__*/_react["default"].createElement(_HeaderCommon.ColumnsWrapper, null, /*#__PURE__*/_react["default"].createElement(_HeaderCommon.ColumnsHeader, null, "Matrix Columns"), /*#__PURE__*/_react["default"].createElement(_HeaderCommon.NumberInputFormGroupWrapper, null, /*#__PURE__*/_react["default"].createElement(_HeaderCommon.IconWrapper, null, /*#__PURE__*/_react["default"].createElement(_Remove["default"], {
|
|
64
|
-
onClick: onDecrementColumnsSize
|
|
65
|
-
})), /*#__PURE__*/_react["default"].createElement("p", null, model.columnLabels.length), /*#__PURE__*/_react["default"].createElement(_HeaderCommon.IconWrapper, null, /*#__PURE__*/_react["default"].createElement(_Add["default"], {
|
|
66
|
-
onClick: onIncrementColumnsSize
|
|
67
|
-
}))));
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
MatrixColumnsSizeHeaderInput.propTypes = {
|
|
71
|
-
model: _propTypes["default"].object.isRequired,
|
|
72
|
-
onChangeModel: _propTypes["default"].func.isRequired
|
|
73
|
-
};
|
|
74
|
-
var _default = MatrixColumnsSizeHeaderInput;
|
|
75
|
-
exports["default"] = _default;
|
|
76
|
-
//# sourceMappingURL=MatrixColumnsSizeHeaderInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/MatrixColumnsSizeHeaderInput.js"],"names":["MatrixColumnsSizeHeaderInput","model","onChangeModel","onIncrementColumnsSize","columnLabels","length","labelType","MATRIX_LABEL_TYPE","custom","onDecrementColumnsSize","columnLabelsLength","columnLabelsNext","pop","matrixValuesClone","matrixValues","rowLabels","forEach","rowLabel","rowIndex","propTypes","PropTypes","object","isRequired","func"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;AAEA,IAAMA,4BAA4B,GAAG,SAA/BA,4BAA+B,OAA8B;AAAA,MAA3BC,KAA2B,QAA3BA,KAA2B;AAAA,MAApBC,aAAoB,QAApBA,aAAoB;;AACjE,MAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AACnCD,IAAAA,aAAa,iCACRD,KADQ;AAEXG,MAAAA,YAAY,gDAAMH,KAAK,CAACG,YAAZ,qBAAoCH,KAAK,CAACG,YAAN,CAAmBC,MAAnB,GAA4B,CAAhE,GAFD;AAGXC,MAAAA,SAAS,EAAEC,kCAAkBC;AAHlB,OAAb;AAKD,GAND;;AAQA,MAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AACnC,QAAMC,kBAAkB,GAAGT,KAAK,CAACG,YAAN,CAAmBC,MAA9C;;AACA,QAAIK,kBAAkB,IAAI,CAA1B,EAA6B;AAC3B;AACD;;AACD,QAAMC,gBAAgB,uCAAOV,KAAK,CAACG,YAAb,CAAtB;AACAO,IAAAA,gBAAgB,CAACC,GAAjB;;AAEA,QAAMC,iBAAiB,qBAAQZ,KAAK,CAACa,YAAd,CAAvB;;AACAb,IAAAA,KAAK,CAACc,SAAN,CAAgBC,OAAhB,CAAwB,UAACC,QAAD,EAAWC,QAAX,EAAwB;AAC9C,aAAOL,iBAAiB,WAAIK,QAAJ,cAAgBR,kBAAkB,GAAG,CAArC,EAAxB;AACD,KAFD;AAIAR,IAAAA,aAAa,iCACRD,KADQ;AAEXG,MAAAA,YAAY,EAAEO,gBAFH;AAGXG,MAAAA,YAAY,EAAED,iBAHH;AAIXP,MAAAA,SAAS,EAAEC,kCAAkBC;AAJlB,OAAb;AAMD,GAnBD;;AAoBA,sBACE,gCAAC,4BAAD,qBACE,gCAAC,2BAAD,yBADF,eAEE,gCAAC,yCAAD,qBACE,gCAAC,yBAAD,qBACE,gCAAC,kBAAD;AAAY,IAAA,OAAO,EAAEC;AAArB,IADF,CADF,eAIE,2CAAIR,KAAK,CAACG,YAAN,CAAmBC,MAAvB,CAJF,eAKE,gCAAC,yBAAD,qBACE,gCAAC,eAAD;AAAS,IAAA,OAAO,EAAEF;AAAlB,IADF,CALF,CAFF,CADF;AAcD,CA3CD;;AA6CAH,4BAA4B,CAACmB,SAA7B,GAAyC;AACvClB,EAAAA,KAAK,EAAEmB,sBAAUC,MAAV,CAAiBC,UADe;AAEvCpB,EAAAA,aAAa,EAAEkB,sBAAUG,IAAV,CAAeD;AAFS,CAAzC;eAKetB,4B","sourcesContent":["import React from 'react';\nimport AddIcon from '@material-ui/icons/Add';\nimport RemoveIcon from '@material-ui/icons/Remove';\nimport PropTypes from 'prop-types';\n\nimport { ColumnsHeader, ColumnsWrapper, IconWrapper, NumberInputFormGroupWrapper } from './HeaderCommon';\nimport { MATRIX_LABEL_TYPE } from './matrixEntities';\n\nconst MatrixColumnsSizeHeaderInput = ({ model, onChangeModel }) => {\n const onIncrementColumnsSize = () => {\n onChangeModel({\n ...model,\n columnLabels: [...model.columnLabels, `COLUMN ${model.columnLabels.length + 1}`],\n labelType: MATRIX_LABEL_TYPE.custom,\n });\n };\n\n const onDecrementColumnsSize = () => {\n const columnLabelsLength = model.columnLabels.length;\n if (columnLabelsLength <= 1) {\n return;\n }\n const columnLabelsNext = [...model.columnLabels];\n columnLabelsNext.pop();\n\n const matrixValuesClone = { ...model.matrixValues };\n model.rowLabels.forEach((rowLabel, rowIndex) => {\n delete matrixValuesClone[`${rowIndex}-${columnLabelsLength - 1}`];\n });\n\n onChangeModel({\n ...model,\n columnLabels: columnLabelsNext,\n matrixValues: matrixValuesClone,\n labelType: MATRIX_LABEL_TYPE.custom,\n });\n };\n return (\n <ColumnsWrapper>\n <ColumnsHeader>Matrix Columns</ColumnsHeader>\n <NumberInputFormGroupWrapper>\n <IconWrapper>\n <RemoveIcon onClick={onDecrementColumnsSize} />\n </IconWrapper>\n <p>{model.columnLabels.length}</p>\n <IconWrapper>\n <AddIcon onClick={onIncrementColumnsSize} />\n </IconWrapper>\n </NumberInputFormGroupWrapper>\n </ColumnsWrapper>\n );\n};\n\nMatrixColumnsSizeHeaderInput.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired,\n};\n\nexport default MatrixColumnsSizeHeaderInput;\n"],"file":"MatrixColumnsSizeHeaderInput.js"}
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports["default"] = exports.ACTION_TYPE = void 0;
|
|
11
|
-
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
19
|
-
|
|
20
|
-
var _KeyboardArrowDown = _interopRequireDefault(require("@material-ui/icons/KeyboardArrowDown"));
|
|
21
|
-
|
|
22
|
-
var _Menu = _interopRequireDefault(require("@material-ui/core/Menu"));
|
|
23
|
-
|
|
24
|
-
var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
|
|
25
|
-
|
|
26
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
|
-
var _NumberInput = _interopRequireDefault(require("./NumberInput"));
|
|
29
|
-
|
|
30
|
-
var _isNumeric = _interopRequireDefault(require("./isNumeric"));
|
|
31
|
-
|
|
32
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
33
|
-
|
|
34
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
35
|
-
|
|
36
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
|
-
|
|
38
|
-
var MatrixEditableButtonWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 50px;\n margin: 1px;\n background: #04b26e;\n border-radius: 5px;\n color: white;\n font-size: 14px;\n white-space: nowrap;\n display: flex;\n align-items: center;\n justify-content: space-between;\n"])));
|
|
39
|
-
|
|
40
|
-
var MatrixEditableButtonContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 5px 0 12px;\n width: 100%;\n display: flex;\n align-items: center;\n overflow: hidden;\n"])));
|
|
41
|
-
|
|
42
|
-
var MatrixEditableButtonText = _styledComponents["default"].p(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n padding: 3px 0 3px 4px;\n cursor: pointer;\n width: 100%;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n :hover {\n background: #00985d;\n }\n\n transition: all 0.1s ease-in-out;\n"])));
|
|
43
|
-
|
|
44
|
-
var MatrixEditableButtonActions = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 3px;\n height: 100%;\n cursor: pointer;\n display: flex;\n align-items: center;\n border-left: 3px solid #00985d;\n :hover {\n background: #00985d;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n transition: all 0.1s ease-in-out;\n"])));
|
|
45
|
-
|
|
46
|
-
var IconWrapper = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 18px;\n"])));
|
|
47
|
-
|
|
48
|
-
var InputWrapper = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n padding: 0 0 0 4px;\n font-size: 14px;\n border: none;\n outline: none;\n color: white;\n width: 50px;\n width: 100%;\n background: #00985d;\n height: 22px;\n display: flex;\n align-items: center;\n"])));
|
|
49
|
-
|
|
50
|
-
var SetScoresToWrapper = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n"])));
|
|
51
|
-
|
|
52
|
-
var SetScoresToInputWrapper = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n width: 50px;\n margin-left: 10px;\n"])));
|
|
53
|
-
|
|
54
|
-
var ACTION_TYPE = {
|
|
55
|
-
clear: 'clear',
|
|
56
|
-
sortAscending: 'sortAscending',
|
|
57
|
-
sortDescending: 'sortDescending',
|
|
58
|
-
set: 'set'
|
|
59
|
-
};
|
|
60
|
-
exports.ACTION_TYPE = ACTION_TYPE;
|
|
61
|
-
|
|
62
|
-
var MatrixLabelEditableButton = function MatrixLabelEditableButton(props) {
|
|
63
|
-
var onLabelUpdate = props.onLabelUpdate,
|
|
64
|
-
value = props.value,
|
|
65
|
-
resourceIndex = props.resourceIndex,
|
|
66
|
-
onAction = props.onAction,
|
|
67
|
-
spellCheck = props.spellCheck;
|
|
68
|
-
|
|
69
|
-
var _useState = (0, _react.useState)(null),
|
|
70
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
71
|
-
labelValue = _useState2[0],
|
|
72
|
-
setLabelValue = _useState2[1];
|
|
73
|
-
|
|
74
|
-
var _useState3 = (0, _react.useState)(''),
|
|
75
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
76
|
-
scoreValue = _useState4[0],
|
|
77
|
-
setScoreValue = _useState4[1];
|
|
78
|
-
|
|
79
|
-
var _useState5 = (0, _react.useState)(false),
|
|
80
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
81
|
-
showInput = _useState6[0],
|
|
82
|
-
setShowInput = _useState6[1];
|
|
83
|
-
|
|
84
|
-
var _React$useState = _react["default"].useState(null),
|
|
85
|
-
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
|
|
86
|
-
anchorEl = _React$useState2[0],
|
|
87
|
-
setAnchorEl = _React$useState2[1];
|
|
88
|
-
|
|
89
|
-
var _React$useState3 = _react["default"].useState( /*#__PURE__*/_react["default"].createRef()),
|
|
90
|
-
_React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 1),
|
|
91
|
-
scoresToRef = _React$useState4[0];
|
|
92
|
-
|
|
93
|
-
var open = Boolean(anchorEl);
|
|
94
|
-
|
|
95
|
-
var onActionClick = function onActionClick(event) {
|
|
96
|
-
setAnchorEl(event.currentTarget);
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
var handleClose = function handleClose(e) {
|
|
100
|
-
e.stopPropagation();
|
|
101
|
-
setAnchorEl(null);
|
|
102
|
-
setScoreValue('');
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
var onClearScores = function onClearScores(e) {
|
|
106
|
-
handleClose(e);
|
|
107
|
-
onAction({
|
|
108
|
-
resourceIndex: resourceIndex,
|
|
109
|
-
actionType: ACTION_TYPE.clear
|
|
110
|
-
});
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
var onSetScoresAscending = function onSetScoresAscending(e) {
|
|
114
|
-
handleClose(e);
|
|
115
|
-
onAction({
|
|
116
|
-
resourceIndex: resourceIndex,
|
|
117
|
-
actionType: ACTION_TYPE.sortAscending
|
|
118
|
-
});
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
var onSetScoresDescending = function onSetScoresDescending(e) {
|
|
122
|
-
handleClose(e);
|
|
123
|
-
onAction({
|
|
124
|
-
resourceIndex: resourceIndex,
|
|
125
|
-
actionType: ACTION_TYPE.sortDescending
|
|
126
|
-
});
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
var onSetScores = function onSetScores(value) {
|
|
130
|
-
if (!(0, _isNumeric["default"])(value)) {
|
|
131
|
-
setScoreValue('');
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
var scoreValueNew = parseInt(value, 10);
|
|
136
|
-
setScoreValue(scoreValueNew);
|
|
137
|
-
onAction({
|
|
138
|
-
resourceIndex: resourceIndex,
|
|
139
|
-
actionType: ACTION_TYPE.set,
|
|
140
|
-
setValue: scoreValueNew
|
|
141
|
-
});
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
var onBlur = function onBlur() {
|
|
145
|
-
var labeValueTrimmed = labelValue.trim();
|
|
146
|
-
|
|
147
|
-
if (labeValueTrimmed) {
|
|
148
|
-
onLabelUpdate(labeValueTrimmed);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
setLabelValue(null);
|
|
152
|
-
setShowInput(false);
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
var onShowInput = function onShowInput() {
|
|
156
|
-
setShowInput(true);
|
|
157
|
-
setLabelValue(value);
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
var onSetScoreToFocus = function onSetScoreToFocus() {
|
|
161
|
-
scoresToRef.current.focus();
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
return /*#__PURE__*/_react["default"].createElement(MatrixEditableButtonWrapper, null, /*#__PURE__*/_react["default"].createElement(MatrixEditableButtonContent, null, showInput ? /*#__PURE__*/_react["default"].createElement(InputWrapper, {
|
|
165
|
-
autoFocus: true,
|
|
166
|
-
value: labelValue,
|
|
167
|
-
onChange: function onChange(e) {
|
|
168
|
-
return setLabelValue(e.target.value);
|
|
169
|
-
},
|
|
170
|
-
onBlur: onBlur,
|
|
171
|
-
spellCheck: spellCheck
|
|
172
|
-
}) : /*#__PURE__*/_react["default"].createElement(MatrixEditableButtonText, {
|
|
173
|
-
onClick: onShowInput
|
|
174
|
-
}, value)), /*#__PURE__*/_react["default"].createElement(MatrixEditableButtonActions, {
|
|
175
|
-
onClick: onActionClick
|
|
176
|
-
}, /*#__PURE__*/_react["default"].createElement(IconWrapper, null, /*#__PURE__*/_react["default"].createElement(_KeyboardArrowDown["default"], {
|
|
177
|
-
fontSize: "inherit"
|
|
178
|
-
})), /*#__PURE__*/_react["default"].createElement(_Menu["default"], {
|
|
179
|
-
anchorEl: anchorEl,
|
|
180
|
-
open: open,
|
|
181
|
-
onClose: handleClose
|
|
182
|
-
}, /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
183
|
-
key: "item1",
|
|
184
|
-
selected: false,
|
|
185
|
-
onClick: onClearScores
|
|
186
|
-
}, "Clear Scores"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
187
|
-
key: "item2",
|
|
188
|
-
selected: false,
|
|
189
|
-
onClick: onSetScoresAscending
|
|
190
|
-
}, "Set Scores Ascending"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
191
|
-
key: "item3",
|
|
192
|
-
selected: false,
|
|
193
|
-
onClick: onSetScoresDescending
|
|
194
|
-
}, "Set Scores Descending"), /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
195
|
-
key: "item4",
|
|
196
|
-
selected: false
|
|
197
|
-
}, /*#__PURE__*/_react["default"].createElement(SetScoresToWrapper, null, /*#__PURE__*/_react["default"].createElement("p", {
|
|
198
|
-
onClick: onSetScoreToFocus
|
|
199
|
-
}, "Set Scores To"), /*#__PURE__*/_react["default"].createElement(SetScoresToInputWrapper, null, /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
200
|
-
onFieldUpdate: onSetScores,
|
|
201
|
-
name: 'setScoreTo',
|
|
202
|
-
placeholder: "#",
|
|
203
|
-
fieldValue: {
|
|
204
|
-
value: scoreValue,
|
|
205
|
-
ref: scoresToRef
|
|
206
|
-
}
|
|
207
|
-
})))))));
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
MatrixLabelEditableButton.propTypes = {
|
|
211
|
-
value: _propTypes["default"].string.isRequired,
|
|
212
|
-
resourceIndex: _propTypes["default"].number.isRequired,
|
|
213
|
-
onLabelUpdate: _propTypes["default"].func.isRequired,
|
|
214
|
-
onAction: _propTypes["default"].func.isRequired
|
|
215
|
-
};
|
|
216
|
-
var _default = MatrixLabelEditableButton;
|
|
217
|
-
exports["default"] = _default;
|
|
218
|
-
//# sourceMappingURL=MatrixLabelEditableButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/MatrixLabelEditableButton.js"],"names":["MatrixEditableButtonWrapper","styled","div","MatrixEditableButtonContent","MatrixEditableButtonText","p","MatrixEditableButtonActions","IconWrapper","InputWrapper","input","SetScoresToWrapper","SetScoresToInputWrapper","ACTION_TYPE","clear","sortAscending","sortDescending","set","MatrixLabelEditableButton","props","onLabelUpdate","value","resourceIndex","onAction","spellCheck","labelValue","setLabelValue","scoreValue","setScoreValue","showInput","setShowInput","React","useState","anchorEl","setAnchorEl","createRef","scoresToRef","open","Boolean","onActionClick","event","currentTarget","handleClose","e","stopPropagation","onClearScores","actionType","onSetScoresAscending","onSetScoresDescending","onSetScores","scoreValueNew","parseInt","setValue","onBlur","labeValueTrimmed","trim","onShowInput","onSetScoreToFocus","current","focus","target","ref","propTypes","PropTypes","string","isRequired","number","func"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport PropTypes from 'prop-types';\n\nimport NumberInput from './NumberInput';\nimport isNumeric from './isNumeric';\n\nconst MatrixEditableButtonWrapper = styled.div`\n width: 100%;\n height: 50px;\n margin: 1px;\n background: #04b26e;\n border-radius: 5px;\n color: white;\n font-size: 14px;\n white-space: nowrap;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst MatrixEditableButtonContent = styled.div`\n padding: 0 5px 0 12px;\n width: 100%;\n display: flex;\n align-items: center;\n overflow: hidden;\n`;\n\nconst MatrixEditableButtonText = styled.p`\n margin: 0;\n padding: 3px 0 3px 4px;\n cursor: pointer;\n width: 100%;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n :hover {\n background: #00985d;\n }\n\n transition: all 0.1s ease-in-out;\n`;\n\nconst MatrixEditableButtonActions = styled.div`\n padding: 0 3px;\n height: 100%;\n cursor: pointer;\n display: flex;\n align-items: center;\n border-left: 3px solid #00985d;\n :hover {\n background: #00985d;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n transition: all 0.1s ease-in-out;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 18px;\n`;\n\nconst InputWrapper = styled.input`\n margin: 0;\n padding: 0 0 0 4px;\n font-size: 14px;\n border: none;\n outline: none;\n color: white;\n width: 50px;\n width: 100%;\n background: #00985d;\n height: 22px;\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToInputWrapper = styled.div`\n width: 50px;\n margin-left: 10px;\n`;\n\nexport const ACTION_TYPE = {\n clear: 'clear',\n sortAscending: 'sortAscending',\n sortDescending: 'sortDescending',\n set: 'set',\n};\n\nconst MatrixLabelEditableButton = (props) => {\n const { onLabelUpdate, value, resourceIndex, onAction, spellCheck } = props;\n const [labelValue, setLabelValue] = useState(null);\n const [scoreValue, setScoreValue] = useState('');\n const [showInput, setShowInput] = useState(false);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [scoresToRef] = React.useState(React.createRef());\n\n const open = Boolean(anchorEl);\n\n const onActionClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = (e) => {\n e.stopPropagation();\n setAnchorEl(null);\n setScoreValue('');\n };\n\n const onClearScores = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.clear });\n };\n\n const onSetScoresAscending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortAscending });\n };\n\n const onSetScoresDescending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortDescending });\n };\n\n const onSetScores = (value) => {\n if (!isNumeric(value)) {\n setScoreValue('');\n return;\n }\n const scoreValueNew = parseInt(value, 10);\n setScoreValue(scoreValueNew);\n onAction({ resourceIndex, actionType: ACTION_TYPE.set, setValue: scoreValueNew });\n };\n\n const onBlur = () => {\n const labeValueTrimmed = labelValue.trim();\n if (labeValueTrimmed) {\n onLabelUpdate(labeValueTrimmed);\n }\n setLabelValue(null);\n setShowInput(false);\n };\n\n const onShowInput = () => {\n setShowInput(true);\n setLabelValue(value);\n };\n\n const onSetScoreToFocus = () => {\n scoresToRef.current.focus();\n };\n\n return (\n <MatrixEditableButtonWrapper>\n <MatrixEditableButtonContent>\n {showInput ? (\n <InputWrapper\n autoFocus\n value={labelValue}\n onChange={(e) => setLabelValue(e.target.value)}\n onBlur={onBlur}\n spellCheck={spellCheck}\n />\n ) : (\n <MatrixEditableButtonText onClick={onShowInput}>{value}</MatrixEditableButtonText>\n )}\n </MatrixEditableButtonContent>\n <MatrixEditableButtonActions onClick={onActionClick}>\n <IconWrapper>\n <KeyboardArrowDownIcon fontSize=\"inherit\" />\n </IconWrapper>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>\n <MenuItem key=\"item1\" selected={false} onClick={onClearScores}>\n Clear Scores\n </MenuItem>\n <MenuItem key=\"item2\" selected={false} onClick={onSetScoresAscending}>\n Set Scores Ascending\n </MenuItem>\n <MenuItem key=\"item3\" selected={false} onClick={onSetScoresDescending}>\n Set Scores Descending\n </MenuItem>\n <MenuItem key=\"item4\" selected={false}>\n <SetScoresToWrapper>\n <p onClick={onSetScoreToFocus}>Set Scores To</p>\n <SetScoresToInputWrapper>\n <NumberInput\n onFieldUpdate={onSetScores}\n name={'setScoreTo'}\n placeholder=\"#\"\n fieldValue={{\n value: scoreValue,\n ref: scoresToRef,\n }}\n />\n </SetScoresToInputWrapper>\n </SetScoresToWrapper>\n </MenuItem>\n </Menu>\n </MatrixEditableButtonActions>\n </MatrixEditableButtonWrapper>\n );\n};\n\nMatrixLabelEditableButton.propTypes = {\n value: PropTypes.string.isRequired,\n resourceIndex: PropTypes.number.isRequired,\n onLabelUpdate: PropTypes.func.isRequired,\n onAction: PropTypes.func.isRequired,\n};\n\nexport default MatrixLabelEditableButton;\n"],"file":"MatrixLabelEditableButton.js"}
|