@pie-element/match 7.0.1-next.5 → 7.1.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.
@@ -21,6 +21,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
21
21
 
22
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
23
 
24
+ var _utils = require("./utils");
25
+
24
26
  var _react = _interopRequireDefault(require("react"));
25
27
 
26
28
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -155,6 +157,8 @@ var Row = /*#__PURE__*/function (_React$Component) {
155
157
  model = _this$props4.model,
156
158
  row = _this$props4.row,
157
159
  idx = _this$props4.idx,
160
+ _this$props4$inputCon = _this$props4.inputConfiguration,
161
+ inputConfiguration = _this$props4$inputCon === void 0 ? {} : _this$props4$inputCon,
158
162
  enableImages = _this$props4.enableImages,
159
163
  toolbarOpts = _this$props4.toolbarOpts,
160
164
  spellCheck = _this$props4.spellCheck,
@@ -166,17 +170,6 @@ var Row = /*#__PURE__*/function (_React$Component) {
166
170
  mathMlOptions = _this$props4$mathMlOp === void 0 ? {} : _this$props4$mathMlOp;
167
171
  var dialog = this.state.dialog;
168
172
  var opacity = isDragging ? 0 : 1;
169
- var rowPlugins = {
170
- image: {
171
- disabled: !enableImages
172
- },
173
- audio: {
174
- disabled: true
175
- },
176
- video: {
177
- disabled: true
178
- }
179
- };
180
173
  var filteredDefaultPlugins = (_editableHtml.DEFAULT_PLUGINS || []).filter(function (p) {
181
174
  return p !== 'bulleted-list' && p !== 'numbered-list';
182
175
  });
@@ -204,7 +197,7 @@ var Row = /*#__PURE__*/function (_React$Component) {
204
197
  markup: row.title,
205
198
  onChange: this.onRowTitleChange(idx),
206
199
  className: classes.editor,
207
- pluginProps: rowPlugins,
200
+ pluginProps: inputConfiguration,
208
201
  toolbarOpts: toolbarOpts,
209
202
  activePlugins: filteredDefaultPlugins,
210
203
  spellCheck: spellCheck,
@@ -282,6 +275,7 @@ exports.Row = Row;
282
275
  add: _propTypes["default"].func.isRequired,
283
276
  "delete": _propTypes["default"].func.isRequired
284
277
  }),
278
+ inputConfiguration: _propTypes["default"].object,
285
279
  enableImages: _propTypes["default"].bool,
286
280
  toolbarOpts: _propTypes["default"].object,
287
281
  error: _propTypes["default"].string,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/row.jsx"],"names":["log","canDrag","Row","dialog","open","text","rowIndex","value","props","model","onChange","newModel","rows","title","rowValueIndex","event","choiceMode","i","values","length","target","checked","idx","onDeleteRow","minQuestions","setState","document","addEventListener","onMouseUpOnHandle","classes","imageSupport","connectDragSource","connectDropTarget","isDragging","row","enableImages","toolbarOpts","spellCheck","error","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","state","opacity","rowPlugins","image","disabled","audio","video","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","content","width","dragHandle","onMouseDownOnHandle","rowContainer","rowItem","questionText","onRowTitleChange","editor","language","map","rowValue","rowIdx","errorResponse","onRowValueChange","deleteIcon","errorText","separator","React","Component","PropTypes","object","isRequired","number","bool","func","onMoveRow","shape","add","string","styles","theme","actions","padding","justifyContent","choice","spacing","unit","overflow","cursor","dragDisabled","container","marginTop","display","flexDirection","alignItems","flex","minWidth","maxWidth","textAlign","marginRight","border","borderTop","palette","grey","fontSize","typography","color","main","paddingTop","StyledRow","NAME","choiceSource","beginDrag","id","index","StyledSource","connect","monitor","dragSource","choiceTarget","hover","drop","item","getItem","didDrop","StyledSourceAndTarget","dropTarget"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { AlertDialog, Checkbox } from '@pie-lib/pie-toolbox/config-ui';\nimport DragHandle from '@material-ui/icons/DragHandle';\nimport Radio from '@material-ui/core/Radio';\nimport IconButton from '@material-ui/core/IconButton';\nimport Delete from '@material-ui/icons/Delete';\nimport { DragSource, DropTarget } from 'react-dnd';\nimport debug from 'debug';\nimport { EditableHtml, DEFAULT_PLUGINS } from '@pie-lib/pie-toolbox/editable-html';\n\nconst log = debug('@pie-element:categorize:configure:choice');\n\nexport let canDrag = false;\n\nexport class Row extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n row: PropTypes.object.isRequired,\n idx: PropTypes.number.isRequired,\n isDragging: PropTypes.bool.isRequired,\n maxImageWidth: PropTypes.object,\n maxImageHeight: PropTypes.object,\n onDeleteRow: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n connectDragSource: PropTypes.func.isRequired,\n connectDropTarget: PropTypes.func.isRequired,\n onMoveRow: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n enableImages: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n error: PropTypes.string,\n spellCheck: PropTypes.bool,\n minQuestions: PropTypes.number,\n };\n\n static defaultProps = {};\n\n state = {\n dialog: {\n open: false,\n text: '',\n },\n };\n\n componentDidMount() {\n document.addEventListener('mouseup', this.onMouseUpOnHandle);\n }\n\n onRowTitleChange = (rowIndex) => (value) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.rows[rowIndex].title = value;\n onChange(newModel);\n };\n\n onRowValueChange = (rowIndex, rowValueIndex) => (event) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (model.choiceMode === 'radio') {\n for (let i = 0; i < newModel.rows[rowIndex].values.length; i++) {\n newModel.rows[rowIndex].values[i] = false;\n }\n }\n\n newModel.rows[rowIndex].values[rowValueIndex] = event.target.checked;\n\n onChange(newModel);\n };\n\n onDeleteRow = (idx) => () => {\n const { model, onDeleteRow, minQuestions } = this.props;\n\n if (model.rows && model.rows.length === minQuestions) {\n this.setState({\n dialog: {\n open: true,\n text: `There should be at least ${minQuestions} question row` + (minQuestions > 1 ? 's' : '') + '.',\n },\n });\n } else {\n onDeleteRow(idx);\n }\n };\n\n onMouseDownOnHandle = () => {\n canDrag = true;\n };\n\n onMouseUpOnHandle = () => {\n canDrag = false;\n };\n\n render() {\n const {\n classes,\n imageSupport,\n connectDragSource,\n connectDropTarget,\n isDragging,\n model,\n row,\n idx,\n enableImages,\n toolbarOpts,\n spellCheck,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n } = this.props;\n const { dialog } = this.state;\n const opacity = isDragging ? 0 : 1;\n\n const rowPlugins = {\n image: {\n disabled: !enableImages,\n },\n audio: { disabled: true },\n video: { disabled: true },\n };\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'bulleted-list' && p !== 'numbered-list',\n );\n\n const content = (\n <div style={{ opacity: opacity, width: '100%' }}>\n <span itemID={'handle'} className={classes.dragHandle} onMouseDown={this.onMouseDownOnHandle}>\n <DragHandle color={'primary'} />\n </span>\n\n <div className={classes.rowContainer}>\n <div className={classNames(classes.rowItem, classes.questionText)}>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n disableUnderline\n label={'label'}\n markup={row.title}\n onChange={this.onRowTitleChange(idx)}\n className={classes.editor}\n pluginProps={rowPlugins}\n toolbarOpts={toolbarOpts}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={error && error !== 'No correct response defined.'}\n mathMlOptions={mathMlOptions}\n />\n </div>\n\n {row.values.map((rowValue, rowIdx) => (\n <div key={rowIdx} className={classes.rowItem}>\n {model.choiceMode === 'radio' ? (\n <Radio\n className={classNames({ [classes.errorResponse]: error === 'No correct response defined.' })}\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n />\n ) : (\n <Checkbox\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n label={''}\n error={error === 'No correct response defined.'}\n />\n )}\n </div>\n ))}\n\n <div className={classes.deleteIcon}>\n <IconButton onClick={this.onDeleteRow(idx)} aria-label=\"Delete\">\n <Delete />\n </IconButton>\n </div>\n </div>\n\n {error && <div className={classes.errorText}>{error}</div>}\n <hr className={classes.separator} />\n\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </div>\n );\n\n return connectDragSource(connectDropTarget(content));\n }\n}\n\nconst styles = (theme) => ({\n actions: {\n padding: 0,\n justifyContent: 'space-between',\n },\n choice: {\n padding: theme.spacing.unit,\n overflow: 'visible',\n },\n dragHandle: {\n cursor: 'move',\n },\n dragDisabled: {\n cursor: 'inherit',\n },\n\n container: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column',\n },\n rowContainer: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n },\n rowItem: {\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minWidth: '150px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n deleteIcon: {\n flex: 0.5,\n display: 'flex',\n justifyContent: 'center',\n minWidth: '48px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n questionText: {\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start',\n padding: 0,\n maxWidth: 'unset',\n textAlign: 'left',\n minWidth: '350px',\n marginRight: theme.spacing.unit,\n '&> div': {\n width: '100%',\n },\n },\n separator: {\n marginTop: theme.spacing.unit * 2,\n border: 0,\n borderTop: `2px solid ${theme.palette.grey['A100']}`,\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 errorResponse: {\n color: theme.palette.error.main,\n },\n});\n\nconst StyledRow = withStyles(styles)(Row);\n\nconst NAME = 'row-config';\n\nexport const choiceSource = {\n canDrag() {\n return canDrag;\n },\n beginDrag(props) {\n return {\n id: props.row.id,\n index: props.idx,\n };\n },\n};\n\nconst StyledSource = DragSource(NAME, choiceSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(StyledRow);\n\nexport const choiceTarget = {\n hover() {\n log('[hover]');\n },\n drop(props, monitor) {\n const item = monitor.getItem();\n\n log('[drop] item: ', item, 'didDrop?', monitor.didDrop());\n\n props.onMoveRow(item.index, props.idx);\n },\n};\n\nconst StyledSourceAndTarget = DropTarget(NAME, choiceTarget, (connect) => ({\n connectDropTarget: connect.dropTarget(),\n}))(StyledSource);\n\nexport default StyledSourceAndTarget;\n"],"file":"row.js"}
