@elice/material-quiz 1.240715.0-touch.4 → 1.240715.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.
Files changed (29) hide show
  1. package/cjs/components/eb-sortable/EbDraggable.d.ts +12 -1
  2. package/cjs/components/eb-sortable/EbDraggable.js +91 -29
  3. package/cjs/components/eb-sortable/EbDroppable.d.ts +8 -3
  4. package/cjs/components/eb-sortable/EbDroppable.js +37 -18
  5. package/cjs/components/material-quiz/MaterialQuizSelectMultiple.js +1 -2
  6. package/cjs/components/material-quiz/MaterialQuizSelectMultipleOrder.js +135 -215
  7. package/cjs/components/material-quiz/MaterialQuizSelectOne.js +1 -2
  8. package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +11 -41
  9. package/cjs/components/shared/QuizDraggbleDroppedOption.d.ts +1 -1
  10. package/cjs/components/shared/QuizDraggbleDroppedOption.js +3 -23
  11. package/cjs/components/shared/QuizDraggbleDummyOption.d.ts +3 -1
  12. package/cjs/components/shared/QuizDraggbleDummyOption.js +3 -8
  13. package/cjs/components/shared/QuizDraggbleOption.d.ts +1 -0
  14. package/cjs/components/shared/QuizDraggbleOption.js +3 -10
  15. package/es/components/eb-sortable/EbDraggable.d.ts +12 -1
  16. package/es/components/eb-sortable/EbDraggable.js +91 -29
  17. package/es/components/eb-sortable/EbDroppable.d.ts +8 -3
  18. package/es/components/eb-sortable/EbDroppable.js +37 -18
  19. package/es/components/material-quiz/MaterialQuizSelectMultiple.js +1 -2
  20. package/es/components/material-quiz/MaterialQuizSelectMultipleOrder.js +135 -215
  21. package/es/components/material-quiz/MaterialQuizSelectOne.js +1 -2
  22. package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +11 -41
  23. package/es/components/shared/QuizDraggbleDroppedOption.d.ts +1 -1
  24. package/es/components/shared/QuizDraggbleDroppedOption.js +3 -23
  25. package/es/components/shared/QuizDraggbleDummyOption.d.ts +3 -1
  26. package/es/components/shared/QuizDraggbleDummyOption.js +3 -8
  27. package/es/components/shared/QuizDraggbleOption.d.ts +1 -0
  28. package/es/components/shared/QuizDraggbleOption.js +3 -10
  29. package/package.json +4 -6
@@ -1,8 +1,19 @@
1
+ /// <reference types="jquery" />
2
+ /// <reference types="jquery" />
3
+ /// <reference types="jqueryui" />
1
4
  import React from 'react';
5
+ import 'jquery-ui/ui/widgets/draggable';
2
6
  interface EbDraggableProps {
3
- id: string;
7
+ id?: string;
4
8
  className?: string;
9
+ connectWith?: JQuery.Selector;
5
10
  disabled?: boolean;
11
+ revert?: boolean;
12
+ clone?: boolean;
13
+ onStart?: (event: JQueryEventObject, ui: JQueryUI.DraggableEventUIParams) => void;
14
+ onStop?: (event: JQueryEventObject, ui: JQueryUI.DraggableEventUIParams) => void;
15
+ onDrag?: (event: JQueryEventObject, ui: JQueryUI.DraggableEventUIParams) => void;
16
+ onCreate?: (event: JQueryEventObject, ui: JQueryUI.DraggableEventUIParams) => void;
6
17
  }
7
18
  declare const EbDraggable: React.FC<EbDraggableProps>;
8
19
  export default EbDraggable;
@@ -3,42 +3,104 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var core = require('@dnd-kit/core');
7
- var utilities = require('@dnd-kit/utilities');
6
+ var $ = require('jquery');
7
+ require('jquery-ui/ui/widgets/draggable');
8
8
 
