@pie-element/passage 5.3.4-next.3 → 6.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/configure/CHANGELOG.md +0 -11
  3. package/configure/lib/common.js +58 -85
  4. package/configure/lib/common.js.map +1 -1
  5. package/configure/lib/defaults.js +2 -3
  6. package/configure/lib/defaults.js.map +1 -1
  7. package/configure/lib/design.js +147 -223
  8. package/configure/lib/design.js.map +1 -1
  9. package/configure/lib/index.js +71 -123
  10. package/configure/lib/index.js.map +1 -1
  11. package/configure/lib/passage.js +172 -261
  12. package/configure/lib/passage.js.map +1 -1
  13. package/configure/package.json +9 -6
  14. package/controller/lib/defaults.js +2 -3
  15. package/controller/lib/defaults.js.map +1 -1
  16. package/controller/lib/index.js +41 -94
  17. package/controller/lib/index.js.map +1 -1
  18. package/controller/package.json +1 -1
  19. package/lib/index.js +53 -103
  20. package/lib/index.js.map +1 -1
  21. package/lib/print.js +53 -99
  22. package/lib/print.js.map +1 -1
  23. package/lib/stimulus-tabs.js +174 -274
  24. package/lib/stimulus-tabs.js.map +1 -1
  25. package/package.json +11 -17
  26. package/esm/configure.js +0 -16045
  27. package/esm/configure.js.map +0 -1
  28. package/esm/controller.js +0 -1083
  29. package/esm/controller.js.map +0 -1
  30. package/esm/element.js +0 -13653
  31. package/esm/element.js.map +0 -1
  32. package/esm/package.json +0 -3
  33. package/esm/print.js +0 -14897
  34. package/esm/print.js.map +0 -1
  35. package/module/configure.js +0 -1
  36. package/module/controller.js +0 -1068
  37. package/module/demo.js +0 -57
  38. package/module/element.js +0 -1
  39. package/module/index.html +0 -21
  40. package/module/manifest.json +0 -10
  41. package/module/print-demo.js +0 -95
  42. package/module/print.html +0 -18
  43. package/module/print.js +0 -1
@@ -1,261 +1,185 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = exports.Main = void 0;
9
-
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
7
+ exports.default = exports.Main = void 0;
24
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
9
  var _react = _interopRequireDefault(require("react"));
27
-
28
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
11
  var _configUi = require("@pie-lib/config-ui");
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
34
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
35
-
12
+ var _styles = require("@mui/material/styles");
13
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
36
14
  var _common = require("./common");
37
-
38
15
  var _passage = _interopRequireDefault(require("./passage"));