1
+ {"version":3,"sources":["../src/row.jsx"],"names":["log","canDrag","Row","dialog","open","text","rowIndex","value","props","model","onChange","newModel","rows","title","rowValueIndex","event","choiceMode","i","values","length","target","checked","idx","onDeleteRow","minQuestions","setState","document","addEventListener","onMouseUpOnHandle","classes","imageSupport","connectDragSource","connectDropTarget","isDragging","row","inputConfiguration","enableImages","toolbarOpts","spellCheck","error","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","state","opacity","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","content","width","dragHandle","onMouseDownOnHandle","rowContainer","rowItem","questionText","onRowTitleChange","editor","language","map","rowValue","rowIdx","errorResponse","onRowValueChange","deleteIcon","errorText","separator","React","Component","PropTypes","object","isRequired","number","bool","func","onMoveRow","shape","add","string","styles","theme","actions","padding","justifyContent","choice","spacing","unit","overflow","cursor","dragDisabled","container","marginTop","display","flexDirection","alignItems","flex","minWidth","maxWidth","textAlign","marginRight","border","borderTop","palette","grey","fontSize","typography","color","main","paddingTop","StyledRow","NAME","choiceSource","beginDrag","id","index","StyledSource","connect","monitor","dragSource","choiceTarget","hover","drop","item","getItem","didDrop","StyledSourceAndTarget","dropTarget"],"mappings":"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","sourcesContent":["import { getPluginProps } from './utils';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { AlertDialog, Checkbox } from '@pie-lib/pie-toolbox/config-ui';\nimport DragHandle from '@material-ui/icons/DragHandle';\nimport Radio from '@material-ui/core/Radio';\nimport IconButton from '@material-ui/core/IconButton';\nimport Delete from '@material-ui/icons/Delete';\nimport { DragSource, DropTarget } from 'react-dnd';\nimport debug from 'debug';\nimport { EditableHtml, DEFAULT_PLUGINS } from '@pie-lib/pie-toolbox/editable-html';\n\nconst log = debug('@pie-element:categorize:configure:choice');\n\nexport let canDrag = false;\n\nexport class Row extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n row: PropTypes.object.isRequired,\n idx: PropTypes.number.isRequired,\n isDragging: PropTypes.bool.isRequired,\n maxImageWidth: PropTypes.object,\n maxImageHeight: PropTypes.object,\n onDeleteRow: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n connectDragSource: PropTypes.func.isRequired,\n connectDropTarget: PropTypes.func.isRequired,\n onMoveRow: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n inputConfiguration: PropTypes.object,\n enableImages: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n error: PropTypes.string,\n spellCheck: PropTypes.bool,\n minQuestions: PropTypes.number,\n };\n\n static defaultProps = {};\n\n state = {\n dialog: {\n open: false,\n text: '',\n },\n };\n\n componentDidMount() {\n document.addEventListener('mouseup', this.onMouseUpOnHandle);\n }\n\n onRowTitleChange = (rowIndex) => (value) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.rows[rowIndex].title = value;\n onChange(newModel);\n };\n\n onRowValueChange = (rowIndex, rowValueIndex) => (event) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (model.choiceMode === 'radio') {\n for (let i = 0; i < newModel.rows[rowIndex].values.length; i++) {\n newModel.rows[rowIndex].values[i] = false;\n }\n }\n\n newModel.rows[rowIndex].values[rowValueIndex] = event.target.checked;\n\n onChange(newModel);\n };\n\n onDeleteRow = (idx) => () => {\n const { model, onDeleteRow, minQuestions } = this.props;\n\n if (model.rows && model.rows.length === minQuestions) {\n this.setState({\n dialog: {\n open: true,\n text: `There should be at least ${minQuestions} question row` + (minQuestions > 1 ? 's' : '') + '.',\n },\n });\n } else {\n onDeleteRow(idx);\n }\n };\n\n onMouseDownOnHandle = () => {\n canDrag = true;\n };\n\n onMouseUpOnHandle = () => {\n canDrag = false;\n };\n\n render() {\n const {\n classes,\n imageSupport,\n connectDragSource,\n connectDropTarget,\n isDragging,\n model,\n row,\n idx,\n inputConfiguration = {},\n enableImages,\n toolbarOpts,\n spellCheck,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n } = this.props;\n const { dialog } = this.state;\n const opacity = isDragging ? 0 : 1;\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'bulleted-list' && p !== 'numbered-list',\n );\n\n const content = (\n <div style={{ opacity: opacity, width: '100%' }}>\n <span itemID={'handle'} className={classes.dragHandle} onMouseDown={this.onMouseDownOnHandle}>\n <DragHandle color={'primary'} />\n </span>\n\n <div className={classes.rowContainer}>\n <div className={classNames(classes.rowItem, classes.questionText)}>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n disableUnderline\n label={'label'}\n markup={row.title}\n onChange={this.onRowTitleChange(idx)}\n className={classes.editor}\n pluginProps={inputConfiguration}\n toolbarOpts={toolbarOpts}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={error && error !== 'No correct response defined.'}\n mathMlOptions={mathMlOptions}\n />\n </div>\n\n {row.values.map((rowValue, rowIdx) => (\n <div key={rowIdx} className={classes.rowItem}>\n {model.choiceMode === 'radio' ? (\n <Radio\n className={classNames({ [classes.errorResponse]: error === 'No correct response defined.' })}\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n />\n ) : (\n <Checkbox\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n label={''}\n error={error === 'No correct response defined.'}\n />\n )}\n </div>\n ))}\n\n <div className={classes.deleteIcon}>\n <IconButton onClick={this.onDeleteRow(idx)} aria-label=\"Delete\">\n <Delete />\n </IconButton>\n </div>\n </div>\n\n {error && <div className={classes.errorText}>{error}</div>}\n <hr className={classes.separator} />\n\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </div>\n );\n\n return connectDragSource(connectDropTarget(content));\n }\n}\n\nconst styles = (theme) => ({\n actions: {\n padding: 0,\n justifyContent: 'space-between',\n },\n choice: {\n padding: theme.spacing.unit,\n overflow: 'visible',\n },\n dragHandle: {\n cursor: 'move',\n },\n dragDisabled: {\n cursor: 'inherit',\n },\n\n container: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column',\n },\n rowContainer: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n },\n rowItem: {\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minWidth: '150px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n deleteIcon: {\n flex: 0.5,\n display: 'flex',\n justifyContent: 'center',\n minWidth: '48px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n questionText: {\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start',\n padding: 0,\n maxWidth: 'unset',\n textAlign: 'left',\n minWidth: '350px',\n marginRight: theme.spacing.unit,\n '&> div': {\n width: '100%',\n },\n },\n separator: {\n marginTop: theme.spacing.unit * 2,\n border: 0,\n borderTop: `2px solid ${theme.palette.grey['A100']}`,\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 errorResponse: {\n color: theme.palette.error.main,\n },\n});\n\nconst StyledRow = withStyles(styles)(Row);\n\nconst NAME = 'row-config';\n\nexport const choiceSource = {\n canDrag() {\n return canDrag;\n },\n beginDrag(props) {\n return {\n id: props.row.id,\n index: props.idx,\n };\n },\n};\n\nconst StyledSource = DragSource(NAME, choiceSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(StyledRow);\n\nexport const choiceTarget = {\n hover() {\n log('[hover]');\n },\n drop(props, monitor) {\n const item = monitor.getItem();\n\n log('[drop] item: ', item, 'didDrop?', monitor.didDrop());\n\n props.onMoveRow(item.index, props.idx);\n },\n};\n\nconst StyledSourceAndTarget = DropTarget(NAME, choiceTarget, (connect) => ({\n connectDropTarget: connect.dropTarget(),\n}))(StyledSource);\n\nexport default StyledSourceAndTarget;\n"],"file":"row.js"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getPluginProps = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ 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; }
13
+
14
+ 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; }
15
+
16
+ var getPluginProps = function getPluginProps() {
17
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
+ var baseInputConfiguration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19
+ return Object.assign(_objectSpread({}, baseInputConfiguration), props || {});
20
+ };
21
+
22
+ exports.getPluginProps = getPluginProps;
23
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.js"],"names":["getPluginProps","props","baseInputConfiguration","Object","assign"],"mappings":";;;;;;;;;;;;;;;AAAO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,GAA6C;AAAA,MAA5CC,KAA4C,uEAApC,EAAoC;AAAA,MAAhCC,sBAAgC,uEAAP,EAAO;AACzE,SAAOC,MAAM,CAACC,MAAP,mBAEAF,sBAFA,GAILD,KAAK,IAAI,EAJJ,CAAP;AAMD,CAPM","sourcesContent":["export const getPluginProps = (props = {}, baseInputConfiguration = {}) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n};\n"],"file":"utils.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/match-configure",
3
3
  "private": true,
