@pie-element/passage 2.21.7-next.0 → 2.21.7-next.14
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/lib/defaults.js +1 -1
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/design.js +49 -39
- package/configure/lib/design.js.map +1 -1
- package/controller/lib/defaults.js +3 -3
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +26 -5
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +4 -1
- package/module/configure.js +54 -53
- package/module/controller.js +1000 -7
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["model","teacherInstructionsEnabled","titleEnabled","subtitleEnabled","
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","teacherInstructionsEnabled","titleEnabled","subtitleEnabled","authorEnabled","textEnabled","passages","teacherInstructions","title","subtitle","author","text","configuration","baseInputConfiguration","audio","disabled","video","image","h3","blockquote","settingsPanelDisabled","settings","label","inputConfiguration","required","maxImageWidth","maxImageHeight","mathMlOptions","mmlOutput","mmlEditing","language","enabled","languageChoices","options"],"mappings":"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","sourcesContent":["export default {\n model: {\n teacherInstructionsEnabled: true,\n titleEnabled: true,\n subtitleEnabled: true,\n authorEnabled: true,\n textEnabled: true,\n passages: [\n {\n teacherInstructions: '',\n title: '',\n subtitle: '',\n author: '',\n text: '',\n },\n ],\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n h3: { disabled: true },\n blockquote: { disabled: true },\n },\n settingsPanelDisabled: false,\n title: {\n settings: true,\n label: 'Title',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\n required: true,\n },\n subtitle: {\n settings: true,\n label: 'Subtitle',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\n required: false,\n },\n author: {\n settings: true,\n label: 'Author',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\n required: false,\n },\n text: {\n settings: true,\n label: 'Text',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n h3: { disabled: false },\n blockquote: { disabled: false },\n },\n required: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n maxImageWidth: {\n teacherInstructions: 300,\n text: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n text: 300,\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"file":"defaults.js"}
|
package/configure/lib/design.js
CHANGED
|
@@ -25,12 +25,12 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
25
25
|
|
|
26
26
|
var _react = _interopRequireDefault(require("react"));
|
|
27
27
|
|
|
28
|
-
var _configUi = require("@pie-lib/pie-toolbox/config-ui");
|
|
29
|
-
|
|
30
28
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
29
|
|
|
32
30
|
var _styles = require("@material-ui/core/styles");
|
|
33
31
|
|
|
32
|
+
var _configUi = require("@pie-lib/pie-toolbox/config-ui");
|
|
33
|
+
|
|
34
34
|
var _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
|
|
35
35
|
|
|
36
36
|
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; }
|
|
@@ -107,14 +107,20 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
107
107
|
baseInputConfiguration = _ref$baseInputConfigu === void 0 ? {} : _ref$baseInputConfigu,
|
|
108
108
|
_ref$teacherInstructi = _ref.teacherInstructions,
|
|
109
109
|
teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
|
|
110
|
-
title = _ref.title,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
_ref$title = _ref.title,
|
|
111
|
+
title = _ref$title === void 0 ? {} : _ref$title,
|
|
112
|
+
_ref$subtitle = _ref.subtitle,
|
|
113
|
+
subtitle = _ref$subtitle === void 0 ? {} : _ref$subtitle,
|
|
114
|
+
_ref$text = _ref.text,
|
|
115
|
+
text = _ref$text === void 0 ? {} : _ref$text,
|
|
116
|
+
_ref$author = _ref.author,
|
|
117
|
+
author = _ref$author === void 0 ? {} : _ref$author;
|
|
114
118
|
|
|
115
119
|
var _ref2 = model || {},
|
|
116
120
|
_ref2$errors = _ref2.errors,
|
|
117
121
|
errors = _ref2$errors === void 0 ? {} : _ref2$errors,
|
|
122
|
+
_ref2$passages = _ref2.passages,
|
|
123
|
+
passages = _ref2$passages === void 0 ? [] : _ref2$passages,
|
|
118
124
|
teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
|
|
119
125
|
titleEnabled = _ref2.titleEnabled,
|
|
120
126
|
subtitleEnabled = _ref2.subtitleEnabled,
|
|
@@ -122,11 +128,15 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
122
128
|
textEnabled = _ref2.textEnabled;
|
|
123
129
|
|
|
124
130
|
var _ref3 = errors || {},
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
131
|
+
passagesErrors = _ref3.passages;
|
|
132
|
+
|
|
133
|
+
var _ref4 = passagesErrors && passagesErrors[0] || {},
|
|
134
|
+
teacherInstructionsError = _ref4.teacherInstructions,
|
|
135
|
+
titleError = _ref4.title,
|
|
136
|
+
subtitleError = _ref4.subtitle,
|
|
137
|
+
authorError = _ref4.author,
|
|
138
|
+
textError = _ref4.text; // only the first passage errors are needed for now
|
|
139
|
+
|
|
130
140
|
|
|
131
141
|
var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
|
|
132
142
|
var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
|
|
@@ -162,12 +172,34 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
162
172
|
Properties: panelProperties
|
|
163
173
|
}
|
|
164
174
|
})
|
|
165
|
-
},
|
|
175
|
+
}, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
176
|
+
label: teacherInstructions.label,
|
|
177
|
+
className: classes.inputContainer
|
|
178
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
179
|
+
activePlugins: _editableHtml.ALL_PLUGINS,
|
|
180
|
+
markup: passages[0].teacherInstructions || '',
|
|
181
|
+
onChange: function onChange(value) {
|
|
182
|
+
return _this2.handleChange('teacherInstructions', value);
|
|
183
|
+
},
|
|
184
|
+
nonEmpty: false,
|
|
185
|
+
error: teacherInstructionsError,
|
|
186
|
+
maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
|
|
187
|
+
maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
|
|
188
|
+
mathMlOptions: mathMlOptions,
|
|
189
|
+
languageCharactersProps: [{
|
|
190
|
+
language: 'spanish'
|
|
191
|
+
}, {
|
|
192
|
+
language: 'special'
|
|
193
|
+
}],
|
|
194
|
+
pluginProps: getPluginProps(teacherInstructions === null || teacherInstructions === void 0 ? void 0 : teacherInstructions.inputConfiguration)
|
|
195
|
+
}), teacherInstructionsError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
196
|
+
className: classes.errorText
|
|
197
|
+
}, teacherInstructionsError)), titleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
166
198
|
label: title.label,
|
|
167
199
|
className: classes.inputContainer
|
|
168
200
|
}, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
169
201
|
activePlugins: _editableHtml.ALL_PLUGINS,
|
|
170
|
-
markup:
|
|
202
|
+
markup: passages[0].title || '',
|
|
171
203
|
onChange: function onChange(value) {
|
|
172
204
|
return _this2.handleChange('title', value);
|
|
173
205
|
},
|
|
@@ -187,7 +219,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
187
219
|
className: classes.inputContainer
|
|
188
220
|
}, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
189
221
|
activePlugins: _editableHtml.ALL_PLUGINS,
|
|
190
|
-
markup:
|
|
222
|
+
markup: passages[0].subtitle || '',
|
|
191
223
|
onChange: function onChange(value) {
|
|
192
224
|
return _this2.handleChange('subtitle', value);
|
|
193
225
|
},
|
|
@@ -207,7 +239,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
207
239
|
className: classes.inputContainer
|
|
208
240
|
}, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
209
241
|
activePlugins: _editableHtml.ALL_PLUGINS,
|
|
210
|
-
markup:
|
|
242
|
+
markup: passages[0].author || '',
|
|
211
243
|
onChange: function onChange(value) {
|
|
212
244
|
return _this2.handleChange('author', value);
|
|
213
245
|
},
|
|
@@ -222,34 +254,12 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
222
254
|
pluginProps: getPluginProps(author === null || author === void 0 ? void 0 : author.inputConfiguration)
|
|
223
255
|
}), authorError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
224
256
|
className: classes.errorText
|
|
225
|
-
}, authorError)),
|
|
226
|
-
label: teacherInstructions.label,
|
|
227
|
-
className: classes.inputContainer
|
|
228
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
229
|
-
activePlugins: _editableHtml.ALL_PLUGINS,
|
|
230
|
-
markup: model.passages[0].teacherInstructions || '',
|
|
231
|
-
onChange: function onChange(value) {
|
|
232
|
-
return _this2.handleChange('teacherInstructions', value);
|
|
233
|
-
},
|
|
234
|
-
nonEmpty: false,
|
|
235
|
-
error: teacherInstructionsError,
|
|
236
|
-
maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
|
|
237
|
-
maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
|
|
238
|
-
mathMlOptions: mathMlOptions,
|
|
239
|
-
languageCharactersProps: [{
|
|
240
|
-
language: 'spanish'
|
|
241
|
-
}, {
|
|
242
|
-
language: 'special'
|
|
243
|
-
}],
|
|
244
|
-
pluginProps: getPluginProps(teacherInstructions === null || teacherInstructions === void 0 ? void 0 : teacherInstructions.inputConfiguration)
|
|
245
|
-
}), teacherInstructionsError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
246
|
-
className: classes.errorText
|
|
247
|
-
}, teacherInstructionsError)), textEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
257
|
+
}, authorError)), textEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
248
258
|
label: text.label,
|
|
249
259
|
className: classes.inputContainer
|
|
250
260
|
}, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
251
261
|
activePlugins: _editableHtml.ALL_PLUGINS,
|
|
252
|
-
markup:
|
|
262
|
+
markup: passages[0].text || '',
|
|
253
263
|
onChange: function onChange(value) {
|
|
254
264
|
return _this2.handleChange('text', value);
|
|
255
265
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","dropdown","Main","props","fieldName","value","index","model","onModelChanged","passages","length","updatedPassages","state","setDimensions","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","settingsPanelDisabled","language","languageChoices","maxImageWidth","maxImageHeight","mathMlOptions","baseInputConfiguration","teacherInstructions","title","subtitle","text","author","errors","teacherInstructionsEnabled","titleEnabled","subtitleEnabled","authorEnabled","textEnabled","teacherInstructionsError","titleError","subtitleError","authorError","textError","defaultImageMaxWidth","prompt","defaultImageMaxHeight","panelSettings","label","panelProperties","enabled","options","getPluginProps","customConfiguration","config","Settings","Properties","inputContainer","ALL_PLUGINS","handleChange","inputConfiguration","errorText","React","Component","PropTypes","func","isRequired","object","theme","paddingTop","spacing","unit","marginBottom","width","fontSize","typography","color","palette","error","main"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { InputContainer, settings, layout } from '@pie-lib/pie-toolbox/config-ui';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { EditableHtml, ALL_PLUGINS } from '@pie-lib/pie-toolbox/editable-html';\n\nconst { Panel, toggle, dropdown } = settings;\n\nexport class Main extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = { setDimensions: true };\n }\n\n handleChange = (fieldName, value, index = 0) => {\n const { model, onModelChanged } = this.props;\n if (!model || !onModelChanged || !model.passages || index < 0 || index >= model.passages.length) {\n return;\n }\n const updatedPassages = [...model.passages];\n updatedPassages[index] = { ...updatedPassages[index], [fieldName]: value };\n\n onModelChanged({ ...model, passages: updatedPassages });\n };\n\n render() {\n const { model, classes, configuration, imageSupport, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n settingsPanelDisabled,\n language = {},\n languageChoices = {},\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n baseInputConfiguration = {},\n teacherInstructions = {},\n title,\n subtitle,\n text,\n author,\n } = configuration || {};\n const {\n errors = {},\n teacherInstructionsEnabled,\n titleEnabled,\n subtitleEnabled,\n authorEnabled,\n textEnabled,\n } = model || {};\n const { teacherInstructions: teacherInstructionsError, title: titleError, subtitle: subtitleError, author: authorError, text: textError } = errors || {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n titleEnabled: title && title.settings && toggle(title.label),\n subtitleEnabled: subtitle && subtitle.settings && toggle(subtitle.label),\n authorEnabled: author && author.settings && toggle(author.label),\n textEnabled: text && text.settings && toggle(text.label),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions && teacherInstructions.settings && toggle(teacherInstructions.label),\n 'language.enabled': language && language.settings && toggle(language.label, true),\n language: language && language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n\n const getPluginProps = (customConfiguration) => {\n return {\n ...baseInputConfiguration,\n ...customConfiguration,\n };\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {titleEnabled && (\n <InputContainer label={title.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={model.passages[0].title || ''}\n onChange={(value) => this.handleChange('title', value)}\n nonEmpty={false}\n error={titleError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(title?.inputConfiguration)}\n />\n {titleError && <div className={classes.errorText}>{titleError}</div>}\n </InputContainer>\n )}\n {subtitleEnabled && (\n <InputContainer label={subtitle.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={model.passages[0].subtitle || ''}\n onChange={(value) => this.handleChange('subtitle', value)}\n nonEmpty={false}\n error={subtitleError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(subtitle?.inputConfiguration)}\n />\n {subtitleError && <div className={classes.errorText}>{subtitleError}</div>}\n </InputContainer>\n )}\n {authorEnabled && (\n <InputContainer label={author.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={model.passages[0].author || ''}\n onChange={(value) => this.handleChange('author', value)}\n nonEmpty={false}\n error={authorError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(author?.inputConfiguration)}\n />\n {authorError && <div className={classes.errorText}>{authorError}</div>}\n </InputContainer>\n )}\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={model.passages[0].teacherInstructions || ''}\n onChange={(value) => this.handleChange('teacherInstructions', value)}\n nonEmpty={false}\n error={teacherInstructionsError}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n {textEnabled && (\n <InputContainer label={text.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={model.passages[0].text || '' }\n onChange={(value) => this.handleChange('text', value)}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n nonEmpty={false}\n error={textError}\n maxImageWidth={(maxImageWidth && maxImageWidth.text) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.text) || defaultImageMaxHeight}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(text?.inputConfiguration)}\n />\n {textError && <div className={classes.errorText}>{textError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles((theme) => ({\n inputContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n}))(Main);\n"],"file":"design.js"}
|
|
1
|
+
{"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","dropdown","Main","props","fieldName","value","index","model","onModelChanged","passages","length","updatedPassages","state","setDimensions","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","settingsPanelDisabled","language","languageChoices","maxImageWidth","maxImageHeight","mathMlOptions","baseInputConfiguration","teacherInstructions","title","subtitle","text","author","errors","teacherInstructionsEnabled","titleEnabled","subtitleEnabled","authorEnabled","textEnabled","passagesErrors","teacherInstructionsError","titleError","subtitleError","authorError","textError","defaultImageMaxWidth","prompt","defaultImageMaxHeight","panelSettings","label","panelProperties","enabled","options","getPluginProps","customConfiguration","config","Settings","Properties","inputContainer","ALL_PLUGINS","handleChange","inputConfiguration","errorText","React","Component","PropTypes","func","isRequired","object","theme","paddingTop","spacing","unit","marginBottom","width","fontSize","typography","color","palette","error","main"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { InputContainer, settings, layout } from '@pie-lib/pie-toolbox/config-ui';\nimport { EditableHtml, ALL_PLUGINS } from '@pie-lib/pie-toolbox/editable-html';\n\nconst { Panel, toggle, dropdown } = settings;\n\nexport class Main extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = { setDimensions: true };\n }\n\n handleChange = (fieldName, value, index = 0) => {\n const { model, onModelChanged } = this.props;\n\n if (!model || !onModelChanged || !model.passages || index < 0 || index >= model.passages.length) {\n return;\n }\n\n const updatedPassages = [...model.passages];\n updatedPassages[index] = { ...updatedPassages[index], [fieldName]: value };\n\n onModelChanged({ ...model, passages: updatedPassages });\n };\n\n render() {\n const { model, classes, configuration, imageSupport, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n settingsPanelDisabled,\n language = {},\n languageChoices = {},\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n baseInputConfiguration = {},\n teacherInstructions = {},\n title = {},\n subtitle = {},\n text = {},\n author = {},\n } = configuration || {};\n const {\n errors = {},\n passages = [],\n teacherInstructionsEnabled,\n titleEnabled,\n subtitleEnabled,\n authorEnabled,\n textEnabled,\n } = model || {};\n\n const { passages: passagesErrors } = errors || {};\n const {\n teacherInstructions: teacherInstructionsError,\n title: titleError,\n subtitle: subtitleError,\n author: authorError,\n text: textError,\n } = (passagesErrors && passagesErrors[0]) || {}; // only the first passage errors are needed for now\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n titleEnabled: title && title.settings && toggle(title.label),\n subtitleEnabled: subtitle && subtitle.settings && toggle(subtitle.label),\n authorEnabled: author && author.settings && toggle(author.label),\n textEnabled: text && text.settings && toggle(text.label),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled:\n teacherInstructions && teacherInstructions.settings && toggle(teacherInstructions.label),\n 'language.enabled': language && language.settings && toggle(language.label, true),\n language:\n language && language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n\n const getPluginProps = (customConfiguration) => {\n return {\n ...baseInputConfiguration,\n ...customConfiguration,\n };\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={passages[0].teacherInstructions || ''}\n onChange={(value) => this.handleChange('teacherInstructions', value)}\n nonEmpty={false}\n error={teacherInstructionsError}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {titleEnabled && (\n <InputContainer label={title.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={passages[0].title || ''}\n onChange={(value) => this.handleChange('title', value)}\n nonEmpty={false}\n error={titleError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(title?.inputConfiguration)}\n />\n {titleError && <div className={classes.errorText}>{titleError}</div>}\n </InputContainer>\n )}\n\n {subtitleEnabled && (\n <InputContainer label={subtitle.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={passages[0].subtitle || ''}\n onChange={(value) => this.handleChange('subtitle', value)}\n nonEmpty={false}\n error={subtitleError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(subtitle?.inputConfiguration)}\n />\n {subtitleError && <div className={classes.errorText}>{subtitleError}</div>}\n </InputContainer>\n )}\n\n {authorEnabled && (\n <InputContainer label={author.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={passages[0].author || ''}\n onChange={(value) => this.handleChange('author', value)}\n nonEmpty={false}\n error={authorError}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(author?.inputConfiguration)}\n />\n {authorError && <div className={classes.errorText}>{authorError}</div>}\n </InputContainer>\n )}\n\n {textEnabled && (\n <InputContainer label={text.label} className={classes.inputContainer}>\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n markup={passages[0].text || ''}\n onChange={(value) => this.handleChange('text', value)}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n nonEmpty={false}\n error={textError}\n maxImageWidth={(maxImageWidth && maxImageWidth.text) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.text) || defaultImageMaxHeight}\n mathMlOptions={mathMlOptions}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n pluginProps={getPluginProps(text?.inputConfiguration)}\n />\n {textError && <div className={classes.errorText}>{textError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles((theme) => ({\n inputContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n}))(Main);\n"],"file":"design.js"}
|
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
var _default = {
|
|
8
8
|
teacherInstructionsEnabled: true,
|
|
9
|
-
titleEnabled:
|
|
10
|
-
subtitleEnabled:
|
|
9
|
+
titleEnabled: false,
|
|
10
|
+
subtitleEnabled: false,
|
|
11
|
+
authorEnabled: false,
|
|
11
12
|
textEnabled: true,
|
|
12
|
-
authorEnabled: true,
|
|
13
13
|
passages: [{
|
|
14
14
|
teacherInstructions: '',
|
|
15
15
|
title: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["teacherInstructionsEnabled","titleEnabled","subtitleEnabled","
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["teacherInstructionsEnabled","titleEnabled","subtitleEnabled","authorEnabled","textEnabled","passages","teacherInstructions","title","subtitle","author","text"],"mappings":";;;;;;eAAe;AACbA,EAAAA,0BAA0B,EAAE,IADf;AAEbC,EAAAA,YAAY,EAAE,KAFD;AAGbC,EAAAA,eAAe,EAAE,KAHJ;AAIbC,EAAAA,aAAa,EAAE,KAJF;AAKbC,EAAAA,WAAW,EAAE,IALA;AAMbC,EAAAA,QAAQ,EAAE,CACR;AACEC,IAAAA,mBAAmB,EAAE,EADvB;AAEEC,IAAAA,KAAK,EAAE,EAFT;AAGEC,IAAAA,QAAQ,EAAE,EAHZ;AAIEC,IAAAA,MAAM,EAAE,EAJV;AAKEC,IAAAA,IAAI,EAAE;AALR,GADQ;AANG,C","sourcesContent":["export default {\n teacherInstructionsEnabled: true,\n titleEnabled: false,\n subtitleEnabled: false,\n authorEnabled: false,\n textEnabled: true,\n passages: [\n {\n teacherInstructions: '',\n title: '',\n subtitle: '',\n author: '',\n text: '',\n },\n ],\n};\n"],"file":"defaults.js"}
|
package/controller/lib/index.js
CHANGED
|
@@ -15,6 +15,8 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
15
15
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
17
|
|
|
18
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
19
|
+
|
|
18
20
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
19
21
|
|
|
20
22
|
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; }
|
|
@@ -71,7 +73,7 @@ function _model() {
|
|
|
71
73
|
normalizedPassages = normalizedQuestion.passages.map(function (passage, index) {
|
|
72
74
|
return {
|
|
73
75
|
teacherInstructions: normalizedQuestion.teacherInstructionsEnabled ? normalizeTeacherInstructions(passage.teacherInstructions, env) : '',
|
|
74
|
-
label: passage.
|
|
76
|
+
label: getContent(passage.title) ? passage.title : "Passage ".concat(index + 1),
|
|
75
77
|
title: normalizedQuestion.titleEnabled ? passage.title || '' : '',
|
|
76
78
|
subtitle: normalizedQuestion.subtitleEnabled ? passage.subtitle || '' : '',
|
|
77
79
|
author: normalizedQuestion.authorEnabled ? passage.author || '' : '',
|
|
@@ -96,13 +98,32 @@ var validate = function validate() {
|
|
|
96
98
|
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
97
99
|
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
98
100
|
var errors = {};
|
|
99
|
-
|
|
100
|
-
|
|
101
|
+
var passagesErrors = {};
|
|
102
|
+
(model.passages || []).forEach(function (passage, index) {
|
|
103
|
+
// validate only the first passage
|
|
104
|
+
// TODO: remove when authoring is updated to support multiple passages
|
|
105
|
+
if (index !== 0) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
var err = {};
|
|
110
|
+
['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach(function (field) {
|
|
111
|
+
var _config$field;
|
|
112
|
+
|
|
113
|
+
if ((_config$field = config[field]) !== null && _config$field !== void 0 && _config$field.required && !getContent(passage[field])) {
|
|
114
|
+
err[field] = 'This field is required.';
|
|
115
|
+
}
|
|
116
|
+
});
|
|
101
117
|
|
|
102
|
-
if ((
|
|
103
|
-
|
|
118
|
+
if (!(0, _isEmpty["default"])(err)) {
|
|
119
|
+
passagesErrors[index] = err;
|
|
104
120
|
}
|
|
105
121
|
});
|
|
122
|
+
|
|
123
|
+
if (!(0, _isEmpty["default"])(passagesErrors)) {
|
|
124
|
+
errors.passages = passagesErrors;
|
|
125
|
+
}
|
|
126
|
+
|
|
106
127
|
return errors;
|
|
107
128
|
};
|
|
108
129
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["getContent","html","replace","createDefaultModel","model","Promise","resolve","defaults","normalize","question","normalizeTeacherInstructions","instructions","env","role","mode","session","normalizedQuestion","normalizedPassages","passages","map","passage","index","teacherInstructions","teacherInstructionsEnabled","label","
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["getContent","html","replace","createDefaultModel","model","Promise","resolve","defaults","normalize","question","normalizeTeacherInstructions","instructions","env","role","mode","session","normalizedQuestion","normalizedPassages","passages","map","passage","index","teacherInstructions","teacherInstructionsEnabled","label","title","titleEnabled","subtitle","subtitleEnabled","author","authorEnabled","text","textEnabled","validate","config","errors","passagesErrors","forEach","err","field","required"],"mappings":"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","sourcesContent":["import isEmpty from 'lodash/isEmpty';\n\nimport defaults from './defaults';\n\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({ ...defaults, ...model });\n });\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\nconst normalizeTeacherInstructions = (instructions, env) => {\n const { role, mode } = env;\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n return instructions || '';\n }\n\n return '';\n};\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n const normalizedPassages = normalizedQuestion.passages.map((passage, index) => ({\n teacherInstructions: normalizedQuestion.teacherInstructionsEnabled\n ? normalizeTeacherInstructions(passage.teacherInstructions, env)\n : '',\n label: getContent(passage.title) ? passage.title : `Passage ${index + 1}`,\n title: normalizedQuestion.titleEnabled ? passage.title || '' : '',\n subtitle: normalizedQuestion.subtitleEnabled ? passage.subtitle || '' : '',\n author: normalizedQuestion.authorEnabled ? passage.author || '' : '',\n text: normalizedQuestion.textEnabled ? passage.text || '' : '',\n }));\n\n return {\n ...normalizedQuestion,\n passages: normalizedPassages,\n };\n}\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n const passagesErrors = {};\n\n (model.passages || []).forEach((passage, index) => {\n // validate only the first passage\n // TODO: remove when authoring is updated to support multiple passages\n if (index !== 0) {\n return;\n }\n\n const err = {};\n\n ['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach((field) => {\n if (config[field]?.required && !getContent(passage[field])) {\n err[field] = 'This field is required.';\n }\n });\n\n if (!isEmpty(err)) {\n passagesErrors[index] = err;\n }\n });\n\n if (!isEmpty(passagesErrors)) {\n errors.passages = passagesErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
|