@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.
Files changed (85) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/card-bar.d.ts +20 -0
  4. package/dist/author/card-bar.js +40 -0
  5. package/dist/author/defaults.d.ts +113 -0
  6. package/dist/author/defaults.js +84 -0
  7. package/dist/author/index.d.ts +44 -0
  8. package/dist/author/index.js +88 -0
  9. package/dist/author/main.d.ts +25 -0
  10. package/dist/author/main.js +156 -0
  11. package/dist/author/model-options.d.ts +32 -0
  12. package/dist/author/model-options.js +85 -0
  13. package/dist/author/number-text-field.d.ts +15 -0
  14. package/dist/author/number-text-field.js +24 -0
  15. package/dist/browser/author/index.js +36733 -0
  16. package/dist/browser/author/index.js.map +1 -0
  17. package/dist/browser/controller/index.js +78 -0
  18. package/dist/browser/controller/index.js.map +1 -0
  19. package/dist/browser/delivery/index.js +2 -0
  20. package/dist/browser/delivery-BwB7hVA6.js +27725 -0
  21. package/dist/browser/delivery-BwB7hVA6.js.map +1 -0
  22. package/dist/browser/dist-DSzihwLW.js +85 -0
  23. package/dist/browser/dist-DSzihwLW.js.map +1 -0
  24. package/dist/browser/fraction-model.css +2 -0
  25. package/dist/controller/defaults.d.ts +21 -0
  26. package/dist/controller/defaults.js +13 -0
  27. package/dist/controller/index.d.ts +23 -0
  28. package/dist/controller/index.js +68 -0
  29. package/dist/delivery/answer-fraction.d.ts +27 -0
  30. package/dist/delivery/answer-fraction.js +69 -0
  31. package/dist/delivery/fraction-model-chart.d.ts +11 -0
  32. package/dist/delivery/fraction-model-chart.js +154 -0
  33. package/dist/delivery/index.d.ts +22 -0
  34. package/dist/delivery/index.js +54 -0
  35. package/dist/delivery/main.d.ts +38 -0
  36. package/dist/delivery/main.js +136 -0
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.iife.d.ts +8 -0
  39. package/dist/index.iife.js +179 -0
  40. package/dist/index.js +2 -0
  41. package/dist/runtime-support.d.ts +12 -0
  42. package/dist/runtime-support.js +12 -0
  43. package/package.json +83 -19
  44. package/CHANGELOG.json +0 -1
  45. package/CHANGELOG.md +0 -588
  46. package/LICENSE.md +0 -5
  47. package/README.md +0 -18
  48. package/configure/CHANGELOG.json +0 -1
  49. package/configure/CHANGELOG.md +0 -553
  50. package/configure/lib/card-bar.js +0 -57
  51. package/configure/lib/card-bar.js.map +0 -1
  52. package/configure/lib/defaults.js +0 -114
  53. package/configure/lib/defaults.js.map +0 -1
  54. package/configure/lib/index.js +0 -163
  55. package/configure/lib/index.js.map +0 -1
  56. package/configure/lib/main.js +0 -253
  57. package/configure/lib/main.js.map +0 -1
  58. package/configure/lib/model-options.js +0 -144
  59. package/configure/lib/model-options.js.map +0 -1
  60. package/configure/lib/number-text-field.js +0 -47
  61. package/configure/lib/number-text-field.js.map +0 -1
  62. package/configure/package.json +0 -24
  63. package/controller/CHANGELOG.json +0 -1
  64. package/controller/CHANGELOG.md +0 -480
  65. package/controller/lib/defaults.js +0 -20
  66. package/controller/lib/defaults.js.map +0 -1
  67. package/controller/lib/index.js +0 -215
  68. package/controller/lib/index.js.map +0 -1
  69. package/controller/package.json +0 -15
  70. package/docs/config-schema.json +0 -1796
  71. package/docs/config-schema.json.md +0 -1318
  72. package/docs/demo/config.js +0 -8
  73. package/docs/demo/generate.js +0 -6
  74. package/docs/demo/index.html +0 -1
  75. package/docs/demo/session.js +0 -6
  76. package/docs/pie-schema.json +0 -873
  77. package/docs/pie-schema.json.md +0 -639
  78. package/lib/answer-fraction.js +0 -109
  79. package/lib/answer-fraction.js.map +0 -1
  80. package/lib/fraction-model-chart.js +0 -279
  81. package/lib/fraction-model-chart.js.map +0 -1
  82. package/lib/index.js +0 -91
  83. package/lib/index.js.map +0 -1
  84. package/lib/main.js +0 -203
  85. 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":[]}