39
-
40
- 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; }
41
-
42
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
-
44
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
45
-
46
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
-
48
- var Panel = _configUi.settings.Panel,
49
- toggle = _configUi.settings.toggle,
50
- dropdown = _configUi.settings.dropdown;
51
-
52
- var Main = /*#__PURE__*/function (_React$Component) {
53
- (0, _inherits2["default"])(Main, _React$Component);
54
-
55
- var _super = _createSuper(Main);
56
-
57
- function Main(props) {
58
- var _this;
59
-
60
- (0, _classCallCheck2["default"])(this, Main);
61
- _this = _super.call(this, props);
62
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getInnerText", function (html) {
63
- return (html || '').replaceAll(/<[^>]*>/g, '');
64
- });
65
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDelete", function (model, indexToRemove, onModelChanged) {
66
- var updatedPassages = model.passages;
16
+ const {
17
+ Panel,
18
+ toggle,
19
+ dropdown
20
+ } = _configUi.settings;
21
+ const AdditionalPassageHeading = (0, _styles.styled)(_Typography.default)(({
22
+ theme
23
+ }) => ({
24
+ paddingTop: theme.spacing(2),
25
+ marginBottom: theme.spacing(2)
26
+ }));
27
+ class Main extends _react.default.Component {
28
+ constructor(props) {
29
+ super(props);
30
+ (0, _defineProperty2.default)(this, "getInnerText", html => (html || '').replaceAll(/<[^>]*>/g, ''));
31
+ (0, _defineProperty2.default)(this, "onDelete", (model, indexToRemove, onModelChanged) => {
32
+ let updatedPassages = model.passages;
67
33
  updatedPassages.splice(indexToRemove, 1);
68
- onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
34
+ onModelChanged({
35
+ ...model,
69
36
  passages: updatedPassages
70
- }));
71
-
72
- _this.setState({
37
+ });
38
+ this.setState({
73
39
  showConfirmationDialog: false,
74
40
  indexToRemove: -1
75
41
  });
76
42
  });
77
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "removeAdditionalPassage", function (indexToRemove) {
78
- var _this$props = _this.props,
79
- _this$props$model = _this$props.model,
80
- model = _this$props$model === void 0 ? {} : _this$props$model,
81
- onModelChanged = _this$props.onModelChanged;
82
- var _model$passages = model.passages,
83
- passages = _model$passages === void 0 ? [] : _model$passages;
84
- var _passages$indexToRemo = passages[indexToRemove],
85
- _passages$indexToRemo2 = _passages$indexToRemo.teacherInstructions,
86
- teacherInstructions = _passages$indexToRemo2 === void 0 ? '' : _passages$indexToRemo2,
87
- _passages$indexToRemo3 = _passages$indexToRemo.title,
88
- title = _passages$indexToRemo3 === void 0 ? '' : _passages$indexToRemo3,
89
- _passages$indexToRemo4 = _passages$indexToRemo.subtitle,
90
- subtitle = _passages$indexToRemo4 === void 0 ? '' : _passages$indexToRemo4,
91
- _passages$indexToRemo5 = _passages$indexToRemo.author,
92
- author = _passages$indexToRemo5 === void 0 ? '' : _passages$indexToRemo5,
93
- _passages$indexToRemo6 = _passages$indexToRemo.text,
94
- text = _passages$indexToRemo6 === void 0 ? '' : _passages$indexToRemo6;
95
-
96
- if (_this.getInnerText(teacherInstructions).trim() || _this.getInnerText(title).trim() || _this.getInnerText(subtitle).trim() || _this.getInnerText(author).trim() || _this.getInnerText(text).trim()) {
97
- _this.setState({
43
+ (0, _defineProperty2.default)(this, "removeAdditionalPassage", indexToRemove => {
44
+ const {
45
+ model = {},
46
+ onModelChanged
47
+ } = this.props;
48
+ const {
49
+ passages = []
50
+ } = model;
51
+ const {
52
+ teacherInstructions = '',
53
+ title = '',
54
+ subtitle = '',
55
+ author = '',
56
+ text = ''
57
+ } = passages[indexToRemove];
58
+ if (this.getInnerText(teacherInstructions).trim() || this.getInnerText(title).trim() || this.getInnerText(subtitle).trim() || this.getInnerText(author).trim() || this.getInnerText(text).trim()) {
59
+ this.setState({
98
60
  showConfirmationDialog: true,
99
- indexToRemove: indexToRemove
61
+ indexToRemove
100
62
  });
101
63
  } else {
102
- _this.onDelete(model, indexToRemove, onModelChanged);
64
+ this.onDelete(model, indexToRemove, onModelChanged);
103
65
  }
104
66
  });
105
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "addAdditionalPassage", function () {
106
- var _this$props2 = _this.props,
107
- model = _this$props2.model,
108
- onModelChanged = _this$props2.onModelChanged;
109
- var updatedPassages = [].concat((0, _toConsumableArray2["default"])(model.passages), [{
67
+ (0, _defineProperty2.default)(this, "addAdditionalPassage", () => {
68
+ const {
69
+ model,
70
+ onModelChanged
71
+ } = this.props;
72
+ const updatedPassages = [...model.passages, {
110
73
  teacherInstructions: '',
111
74
  title: '',
112
75
  subtitle: '',
113
76
  author: '',
114
77
  text: ''
115
- }]);
116
- onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
78
+ }];
79
+ onModelChanged({
80
+ ...model,
117
81
  passages: updatedPassages
118
- }));
82
+ });
119
83
  });
120
- _this.state = {
84
+ this.state = {
121
85
  showConfirmationDialog: false,
122
86
  indexToRemove: -1
123
87
  };
124
- return _this;
125
88
  }
126
-
127
- (0, _createClass2["default"])(Main, [{
128
- key: "render",
129
- value: function render() {
130
- var _this2 = this;
131
-
132
- var _this$props3 = this.props,
133
- classes = _this$props3.classes,
134
- model = _this$props3.model,
135
- configuration = _this$props3.configuration,
136
- imageSupport = _this$props3.imageSupport,
137
- onConfigurationChanged = _this$props3.onConfigurationChanged,
138
- onModelChanged = _this$props3.onModelChanged,
139
- uploadSoundSupport = _this$props3.uploadSoundSupport;
140
-
141
- var _ref = configuration || {},
142
- settingsPanelDisabled = _ref.settingsPanelDisabled,
143
- _ref$language = _ref.language,
144
- language = _ref$language === void 0 ? {} : _ref$language,
145
- _ref$languageChoices = _ref.languageChoices,
146
- languageChoices = _ref$languageChoices === void 0 ? {} : _ref$languageChoices,
147
- _ref$teacherInstructi = _ref.teacherInstructions,
148
- teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
149
- _ref$title = _ref.title,
150
- title = _ref$title === void 0 ? {} : _ref$title,
151
- _ref$subtitle = _ref.subtitle,
152
- subtitle = _ref$subtitle === void 0 ? {} : _ref$subtitle,
153
- _ref$text = _ref.text,
154
- text = _ref$text === void 0 ? {} : _ref$text,
155
- _ref$author = _ref.author,
156
- author = _ref$author === void 0 ? {} : _ref$author,
157
- _ref$additionalPassag = _ref.additionalPassage,
158
- additionalPassage = _ref$additionalPassag === void 0 ? {} : _ref$additionalPassag;
159
-
160
- var _ref2 = model || {},
161
- extraCSSRules = _ref2.extraCSSRules,
162
- passages = _ref2.passages;
163
-
164
- var panelSettings = {
165
- titleEnabled: title && title.settings && toggle(title.label),
166
- subtitleEnabled: subtitle && subtitle.settings && toggle(subtitle.label),
167
- authorEnabled: author && author.settings && toggle(author.label),
168
- textEnabled: text && text.settings && toggle(text.label),
169
- 'additionalPassage.enabled': additionalPassage && additionalPassage.settings && toggle(additionalPassage.label, true)
170
- };
171
- var panelProperties = {
172
- teacherInstructionsEnabled: teacherInstructions && teacherInstructions.settings && toggle(teacherInstructions.label),
173
- 'language.enabled': language && language.settings && toggle(language.label, true),
174
- language: language && language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options)
175
- };
176
- var confirmationDialogContent = "".concat(additionalPassage.label, " will be deleted");
177
- var _this$state = this.state,
178
- indexToRemove = _this$state.indexToRemove,
179
- showConfirmationDialog = _this$state.showConfirmationDialog;
180
- return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
181
- extraCSSRules: extraCSSRules,
182
- hideSettings: settingsPanelDisabled,
183
- settings: /*#__PURE__*/_react["default"].createElement(Panel, {
184
- model: model,
185
- configuration: configuration,
186
- onChangeModel: function onChangeModel(model) {
187
- return onModelChanged(model);
188
- },
189
- onChangeConfiguration: function onChangeConfiguration(config) {
190
- return onConfigurationChanged(config);
191
- },
192
- groups: {
193
- Settings: panelSettings,
194
- Properties: panelProperties
195
- }
196
- })
197
- }, passages.map(function (passage, passageIndex) {
198
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
199
- key: passageIndex
200
- }, passageIndex > 0 && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
201
- variant: "h5",
202
- className: classes.additionalPassageHeading
203
- }, additionalPassage.label), /*#__PURE__*/_react["default"].createElement(_passage["default"], {
204
- imageSupport: imageSupport,
205
- uploadSoundSupport: uploadSoundSupport,
206
- model: model,
207
- configuration: configuration,
208
- passageIndex: passageIndex,
209
- onModelChanged: onModelChanged
210
- }), passageIndex > 0 && additionalPassage.enabled && /*#__PURE__*/_react["default"].createElement(_common.PassageButton, {
211
- type: 'remove',
212
- label: "Remove ".concat(additionalPassage.label),
213
- onClick: function onClick() {
214
- return _this2.removeAdditionalPassage(passageIndex);
215
- }
216
- }), passageIndex === 0 && additionalPassage.enabled && passages.length < 2 && /*#__PURE__*/_react["default"].createElement(_common.PassageButton, {
217
- label: "Add ".concat(additionalPassage.label),
218
- onClick: _this2.addAdditionalPassage
219
- }));
220
- }), /*#__PURE__*/_react["default"].createElement(_common.ConfimationDialog, {
221
- open: showConfirmationDialog,
222
- title: 'Warning',
223
- content: confirmationDialogContent,
224
- cancel: 'Cancel',
225
- ok: 'Ok',
226
- onCancel: function onCancel() {
227
- return _this2.setState({
228
- showConfirmationDialog: false
229
- });
230
- },
231
- onOk: function onOk() {
232
- return _this2.onDelete(model, indexToRemove, onModelChanged);
89
+ render() {
90
+ const {
91
+ model,
92
+ configuration,
93
+ imageSupport,
94
+ onConfigurationChanged,
95
+ onModelChanged,
96
+ uploadSoundSupport
97
+ } = this.props;
98
+ const {
99
+ settingsPanelDisabled,
100
+ language = {},
101
+ languageChoices = {},
102
+ teacherInstructions = {},
103
+ title = {},
104
+ subtitle = {},
105
+ text = {},
106
+ author = {},
107
+ additionalPassage = {}
108
+ } = configuration || {};
109
+ const {
110
+ extraCSSRules,
111
+ passages
112
+ } = model || {};
113
+ const panelSettings = {
114
+ titleEnabled: title && title.settings && toggle(title.label),
115
+ subtitleEnabled: subtitle && subtitle.settings && toggle(subtitle.label),
116
+ authorEnabled: author && author.settings && toggle(author.label),
117
+ textEnabled: text && text.settings && toggle(text.label),
118
+ 'additionalPassage.enabled': additionalPassage && additionalPassage.settings && toggle(additionalPassage.label, true)
119
+ };
120
+ const panelProperties = {
121
+ teacherInstructionsEnabled: teacherInstructions && teacherInstructions.settings && toggle(teacherInstructions.label),
122
+ 'language.enabled': language && language.settings && toggle(language.label, true),
123
+ language: language && language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options)
124
+ };
125
+ const confirmationDialogContent = `${additionalPassage.label} will be deleted`;
126
+ const {
127
+ indexToRemove,
128
+ showConfirmationDialog
129
+ } = this.state;
130
+ return /*#__PURE__*/_react.default.createElement(_configUi.layout.ConfigLayout, {
131
+ extraCSSRules: extraCSSRules,
132
+ hideSettings: settingsPanelDisabled,
133
+ settings: /*#__PURE__*/_react.default.createElement(Panel, {
134
+ model: model,
135
+ configuration: configuration,
136
+ onChangeModel: model => onModelChanged(model),
137
+ onChangeConfiguration: config => onConfigurationChanged(config),
138
+ groups: {
139
+ Settings: panelSettings,
140
+ Properties: panelProperties
233
141
  }
234
- }));
235
- }
236
- }]);
237
- return Main;
238
- }(_react["default"].Component);
239
-
142
+ })
143
+ }, passages.map((passage, passageIndex) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
144
+ key: passageIndex
145
+ }, passageIndex > 0 && /*#__PURE__*/_react.default.createElement(AdditionalPassageHeading, {
146
+ variant: "h5"
147
+ }, additionalPassage.label), /*#__PURE__*/_react.default.createElement(_passage.default, {
148
+ imageSupport: imageSupport,
149
+ uploadSoundSupport: uploadSoundSupport,
150
+ model: model,
151
+ configuration: configuration,
152
+ passageIndex: passageIndex,
153
+ onModelChanged: onModelChanged
154
+ }), passageIndex > 0 && additionalPassage.enabled && /*#__PURE__*/_react.default.createElement(_common.PassageButton, {
155
+ type: 'remove',
156
+ label: `Remove ${additionalPassage.label}`,
157
+ onClick: () => this.removeAdditionalPassage(passageIndex)
158
+ }), passageIndex === 0 && additionalPassage.enabled && passages.length < 2 && /*#__PURE__*/_react.default.createElement(_common.PassageButton, {
159
+ label: `Add ${additionalPassage.label}`,
160
+ onClick: this.addAdditionalPassage
161
+ }))), /*#__PURE__*/_react.default.createElement(_common.ConfirmationDialog, {
162
+ open: showConfirmationDialog,
163
+ title: 'Warning',
164
+ content: confirmationDialogContent,
165
+ cancel: 'Cancel',
166
+ ok: 'Ok',
167
+ onCancel: () => this.setState({
168
+ showConfirmationDialog: false
169
+ }),
170
+ onOk: () => this.onDelete(model, indexToRemove, onModelChanged)
171
+ }));
172
+ }
173
+ }
240
174
  exports.Main = Main;
