@pie-element/passage 2.21.6 → 2.21.7-beta.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.21.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@2.21.6...@pie-element/passage@2.21.7) (2024-09-11)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **passage:** fix validation and update controller default values PD-4068 PD-4006 ([c4976b6](https://github.com/pie-framework/pie-elements/commit/c4976b664a441b225f5ebe47273a5a309cdfa9f7))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [2.21.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage@2.21.5...@pie-element/passage@2.21.6) (2024-09-10)
7
18
 
8
19
 
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.6.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-configure@1.6.4...@pie-element/passage-configure@1.6.5) (2024-09-11)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **passage:** fix validation and update controller default values PD-4068 PD-4006 ([c4976b6](https://github.com/pie-framework/pie-elements/commit/c4976b664a441b225f5ebe47273a5a309cdfa9f7))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [1.6.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-configure@1.6.3...@pie-element/passage-configure@1.6.4) (2024-09-10)
7
18
 
8
19
 
@@ -9,8 +9,8 @@ var _default = {
9
9
  teacherInstructionsEnabled: true,
10
10
  titleEnabled: true,
11
11
  subtitleEnabled: true,
12
- textEnabled: true,
13
12
  authorEnabled: true,
13
+ textEnabled: true,
14
14
  passages: [{
15
15
  teacherInstructions: '',
16
16
  title: '',
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","teacherInstructionsEnabled","titleEnabled","subtitleEnabled","textEnabled","authorEnabled","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 textEnabled: true,\n authorEnabled: 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"}
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"}
@@ -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
- subtitle = _ref.subtitle,
112
- text = _ref.text,
113
- author = _ref.author;
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
- teacherInstructionsError = _ref3.teacherInstructions,
126
- titleError = _ref3.title,
127
- subtitleError = _ref3.subtitle,
128
- authorError = _ref3.author,
129
- textError = _ref3.text;
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
- }, titleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
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: model.passages[0].title || '',
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: model.passages[0].subtitle || '',
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: model.passages[0].author || '',
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)), teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
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: model.passages[0].text || '',
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":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAQA,KAAR,GAAoCC,kBAApC,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAAoCD,kBAApC,CAAeC,MAAf;AAAA,IAAuBC,QAAvB,GAAoCF,kBAApC,CAAuBE,QAAvB;;IAEaC,I;;;;;AAWX,gBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,qGAKJ,UAACC,SAAD,EAAYC,KAAZ,EAAiC;AAAA,UAAdC,KAAc,uEAAN,CAAM;AAC9C,wBAAkC,MAAKH,KAAvC;AAAA,UAAQI,KAAR,eAAQA,KAAR;AAAA,UAAeC,cAAf,eAAeA,cAAf;;AAEA,UAAI,CAACD,KAAD,IAAU,CAACC,cAAX,IAA6B,CAACD,KAAK,CAACE,QAApC,IAAgDH,KAAK,GAAG,CAAxD,IAA6DA,KAAK,IAAIC,KAAK,CAACE,QAAN,CAAeC,MAAzF,EAAiG;AAC/F;AACD;;AAED,UAAMC,eAAe,uCAAOJ,KAAK,CAACE,QAAb,CAArB;AACAE,MAAAA,eAAe,CAACL,KAAD,CAAf,mCAA8BK,eAAe,CAACL,KAAD,CAA7C,4CAAuDF,SAAvD,EAAmEC,KAAnE;AAEAG,MAAAA,cAAc,iCAAMD,KAAN;AAAaE,QAAAA,QAAQ,EAAEE;AAAvB,SAAd;AACD,KAhBkB;AAEjB,UAAKC,KAAL,GAAa;AAAEC,MAAAA,aAAa,EAAE;AAAjB,KAAb;AAFiB;AAGlB;;;;WAeD,kBAAS;AAAA;;AACP,yBACE,KAAKV,KADP;AAAA,UAAQI,KAAR,gBAAQA,KAAR;AAAA,UAAeO,OAAf,gBAAeA,OAAf;AAAA,UAAwBC,aAAxB,gBAAwBA,aAAxB;AAAA,UAAuCC,YAAvC,gBAAuCA,YAAvC;AAAA,UAAqDC,sBAArD,gBAAqDA,sBAArD;AAAA,UAA6ET,cAA7E,gBAA6EA,cAA7E;AAAA,UAA6FU,kBAA7F,gBAA6FA,kBAA7F;;AAEA,iBAaIH,aAAa,IAAI,EAbrB;AAAA,UACEI,qBADF,QACEA,qBADF;AAAA,+BAEEC,QAFF;AAAA,UAEEA,QAFF,8BAEa,EAFb;AAAA,sCAGEC,eAHF;AAAA,UAGEA,eAHF,qCAGoB,EAHpB;AAAA,oCAIEC,aAJF;AAAA,UAIEA,aAJF,mCAIkB,EAJlB;AAAA,qCAKEC,cALF;AAAA,UAKEA,cALF,oCAKmB,EALnB;AAAA,oCAMEC,aANF;AAAA,UAMEA,aANF,mCAMkB,EANlB;AAAA,uCAOEC,sBAPF;AAAA,UAOEA,sBAPF,sCAO2B,EAP3B;AAAA,uCAQEC,mBARF;AAAA,UAQEA,mBARF,sCAQwB,EARxB;AAAA,4BASEC,KATF;AAAA,UASEA,KATF,2BASU,EATV;AAAA,+BAUEC,QAVF;AAAA,UAUEA,QAVF,8BAUa,EAVb;AAAA,2BAWEC,IAXF;AAAA,UAWEA,IAXF,0BAWS,EAXT;AAAA,6BAYEC,MAZF;AAAA,UAYEA,MAZF,4BAYW,EAZX;;AAcA,kBAQIvB,KAAK,IAAI,EARb;AAAA,+BACEwB,MADF;AAAA,UACEA,MADF,6BACW,EADX;AAAA,iCAEEtB,QAFF;AAAA,UAEEA,QAFF,+BAEa,EAFb;AAAA,UAGEuB,0BAHF,SAGEA,0BAHF;AAAA,UAIEC,YAJF,SAIEA,YAJF;AAAA,UAKEC,eALF,SAKEA,eALF;AAAA,UAMEC,aANF,SAMEA,aANF;AAAA,UAOEC,WAPF,SAOEA,WAPF;;AAUA,kBAAqCL,MAAM,IAAI,EAA/C;AAAA,UAAkBM,cAAlB,SAAQ5B,QAAR;;AACA,kBAMK4B,cAAc,IAAIA,cAAc,CAAC,CAAD,CAAjC,IAAyC,EAN7C;AAAA,UACuBC,wBADvB,SACEZ,mBADF;AAAA,UAESa,UAFT,SAEEZ,KAFF;AAAA,UAGYa,aAHZ,SAGEZ,QAHF;AAAA,UAIUa,WAJV,SAIEX,MAJF;AAAA,UAKQY,SALR,SAKEb,IALF,CA5BO,CAkC0C;;;AAEjD,UAAMc,oBAAoB,GAAGrB,aAAa,IAAIA,aAAa,CAACsB,MAA5D;AACA,UAAMC,qBAAqB,GAAGtB,cAAc,IAAIA,cAAc,CAACqB,MAA/D;AAEA,UAAME,aAAa,GAAG;AACpBb,QAAAA,YAAY,EAAEN,KAAK,IAAIA,KAAK,CAAC5B,QAAf,IAA2BC,MAAM,CAAC2B,KAAK,CAACoB,KAAP,CAD3B;AAEpBb,QAAAA,eAAe,EAAEN,QAAQ,IAAIA,QAAQ,CAAC7B,QAArB,IAAiCC,MAAM,CAAC4B,QAAQ,CAACmB,KAAV,CAFpC;AAGpBZ,QAAAA,aAAa,EAAEL,MAAM,IAAIA,MAAM,CAAC/B,QAAjB,IAA6BC,MAAM,CAAC8B,MAAM,CAACiB,KAAR,CAH9B;AAIpBX,QAAAA,WAAW,EAAEP,IAAI,IAAIA,IAAI,CAAC9B,QAAb,IAAyBC,MAAM,CAAC6B,IAAI,CAACkB,KAAN;AAJxB,OAAtB;AAOA,UAAMC,eAAe,GAAG;AACtBhB,QAAAA,0BAA0B,EACxBN,mBAAmB,IAAIA,mBAAmB,CAAC3B,QAA3C,IAAuDC,MAAM,CAAC0B,mBAAmB,CAACqB,KAArB,CAFzC;AAGtB,4BAAoB3B,QAAQ,IAAIA,QAAQ,CAACrB,QAArB,IAAiCC,MAAM,CAACoB,QAAQ,CAAC2B,KAAV,EAAiB,IAAjB,CAHrC;AAItB3B,QAAAA,QAAQ,EACNA,QAAQ,IAAIA,QAAQ,CAACrB,QAArB,IAAiCqB,QAAQ,CAAC6B,OAA1C,IAAqDhD,QAAQ,CAACoB,eAAe,CAAC0B,KAAjB,EAAwB1B,eAAe,CAAC6B,OAAxC;AALzC,OAAxB;;AAQA,UAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,mBAAD,EAAyB;AAC9C,+CACK3B,sBADL,GAEK2B,mBAFL;AAID,OALD;;AAOA,0BACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,QAAA,YAAY,EAAEjC,qBADhB;AAEE,QAAA,QAAQ,eACN,gCAAC,KAAD;AACE,UAAA,KAAK,EAAEZ,KADT;AAEE,UAAA,aAAa,EAAEQ,aAFjB;AAGE,UAAA,aAAa,EAAE,uBAACR,KAAD;AAAA,mBAAWC,cAAc,CAACD,KAAD,CAAzB;AAAA,WAHjB;AAIE,UAAA,qBAAqB,EAAE,+BAAC8C,MAAD;AAAA,mBAAYpC,sBAAsB,CAACoC,MAAD,CAAlC;AAAA,WAJzB;AAKE,UAAA,MAAM,EAAE;AACNC,YAAAA,QAAQ,EAAER,aADJ;AAENS,YAAAA,UAAU,EAAEP;AAFN;AALV;AAHJ,SAeGhB,0BAA0B,iBACzB,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEN,mBAAmB,CAACqB,KAA3C;AAAkD,QAAA,SAAS,EAAEjC,OAAO,CAAC0C;AAArE,sBACE,gCAAC,0BAAD;AACE,QAAA,aAAa,EAAEC,yBADjB;AAEE,QAAA,MAAM,EAAEhD,QAAQ,CAAC,CAAD,CAAR,CAAYiB,mBAAZ,IAAmC,EAF7C;AAGE,QAAA,QAAQ,EAAE,kBAACrB,KAAD;AAAA,iBAAW,MAAI,CAACqD,YAAL,CAAkB,qBAAlB,EAAyCrD,KAAzC,CAAX;AAAA,SAHZ;AAIE,QAAA,QAAQ,EAAE,KAJZ;AAKE,QAAA,KAAK,EAAEiC,wBALT;AAME,QAAA,aAAa,EAAGhB,aAAa,IAAIA,aAAa,CAACI,mBAAhC,IAAwDiB,oBANzE;AAOE,QAAA,cAAc,EAAGpB,cAAc,IAAIA,cAAc,CAACG,mBAAlC,IAA0DmB,qBAP5E;AAQE,QAAA,aAAa,EAAErB,aARjB;AASE,QAAA,uBAAuB,EAAE,CAAC;AAAEJ,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAT3B;AAUE,QAAA,WAAW,EAAE+B,cAAc,CAACzB,mBAAD,aAACA,mBAAD,uBAACA,mBAAmB,CAAEiC,kBAAtB;AAV7B,QADF,EAaGrB,wBAAwB,iBAAI;AAAK,QAAA,SAAS,EAAExB,OAAO,CAAC8C;AAAxB,SAAoCtB,wBAApC,CAb/B,CAhBJ,EAiCGL,YAAY,iBACX,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEN,KAAK,CAACoB,KAA7B;AAAoC,QAAA,SAAS,EAAEjC,OAAO,CAAC0C;AAAvD,sBACE,gCAAC,0BAAD;AACE,QAAA,aAAa,EAAEC,yBADjB;AAEE,QAAA,MAAM,EAAEhD,QAAQ,CAAC,CAAD,CAAR,CAAYkB,KAAZ,IAAqB,EAF/B;AAGE,QAAA,QAAQ,EAAE,kBAACtB,KAAD;AAAA,iBAAW,MAAI,CAACqD,YAAL,CAAkB,OAAlB,EAA2BrD,KAA3B,CAAX;AAAA,SAHZ;AAIE,QAAA,QAAQ,EAAE,KAJZ;AAKE,QAAA,KAAK,EAAEkC,UALT;AAME,QAAA,aAAa,EAAEf,aANjB;AAOE,QAAA,uBAAuB,EAAE,CAAC;AAAEJ,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAP3B;AAQE,QAAA,WAAW,EAAE+B,cAAc,CAACxB,KAAD,aAACA,KAAD,uBAACA,KAAK,CAAEgC,kBAAR;AAR7B,QADF,EAWGpB,UAAU,iBAAI;AAAK,QAAA,SAAS,EAAEzB,OAAO,CAAC8C;AAAxB,SAAoCrB,UAApC,CAXjB,CAlCJ,EAiDGL,eAAe,iBACd,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEN,QAAQ,CAACmB,KAAhC;AAAuC,QAAA,SAAS,EAAEjC,OAAO,CAAC0C;AAA1D,sBACE,gCAAC,0BAAD;AACE,QAAA,aAAa,EAAEC,yBADjB;AAEE,QAAA,MAAM,EAAEhD,QAAQ,CAAC,CAAD,CAAR,CAAYmB,QAAZ,IAAwB,EAFlC;AAGE,QAAA,QAAQ,EAAE,kBAACvB,KAAD;AAAA,iBAAW,MAAI,CAACqD,YAAL,CAAkB,UAAlB,EAA8BrD,KAA9B,CAAX;AAAA,SAHZ;AAIE,QAAA,QAAQ,EAAE,KAJZ;AAKE,QAAA,KAAK,EAAEmC,aALT;AAME,QAAA,aAAa,EAAEhB,aANjB;AAOE,QAAA,uBAAuB,EAAE,CAAC;AAAEJ,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAP3B;AAQE,QAAA,WAAW,EAAE+B,cAAc,CAACvB,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAE+B,kBAAX;AAR7B,QADF,EAWGnB,aAAa,iBAAI;AAAK,QAAA,SAAS,EAAE1B,OAAO,CAAC8C;AAAxB,SAAoCpB,aAApC,CAXpB,CAlDJ,EAiEGL,aAAa,iBACZ,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEL,MAAM,CAACiB,KAA9B;AAAqC,QAAA,SAAS,EAAEjC,OAAO,CAAC0C;AAAxD,sBACE,gCAAC,0BAAD;AACE,QAAA,aAAa,EAAEC,yBADjB;AAEE,QAAA,MAAM,EAAEhD,QAAQ,CAAC,CAAD,CAAR,CAAYqB,MAAZ,IAAsB,EAFhC;AAGE,QAAA,QAAQ,EAAE,kBAACzB,KAAD;AAAA,iBAAW,MAAI,CAACqD,YAAL,CAAkB,QAAlB,EAA4BrD,KAA5B,CAAX;AAAA,SAHZ;AAIE,QAAA,QAAQ,EAAE,KAJZ;AAKE,QAAA,KAAK,EAAEoC,WALT;AAME,QAAA,aAAa,EAAEjB,aANjB;AAOE,QAAA,uBAAuB,EAAE,CAAC;AAAEJ,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAP3B;AAQE,QAAA,WAAW,EAAE+B,cAAc,CAACrB,MAAD,aAACA,MAAD,uBAACA,MAAM,CAAE6B,kBAAT;AAR7B,QADF,EAWGlB,WAAW,iBAAI;AAAK,QAAA,SAAS,EAAE3B,OAAO,CAAC8C;AAAxB,SAAoCnB,WAApC,CAXlB,CAlEJ,EAiFGL,WAAW,iBACV,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEP,IAAI,CAACkB,KAA5B;AAAmC,QAAA,SAAS,EAAEjC,OAAO,CAAC0C;AAAtD,sBACE,gCAAC,0BAAD;AACE,QAAA,aAAa,EAAEC,yBADjB;AAEE,QAAA,MAAM,EAAEhD,QAAQ,CAAC,CAAD,CAAR,CAAYoB,IAAZ,IAAoB,EAF9B;AAGE,QAAA,QAAQ,EAAE,kBAACxB,KAAD;AAAA,iBAAW,MAAI,CAACqD,YAAL,CAAkB,MAAlB,EAA0BrD,KAA1B,CAAX;AAAA,SAHZ;AAIE,QAAA,YAAY,EAAEW,YAJhB;AAKE,QAAA,kBAAkB,EAAEE,kBALtB;AAME,QAAA,QAAQ,EAAE,KANZ;AAOE,QAAA,KAAK,EAAEwB,SAPT;AAQE,QAAA,aAAa,EAAGpB,aAAa,IAAIA,aAAa,CAACO,IAAhC,IAAyCc,oBAR1D;AASE,QAAA,cAAc,EAAGpB,cAAc,IAAIA,cAAc,CAACM,IAAlC,IAA2CgB,qBAT7D;AAUE,QAAA,aAAa,EAAErB,aAVjB;AAWE,QAAA,uBAAuB,EAAE,CAAC;AAAEJ,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAX3B;AAYE,QAAA,WAAW,EAAE+B,cAAc,CAACtB,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAE8B,kBAAP;AAZ7B,QADF,EAeGjB,SAAS,iBAAI;AAAK,QAAA,SAAS,EAAE5B,OAAO,CAAC8C;AAAxB,SAAoClB,SAApC,CAfhB,CAlFJ,CADF;AAuGD;;;EAjMuBmB,kBAAMC,S;;;iCAAnB5D,I,eACQ;AACjBM,EAAAA,cAAc,EAAEuD,sBAAUC,IAAV,CAAeC,UADd;AAEjBhD,EAAAA,sBAAsB,EAAE8C,sBAAUC,IAFjB;AAGjBzD,EAAAA,KAAK,EAAEwD,sBAAUG,MAAV,CAAiBD,UAHP;AAIjBlD,EAAAA,aAAa,EAAEgD,sBAAUG,MAAV,CAAiBD,UAJf;AAKjBjD,EAAAA,YAAY,EAAE+C,sBAAUG,MAAV,CAAiBD,UALd;AAMjB/C,EAAAA,kBAAkB,EAAE6C,sBAAUG,MAAV,CAAiBD,UANpB;AAOjBnD,EAAAA,OAAO,EAAEiD,sBAAUG,MAAV,CAAiBD;AAPT,C;;eAkMN,wBAAW,UAACE,KAAD;AAAA,SAAY;AACpCX,IAAAA,cAAc,EAAE;AACdY,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CADnB;AAEdC,MAAAA,YAAY,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAFrB;AAGdE,MAAAA,KAAK,EAAE;AAHO,KADoB;AAMpCZ,IAAAA,SAAS,EAAE;AACTa,MAAAA,QAAQ,EAAEN,KAAK,CAACO,UAAN,CAAiBD,QAAjB,GAA4B,CAD7B;AAETE,MAAAA,KAAK,EAAER,KAAK,CAACS,OAAN,CAAcC,KAAd,CAAoBC,IAFlB;AAGTV,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC;AAHjB;AANyB,GAAZ;AAAA,CAAX,EAWXpE,IAXW,C","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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/passage-configure",
3
3
  "private": true,
4
- "version": "1.6.4",
4
+ "version": "1.6.5",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.4.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-controller@1.4.1...@pie-element/passage-controller@1.4.2) (2024-09-11)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **passage:** fix validation and update controller default values PD-4068 PD-4006 ([c4976b6](https://github.com/pie-framework/pie-elements/commit/c4976b664a441b225f5ebe47273a5a309cdfa9f7))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [1.4.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/passage-controller@1.4.0...@pie-element/passage-controller@1.4.1) (2024-09-05)
7
18
 
8
19
 
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = void 0;
7
7
  var _default = {
8
8
  teacherInstructionsEnabled: true,
9
- titleEnabled: true,
10
- subtitleEnabled: true,
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","textEnabled","authorEnabled","passages","teacherInstructions","title","subtitle","author","text"],"mappings":";;;;;;eAAe;AACbA,EAAAA,0BAA0B,EAAE,IADf;AAEbC,EAAAA,YAAY,EAAE,IAFD;AAGbC,EAAAA,eAAe,EAAE,IAHJ;AAIbC,EAAAA,WAAW,EAAE,IAJA;AAKbC,EAAAA,aAAa,EAAE,IALF;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: true,\n subtitleEnabled: true,\n textEnabled: true,\n authorEnabled: true,\n passages: [\n {\n teacherInstructions: '',\n title: '',\n subtitle: '',\n author: '',\n text: '',\n },\n ],\n};\n"],"file":"defaults.js"}
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"}
@@ -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.titles || "Passage ".concat(index + 1),
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
- ['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach(function (field) {
100
- var _config$field;
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 ((_config$field = config[field]) !== null && _config$field !== void 0 && _config$field.required && !getContent(model[field])) {
103
- errors[field] = 'This field is required.';
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","titles","title","titleEnabled","subtitle","subtitleEnabled","author","authorEnabled","text","textEnabled","validate","config","errors","forEach","field","required"],"mappings":"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","sourcesContent":["import 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: passage.titles || `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\n ['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n return errors;\n};\n"],"file":"index.js"}
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"}
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "@pie-element/passage-controller",
3
3
  "private": true,
4
- "version": "1.4.1",
4
+ "version": "1.4.2",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "author": "",
9
- "license": "ISC"
9
+ "license": "ISC",
10
+ "dependencies": {
11
+ "lodash": "^4.17.15"
12
+ }
10
13
  }
package/lib/print.js CHANGED
@@ -39,15 +39,17 @@ var log = (0, _debug["default"])('pie-element:passage:print');
39
39
 
40
40
  var preparePrintPassage = function preparePrintPassage(model, opts) {
41
41
  var isInstructor = opts.role === 'instructor';
42
+ var teacherInstructionsEnabled = model.teacherInstructionsEnabled || model.teacherInstructionsEnabled === undefined || model.teacherInstructionsEnabled === null;
43
+ var textEnabled = model.textEnabled || model.textEnabled === undefined || model.textEnabled === null;
42
44
  return model.passages.map(function (passage, index) {
43
45
  return {
44
46
  id: index,
45
- teacherInstructions: model.teacherInstructionsEnabled ? isInstructor && passage.teacherInstructions || '' : '',
47
+ teacherInstructions: teacherInstructionsEnabled ? isInstructor && passage.teacherInstructions || '' : '',
46
48
  label: passage.title || "Passage ".concat(index + 1),
47
49
  title: model.titleEnabled ? passage.title || '' : '',
48
50
  author: model.authorEnabled ? passage.author || '' : '',
49
51
  subtitle: model.subtitleEnabled ? passage.subtitle || '' : '',
50
- text: model.textEnabled ? passage.text || '' : ''
52
+ text: textEnabled ? passage.text || '' : ''
51
53
  };
52
54
  });
53
55
  };
package/lib/print.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintPassage","model","opts","isInstructor","role","passages","map","passage","index","id","teacherInstructions","teacherInstructionsEnabled","label","title","titleEnabled","author","authorEnabled","subtitle","subtitleEnabled","text","textEnabled","PassagePrint","_model","_options","_session","_rerender","length","printPassage","element","React","createElement","StimulusTabs","disabledTabs","tabs","ReactDOM","render","leading","trailing","s","o","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,2BAAN,CAAZ;;AAEA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AAC3C,MAAMC,YAAY,GAAGD,IAAI,CAACE,IAAL,KAAc,YAAnC;AAEA,SAAOH,KAAK,CAACI,QAAN,CAAeC,GAAf,CAAmB,UAACC,OAAD,EAAUC,KAAV;AAAA,WAAqB;AAC7CC,MAAAA,EAAE,EAAED,KADyC;AAE7CE,MAAAA,mBAAmB,EAAET,KAAK,CAACU,0BAAN,GAAoCR,YAAY,IAAII,OAAO,CAACG,mBAAzB,IAAiD,EAApF,GAAyF,EAFjE;AAG7CE,MAAAA,KAAK,EAAEL,OAAO,CAACM,KAAR,sBAA4BL,KAAK,GAAG,CAApC,CAHsC;AAI7CK,MAAAA,KAAK,EAAEZ,KAAK,CAACa,YAAN,GAAqBP,OAAO,CAACM,KAAR,IAAiB,EAAtC,GAA2C,EAJL;AAK7CE,MAAAA,MAAM,EAAEd,KAAK,CAACe,aAAN,GAAsBT,OAAO,CAACQ,MAAR,IAAkB,EAAxC,GAA6C,EALR;AAM7CE,MAAAA,QAAQ,EAAEhB,KAAK,CAACiB,eAAN,GAAwBX,OAAO,CAACU,QAAR,IAAoB,EAA5C,GAAiD,EANd;AAO7CE,MAAAA,IAAI,EAAElB,KAAK,CAACmB,WAAN,GAAoBb,OAAO,CAACY,IAAR,IAAgB,EAApC,GAAyC;AAPF,KAArB;AAAA,GAAnB,CAAP;AASD,CAZD;;IAcqBE,Y;;;;;AACnB,0BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,QAAL,GAAgB,EAAhB;AAEA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKH,MAAL,IAAe,MAAKE,QAAxB,EAAkC;AAChC,YAAI,MAAKF,MAAL,CAAYjB,QAAZ,IAAwB,MAAKiB,MAAL,CAAYjB,QAAZ,CAAqBqB,MAArB,GAA8B,CAA1D,EAA6D;AAC3D,cAAMC,YAAY,GAAG3B,mBAAmB,CAAC,MAAKsB,MAAN,EAAc,MAAKC,QAAnB,CAAxC;;AAEA,cAAMK,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,wBAApB,EAAkC;AAChDC,YAAAA,YAAY,EAAE,IADkC;AAEhDC,YAAAA,IAAI,EAAEN;AAF0C,WAAlC,CAAhB;;AAKAO,+BAASC,MAAT,CAAgBP,OAAhB;AACD;AACF,OAXD,MAWO;AACL7B,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAhBc,EAiBf,EAjBe,EAkBf;AAAEqC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KAlBe,CAAjB;AANY;AA0Bb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKhB,MAAL,GAAcgB,CAAd;;AACA,WAAKb,SAAL;AACD;;;SAED,aAAYc,CAAZ,EAAe;AACb,WAAKhB,QAAL,GAAgBgB,CAAhB;AACD;;;WAED,6BAAoB,CAAE;;;kDAtCkBC,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport debug from 'debug';\n\nimport StimulusTabs from './stimulus-tabs';\n\nconst log = debug('pie-element:passage:print');\n\nconst preparePrintPassage = (model, opts) => {\n const isInstructor = opts.role === 'instructor';\n\n return model.passages.map((passage, index) => ({\n id: index,\n teacherInstructions: model.teacherInstructionsEnabled ? (isInstructor && passage.teacherInstructions) || '' : '',\n label: passage.title || `Passage ${index + 1}`,\n title: model.titleEnabled ? passage.title || '' : '',\n author: model.authorEnabled ? passage.author || '' : '',\n subtitle: model.subtitleEnabled ? passage.subtitle || '' : '',\n text: model.textEnabled ? passage.text || '' : '',\n }));\n};\n\nexport default class PassagePrint extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._options = null;\n this._session = [];\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n if (this._model.passages && this._model.passages.length > 0) {\n const printPassage = preparePrintPassage(this._model, this._options);\n\n const element = React.createElement(StimulusTabs, {\n disabledTabs: true,\n tabs: printPassage,\n });\n\n ReactDOM.render(element, this);\n }\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n set options(o) {\n this._options = o;\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
1
+ {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintPassage","model","opts","isInstructor","role","teacherInstructionsEnabled","undefined","textEnabled","passages","map","passage","index","id","teacherInstructions","label","title","titleEnabled","author","authorEnabled","subtitle","subtitleEnabled","text","PassagePrint","_model","_options","_session","_rerender","length","printPassage","element","React","createElement","StimulusTabs","disabledTabs","tabs","ReactDOM","render","leading","trailing","s","o","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,2BAAN,CAAZ;;AAEA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AAC3C,MAAMC,YAAY,GAAGD,IAAI,CAACE,IAAL,KAAc,YAAnC;AACA,MAAMC,0BAA0B,GAAGJ,KAAK,CAACI,0BAAN,IAAoCJ,KAAK,CAACI,0BAAN,KAAqCC,SAAzE,IAAsFL,KAAK,CAACI,0BAAN,KAAqC,IAA9J;AACA,MAAME,WAAW,GAAGN,KAAK,CAACM,WAAN,IAAqBN,KAAK,CAACM,WAAN,KAAsBD,SAA3C,IAAwDL,KAAK,CAACM,WAAN,KAAsB,IAAlG;AAEA,SAAON,KAAK,CAACO,QAAN,CAAeC,GAAf,CAAmB,UAACC,OAAD,EAAUC,KAAV;AAAA,WAAqB;AAC7CC,MAAAA,EAAE,EAAED,KADyC;AAE7CE,MAAAA,mBAAmB,EAAER,0BAA0B,GAAIF,YAAY,IAAIO,OAAO,CAACG,mBAAzB,IAAiD,EAApD,GAAyD,EAF3D;AAG7CC,MAAAA,KAAK,EAAEJ,OAAO,CAACK,KAAR,sBAA4BJ,KAAK,GAAG,CAApC,CAHsC;AAI7CI,MAAAA,KAAK,EAAEd,KAAK,CAACe,YAAN,GAAqBN,OAAO,CAACK,KAAR,IAAiB,EAAtC,GAA2C,EAJL;AAK7CE,MAAAA,MAAM,EAAEhB,KAAK,CAACiB,aAAN,GAAsBR,OAAO,CAACO,MAAR,IAAkB,EAAxC,GAA6C,EALR;AAM7CE,MAAAA,QAAQ,EAAElB,KAAK,CAACmB,eAAN,GAAwBV,OAAO,CAACS,QAAR,IAAoB,EAA5C,GAAiD,EANd;AAO7CE,MAAAA,IAAI,EAAEd,WAAW,GAAGG,OAAO,CAACW,IAAR,IAAgB,EAAnB,GAAwB;AAPI,KAArB;AAAA,GAAnB,CAAP;AASD,CAdD;;IAgBqBC,Y;;;;;AACnB,0BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,QAAL,GAAgB,EAAhB;AAEA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKH,MAAL,IAAe,MAAKE,QAAxB,EAAkC;AAChC,YAAI,MAAKF,MAAL,CAAYf,QAAZ,IAAwB,MAAKe,MAAL,CAAYf,QAAZ,CAAqBmB,MAArB,GAA8B,CAA1D,EAA6D;AAC3D,cAAMC,YAAY,GAAG5B,mBAAmB,CAAC,MAAKuB,MAAN,EAAc,MAAKC,QAAnB,CAAxC;;AAEA,cAAMK,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,wBAApB,EAAkC;AAChDC,YAAAA,YAAY,EAAE,IADkC;AAEhDC,YAAAA,IAAI,EAAEN;AAF0C,WAAlC,CAAhB;;AAKAO,+BAASC,MAAT,CAAgBP,OAAhB;AACD;AACF,OAXD,MAWO;AACL9B,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAhBc,EAiBf,EAjBe,EAkBf;AAAEsC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KAlBe,CAAjB;AANY;AA0Bb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKhB,MAAL,GAAcgB,CAAd;;AACA,WAAKb,SAAL;AACD;;;SAED,aAAYc,CAAZ,EAAe;AACb,WAAKhB,QAAL,GAAgBgB,CAAhB;AACD;;;WAED,6BAAoB,CAAE;;;kDAtCkBC,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport debug from 'debug';\n\nimport StimulusTabs from './stimulus-tabs';\n\nconst log = debug('pie-element:passage:print');\n\nconst preparePrintPassage = (model, opts) => {\n const isInstructor = opts.role === 'instructor';\n const teacherInstructionsEnabled = model.teacherInstructionsEnabled || model.teacherInstructionsEnabled === undefined || model.teacherInstructionsEnabled === null;\n const textEnabled = model.textEnabled || model.textEnabled === undefined || model.textEnabled === null;\n\n return model.passages.map((passage, index) => ({\n id: index,\n teacherInstructions: teacherInstructionsEnabled ? (isInstructor && passage.teacherInstructions) || '' : '',\n label: passage.title || `Passage ${index + 1}`,\n title: model.titleEnabled ? passage.title || '' : '',\n author: model.authorEnabled ? passage.author || '' : '',\n subtitle: model.subtitleEnabled ? passage.subtitle || '' : '',\n text: textEnabled ? passage.text || '' : '',\n }));\n};\n\nexport default class PassagePrint extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._options = null;\n this._session = [];\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n if (this._model.passages && this._model.passages.length > 0) {\n const printPassage = preparePrintPassage(this._model, this._options);\n\n const element = React.createElement(StimulusTabs, {\n disabledTabs: true,\n tabs: printPassage,\n });\n\n ReactDOM.render(element, this);\n }\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n set options(o) {\n this._options = o;\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}