@pie-element/graphing-solution-set 4.3.4-next.0 → 5.0.0-beta.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.
- package/configure/lib/configure.js +288 -376
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/correct-response.js +309 -475
- package/configure/lib/correct-response.js.map +1 -1
- package/configure/lib/defaults.js +2 -4
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/graphing-config.js +329 -363
- package/configure/lib/graphing-config.js.map +1 -1
- package/configure/lib/index.js +126 -181
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/utils.js +178 -301
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +11 -8
- package/controller/lib/defaults.js +2 -4
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +146 -218
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +85 -142
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +3 -3
- package/lib/index.js +120 -170
- package/lib/index.js.map +1 -1
- package/lib/main.js +261 -350
- package/lib/main.js.map +1 -1
- package/lib/utils.js +142 -231
- package/lib/utils.js.map +1 -1
- package/package.json +13 -10
package/lib/index.js
CHANGED
|
@@ -1,214 +1,164 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
Object.defineProperty(exports, "Component", {
|
|
9
8
|
enumerable: true,
|
|
10
|
-
get: function
|
|
11
|
-
return _main
|
|
9
|
+
get: function () {
|
|
10
|
+
return _main.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
exports
|
|
15
|
-
|
|
16
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
-
|
|
18
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
-
|
|
20
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
21
|
-
|
|
22
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
-
|
|
24
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
-
|
|
26
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
-
|
|
28
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
29
|
-
|
|
13
|
+
exports.default = void 0;
|
|
30
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
31
|
-
|
|
32
15
|
var _react = _interopRequireDefault(require("react"));
|
|
33
|
-
|
|
34
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
35
|
-
|
|
16
|
+
var _client = require("react-dom/client");
|
|
36
17
|
var _piePlayerEvents = require("@pie-framework/pie-player-events");
|
|
37
|
-
|
|
38
18
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
39
|
-
|
|
40
19
|
var _utils = require("./utils");
|
|
41
|
-
|
|
42
20
|
var _main = _interopRequireDefault(require("./main"));
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
(0, _classCallCheck2["default"])(this, Graphing);
|
|
59
|
-
_this = _super.call(this);
|
|
60
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "isComplete", function (answer) {
|
|
61
|
-
return Array.isArray(answer) && answer.length > 0;
|
|
62
|
-
});
|
|
63
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeAnswers", function (answer, isUndoOperation) {
|
|
21
|
+
class Graphing extends HTMLElement {
|
|
22
|
+
constructor() {
|
|
23
|
+
super();
|
|
24
|
+
/*
|
|
25
|
+
* Is complete function
|
|
26
|
+
* @param {object} answer - Answer object
|
|
27
|
+
* */
|
|
28
|
+
(0, _defineProperty2.default)(this, "isComplete", answer => Array.isArray(answer) && answer.length > 0);
|
|
29
|
+
/*
|
|
30
|
+
* Callback function to change answers
|
|
31
|
+
* @param {object} answer - Answer object
|
|
32
|
+
* @param {boolean} isUndoOperation - Boolean value to check if undo operation is performed
|
|
33
|
+
* */
|
|
34
|
+
(0, _defineProperty2.default)(this, "changeAnswers", (answer, isUndoOperation) => {
|
|
64
35
|
// avoid removeInvalidObjects when undo or redo operations are executed
|
|
65
36
|
// in order to preserve the logic of undo and redo
|
|
66
|
-
|
|
67
|
-
|
|
37
|
+
const {
|
|
38
|
+
gssData
|
|
39
|
+
} = this._model;
|
|
68
40
|
if (gssData.selectedTool === 'lineA' && answer.length > 0) {
|
|
69
41
|
answer[0].fill = gssData['lineA'].lineType;
|
|
70
42
|
}
|
|
71
|
-
|
|
72
43
|
if (gssData.selectedTool === 'lineB' && answer.length > 1) {
|
|
73
44
|
answer[1].fill = gssData['lineB'].lineType;
|
|
74
45
|
}
|
|
75
|
-
|
|
76
46
|
if (answer.length === 0) {
|
|
77
47
|
gssData.selectedTool = 'lineA';
|
|
78
|
-
|
|
48
|
+
this._model.gssData = gssData;
|
|
79
49
|
}
|
|
80
|
-
|
|
81
50
|
if (!isUndoOperation) {
|
|
82
|
-
|
|
51
|
+
this._session.answer = (0, _utils.removeInvalidAnswers)(answer);
|
|
83
52
|
} else {
|
|
84
|
-
|
|
53
|
+
this._session.answer = answer;
|
|
85
54
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
_this._render();
|
|
55
|
+
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));
|
|
56
|
+
this._render();
|
|
90
57
|
});
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
58
|
+
/*
|
|
59
|
+
* Function to set gssData object and session object
|
|
60
|
+
* @param {object} gssData - GSS Data object
|
|
61
|
+
* @param {object} session - Session object
|
|
62
|
+
* */
|
|
63
|
+
(0, _defineProperty2.default)(this, "setGssData", (gssData, session) => {
|
|
64
|
+
this._model.gssData = gssData;
|
|
65
|
+
this._session = session;
|
|
66
|
+
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));
|
|
67
|
+
this._render();
|
|
98
68
|
});
|
|
99
|
-
|
|
69
|
+
this._root = null;
|
|
100
70
|
}
|
|
71
|
+
|
|
101
72
|
/*
|
|
102
73
|
* Function to set model
|
|
103
74
|
* @param {object} m - Model object
|
|
104
75
|
* */
|
|
76
|
+
set model(m) {
|
|
77
|
+
this._model = m;
|
|
78
|
+
this._render();
|
|
79
|
+
}
|
|
105
80
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
81
|
+
/*
|
|
82
|
+
* Function to set session
|
|
83
|
+
* @param {object} s - Session object
|
|
84
|
+
* */
|
|
85
|
+
set session(s) {
|
|
86
|
+
this._session = s;
|
|
87
|
+
if (!this._session.answer) {
|
|
88
|
+
this._session.answer = [];
|
|
113
89
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}).length > 0;
|
|
145
|
-
|
|
146
|
-
if (gssLineData.numberOfLines === 1) {
|
|
147
|
-
this._model.gssData = {
|
|
148
|
-
numberOfLines: 1,
|
|
149
|
-
selectedTool: section ? 'solutionSet' : 'lineA',
|
|
150
|
-
sections: [],
|
|
151
|
-
lineA: {
|
|
152
|
-
lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid'
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
} else {
|
|
156
|
-
this._model.gssData = {
|
|
157
|
-
numberOfLines: 2,
|
|
158
|
-
selectedTool: section ? 'solutionSet' : 'lineA',
|
|
159
|
-
sections: [],
|
|
160
|
-
lineA: {
|
|
161
|
-
lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid'
|
|
162
|
-
},
|
|
163
|
-
lineB: {
|
|
164
|
-
lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid'
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
if (section) {
|
|
170
|
-
this._model.gssData = (0, _utils.findSectionsInSolutionSet)(this._model.gssData, answer, domain, range);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
this._render();
|
|
90
|
+
const {
|
|
91
|
+
answer
|
|
92
|
+
} = this._session || {};
|
|
93
|
+
const {
|
|
94
|
+
gssLineData,
|
|
95
|
+
domain,
|
|
96
|
+
range
|
|
97
|
+
} = this._model;
|
|
98
|
+
let section = answer && answer.filter(mark => mark.type === 'polygon').length > 0;
|
|
99
|
+
if (gssLineData.numberOfLines === 1) {
|
|
100
|
+
this._model.gssData = {
|
|
101
|
+
numberOfLines: 1,
|
|
102
|
+
selectedTool: section ? 'solutionSet' : 'lineA',
|
|
103
|
+
sections: [],
|
|
104
|
+
lineA: {
|
|
105
|
+
lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid'
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
} else {
|
|
109
|
+
this._model.gssData = {
|
|
110
|
+
numberOfLines: 2,
|
|
111
|
+
selectedTool: section ? 'solutionSet' : 'lineA',
|
|
112
|
+
sections: [],
|
|
113
|
+
lineA: {
|
|
114
|
+
lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid'
|
|
115
|
+
},
|
|
116
|
+
lineB: {
|
|
117
|
+
lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid'
|
|
118
|
+
}
|
|
119
|
+
};
|
|
174
120
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
value: function connectedCallback() {
|
|
178
|
-
this._render();
|
|
121
|
+
if (section) {
|
|
122
|
+
this._model.gssData = (0, _utils.findSectionsInSolutionSet)(this._model.gssData, answer, domain, range);
|
|
179
123
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
* @param {object} answer - Answer object
|
|
183
|
-
* */
|
|
184
|
-
|
|
185
|
-
}, {
|
|
186
|
-
key: "_render",
|
|
187
|
-
value:
|
|
188
|
-
/*
|
|
189
|
-
* Render function
|
|
190
|
-
* */
|
|
191
|
-
function _render() {
|
|
192
|
-
var _this2 = this;
|
|
193
|
-
|
|
194
|
-
if (!this._model || !this._session) {
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
|
|
199
|
-
model: this._model,
|
|
200
|
-
session: this._session,
|
|
201
|
-
onAnswersChange: this.changeAnswers,
|
|
202
|
-
setGssData: this.setGssData
|
|
203
|
-
});
|
|
124
|
+
this._render();
|
|
125
|
+
}
|
|
204
126
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
127
|
+
/*
|
|
128
|
+
* Function to get session
|
|
129
|
+
* */
|
|
130
|
+
get session() {
|
|
131
|
+
return this._session;
|
|
132
|
+
}
|
|
133
|
+
connectedCallback() {
|
|
134
|
+
this._render();
|
|
135
|
+
}
|
|
136
|
+
/*
|
|
137
|
+
* Render function
|
|
138
|
+
* */
|
|
139
|
+
_render() {
|
|
140
|
+
if (!this._model || !this._session) {
|
|
141
|
+
return;
|
|
208
142
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
143
|
+
const el = /*#__PURE__*/_react.default.createElement(_main.default, {
|
|
144
|
+
model: this._model,
|
|
145
|
+
session: this._session,
|
|
146
|
+
onAnswersChange: this.changeAnswers,
|
|
147
|
+
setGssData: this.setGssData
|
|
148
|
+
});
|
|
149
|
+
if (!this._root) {
|
|
150
|
+
this._root = (0, _client.createRoot)(this);
|
|
151
|
+
}
|
|
152
|
+
this._root.render(el);
|
|
153
|
+
queueMicrotask(() => {
|
|
154
|
+
(0, _mathRendering.renderMath)(this);
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
disconnectedCallback() {
|
|
158
|
+
if (this._root) {
|
|
159
|
+
this._root.unmount();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.default = Graphing;
|
|
214
164
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_mathRendering","_utils","_main","Graphing","HTMLElement","constructor","_defineProperty2","default","answer","Array","isArray","length","isUndoOperation","gssData","_model","selectedTool","fill","lineType","_session","removeInvalidAnswers","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","session","_root","model","m","s","gssLineData","domain","range","section","filter","mark","type","numberOfLines","sections","lineA","lineB","findSectionsInSolutionSet","connectedCallback","el","React","createElement","Main","onAnswersChange","changeAnswers","setGssData","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","exports"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { findSectionsInSolutionSet, removeInvalidAnswers } from './utils';\nimport Main from './main';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n /*\n * Function to set model\n * @param {object} m - Model object\n * */\n set model(m) {\n this._model = m;\n this._render();\n }\n\n /*\n * Function to set session\n * @param {object} s - Session object\n * */\n set session(s) {\n this._session = s;\n if (!this._session.answer) {\n this._session.answer = [];\n }\n const { answer } = this._session || {};\n const { gssLineData, domain, range } = this._model;\n let section = answer && answer.filter((mark) => mark.type === 'polygon').length > 0;\n if (gssLineData.numberOfLines === 1) {\n this._model.gssData = {\n numberOfLines: 1,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n };\n } else {\n this._model.gssData = {\n numberOfLines: 2,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n lineB: {\n lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid',\n },\n };\n }\n if (section) {\n this._model.gssData = findSectionsInSolutionSet(this._model.gssData, answer, domain, range);\n }\n this._render();\n }\n\n /*\n * Function to get session\n * */\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n /*\n * Is complete function\n * @param {object} answer - Answer object\n * */\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n /*\n * Callback function to change answers\n * @param {object} answer - Answer object\n * @param {boolean} isUndoOperation - Boolean value to check if undo operation is performed\n * */\n changeAnswers = (answer, isUndoOperation) => {\n // avoid removeInvalidObjects when undo or redo operations are executed\n // in order to preserve the logic of undo and redo\n const { gssData } = this._model;\n if (gssData.selectedTool === 'lineA' && answer.length > 0) {\n answer[0].fill = gssData['lineA'].lineType;\n }\n if (gssData.selectedTool === 'lineB' && answer.length > 1) {\n answer[1].fill = gssData['lineB'].lineType;\n }\n if (answer.length === 0) {\n gssData.selectedTool = 'lineA';\n this._model.gssData = gssData;\n }\n if (!isUndoOperation) {\n this._session.answer = removeInvalidAnswers(answer);\n } else {\n this._session.answer = answer;\n }\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Function to set gssData object and session object\n * @param {object} gssData - GSS Data object\n * @param {object} session - Session object\n * */\n setGssData = (gssData, session) => {\n this._model.gssData = gssData;\n this._session = session;\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Render function\n * */\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers,\n setGssData: this.setGssData,\n });\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|