241
- (0, _defineProperty2["default"])(Main, "propTypes", {
242
- onModelChanged: _propTypes["default"].func.isRequired,
243
- onConfigurationChanged: _propTypes["default"].func,
244
- model: _propTypes["default"].object.isRequired,
245
- configuration: _propTypes["default"].object.isRequired,
246
- imageSupport: _propTypes["default"].object.isRequired,
247
- uploadSoundSupport: _propTypes["default"].object.isRequired,
248
- classes: _propTypes["default"].object.isRequired
175
+ (0, _defineProperty2.default)(Main, "propTypes", {
176
+ onModelChanged: _propTypes.default.func.isRequired,
177
+ onConfigurationChanged: _propTypes.default.func,
178
+ model: _propTypes.default.object.isRequired,
179
+ configuration: _propTypes.default.object.isRequired,
180
+ imageSupport: _propTypes.default.object.isRequired,
181
+ uploadSoundSupport: _propTypes.default.object.isRequired,
182
+ classes: _propTypes.default.object.isRequired
249
183
  });
250
-
251
- var _default = (0, _styles.withStyles)(function (theme) {
252
- return {
253
- additionalPassageHeading: {
254
- paddingTop: theme.spacing.unit * 2,
255
- marginBottom: theme.spacing.unit * 2
256
- }
257
- };
258
- })(Main);
259
-
260
- exports["default"] = _default;
184
+ var _default = exports.default = Main;
261
185
  //# sourceMappingURL=design.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","dropdown","Main","props","html","replaceAll","model","indexToRemove","onModelChanged","updatedPassages","passages","splice","setState","showConfirmationDialog","teacherInstructions","title","subtitle","author","text","getInnerText","trim","onDelete","state","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","settingsPanelDisabled","language","languageChoices","additionalPassage","extraCSSRules","panelSettings","titleEnabled","label","subtitleEnabled","authorEnabled","textEnabled","panelProperties","teacherInstructionsEnabled","enabled","options","confirmationDialogContent","config","Settings","Properties","map","passage","passageIndex","additionalPassageHeading","removeAdditionalPassage","length","addAdditionalPassage","React","Component","PropTypes","func","isRequired","object","theme","paddingTop","spacing","unit","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { settings, layout } from '@pie-lib/config-ui';\n\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\n\nimport { ConfimationDialog, PassageButton } from './common';\nimport Passage from './passage';\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 = { showConfirmationDialog: false, indexToRemove: -1 };\n }\n\n getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n onDelete = (model, indexToRemove, onModelChanged) => {\n let updatedPassages = model.passages;\n updatedPassages.splice(indexToRemove, 1);\n onModelChanged({ ...model, passages: updatedPassages });\n\n this.setState({\n showConfirmationDialog: false,\n indexToRemove: -1,\n });\n };\n\n removeAdditionalPassage = (indexToRemove) => {\n const { model = {}, onModelChanged } = this.props;\n const { passages = [] } = model;\n\n const { teacherInstructions = '', title = '', subtitle = '', author = '', text = '' } = passages[indexToRemove];\n\n if (\n this.getInnerText(teacherInstructions).trim() ||\n this.getInnerText(title).trim() ||\n this.getInnerText(subtitle).trim() ||\n this.getInnerText(author).trim() ||\n this.getInnerText(text).trim()\n ) {\n this.setState({\n showConfirmationDialog: true,\n indexToRemove,\n });\n } else {\n this.onDelete(model, indexToRemove, onModelChanged);\n }\n };\n\n addAdditionalPassage = () => {\n const { model, onModelChanged } = this.props;\n\n const updatedPassages = [\n ...model.passages,\n {\n teacherInstructions: '',\n title: '',\n subtitle: '',\n author: '',\n text: '',\n },\n ];\n onModelChanged({ ...model, passages: updatedPassages });\n };\n\n render() {\n const { classes, model, configuration, imageSupport, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n settingsPanelDisabled,\n language = {},\n languageChoices = {},\n teacherInstructions = {},\n title = {},\n subtitle = {},\n text = {},\n author = {},\n additionalPassage = {},\n } = configuration || {};\n const { extraCSSRules, passages } = model || {};\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 'additionalPassage.enabled':\n additionalPassage && additionalPassage.settings && toggle(additionalPassage.label, true),\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 confirmationDialogContent = `${additionalPassage.label} will be deleted`;\n\n const { indexToRemove, showConfirmationDialog } = this.state;\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\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 {passages.map((passage, passageIndex) => (\n <React.Fragment key={passageIndex}>\n {passageIndex > 0 && (\n <Typography variant=\"h5\" className={classes.additionalPassageHeading}>\n {additionalPassage.label}\n </Typography>\n )}\n <Passage\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n model={model}\n configuration={configuration}\n passageIndex={passageIndex}\n onModelChanged={onModelChanged}\n />\n {passageIndex > 0 && additionalPassage.enabled && (\n <PassageButton\n type={'remove'}\n label={`Remove ${additionalPassage.label}`}\n onClick={() => this.removeAdditionalPassage(passageIndex)}\n />\n )}\n {passageIndex === 0 && additionalPassage.enabled && passages.length < 2 && (\n <PassageButton label={`Add ${additionalPassage.label}`} onClick={this.addAdditionalPassage} />\n )}\n </React.Fragment>\n ))}\n <ConfimationDialog\n open={showConfirmationDialog}\n title={'Warning'}\n content={confirmationDialogContent}\n cancel={'Cancel'}\n ok={'Ok'}\n onCancel={() =>\n this.setState({\n showConfirmationDialog: false,\n })\n }\n onOk={() => this.onDelete(model, indexToRemove, onModelChanged)}\n />\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles((theme) => ({\n additionalPassageHeading: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n}))(Main);\n"],"file":"design.js"}
1
+ {"version":3,"file":"design.js","names":["_react","_interopRequireDefault","require","_propTypes","_configUi","_styles","_Typography","_common","_passage","Panel","toggle","dropdown","settings","AdditionalPassageHeading","styled","Typography","theme","paddingTop","spacing","marginBottom","Main","React","Component","constructor","props","_defineProperty2","default","html","replaceAll","model","indexToRemove","onModelChanged","updatedPassages","passages","splice","setState","showConfirmationDialog","teacherInstructions","title","subtitle","author","text","getInnerText","trim","onDelete","state","render","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","settingsPanelDisabled","language","languageChoices","additionalPassage","extraCSSRules","panelSettings","titleEnabled","label","subtitleEnabled","authorEnabled","textEnabled","panelProperties","teacherInstructionsEnabled","enabled","options","confirmationDialogContent","createElement","layout","ConfigLayout","hideSettings","onChangeModel","onChangeConfiguration","config","groups","Settings","Properties","map","passage","passageIndex","Fragment","key","variant","PassageButton","type","onClick","removeAdditionalPassage","length","addAdditionalPassage","ConfirmationDialog","open","content","cancel","ok","onCancel","onOk","exports","PropTypes","func","isRequired","object","classes","_default"],"sources":["../src/design.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { settings, layout } from '@pie-lib/config-ui';\n\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nimport { ConfirmationDialog, PassageButton } from './common';\nimport Passage from './passage';\n\nconst { Panel, toggle, dropdown } = settings;\n\nconst AdditionalPassageHeading = styled(Typography)(({ theme }) => ({\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\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 = { showConfirmationDialog: false, indexToRemove: -1 };\n }\n\n getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n onDelete = (model, indexToRemove, onModelChanged) => {\n let updatedPassages = model.passages;\n updatedPassages.splice(indexToRemove, 1);\n onModelChanged({ ...model, passages: updatedPassages });\n\n this.setState({\n showConfirmationDialog: false,\n indexToRemove: -1,\n });\n };\n\n removeAdditionalPassage = (indexToRemove) => {\n const { model = {}, onModelChanged } = this.props;\n const { passages = [] } = model;\n\n const { teacherInstructions = '', title = '', subtitle = '', author = '', text = '' } = passages[indexToRemove];\n\n if (\n this.getInnerText(teacherInstructions).trim() ||\n this.getInnerText(title).trim() ||\n this.getInnerText(subtitle).trim() ||\n this.getInnerText(author).trim() ||\n this.getInnerText(text).trim()\n ) {\n this.setState({\n showConfirmationDialog: true,\n indexToRemove,\n });\n } else {\n this.onDelete(model, indexToRemove, onModelChanged);\n }\n };\n\n addAdditionalPassage = () => {\n const { model, onModelChanged } = this.props;\n\n const updatedPassages = [\n ...model.passages,\n {\n teacherInstructions: '',\n title: '',\n subtitle: '',\n author: '',\n text: '',\n },\n ];\n onModelChanged({ ...model, passages: updatedPassages });\n };\n\n render() {\n const { model, configuration, imageSupport, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n settingsPanelDisabled,\n language = {},\n languageChoices = {},\n teacherInstructions = {},\n title = {},\n subtitle = {},\n text = {},\n author = {},\n additionalPassage = {},\n } = configuration || {};\n const { extraCSSRules, passages } = model || {};\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 'additionalPassage.enabled':\n additionalPassage && additionalPassage.settings && toggle(additionalPassage.label, true),\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 confirmationDialogContent = `${additionalPassage.label} will be deleted`;\n\n const { indexToRemove, showConfirmationDialog } = this.state;\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\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 {passages.map((passage, passageIndex) => (\n <React.Fragment key={passageIndex}>\n {passageIndex > 0 && (\n <AdditionalPassageHeading variant=\"h5\">\n {additionalPassage.label}\n </AdditionalPassageHeading>\n )}\n <Passage\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n model={model}\n configuration={configuration}\n passageIndex={passageIndex}\n onModelChanged={onModelChanged}\n />\n {passageIndex > 0 && additionalPassage.enabled && (\n <PassageButton\n type={'remove'}\n label={`Remove ${additionalPassage.label}`}\n onClick={() => this.removeAdditionalPassage(passageIndex)}\n />\n )}\n {passageIndex === 0 && additionalPassage.enabled && passages.length < 2 && (\n <PassageButton label={`Add ${additionalPassage.label}`} onClick={this.addAdditionalPassage} />\n )}\n </React.Fragment>\n ))}\n <ConfirmationDialog\n open={showConfirmationDialog}\n title={'Warning'}\n content={confirmationDialogContent}\n cancel={'Cancel'}\n ok={'Ok'}\n onCancel={() =>\n this.setState({\n showConfirmationDialog: false,\n })\n }\n onOk={() => this.onDelete(model, indexToRemove, onModelChanged)}\n />\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":"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","ignoreList":[]}