@pie-element/fraction-model 4.3.4-next.3 → 5.0.0-beta.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/CHANGELOG.md +0 -11
- package/configure/CHANGELOG.md +0 -11
- package/configure/lib/card-bar.js +45 -66
- package/configure/lib/card-bar.js.map +1 -1
- package/configure/lib/defaults.js +4 -5
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/index.js +127 -193
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/main.js +217 -277
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/model-options.js +119 -196
- package/configure/lib/model-options.js.map +1 -1
- package/configure/lib/number-text-field.js +31 -90
- package/configure/lib/number-text-field.js.map +1 -1
- package/configure/package.json +9 -6
- package/controller/CHANGELOG.md +0 -11
- package/controller/lib/defaults.js +2 -3
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +66 -111
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +2 -2
- package/lib/answer-fraction.js +94 -159
- package/lib/answer-fraction.js.map +1 -1
- package/lib/fraction-model-chart.js +140 -219
- package/lib/fraction-model-chart.js.map +1 -1
- package/lib/index.js +68 -108
- package/lib/index.js.map +1 -1
- package/lib/main.js +150 -204
- package/lib/main.js.map +1 -1
- package/package.json +14 -17
- package/esm/configure.js +0 -26289
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -1224
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -45827
- package/esm/element.js.map +0 -1
- package/esm/package.json +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,17 +3,6 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [4.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/fraction-model@4.3.2...@pie-element/fraction-model@4.3.3) (2025-11-27)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### Bug Fixes
|
|
10
|
-
|
|
11
|
-
* bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
6
|
## [4.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/fraction-model@4.3.1...@pie-element/fraction-model@4.3.2) (2025-10-22)
|
|
18
7
|
|
|
19
8
|
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,17 +3,6 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [3.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/fraction-model-configure@3.3.2...@pie-element/fraction-model-configure@3.3.3) (2025-11-27)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### Bug Fixes
|
|
10
|
-
|
|
11
|
-
* bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
6
|
## [3.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/fraction-model-configure@3.3.1...@pie-element/fraction-model-configure@3.3.2) (2025-10-22)
|
|
18
7
|
|
|
19
8
|
|
|
@@ -1,78 +1,57 @@
|
|
|
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
|
-
exports
|
|
9
|
-
|
|
10
|
-
var _styles = require("@material-ui/core/styles");
|
|
11
|
-
|
|
12
|
-
var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
|
|
13
|
-
|
|
14
|
-
var _HelpOutline = _interopRequireDefault(require("@material-ui/icons/HelpOutline"));
|
|
15
|
-
|
|
16
|
-
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
17
|
-
|
|
18
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
-
|
|
7
|
+
exports.default = void 0;
|
|
20
8
|
var _react = _interopRequireDefault(require("react"));
|
|
21
|
-
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _styles = require("@mui/material/styles");
|
|
11
|
+
var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
|
|
12
|
+
var _HelpOutline = _interopRequireDefault(require("@mui/icons-material/HelpOutline"));
|
|
13
|
+
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
14
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
15
|
+
const StyledCardBar = (0, _styles.styled)('div')({
|
|
16
|
+
display: 'flex',
|
|
17
|
+
justifyContent: 'space-between'
|
|
18
|
+
});
|
|
19
|
+
const FlexContainer = (0, _styles.styled)('div')({
|
|
20
|
+
display: 'flex',
|
|
21
|
+
alignItems: 'center'
|
|
22
|
+
});
|
|
23
|
+
const StyledIconButton = (0, _styles.styled)(_IconButton.default)({
|
|
24
|
+
margin: 0,
|
|
25
|
+
padding: 0
|
|
26
|
+
});
|
|
27
|
+
const StyledTooltip = (0, _styles.styled)(_Tooltip.default)(({
|
|
28
|
+
theme
|
|
29
|
+
}) => ({
|
|
30
|
+
'& .MuiTooltip-tooltip': {
|
|
31
|
+
fontSize: theme.typography.fontSize - 2
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
const CardBar = props => {
|
|
35
|
+
const {
|
|
36
|
+
header,
|
|
37
|
+
children,
|
|
38
|
+
mini,
|
|
39
|
+
info
|
|
40
|
+
} = props;
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement(StyledCardBar, null, /*#__PURE__*/_react.default.createElement(FlexContainer, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
|
|
42
|
+
variant: mini ? 'h6' : 'h5'
|
|
43
|
+
}, header), info), children && /*#__PURE__*/_react.default.createElement(StyledTooltip, {
|
|
44
|
+
title: children
|
|
45
|
+
}, /*#__PURE__*/_react.default.createElement(StyledIconButton, {
|
|
42
46
|
"aria-label": "Delete",
|
|
43
|
-
|
|
44
|
-
}, /*#__PURE__*/_react
|
|
47
|
+
size: "large"
|
|
48
|
+
}, /*#__PURE__*/_react.default.createElement(_HelpOutline.default, null))));
|
|
45
49
|
};
|
|
46
|
-
|
|
47
50
|
CardBar.propTypes = {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
info: _propTypes["default"].any
|
|
51
|
+
mini: _propTypes.default.bool,
|
|
52
|
+
header: _propTypes.default.string,
|
|
53
|
+
children: _propTypes.default.node,
|
|
54
|
+
info: _propTypes.default.any
|
|
53
55
|
};
|
|
54
|
-
|
|
55
|
-
var styles = function styles(theme) {
|
|
56
|
-
return {
|
|
57
|
-
cardBar: {
|
|
58
|
-
display: 'flex',
|
|
59
|
-
justifyContent: 'space-between'
|
|
60
|
-
},
|
|
61
|
-
button: {
|
|
62
|
-
margin: 0,
|
|
63
|
-
padding: 0
|
|
64
|
-
},
|
|
65
|
-
tooltip: {
|
|
66
|
-
fontSize: theme.typography.fontSize - 2
|
|
67
|
-
},
|
|
68
|
-
flexContainer: {
|
|
69
|
-
display: 'flex',
|
|
70
|
-
alignItems: 'center'
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
var _default = (0, _styles.withStyles)(styles)(CardBar);
|
|
76
|
-
|
|
77
|
-
exports["default"] = _default;
|
|
56
|
+
var _default = exports.default = CardBar;
|
|
78
57
|
//# sourceMappingURL=card-bar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"card-bar.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Tooltip","_HelpOutline","_IconButton","_Typography","StyledCardBar","styled","display","justifyContent","FlexContainer","alignItems","StyledIconButton","IconButton","margin","padding","StyledTooltip","Tooltip","theme","fontSize","typography","CardBar","props","header","children","mini","info","default","createElement","variant","title","size","propTypes","PropTypes","bool","string","node","any","_default","exports"],"sources":["../src/card-bar.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Tooltip from '@mui/material/Tooltip';\nimport HelpIcon from '@mui/icons-material/HelpOutline';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\n\nconst StyledCardBar = styled('div')({\n display: 'flex',\n justifyContent: 'space-between',\n});\n\nconst FlexContainer = styled('div')({\n display: 'flex',\n alignItems: 'center',\n});\n\nconst StyledIconButton = styled(IconButton)({\n margin: 0,\n padding: 0,\n});\n\nconst StyledTooltip = styled(Tooltip)(({ theme }) => ({\n '& .MuiTooltip-tooltip': {\n fontSize: theme.typography.fontSize - 2,\n },\n}));\n\nconst CardBar = (props) => {\n const { header, children, mini, info } = props;\n\n return (\n <StyledCardBar>\n <FlexContainer>\n <Typography variant={mini ? 'h6' : 'h5'}>{header}</Typography>\n {info}\n </FlexContainer>\n {children && (\n <StyledTooltip title={children}>\n <StyledIconButton aria-label=\"Delete\" size=\"large\">\n <HelpIcon />\n </StyledIconButton>\n </StyledTooltip>\n )}\n </StyledCardBar>\n );\n};\n\nCardBar.propTypes = {\n mini: PropTypes.bool,\n header: PropTypes.string,\n children: PropTypes.node,\n info: PropTypes.any,\n};\n\nexport default CardBar;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,WAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,WAAA,GAAAP,sBAAA,CAAAC,OAAA;AAEA,MAAMO,aAAa,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC;EAClCC,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE;AAClB,CAAC,CAAC;AAEF,MAAMC,aAAa,GAAG,IAAAH,cAAM,EAAC,KAAK,CAAC,CAAC;EAClCC,OAAO,EAAE,MAAM;EACfG,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,MAAMC,gBAAgB,GAAG,IAAAL,cAAM,EAACM,mBAAU,CAAC,CAAC;EAC1CC,MAAM,EAAE,CAAC;EACTC,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAMC,aAAa,GAAG,IAAAT,cAAM,EAACU,gBAAO,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EACpD,uBAAuB,EAAE;IACvBC,QAAQ,EAAED,KAAK,CAACE,UAAU,CAACD,QAAQ,GAAG;EACxC;AACF,CAAC,CAAC,CAAC;AAEH,MAAME,OAAO,GAAIC,KAAK,IAAK;EACzB,MAAM;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC;EAAK,CAAC,GAAGJ,KAAK;EAE9C,oBACEzB,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAACtB,aAAa,qBACZT,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAClB,aAAa,qBACZb,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAACvB,WAAA,CAAAsB,OAAU;IAACE,OAAO,EAAEJ,IAAI,GAAG,IAAI,GAAG;EAAK,GAAEF,MAAmB,CAAC,EAC7DG,IACY,CAAC,EACfF,QAAQ,iBACP3B,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAACZ,aAAa;IAACc,KAAK,EAAEN;EAAS,gBAC7B3B,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAAChB,gBAAgB;IAAC,cAAW,QAAQ;IAACmB,IAAI,EAAC;EAAO,gBAChDlC,MAAA,CAAA8B,OAAA,CAAAC,aAAA,CAACzB,YAAA,CAAAwB,OAAQ,MAAE,CACK,CACL,CAEJ,CAAC;AAEpB,CAAC;AAEDN,OAAO,CAACW,SAAS,GAAG;EAClBP,IAAI,EAAEQ,kBAAS,CAACC,IAAI;EACpBX,MAAM,EAAEU,kBAAS,CAACE,MAAM;EACxBX,QAAQ,EAAES,kBAAS,CAACG,IAAI;EACxBV,IAAI,EAAEO,kBAAS,CAACI;AAClB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAZ,OAAA,GAEaN,OAAO","ignoreList":[]}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
7
|
-
var _default = {
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _default = exports.default = {
|
|
8
8
|
model: {
|
|
9
9
|
correctResponse: [],
|
|
10
10
|
title: '',
|
|
@@ -72,12 +72,12 @@ var _default = {
|
|
|
72
72
|
maxOfModel: {
|
|
73
73
|
min: 1,
|
|
74
74
|
max: 9,
|
|
75
|
-
|
|
75
|
+
default: 1
|
|
76
76
|
},
|
|
77
77
|
partsPerModel: {
|
|
78
78
|
min: 1,
|
|
79
79
|
max: 9,
|
|
80
|
-
|
|
80
|
+
default: 5
|
|
81
81
|
},
|
|
82
82
|
modelTypeChoices: [{
|
|
83
83
|
value: 'bar',
|
|
@@ -108,5 +108,4 @@ var _default = {
|
|
|
108
108
|
settingsPanelDisabled: true
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
|
-
exports["default"] = _default;
|
|
112
111
|
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"defaults.js","names":["model","correctResponse","title","prompt","modelTypeSelected","maxModelSelected","partsPerModel","allowedStudentConfig","showGraphLabels","configuration","baseInputConfiguration","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","label","settings","enabled","inputConfiguration","modelOptions","maxOfModel","min","max","default","modelTypeChoices","value","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options","spellCheck","settingsPanelDisabled"],"sources":["../src/defaults.js"],"sourcesContent":["export default {\n model: {\n correctResponse: [],\n title: '',\n prompt: '',\n modelTypeSelected: 'bar',\n maxModelSelected: 1,\n partsPerModel: 5,\n allowedStudentConfig: false,\n showGraphLabels: false,\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n title: {\n label: 'Title',\n settings: true,\n enabled: true,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n prompt: {\n label: 'Question',\n settings: true,\n enabled: true,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n modelOptions: {\n maxOfModel: {\n min: 1,\n max: 9,\n default: 1,\n },\n partsPerModel: {\n min: 1,\n max: 9,\n default: 5,\n },\n modelTypeChoices: [\n { value: 'bar', label: 'Bar' },\n { value: 'pie', label: 'Pie' },\n ],\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n settingsPanelDisabled: true,\n },\n};\n"],"mappings":";;;;;;iCAAe;EACbA,KAAK,EAAE;IACLC,eAAe,EAAE,EAAE;IACnBC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,iBAAiB,EAAE,KAAK;IACxBC,gBAAgB,EAAE,CAAC;IACnBC,aAAa,EAAE,CAAC;IAChBC,oBAAoB,EAAE,KAAK;IAC3BC,eAAe,EAAE;EACnB,CAAC;EACDC,aAAa,EAAE;IACbC,sBAAsB,EAAE;MACtBC,KAAK,EAAE;QAAEC,QAAQ,EAAE;MAAM,CAAC;MAC1BC,KAAK,EAAE;QAAED,QAAQ,EAAE;MAAM,CAAC;MAC1BE,KAAK,EAAE;QAAEF,QAAQ,EAAE;MAAM,CAAC;MAC1BG,SAAS,EAAE;QAAEH,QAAQ,EAAE;MAAK,CAAC;MAC7BI,cAAc,EAAE;QAAEJ,QAAQ,EAAE;MAAM,CAAC;MACnCK,kBAAkB,EAAE;QAAEL,QAAQ,EAAE;MAAK;IACvC,CAAC;IACDV,KAAK,EAAE;MACLgB,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE,IAAI;MACdC,OAAO,EAAE,IAAI;MACbC,kBAAkB,EAAE;QAClBV,KAAK,EAAE;UAAEC,QAAQ,EAAE;QAAM,CAAC;QAC1BC,KAAK,EAAE;UAAED,QAAQ,EAAE;QAAM,CAAC;QAC1BE,KAAK,EAAE;UAAEF,QAAQ,EAAE;QAAM;MAC3B;IACF,CAAC;IACDT,MAAM,EAAE;MACNe,KAAK,EAAE,UAAU;MACjBC,QAAQ,EAAE,IAAI;MACdC,OAAO,EAAE,IAAI;MACbC,kBAAkB,EAAE;QAClBV,KAAK,EAAE;UAAEC,QAAQ,EAAE;QAAM,CAAC;QAC1BC,KAAK,EAAE;UAAED,QAAQ,EAAE;QAAM,CAAC;QAC1BE,KAAK,EAAE;UAAEF,QAAQ,EAAE;QAAM;MAC3B;IACF,CAAC;IACDU,YAAY,EAAE;MACZC,UAAU,EAAE;QACVC,GAAG,EAAE,CAAC;QACNC,GAAG,EAAE,CAAC;QACNC,OAAO,EAAE;MACX,CAAC;MACDpB,aAAa,EAAE;QACbkB,GAAG,EAAE,CAAC;QACNC,GAAG,EAAE,CAAC;QACNC,OAAO,EAAE;MACX,CAAC;MACDC,gBAAgB,EAAE,CAChB;QAAEC,KAAK,EAAE,KAAK;QAAEV,KAAK,EAAE;MAAM,CAAC,EAC9B;QAAEU,KAAK,EAAE,KAAK;QAAEV,KAAK,EAAE;MAAM,CAAC;IAElC,CAAC;IACDW,aAAa,EAAE;MACbC,SAAS,EAAE,KAAK;MAChBC,UAAU,EAAE;IACd,CAAC;IACDC,QAAQ,EAAE;MACRb,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE,kBAAkB;MACzBE,OAAO,EAAE;IACX,CAAC;IACDa,eAAe,EAAE;MACff,KAAK,EAAE,kBAAkB;MACzBgB,OAAO,EAAE;IACX,CAAC;IACDC,UAAU,EAAE;MACVjB,KAAK,EAAE,YAAY;MACnBC,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE;IACX,CAAC;IACDgB,qBAAqB,EAAE;EACzB;AACF,CAAC","ignoreList":[]}
|
package/configure/lib/index.js
CHANGED
|
@@ -1,229 +1,163 @@
|
|
|
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
|
-
exports
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
23
|
-
|
|
7
|
+
exports.default = void 0;
|
|
24
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
9
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
29
|
-
|
|
10
|
+
var _client = require("react-dom/client");
|
|
30
11
|
var _main = _interopRequireDefault(require("./main"));
|
|
31
|
-
|
|
32
12
|
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
33
|
-
|
|
34
13
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
41
|
-
|
|
42
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
43
|
-
|
|
44
|
-
var FractionModelConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
45
|
-
(0, _inherits2["default"])(FractionModelConfigure, _HTMLElement);
|
|
46
|
-
|
|
47
|
-
var _super = _createSuper(FractionModelConfigure);
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* This function makes sure you set the default values on the model
|
|
51
|
-
* @param model
|
|
52
|
-
* @returns model
|
|
53
|
-
*/
|
|
54
|
-
function FractionModelConfigure() {
|
|
55
|
-
var _this;
|
|
56
|
-
|
|
57
|
-
(0, _classCallCheck2["default"])(this, FractionModelConfigure);
|
|
58
|
-
_this = _super.call(this);
|
|
59
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "resetModelAfterConfigurationIsSet", function () {
|
|
14
|
+
class FractionModelConfigure extends HTMLElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super();
|
|
17
|
+
(0, _defineProperty2.default)(this, "resetModelAfterConfigurationIsSet", () => {
|
|
60
18
|
// In environments that use pie-player-components, model is set before configuration.
|
|
61
19
|
// This is the reason why sometimes the model gets altered non-reversible
|
|
62
20
|
// (altered using default configuration instead of client configuration, because at that point client configuration was not set yet)
|
|
63
21
|
// Therefore, in such environments, we will make sure to keep a modelCopy (initialised in set model) and use it to reset
|
|
64
22
|
// the model in set configuration (resetModelAfterConfigurationIsSet) if set configuration is ever called
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (_this.hasPlayerAsParent) {
|
|
71
|
-
if (_this._modelCopy) {
|
|
72
|
-
_this._model = _this._modelCopy;
|
|
23
|
+
const pieAuthors = document.querySelectorAll('pie-author');
|
|
24
|
+
this.hasPlayerAsParent = Array.from(pieAuthors).some(author => author.contains(this));
|
|
25
|
+
if (this.hasPlayerAsParent) {
|
|
26
|
+
if (this._modelCopy) {
|
|
27
|
+
this._model = this._modelCopy;
|
|
73
28
|
} else {
|
|
74
|
-
delete
|
|
29
|
+
delete this._modelCopy;
|
|
75
30
|
}
|
|
76
31
|
}
|
|
77
32
|
});
|
|
78
|
-
(0, _defineProperty2
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
33
|
+
(0, _defineProperty2.default)(this, "onChange", o => {
|
|
34
|
+
this._model = {
|
|
35
|
+
...this._model,
|
|
36
|
+
...o
|
|
37
|
+
};
|
|
38
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model));
|
|
39
|
+
this.render();
|
|
84
40
|
});
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
41
|
+
this._root = null;
|
|
42
|
+
this._model = FractionModelConfigure.createDefaultModel();
|
|
43
|
+
this._configuration = _defaults.default.configuration;
|
|
88
44
|
}
|
|
45
|
+
set model(m) {
|
|
46
|
+
this._model = FractionModelConfigure.createDefaultModel(m);
|
|
47
|
+
this.render();
|
|
48
|
+
}
|
|
49
|
+
set configuration(c) {
|
|
50
|
+
const newConfiguration = {
|
|
51
|
+
..._defaults.default.configuration,
|
|
52
|
+
...c
|
|
53
|
+
};
|
|
54
|
+
this._configuration = newConfiguration;
|
|
55
|
+
this.resetModelAfterConfigurationIsSet();
|
|
56
|
+
|
|
57
|
+
// if language:enabled is true, then the corresponding default item model should include a language value;
|
|
58
|
+
// if it is false, then the language field should be omitted from the item model.
|
|
59
|
+
// if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
|
|
60
|
+
// then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
|
|
61
|
+
if (newConfiguration?.language?.enabled) {
|
|
62
|
+
if (newConfiguration?.languageChoices?.options?.length) {
|
|
63
|
+
this._model.language = newConfiguration?.languageChoices.options[0].value;
|
|
64
|
+
}
|
|
65
|
+
} else if (newConfiguration.language.settings && this._model.language) {
|
|
66
|
+
this._configuration.language.enabled = true;
|
|
67
|
+
if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {
|
|
68
|
+
this._configuration.languageChoices.options = [];
|
|
69
|
+
}
|
|
89
70
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
71
|
+
// check if the language is already included in the languageChoices.options array
|
|
72
|
+
// and if not, then add it.
|
|
73
|
+
if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {
|
|
74
|
+
this._configuration.languageChoices.options.push({
|
|
75
|
+
value: this._model.language,
|
|
76
|
+
label: this._model.language
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
} else {
|
|
80
|
+
delete this._model.language;
|
|
95
81
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
if (newConfiguration !== null && newConfiguration !== void 0 && (_newConfiguration$lan = newConfiguration.language) !== null && _newConfiguration$lan !== void 0 && _newConfiguration$lan.enabled) {
|
|
111
|
-
var _newConfiguration$lan2, _newConfiguration$lan3;
|
|
112
|
-
|
|
113
|
-
if (newConfiguration !== null && newConfiguration !== void 0 && (_newConfiguration$lan2 = newConfiguration.languageChoices) !== null && _newConfiguration$lan2 !== void 0 && (_newConfiguration$lan3 = _newConfiguration$lan2.options) !== null && _newConfiguration$lan3 !== void 0 && _newConfiguration$lan3.length) {
|
|
114
|
-
this._model.language = newConfiguration === null || newConfiguration === void 0 ? void 0 : newConfiguration.languageChoices.options[0].value;
|
|
115
|
-
}
|
|
116
|
-
} else if (newConfiguration.language.settings && this._model.language) {
|
|
117
|
-
this._configuration.language.enabled = true;
|
|
118
|
-
|
|
119
|
-
if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {
|
|
120
|
-
this._configuration.languageChoices.options = [];
|
|
121
|
-
} // check if the language is already included in the languageChoices.options array
|
|
122
|
-
// and if not, then add it.
|
|
123
|
-
|
|
82
|
+
this.render();
|
|
83
|
+
}
|
|
84
|
+
connectedCallback() {
|
|
85
|
+
this.render();
|
|
86
|
+
}
|
|
87
|
+
modelChanged(m) {
|
|
88
|
+
this._model = m;
|
|
89
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model), true);
|
|
90
|
+
this.render();
|
|
91
|
+
}
|
|
92
|
+
onConfigurationChanged(c) {
|
|
93
|
+
this._configuration = c;
|
|
94
|
+
this.render();
|
|
95
|
+
}
|
|
124
96
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
97
|
+
/**
|
|
98
|
+
*
|
|
99
|
+
* @param {done, progress, file} handler
|
|
100
|
+
*/
|
|
101
|
+
insertImage(handler) {
|
|
102
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
|
|
103
|
+
}
|
|
104
|
+
onDeleteImage(src, done) {
|
|
105
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
|
|
106
|
+
}
|
|
107
|
+
insertSound(handler) {
|
|
108
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
109
|
+
}
|
|
110
|
+
onDeleteSound(src, done) {
|
|
111
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
112
|
+
}
|
|
113
|
+
render() {
|
|
114
|
+
if (this._model) {
|
|
115
|
+
const el = /*#__PURE__*/_react.default.createElement(_main.default, {
|
|
116
|
+
classes: {},
|
|
117
|
+
model: this._model,
|
|
118
|
+
configuration: this._configuration,
|
|
119
|
+
onConfigurationChanged: this.onConfigurationChanged,
|
|
120
|
+
onChange: this.onChange,
|
|
121
|
+
imageSupport: {
|
|
122
|
+
add: this.insertImage.bind(this),
|
|
123
|
+
delete: this.onDeleteImage.bind(this)
|
|
124
|
+
},
|
|
125
|
+
uploadSoundSupport: {
|
|
126
|
+
add: this.insertSound.bind(this),
|
|
127
|
+
delete: this.onDeleteSound.bind(this)
|
|
132
128
|
}
|
|
133
|
-
}
|
|
134
|
-
|
|
129
|
+
});
|
|
130
|
+
if (!this._root) {
|
|
131
|
+
this._root = (0, _client.createRoot)(this);
|
|
135
132
|
}
|
|
136
|
-
|
|
137
|
-
this.render();
|
|
138
|
-
}
|
|
139
|
-
}, {
|
|
140
|
-
key: "connectedCallback",
|
|
141
|
-
value: function connectedCallback() {
|
|
142
|
-
this.render();
|
|
133
|
+
this._root.render(el);
|
|
143
134
|
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
this.
|
|
148
|
-
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model), true);
|
|
149
|
-
this.render();
|
|
150
|
-
}
|
|
151
|
-
}, {
|
|
152
|
-
key: "onConfigurationChanged",
|
|
153
|
-
value: function onConfigurationChanged(c) {
|
|
154
|
-
this._configuration = c;
|
|
155
|
-
this.render();
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
*
|
|
159
|
-
* @param {done, progress, file} handler
|
|
160
|
-
*/
|
|
161
|
-
|
|
162
|
-
}, {
|
|
163
|
-
key: "insertImage",
|
|
164
|
-
value: function insertImage(handler) {
|
|
165
|
-
this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
|
|
166
|
-
}
|
|
167
|
-
}, {
|
|
168
|
-
key: "onDeleteImage",
|
|
169
|
-
value: function onDeleteImage(src, done) {
|
|
170
|
-
this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
|
|
171
|
-
}
|
|
172
|
-
}, {
|
|
173
|
-
key: "insertSound",
|
|
174
|
-
value: function insertSound(handler) {
|
|
175
|
-
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
176
|
-
}
|
|
177
|
-
}, {
|
|
178
|
-
key: "onDeleteSound",
|
|
179
|
-
value: function onDeleteSound(src, done) {
|
|
180
|
-
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
181
|
-
}
|
|
182
|
-
}, {
|
|
183
|
-
key: "render",
|
|
184
|
-
value: function render() {
|
|
185
|
-
if (this._model) {
|
|
186
|
-
var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
|
|
187
|
-
classes: {},
|
|
188
|
-
model: this._model,
|
|
189
|
-
configuration: this._configuration,
|
|
190
|
-
onConfigurationChanged: this.onConfigurationChanged,
|
|
191
|
-
onChange: this.onChange,
|
|
192
|
-
imageSupport: {
|
|
193
|
-
add: this.insertImage.bind(this),
|
|
194
|
-
"delete": this.onDeleteImage.bind(this)
|
|
195
|
-
},
|
|
196
|
-
uploadSoundSupport: {
|
|
197
|
-
add: this.insertSound.bind(this),
|
|
198
|
-
"delete": this.onDeleteSound.bind(this)
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
_reactDom["default"].render(el, this);
|
|
203
|
-
}
|
|
135
|
+
}
|
|
136
|
+
disconnectedCallback() {
|
|
137
|
+
if (this._root) {
|
|
138
|
+
this._root.unmount();
|
|
204
139
|
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.default = FractionModelConfigure;
|
|
143
|
+
/**
|
|
144
|
+
* This function makes sure you set the default values on the model
|
|
145
|
+
* @param model
|
|
146
|
+
* @returns model
|
|
147
|
+
*/
|
|
148
|
+
(0, _defineProperty2.default)(FractionModelConfigure, "createDefaultModel", (model = {}) => {
|
|
149
|
+
const c = _defaults.default.configuration;
|
|
150
|
+
let language = model.language || '';
|
|
215
151
|
if (!language && c.language && c.language.enabled) {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
if ((_c$languageChoices = c.languageChoices) !== null && _c$languageChoices !== void 0 && (_c$languageChoices$op = _c$languageChoices.options) !== null && _c$languageChoices$op !== void 0 && _c$languageChoices$op.length) {
|
|
152
|
+
if (c.languageChoices?.options?.length) {
|
|
219
153
|
language = c.languageChoices.options[0].value;
|
|
220
154
|
}
|
|
221
155
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
156
|
+
const normalizedModel = {
|
|
157
|
+
..._defaults.default.model,
|
|
158
|
+
...model,
|
|
159
|
+
language
|
|
160
|
+
};
|
|
227
161
|
return normalizedModel;
|
|
228
162
|
});
|
|
229
163
|
//# sourceMappingURL=index.js.map
|