9
- //
10
- //
11
- //
12
9
  const EbDraggable = ({
13
10
  children,
14
11
  id,
12
+ disabled = false,
13
+ revert = true,
14
+ clone = false,
15
15
  className,
16
- disabled = false
16
+ onStart,
17
+ onStop,
18
+ onDrag,
19
+ onCreate
17
20
  }) => {
18
- const {
19
- attributes,
20
- listeners,
21
- setNodeRef,
22
- transform,
23
- isDragging
24
- } = core.useDraggable({
25
- id,
26
- disabled
27
- });
28
- const style = {
29
- transform: utilities.CSS.Translate.toString(transform),
30
- cursor: disabled ? 'auto' : 'move'
31
- };
32
- //
33
- //
34
- //
35
- return React.createElement("div", Object.assign({
36
- ref: setNodeRef,
21
+ const rootEl = React.useRef(null);
22
+ const onStartCallback = React.useCallback((event, ui) => {
23
+ if (onStart) {
24
+ return onStart(event, ui);
25
+ } else {
26
+ return () => {
27
+ return;
28
+ };
29
+ }
30
+ }, [onStart]);
31
+ const onStopCallback = React.useCallback((event, ui) => {
32
+ if (onStop) {
33
+ return onStop(event, ui);
34
+ } else {
35
+ return () => {
36
+ return;
37
+ };
38
+ }
39
+ }, [onStop]);
40
+ const onDragCallback = React.useCallback((event, ui) => {
41
+ if (onDrag) {
42
+ return onDrag(event, ui);
43
+ } else {
44
+ return () => {
45
+ return;
46
+ };
47
+ }
48
+ }, [onDrag]);
49
+ const onCreateCallback = React.useCallback((event, ui) => {
50
+ if (onCreate) {
51
+ return onCreate(event, ui);
52
+ } else {
53
+ return () => {
54
+ return;
55
+ };
56
+ }
57
+ }, [onCreate]);
58
+ React.useEffect(() => {
59
+ if (!rootEl.current) {
60
+ return;
61
+ }
62
+ const draggableEl = $(rootEl.current);
63
+ draggableEl.draggable(Object.assign(Object.assign(Object.assign(Object.assign({}, disabled ? {
64
+ disabled
65
+ } : null), revert ? {
66
+ revert
67
+ } : null), clone ? {
68
+ helper: 'clone'
69
+ } : null), {
70
+ zIndex: 200,
71
+ revertDuration: 0,
72
+ start: (event, ui) => {
73
+ if (!onStartCallback) {
74
+ return;
75
+ }
76
+ onStartCallback(event, ui);
77
+ },
78
+ stop: (event, ui) => {
79
+ if (!onStopCallback) {
80
+ return;
81
+ }
82
+ // draggableEl.draggable('cancel');
83
+ onStopCallback(event, ui);
84
+ },
85
+ drag: (event, ui) => {
86
+ onDragCallback(event, ui);
87
+ },
88
+ create: (event, ui) => {
89
+ onCreateCallback(event, ui);
90
+ }
91
+ }));
92
+ return () => {
93
+ draggableEl.draggable('destroy');
94
+ };
95
+ }, [clone, disabled, onCreateCallback, onDragCallback, onStartCallback, onStopCallback, revert]);
96
+ return React.createElement("div", {
97
+ ref: rootEl,
98
+ id: id,
37
99
  className: className,
38
- style: isDragging ? Object.assign(Object.assign({}, style), {
39
- zIndex: 1000
40
- }) : style
41
- }, listeners, attributes), children);
100
+ style: {
101
+ cursor: disabled ? 'auto' : 'move'
102
+ }
103
+ }, children);
42
104
  };
43
105
 
44
106
  exports.default = EbDraggable;
@@ -1,9 +1,14 @@
1
+ /// <reference types="jquery" />
2
+ /// <reference types="jquery" />
3
+ /// <reference types="jqueryui" />
1
4
  import React from 'react';
2
- interface EbDroppableProps {
3
- id: string;
5
+ import 'jquery-ui/ui/widgets/droppable';
6
+ export interface EbDroppableProps {
7
+ id?: string;
4
8
  className?: string;
5
9
  disabled?: boolean;
6
- accept?: string;
10
+ accept?: JQuery.Selector;
11
+ onDrop?: (event: JQueryEventObject, ui: JQueryUI.DroppableEventUIParam) => void;
7
12
  }
8
13
  declare const EbDroppable: React.FC<EbDroppableProps>;
9
14
  export default EbDroppable;
@@ -3,32 +3,51 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var core = require('@dnd-kit/core');
6
+ var $ = require('jquery');
7
+ require('jquery-ui/ui/widgets/droppable');
7
8
 
8
- //
9
- //
10
- //
11
9
  const EbDroppable = ({
12
10
  children,
13
11
  id,
14
- className,
15
12
  disabled = false,
16
- accept
13
+ accept,
14
+ className,
15
+ onDrop
17
16
  }) => {
18
- const {
19
- setNodeRef
20
- } = core.useDroppable({
21
- id,
22
- disabled,
23
- data: {
24
- accept
17
+ const rootEl = React.useRef(null);
18
+ const onDropCallback = React.useCallback((event, ui) => {
19
+ if (onDrop) {
20
+ return onDrop(event, ui);
21
+ } else {
22
+ return () => {
23
+ return;
24
+ };
25
25
  }
26
- });
27
- //
28
- //
29
- //
26
+ }, [onDrop]);
27
+ React.useEffect(() => {
28
+ if (!rootEl.current) {
29
+ return;
30
+ }
31
+ const draggableEl = $(rootEl.current);
32
+ draggableEl.droppable(Object.assign(Object.assign(Object.assign({}, disabled ? {
33
+ disabled
34
+ } : null), accept ? {
35
+ accept
36
+ } : null), {
37
+ drop: (event, ui) => {
38
+ if (!onDropCallback) {
39
+ return;
40
+ }
41
+ onDropCallback(event, ui);
42
+ }
43
+ }));
44
+ return () => {
45
+ draggableEl.droppable('destroy');
46
+ };
47
+ }, [accept, disabled, onDropCallback]);
30
48
  return React.createElement("div", {
31
- ref: setNodeRef,
49
+ ref: rootEl,
50
+ id: id,
32
51
  className: className
33
52
  }, children);
34
53
  };
@@ -10,9 +10,8 @@ var material = require('@mui/material');
10
10
  var element = require('../../constant/element.js');
11
11
  var index = require('../../helpers/index.js');
12
12
  var useCaculatePassage = require('../../hooks/useCaculatePassage.js');
13
- require('../shared/QuizDraggbleDroppedOption.js');
14
- require('../shared/QuizDraggbleDummyOption.js');
15
13
  require('../shared/QuizDraggbleOption.js');
14
+ require('../shared/QuizDraggbleDummyOption.js');
16
15
  require('../shared/question-radio/QuestionRadio.js');
17
16
  require('../shared/question-radio/QuestionRadioOption.js');
18
17
  var QuestionCheckbox = require('../shared/question-checkbox/QuestionCheckbox.js');