4
- "version": "6.4.0",
4
+ "version": "6.5.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -3,6 +3,45 @@
3
3
  "additionalProperties": false,
4
4
  "type": "object",
5
5
  "properties": {
6
+ "baseInputConfiguration": {
7
+ "title": "EditableHtmlConfigureProp",
8
+ "type": "object",
9
+ "properties": {
10
+ "audio": {
11
+ "title": "EditableHtmlButtonConfigure",
12
+ "type": "object",
13
+ "properties": {
14
+ "disabled": {
15
+ "description": "Indicates if the plugin is disabled or not",
16
+ "type": "boolean",
17
+ "title": "disabled"
18
+ }
19
+ }
20
+ },
21
+ "video": {
22
+ "title": "EditableHtmlButtonConfigure",
23
+ "type": "object",
24
+ "properties": {
25
+ "disabled": {
26
+ "description": "Indicates if the plugin is disabled or not",
27
+ "type": "boolean",
28
+ "title": "disabled"
29
+ }
30
+ }
31
+ },
32
+ "image": {
33
+ "title": "EditableHtmlButtonConfigure",
34
+ "type": "object",
35
+ "properties": {
36
+ "disabled": {
37
+ "description": "Indicates if the plugin is disabled or not",
38
+ "type": "boolean",
39
+ "title": "disabled"
40
+ }
41
+ }
42
+ }
43
+ }
44
+ },
6
45
  "enableImages": {
7
46
  "title": "ConfigureProp",
8
47
  "type": "object",
@@ -19,6 +58,61 @@
19
58
  }
20
59
  }
