@pie-lib/drag 2.2.3-next.0 → 2.2.3-next.12
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/lib/drag-in-the-blank-dp.js +5 -2
- package/lib/drag-in-the-blank-dp.js.map +1 -1
- package/lib/drag-type.js +15 -0
- package/lib/drag-type.js.map +1 -0
- package/lib/ica-dp.js +37 -0
- package/lib/ica-dp.js.map +1 -0
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -1
- package/lib/match-list-dp.js +5 -2
- package/lib/match-list-dp.js.map +1 -1
- package/lib/preview-component.js +62 -27
- package/lib/preview-component.js.map +1 -1
- package/package.json +2 -2
- package/src/drag-in-the-blank-dp.jsx +2 -3
- package/src/drag-type.js +7 -0
- package/src/ica-dp.jsx +23 -0
- package/src/index.js +2 -0
- package/src/match-list-dp.jsx +2 -3
- package/src/preview-component.jsx +68 -33
|
@@ -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
|
});
|
|
@@ -9,7 +11,8 @@ var _reactDnd = require("react-dnd");
|
|
|
9
11
|
|
|
10
12
|
var _droppablePlaceholder = require("../lib/droppable-placeholder");
|
|
11
13
|
|
|
12
|
-
var
|
|
14
|
+
var _dragType = _interopRequireDefault(require("./drag-type"));
|
|
15
|
+
|
|
13
16
|
var spec = {
|
|
14
17
|
canDrop: function canDrop(props) {
|
|
15
18
|
return !props.disabled;
|
|
@@ -21,7 +24,7 @@ var spec = {
|
|
|
21
24
|
}
|
|
22
25
|
};
|
|
23
26
|
exports.spec = spec;
|
|
24
|
-
var WithTarget = (0, _reactDnd.DropTarget)(
|
|
27
|
+
var WithTarget = (0, _reactDnd.DropTarget)(_dragType["default"].types.db, spec, function (connect, monitor) {
|
|
25
28
|
return {
|
|
26
29
|
connectDropTarget: connect.dropTarget(),
|
|
27
30
|
isOver: monitor.isOver()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/drag-in-the-blank-dp.jsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/drag-in-the-blank-dp.jsx"],"names":["spec","canDrop","props","disabled","drop","dropped","WithTarget","dragType","types","db","connect","monitor","connectDropTarget","dropTarget","isOver","DroppablePlaceholder"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,IAAI,GAAG;AAClBC,EAAAA,OAAO,EAAE,iBAACC,KAAD,EAAW;AAClB,WAAO,CAACA,KAAK,CAACC,QAAd;AACD,GAHiB;AAIlBC,EAAAA,IAAI,EAAE;AAAA,WAAO;AACXC,MAAAA,OAAO,EAAE;AADE,KAAP;AAAA;AAJY,CAAb;;AASP,IAAMC,UAAU,GAAG,0BAAWC,qBAASC,KAAT,CAAeC,EAA1B,EAA8BT,IAA9B,EAAoC,UAACU,OAAD,EAAUC,OAAV;AAAA,SAAuB;AAC5EC,IAAAA,iBAAiB,EAAEF,OAAO,CAACG,UAAR,EADyD;AAE5EC,IAAAA,MAAM,EAAEH,OAAO,CAACG,MAAR;AAFoE,GAAvB;AAAA,CAApC,EAGfC,0CAHe,CAAnB;eAKeT,U","sourcesContent":["import { DropTarget } from 'react-dnd';\nimport { DroppablePlaceholder } from '../lib/droppable-placeholder';\nimport dragType from './drag-type';\n\nexport const spec = {\n canDrop: (props) => {\n return !props.disabled;\n },\n drop: () => ({\n dropped: true,\n }),\n};\n\nconst WithTarget = DropTarget(dragType.types.db, spec, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(DroppablePlaceholder);\n\nexport default WithTarget;\n"],"file":"drag-in-the-blank-dp.js"}
|
package/lib/drag-type.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _default = {
|
|
8
|
+
types: {
|
|
9
|
+
ica: 'react-dnd-response',
|
|
10
|
+
ml: 'Answer',
|
|
11
|
+
db: 'MaskBlank'
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports["default"] = _default;
|
|
15
|
+
//# sourceMappingURL=drag-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/drag-type.js"],"names":["types","ica","ml","db"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,GAAG,EAAE,oBADA;AAELC,IAAAA,EAAE,EAAE,QAFC;AAGLC,IAAAA,EAAE,EAAE;AAHC;AADM,C","sourcesContent":["export default {\n types: {\n ica: 'react-dnd-response',\n ml: 'Answer',\n db: 'MaskBlank',\n },\n};\n"],"file":"drag-type.js"}
|
package/lib/ica-dp.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.spec = exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _reactDnd = require("react-dnd");
|
|
11
|
+
|
|
12
|
+
var _droppablePlaceholder = require("./droppable-placeholder");
|
|
13
|
+
|
|
14
|
+
var _dragType = _interopRequireDefault(require("./drag-type"));
|
|
15
|
+
|
|
16
|
+
var spec = {
|
|
17
|
+
canDrop: function canDrop(props) {
|
|
18
|
+
return !props.disabled;
|
|
19
|
+
},
|
|
20
|
+
drop: function drop(props, monitor) {
|
|
21
|
+
var item = monitor.getItem();
|
|
22
|
+
|
|
23
|
+
if (props.onRemoveAnswer) {
|
|
24
|
+
props.onRemoveAnswer(item);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.spec = spec;
|
|
29
|
+
var WithTarget = (0, _reactDnd.DropTarget)(_dragType["default"].types.ica, spec, function (connect, monitor) {
|
|
30
|
+
return {
|
|
31
|
+
connectDropTarget: connect.dropTarget(),
|
|
32
|
+
isOver: monitor.isOver()
|
|
33
|
+
};
|
|
34
|
+
})(_droppablePlaceholder.DroppablePlaceholder);
|
|
35
|
+
var _default = WithTarget;
|
|
36
|
+
exports["default"] = _default;
|
|
37
|
+
//# sourceMappingURL=ica-dp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ica-dp.jsx"],"names":["spec","canDrop","props","disabled","drop","monitor","item","getItem","onRemoveAnswer","WithTarget","dragType","types","ica","connect","connectDropTarget","dropTarget","isOver","DroppablePlaceholder"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,IAAI,GAAG;AAClBC,EAAAA,OAAO,EAAE,iBAACC,KAAD,EAAW;AAClB,WAAO,CAACA,KAAK,CAACC,QAAd;AACD,GAHiB;AAIlBC,EAAAA,IAAI,EAAE,cAACF,KAAD,EAAQG,OAAR,EAAoB;AACxB,QAAMC,IAAI,GAAGD,OAAO,CAACE,OAAR,EAAb;;AAEA,QAAIL,KAAK,CAACM,cAAV,EAA0B;AACxBN,MAAAA,KAAK,CAACM,cAAN,CAAqBF,IAArB;AACD;AACF;AAViB,CAAb;;AAaP,IAAMG,UAAU,GAAG,0BAAWC,qBAASC,KAAT,CAAeC,GAA1B,EAA+BZ,IAA/B,EAAqC,UAACa,OAAD,EAAUR,OAAV;AAAA,SAAuB;AAC7ES,IAAAA,iBAAiB,EAAED,OAAO,CAACE,UAAR,EAD0D;AAE7EC,IAAAA,MAAM,EAAEX,OAAO,CAACW,MAAR;AAFqE,GAAvB;AAAA,CAArC,EAGfC,0CAHe,CAAnB;eAKeR,U","sourcesContent":["import { DropTarget } from 'react-dnd';\nimport { DroppablePlaceholder } from './droppable-placeholder';\nimport dragType from './drag-type';\n\nexport const spec = {\n canDrop: (props) => {\n return !props.disabled;\n },\n drop: (props, monitor) => {\n const item = monitor.getItem();\n\n if (props.onRemoveAnswer) {\n props.onRemoveAnswer(item);\n }\n },\n};\n\nconst WithTarget = DropTarget(dragType.types.ica, spec, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(DroppablePlaceholder);\n\nexport default WithTarget;\n"],"file":"ica-dp.js"}
|
package/lib/index.js
CHANGED
|
@@ -31,6 +31,12 @@ Object.defineProperty(exports, "DropTarget", {
|
|
|
31
31
|
return _reactDnd.DropTarget;
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
+
Object.defineProperty(exports, "ICADroppablePlaceholder", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
get: function get() {
|
|
37
|
+
return _icaDp["default"];
|
|
38
|
+
}
|
|
39
|
+
});
|
|
34
40
|
Object.defineProperty(exports, "MatchDroppablePlaceholder", {
|
|
35
41
|
enumerable: true,
|
|
36
42
|
get: function get() {
|
|
@@ -75,6 +81,8 @@ var _matchListDp = _interopRequireDefault(require("./match-list-dp"));
|
|
|
75
81
|
|
|
76
82
|
var _dragInTheBlankDp = _interopRequireDefault(require("./drag-in-the-blank-dp"));
|
|
77
83
|
|
|
84
|
+
var _icaDp = _interopRequireDefault(require("./ica-dp"));
|
|
85
|
+
|
|
78
86
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
79
87
|
|
|
80
88
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AACA;;AACA;;AACA","sourcesContent":["import { DragSource, DropTarget } from 'react-dnd';\n\nimport PlaceHolder from './placeholder';\nimport Choice from './choice';\nimport withDragContext from './with-drag-context';\nimport swap from './swap';\nimport * as uid from './uid-context';\nimport MatchDroppablePlaceholder from './match-list-dp';\nimport DragDroppablePlaceholder from './drag-in-the-blank-dp';\nimport ICADroppablePlaceholder from './ica-dp';\n\nexport {\n PlaceHolder,\n MatchDroppablePlaceholder,\n DragDroppablePlaceholder,\n ICADroppablePlaceholder,\n withDragContext,\n Choice,\n swap,\n uid,\n DragSource,\n DropTarget,\n};\n"],"file":"index.js"}
|
package/lib/match-list-dp.js
CHANGED
|
@@ -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
|
});
|
|
@@ -9,7 +11,8 @@ var _reactDnd = require("react-dnd");
|
|
|
9
11
|
|
|
10
12
|
var _droppablePlaceholder = require("./droppable-placeholder");
|
|
11
13
|
|
|
12
|
-
var
|
|
14
|
+
var _dragType = _interopRequireDefault(require("./drag-type"));
|
|
15
|
+
|
|
13
16
|
var spec = {
|
|
14
17
|
canDrop: function canDrop(props) {
|
|
15
18
|
return !props.disabled;
|
|
@@ -23,7 +26,7 @@ var spec = {
|
|
|
23
26
|
}
|
|
24
27
|
};
|
|
25
28
|
exports.spec = spec;
|
|
26
|
-
var WithTarget = (0, _reactDnd.DropTarget)(
|
|
29
|
+
var WithTarget = (0, _reactDnd.DropTarget)(_dragType["default"].types.ml, spec, function (connect, monitor) {
|
|
27
30
|
return {
|
|
28
31
|
connectDropTarget: connect.dropTarget(),
|
|
29
32
|
isOver: monitor.isOver()
|
package/lib/match-list-dp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/match-list-dp.jsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/match-list-dp.jsx"],"names":["spec","canDrop","props","disabled","drop","monitor","item","getItem","onRemoveAnswer","promptId","WithTarget","dragType","types","ml","connect","connectDropTarget","dropTarget","isOver","DroppablePlaceholder"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,IAAI,GAAG;AAClBC,EAAAA,OAAO,EAAE,iBAACC,KAAD,EAAW;AAClB,WAAO,CAACA,KAAK,CAACC,QAAd;AACD,GAHiB;AAIlBC,EAAAA,IAAI,EAAE,cAACF,KAAD,EAAQG,OAAR,EAAoB;AACxB,QAAMC,IAAI,GAAGD,OAAO,CAACE,OAAR,EAAb;;AAEA,QAAIL,KAAK,CAACM,cAAV,EAA0B;AACxBN,MAAAA,KAAK,CAACM,cAAN,CAAqBF,IAAI,CAACG,QAA1B;AACD;AACF;AAViB,CAAb;;AAaP,IAAMC,UAAU,GAAG,0BAAWC,qBAASC,KAAT,CAAeC,EAA1B,EAA8Bb,IAA9B,EAAoC,UAACc,OAAD,EAAUT,OAAV;AAAA,SAAuB;AAC5EU,IAAAA,iBAAiB,EAAED,OAAO,CAACE,UAAR,EADyD;AAE5EC,IAAAA,MAAM,EAAEZ,OAAO,CAACY,MAAR;AAFoE,GAAvB;AAAA,CAApC,EAGfC,0CAHe,CAAnB;eAKeR,U","sourcesContent":["import { DropTarget } from 'react-dnd';\nimport { DroppablePlaceholder } from './droppable-placeholder';\nimport dragType from './drag-type';\n\nexport const spec = {\n canDrop: (props) => {\n return !props.disabled;\n },\n drop: (props, monitor) => {\n const item = monitor.getItem();\n\n if (props.onRemoveAnswer) {\n props.onRemoveAnswer(item.promptId);\n }\n },\n};\n\nconst WithTarget = DropTarget(dragType.types.ml, spec, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(DroppablePlaceholder);\n\nexport default WithTarget;\n"],"file":"match-list-dp.js"}
|
package/lib/preview-component.js
CHANGED
|
@@ -27,30 +27,52 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
27
27
|
|
|
28
28
|
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; }
|
|
29
29
|
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
30
|
+
var styles = {
|
|
31
|
+
maskBlank: {
|
|
32
|
+
border: '1px solid black',
|
|
33
|
+
color: 'black',
|
|
34
|
+
minWidth: '90px',
|
|
35
|
+
minHeight: '32px',
|
|
36
|
+
height: 'auto',
|
|
37
|
+
maxWidth: '374px',
|
|
38
|
+
display: 'flex',
|
|
39
|
+
padding: '4px',
|
|
40
|
+
alignItems: 'center',
|
|
41
|
+
justifyContent: 'center',
|
|
42
|
+
borderRadius: '16px'
|
|
43
|
+
},
|
|
44
|
+
ica: {
|
|
45
|
+
backgroundColor: _renderUi.color.background(),
|
|
46
|
+
border: "1px solid ".concat(_renderUi.color.primary()),
|
|
47
|
+
display: 'flex',
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
justifyContent: 'center',
|
|
50
|
+
minHeight: '28px',
|
|
51
|
+
padding: '0 3px',
|
|
52
|
+
marginLeft: 2,
|
|
53
|
+
marginTop: 2,
|
|
54
|
+
width: 'fit-content'
|
|
55
|
+
},
|
|
56
|
+
categorize: {
|
|
57
|
+
color: _renderUi.color.text(),
|
|
58
|
+
backgroundColor: _renderUi.color.background(),
|
|
59
|
+
padding: '16px',
|
|
60
|
+
borderRadius: '4px',
|
|
61
|
+
border: '1px solid'
|
|
62
|
+
},
|
|
63
|
+
matchList: {
|
|
64
|
+
color: _renderUi.color.text(),
|
|
65
|
+
backgroundColor: _renderUi.color.background(),
|
|
66
|
+
padding: '10px',
|
|
67
|
+
boxSizing: 'border-box',
|
|
68
|
+
border: '1px solid #D1D1D1'
|
|
69
|
+
},
|
|
70
|
+
placementOrdering: {
|
|
71
|
+
padding: '10px',
|
|
72
|
+
boxSizing: 'border-box',
|
|
73
|
+
border: '1px solid #D1D1D1',
|
|
74
|
+
backgroundColor: _renderUi.color.background()
|
|
75
|
+
}
|
|
54
76
|
};
|
|
55
77
|
|
|
56
78
|
var getPrompt = function getPrompt(itemType, item) {
|
|
@@ -64,12 +86,26 @@ var getPrompt = function getPrompt(itemType, item) {
|
|
|
64
86
|
|
|
65
87
|
case 'react-dnd-response':
|
|
66
88
|
return item === null || item === void 0 ? void 0 : item.value;
|
|
89
|
+
// MATCH-LIST
|
|
90
|
+
|
|
91
|
+
case 'Answer':
|
|
92
|
+
return item === null || item === void 0 ? void 0 : item.value;
|
|
93
|
+
// PLACEMENT-ORDERING
|
|
94
|
+
|
|
95
|
+
case 'Tile':
|
|
96
|
+
return item === null || item === void 0 ? void 0 : item.value;
|
|
67
97
|
|
|
68
98
|
default:
|
|
69
|
-
return undefined;
|
|
99
|
+
return (item === null || item === void 0 ? void 0 : item.itemType) === 'categorize' ? item === null || item === void 0 ? void 0 : item.value : undefined;
|
|
70
100
|
}
|
|
71
101
|
};
|
|
72
102
|
|
|
103
|
+
var getCustomStyle = function getCustomStyle(itemType, item, style) {
|
|
104
|
+
var baseStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, style), itemType === 'MaskBlank' ? styles.maskBlank : {}), (item === null || item === void 0 ? void 0 : item.itemType) === 'categorize' ? styles.categorize : {}), itemType === 'Answer' ? styles.matchList : {}), itemType === 'Tile' ? styles.placementOrdering : {}), itemType === 'react-dnd-response' ? styles.ica : {});
|
|
105
|
+
|
|
106
|
+
return baseStyle;
|
|
107
|
+
};
|
|
108
|
+
|
|
73
109
|
var PreviewComponent = function PreviewComponent() {
|
|
74
110
|
var _item$choice2;
|
|
75
111
|
|
|
@@ -89,8 +125,7 @@ var PreviewComponent = function PreviewComponent() {
|
|
|
89
125
|
return null;
|
|
90
126
|
}
|
|
91
127
|
|
|
92
|
-
var customStyle =
|
|
93
|
-
|
|
128
|
+
var customStyle = getCustomStyle(itemType, item, style);
|
|
94
129
|
var prompt = getPrompt(itemType, item);
|
|
95
130
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
96
131
|
ref: root,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/preview-component.jsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/preview-component.jsx"],"names":["styles","maskBlank","border","color","minWidth","minHeight","height","maxWidth","display","padding","alignItems","justifyContent","borderRadius","ica","backgroundColor","background","primary","marginLeft","marginTop","width","categorize","text","matchList","boxSizing","placementOrdering","getPrompt","itemType","item","choice","value","undefined","getCustomStyle","style","baseStyle","PreviewComponent","preview","root","current","customStyle","prompt"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { usePreview } from 'react-dnd-multi-backend';\nimport { PreviewPrompt } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { color } from '@pie-lib/render-ui';\n\nconst styles = {\n maskBlank: {\n border: '1px solid black',\n color: 'black',\n minWidth: '90px',\n minHeight: '32px',\n height: 'auto',\n maxWidth: '374px',\n display: 'flex',\n padding: '4px',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '16px',\n },\n ica: {\n backgroundColor: color.background(),\n border: `1px solid ${color.primary()}`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: '28px',\n padding: '0 3px',\n marginLeft: 2,\n marginTop: 2,\n width: 'fit-content',\n },\n categorize: {\n color: color.text(),\n backgroundColor: color.background(),\n padding: '16px',\n borderRadius: '4px',\n border: '1px solid',\n },\n matchList: {\n color: color.text(),\n backgroundColor: color.background(),\n padding: '10px',\n boxSizing: 'border-box',\n border: '1px solid #D1D1D1',\n },\n placementOrdering: {\n padding: '10px',\n boxSizing: 'border-box',\n border: '1px solid #D1D1D1',\n backgroundColor: color.background(),\n },\n};\n\nconst getPrompt = (itemType, item) => {\n switch (itemType) {\n // DRAG-IN-THE-BLANK\n case 'MaskBlank':\n return item?.choice?.value;\n // IMAGE-CLOZE-ASSOCIATION\n case 'react-dnd-response':\n return item?.value;\n // MATCH-LIST\n case 'Answer':\n return item?.value;\n // PLACEMENT-ORDERING\n case 'Tile':\n return item?.value;\n default:\n return item?.itemType === 'categorize' ? item?.value : undefined;\n }\n};\n\nconst getCustomStyle = (itemType, item, style) => {\n const baseStyle = {\n ...style,\n ...(itemType === 'MaskBlank' ? styles.maskBlank : {}),\n ...(item?.itemType === 'categorize' ? styles.categorize : {}),\n ...(itemType === 'Answer' ? styles.matchList : {}),\n ...(itemType === 'Tile' ? styles.placementOrdering : {}),\n ...(itemType === 'react-dnd-response' ? styles.ica : {}),\n };\n\n return baseStyle;\n};\n\nconst PreviewComponent = () => {\n const preview = usePreview();\n const { itemType, item, style, display } = preview;\n\n const root = useRef(null);\n\n useEffect(() => {\n if (display && root.current) {\n renderMath(root.current);\n }\n }, [display, item?.choice?.value, item?.value, itemType, item]);\n\n if (!display) {\n return null;\n }\n\n const customStyle = getCustomStyle(itemType, item, style);\n\n const prompt = getPrompt(itemType, item);\n\n return (\n <div ref={root} style={customStyle}>\n <PreviewPrompt className=\"label\" prompt={prompt} tagName=\"span\" />\n </div>\n );\n};\n\nexport default PreviewComponent;\n"],"file":"preview-component.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-lib/drag",
|
|
3
|
-
"version": "2.2.3-next.
|
|
3
|
+
"version": "2.2.3-next.12+c191a778",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "src/index.js",
|
|
@@ -19,5 +19,5 @@
|
|
|
19
19
|
"scripts": {},
|
|
20
20
|
"author": "",
|
|
21
21
|
"license": "ISC",
|
|
22
|
-
"gitHead": "
|
|
22
|
+
"gitHead": "c191a778d6855cacf7e139b1f206e8bab262ce76"
|
|
23
23
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DropTarget } from 'react-dnd';
|
|
2
2
|
import { DroppablePlaceholder } from '../lib/droppable-placeholder';
|
|
3
|
-
|
|
4
|
-
const DRAG_TYPE = 'MaskBlank';
|
|
3
|
+
import dragType from './drag-type';
|
|
5
4
|
|
|
6
5
|
export const spec = {
|
|
7
6
|
canDrop: (props) => {
|
|
@@ -12,7 +11,7 @@ export const spec = {
|
|
|
12
11
|
}),
|
|
13
12
|
};
|
|
14
13
|
|
|
15
|
-
const WithTarget = DropTarget(
|
|
14
|
+
const WithTarget = DropTarget(dragType.types.db, spec, (connect, monitor) => ({
|
|
16
15
|
connectDropTarget: connect.dropTarget(),
|
|
17
16
|
isOver: monitor.isOver(),
|
|
18
17
|
}))(DroppablePlaceholder);
|
package/src/drag-type.js
ADDED
package/src/ica-dp.jsx
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DropTarget } from 'react-dnd';
|
|
2
|
+
import { DroppablePlaceholder } from './droppable-placeholder';
|
|
3
|
+
import dragType from './drag-type';
|
|
4
|
+
|
|
5
|
+
export const spec = {
|
|
6
|
+
canDrop: (props) => {
|
|
7
|
+
return !props.disabled;
|
|
8
|
+
},
|
|
9
|
+
drop: (props, monitor) => {
|
|
10
|
+
const item = monitor.getItem();
|
|
11
|
+
|
|
12
|
+
if (props.onRemoveAnswer) {
|
|
13
|
+
props.onRemoveAnswer(item);
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const WithTarget = DropTarget(dragType.types.ica, spec, (connect, monitor) => ({
|
|
19
|
+
connectDropTarget: connect.dropTarget(),
|
|
20
|
+
isOver: monitor.isOver(),
|
|
21
|
+
}))(DroppablePlaceholder);
|
|
22
|
+
|
|
23
|
+
export default WithTarget;
|
package/src/index.js
CHANGED
|
@@ -7,11 +7,13 @@ import swap from './swap';
|
|
|
7
7
|
import * as uid from './uid-context';
|
|
8
8
|
import MatchDroppablePlaceholder from './match-list-dp';
|
|
9
9
|
import DragDroppablePlaceholder from './drag-in-the-blank-dp';
|
|
10
|
+
import ICADroppablePlaceholder from './ica-dp';
|
|
10
11
|
|
|
11
12
|
export {
|
|
12
13
|
PlaceHolder,
|
|
13
14
|
MatchDroppablePlaceholder,
|
|
14
15
|
DragDroppablePlaceholder,
|
|
16
|
+
ICADroppablePlaceholder,
|
|
15
17
|
withDragContext,
|
|
16
18
|
Choice,
|
|
17
19
|
swap,
|
package/src/match-list-dp.jsx
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DropTarget } from 'react-dnd';
|
|
2
2
|
import { DroppablePlaceholder } from './droppable-placeholder';
|
|
3
|
-
|
|
4
|
-
const DRAG_TYPE = 'Answer';
|
|
3
|
+
import dragType from './drag-type';
|
|
5
4
|
|
|
6
5
|
export const spec = {
|
|
7
6
|
canDrop: (props) => {
|
|
@@ -16,7 +15,7 @@ export const spec = {
|
|
|
16
15
|
},
|
|
17
16
|
};
|
|
18
17
|
|
|
19
|
-
const WithTarget = DropTarget(
|
|
18
|
+
const WithTarget = DropTarget(dragType.types.ml, spec, (connect, monitor) => ({
|
|
20
19
|
connectDropTarget: connect.dropTarget(),
|
|
21
20
|
isOver: monitor.isOver(),
|
|
22
21
|
}))(DroppablePlaceholder);
|
|
@@ -4,31 +4,52 @@ import { PreviewPrompt } from '@pie-lib/render-ui';
|
|
|
4
4
|
import { renderMath } from '@pie-lib/math-rendering';
|
|
5
5
|
import { color } from '@pie-lib/render-ui';
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
7
|
+
const styles = {
|
|
8
|
+
maskBlank: {
|
|
9
|
+
border: '1px solid black',
|
|
10
|
+
color: 'black',
|
|
11
|
+
minWidth: '90px',
|
|
12
|
+
minHeight: '32px',
|
|
13
|
+
height: 'auto',
|
|
14
|
+
maxWidth: '374px',
|
|
15
|
+
display: 'flex',
|
|
16
|
+
padding: '4px',
|
|
17
|
+
alignItems: 'center',
|
|
18
|
+
justifyContent: 'center',
|
|
19
|
+
borderRadius: '16px',
|
|
20
|
+
},
|
|
21
|
+
ica: {
|
|
22
|
+
backgroundColor: color.background(),
|
|
23
|
+
border: `1px solid ${color.primary()}`,
|
|
24
|
+
display: 'flex',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
justifyContent: 'center',
|
|
27
|
+
minHeight: '28px',
|
|
28
|
+
padding: '0 3px',
|
|
29
|
+
marginLeft: 2,
|
|
30
|
+
marginTop: 2,
|
|
31
|
+
width: 'fit-content',
|
|
32
|
+
},
|
|
33
|
+
categorize: {
|
|
34
|
+
color: color.text(),
|
|
35
|
+
backgroundColor: color.background(),
|
|
36
|
+
padding: '16px',
|
|
37
|
+
borderRadius: '4px',
|
|
38
|
+
border: '1px solid',
|
|
39
|
+
},
|
|
40
|
+
matchList: {
|
|
41
|
+
color: color.text(),
|
|
42
|
+
backgroundColor: color.background(),
|
|
43
|
+
padding: '10px',
|
|
44
|
+
boxSizing: 'border-box',
|
|
45
|
+
border: '1px solid #D1D1D1',
|
|
46
|
+
},
|
|
47
|
+
placementOrdering: {
|
|
48
|
+
padding: '10px',
|
|
49
|
+
boxSizing: 'border-box',
|
|
50
|
+
border: '1px solid #D1D1D1',
|
|
51
|
+
backgroundColor: color.background(),
|
|
52
|
+
},
|
|
32
53
|
};
|
|
33
54
|
|
|
34
55
|
const getPrompt = (itemType, item) => {
|
|
@@ -39,16 +60,35 @@ const getPrompt = (itemType, item) => {
|
|
|
39
60
|
// IMAGE-CLOZE-ASSOCIATION
|
|
40
61
|
case 'react-dnd-response':
|
|
41
62
|
return item?.value;
|
|
63
|
+
// MATCH-LIST
|
|
64
|
+
case 'Answer':
|
|
65
|
+
return item?.value;
|
|
66
|
+
// PLACEMENT-ORDERING
|
|
67
|
+
case 'Tile':
|
|
68
|
+
return item?.value;
|
|
42
69
|
default:
|
|
43
|
-
return undefined;
|
|
70
|
+
return item?.itemType === 'categorize' ? item?.value : undefined;
|
|
44
71
|
}
|
|
45
72
|
};
|
|
46
73
|
|
|
74
|
+
const getCustomStyle = (itemType, item, style) => {
|
|
75
|
+
const baseStyle = {
|
|
76
|
+
...style,
|
|
77
|
+
...(itemType === 'MaskBlank' ? styles.maskBlank : {}),
|
|
78
|
+
...(item?.itemType === 'categorize' ? styles.categorize : {}),
|
|
79
|
+
...(itemType === 'Answer' ? styles.matchList : {}),
|
|
80
|
+
...(itemType === 'Tile' ? styles.placementOrdering : {}),
|
|
81
|
+
...(itemType === 'react-dnd-response' ? styles.ica : {}),
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
return baseStyle;
|
|
85
|
+
};
|
|
86
|
+
|
|
47
87
|
const PreviewComponent = () => {
|
|
48
88
|
const preview = usePreview();
|
|
49
89
|
const { itemType, item, style, display } = preview;
|
|
50
90
|
|
|
51
|
-
|
|
91
|
+
const root = useRef(null);
|
|
52
92
|
|
|
53
93
|
useEffect(() => {
|
|
54
94
|
if (display && root.current) {
|
|
@@ -60,12 +100,7 @@ const PreviewComponent = () => {
|
|
|
60
100
|
return null;
|
|
61
101
|
}
|
|
62
102
|
|
|
63
|
-
const customStyle =
|
|
64
|
-
...style,
|
|
65
|
-
...(itemType === 'MaskBlank' ? MaskBlankStyle : {}),
|
|
66
|
-
// TODO: In the image-cloze-association component, there's a noticeable delay in the image rendering process. This results in a brief display of an empty image placeholder before the actual image appears after a few seconds. This issue also impacts the correct rendering of the preview feature, thereby negatively affecting the user experience. This needs to be addressed promptly.
|
|
67
|
-
//...(itemType === 'react-dnd-response' ? ICAStyle : {}),
|
|
68
|
-
};
|
|
103
|
+
const customStyle = getCustomStyle(itemType, item, style);
|
|
69
104
|
|
|
70
105
|
const prompt = getPrompt(itemType, item);
|
|
71
106
|
|