@pie-element/fraction-model 6.1.1 → 6.1.2-next.1
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.js +2 -0
- package/controller.js +1 -0
- package/dist/author/card-bar.d.ts +20 -0
- package/dist/author/card-bar.js +40 -0
- package/dist/author/defaults.d.ts +113 -0
- package/dist/author/defaults.js +84 -0
- package/dist/author/index.d.ts +44 -0
- package/dist/author/index.js +88 -0
- package/dist/author/main.d.ts +25 -0
- package/dist/author/main.js +156 -0
- package/dist/author/model-options.d.ts +32 -0
- package/dist/author/model-options.js +85 -0
- package/dist/author/number-text-field.d.ts +15 -0
- package/dist/author/number-text-field.js +24 -0
- package/dist/browser/author/index.js +36733 -0
- package/dist/browser/author/index.js.map +1 -0
- package/dist/browser/controller/index.js +78 -0
- package/dist/browser/controller/index.js.map +1 -0
- package/dist/browser/delivery/index.js +2 -0
- package/dist/browser/delivery-BwB7hVA6.js +27725 -0
- package/dist/browser/delivery-BwB7hVA6.js.map +1 -0
- package/dist/browser/dist-DSzihwLW.js +85 -0
- package/dist/browser/dist-DSzihwLW.js.map +1 -0
- package/dist/browser/fraction-model.css +2 -0
- package/dist/controller/defaults.d.ts +21 -0
- package/dist/controller/defaults.js +13 -0
- package/dist/controller/index.d.ts +23 -0
- package/dist/controller/index.js +68 -0
- package/dist/delivery/answer-fraction.d.ts +27 -0
- package/dist/delivery/answer-fraction.js +69 -0
- package/dist/delivery/fraction-model-chart.d.ts +11 -0
- package/dist/delivery/fraction-model-chart.js +154 -0
- package/dist/delivery/index.d.ts +22 -0
- package/dist/delivery/index.js +54 -0
- package/dist/delivery/main.d.ts +38 -0
- package/dist/delivery/main.js +136 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.iife.d.ts +8 -0
- package/dist/index.iife.js +179 -0
- package/dist/index.js +2 -0
- package/dist/runtime-support.d.ts +12 -0
- package/dist/runtime-support.js +12 -0
- package/package.json +83 -19
- package/CHANGELOG.json +0 -1
- package/CHANGELOG.md +0 -588
- package/LICENSE.md +0 -5
- package/README.md +0 -18
- package/configure/CHANGELOG.json +0 -1
- package/configure/CHANGELOG.md +0 -553
- package/configure/lib/card-bar.js +0 -57
- package/configure/lib/card-bar.js.map +0 -1
- package/configure/lib/defaults.js +0 -114
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/index.js +0 -163
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/main.js +0 -253
- package/configure/lib/main.js.map +0 -1
- package/configure/lib/model-options.js +0 -144
- package/configure/lib/model-options.js.map +0 -1
- package/configure/lib/number-text-field.js +0 -47
- package/configure/lib/number-text-field.js.map +0 -1
- package/configure/package.json +0 -24
- package/controller/CHANGELOG.json +0 -1
- package/controller/CHANGELOG.md +0 -480
- package/controller/lib/defaults.js +0 -20
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -215
- package/controller/lib/index.js.map +0 -1
- package/controller/package.json +0 -15
- package/docs/config-schema.json +0 -1796
- package/docs/config-schema.json.md +0 -1318
- package/docs/demo/config.js +0 -8
- package/docs/demo/generate.js +0 -6
- package/docs/demo/index.html +0 -1
- package/docs/demo/session.js +0 -6
- package/docs/pie-schema.json +0 -873
- package/docs/pie-schema.json.md +0 -639
- package/lib/answer-fraction.js +0 -109
- package/lib/answer-fraction.js.map +0 -1
- package/lib/fraction-model-chart.js +0 -279
- package/lib/fraction-model-chart.js.map +0 -1
- package/lib/index.js +0 -91
- package/lib/index.js.map +0 -1
- package/lib/main.js +0 -203
- package/lib/main.js.map +0 -1
package/lib/main.js
DELETED
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = exports.Main = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _styles = require("@mui/material/styles");
|
|
12
|
-
var _answerFraction = _interopRequireDefault(require("./answer-fraction"));
|
|
13
|
-
var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
|
|
14
|
-
var _fractionModelChart = _interopRequireDefault(require("./fraction-model-chart"));
|
|
15
|
-
var _configUi = require("@pie-lib/config-ui");
|
|
16
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
17
|
-
var _lodashEs = require("lodash-es");
|
|
18
|
-
const ModelPreview = (0, _styles.styled)('div')({
|
|
19
|
-
padding: '16px'
|
|
20
|
-
});
|
|
21
|
-
const TitleContainer = (0, _styles.styled)('div')({
|
|
22
|
-
textAlign: 'center',
|
|
23
|
-
fontSize: '20px'
|
|
24
|
-
});
|
|
25
|
-
class Main extends _react.default.Component {
|
|
26
|
-
constructor(props) {
|
|
27
|
-
super(props);
|
|
28
|
-
/**
|
|
29
|
-
* Function to trigger when session value change for fraction model
|
|
30
|
-
*/
|
|
31
|
-
(0, _defineProperty2.default)(this, "callOnSessionChange", () => {
|
|
32
|
-
const {
|
|
33
|
-
onSessionChange
|
|
34
|
-
} = this.props;
|
|
35
|
-
if (onSessionChange) {
|
|
36
|
-
onSessionChange(this.state.session);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
/**
|
|
40
|
-
* Function to generate answers for preview selection
|
|
41
|
-
* @param {object} model contains model object for fraction model
|
|
42
|
-
* @returns answer model
|
|
43
|
-
*/
|
|
44
|
-
(0, _defineProperty2.default)(this, "generateAnswers", model => {
|
|
45
|
-
const answers = {
|
|
46
|
-
response: []
|
|
47
|
-
};
|
|
48
|
-
if (model.allowedStudentConfig) {
|
|
49
|
-
answers.noOfModel = '', answers.partsPerModel = '';
|
|
50
|
-
}
|
|
51
|
-
return answers;
|
|
52
|
-
});
|
|
53
|
-
/**
|
|
54
|
-
* Function to trigger when answer change from preview
|
|
55
|
-
* @param {object} newAnswers contains updated answer model
|
|
56
|
-
*/
|
|
57
|
-
(0, _defineProperty2.default)(this, "onAnswerChange", newAnswers => {
|
|
58
|
-
let oldSession = (0, _lodashEs.cloneDeep)(this.state.session);
|
|
59
|
-
let newSession = {
|
|
60
|
-
...this.state.session,
|
|
61
|
-
answers: newAnswers
|
|
62
|
-
};
|
|
63
|
-
if (newAnswers.response.length > 0) {
|
|
64
|
-
this.setState({
|
|
65
|
-
answerChangeDialog: {
|
|
66
|
-
open: true,
|
|
67
|
-
oldSession: oldSession,
|
|
68
|
-
newSession: newSession,
|
|
69
|
-
text: 'Changing either the Number of Models or Parts per Model will remove added answer. Are you sure you want to continue?'
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
} else {
|
|
73
|
-
this.setState(state => ({
|
|
74
|
-
session: newSession
|
|
75
|
-
}), this.callOnSessionChange);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
/*
|
|
79
|
-
* Function to toggle correct answer
|
|
80
|
-
* @param {boolean} show contains boolean value to show correct answer
|
|
81
|
-
* */
|
|
82
|
-
(0, _defineProperty2.default)(this, "toggleShowCorrect", show => {
|
|
83
|
-
this.setState({
|
|
84
|
-
showCorrect: show
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
/*
|
|
88
|
-
* Function to trigger when response change from preview
|
|
89
|
-
* @param {object} response contains updated response model
|
|
90
|
-
* */
|
|
91
|
-
(0, _defineProperty2.default)(this, "onResponseChange", response => {
|
|
92
|
-
this.setState(state => ({
|
|
93
|
-
session: {
|
|
94
|
-
...state.session,
|
|
95
|
-
answers: {
|
|
96
|
-
...state.session.answers,
|
|
97
|
-
response
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}), this.callOnSessionChange);
|
|
101
|
-
});
|
|
102
|
-
/*
|
|
103
|
-
* Method to generate random key
|
|
104
|
-
* */
|
|
105
|
-
(0, _defineProperty2.default)(this, "generateRandomKey", () => {
|
|
106
|
-
return Math.floor(Math.random() * 10000);
|
|
107
|
-
});
|
|
108
|
-
this.state = {
|
|
109
|
-
session: {
|
|
110
|
-
...props.session,
|
|
111
|
-
answers: props.session && props.session.answers || this.generateAnswers(props.model)
|
|
112
|
-
},
|
|
113
|
-
showCorrect: false,
|
|
114
|
-
answerChangeDialog: {
|
|
115
|
-
open: false,
|
|
116
|
-
text: ''
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
this.callOnSessionChange();
|
|
120
|
-
}
|
|
121
|
-
render() {
|
|
122
|
-
const {
|
|
123
|
-
model
|
|
124
|
-
} = this.props;
|
|
125
|
-
const {
|
|
126
|
-
showCorrect,
|
|
127
|
-
session,
|
|
128
|
-
answerChangeDialog
|
|
129
|
-
} = this.state;
|
|
130
|
-
const {
|
|
131
|
-
prompt,
|
|
132
|
-
title,
|
|
133
|
-
correctness = {},
|
|
134
|
-
extraCSSRules,
|
|
135
|
-
language
|
|
136
|
-
} = model;
|
|
137
|
-
const showCorrectAnswerToggle = correctness.correctness && correctness.correctness !== 'correct';
|
|
138
|
-
const fractionModelChartKey = this.generateRandomKey();
|
|
139
|
-
return /*#__PURE__*/_react.default.createElement(_renderUi.UiLayout, {
|
|
140
|
-
extraCSSRules: extraCSSRules
|
|
141
|
-
}, /*#__PURE__*/_react.default.createElement(ModelPreview, null, /*#__PURE__*/_react.default.createElement(TitleContainer, null, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
142
|
-
className: "prompt",
|
|
143
|
-
prompt: title,
|
|
144
|
-
tagName: "h3"
|
|
145
|
-
})), /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
146
|
-
className: "prompt",
|
|
147
|
-
prompt: prompt,
|
|
148
|
-
tagName: "p"
|
|
149
|
-
}), /*#__PURE__*/_react.default.createElement(_correctAnswerToggle.default, {
|
|
150
|
-
language: language,
|
|
151
|
-
show: showCorrectAnswerToggle,
|
|
152
|
-
toggled: showCorrect,
|
|
153
|
-
onToggle: this.toggleShowCorrect
|
|
154
|
-
}), /*#__PURE__*/_react.default.createElement(_answerFraction.default, {
|
|
155
|
-
model: model,
|
|
156
|
-
showCorrect: showCorrect,
|
|
157
|
-
disabled: model.view,
|
|
158
|
-
onAnswerChange: this.onAnswerChange,
|
|
159
|
-
answers: session.answers
|
|
160
|
-
}), /*#__PURE__*/_react.default.createElement(_fractionModelChart.default, {
|
|
161
|
-
key: fractionModelChartKey,
|
|
162
|
-
disabled: model.view,
|
|
163
|
-
value: showCorrect ? model.correctResponse : session.answers.response,
|
|
164
|
-
modelType: model.modelTypeSelected,
|
|
165
|
-
noOfModels: showCorrect ? model.maxModelSelected : model.allowedStudentConfig ? session.answers.noOfModel : model.maxModelSelected,
|
|
166
|
-
partsPerModel: showCorrect ? model.partsPerModel : model.allowedStudentConfig ? session.answers.partsPerModel : model.partsPerModel,
|
|
167
|
-
showLabel: model.showGraphLabels,
|
|
168
|
-
onChange: this.onResponseChange
|
|
169
|
-
}), /*#__PURE__*/_react.default.createElement(_configUi.AlertDialog, {
|
|
170
|
-
open: answerChangeDialog.open,
|
|
171
|
-
title: "Warning",
|
|
172
|
-
text: answerChangeDialog.text,
|
|
173
|
-
onConfirm: () => {
|
|
174
|
-
let newSession = this.state.answerChangeDialog.newSession;
|
|
175
|
-
newSession.answers.response = [];
|
|
176
|
-
this.setState(() => ({
|
|
177
|
-
session: newSession,
|
|
178
|
-
answerChangeDialog: {
|
|
179
|
-
open: false
|
|
180
|
-
}
|
|
181
|
-
}), this.callOnSessionChange);
|
|
182
|
-
},
|
|
183
|
-
onClose: () => {
|
|
184
|
-
this.setState(prevState => ({
|
|
185
|
-
session: prevState.answerChangeDialog.oldSession,
|
|
186
|
-
answerChangeDialog: {
|
|
187
|
-
open: false
|
|
188
|
-
}
|
|
189
|
-
}), this.callOnSessionChange);
|
|
190
|
-
},
|
|
191
|
-
onConfirmText: 'OK',
|
|
192
|
-
onCloseText: 'Cancel'
|
|
193
|
-
})));
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
exports.Main = Main;
|
|
197
|
-
(0, _defineProperty2.default)(Main, "propTypes", {
|
|
198
|
-
model: _propTypes.default.object,
|
|
199
|
-
session: _propTypes.default.object,
|
|
200
|
-
onSessionChange: _propTypes.default.func.isRequired
|
|
201
|
-
});
|
|
202
|
-
var _default = exports.default = Main;
|
|
203
|
-
//# sourceMappingURL=main.js.map
|
package/lib/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_answerFraction","_correctAnswerToggle","_fractionModelChart","_configUi","_renderUi","_lodashEs","ModelPreview","styled","padding","TitleContainer","textAlign","fontSize","Main","React","Component","constructor","props","_defineProperty2","default","onSessionChange","state","session","model","answers","response","allowedStudentConfig","noOfModel","partsPerModel","newAnswers","oldSession","cloneDeep","newSession","length","setState","answerChangeDialog","open","text","callOnSessionChange","show","showCorrect","Math","floor","random","generateAnswers","render","prompt","title","correctness","extraCSSRules","language","showCorrectAnswerToggle","fractionModelChartKey","generateRandomKey","createElement","UiLayout","PreviewPrompt","className","tagName","toggled","onToggle","toggleShowCorrect","disabled","view","onAnswerChange","key","value","correctResponse","modelType","modelTypeSelected","noOfModels","maxModelSelected","showLabel","showGraphLabels","onChange","onResponseChange","AlertDialog","onConfirm","onClose","prevState","onConfirmText","onCloseText","exports","PropTypes","object","func","isRequired","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport AnswerFraction from './answer-fraction';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport FractionModelChart from './fraction-model-chart';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\nimport { cloneDeep } from 'lodash-es';\n\nconst ModelPreview = styled('div')({\n padding: '16px',\n});\n\nconst TitleContainer = styled('div')({\n textAlign: 'center',\n fontSize: '20px',\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n session: {\n ...props.session,\n answers: (props.session && props.session.answers) || this.generateAnswers(props.model),\n },\n showCorrect: false,\n answerChangeDialog: {\n open: false,\n text: '',\n },\n };\n this.callOnSessionChange();\n }\n\n /**\n * Function to trigger when session value change for fraction model\n */\n callOnSessionChange = () => {\n const { onSessionChange } = this.props;\n if (onSessionChange) {\n onSessionChange(this.state.session);\n }\n };\n\n /**\n * Function to generate answers for preview selection\n * @param {object} model contains model object for fraction model\n * @returns answer model\n */\n generateAnswers = (model) => {\n const answers = {\n response: [],\n };\n if (model.allowedStudentConfig) {\n (answers.noOfModel = ''), (answers.partsPerModel = '');\n }\n return answers;\n };\n\n /**\n * Function to trigger when answer change from preview\n * @param {object} newAnswers contains updated answer model\n */\n onAnswerChange = (newAnswers) => {\n let oldSession = cloneDeep(this.state.session);\n let newSession = {\n ...this.state.session,\n answers: newAnswers,\n };\n if (newAnswers.response.length > 0) {\n this.setState({\n answerChangeDialog: {\n open: true,\n oldSession: oldSession,\n newSession: newSession,\n text: 'Changing either the Number of Models or Parts per Model will remove added answer. Are you sure you want to continue?',\n },\n });\n } else {\n this.setState(\n (state) => ({\n session: newSession,\n }),\n this.callOnSessionChange,\n );\n }\n };\n\n /*\n * Function to toggle correct answer\n * @param {boolean} show contains boolean value to show correct answer\n * */\n toggleShowCorrect = (show) => {\n this.setState({ showCorrect: show });\n };\n\n /*\n * Function to trigger when response change from preview\n * @param {object} response contains updated response model\n * */\n onResponseChange = (response) => {\n this.setState(\n (state) => ({\n session: {\n ...state.session,\n answers: {\n ...state.session.answers,\n response,\n },\n },\n }),\n this.callOnSessionChange,\n );\n };\n\n /*\n * Method to generate random key\n * */\n generateRandomKey = () => {\n return Math.floor(Math.random() * 10000);\n };\n\n render() {\n const { model } = this.props;\n const { showCorrect, session, answerChangeDialog } = this.state;\n const { prompt, title, correctness = {}, extraCSSRules, language } = model;\n const showCorrectAnswerToggle = correctness.correctness && correctness.correctness !== 'correct';\n const fractionModelChartKey = this.generateRandomKey();\n\n return (\n <UiLayout extraCSSRules={extraCSSRules}>\n <ModelPreview>\n <TitleContainer>\n <PreviewPrompt className=\"prompt\" prompt={title} tagName=\"h3\" />\n </TitleContainer>\n <PreviewPrompt className=\"prompt\" prompt={prompt} tagName=\"p\" />\n\n <CorrectAnswerToggle\n language={language}\n show={showCorrectAnswerToggle}\n toggled={showCorrect}\n onToggle={this.toggleShowCorrect}\n />\n\n <AnswerFraction\n model={model}\n showCorrect={showCorrect}\n disabled={model.view}\n onAnswerChange={this.onAnswerChange}\n answers={session.answers}\n />\n\n <FractionModelChart\n key={fractionModelChartKey}\n disabled={model.view}\n value={showCorrect ? model.correctResponse : session.answers.response}\n modelType={model.modelTypeSelected}\n noOfModels={\n showCorrect\n ? model.maxModelSelected\n : model.allowedStudentConfig\n ? session.answers.noOfModel\n : model.maxModelSelected\n }\n partsPerModel={\n showCorrect\n ? model.partsPerModel\n : model.allowedStudentConfig\n ? session.answers.partsPerModel\n : model.partsPerModel\n }\n showLabel={model.showGraphLabels}\n onChange={this.onResponseChange}\n ></FractionModelChart>\n\n <AlertDialog\n open={answerChangeDialog.open}\n title=\"Warning\"\n text={answerChangeDialog.text}\n onConfirm={() => {\n let newSession = this.state.answerChangeDialog.newSession;\n newSession.answers.response = [];\n this.setState(\n () => ({\n session: newSession,\n answerChangeDialog: { open: false },\n }),\n this.callOnSessionChange,\n );\n }}\n onClose={() => {\n this.setState(\n (prevState) => ({\n session: prevState.answerChangeDialog.oldSession,\n answerChangeDialog: { open: false },\n }),\n this.callOnSessionChange,\n );\n }}\n onConfirmText={'OK'}\n onCloseText={'Cancel'}\n />\n </ModelPreview>\n </UiLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":"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","ignoreList":[]}
|