21
60
  },
61
+ "rows": {
62
+ "title": "EditableHtmlPluginConfigure",
63
+ "type": "object",
64
+ "properties": {
65
+ "inputConfiguration": {
66
+ "title": "EditableHtmlConfigureProp",
67
+ "type": "object",
68
+ "properties": {
69
+ "audio": {
70
+ "title": "EditableHtmlButtonConfigure",
71
+ "type": "object",
72
+ "properties": {
73
+ "disabled": {
74
+ "description": "Indicates if the plugin is disabled or not",
75
+ "type": "boolean",
76
+ "title": "disabled"
77
+ }
78
+ }
79
+ },
80
+ "video": {
81
+ "title": "EditableHtmlButtonConfigure",
82
+ "type": "object",
83
+ "properties": {
84
+ "disabled": {
85
+ "description": "Indicates if the plugin is disabled or not",
86
+ "type": "boolean",
87
+ "title": "disabled"
88
+ }
89
+ }
90
+ },
91
+ "image": {
92
+ "title": "EditableHtmlButtonConfigure",
93
+ "type": "object",
94
+ "properties": {
95
+ "disabled": {
96
+ "description": "Indicates if the plugin is disabled or not",
97
+ "type": "boolean",
98
+ "title": "disabled"
99
+ }
100
+ }
101
+ }
102
+ }
103
+ },
104
+ "settings": {
105
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
106
+ "type": "boolean",
107
+ "title": "settings"
108
+ },
109
+ "label": {
110
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
111
+ "type": "string",
112
+ "title": "label"
113
+ }
114
+ }
115
+ },
22
116
  "feedback": {
23
117
  "title": "ConfigureProp",
24
118
  "type": "object",
@@ -36,9 +130,48 @@
36
130
  }
