@pie-element/boilerplate-item-type 1.0.1-next.5851
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.json +1 -0
- package/CHANGELOG.md +0 -0
- package/LICENSE.md +5 -0
- package/README.md +5 -0
- package/configure/CHANGELOG.json +1 -0
- package/configure/CHANGELOG.md +0 -0
- package/configure/lib/defaults.js +21 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/design.js +156 -0
- package/configure/lib/design.js.map +1 -0
- package/configure/lib/index.js +148 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/package.json +21 -0
- package/controller/CHANGELOG.json +1 -0
- package/controller/CHANGELOG.md +0 -0
- package/controller/lib/defaults.js +21 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +125 -0
- package/controller/lib/index.js.map +1 -0
- package/controller/package.json +19 -0
- package/docs/config-schema.json +104 -0
- package/docs/config-schema.json.md +85 -0
- package/docs/demo/config.js +8 -0
- package/docs/demo/generate.js +5 -0
- package/docs/demo/index.html +1 -0
- package/docs/demo/session.js +6 -0
- package/docs/pie-schema.json +51 -0
- package/docs/pie-schema.json.md +37 -0
- package/lib/index.js +105 -0
- package/lib/index.js.map +1 -0
- package/lib/main.js +61 -0
- package/lib/main.js.map +1 -0
- package/package.json +29 -0
package/CHANGELOG.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
package/CHANGELOG.md
ADDED
|
File without changes
|
package/LICENSE.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Copyright 2019 CoreSpring Inc
|
|
2
|
+
|
|
3
|
+
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
|
4
|
+
|
|
5
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
// Should be exactly the same as controller/defaults.js
|
|
8
|
+
var _default = {
|
|
9
|
+
model: {
|
|
10
|
+
prompt: 'Question Prompt goes here',
|
|
11
|
+
promptEnabled: true
|
|
12
|
+
},
|
|
13
|
+
configuration: {
|
|
14
|
+
prompt: {
|
|
15
|
+
label: 'Prompt',
|
|
16
|
+
settings: true
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
exports["default"] = _default;
|
|
21
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","prompt","promptEnabled","configuration","label","settings"],"mappings":";;;;;;AAAA;eACe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,2BADH;AAELC,IAAAA,aAAa,EAAE;AAFV,GADM;AAKbC,EAAAA,aAAa,EAAE;AACbF,IAAAA,MAAM,EAAE;AACNG,MAAAA,KAAK,EAAE,QADD;AAENC,MAAAA,QAAQ,EAAE;AAFJ;AADK;AALF,C","sourcesContent":["// Should be exactly the same as controller/defaults.js\nexport default {\n model: {\n prompt: 'Question Prompt goes here',\n promptEnabled: true\n },\n configuration: {\n prompt: {\n label: 'Prompt',\n settings: true,\n }\n },\n};\n"],"file":"defaults.js"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.Design = void 0;
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
|
25
|
+
|
|
26
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
+
|
|
28
|
+
var _styles = require("@material-ui/core/styles");
|
|
29
|
+
|
|
30
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
31
|
+
|
|
32
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
33
|
+
|
|
34
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
35
|
+
|
|
36
|
+
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); }; }
|
|
37
|
+
|
|
38
|
+
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; } }
|
|
39
|
+
|
|
40
|
+
var Panel = _configUi.settings.Panel,
|
|
41
|
+
toggle = _configUi.settings.toggle;
|
|
42
|
+
|
|
43
|
+
var Design = /*#__PURE__*/function (_React$Component) {
|
|
44
|
+
(0, _inherits2["default"])(Design, _React$Component);
|
|
45
|
+
|
|
46
|
+
var _super = _createSuper(Design);
|
|
47
|
+
|
|
48
|
+
function Design() {
|
|
49
|
+
var _this;
|
|
50
|
+
|
|
51
|
+
(0, _classCallCheck2["default"])(this, Design);
|
|
52
|
+
|
|
53
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
54
|
+
args[_key] = arguments[_key];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
58
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPromptChanged", function (prompt) {
|
|
59
|
+
var _this$props = _this.props,
|
|
60
|
+
onModelChanged = _this$props.onModelChanged,
|
|
61
|
+
model = _this$props.model;
|
|
62
|
+
var update = (0, _cloneDeep["default"])(model);
|
|
63
|
+
update.prompt = prompt;
|
|
64
|
+
onModelChanged(update);
|
|
65
|
+
});
|
|
66
|
+
return _this;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
(0, _createClass2["default"])(Design, [{
|
|
70
|
+
key: "render",
|
|
71
|
+
value: function render() {
|
|
72
|
+
var _this$props2 = this.props,
|
|
73
|
+
classes = _this$props2.classes,
|
|
74
|
+
configuration = _this$props2.configuration,
|
|
75
|
+
imageSupport = _this$props2.imageSupport,
|
|
76
|
+
model = _this$props2.model,
|
|
77
|
+
onConfigurationChanged = _this$props2.onConfigurationChanged,
|
|
78
|
+
onModelChanged = _this$props2.onModelChanged,
|
|
79
|
+
uploadSoundSupport = _this$props2.uploadSoundSupport;
|
|
80
|
+
|
|
81
|
+
var _ref = configuration || {},
|
|
82
|
+
_ref$contentDimension = _ref.contentDimensions,
|
|
83
|
+
contentDimensions = _ref$contentDimension === void 0 ? {} : _ref$contentDimension,
|
|
84
|
+
_ref$prompt = _ref.prompt,
|
|
85
|
+
prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
|
|
86
|
+
settingsPanelDisabled = _ref.settingsPanelDisabled;
|
|
87
|
+
|
|
88
|
+
var _ref2 = model || {},
|
|
89
|
+
promptEnabled = _ref2.promptEnabled;
|
|
90
|
+
|
|
91
|
+
var panelSettings = {};
|
|
92
|
+
var panelProperties = {
|
|
93
|
+
promptEnabled: prompt.settings && toggle(prompt.label)
|
|
94
|
+
};
|
|
95
|
+
return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
|
|
96
|
+
dimensions: contentDimensions,
|
|
97
|
+
hideSettings: settingsPanelDisabled,
|
|
98
|
+
settings: /*#__PURE__*/_react["default"].createElement(Panel, {
|
|
99
|
+
model: model,
|
|
100
|
+
configuration: configuration,
|
|
101
|
+
onChangeModel: function onChangeModel(model) {
|
|
102
|
+
return onModelChanged(model);
|
|
103
|
+
},
|
|
104
|
+
onChangeConfiguration: onConfigurationChanged,
|
|
105
|
+
groups: {
|
|
106
|
+
Settings: panelSettings,
|
|
107
|
+
Properties: panelProperties
|
|
108
|
+
}
|
|
109
|
+
})
|
|
110
|
+
}, promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
111
|
+
label: prompt.label || '',
|
|
112
|
+
className: classes.promptHolder
|
|
113
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
114
|
+
className: classes.prompt,
|
|
115
|
+
markup: model.prompt,
|
|
116
|
+
onChange: this.onPromptChanged,
|
|
117
|
+
imageSupport: imageSupport,
|
|
118
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
119
|
+
languageCharactersProps: [{
|
|
120
|
+
language: 'spanish'
|
|
121
|
+
}, {
|
|
122
|
+
language: 'special'
|
|
123
|
+
}]
|
|
124
|
+
})));
|
|
125
|
+
}
|
|
126
|
+
}]);
|
|
127
|
+
return Design;
|
|
128
|
+
}(_react["default"].Component);
|
|
129
|
+
|
|
130
|
+
exports.Design = Design;
|
|
131
|
+
(0, _defineProperty2["default"])(Design, "propTypes", {
|
|
132
|
+
model: _propTypes["default"].object.isRequired,
|
|
133
|
+
configuration: _propTypes["default"].object.isRequired,
|
|
134
|
+
classes: _propTypes["default"].object.isRequired,
|
|
135
|
+
onModelChanged: _propTypes["default"].func.isRequired,
|
|
136
|
+
onConfigurationChanged: _propTypes["default"].func.isRequired,
|
|
137
|
+
imageSupport: _propTypes["default"].shape({
|
|
138
|
+
add: _propTypes["default"].func.isRequired,
|
|
139
|
+
"delete": _propTypes["default"].func.isRequired
|
|
140
|
+
}),
|
|
141
|
+
uploadSoundSupport: _propTypes["default"].object
|
|
142
|
+
});
|
|
143
|
+
(0, _defineProperty2["default"])(Design, "defaultProps", {});
|
|
144
|
+
|
|
145
|
+
var _default = (0, _styles.withStyles)(function (theme) {
|
|
146
|
+
return {
|
|
147
|
+
promptHolder: {
|
|
148
|
+
width: '100%',
|
|
149
|
+
paddingTop: theme.spacing.unit * 2,
|
|
150
|
+
marginBottom: theme.spacing.unit * 2
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
})(Design);
|
|
154
|
+
|
|
155
|
+
exports["default"] = _default;
|
|
156
|
+
//# sourceMappingURL=design.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","Design","prompt","props","onModelChanged","model","update","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","contentDimensions","settingsPanelDisabled","promptEnabled","panelSettings","panelProperties","label","Settings","Properties","promptHolder","onPromptChanged","language","React","Component","PropTypes","object","isRequired","func","shape","add","theme","width","paddingTop","spacing","unit","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { InputContainer, settings, layout } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\n\nconst { Panel, toggle } = settings;\n\nexport class Design extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.object,\n };\n\n static defaultProps = {};\n\n onPromptChanged = (prompt) => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.prompt = prompt;\n onModelChanged(update);\n };\n\n render() {\n const { classes, configuration, imageSupport, model, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n contentDimensions = {},\n prompt = {},\n settingsPanelDisabled,\n } = configuration || {};\n const { promptEnabled } = model || {};\n\n const panelSettings = {};\n\n const panelProperties = {\n promptEnabled: prompt.settings && toggle(prompt.label),\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {promptEnabled && (\n <InputContainer label={prompt.label || ''} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles((theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n }\n}))(Design);\n"],"file":"design.js"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
+
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
|
|
20
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
|
25
|
+
|
|
26
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
27
|
+
|
|
28
|
+
var _design = _interopRequireDefault(require("./design"));
|
|
29
|
+
|
|
30
|
+
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
31
|
+
|
|
32
|
+
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
33
|
+
|
|
34
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
35
|
+
|
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
|
+
|
|
38
|
+
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); }; }
|
|
39
|
+
|
|
40
|
+
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; } }
|
|
41
|
+
|
|
42
|
+
var SelectTextConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
43
|
+
(0, _inherits2["default"])(SelectTextConfigure, _HTMLElement);
|
|
44
|
+
|
|
45
|
+
var _super = _createSuper(SelectTextConfigure);
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* This function makes sure you set the default values on the model
|
|
49
|
+
* @param model
|
|
50
|
+
* @returns model
|
|
51
|
+
*/
|
|
52
|
+
function SelectTextConfigure() {
|
|
53
|
+
var _this;
|
|
54
|
+
|
|
55
|
+
(0, _classCallCheck2["default"])(this, SelectTextConfigure);
|
|
56
|
+
_this = _super.call(this);
|
|
57
|
+
_this._model = SelectTextConfigure.createDefaultModel();
|
|
58
|
+
_this._configuration = _defaults["default"].configuration;
|
|
59
|
+
return _this;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
(0, _createClass2["default"])(SelectTextConfigure, [{
|
|
63
|
+
key: "model",
|
|
64
|
+
set: function set(m) {
|
|
65
|
+
this._model = SelectTextConfigure.createDefaultModel(m);
|
|
66
|
+
this.render();
|
|
67
|
+
}
|
|
68
|
+
}, {
|
|
69
|
+
key: "configuration",
|
|
70
|
+
set: function set(c) {
|
|
71
|
+
this._configuration = c;
|
|
72
|
+
this.render();
|
|
73
|
+
}
|
|
74
|
+
}, {
|
|
75
|
+
key: "connectedCallback",
|
|
76
|
+
value: function connectedCallback() {
|
|
77
|
+
this.render();
|
|
78
|
+
}
|
|
79
|
+
}, {
|
|
80
|
+
key: "modelChanged",
|
|
81
|
+
value: function modelChanged(m) {
|
|
82
|
+
this._model = m;
|
|
83
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model), true);
|
|
84
|
+
this.render();
|
|
85
|
+
}
|
|
86
|
+
}, {
|
|
87
|
+
key: "onConfigurationChanged",
|
|
88
|
+
value: function onConfigurationChanged(c) {
|
|
89
|
+
this._configuration = c;
|
|
90
|
+
this.render();
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
*
|
|
94
|
+
* @param {done, progress, file} handler
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
}, {
|
|
98
|
+
key: "insertImage",
|
|
99
|
+
value: function insertImage(handler) {
|
|
100
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
|
|
101
|
+
}
|
|
102
|
+
}, {
|
|
103
|
+
key: "onDeleteImage",
|
|
104
|
+
value: function onDeleteImage(src, done) {
|
|
105
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
|
|
106
|
+
}
|
|
107
|
+
}, {
|
|
108
|
+
key: "insertSound",
|
|
109
|
+
value: function insertSound(handler) {
|
|
110
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
111
|
+
}
|
|
112
|
+
}, {
|
|
113
|
+
key: "onDeleteSound",
|
|
114
|
+
value: function onDeleteSound(src, done) {
|
|
115
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
116
|
+
}
|
|
117
|
+
}, {
|
|
118
|
+
key: "render",
|
|
119
|
+
value: function render() {
|
|
120
|
+
if (this._model) {
|
|
121
|
+
var el = /*#__PURE__*/_react["default"].createElement(_design["default"], {
|
|
122
|
+
model: this._model,
|
|
123
|
+
configuration: this._configuration,
|
|
124
|
+
onModelChanged: this.modelChanged.bind(this),
|
|
125
|
+
onConfigurationChanged: this.onConfigurationChanged.bind(this),
|
|
126
|
+
imageSupport: {
|
|
127
|
+
add: this.insertImage.bind(this),
|
|
128
|
+
"delete": this.onDeleteImage.bind(this)
|
|
129
|
+
},
|
|
130
|
+
uploadSoundSupport: {
|
|
131
|
+
add: this.insertSound.bind(this),
|
|
132
|
+
"delete": this.onDeleteSound.bind(this)
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
_reactDom["default"].render(el, this);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}]);
|
|
140
|
+
return SelectTextConfigure;
|
|
141
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
142
|
+
|
|
143
|
+
exports["default"] = SelectTextConfigure;
|
|
144
|
+
(0, _defineProperty2["default"])(SelectTextConfigure, "createDefaultModel", function () {
|
|
145
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
146
|
+
return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
|
|
147
|
+
});
|
|
148
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["SelectTextConfigure","_model","createDefaultModel","_configuration","defaultValues","configuration","m","render","c","dispatchEvent","ModelUpdatedEvent","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Main","model","onModelChanged","modelChanged","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAOA;;;;;;;;;;IAEqBA,mB;;;;;AACnB;AACF;AACA;AACA;AACA;AAME,iCAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,mBAAmB,CAACE,kBAApB,EAAd;AACA,UAAKC,cAAL,GAAsBC,qBAAcC,aAApC;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKL,MAAL,GAAcD,mBAAmB,CAACE,kBAApB,CAAuCI,CAAvC,CAAd;AACA,WAAKC,MAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKL,cAAL,GAAsBK,CAAtB;AACA,WAAKD,MAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,MAAL;AACD;;;WAED,sBAAaD,CAAb,EAAgB;AACd,WAAKL,MAAL,GAAcK,CAAd;AACA,WAAKG,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKT,MAA3B,CAAnB,EAAuD,IAAvD;AACA,WAAKM,MAAL;AACD;;;WAED,gCAAuBC,CAAvB,EAA0B;AACxB,WAAKL,cAAL,GAAsBK,CAAtB;AAEA,WAAKD,MAAL;AACD;AAED;AACF;AACA;AACA;;;;WACE,qBAAYI,OAAZ,EAAqB;AACnB,WAAKF,aAAL,CAAmB,IAAIG,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKL,aAAL,CAAmB,IAAIM,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,qBAAYH,OAAZ,EAAqB;AACnB,WAAKF,aAAL,CAAmB,IAAIO,oCAAJ,CAAqBL,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKL,aAAL,CAAmB,IAAIQ,oCAAJ,CAAqBJ,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,kBAAS;AACP,UAAI,KAAKb,MAAT,EAAiB;AACf,YAAMiB,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,kBAApB,EAA0B;AACnCC,UAAAA,KAAK,EAAE,KAAKrB,MADuB;AAEnCI,UAAAA,aAAa,EAAE,KAAKF,cAFe;AAGnCoB,UAAAA,cAAc,EAAE,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAHmB;AAInCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAJW;AAKnCE,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKK,aAAL,CAAmBL,IAAnB,CAAwB,IAAxB;AAFI,WALqB;AASnCM,UAAAA,kBAAkB,EAAE;AAClBH,YAAAA,GAAG,EAAE,KAAKI,WAAL,CAAiBP,IAAjB,CAAsB,IAAtB,CADa;AAElB,sBAAQ,KAAKQ,aAAL,CAAmBR,IAAnB,CAAwB,IAAxB;AAFU;AATe,SAA1B,CAAX;;AAeAS,6BAAS3B,MAAT,CAAgBW,EAAhB,EAAoB,IAApB;AACD;AACF;;;kDAlF8CiB,W;;;iCAA5BnC,mB,wBAMS;AAAA,MAACsB,KAAD,uEAAS,EAAT;AAAA,yCACvBlB,qBAAckB,KADS,GAEvBA,KAFuB;AAAA,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Main from './design';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport defaultValues from './defaults';\n\nexport default class SelectTextConfigure extends HTMLElement {\n /**\n * This function makes sure you set the default values on the model\n * @param model\n * @returns model\n */\n static createDefaultModel = (model = {}) => ({\n ...defaultValues.model,\n ...model,\n });\n\n constructor() {\n super();\n this._model = SelectTextConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = SelectTextConfigure.createDefaultModel(m);\n this.render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this.render();\n }\n\n connectedCallback() {\n this.render();\n }\n\n modelChanged(m) {\n this._model = m;\n this.dispatchEvent(new ModelUpdatedEvent(this._model), true);\n this.render();\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n\n this.render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n render() {\n if (this._model) {\n const el = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.modelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(el, this);\n }\n }\n}\n"],"file":"index.js"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pie-element/boilerplate-item-type-configure",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "",
|
|
6
|
+
"main": "lib/index.js",
|
|
7
|
+
"module": "src/index.js",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"@material-ui/core": "^3.9.2",
|
|
10
|
+
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
11
|
+
"@pie-lib/config-ui": "^11.9.4",
|
|
12
|
+
"@pie-lib/editable-html": "^9.7.8",
|
|
13
|
+
"debug": "^3.1.0",
|
|
14
|
+
"lodash": "^4.17.15",
|
|
15
|
+
"prop-types": "^15.6.2",
|
|
16
|
+
"react": "^16.8.1",
|
|
17
|
+
"react-dom": "^16.8.1"
|
|
18
|
+
},
|
|
19
|
+
"author": "",
|
|
20
|
+
"license": "ISC"
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
// Should be exactly the same as configure/defaults.js
|
|
8
|
+
var _default = {
|
|
9
|
+
model: {
|
|
10
|
+
prompt: 'Question Prompt goes here',
|
|
11
|
+
promptEnabled: true
|
|
12
|
+
},
|
|
13
|
+
configuration: {
|
|
14
|
+
prompt: {
|
|
15
|
+
label: 'Prompt',
|
|
16
|
+
settings: true
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
exports["default"] = _default;
|
|
21
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","prompt","promptEnabled","configuration","label","settings"],"mappings":";;;;;;AAAA;eACe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,2BADH;AAELC,IAAAA,aAAa,EAAE;AAFV,GADM;AAKbC,EAAAA,aAAa,EAAE;AACbF,IAAAA,MAAM,EAAE;AACNG,MAAAA,KAAK,EAAE,QADD;AAENC,MAAAA,QAAQ,EAAE;AAFJ;AADK;AALF,C","sourcesContent":["// Should be exactly the same as configure/defaults.js\nexport default {\n model: {\n prompt: 'Question Prompt goes here',\n promptEnabled: true\n },\n configuration: {\n prompt: {\n label: 'Prompt',\n settings: true,\n }\n },\n};\n"],"file":"defaults.js"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.validate = exports.outcome = exports.normalizeSession = exports.model = exports.getPartialScore = exports.getCorrectness = exports.createDefaultModel = exports.createCorrectResponseSession = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
13
|
+
|
|
14
|
+
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
15
|
+
|
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
+
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
|
+
|
|
20
|
+
var getCorrectness = function getCorrectness(model) {
|
|
21
|
+
var correctnessCondition = 'c';
|
|
22
|
+
|
|
23
|
+
switch (correctnessCondition) {
|
|
24
|
+
case 'c':
|
|
25
|
+
return 'correct';
|
|
26
|
+
|
|
27
|
+
case 'pc':
|
|
28
|
+
return 'partially-correct';
|
|
29
|
+
|
|
30
|
+
case 'i':
|
|
31
|
+
return 'incorrect';
|
|
32
|
+
|
|
33
|
+
default:
|
|
34
|
+
return 'unknown';
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
exports.getCorrectness = getCorrectness;
|
|
39
|
+
|
|
40
|
+
var getPartialScore = function getPartialScore(question, session) {
|
|
41
|
+
if (!session || (0, _isEmpty["default"])(session)) {
|
|
42
|
+
return 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return 1;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
exports.getPartialScore = getPartialScore;
|
|
49
|
+
|
|
50
|
+
var outcome = function outcome(question, session, env) {
|
|
51
|
+
return new Promise(function (resolve) {
|
|
52
|
+
if (!session || (0, _isEmpty["default"])(session)) {
|
|
53
|
+
resolve({
|
|
54
|
+
score: 0,
|
|
55
|
+
empty: true
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
session = normalizeSession(session);
|
|
60
|
+
|
|
61
|
+
if (env.mode !== 'evaluate') {
|
|
62
|
+
resolve({
|
|
63
|
+
score: undefined,
|
|
64
|
+
completed: undefined
|
|
65
|
+
});
|
|
66
|
+
} else {
|
|
67
|
+
resolve({
|
|
68
|
+
score: 1
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
exports.outcome = outcome;
|
|
75
|
+
|
|
76
|
+
var createDefaultModel = function createDefaultModel() {
|
|
77
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
78
|
+
return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
exports.createDefaultModel = createDefaultModel;
|
|
82
|
+
|
|
83
|
+
var normalizeSession = function normalizeSession(s) {
|
|
84
|
+
return _objectSpread({}, s);
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
exports.normalizeSession = normalizeSession;
|
|
88
|
+
|
|
89
|
+
var model = function model(question, session, env) {
|
|
90
|
+
return new Promise(function (resolve) {
|
|
91
|
+
session = session || {};
|
|
92
|
+
var normalizedQuestion = createDefaultModel(question);
|
|
93
|
+
var out = {
|
|
94
|
+
prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,
|
|
95
|
+
env: env
|
|
96
|
+
};
|
|
97
|
+
resolve(out);
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
exports.model = model;
|
|
102
|
+
|
|
103
|
+
var createCorrectResponseSession = function createCorrectResponseSession(question, env) {
|
|
104
|
+
return new Promise(function (resolve) {
|
|
105
|
+
if (env.mode !== 'evaluate' && env.role === 'instructor') {
|
|
106
|
+
resolve({
|
|
107
|
+
id: '1'
|
|
108
|
+
});
|
|
109
|
+
} else {
|
|
110
|
+
resolve(null);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
exports.createCorrectResponseSession = createCorrectResponseSession;
|
|
116
|
+
|
|
117
|
+
var validate = function validate() {
|
|
118
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
119
|
+
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
120
|
+
var errors = {};
|
|
121
|
+
return errors;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
exports.validate = validate;
|
|
125
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["getCorrectness","model","correctnessCondition","getPartialScore","question","session","outcome","env","Promise","resolve","score","empty","normalizeSession","mode","undefined","completed","createDefaultModel","defaults","s","normalizedQuestion","out","prompt","promptEnabled","createCorrectResponseSession","role","id","validate","config","errors"],"mappings":"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","sourcesContent":["import isEmpty from 'lodash/isEmpty';\nimport defaults from './defaults';\n\nexport const getCorrectness = (model) => {\n const correctnessCondition = 'c';\n\n switch (correctnessCondition) {\n case 'c':\n return 'correct';\n case 'pc':\n return 'partially-correct';\n case 'i':\n return 'incorrect';\n default:\n return 'unknown';\n }\n};\n\nexport const getPartialScore = (question, session) => {\n if (!session || isEmpty(session)) {\n return 0;\n }\n\n return 1;\n};\n\nexport const outcome = (question, session, env) =>\n new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n session = normalizeSession(session);\n\n if (env.mode !== 'evaluate') {\n resolve({ score: undefined, completed: undefined });\n } else {\n resolve({ score: 1 });\n }\n });\n\nexport const createDefaultModel = (model = {}) => ({\n ...defaults.model,\n ...model,\n});\nexport const normalizeSession = (s) => ({\n ...s,\n});\n\nexport const model = (question, session, env) => {\n return new Promise((resolve) => {\n session = session || {};\n const normalizedQuestion = createDefaultModel(question);\n\n const out = {\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n env,\n };\n\n resolve(out);\n });\n};\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n resolve({ id: '1' });\n } else {\n resolve(null);\n }\n });\n};\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n return errors;\n};\n"],"file":"index.js"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pie-element/boilerplate-item-type-controller",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "",
|
|
6
|
+
"main": "lib/index.js",
|
|
7
|
+
"module": "src/index.js",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"@pie-lib/controller-utils": "^0.2.44",
|
|
10
|
+
"@pie-lib/feedback": "^0.4.43",
|
|
11
|
+
"debug": "^3.1.0",
|
|
12
|
+
"lodash": "^4.17.15"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"lodash": "^4.17.15"
|
|
16
|
+
},
|
|
17
|
+
"author": "",
|
|
18
|
+
"license": "ISC"
|
|
19
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Config Object for @pie-elements/boilerplate-item-type",
|
|
3
|
+
"additionalProperties": false,
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"prompt": {
|
|
7
|
+
"title": "ConfigureProp",
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"settings": {
|
|
11
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
12
|
+
"type": "boolean",
|
|
13
|
+
"title": "settings"
|
|
14
|
+
},
|
|
15
|
+
"label": {
|
|
16
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
17
|
+
"type": "string",
|
|
18
|
+
"title": "label"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"showPrompt": {
|
|
23
|
+
"description": "Determines whether prompt field will be displayed or not",
|
|
24
|
+
"default": true,
|
|
25
|
+
"type": "boolean",
|
|
26
|
+
"title": "showPrompt"
|
|
27
|
+
},
|
|
28
|
+
"promptLabel": {
|
|
29
|
+
"description": "The label for the item stem/prompt field",
|
|
30
|
+
"default": "Item Stemm",
|
|
31
|
+
"type": "string",
|
|
32
|
+
"title": "promptLabel"
|
|
33
|
+
},
|
|
34
|
+
"contentDimensions": {
|
|
35
|
+
"description": "Indicates the dimensions configuration for the authoring container\nNote: Some items have a default minimum width because of their content, but if\nthe minWidth is lower than this, the overflow behavior will take care of that",
|
|
36
|
+
"default": ": {}",
|
|
37
|
+
"type": "object",
|
|
38
|
+
"properties": {
|
|
39
|
+
"maxHeight": {
|
|
40
|
+
"description": "Indicates the max height of the authoring container",
|
|
41
|
+
"default": "undefined",
|
|
42
|
+
"type": [
|
|
43
|
+
"string",
|
|
44
|
+
"number"
|
|
45
|
+
],
|
|
46
|
+
"title": "maxHeight"
|
|
47
|
+
},
|
|
48
|
+
"maxWidth": {
|
|
49
|
+
"description": "Indicates the max width of the authoring container",
|
|
50
|
+
"default": "undefined",
|
|
51
|
+
"type": [
|
|
52
|
+
"string",
|
|
53
|
+
"number"
|
|
54
|
+
],
|
|
55
|
+
"title": "maxWidth"
|
|
56
|
+
},
|
|
57
|
+
"minHeight": {
|
|
58
|
+
"description": "Indicates the min height of the authoring container",
|
|
59
|
+
"default": "undefined",
|
|
60
|
+
"type": [
|
|
61
|
+
"string",
|
|
62
|
+
"number"
|
|
63
|
+
],
|
|
64
|
+
"title": "minHeight"
|
|
65
|
+
},
|
|
66
|
+
"minWidth": {
|
|
67
|
+
"description": "Indicates the min width of the authoring container",
|
|
68
|
+
"default": "undefined",
|
|
69
|
+
"type": [
|
|
70
|
+
"string",
|
|
71
|
+
"number"
|
|
72
|
+
],
|
|
73
|
+
"title": "minWidth"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"title": "contentDimensions"
|
|
77
|
+
},
|
|
78
|
+
"settingsPartialScoring": {
|
|
79
|
+
"description": "Indicates whether the settings panel wil allow the author to modify settings for partial scoring",
|
|
80
|
+
"default": true,
|
|
81
|
+
"type": "boolean",
|
|
82
|
+
"title": "settingsPartialScoring"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"definitions": {
|
|
86
|
+
"ConfigureProp": {
|
|
87
|
+
"title": "ConfigureProp",
|
|
88
|
+
"type": "object",
|
|
89
|
+
"properties": {
|
|
90
|
+
"settings": {
|
|
91
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
92
|
+
"type": "boolean",
|
|
93
|
+
"title": "settings"
|
|
94
|
+
},
|
|
95
|
+
"label": {
|
|
96
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
97
|
+
"type": "string",
|
|
98
|
+
"title": "label"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
104
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
Config Object for @pie-elements/boilerplate-item-type
|
|
2
|
+
|
|
3
|
+
The schema defines the following properties:
|
|
4
|
+
|
|
5
|
+
# `prompt` (object)
|
|
6
|
+
|
|
7
|
+
Properties of the `prompt` object:
|
|
8
|
+
|
|
9
|
+
## `settings` (boolean)
|
|
10
|
+
|
|
11
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
12
|
+
|
|
13
|
+
## `label` (string)
|
|
14
|
+
|
|
15
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
16
|
+
|
|
17
|
+
# `showPrompt` (boolean)
|
|
18
|
+
|
|
19
|
+
Determines whether prompt field will be displayed or not
|
|
20
|
+
|
|
21
|
+
Default: `true`
|
|
22
|
+
|
|
23
|
+
# `promptLabel` (string)
|
|
24
|
+
|
|
25
|
+
The label for the item stem/prompt field
|
|
26
|
+
|
|
27
|
+
Default: `"Item Stemm"`
|
|
28
|
+
|
|
29
|
+
# `contentDimensions` (object)
|
|
30
|
+
|
|
31
|
+
Indicates the dimensions configuration for the authoring container
|
|
32
|
+
Note: Some items have a default minimum width because of their content, but if
|
|
33
|
+
the minWidth is lower than this, the overflow behavior will take care of that
|
|
34
|
+
|
|
35
|
+
Properties of the `contentDimensions` object:
|
|
36
|
+
|
|
37
|
+
## `maxHeight` (string,number)
|
|
38
|
+
|
|
39
|
+
Indicates the max height of the authoring container
|
|
40
|
+
|
|
41
|
+
Default: `"undefined"`
|
|
42
|
+
|
|
43
|
+
## `maxWidth` (string,number)
|
|
44
|
+
|
|
45
|
+
Indicates the max width of the authoring container
|
|
46
|
+
|
|
47
|
+
Default: `"undefined"`
|
|
48
|
+
|
|
49
|
+
## `minHeight` (string,number)
|
|
50
|
+
|
|
51
|
+
Indicates the min height of the authoring container
|
|
52
|
+
|
|
53
|
+
Default: `"undefined"`
|
|
54
|
+
|
|
55
|
+
## `minWidth` (string,number)
|
|
56
|
+
|
|
57
|
+
Indicates the min width of the authoring container
|
|
58
|
+
|
|
59
|
+
Default: `"undefined"`
|
|
60
|
+
|
|
61
|
+
Default: `": {}"`
|
|
62
|
+
|
|
63
|
+
# `settingsPartialScoring` (boolean)
|
|
64
|
+
|
|
65
|
+
Indicates whether the settings panel wil allow the author to modify settings for partial scoring
|
|
66
|
+
|
|
67
|
+
Default: `true`
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
# Sub Schemas
|
|
72
|
+
|
|
73
|
+
The schema defines the following additional types:
|
|
74
|
+
|
|
75
|
+
## `ConfigureProp` (object)
|
|
76
|
+
|
|
77
|
+
Properties of the `ConfigureProp` object:
|
|
78
|
+
|
|
79
|
+
### `settings` (boolean)
|
|
80
|
+
|
|
81
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
82
|
+
|
|
83
|
+
### `label` (string)
|
|
84
|
+
|
|
85
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<boilerplate-item-type pie-id="1"></boilerplate-item-type>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Pie Model Object for @pie-elements/boilerplate-item-type",
|
|
3
|
+
"additionalProperties": false,
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"prompt": {
|
|
7
|
+
"description": "The user prompt/item stem",
|
|
8
|
+
"type": "string",
|
|
9
|
+
"title": "prompt"
|
|
10
|
+
},
|
|
11
|
+
"promptEnabled": {
|
|
12
|
+
"description": "Determines if prompt should show",
|
|
13
|
+
"type": "boolean",
|
|
14
|
+
"title": "promptEnabled"
|
|
15
|
+
},
|
|
16
|
+
"id": {
|
|
17
|
+
"description": "Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.",
|
|
18
|
+
"type": "string",
|
|
19
|
+
"title": "id"
|
|
20
|
+
},
|
|
21
|
+
"element": {
|
|
22
|
+
"description": "The html Element tag name",
|
|
23
|
+
"type": "string",
|
|
24
|
+
"title": "element"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"required": [
|
|
28
|
+
"element",
|
|
29
|
+
"id",
|
|
30
|
+
"prompt"
|
|
31
|
+
],
|
|
32
|
+
"definitions": {
|
|
33
|
+
"ConfigureProp": {
|
|
34
|
+
"title": "ConfigureProp",
|
|
35
|
+
"type": "object",
|
|
36
|
+
"properties": {
|
|
37
|
+
"settings": {
|
|
38
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
39
|
+
"type": "boolean",
|
|
40
|
+
"title": "settings"
|
|
41
|
+
},
|
|
42
|
+
"label": {
|
|
43
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
44
|
+
"type": "string",
|
|
45
|
+
"title": "label"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
51
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
Pie Model Object for @pie-elements/boilerplate-item-type
|
|
2
|
+
|
|
3
|
+
The schema defines the following properties:
|
|
4
|
+
|
|
5
|
+
# `prompt` (string, required)
|
|
6
|
+
|
|
7
|
+
The user prompt/item stem
|
|
8
|
+
|
|
9
|
+
# `promptEnabled` (boolean)
|
|
10
|
+
|
|
11
|
+
Determines if prompt should show
|
|
12
|
+
|
|
13
|
+
# `id` (string, required)
|
|
14
|
+
|
|
15
|
+
Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.
|
|
16
|
+
|
|
17
|
+
# `element` (string, required)
|
|
18
|
+
|
|
19
|
+
The html Element tag name
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Sub Schemas
|
|
24
|
+
|
|
25
|
+
The schema defines the following additional types:
|
|
26
|
+
|
|
27
|
+
## `ConfigureProp` (object)
|
|
28
|
+
|
|
29
|
+
Properties of the `ConfigureProp` object:
|
|
30
|
+
|
|
31
|
+
### `settings` (boolean)
|
|
32
|
+
|
|
33
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
34
|
+
|
|
35
|
+
### `label` (string)
|
|
36
|
+
|
|
37
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
+
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
|
|
20
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
21
|
+
|
|
22
|
+
var _react = _interopRequireDefault(require("react"));
|
|
23
|
+
|
|
24
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
25
|
+
|
|
26
|
+
var _piePlayerEvents = require("@pie-framework/pie-player-events");
|
|
27
|
+
|
|
28
|
+
var _main = _interopRequireDefault(require("./main"));
|
|
29
|
+
|
|
30
|
+
var _mathRendering = require("@pie-lib/math-rendering");
|
|
31
|
+
|
|
32
|
+
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); }; }
|
|
33
|
+
|
|
34
|
+
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; } }
|
|
35
|
+
|
|
36
|
+
var SelectText = /*#__PURE__*/function (_HTMLElement) {
|
|
37
|
+
(0, _inherits2["default"])(SelectText, _HTMLElement);
|
|
38
|
+
|
|
39
|
+
var _super = _createSuper(SelectText);
|
|
40
|
+
|
|
41
|
+
function SelectText() {
|
|
42
|
+
(0, _classCallCheck2["default"])(this, SelectText);
|
|
43
|
+
return _super.apply(this, arguments);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
(0, _createClass2["default"])(SelectText, [{
|
|
47
|
+
key: "model",
|
|
48
|
+
get: function get() {
|
|
49
|
+
return this._model;
|
|
50
|
+
},
|
|
51
|
+
set: function set(m) {
|
|
52
|
+
this._model = m;
|
|
53
|
+
this.render();
|
|
54
|
+
this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined));
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
key: "session",
|
|
58
|
+
get: function get() {
|
|
59
|
+
return this._session;
|
|
60
|
+
},
|
|
61
|
+
set: function set(s) {
|
|
62
|
+
this._session = s;
|
|
63
|
+
this.render();
|
|
64
|
+
}
|
|
65
|
+
}, {
|
|
66
|
+
key: "isSessionComplete",
|
|
67
|
+
value: function isSessionComplete() {
|
|
68
|
+
// a method to check if student answered the question
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
72
|
+
key: "onSessionChange",
|
|
73
|
+
value: function onSessionChange(session) {
|
|
74
|
+
// you can add an extra step here to validate session
|
|
75
|
+
this._session = session;
|
|
76
|
+
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), this.isSessionComplete()));
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "connectedCallback",
|
|
80
|
+
value: function connectedCallback() {
|
|
81
|
+
this.render();
|
|
82
|
+
}
|
|
83
|
+
}, {
|
|
84
|
+
key: "render",
|
|
85
|
+
value: function render() {
|
|
86
|
+
var _this = this;
|
|
87
|
+
|
|
88
|
+
if (this._model && this._session) {
|
|
89
|
+
var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
|
|
90
|
+
model: this._model,
|
|
91
|
+
session: this._session,
|
|
92
|
+
onSessionChange: this.onSessionChange.bind(this)
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
_reactDom["default"].render(el, this, function () {
|
|
96
|
+
(0, _mathRendering.renderMath)(_this);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}]);
|
|
101
|
+
return SelectText;
|
|
102
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
103
|
+
|
|
104
|
+
exports["default"] = SelectText;
|
|
105
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["SelectText","_model","m","render","dispatchEvent","ModelSetEvent","tagName","toLowerCase","isSessionComplete","undefined","_session","s","session","SessionChangedEvent","el","React","createElement","Main","model","onSessionChange","bind","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEqBA,U;;;;;;;;;;;;SAUnB,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD,K;SAXD,aAAUC,CAAV,EAAa;AACX,WAAKD,MAAL,GAAcC,CAAd;AAEA,WAAKC,MAAL;AACA,WAAKC,aAAL,CACE,IAAIC,8BAAJ,CAAkB,KAAKC,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAAKC,iBAAL,EAA9C,EAAwE,KAAKP,MAAL,KAAgBQ,SAAxF,CADF;AAGD;;;SAYD,eAAc;AACZ,aAAO,KAAKC,QAAZ;AACD,K;SARD,aAAYC,CAAZ,EAAe;AACb,WAAKD,QAAL,GAAgBC,CAAhB;AAEA,WAAKR,MAAL;AACD;;;WAMD,6BAAoB;AAClB;AACA,aAAO,IAAP;AACD;;;WAED,yBAAgBS,OAAhB,EAAyB;AACvB;AACA,WAAKF,QAAL,GAAgBE,OAAhB;AAEA,WAAKR,aAAL,CAAmB,IAAIS,oCAAJ,CAAwB,KAAKP,OAAL,CAAaC,WAAb,EAAxB,EAAoD,KAAKC,iBAAL,EAApD,CAAnB;AACD;;;WAED,6BAAoB;AAClB,WAAKL,MAAL;AACD;;;WAED,kBAAS;AAAA;;AACP,UAAI,KAAKF,MAAL,IAAe,KAAKS,QAAxB,EAAkC;AAChC,YAAMI,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,UAAAA,KAAK,EAAE,KAAKjB,MADuB;AAEnCW,UAAAA,OAAO,EAAE,KAAKF,QAFqB;AAGnCS,UAAAA,eAAe,EAAE,KAAKA,eAAL,CAAqBC,IAArB,CAA0B,IAA1B;AAHkB,SAA1B,CAAX;;AAMAC,6BAASlB,MAAT,CAAgBW,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,yCAAW,KAAX;AACD,SAFD;AAGD;AACF;;;kDApDqCQ,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { SessionChangedEvent, ModelSetEvent } from '@pie-framework/pie-player-events';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport default class SelectText extends HTMLElement {\n set model(m) {\n this._model = m;\n\n this.render();\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined),\n );\n }\n\n get model() {\n return this._model;\n }\n\n set session(s) {\n this._session = s;\n\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n isSessionComplete() {\n // a method to check if student answered the question\n return true;\n }\n\n onSessionChange(session) {\n // you can add an extra step here to validate session\n this._session = session;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isSessionComplete()));\n }\n\n connectedCallback() {\n this.render();\n }\n\n render() {\n if (this._model && this._session) {\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.onSessionChange.bind(this),\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
|
package/lib/main.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
+
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
|
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
+
|
|
22
|
+
var _react = _interopRequireDefault(require("react"));
|
|
23
|
+
|
|
24
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
+
|
|
26
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
27
|
+
|
|
28
|
+
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); }; }
|
|
29
|
+
|
|
30
|
+
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; } }
|
|
31
|
+
|
|
32
|
+
var Main = /*#__PURE__*/function (_React$Component) {
|
|
33
|
+
(0, _inherits2["default"])(Main, _React$Component);
|
|
34
|
+
|
|
35
|
+
var _super = _createSuper(Main);
|
|
36
|
+
|
|
37
|
+
function Main() {
|
|
38
|
+
(0, _classCallCheck2["default"])(this, Main);
|
|
39
|
+
return _super.apply(this, arguments);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
(0, _createClass2["default"])(Main, [{
|
|
43
|
+
key: "render",
|
|
44
|
+
value: function render() {
|
|
45
|
+
var model = this.props.model;
|
|
46
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, model.prompt && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
47
|
+
prompt: model.prompt
|
|
48
|
+
})));
|
|
49
|
+
}
|
|
50
|
+
}]);
|
|
51
|
+
return Main;
|
|
52
|
+
}(_react["default"].Component);
|
|
53
|
+
|
|
54
|
+
exports["default"] = Main;
|
|
55
|
+
(0, _defineProperty2["default"])(Main, "propTypes", {
|
|
56
|
+
model: _propTypes["default"].object,
|
|
57
|
+
session: _propTypes["default"].object,
|
|
58
|
+
onSessionChange: _propTypes["default"].func.isRequired
|
|
59
|
+
});
|
|
60
|
+
(0, _defineProperty2["default"])(Main, "defaultProps", {});
|
|
61
|
+
//# sourceMappingURL=main.js.map
|
package/lib/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["Main","model","props","prompt","React","Component","PropTypes","object","session","onSessionChange","func","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IAEqBA,I;;;;;;;;;;;;WASnB,kBAAS;AACP,UAAQC,KAAR,GAAkB,KAAKC,KAAvB,CAAQD,KAAR;AAEA,0BACE,6CACGA,KAAK,CAACE,MAAN,iBACC,0DACE,gCAAC,uBAAD;AAAe,QAAA,MAAM,EAAEF,KAAK,CAACE;AAA7B,QADF,CAFJ,CADF;AASD;;;EArB+BC,kBAAMC,S;;;iCAAnBL,I,eACA;AACjBC,EAAAA,KAAK,EAAEK,sBAAUC,MADA;AAEjBC,EAAAA,OAAO,EAAEF,sBAAUC,MAFF;AAGjBE,EAAAA,eAAe,EAAEH,sBAAUI,IAAV,CAAeC;AAHf,C;iCADAX,I,kBAOG,E","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { PreviewPrompt } from '@pie-lib/render-ui';\n\nexport default class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func.isRequired,\n };\n\n static defaultProps = {};\n\n render() {\n const { model } = this.props;\n\n return (\n <div>\n {model.prompt && (\n <div>\n <PreviewPrompt prompt={model.prompt}/>\n </div>\n )}\n </div>\n );\n }\n}\n"],"file":"main.js"}
|
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pie-element/boilerplate-item-type",
|
|
3
|
+
"publishConfig": {
|
|
4
|
+
"access": "public"
|
|
5
|
+
},
|
|
6
|
+
"repository": "pie-framework/pie-elements",
|
|
7
|
+
"version": "1.0.1-next.5851+606665e33",
|
|
8
|
+
"description": "",
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@material-ui/core": "^3.9.2",
|
|
11
|
+
"@pie-framework/pie-player-events": "^0.1.0",
|
|
12
|
+
"@pie-lib/math-rendering": "^2.5.17",
|
|
13
|
+
"@pie-lib/render-ui": "^4.15.1",
|
|
14
|
+
"prop-types": "^15.6.1",
|
|
15
|
+
"react": "^16.8.1",
|
|
16
|
+
"react-dom": "^16.8.1"
|
|
17
|
+
},
|
|
18
|
+
"author": "",
|
|
19
|
+
"license": "ISC",
|
|
20
|
+
"gitHead": "606665e3380879cc9ef6ea5e5ac75f25657f3165",
|
|
21
|
+
"scripts": {
|
|
22
|
+
"postpublish": "../../scripts/postpublish"
|
|
23
|
+
},
|
|
24
|
+
"main": "lib/index.js",
|
|
25
|
+
"module": "src/index.js",
|
|
26
|
+
"exports": {
|
|
27
|
+
".": "./src/index.js"
|
|
28
|
+
}
|
|
29
|
+
}
|