@pie-element/extended-text-entry 13.4.1-next.3 → 14.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/lib/defaults.js +2 -3
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/index.js +97 -151
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/main.js +222 -297
- package/configure/lib/main.js.map +1 -1
- package/configure/package.json +9 -6
- package/controller/lib/defaults.js +2 -3
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +73 -170
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +2 -2
- package/lib/annotation/annotation-editor.js +492 -565
- package/lib/annotation/annotation-editor.js.map +1 -1
- package/lib/annotation/annotation-menu.js +131 -190
- package/lib/annotation/annotation-menu.js.map +1 -1
- package/lib/annotation/annotation-utils.js +77 -121
- package/lib/annotation/annotation-utils.js.map +1 -1
- package/lib/annotation/freeform-editor.js +202 -227
- package/lib/annotation/freeform-editor.js.map +1 -1
- package/lib/index.js +77 -131
- package/lib/index.js.map +1 -1
- package/lib/main.js +178 -242
- package/lib/main.js.map +1 -1
- package/lib/print.js +45 -87
- package/lib/print.js.map +1 -1
- package/package.json +13 -19
- package/esm/configure.js +0 -9412
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -905
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -21631
- package/esm/element.js.map +0 -1
- package/esm/package.json +0 -3
- package/esm/print.js +0 -21600
- package/esm/print.js.map +0 -1
- package/module/configure.js +0 -1
- package/module/controller.js +0 -139
- package/module/demo.js +0 -38
- package/module/element.js +0 -1
- package/module/index.html +0 -21
- package/module/manifest.json +0 -22
- package/module/print-demo.js +0 -76
- package/module/print.html +0 -18
- package/module/print.js +0 -1
package/lib/index.js
CHANGED
|
@@ -1,162 +1,108 @@
|
|
|
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
|
|
7
|
+
exports.default = void 0;
|
|
9
8
|
exports.isComplete = isComplete;
|
|
10
9
|
exports.textContent = textContent;
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
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
|
-
|
|
24
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
25
|
-
|
|
26
10
|
var _main = _interopRequireDefault(require("./main"));
|
|
27
|
-
|
|
28
11
|
var _react = _interopRequireDefault(require("react"));
|
|
29
|
-
|
|
30
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
31
|
-
|
|
12
|
+
var _client = require("react-dom/client");
|
|
32
13
|
var _debug = _interopRequireDefault(require("debug"));
|
|
33
|
-
|
|
34
14
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
35
|
-
|
|
36
15
|
var _piePlayerEvents = require("@pie-framework/pie-player-events");
|
|
37
|
-
|
|
38
|
-
|
|
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 log = (0, _debug["default"])('@pie-elements:extended-text-entry');
|
|
43
|
-
var domParser = (typeof window === "undefined" ? "undefined" : (0, _typeof2["default"])(window)) !== undefined ? new DOMParser() : {
|
|
44
|
-
parseFromString: function parseFromString(v) {
|
|
45
|
-
return v;
|
|
46
|
-
}
|
|
16
|
+
const log = (0, _debug.default)('@pie-elements:extended-text-entry');
|
|
17
|
+
const domParser = typeof window !== undefined ? new DOMParser() : {
|
|
18
|
+
parseFromString: v => v
|
|
47
19
|
};
|
|
48
|
-
|
|
49
20
|
function textContent(value) {
|
|
50
21
|
if (typeof value !== 'string') {
|
|
51
22
|
return undefined;
|
|
52
23
|
}
|
|
53
|
-
|
|
54
24
|
try {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return
|
|
25
|
+
const document = domParser.parseFromString(value, 'text/html');
|
|
26
|
+
const textContent = document.body.textContent;
|
|
27
|
+
return textContent;
|
|
58
28
|
} catch (err) {
|
|
59
29
|
log('tried to parse as dom and failed', value);
|
|
60
30
|
return value;
|
|
61
31
|
}
|
|
62
32
|
}
|
|
63
|
-
|
|
64
33
|
function isComplete(value) {
|
|
65
|
-
|
|
66
|
-
|
|
34
|
+
const tc = textContent(value);
|
|
35
|
+
const out = tc !== undefined && tc.length > 0;
|
|
67
36
|
return out;
|
|
68
37
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
function RootExtendedTextEntry() {
|
|
76
|
-
var _this;
|
|
77
|
-
|
|
78
|
-
(0, _classCallCheck2["default"])(this, RootExtendedTextEntry);
|
|
79
|
-
_this = _super.call(this);
|
|
80
|
-
_this._model = null;
|
|
81
|
-
_this._session = null;
|
|
82
|
-
return _this;
|
|
38
|
+
class RootExtendedTextEntry extends HTMLElement {
|
|
39
|
+
constructor() {
|
|
40
|
+
super();
|
|
41
|
+
this._model = null;
|
|
42
|
+
this._session = null;
|
|
43
|
+
this._root = null;
|
|
83
44
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
this.setAttribute('role', 'region');
|
|
134
|
-
this.render();
|
|
135
|
-
}
|
|
136
|
-
}, {
|
|
137
|
-
key: "render",
|
|
138
|
-
value: function render() {
|
|
139
|
-
var _this2 = this;
|
|
140
|
-
|
|
141
|
-
if (this._model && this._session) {
|
|
142
|
-
var elem = /*#__PURE__*/_react["default"].createElement(_main["default"], {
|
|
143
|
-
model: this._model,
|
|
144
|
-
session: this._session,
|
|
145
|
-
onValueChange: this.valueChange.bind(this),
|
|
146
|
-
onAnnotationsChange: this.annotationsChange.bind(this),
|
|
147
|
-
onCommentChange: this.commentChange.bind(this)
|
|
148
|
-
});
|
|
149
|
-
|
|
150
|
-
this.setLangAttribute();
|
|
151
|
-
|
|
152
|
-
_reactDom["default"].render(elem, this, function () {
|
|
153
|
-
(0, _mathRendering.renderMath)(_this2);
|
|
154
|
-
});
|
|
45
|
+
setLangAttribute() {
|
|
46
|
+
const language = this._model && typeof this._model.language ? this._model.language : '';
|
|
47
|
+
const lang = language ? language.slice(0, 2) : 'en';
|
|
48
|
+
this.setAttribute('lang', lang);
|
|
49
|
+
}
|
|
50
|
+
set model(m) {
|
|
51
|
+
this._model = m;
|
|
52
|
+
this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model));
|
|
53
|
+
this.render();
|
|
54
|
+
}
|
|
55
|
+
set session(s) {
|
|
56
|
+
this._session = s;
|
|
57
|
+
this.render();
|
|
58
|
+
}
|
|
59
|
+
get session() {
|
|
60
|
+
return this._session;
|
|
61
|
+
}
|
|
62
|
+
valueChange(value) {
|
|
63
|
+
this._session.value = value;
|
|
64
|
+
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), isComplete(value)));
|
|
65
|
+
this.render();
|
|
66
|
+
}
|
|
67
|
+
annotationsChange(annotations) {
|
|
68
|
+
this._session.annotations = annotations;
|
|
69
|
+
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), true));
|
|
70
|
+
this.render();
|
|
71
|
+
}
|
|
72
|
+
commentChange(comment) {
|
|
73
|
+
this._session.comment = comment;
|
|
74
|
+
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), isComplete(comment)));
|
|
75
|
+
this.render();
|
|
76
|
+
}
|
|
77
|
+
connectedCallback() {
|
|
78
|
+
this.setAttribute('aria-label', 'Written Response Question');
|
|
79
|
+
this.setAttribute('role', 'region');
|
|
80
|
+
this.render();
|
|
81
|
+
}
|
|
82
|
+
render() {
|
|
83
|
+
if (this._model && this._session) {
|
|
84
|
+
let elem = /*#__PURE__*/_react.default.createElement(_main.default, {
|
|
85
|
+
model: this._model,
|
|
86
|
+
session: this._session,
|
|
87
|
+
onValueChange: this.valueChange.bind(this),
|
|
88
|
+
onAnnotationsChange: this.annotationsChange.bind(this),
|
|
89
|
+
onCommentChange: this.commentChange.bind(this)
|
|
90
|
+
});
|
|
91
|
+
this.setLangAttribute();
|
|
92
|
+
if (!this._root) {
|
|
93
|
+
this._root = (0, _client.createRoot)(this);
|
|
155
94
|
}
|
|
95
|
+
this._root.render(elem);
|
|
96
|
+
queueMicrotask(() => {
|
|
97
|
+
(0, _mathRendering.renderMath)(this);
|
|
98
|
+
});
|
|
156
99
|
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
100
|
+
}
|
|
101
|
+
disconnectedCallback() {
|
|
102
|
+
if (this._root) {
|
|
103
|
+
this._root.unmount();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.default = RootExtendedTextEntry;
|
|
162
108
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_main","_interopRequireDefault","require","_react","_client","_debug","_mathRendering","_piePlayerEvents","log","debug","domParser","window","undefined","DOMParser","parseFromString","v","textContent","value","document","body","err","isComplete","tc","out","length","RootExtendedTextEntry","HTMLElement","constructor","_model","_session","_root","setLangAttribute","language","lang","slice","setAttribute","model","m","dispatchEvent","ModelSetEvent","tagName","toLowerCase","render","session","s","valueChange","SessionChangedEvent","annotationsChange","annotations","commentChange","comment","connectedCallback","elem","React","createElement","Main","onValueChange","bind","onAnnotationsChange","onCommentChange","createRoot","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","default"],"sources":["../src/index.js"],"sourcesContent":["import Main from './main';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\n\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { ModelSetEvent, SessionChangedEvent } from '@pie-framework/pie-player-events';\n\nconst log = debug('@pie-elements:extended-text-entry');\n\nconst domParser = typeof window !== undefined ? new DOMParser() : { parseFromString: (v) => v };\n\nexport function textContent(value) {\n if (typeof value !== 'string') {\n return undefined;\n }\n\n try {\n const document = domParser.parseFromString(value, 'text/html');\n const textContent = document.body.textContent;\n\n return textContent;\n } catch (err) {\n log('tried to parse as dom and failed', value);\n return value;\n }\n}\n\nexport function isComplete(value) {\n const tc = textContent(value);\n const out = tc !== undefined && tc.length > 0;\n\n return out;\n}\n\nexport default class RootExtendedTextEntry extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n this._root = null;\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n set model(m) {\n this._model = m;\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model));\n\n this.render();\n }\n\n set session(s) {\n this._session = s;\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n valueChange(value) {\n this._session.value = value;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), isComplete(value)));\n\n this.render();\n }\n\n annotationsChange(annotations) {\n this._session.annotations = annotations;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), true));\n\n this.render();\n }\n\n commentChange(comment) {\n this._session.comment = comment;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), isComplete(comment)));\n\n this.render();\n }\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Written Response Question');\n this.setAttribute('role', 'region');\n\n this.render();\n }\n\n render() {\n if (this._model && this._session) {\n let elem = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onValueChange: this.valueChange.bind(this),\n onAnnotationsChange: this.annotationsChange.bind(this),\n onCommentChange: this.commentChange.bind(this),\n });\n\n this.setLangAttribute();\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(elem);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|