37
131
  },
38
132
  "headers": {
39
- "title": "ConfigureProp",
133
+ "title": "EditableHtmlPluginConfigure",
40
134
  "type": "object",
41
135
  "properties": {
136
+ "inputConfiguration": {
137
+ "title": "EditableHtmlConfigureProp",
138
+ "type": "object",
139
+ "properties": {
140
+ "audio": {
141
+ "title": "EditableHtmlButtonConfigure",
142
+ "type": "object",
143
+ "properties": {
144
+ "disabled": {
145
+ "description": "Indicates if the plugin is disabled or not",
146
+ "type": "boolean",
147
+ "title": "disabled"
148
+ }
149
+ }
150
+ },
151
+ "video": {
152
+ "title": "EditableHtmlButtonConfigure",
153
+ "type": "object",
154
+ "properties": {
155
+ "disabled": {
156
+ "description": "Indicates if the plugin is disabled or not",
157
+ "type": "boolean",
158
+ "title": "disabled"
159
+ }
160
+ }
161
+ },
162
+ "image": {
163
+ "title": "EditableHtmlButtonConfigure",
164
+ "type": "object",
165
+ "properties": {
166
+ "disabled": {
167
+ "description": "Indicates if the plugin is disabled or not",
168
+ "type": "boolean",
169
+ "title": "disabled"
170
+ }
171
+ }
172
+ }
173
+ }
174
+ },
42
175
  "settings": {
43
176
  "description": "Indicates if the item has to be displayed in the Settings Panel",
44
177
  "type": "boolean",
@@ -116,9 +249,48 @@
116
249
  }
117
250
  },
118
251
  "prompt": {
119
- "title": "ConfigureProp",
252
+ "title": "EditableHtmlPluginConfigure",
120
253
  "type": "object",
121
254
  "properties": {
255
+ "inputConfiguration": {
256
+ "title": "EditableHtmlConfigureProp",
257
+ "type": "object",
258
+ "properties": {
259
+ "audio": {
260
+ "title": "EditableHtmlButtonConfigure",
261
+ "type": "object",
262
+ "properties": {
263
+ "disabled": {
264
+ "description": "Indicates if the plugin is disabled or not",
265
+ "type": "boolean",
266
+ "title": "disabled"
267
+ }
268
+ }
269
+ },
270
+ "video": {
271
+ "title": "EditableHtmlButtonConfigure",
272
+ "type": "object",
273
+ "properties": {
274
+ "disabled": {
275
+ "description": "Indicates if the plugin is disabled or not",
276
+ "type": "boolean",
277
+ "title": "disabled"
278
+ }
279
+ }
280
+ },
281
+ "image": {
282
+ "title": "EditableHtmlButtonConfigure",
283
+ "type": "object",
284
+ "properties": {
285
+ "disabled": {
286
+ "description": "Indicates if the plugin is disabled or not",
287
+ "type": "boolean",
288
+ "title": "disabled"
289
+ }
290
+ }
291
+ }
292
+ }
293
+ },
122
294
  "settings": {
123
295
  "description": "Indicates if the item has to be displayed in the Settings Panel",
124
296
  "type": "boolean",
@@ -153,9 +325,48 @@
153
325
  }
154
326
  },
155
327
  "rationale": {
156
- "title": "ConfigureProp",
328
+ "title": "EditableHtmlPluginConfigure",
157
329
  "type": "object",
158
330
  "properties": {
331
+ "inputConfiguration": {
332
+ "title": "EditableHtmlConfigureProp",
333
+ "type": "object",
334
+ "properties": {
335
+ "audio": {
336
+ "title": "EditableHtmlButtonConfigure",
337
+ "type": "object",
338
+ "properties": {
339
+ "disabled": {
340
+ "description": "Indicates if the plugin is disabled or not",
341
+ "type": "boolean",
342
+ "title": "disabled"
343
+ }
344
+ }
345
+ },
346
+ "video": {
347
+ "title": "EditableHtmlButtonConfigure",
348
+ "type": "object",
349
+ "properties": {
350
+ "disabled": {
351
+ "description": "Indicates if the plugin is disabled or not",
352
+ "type": "boolean",
353
+ "title": "disabled"
354
+ }
355
+ }
356
+ },
357
+ "image": {
358
+ "title": "EditableHtmlButtonConfigure",
359
+ "type": "object",
360
+ "properties": {
361
+ "disabled": {
362
+ "description": "Indicates if the plugin is disabled or not",
363
+ "type": "boolean",
364
+ "title": "disabled"
365
+ }
366
+ }
367
+ }
368
+ }
369
+ },
159
370
  "settings": {
160
371
  "description": "Indicates if the item has to be displayed in the Settings Panel",
161
372
  "type": "boolean",
@@ -201,9 +412,48 @@
201
412
  }
202
413
  },
203
414
  "teacherInstructions": {
204
- "title": "ConfigureProp",
415
+ "title": "EditableHtmlPluginConfigure",
205
416
  "type": "object",
206
417
  "properties": {
418
+ "inputConfiguration": {
419
+ "title": "EditableHtmlConfigureProp",
420
+ "type": "object",
421
+ "properties": {
422
+ "audio": {
423
+ "title": "EditableHtmlButtonConfigure",
424
+ "type": "object",
425
+ "properties": {
426
+ "disabled": {
427
+ "description": "Indicates if the plugin is disabled or not",
428
+ "type": "boolean",
429
+ "title": "disabled"
430
+ }
431
+ }
432
+ },
433
+ "video": {
434
+ "title": "EditableHtmlButtonConfigure",
435
+ "type": "object",
436
+ "properties": {
437
+ "disabled": {
438
+ "description": "Indicates if the plugin is disabled or not",
439
+ "type": "boolean",
440
+ "title": "disabled"
441
+ }
442
+ }
443
+ },
444
+ "image": {
445
+ "title": "EditableHtmlButtonConfigure",
446
+ "type": "object",
447
+ "properties": {
448
+ "disabled": {
449
+ "description": "Indicates if the plugin is disabled or not",
450
+ "type": "boolean",
451
+ "title": "disabled"
452
+ }
453
+ }
454
+ }
455
+ }
456
+ },
207
457
  "settings": {
208
458
  "description": "Indicates if the item has to be displayed in the Settings Panel",
209
459
  "type": "boolean",
@@ -462,6 +712,56 @@
462
712
  "width"
463
713
  ],
464
714
  "definitions": {
715
+ "EditableHtmlConfigureProp": {
716
+ "title": "EditableHtmlConfigureProp",
717
+ "type": "object",
718
+ "properties": {
719
+ "audio": {
720
+ "title": "EditableHtmlButtonConfigure",
721
+ "type": "object",
722
+ "properties": {
723
+ "disabled": {
724
+ "description": "Indicates if the plugin is disabled or not",
725
+ "type": "boolean",
726
+ "title": "disabled"
727
+ }
728
+ }
729
+ },
730
+ "video": {
731
+ "title": "EditableHtmlButtonConfigure",
732
+ "type": "object",
733
+ "properties": {
734
+ "disabled": {
735
+ "description": "Indicates if the plugin is disabled or not",
736
+ "type": "boolean",
737
+ "title": "disabled"
738
+ }
739
+ }
740
+ },
741
+ "image": {
742
+ "title": "EditableHtmlButtonConfigure",
743
+ "type": "object",
744
+ "properties": {
745
+ "disabled": {
746
+ "description": "Indicates if the plugin is disabled or not",
747
+ "type": "boolean",
748
+ "title": "disabled"
749
+ }
750
+ }
751
+ }
752
+ }
753
+ },
754
+ "EditableHtmlButtonConfigure": {
755
+ "title": "EditableHtmlButtonConfigure",
756
+ "type": "object",
757
+ "properties": {
758
+ "disabled": {
759
+ "description": "Indicates if the plugin is disabled or not",
760
+ "type": "boolean",
761
+ "title": "disabled"
762
+ }
763
+ }
764
+ },
465
765
  "ConfigureProp": {
466
766
  "title": "ConfigureProp",
467
767
  "type": "object",
@@ -478,6 +778,61 @@
478
778
  }
479
779
  }
480
780
  },
781
+ "EditableHtmlPluginConfigure": {
782
+ "title": "EditableHtmlPluginConfigure",
783
+ "type": "object",
784
+ "properties": {
785
+ "inputConfiguration": {
786
+ "title": "EditableHtmlConfigureProp",
787
+ "type": "object",
788
+ "properties": {
789
+ "audio": {
790
+ "title": "EditableHtmlButtonConfigure",
791
+ "type": "object",
792
+ "properties": {
793
+ "disabled": {
794
+ "description": "Indicates if the plugin is disabled or not",
795
+ "type": "boolean",
796
+ "title": "disabled"
797
+ }
798
+ }
799
+ },
800
+ "video": {
801
+ "title": "EditableHtmlButtonConfigure",
802
+ "type": "object",
803
+ "properties": {
804
+ "disabled": {
805
+ "description": "Indicates if the plugin is disabled or not",
806
+ "type": "boolean",
807
+ "title": "disabled"
808
+ }
809
+ }
810
+ },
811
+ "image": {
812
+ "title": "EditableHtmlButtonConfigure",
813
+ "type": "object",
814
+ "properties": {
815
+ "disabled": {
816
+ "description": "Indicates if the plugin is disabled or not",
817
+ "type": "boolean",
818
+ "title": "disabled"
819
+ }
820
+ }
821
+ }
822
+ }
823
+ },
824
+ "settings": {
825
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
826
+ "type": "boolean",
827
+ "title": "settings"
828
+ },
829
+ "label": {
830
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
831
+ "type": "string",
832
+ "title": "label"
833
+ }
834
+ }
835
+ },
481
836
  "ConfigureMaxImageDimensionsProp": {
482
837
  "title": "ConfigureMaxImageDimensionsProp",
483
838
  "type": "object",