@pie-lib/editable-html 7.17.4-next.53 → 7.17.4-next.556
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.json +150 -0
- package/CHANGELOG.md +421 -0
- package/lib/editor.js +390 -172
- package/lib/editor.js.map +1 -1
- package/lib/index.js +66 -53
- package/lib/index.js.map +1 -1
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +73 -0
- package/lib/plugins/characters/custom-popper.js.map +1 -0
- package/lib/plugins/characters/index.js +285 -0
- package/lib/plugins/characters/index.js.map +1 -0
- package/lib/plugins/characters/utils.js +381 -0
- package/lib/plugins/characters/utils.js.map +1 -0
- package/lib/plugins/image/alt-dialog.js +119 -0
- package/lib/plugins/image/alt-dialog.js.map +1 -0
- package/lib/plugins/image/component.js +253 -77
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +95 -61
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +62 -20
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +9 -15
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +20 -12
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +82 -14
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +50 -55
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +71 -27
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +248 -72
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +24 -30
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +28 -35
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +68 -46
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +12 -12
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +10 -9
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +11 -11
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +58 -42
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +8 -8
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +5 -5
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/icons/index.js +12 -12
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +83 -27
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +41 -50
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +19 -13
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +5 -5
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +51 -44
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +5 -5
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +49 -52
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +64 -62
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +1 -1
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +32 -9
- package/lib/serialization.js.map +1 -1
- package/lib/theme.js.map +1 -1
- package/package.json +7 -6
- package/src/editor.jsx +224 -26
- package/src/index.jsx +22 -5
- package/src/plugins/characters/custom-popper.js +48 -0
- package/src/plugins/characters/index.jsx +268 -0
- package/src/plugins/characters/utils.js +447 -0
- package/src/plugins/image/alt-dialog.jsx +69 -0
- package/src/plugins/image/component.jsx +204 -21
- package/src/plugins/image/image-toolbar.jsx +68 -22
- package/src/plugins/image/index.jsx +47 -9
- package/src/plugins/index.jsx +4 -1
- package/src/plugins/list/index.jsx +67 -5
- package/src/plugins/math/index.jsx +31 -37
- package/src/plugins/media/index.jsx +49 -6
- package/src/plugins/media/media-dialog.js +261 -89
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +28 -1
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +3 -3
- package/src/plugins/respArea/index.jsx +50 -31
- package/src/plugins/table/index.jsx +63 -14
- package/src/plugins/toolbar/default-toolbar.jsx +20 -2
- package/src/plugins/toolbar/editor-and-toolbar.jsx +35 -4
- package/src/plugins/toolbar/toolbar-buttons.jsx +13 -2
- package/src/plugins/toolbar/toolbar.jsx +18 -3
- package/src/serialization.jsx +19 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["onValueChange","nodeProps","n","value","val","editor","change","setNodeByKey","key","data","index","get","props","onChange","onEditingDone","onRemoveResponse","dragInTheBlank","document","findDescendant","DragDrop","attributes","opts","inTable","display","minHeight","minWidth","position","margin","cursor","options","duplicates","children","propTypes","PropTypes","object"],"sources":["../../../../src/plugins/respArea/drag-in-the-blank/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport DragDropTile from './choice';\n\nexport const onValueChange = (nodeProps, n, value) => {\n const val = nodeProps.editor.value;\n const change = val.change();\n\n change.setNodeByKey(n.key, {\n data: {\n ...value,\n index: n.data.get('index')\n }\n });\n\n nodeProps.editor.props.onChange(change, () => {\n nodeProps.editor.props.onEditingDone();\n });\n};\n\nexport const onRemoveResponse = (nodeProps, value) => {\n const val = nodeProps.editor.value;\n const change = val.change();\n const dragInTheBlank = val.document.findDescendant(\n n => n.data && n.data.get('index') === value.index\n );\n\n change.setNodeByKey(dragInTheBlank.key, {\n data: {\n index: dragInTheBlank.data.get('index')\n }\n });\n\n nodeProps.editor.props.onChange(change, () => {\n nodeProps.editor.props.onEditingDone();\n });\n};\n\nconst DragDrop = props => {\n const { attributes, data, n, nodeProps, opts } = props;\n const { inTable } = data;\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n minHeight: '50px',\n minWidth: '178px',\n position: 'relative',\n margin: inTable ? '10px' : '0 10px',\n cursor: 'pointer'\n }}\n >\n <DragDropTile\n n={n}\n dragKey={n.key}\n targetId=\"0\"\n value={data}\n duplicates={opts.options.duplicates}\n onChange={value => onValueChange(nodeProps, n, value)}\n removeResponse={value => onRemoveResponse(nodeProps, value)}\n >\n {nodeProps.children}\n </DragDropTile>\n </span>\n );\n};\n\nDragDrop.propTypes = {\n attributes: PropTypes.object,\n data: PropTypes.object,\n n: PropTypes.object,\n nodeProps: PropTypes.object,\n opts: PropTypes.object\n};\n\nexport default DragDrop;\n"],"mappings":"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"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports["default"] = void 0;
|
|
7
9
|
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
8
12
|
var _react = _interopRequireDefault(require("react"));
|
|
9
13
|
|
|
10
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
15
|
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
-
|
|
14
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
|
-
|
|
16
16
|
var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
|
|
17
17
|
var attributes = props.attributes,
|
|
18
|
-
value = props.value
|
|
19
|
-
|
|
18
|
+
value = props.value,
|
|
19
|
+
error = props.error;
|
|
20
|
+
return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
|
|
20
21
|
style: {
|
|
21
22
|
display: 'inline-flex',
|
|
22
23
|
minHeight: '50px',
|
|
@@ -25,14 +26,14 @@ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
|
|
|
25
26
|
margin: '0 5px',
|
|
26
27
|
cursor: 'pointer'
|
|
27
28
|
}
|
|
28
|
-
}), _react["default"].createElement("div", {
|
|
29
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
29
30
|
style: {
|
|
30
31
|
display: 'inline-flex',
|
|
31
32
|
minWidth: '178px',
|
|
32
33
|
minHeight: '36px',
|
|
33
34
|
height: '36px',
|
|
34
35
|
background: '#FFF',
|
|
35
|
-
border:
|
|
36
|
+
border: "1px solid ".concat(error ? 'red' : '#C0C3CF'),
|
|
36
37
|
boxSizing: 'border-box',
|
|
37
38
|
borderRadius: '3px',
|
|
38
39
|
overflow: 'hidden',
|
|
@@ -46,7 +47,7 @@ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
|
|
|
46
47
|
|
|
47
48
|
ExplicitConstructedResponse.propTypes = {
|
|
48
49
|
attributes: _propTypes["default"].object,
|
|
49
|
-
value: _propTypes["default"].
|
|
50
|
+
value: _propTypes["default"].string
|
|
50
51
|
};
|
|
51
52
|
var _default = ExplicitConstructedResponse;
|
|
52
53
|
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["ExplicitConstructedResponse","props","attributes","value","error","display","minHeight","minWidth","position","margin","cursor","height","background","border","boxSizing","borderRadius","overflow","padding","__html","propTypes","PropTypes","object","string"],"sources":["../../../../src/plugins/respArea/explicit-constructed-response/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst ExplicitConstructedResponse = props => {\n const { attributes, value, error } = props;\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n minHeight: '50px',\n minWidth: '178px',\n position: 'relative',\n margin: '0 5px',\n cursor: 'pointer'\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n minHeight: '36px',\n height: '36px',\n background: '#FFF',\n border: `1px solid ${error ? 'red' : '#C0C3CF'}`,\n boxSizing: 'border-box',\n borderRadius: '3px',\n overflow: 'hidden',\n padding: '8px'\n }}\n dangerouslySetInnerHTML={{\n __html: value || '<div> </div>'\n }}\n />\n </span>\n );\n};\n\nExplicitConstructedResponse.propTypes = {\n attributes: PropTypes.object,\n value: PropTypes.string\n};\n\nexport default ExplicitConstructedResponse;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA8B,CAAAC,KAAK,EAAI;EAC3C,IAAQC,UAAR,GAAqCD,KAArC,CAAQC,UAAR;EAAA,IAAoBC,KAApB,GAAqCF,KAArC,CAAoBE,KAApB;EAAA,IAA2BC,KAA3B,GAAqCH,KAArC,CAA2BG,KAA3B;EAEA,oBACE,sEACMF,UADN;IAEE,KAAK,EAAE;MACLG,OAAO,EAAE,aADJ;MAELC,SAAS,EAAE,MAFN;MAGLC,QAAQ,EAAE,OAHL;MAILC,QAAQ,EAAE,UAJL;MAKLC,MAAM,EAAE,OALH;MAMLC,MAAM,EAAE;IANH;EAFT,iBAWE;IACE,KAAK,EAAE;MACLL,OAAO,EAAE,aADJ;MAELE,QAAQ,EAAE,OAFL;MAGLD,SAAS,EAAE,MAHN;MAILK,MAAM,EAAE,MAJH;MAKLC,UAAU,EAAE,MALP;MAMLC,MAAM,sBAAeT,KAAK,GAAG,KAAH,GAAW,SAA/B,CAND;MAOLU,SAAS,EAAE,YAPN;MAQLC,YAAY,EAAE,KART;MASLC,QAAQ,EAAE,QATL;MAULC,OAAO,EAAE;IAVJ,CADT;IAaE,uBAAuB,EAAE;MACvBC,MAAM,EAAEf,KAAK,IAAI;IADM;EAb3B,EAXF,CADF;AA+BD,CAlCD;;AAoCAH,2BAA2B,CAACmB,SAA5B,GAAwC;EACtCjB,UAAU,EAAEkB,qBAAA,CAAUC,MADgB;EAEtClB,KAAK,EAAEiB,qBAAA,CAAUE;AAFqB,CAAxC;eAKetB,2B"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.ToolbarIcon = exports.GripIcon = exports.Chevron = void 0;
|
|
7
9
|
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
8
12
|
var _react = _interopRequireDefault(require("react"));
|
|
9
13
|
|
|
10
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -15,13 +19,9 @@ var _MoreVert = _interopRequireDefault(require("@material-ui/icons/MoreVert"));
|
|
|
15
19
|
|
|
16
20
|
var _styles = require("@material-ui/core/styles");
|
|
17
21
|
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
-
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
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; }
|
|
23
23
|
|
|
24
|
-
function
|
|
24
|
+
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; }
|
|
25
25
|
|
|
26
26
|
var getRotate = function getRotate(direction) {
|
|
27
27
|
switch (direction) {
|
|
@@ -43,7 +43,7 @@ var Chevron = function Chevron(props) {
|
|
|
43
43
|
var direction = props.direction,
|
|
44
44
|
style = props.style;
|
|
45
45
|
var rotate = getRotate(direction);
|
|
46
|
-
return _react["default"].createElement(_ChevronRight["default"], {
|
|
46
|
+
return /*#__PURE__*/_react["default"].createElement(_ChevronRight["default"], {
|
|
47
47
|
style: _objectSpread({
|
|
48
48
|
transform: "rotate(".concat(rotate, "deg)")
|
|
49
49
|
}, style)
|
|
@@ -58,13 +58,13 @@ Chevron.propTypes = {
|
|
|
58
58
|
|
|
59
59
|
var GripIcon = function GripIcon(_ref) {
|
|
60
60
|
var style = _ref.style;
|
|
61
|
-
return _react["default"].createElement("span", {
|
|
61
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
62
62
|
style: style
|
|
63
|
-
}, _react["default"].createElement(_MoreVert["default"], {
|
|
63
|
+
}, /*#__PURE__*/_react["default"].createElement(_MoreVert["default"], {
|
|
64
64
|
style: {
|
|
65
65
|
margin: '0 -16px'
|
|
66
66
|
}
|
|
67
|
-
}), _react["default"].createElement(_MoreVert["default"], null));
|
|
67
|
+
}), /*#__PURE__*/_react["default"].createElement(_MoreVert["default"], null));
|
|
68
68
|
};
|
|
69
69
|
|
|
70
70
|
exports.GripIcon = GripIcon;
|
|
@@ -85,7 +85,7 @@ var ToolbarIcon = (0, _styles.withStyles)({
|
|
|
85
85
|
}
|
|
86
86
|
})(function (_ref2) {
|
|
87
87
|
var classes = _ref2.classes;
|
|
88
|
-
return _react["default"].createElement("div", {
|
|
88
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
89
89
|
className: classes.icon
|
|
90
90
|
}, "+ Response Area");
|
|
91
91
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["getRotate","direction","Chevron","props","style","rotate","transform","propTypes","PropTypes","string","object","GripIcon","margin","ToolbarIcon","withStyles","icon","fontFamily","fontSize","fontWeight","lineHeight","position","top","width","height","whiteSpace","classes"],"sources":["../../../../src/plugins/respArea/icons/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ChevronRight from '@material-ui/icons/ChevronRight';\nimport MoreVert from '@material-ui/icons/MoreVert';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst getRotate = direction => {\n switch (direction) {\n case 'down':\n return 90;\n case 'up':\n return -90;\n case 'left':\n return 180;\n default:\n return 0;\n }\n};\n\nexport const Chevron = props => {\n const { direction, style } = props;\n const rotate = getRotate(direction);\n\n return (\n <ChevronRight\n style={{\n transform: `rotate(${rotate}deg)`,\n ...style\n }}\n />\n );\n};\n\nChevron.propTypes = {\n direction: PropTypes.string,\n style: PropTypes.object\n};\n\nexport const GripIcon = ({ style }) => {\n return (\n <span style={style}>\n <MoreVert\n style={{\n margin: '0 -16px'\n }}\n />\n <MoreVert />\n </span>\n );\n};\n\nGripIcon.propTypes = {\n style: PropTypes.object\n};\n\nexport const ToolbarIcon = withStyles({\n icon: {\n fontFamily: 'Cerebri Sans !important',\n fontSize: '14px',\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n top: '7px',\n width: '110px',\n height: '28px',\n whiteSpace: 'nowrap'\n }\n})(({ classes }) => <div className={classes.icon}>+ Response Area</div>);\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAAAC,SAAS,EAAI;EAC7B,QAAQA,SAAR;IACE,KAAK,MAAL;MACE,OAAO,EAAP;;IACF,KAAK,IAAL;MACE,OAAO,CAAC,EAAR;;IACF,KAAK,MAAL;MACE,OAAO,GAAP;;IACF;MACE,OAAO,CAAP;EARJ;AAUD,CAXD;;AAaO,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAAC,KAAK,EAAI;EAC9B,IAAQF,SAAR,GAA6BE,KAA7B,CAAQF,SAAR;EAAA,IAAmBG,KAAnB,GAA6BD,KAA7B,CAAmBC,KAAnB;EACA,IAAMC,MAAM,GAAGL,SAAS,CAACC,SAAD,CAAxB;EAEA,oBACE,gCAAC,wBAAD;IACE,KAAK;MACHK,SAAS,mBAAYD,MAAZ;IADN,GAEAD,KAFA;EADP,EADF;AAQD,CAZM;;;AAcPF,OAAO,CAACK,SAAR,GAAoB;EAClBN,SAAS,EAAEO,qBAAA,CAAUC,MADH;EAElBL,KAAK,EAAEI,qBAAA,CAAUE;AAFC,CAApB;;AAKO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,OAAe;EAAA,IAAZP,KAAY,QAAZA,KAAY;EACrC,oBACE;IAAM,KAAK,EAAEA;EAAb,gBACE,gCAAC,oBAAD;IACE,KAAK,EAAE;MACLQ,MAAM,EAAE;IADH;EADT,EADF,eAME,gCAAC,oBAAD,OANF,CADF;AAUD,CAXM;;;AAaPD,QAAQ,CAACJ,SAAT,GAAqB;EACnBH,KAAK,EAAEI,qBAAA,CAAUE;AADE,CAArB;AAIO,IAAMG,WAAW,GAAG,IAAAC,kBAAA,EAAW;EACpCC,IAAI,EAAE;IACJC,UAAU,EAAE,yBADR;IAEJC,QAAQ,EAAE,MAFN;IAGJC,UAAU,EAAE,MAHR;IAIJC,UAAU,EAAE,MAJR;IAKJC,QAAQ,EAAE,UALN;IAMJC,GAAG,EAAE,KAND;IAOJC,KAAK,EAAE,OAPH;IAQJC,MAAM,EAAE,MARJ;IASJC,UAAU,EAAE;EATR;AAD8B,CAAX,EAYxB;EAAA,IAAGC,OAAH,SAAGA,OAAH;EAAA,oBAAiB;IAAK,SAAS,EAAEA,OAAO,CAACV;EAAxB,qBAAjB;AAAA,CAZwB,CAApB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -22,21 +24,34 @@ var _utils = require("./utils");
|
|
|
22
24
|
|
|
23
25
|
var _icons = require("./icons");
|
|
24
26
|
|
|
25
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
26
|
-
|
|
27
27
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:respArea');
|
|
28
28
|
var lastIndexMap = {};
|
|
29
|
-
var
|
|
29
|
+
var elTypesMap = {
|
|
30
|
+
'inline-dropdown': 'inline_dropdown',
|
|
31
|
+
'explicit-constructed-response': 'explicit_constructed_response',
|
|
32
|
+
'drag-in-the-blank': 'drag_in_the_blank'
|
|
33
|
+
};
|
|
34
|
+
var elTypesArray = Object.values(elTypesMap);
|
|
30
35
|
|
|
31
36
|
function ResponseAreaPlugin(opts) {
|
|
37
|
+
var isOfCurrentType = function isOfCurrentType(d) {
|
|
38
|
+
return d.type === opts.type || d.type === elTypesMap[opts.type];
|
|
39
|
+
};
|
|
40
|
+
|
|
32
41
|
var toolbar = {
|
|
33
|
-
icon: _react["default"].createElement(_icons.ToolbarIcon, null),
|
|
42
|
+
icon: /*#__PURE__*/_react["default"].createElement(_icons.ToolbarIcon, null),
|
|
34
43
|
buttonStyles: {
|
|
35
44
|
margin: '0 20px 0 auto'
|
|
36
45
|
},
|
|
37
46
|
onClick: function onClick(value, onChange) {
|
|
38
47
|
log('[toolbar] onClick');
|
|
39
48
|
var change = value.change();
|
|
49
|
+
var currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);
|
|
50
|
+
|
|
51
|
+
if (currentRespAreaList.size >= opts.maxResponseAreas) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
40
55
|
var type = opts.type.replace(/-/g, '_');
|
|
41
56
|
var prevIndex = lastIndexMap[type];
|
|
42
57
|
var newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;
|
|
@@ -49,6 +64,11 @@ function ResponseAreaPlugin(opts) {
|
|
|
49
64
|
} else {
|
|
50
65
|
// If the markup is empty and there's no focus
|
|
51
66
|
var lastText = value.document.getLastText();
|
|
67
|
+
|
|
68
|
+
if (!lastText) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
52
72
|
var parentNode = value.document.getParent(lastText.key);
|
|
53
73
|
|
|
54
74
|
if (parentNode) {
|
|
@@ -79,7 +99,7 @@ function ResponseAreaPlugin(opts) {
|
|
|
79
99
|
name: 'response_area',
|
|
80
100
|
toolbar: toolbar,
|
|
81
101
|
filterPlugins: function filterPlugins(node, plugins) {
|
|
82
|
-
if (node.type === 'explicit_constructed_response') {
|
|
102
|
+
if (node.type === 'explicit_constructed_response' || node.type === 'drag_in_the_blank') {
|
|
83
103
|
return [];
|
|
84
104
|
}
|
|
85
105
|
|
|
@@ -98,16 +118,23 @@ function ResponseAreaPlugin(opts) {
|
|
|
98
118
|
|
|
99
119
|
if (n.type === 'explicit_constructed_response') {
|
|
100
120
|
var data = n.data.toJSON();
|
|
101
|
-
|
|
121
|
+
var error;
|
|
122
|
+
|
|
123
|
+
if (opts.error) {
|
|
124
|
+
error = opts.error();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return /*#__PURE__*/_react["default"].createElement(_explicitConstructedResponse["default"], {
|
|
102
128
|
attributes: attributes,
|
|
103
|
-
value: data.value
|
|
129
|
+
value: data.value,
|
|
130
|
+
error: error && error[data.index] && error[data.index][0]
|
|
104
131
|
});
|
|
105
132
|
}
|
|
106
133
|
|
|
107
134
|
if (n.type === 'drag_in_the_blank') {
|
|
108
135
|
var _data = n.data.toJSON();
|
|
109
136
|
|
|
110
|
-
return _react["default"].createElement(_dragInTheBlank["default"], {
|
|
137
|
+
return /*#__PURE__*/_react["default"].createElement(_dragInTheBlank["default"], {
|
|
111
138
|
attributes: attributes,
|
|
112
139
|
data: _data,
|
|
113
140
|
n: n,
|
|
@@ -119,13 +146,13 @@ function ResponseAreaPlugin(opts) {
|
|
|
119
146
|
if (n.type === 'inline_dropdown') {
|
|
120
147
|
var _data2 = n.data.toJSON();
|
|
121
148
|
|
|
122
|
-
return _react["default"].createElement(_inlineDropdown["default"], {
|
|
149
|
+
return /*#__PURE__*/_react["default"].createElement(_inlineDropdown["default"], {
|
|
123
150
|
attributes: attributes,
|
|
124
151
|
selectedItem: _data2.value
|
|
125
152
|
});
|
|
126
153
|
}
|
|
127
154
|
},
|
|
128
|
-
onChange: function onChange(change) {
|
|
155
|
+
onChange: function onChange(change, editor) {
|
|
129
156
|
var type = opts.type.replace(/-/g, '_');
|
|
130
157
|
|
|
131
158
|
if ((0, _isUndefined["default"])(lastIndexMap[type])) {
|
|
@@ -140,42 +167,31 @@ function ResponseAreaPlugin(opts) {
|
|
|
140
167
|
}
|
|
141
168
|
});
|
|
142
169
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if (node.object !== 'document') {
|
|
170
|
+
|
|
171
|
+
if (!editor.value) {
|
|
146
172
|
return;
|
|
147
173
|
}
|
|
148
174
|
|
|
149
|
-
var
|
|
150
|
-
var
|
|
151
|
-
return elTypesArray.indexOf(d.type) >= 0;
|
|
152
|
-
});
|
|
153
|
-
allElements.forEach(function (el) {
|
|
154
|
-
var prevText = node.getPreviousText(el.key);
|
|
155
|
-
var lastCharIsNewLine = prevText.text[prevText.text.length - 1] === '\n';
|
|
156
|
-
|
|
157
|
-
if (prevText.text.length === 0 || lastCharIsNewLine) {
|
|
158
|
-
addSpacesArray.push({
|
|
159
|
-
nr: lastCharIsNewLine ? 1 : 2,
|
|
160
|
-
key: prevText.key
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
});
|
|
175
|
+
var currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);
|
|
176
|
+
var oldRespAreaList = editor.value.document.filterDescendants(isOfCurrentType);
|
|
164
177
|
|
|
165
|
-
if (
|
|
166
|
-
|
|
178
|
+
if (currentRespAreaList.size >= opts.maxResponseAreas) {
|
|
179
|
+
toolbar.disabled = true;
|
|
180
|
+
} else {
|
|
181
|
+
toolbar.disabled = false;
|
|
167
182
|
}
|
|
168
183
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
var node = change.value.document.getNode(key);
|
|
175
|
-
change.insertTextByKey(key, node.text.length, "\xA0".repeat(nr));
|
|
176
|
-
});
|
|
184
|
+
var arrayToFilter = oldRespAreaList.size > currentRespAreaList.size ? oldRespAreaList : currentRespAreaList;
|
|
185
|
+
var arrayToUseForFilter = arrayToFilter === oldRespAreaList ? currentRespAreaList : oldRespAreaList;
|
|
186
|
+
var elementsWithChangedStatus = arrayToFilter.filter(function (d) {
|
|
187
|
+
return !arrayToUseForFilter.find(function (e) {
|
|
188
|
+
return e.data.get('index') === d.data.get('index');
|
|
177
189
|
});
|
|
178
|
-
};
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
if (elementsWithChangedStatus.size && oldRespAreaList.size > currentRespAreaList.size) {
|
|
193
|
+
opts.onHandleAreaChange(elementsWithChangedStatus);
|
|
194
|
+
}
|
|
179
195
|
},
|
|
180
196
|
onDrop: function onDrop(event, change, editor) {
|
|
181
197
|
var closestEl = event.target.closest('[data-key]');
|
|
@@ -240,7 +256,7 @@ var serialization = {
|
|
|
240
256
|
case 'inline_dropdown':
|
|
241
257
|
{
|
|
242
258
|
var data = object.data.toJSON();
|
|
243
|
-
return _react["default"].createElement("span", {
|
|
259
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
244
260
|
"data-type": "inline_dropdown",
|
|
245
261
|
"data-index": data.index,
|
|
246
262
|
"data-value": data.value
|
|
@@ -251,7 +267,7 @@ var serialization = {
|
|
|
251
267
|
{
|
|
252
268
|
var _data3 = object.data.toJSON();
|
|
253
269
|
|
|
254
|
-
return _react["default"].createElement("span", {
|
|
270
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
255
271
|
"data-type": "explicit_constructed_response",
|
|
256
272
|
"data-index": _data3.index,
|
|
257
273
|
"data-value": _data3.value
|
|
@@ -262,7 +278,7 @@ var serialization = {
|
|
|
262
278
|
{
|
|
263
279
|
var _data4 = object.data.toJSON();
|
|
264
280
|
|
|
265
|
-
return _react["default"].createElement("span", {
|
|
281
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
266
282
|
"data-type": "drag_in_the_blank",
|
|
267
283
|
"data-index": _data4.index,
|
|
268
284
|
"data-id": _data4.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/plugins/respArea/index.jsx"],"names":["log","lastIndexMap","elTypesArray","ResponseAreaPlugin","opts","toolbar","icon","buttonStyles","margin","onClick","value","onChange","change","type","replace","prevIndex","newIndex","newInline","selection","startKey","endKey","insertInline","lastText","document","getLastText","parentNode","getParent","key","index","nodes","indexOf","isVoid","insertNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","customToolbar","respAreaToolbar","supports","node","object","showDone","name","filterPlugins","plugins","filter","p","deleteNode","e","preventDefault","removeNodeByKey","renderNode","props","attributes","n","data","toJSON","forEachDescendant","d","parseInt","get","normalizeNode","addSpacesArray","allElements","filterDescendants","forEach","el","prevText","getPreviousText","lastCharIsNewLine","text","length","push","nr","withoutNormalization","getNode","insertTextByKey","repeat","onDrop","event","editor","closestEl","target","closest","inline","findDescendant","dataset","serialization","deserialize","id","inTable","serialize"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport isUndefined from 'lodash/isUndefined';\n\nimport InlineDropdown from './inline-dropdown';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ExplicitConstructedResponse from './explicit-constructed-response';\nimport { getDefaultElement } from './utils';\nimport { ToolbarIcon } from './icons';\n\nconst log = debug('@pie-lib:editable-html:plugins:respArea');\n\nconst lastIndexMap = {};\nconst elTypesArray = ['inline_dropdown', 'explicit_constructed_response', 'drag_in_the_blank'];\n\nexport default function ResponseAreaPlugin(opts) {\n const toolbar = {\n icon: <ToolbarIcon />,\n buttonStyles: {\n margin: '0 20px 0 auto'\n },\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const change = value.change();\n const type = opts.type.replace(/-/g, '_');\n const prevIndex = lastIndexMap[type];\n const newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;\n const newInline = getDefaultElement(opts, newIndex);\n\n lastIndexMap[type] += 1;\n\n if (newInline) {\n if (change.value.selection.startKey || change.value.selection.endKey) {\n change.insertInline(newInline);\n } else {\n // If the markup is empty and there's no focus\n const lastText = value.document.getLastText();\n const parentNode = value.document.getParent(lastText.key);\n\n if (parentNode) {\n const index = parentNode.nodes.indexOf(lastText.key);\n\n if (parentNode.isVoid) return;\n\n change.insertNodeByKey(parentNode.key, index + 1, newInline);\n }\n }\n\n if (newInline.type === 'drag_in_the_blank') {\n const nextText = change.value.document.getNextText(newInline.key);\n\n if (nextText) {\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n }\n }\n\n onChange(change);\n }\n },\n customToolbar: opts.respAreaToolbar,\n supports: node => node.object === 'inline' && elTypesArray.indexOf(node.type) >= 0,\n showDone: false\n };\n\n return {\n name: 'response_area',\n toolbar,\n filterPlugins: (node, plugins) => {\n if (node.type === 'explicit_constructed_response') {\n return [];\n }\n\n return plugins.filter(p => p.name !== 'response_area');\n },\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n\n const change = value.change().removeNodeByKey(node.key);\n\n onChange(change);\n },\n renderNode(props) {\n const { attributes, node: n } = props;\n\n if (n.type === 'explicit_constructed_response') {\n const data = n.data.toJSON();\n\n return <ExplicitConstructedResponse attributes={attributes} value={data.value} />;\n }\n\n if (n.type === 'drag_in_the_blank') {\n const data = n.data.toJSON();\n\n return (\n <DragInTheBlank attributes={attributes} data={data} n={n} nodeProps={props} opts={opts} />\n );\n }\n\n if (n.type === 'inline_dropdown') {\n const data = n.data.toJSON();\n\n return <InlineDropdown attributes={attributes} selectedItem={data.value} />;\n }\n },\n onChange(change) {\n const type = opts.type.replace(/-/g, '_');\n\n if (isUndefined(lastIndexMap[type])) {\n lastIndexMap[type] = 0;\n\n change.value.document.forEachDescendant(d => {\n if (d.type === type) {\n const newIndex = parseInt(d.data.get('index'), 10);\n\n if (newIndex > lastIndexMap[type]) {\n lastIndexMap[type] = newIndex;\n }\n }\n });\n }\n },\n normalizeNode: node => {\n if (node.object !== 'document') {\n return;\n }\n\n const addSpacesArray = [];\n\n const allElements = node.filterDescendants(d => elTypesArray.indexOf(d.type) >= 0);\n\n allElements.forEach(el => {\n const prevText = node.getPreviousText(el.key);\n const lastCharIsNewLine = prevText.text[prevText.text.length - 1] === '\\n';\n\n if (prevText.text.length === 0 || lastCharIsNewLine) {\n addSpacesArray.push({\n nr: lastCharIsNewLine ? 1 : 2,\n key: prevText.key\n });\n }\n });\n\n if (!addSpacesArray.length) {\n return;\n }\n\n return change => {\n change.withoutNormalization(() => {\n addSpacesArray.forEach(({ key, nr }) => {\n const node = change.value.document.getNode(key);\n\n change.insertTextByKey(key, node.text.length, '\\u00A0'.repeat(nr));\n });\n });\n };\n },\n onDrop(event, change, editor) {\n const closestEl = event.target.closest('[data-key]');\n const inline = editor.value.document.findDescendant(d => d.key === closestEl.dataset.key);\n\n if (inline.type === 'drag_in_the_blank') {\n return false;\n }\n }\n };\n}\n\nexport const serialization = {\n deserialize(el) {\n const type = el.dataset && el.dataset.type;\n\n switch (type) {\n case 'inline_dropdown':\n return {\n object: 'inline',\n type: 'inline_dropdown',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value\n }\n };\n case 'explicit_constructed_response':\n return {\n object: 'inline',\n type: 'explicit_constructed_response',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value\n }\n };\n case 'drag_in_the_blank':\n return {\n object: 'inline',\n type: 'drag_in_the_blank',\n isVoid: true,\n data: {\n index: el.dataset.index,\n id: el.dataset.id,\n value: el.dataset.value,\n inTable: el.dataset.inTable\n }\n };\n }\n },\n serialize(object) {\n if (object.object !== 'inline') {\n return;\n }\n\n switch (object.type) {\n case 'inline_dropdown': {\n const data = object.data.toJSON();\n\n return <span data-type=\"inline_dropdown\" data-index={data.index} data-value={data.value} />;\n }\n case 'explicit_constructed_response': {\n const data = object.data.toJSON();\n\n return (\n <span\n data-type=\"explicit_constructed_response\"\n data-index={data.index}\n data-value={data.value}\n />\n );\n }\n case 'drag_in_the_blank': {\n const data = object.data.toJSON();\n\n return (\n <span\n data-type=\"drag_in_the_blank\"\n data-index={data.index}\n data-id={data.id}\n data-value={data.value}\n data-in-table={data.inTable}\n />\n );\n }\n }\n }\n};\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["log","debug","lastIndexMap","elTypesMap","elTypesArray","Object","values","ResponseAreaPlugin","opts","isOfCurrentType","d","type","toolbar","icon","buttonStyles","margin","onClick","value","onChange","change","currentRespAreaList","document","filterDescendants","size","maxResponseAreas","replace","prevIndex","newIndex","newInline","getDefaultElement","selection","startKey","endKey","insertInline","lastText","getLastText","parentNode","getParent","key","index","nodes","indexOf","isVoid","insertNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","customToolbar","respAreaToolbar","supports","node","object","showDone","name","filterPlugins","plugins","filter","p","deleteNode","e","preventDefault","removeNodeByKey","renderNode","props","attributes","n","data","toJSON","error","editor","isUndefined","forEachDescendant","parseInt","get","oldRespAreaList","disabled","arrayToFilter","arrayToUseForFilter","elementsWithChangedStatus","find","onHandleAreaChange","onDrop","event","closestEl","target","closest","inline","findDescendant","dataset","serialization","deserialize","el","id","inTable","serialize"],"sources":["../../../src/plugins/respArea/index.jsx"],"sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport isUndefined from 'lodash/isUndefined';\n\nimport InlineDropdown from './inline-dropdown';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ExplicitConstructedResponse from './explicit-constructed-response';\nimport { getDefaultElement } from './utils';\nimport { ToolbarIcon } from './icons';\n\nconst log = debug('@pie-lib:editable-html:plugins:respArea');\n\nconst lastIndexMap = {};\nconst elTypesMap = {\n 'inline-dropdown': 'inline_dropdown',\n 'explicit-constructed-response': 'explicit_constructed_response',\n 'drag-in-the-blank': 'drag_in_the_blank'\n};\nconst elTypesArray = Object.values(elTypesMap);\n\nexport default function ResponseAreaPlugin(opts) {\n const isOfCurrentType = d => d.type === opts.type || d.type === elTypesMap[opts.type];\n\n const toolbar = {\n icon: <ToolbarIcon />,\n buttonStyles: {\n margin: '0 20px 0 auto'\n },\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const change = value.change();\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n\n if (currentRespAreaList.size >= opts.maxResponseAreas) {\n return;\n }\n\n const type = opts.type.replace(/-/g, '_');\n const prevIndex = lastIndexMap[type];\n const newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;\n const newInline = getDefaultElement(opts, newIndex);\n\n lastIndexMap[type] += 1;\n\n if (newInline) {\n if (change.value.selection.startKey || change.value.selection.endKey) {\n change.insertInline(newInline);\n } else {\n // If the markup is empty and there's no focus\n const lastText = value.document.getLastText();\n\n if (!lastText) {\n return;\n }\n const parentNode = value.document.getParent(lastText.key);\n\n if (parentNode) {\n const index = parentNode.nodes.indexOf(lastText.key);\n\n if (parentNode.isVoid) return;\n\n change.insertNodeByKey(parentNode.key, index + 1, newInline);\n }\n }\n\n if (newInline.type === 'drag_in_the_blank') {\n const nextText = change.value.document.getNextText(newInline.key);\n\n if (nextText) {\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n }\n }\n\n onChange(change);\n }\n },\n customToolbar: opts.respAreaToolbar,\n supports: node => node.object === 'inline' && elTypesArray.indexOf(node.type) >= 0,\n showDone: false\n };\n\n return {\n name: 'response_area',\n toolbar,\n filterPlugins: (node, plugins) => {\n if (node.type === 'explicit_constructed_response' || node.type === 'drag_in_the_blank') {\n return [];\n }\n\n return plugins.filter(p => p.name !== 'response_area');\n },\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n\n const change = value.change().removeNodeByKey(node.key);\n\n onChange(change);\n },\n renderNode(props) {\n const { attributes, node: n } = props;\n\n if (n.type === 'explicit_constructed_response') {\n const data = n.data.toJSON();\n let error;\n\n if (opts.error) {\n error = opts.error();\n }\n\n return (\n <ExplicitConstructedResponse\n attributes={attributes}\n value={data.value}\n error={error && error[data.index] && error[data.index][0]}\n />\n );\n }\n\n if (n.type === 'drag_in_the_blank') {\n const data = n.data.toJSON();\n\n return (\n <DragInTheBlank attributes={attributes} data={data} n={n} nodeProps={props} opts={opts} />\n );\n }\n\n if (n.type === 'inline_dropdown') {\n const data = n.data.toJSON();\n\n return <InlineDropdown attributes={attributes} selectedItem={data.value} />;\n }\n },\n onChange(change, editor) {\n const type = opts.type.replace(/-/g, '_');\n\n if (isUndefined(lastIndexMap[type])) {\n lastIndexMap[type] = 0;\n\n change.value.document.forEachDescendant(d => {\n if (d.type === type) {\n const newIndex = parseInt(d.data.get('index'), 10);\n\n if (newIndex > lastIndexMap[type]) {\n lastIndexMap[type] = newIndex;\n }\n }\n });\n }\n\n if (!editor.value) {\n return;\n }\n\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n const oldRespAreaList = editor.value.document.filterDescendants(isOfCurrentType);\n\n if (currentRespAreaList.size >= opts.maxResponseAreas) {\n toolbar.disabled = true;\n } else {\n toolbar.disabled = false;\n }\n\n const arrayToFilter =\n oldRespAreaList.size > currentRespAreaList.size ? oldRespAreaList : currentRespAreaList;\n const arrayToUseForFilter =\n arrayToFilter === oldRespAreaList ? currentRespAreaList : oldRespAreaList;\n\n const elementsWithChangedStatus = arrayToFilter.filter(\n d => !arrayToUseForFilter.find(e => e.data.get('index') === d.data.get('index'))\n );\n\n if (elementsWithChangedStatus.size && oldRespAreaList.size > currentRespAreaList.size) {\n opts.onHandleAreaChange(elementsWithChangedStatus);\n }\n },\n onDrop(event, change, editor) {\n const closestEl = event.target.closest('[data-key]');\n const inline = editor.value.document.findDescendant(d => d.key === closestEl.dataset.key);\n\n if (inline.type === 'drag_in_the_blank') {\n return false;\n }\n }\n };\n}\n\nexport const serialization = {\n deserialize(el) {\n const type = el.dataset && el.dataset.type;\n\n switch (type) {\n case 'inline_dropdown':\n return {\n object: 'inline',\n type: 'inline_dropdown',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value\n }\n };\n case 'explicit_constructed_response':\n return {\n object: 'inline',\n type: 'explicit_constructed_response',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value\n }\n };\n case 'drag_in_the_blank':\n return {\n object: 'inline',\n type: 'drag_in_the_blank',\n isVoid: true,\n data: {\n index: el.dataset.index,\n id: el.dataset.id,\n value: el.dataset.value,\n inTable: el.dataset.inTable\n }\n };\n }\n },\n serialize(object) {\n if (object.object !== 'inline') {\n return;\n }\n\n switch (object.type) {\n case 'inline_dropdown': {\n const data = object.data.toJSON();\n\n return <span data-type=\"inline_dropdown\" data-index={data.index} data-value={data.value} />;\n }\n case 'explicit_constructed_response': {\n const data = object.data.toJSON();\n\n return (\n <span\n data-type=\"explicit_constructed_response\"\n data-index={data.index}\n data-value={data.value}\n />\n );\n }\n case 'drag_in_the_blank': {\n const data = object.data.toJSON();\n\n return (\n <span\n data-type=\"drag_in_the_blank\"\n data-index={data.index}\n data-id={data.id}\n data-value={data.value}\n data-in-table={data.inTable}\n />\n );\n }\n }\n }\n};\n"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,GAAG,GAAG,IAAAC,iBAAA,EAAM,yCAAN,CAAZ;AAEA,IAAMC,YAAY,GAAG,EAArB;AACA,IAAMC,UAAU,GAAG;EACjB,mBAAmB,iBADF;EAEjB,iCAAiC,+BAFhB;EAGjB,qBAAqB;AAHJ,CAAnB;AAKA,IAAMC,YAAY,GAAGC,MAAM,CAACC,MAAP,CAAcH,UAAd,CAArB;;AAEe,SAASI,kBAAT,CAA4BC,IAA5B,EAAkC;EAC/C,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,CAAC;IAAA,OAAIA,CAAC,CAACC,IAAF,KAAWH,IAAI,CAACG,IAAhB,IAAwBD,CAAC,CAACC,IAAF,KAAWR,UAAU,CAACK,IAAI,CAACG,IAAN,CAAjD;EAAA,CAAzB;;EAEA,IAAMC,OAAO,GAAG;IACdC,IAAI,eAAE,gCAAC,kBAAD,OADQ;IAEdC,YAAY,EAAE;MACZC,MAAM,EAAE;IADI,CAFA;IAKdC,OAAO,EAAE,iBAACC,KAAD,EAAQC,QAAR,EAAqB;MAC5BlB,GAAG,CAAC,mBAAD,CAAH;MACA,IAAMmB,MAAM,GAAGF,KAAK,CAACE,MAAN,EAAf;MACA,IAAMC,mBAAmB,GAAGD,MAAM,CAACF,KAAP,CAAaI,QAAb,CAAsBC,iBAAtB,CAAwCb,eAAxC,CAA5B;;MAEA,IAAIW,mBAAmB,CAACG,IAApB,IAA4Bf,IAAI,CAACgB,gBAArC,EAAuD;QACrD;MACD;;MAED,IAAMb,IAAI,GAAGH,IAAI,CAACG,IAAL,CAAUc,OAAV,CAAkB,IAAlB,EAAwB,GAAxB,CAAb;MACA,IAAMC,SAAS,GAAGxB,YAAY,CAACS,IAAD,CAA9B;MACA,IAAMgB,QAAQ,GAAGD,SAAS,KAAK,CAAd,GAAkBA,SAAlB,GAA8BA,SAAS,GAAG,CAA3D;MACA,IAAME,SAAS,GAAG,IAAAC,wBAAA,EAAkBrB,IAAlB,EAAwBmB,QAAxB,CAAlB;MAEAzB,YAAY,CAACS,IAAD,CAAZ,IAAsB,CAAtB;;MAEA,IAAIiB,SAAJ,EAAe;QACb,IAAIT,MAAM,CAACF,KAAP,CAAaa,SAAb,CAAuBC,QAAvB,IAAmCZ,MAAM,CAACF,KAAP,CAAaa,SAAb,CAAuBE,MAA9D,EAAsE;UACpEb,MAAM,CAACc,YAAP,CAAoBL,SAApB;QACD,CAFD,MAEO;UACL;UACA,IAAMM,QAAQ,GAAGjB,KAAK,CAACI,QAAN,CAAec,WAAf,EAAjB;;UAEA,IAAI,CAACD,QAAL,EAAe;YACb;UACD;;UACD,IAAME,UAAU,GAAGnB,KAAK,CAACI,QAAN,CAAegB,SAAf,CAAyBH,QAAQ,CAACI,GAAlC,CAAnB;;UAEA,IAAIF,UAAJ,EAAgB;YACd,IAAMG,KAAK,GAAGH,UAAU,CAACI,KAAX,CAAiBC,OAAjB,CAAyBP,QAAQ,CAACI,GAAlC,CAAd;YAEA,IAAIF,UAAU,CAACM,MAAf,EAAuB;YAEvBvB,MAAM,CAACwB,eAAP,CAAuBP,UAAU,CAACE,GAAlC,EAAuCC,KAAK,GAAG,CAA/C,EAAkDX,SAAlD;UACD;QACF;;QAED,IAAIA,SAAS,CAACjB,IAAV,KAAmB,mBAAvB,EAA4C;UAC1C,IAAMiC,QAAQ,GAAGzB,MAAM,CAACF,KAAP,CAAaI,QAAb,CAAsBwB,WAAtB,CAAkCjB,SAAS,CAACU,GAA5C,CAAjB;;UAEA,IAAIM,QAAJ,EAAc;YACZzB,MAAM,CAAC2B,WAAP,CAAmBF,QAAQ,CAACN,GAA5B,EAAiC,CAAjC,EAAoCS,YAApC,CAAiDH,QAAQ,CAACN,GAA1D,EAA+D,CAA/D;UACD;QACF;;QAEDpB,QAAQ,CAACC,MAAD,CAAR;MACD;IACF,CApDa;IAqDd6B,aAAa,EAAExC,IAAI,CAACyC,eArDN;IAsDdC,QAAQ,EAAE,kBAAAC,IAAI;MAAA,OAAIA,IAAI,CAACC,MAAL,KAAgB,QAAhB,IAA4BhD,YAAY,CAACqC,OAAb,CAAqBU,IAAI,CAACxC,IAA1B,KAAmC,CAAnE;IAAA,CAtDA;IAuDd0C,QAAQ,EAAE;EAvDI,CAAhB;EA0DA,OAAO;IACLC,IAAI,EAAE,eADD;IAEL1C,OAAO,EAAPA,OAFK;IAGL2C,aAAa,EAAE,uBAACJ,IAAD,EAAOK,OAAP,EAAmB;MAChC,IAAIL,IAAI,CAACxC,IAAL,KAAc,+BAAd,IAAiDwC,IAAI,CAACxC,IAAL,KAAc,mBAAnE,EAAwF;QACtF,OAAO,EAAP;MACD;;MAED,OAAO6C,OAAO,CAACC,MAAR,CAAe,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACJ,IAAF,KAAW,eAAf;MAAA,CAAhB,CAAP;IACD,CATI;IAULK,UAAU,EAAE,oBAACC,CAAD,EAAIT,IAAJ,EAAUlC,KAAV,EAAiBC,QAAjB,EAA8B;MACxC0C,CAAC,CAACC,cAAF;MAEA,IAAM1C,MAAM,GAAGF,KAAK,CAACE,MAAN,GAAe2C,eAAf,CAA+BX,IAAI,CAACb,GAApC,CAAf;MAEApB,QAAQ,CAACC,MAAD,CAAR;IACD,CAhBI;IAiBL4C,UAjBK,sBAiBMC,KAjBN,EAiBa;MAChB,IAAQC,UAAR,GAAgCD,KAAhC,CAAQC,UAAR;MAAA,IAA0BC,CAA1B,GAAgCF,KAAhC,CAAoBb,IAApB;;MAEA,IAAIe,CAAC,CAACvD,IAAF,KAAW,+BAAf,EAAgD;QAC9C,IAAMwD,IAAI,GAAGD,CAAC,CAACC,IAAF,CAAOC,MAAP,EAAb;QACA,IAAIC,KAAJ;;QAEA,IAAI7D,IAAI,CAAC6D,KAAT,EAAgB;UACdA,KAAK,GAAG7D,IAAI,CAAC6D,KAAL,EAAR;QACD;;QAED,oBACE,gCAAC,uCAAD;UACE,UAAU,EAAEJ,UADd;UAEE,KAAK,EAAEE,IAAI,CAAClD,KAFd;UAGE,KAAK,EAAEoD,KAAK,IAAIA,KAAK,CAACF,IAAI,CAAC5B,KAAN,CAAd,IAA8B8B,KAAK,CAACF,IAAI,CAAC5B,KAAN,CAAL,CAAkB,CAAlB;QAHvC,EADF;MAOD;;MAED,IAAI2B,CAAC,CAACvD,IAAF,KAAW,mBAAf,EAAoC;QAClC,IAAMwD,KAAI,GAAGD,CAAC,CAACC,IAAF,CAAOC,MAAP,EAAb;;QAEA,oBACE,gCAAC,0BAAD;UAAgB,UAAU,EAAEH,UAA5B;UAAwC,IAAI,EAAEE,KAA9C;UAAoD,CAAC,EAAED,CAAvD;UAA0D,SAAS,EAAEF,KAArE;UAA4E,IAAI,EAAExD;QAAlF,EADF;MAGD;;MAED,IAAI0D,CAAC,CAACvD,IAAF,KAAW,iBAAf,EAAkC;QAChC,IAAMwD,MAAI,GAAGD,CAAC,CAACC,IAAF,CAAOC,MAAP,EAAb;;QAEA,oBAAO,gCAAC,0BAAD;UAAgB,UAAU,EAAEH,UAA5B;UAAwC,YAAY,EAAEE,MAAI,CAAClD;QAA3D,EAAP;MACD;IACF,CAlDI;IAmDLC,QAnDK,oBAmDIC,MAnDJ,EAmDYmD,MAnDZ,EAmDoB;MACvB,IAAM3D,IAAI,GAAGH,IAAI,CAACG,IAAL,CAAUc,OAAV,CAAkB,IAAlB,EAAwB,GAAxB,CAAb;;MAEA,IAAI,IAAA8C,uBAAA,EAAYrE,YAAY,CAACS,IAAD,CAAxB,CAAJ,EAAqC;QACnCT,YAAY,CAACS,IAAD,CAAZ,GAAqB,CAArB;QAEAQ,MAAM,CAACF,KAAP,CAAaI,QAAb,CAAsBmD,iBAAtB,CAAwC,UAAA9D,CAAC,EAAI;UAC3C,IAAIA,CAAC,CAACC,IAAF,KAAWA,IAAf,EAAqB;YACnB,IAAMgB,QAAQ,GAAG8C,QAAQ,CAAC/D,CAAC,CAACyD,IAAF,CAAOO,GAAP,CAAW,OAAX,CAAD,EAAsB,EAAtB,CAAzB;;YAEA,IAAI/C,QAAQ,GAAGzB,YAAY,CAACS,IAAD,CAA3B,EAAmC;cACjCT,YAAY,CAACS,IAAD,CAAZ,GAAqBgB,QAArB;YACD;UACF;QACF,CARD;MASD;;MAED,IAAI,CAAC2C,MAAM,CAACrD,KAAZ,EAAmB;QACjB;MACD;;MAED,IAAMG,mBAAmB,GAAGD,MAAM,CAACF,KAAP,CAAaI,QAAb,CAAsBC,iBAAtB,CAAwCb,eAAxC,CAA5B;MACA,IAAMkE,eAAe,GAAGL,MAAM,CAACrD,KAAP,CAAaI,QAAb,CAAsBC,iBAAtB,CAAwCb,eAAxC,CAAxB;;MAEA,IAAIW,mBAAmB,CAACG,IAApB,IAA4Bf,IAAI,CAACgB,gBAArC,EAAuD;QACrDZ,OAAO,CAACgE,QAAR,GAAmB,IAAnB;MACD,CAFD,MAEO;QACLhE,OAAO,CAACgE,QAAR,GAAmB,KAAnB;MACD;;MAED,IAAMC,aAAa,GACjBF,eAAe,CAACpD,IAAhB,GAAuBH,mBAAmB,CAACG,IAA3C,GAAkDoD,eAAlD,GAAoEvD,mBADtE;MAEA,IAAM0D,mBAAmB,GACvBD,aAAa,KAAKF,eAAlB,GAAoCvD,mBAApC,GAA0DuD,eAD5D;MAGA,IAAMI,yBAAyB,GAAGF,aAAa,CAACpB,MAAd,CAChC,UAAA/C,CAAC;QAAA,OAAI,CAACoE,mBAAmB,CAACE,IAApB,CAAyB,UAAApB,CAAC;UAAA,OAAIA,CAAC,CAACO,IAAF,CAAOO,GAAP,CAAW,OAAX,MAAwBhE,CAAC,CAACyD,IAAF,CAAOO,GAAP,CAAW,OAAX,CAA5B;QAAA,CAA1B,CAAL;MAAA,CAD+B,CAAlC;;MAIA,IAAIK,yBAAyB,CAACxD,IAA1B,IAAkCoD,eAAe,CAACpD,IAAhB,GAAuBH,mBAAmB,CAACG,IAAjF,EAAuF;QACrFf,IAAI,CAACyE,kBAAL,CAAwBF,yBAAxB;MACD;IACF,CA7FI;IA8FLG,MA9FK,kBA8FEC,KA9FF,EA8FShE,MA9FT,EA8FiBmD,MA9FjB,EA8FyB;MAC5B,IAAMc,SAAS,GAAGD,KAAK,CAACE,MAAN,CAAaC,OAAb,CAAqB,YAArB,CAAlB;MACA,IAAMC,MAAM,GAAGjB,MAAM,CAACrD,KAAP,CAAaI,QAAb,CAAsBmE,cAAtB,CAAqC,UAAA9E,CAAC;QAAA,OAAIA,CAAC,CAAC4B,GAAF,KAAU8C,SAAS,CAACK,OAAV,CAAkBnD,GAAhC;MAAA,CAAtC,CAAf;;MAEA,IAAIiD,MAAM,CAAC5E,IAAP,KAAgB,mBAApB,EAAyC;QACvC,OAAO,KAAP;MACD;IACF;EArGI,CAAP;AAuGD;;AAEM,IAAM+E,aAAa,GAAG;EAC3BC,WAD2B,uBACfC,EADe,EACX;IACd,IAAMjF,IAAI,GAAGiF,EAAE,CAACH,OAAH,IAAcG,EAAE,CAACH,OAAH,CAAW9E,IAAtC;;IAEA,QAAQA,IAAR;MACE,KAAK,iBAAL;QACE,OAAO;UACLyC,MAAM,EAAE,QADH;UAELzC,IAAI,EAAE,iBAFD;UAGL+B,MAAM,EAAE,IAHH;UAILyB,IAAI,EAAE;YACJ5B,KAAK,EAAEqD,EAAE,CAACH,OAAH,CAAWlD,KADd;YAEJtB,KAAK,EAAE2E,EAAE,CAACH,OAAH,CAAWxE;UAFd;QAJD,CAAP;;MASF,KAAK,+BAAL;QACE,OAAO;UACLmC,MAAM,EAAE,QADH;UAELzC,IAAI,EAAE,+BAFD;UAGL+B,MAAM,EAAE,IAHH;UAILyB,IAAI,EAAE;YACJ5B,KAAK,EAAEqD,EAAE,CAACH,OAAH,CAAWlD,KADd;YAEJtB,KAAK,EAAE2E,EAAE,CAACH,OAAH,CAAWxE;UAFd;QAJD,CAAP;;MASF,KAAK,mBAAL;QACE,OAAO;UACLmC,MAAM,EAAE,QADH;UAELzC,IAAI,EAAE,mBAFD;UAGL+B,MAAM,EAAE,IAHH;UAILyB,IAAI,EAAE;YACJ5B,KAAK,EAAEqD,EAAE,CAACH,OAAH,CAAWlD,KADd;YAEJsD,EAAE,EAAED,EAAE,CAACH,OAAH,CAAWI,EAFX;YAGJ5E,KAAK,EAAE2E,EAAE,CAACH,OAAH,CAAWxE,KAHd;YAIJ6E,OAAO,EAAEF,EAAE,CAACH,OAAH,CAAWK;UAJhB;QAJD,CAAP;IAtBJ;EAkCD,CAtC0B;EAuC3BC,SAvC2B,qBAuCjB3C,MAvCiB,EAuCT;IAChB,IAAIA,MAAM,CAACA,MAAP,KAAkB,QAAtB,EAAgC;MAC9B;IACD;;IAED,QAAQA,MAAM,CAACzC,IAAf;MACE,KAAK,iBAAL;QAAwB;UACtB,IAAMwD,IAAI,GAAGf,MAAM,CAACe,IAAP,CAAYC,MAAZ,EAAb;UAEA,oBAAO;YAAM,aAAU,iBAAhB;YAAkC,cAAYD,IAAI,CAAC5B,KAAnD;YAA0D,cAAY4B,IAAI,CAAClD;UAA3E,EAAP;QACD;;MACD,KAAK,+BAAL;QAAsC;UACpC,IAAMkD,MAAI,GAAGf,MAAM,CAACe,IAAP,CAAYC,MAAZ,EAAb;;UAEA,oBACE;YACE,aAAU,+BADZ;YAEE,cAAYD,MAAI,CAAC5B,KAFnB;YAGE,cAAY4B,MAAI,CAAClD;UAHnB,EADF;QAOD;;MACD,KAAK,mBAAL;QAA0B;UACxB,IAAMkD,MAAI,GAAGf,MAAM,CAACe,IAAP,CAAYC,MAAZ,EAAb;;UAEA,oBACE;YACE,aAAU,mBADZ;YAEE,cAAYD,MAAI,CAAC5B,KAFnB;YAGE,WAAS4B,MAAI,CAAC0B,EAHhB;YAIE,cAAY1B,MAAI,CAAClD,KAJnB;YAKE,iBAAekD,MAAI,CAAC2B;UALtB,EADF;QASD;IA7BH;EA+BD;AA3E0B,CAAtB"}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports["default"] = void 0;
|
|
7
9
|
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
8
12
|
var _react = _interopRequireDefault(require("react"));
|
|
9
13
|
|
|
10
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
15
|
|
|
12
16
|
var _icons = require("../icons");
|
|
13
17
|
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
-
|
|
16
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
17
|
-
|
|
18
18
|
var InlineDropdown = function InlineDropdown(_ref) {
|
|
19
19
|
var attributes = _ref.attributes,
|
|
20
20
|
selectedItem = _ref.selectedItem;
|
|
21
21
|
// TODO: Investigate
|
|
22
22
|
// Needed because items with values inside have different positioning for some reason
|
|
23
23
|
var html = selectedItem || '<div> </div>';
|
|
24
|
-
return _react["default"].createElement("span",
|
|
24
|
+
return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
|
|
25
25
|
style: {
|
|
26
26
|
display: 'inline-flex',
|
|
27
27
|
height: '50px',
|
|
28
28
|
margin: '0 5px',
|
|
29
29
|
cursor: 'pointer'
|
|
30
30
|
}
|
|
31
|
-
}), _react["default"].createElement("div", {
|
|
31
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
32
32
|
style: {
|
|
33
33
|
display: 'inline-flex',
|
|
34
34
|
minWidth: '178px',
|
|
@@ -39,7 +39,7 @@ var InlineDropdown = function InlineDropdown(_ref) {
|
|
|
39
39
|
borderRadius: '3px',
|
|
40
40
|
position: 'relative'
|
|
41
41
|
}
|
|
42
|
-
}, _react["default"].createElement("div", {
|
|
42
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
43
43
|
style: {
|
|
44
44
|
flex: 1,
|
|
45
45
|
overflow: 'hidden',
|
|
@@ -51,7 +51,7 @@ var InlineDropdown = function InlineDropdown(_ref) {
|
|
|
51
51
|
dangerouslySetInnerHTML: {
|
|
52
52
|
__html: html
|
|
53
53
|
}
|
|
54
|
-
}), _react["default"].createElement(_icons.Chevron, {
|
|
54
|
+
}), /*#__PURE__*/_react["default"].createElement(_icons.Chevron, {
|
|
55
55
|
direction: "down",
|
|
56
56
|
style: {
|
|
57
57
|
position: 'absolute',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["InlineDropdown","attributes","selectedItem","html","display","height","margin","cursor","minWidth","background","border","boxSizing","borderRadius","position","flex","overflow","padding","whiteSpace","textOverflow","lineHeight","__html","top","right","propTypes","PropTypes","object","oneOfType","string"],"sources":["../../../../src/plugins/respArea/inline-dropdown/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Chevron } from '../icons';\n\nconst InlineDropdown = ({ attributes, selectedItem }) => {\n // TODO: Investigate\n // Needed because items with values inside have different positioning for some reason\n const html = selectedItem || '<div> </div>';\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n height: '50px',\n margin: '0 5px',\n cursor: 'pointer'\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n height: '36px',\n background: '#FFF',\n border: '1px solid #C0C3CF',\n boxSizing: 'border-box',\n borderRadius: '3px',\n position: 'relative'\n }}\n >\n <div\n style={{\n flex: 1,\n overflow: 'hidden',\n padding: '0 25px 0 8px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n lineHeight: '35px'\n }}\n dangerouslySetInnerHTML={{\n __html: html\n }}\n />\n <Chevron\n direction=\"down\"\n style={{\n position: 'absolute',\n top: '5px',\n right: '5px'\n }}\n />\n </div>\n </span>\n );\n};\n\nInlineDropdown.propTypes = {\n attributes: PropTypes.object,\n selectedItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n};\n\nexport default InlineDropdown;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAAkC;EAAA,IAA/BC,UAA+B,QAA/BA,UAA+B;EAAA,IAAnBC,YAAmB,QAAnBA,YAAmB;EACvD;EACA;EACA,IAAMC,IAAI,GAAGD,YAAY,IAAI,kBAA7B;EAEA,oBACE,sEACMD,UADN;IAEE,KAAK,EAAE;MACLG,OAAO,EAAE,aADJ;MAELC,MAAM,EAAE,MAFH;MAGLC,MAAM,EAAE,OAHH;MAILC,MAAM,EAAE;IAJH;EAFT,iBASE;IACE,KAAK,EAAE;MACLH,OAAO,EAAE,aADJ;MAELI,QAAQ,EAAE,OAFL;MAGLH,MAAM,EAAE,MAHH;MAILI,UAAU,EAAE,MAJP;MAKLC,MAAM,EAAE,mBALH;MAMLC,SAAS,EAAE,YANN;MAOLC,YAAY,EAAE,KAPT;MAQLC,QAAQ,EAAE;IARL;EADT,gBAYE;IACE,KAAK,EAAE;MACLC,IAAI,EAAE,CADD;MAELC,QAAQ,EAAE,QAFL;MAGLC,OAAO,EAAE,cAHJ;MAILC,UAAU,EAAE,QAJP;MAKLC,YAAY,EAAE,UALT;MAMLC,UAAU,EAAE;IANP,CADT;IASE,uBAAuB,EAAE;MACvBC,MAAM,EAAEjB;IADe;EAT3B,EAZF,eAyBE,gCAAC,cAAD;IACE,SAAS,EAAC,MADZ;IAEE,KAAK,EAAE;MACLU,QAAQ,EAAE,UADL;MAELQ,GAAG,EAAE,KAFA;MAGLC,KAAK,EAAE;IAHF;EAFT,EAzBF,CATF,CADF;AA8CD,CAnDD;;AAqDAtB,cAAc,CAACuB,SAAf,GAA2B;EACzBtB,UAAU,EAAEuB,qBAAA,CAAUC,MADG;EAEzBvB,YAAY,EAAEsB,qBAAA,CAAUE,SAAV,CAAoB,CAACF,qBAAA,CAAUG,MAAX,EAAmBH,qBAAA,CAAUC,MAA7B,CAApB;AAFW,CAA3B;eAKezB,c"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.
|
|
8
|
+
exports.isNumber = exports.insertSnackBar = exports.getDefaultElement = exports.defaultIDD = exports.defaultECR = exports.defaultDIB = void 0;
|
|
7
9
|
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
|
|
@@ -13,8 +15,6 @@ var _slate = require("slate");
|
|
|
13
15
|
|
|
14
16
|
var _Snackbar = _interopRequireDefault(require("@material-ui/core/Snackbar"));
|
|
15
17
|
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
-
|
|
18
18
|
var isNumber = function isNumber(val) {
|
|
19
19
|
return !isNaN(parseFloat(val)) && isFinite(val);
|
|
20
20
|
};
|
|
@@ -29,7 +29,7 @@ var insertSnackBar = function insertSnackBar(message) {
|
|
|
29
29
|
var newEl = document.createElement('div');
|
|
30
30
|
newEl.className = 'response-area-alert';
|
|
31
31
|
|
|
32
|
-
var el = _react["default"].createElement(_Snackbar["default"], {
|
|
32
|
+
var el = /*#__PURE__*/_react["default"].createElement(_Snackbar["default"], {
|
|
33
33
|
anchorOrigin: {
|
|
34
34
|
vertical: 'top',
|
|
35
35
|
horizontal: 'center'
|
|
@@ -38,7 +38,7 @@ var insertSnackBar = function insertSnackBar(message) {
|
|
|
38
38
|
ContentProps: {
|
|
39
39
|
'aria-describedby': 'message-id'
|
|
40
40
|
},
|
|
41
|
-
message: _react["default"].createElement("span", {
|
|
41
|
+
message: /*#__PURE__*/_react["default"].createElement("span", {
|
|
42
42
|
id: "message-id"
|
|
43
43
|
}, message)
|
|
44
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils.js","names":["isNumber","val","isNaN","parseFloat","isFinite","insertSnackBar","message","prevSnacks","document","querySelectorAll","forEach","s","remove","newEl","createElement","className","el","vertical","horizontal","ReactDOM","render","body","appendChild","setTimeout","defaultECR","index","Inline","create","type","isVoid","data","defaultDIB","opts","duplicates","options","value","defaultIDD","object","getDefaultElement"],"sources":["../../../src/plugins/respArea/utils.jsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Inline } from 'slate';\nimport Snackbar from '@material-ui/core/Snackbar';\n\nexport const isNumber = val => !isNaN(parseFloat(val)) && isFinite(val);\n\nexport const insertSnackBar = message => {\n const prevSnacks = document.querySelectorAll('.response-area-alert');\n\n prevSnacks.forEach(s => s.remove());\n\n const newEl = document.createElement('div');\n\n newEl.className = 'response-area-alert';\n\n const el = (\n <Snackbar\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\n open={true}\n ContentProps={{\n 'aria-describedby': 'message-id'\n }}\n message={<span id=\"message-id\">{message}</span>}\n />\n );\n\n ReactDOM.render(el, newEl);\n\n document.body.appendChild(newEl);\n\n setTimeout(() => {\n newEl.remove();\n }, 2000);\n};\n\nexport const defaultECR = index =>\n Inline.create({\n type: 'explicit_constructed_response',\n isVoid: true,\n data: {\n index\n }\n });\n\nexport const defaultDIB = (opts, index) =>\n Inline.create({\n type: 'drag_in_the_blank',\n isVoid: true,\n data: {\n index,\n duplicates: opts.options.duplicates,\n value: null\n }\n });\n\nexport const defaultIDD = index =>\n Inline.create({\n object: 'inline',\n type: 'inline_dropdown',\n isVoid: true,\n data: {\n index\n }\n });\n\nexport const getDefaultElement = (opts, index) => {\n switch (opts.type) {\n case 'explicit-constructed-response':\n return defaultECR(index);\n case 'drag-in-the-blank':\n return defaultDIB(opts, index);\n default:\n // inline-dropdown\n return defaultIDD(index);\n }\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAAAC,GAAG;EAAA,OAAI,CAACC,KAAK,CAACC,UAAU,CAACF,GAAD,CAAX,CAAN,IAA2BG,QAAQ,CAACH,GAAD,CAAvC;AAAA,CAApB;;;;AAEA,IAAMI,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,OAAO,EAAI;EACvC,IAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAT,CAA0B,sBAA1B,CAAnB;EAEAF,UAAU,CAACG,OAAX,CAAmB,UAAAC,CAAC;IAAA,OAAIA,CAAC,CAACC,MAAF,EAAJ;EAAA,CAApB;EAEA,IAAMC,KAAK,GAAGL,QAAQ,CAACM,aAAT,CAAuB,KAAvB,CAAd;EAEAD,KAAK,CAACE,SAAN,GAAkB,qBAAlB;;EAEA,IAAMC,EAAE,gBACN,gCAAC,oBAAD;IACE,YAAY,EAAE;MAAEC,QAAQ,EAAE,KAAZ;MAAmBC,UAAU,EAAE;IAA/B,CADhB;IAEE,IAAI,EAAE,IAFR;IAGE,YAAY,EAAE;MACZ,oBAAoB;IADR,CAHhB;IAME,OAAO,eAAE;MAAM,EAAE,EAAC;IAAT,GAAuBZ,OAAvB;EANX,EADF;;EAWAa,oBAAA,CAASC,MAAT,CAAgBJ,EAAhB,EAAoBH,KAApB;;EAEAL,QAAQ,CAACa,IAAT,CAAcC,WAAd,CAA0BT,KAA1B;EAEAU,UAAU,CAAC,YAAM;IACfV,KAAK,CAACD,MAAN;EACD,CAFS,EAEP,IAFO,CAAV;AAGD,CA3BM;;;;AA6BA,IAAMY,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK;EAAA,OAC7BC,aAAA,CAAOC,MAAP,CAAc;IACZC,IAAI,EAAE,+BADM;IAEZC,MAAM,EAAE,IAFI;IAGZC,IAAI,EAAE;MACJL,KAAK,EAALA;IADI;EAHM,CAAd,CAD6B;AAAA,CAAxB;;;;AASA,IAAMM,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD,EAAOP,KAAP;EAAA,OACxBC,aAAA,CAAOC,MAAP,CAAc;IACZC,IAAI,EAAE,mBADM;IAEZC,MAAM,EAAE,IAFI;IAGZC,IAAI,EAAE;MACJL,KAAK,EAALA,KADI;MAEJQ,UAAU,EAAED,IAAI,CAACE,OAAL,CAAaD,UAFrB;MAGJE,KAAK,EAAE;IAHH;EAHM,CAAd,CADwB;AAAA,CAAnB;;;;AAWA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAAAX,KAAK;EAAA,OAC7BC,aAAA,CAAOC,MAAP,CAAc;IACZU,MAAM,EAAE,QADI;IAEZT,IAAI,EAAE,iBAFM;IAGZC,MAAM,EAAE,IAHI;IAIZC,IAAI,EAAE;MACJL,KAAK,EAALA;IADI;EAJM,CAAd,CAD6B;AAAA,CAAxB;;;;AAUA,IAAMa,iBAAiB,GAAG,SAApBA,iBAAoB,CAACN,IAAD,EAAOP,KAAP,EAAiB;EAChD,QAAQO,IAAI,CAACJ,IAAb;IACE,KAAK,+BAAL;MACE,OAAOJ,UAAU,CAACC,KAAD,CAAjB;;IACF,KAAK,mBAAL;MACE,OAAOM,UAAU,CAACC,IAAD,EAAOP,KAAP,CAAjB;;IACF;MACE;MACA,OAAOW,UAAU,CAACX,KAAD,CAAjB;EAPJ;AASD,CAVM"}
|