@pie-element/select-text 6.5.3-next.582 → 6.5.3-next.596
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/utils.js +4 -1
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +4 -4
- package/controller/lib/index.js +1 -1
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +1 -1
- package/docs/demo/generate.js +28 -346
- package/docs/demo/session.js +18 -5
- package/lib/index.js +38 -2
- package/lib/index.js.map +1 -1
- package/lib/main.js +18 -4
- package/lib/main.js.map +1 -1
- package/lib/utils.js +4 -1
- package/lib/utils.js.map +1 -1
- package/module/configure.js +30 -15
- package/module/controller.js +6 -1
- package/module/demo.js +28 -346
- package/module/element.js +71 -32
- package/module/manifest.json +2 -2
- package/module/print-demo.js +28 -346
- package/module/print.js +56 -32
- package/package.json +3 -3
package/module/element.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_pie_lib__correct_answer_toggle, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.2.
|
|
2
|
-
import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.
|
|
1
|
+
import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_pie_lib__correct_answer_toggle, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.2.19/module/index.js";
|
|
2
|
+
import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.22/module/index.js";
|
|
3
3
|
var lib$1 = {};
|
|
4
4
|
Object.defineProperty(lib$1, "__esModule", {
|
|
5
5
|
value: true
|
|
@@ -1797,14 +1797,14 @@ class Token extends React$4.Component {
|
|
|
1797
1797
|
};
|
|
1798
1798
|
}
|
|
1799
1799
|
render() {
|
|
1800
|
-
const {text, selectable, selected, classes, className: classNameProp, disabled, index, highlight, correct} = this.props;
|
|
1800
|
+
const {text, selectable, selected, classes, className: classNameProp, disabled, index, highlight, correct, animationsDisabled} = this.props;
|
|
1801
1801
|
let className;
|
|
1802
1802
|
if (correct === undefined && selected && disabled) {
|
|
1803
1803
|
className = classNames$1(classes.token, classes.selected, classes.disabledBlack);
|
|
1804
1804
|
} else if (correct !== undefined) {
|
|
1805
1805
|
className = classNames$1(Token.rootClassName, classes.custom, correct === true && classes.correct, correct === false && classes.incorrect);
|
|
1806
1806
|
} else {
|
|
1807
|
-
className = classNames$1(Token.rootClassName, classes.token, disabled && classes.disabled, selectable && !disabled && classes.selectable, selected && !disabled && classes.selected, selected && disabled && classes.disabledAndSelected, highlight && selectable && !disabled && !selected && classes.highlight, classNameProp);
|
|
1807
|
+
className = classNames$1(Token.rootClassName, classes.token, disabled && classes.disabled, selectable && !disabled && classes.selectable, selected && !disabled && classes.selected, selected && disabled && classes.disabledAndSelected, highlight && selectable && !disabled && !selected && classes.highlight, animationsDisabled && classes.print, classNameProp);
|
|
1808
1808
|
}
|
|
1809
1809
|
return React$4.createElement('span', {
|
|
1810
1810
|
className: className,
|
|
@@ -1815,7 +1815,7 @@ class Token extends React$4.Component {
|
|
|
1815
1815
|
__self: this,
|
|
1816
1816
|
__source: {
|
|
1817
1817
|
fileName: _jsxFileName$3,
|
|
1818
|
-
lineNumber:
|
|
1818
|
+
lineNumber: 70
|
|
1819
1819
|
}
|
|
1820
1820
|
});
|
|
1821
1821
|
}
|
|
@@ -1870,6 +1870,15 @@ var Token$1 = withStyles$2(theme => {
|
|
|
1870
1870
|
display: 'inline-block',
|
|
1871
1871
|
padding: theme.spacing.unit
|
|
1872
1872
|
},
|
|
1873
|
+
print: {
|
|
1874
|
+
border: 'dashed 2px gray',
|
|
1875
|
+
lineHeight: 2,
|
|
1876
|
+
boxSizing: 'border-box',
|
|
1877
|
+
marginTop: theme.spacing.unit / 2,
|
|
1878
|
+
display: 'inline-block',
|
|
1879
|
+
padding: theme.spacing.unit,
|
|
1880
|
+
color: color$1.text()
|
|
1881
|
+
},
|
|
1873
1882
|
custom: {
|
|
1874
1883
|
display: 'initial'
|
|
1875
1884
|
},
|
|
@@ -1907,6 +1916,7 @@ class TokenSelect extends React$3.Component {
|
|
|
1907
1916
|
onChange: PropTypes$2.func.isRequired,
|
|
1908
1917
|
disabled: PropTypes$2.bool,
|
|
1909
1918
|
highlightChoices: PropTypes$2.bool,
|
|
1919
|
+
animationsDisabled: PropTypes$2.bool,
|
|
1910
1920
|
maxNoOfSelections: PropTypes$2.number
|
|
1911
1921
|
};
|
|
1912
1922
|
}
|
|
@@ -1933,12 +1943,12 @@ class TokenSelect extends React$3.Component {
|
|
|
1933
1943
|
__init3() {
|
|
1934
1944
|
this.toggleToken = event => {
|
|
1935
1945
|
const {target} = event;
|
|
1936
|
-
const {tokens} = this.props;
|
|
1946
|
+
const {tokens, animationsDisabled} = this.props;
|
|
1937
1947
|
const tokensCloned = clone(tokens);
|
|
1938
1948
|
const targetSpanWrapper = target.closest(`.${Token$1.rootClassName}`);
|
|
1939
1949
|
const targetedTokenIndex = targetSpanWrapper && targetSpanWrapper.dataset && targetSpanWrapper.dataset.indexkey;
|
|
1940
1950
|
const t = targetedTokenIndex && tokensCloned[targetedTokenIndex];
|
|
1941
|
-
if (t && t.correct === undefined) {
|
|
1951
|
+
if (t && t.correct === undefined && !animationsDisabled) {
|
|
1942
1952
|
const {onChange, maxNoOfSelections} = this.props;
|
|
1943
1953
|
const selected = !t.selected;
|
|
1944
1954
|
if (maxNoOfSelections === 1 && this.selectedCount() === 1) {
|
|
@@ -1978,7 +1988,7 @@ class TokenSelect extends React$3.Component {
|
|
|
1978
1988
|
}
|
|
1979
1989
|
__init4() {
|
|
1980
1990
|
this.generateTokensInHtml = () => {
|
|
1981
|
-
const {tokens, disabled, highlightChoices} = this.props;
|
|
1991
|
+
const {tokens, disabled, highlightChoices, animationsDisabled} = this.props;
|
|
1982
1992
|
const selectedCount = this.selectedCount();
|
|
1983
1993
|
const isLineBreak = text => text === '\n';
|
|
1984
1994
|
const isNewParagraph = text => text === '\n\n';
|
|
@@ -1992,7 +2002,7 @@ class TokenSelect extends React$3.Component {
|
|
|
1992
2002
|
if (isLineBreak(t.text)) {
|
|
1993
2003
|
return finalAcc + '<br>';
|
|
1994
2004
|
}
|
|
1995
|
-
if (selectable && !disabled || showCorrectAnswer || t.selected) {
|
|
2005
|
+
if (selectable && !disabled || showCorrectAnswer || t.selected || animationsDisabled && t.predefined) {
|
|
1996
2006
|
return finalAcc + renderToString(React$3.createElement(Token$1, {
|
|
1997
2007
|
key: index,
|
|
1998
2008
|
disabled: disabled,
|
|
@@ -2000,10 +2010,11 @@ class TokenSelect extends React$3.Component {
|
|
|
2000
2010
|
...t,
|
|
2001
2011
|
selectable: selectable,
|
|
2002
2012
|
highlight: highlightChoices,
|
|
2013
|
+
animationsDisabled: animationsDisabled,
|
|
2003
2014
|
__self: this,
|
|
2004
2015
|
__source: {
|
|
2005
2016
|
fileName: _jsxFileName$2,
|
|
2006
|
-
lineNumber:
|
|
2017
|
+
lineNumber: 125
|
|
2007
2018
|
}
|
|
2008
2019
|
}));
|
|
2009
2020
|
} else {
|
|
@@ -2027,7 +2038,7 @@ class TokenSelect extends React$3.Component {
|
|
|
2027
2038
|
__self: this,
|
|
2028
2039
|
__source: {
|
|
2029
2040
|
fileName: _jsxFileName$2,
|
|
2030
|
-
lineNumber:
|
|
2041
|
+
lineNumber: 152
|
|
2031
2042
|
}
|
|
2032
2043
|
});
|
|
2033
2044
|
}
|
|
@@ -2063,6 +2074,7 @@ class TextSelect extends React$2.Component {
|
|
|
2063
2074
|
text: PropTypes$1.string.isRequired,
|
|
2064
2075
|
className: PropTypes$1.string,
|
|
2065
2076
|
highlightChoices: PropTypes$1.bool,
|
|
2077
|
+
animationsDisabled: PropTypes$1.bool,
|
|
2066
2078
|
maxNoOfSelections: PropTypes$1.number
|
|
2067
2079
|
};
|
|
2068
2080
|
}
|
|
@@ -2080,7 +2092,7 @@ class TextSelect extends React$2.Component {
|
|
|
2080
2092
|
};
|
|
2081
2093
|
}
|
|
2082
2094
|
render() {
|
|
2083
|
-
const {text, disabled, tokens, selectedTokens, className, highlightChoices, maxNoOfSelections} = this.props;
|
|
2095
|
+
const {text, disabled, tokens, selectedTokens, className, highlightChoices, maxNoOfSelections, animationsDisabled} = this.props;
|
|
2084
2096
|
const normalized = normalize(text, tokens);
|
|
2085
2097
|
log$1('normalized: ', normalized);
|
|
2086
2098
|
const prepped = normalized.map(t => {
|
|
@@ -2103,10 +2115,11 @@ class TextSelect extends React$2.Component {
|
|
|
2103
2115
|
disabled: disabled,
|
|
2104
2116
|
onChange: this.change,
|
|
2105
2117
|
maxNoOfSelections: maxNoOfSelections,
|
|
2118
|
+
animationsDisabled: animationsDisabled,
|
|
2106
2119
|
__self: this,
|
|
2107
2120
|
__source: {
|
|
2108
2121
|
fileName: _jsxFileName$1,
|
|
2109
|
-
lineNumber:
|
|
2122
|
+
lineNumber: 65
|
|
2110
2123
|
}
|
|
2111
2124
|
});
|
|
2112
2125
|
}
|
|
@@ -2169,7 +2182,9 @@ var generateModel = model => {
|
|
|
2169
2182
|
...token,
|
|
2170
2183
|
text: tokenText,
|
|
2171
2184
|
start: newStart,
|
|
2172
|
-
end: newEnd
|
|
2185
|
+
end: newEnd,
|
|
2186
|
+
oldStart: token.start,
|
|
2187
|
+
oldEnd: token.end
|
|
2173
2188
|
}];
|
|
2174
2189
|
}, []);
|
|
2175
2190
|
return {
|
|
@@ -2229,7 +2244,7 @@ class Main extends React$1.Component {
|
|
|
2229
2244
|
}
|
|
2230
2245
|
__init2() {
|
|
2231
2246
|
this.correctAnswer = () => {
|
|
2232
|
-
const {model} = this.
|
|
2247
|
+
const {model} = this.state;
|
|
2233
2248
|
return model.tokens.filter(t => t.correct);
|
|
2234
2249
|
};
|
|
2235
2250
|
}
|
|
@@ -2243,13 +2258,13 @@ class Main extends React$1.Component {
|
|
|
2243
2258
|
__self: this,
|
|
2244
2259
|
__source: {
|
|
2245
2260
|
fileName: _jsxFileName,
|
|
2246
|
-
lineNumber:
|
|
2261
|
+
lineNumber: 61
|
|
2247
2262
|
}
|
|
2248
2263
|
}, model.teacherInstructions && hasText(model.teacherInstructions) && React$1.createElement(React$1.Fragment, {
|
|
2249
2264
|
__self: this,
|
|
2250
2265
|
__source: {
|
|
2251
2266
|
fileName: _jsxFileName,
|
|
2252
|
-
lineNumber:
|
|
2267
|
+
lineNumber: 64
|
|
2253
2268
|
}
|
|
2254
2269
|
}, !model.animationsDisabled ? React$1.createElement(Collapsible, {
|
|
2255
2270
|
labels: {
|
|
@@ -2260,41 +2275,41 @@ class Main extends React$1.Component {
|
|
|
2260
2275
|
__self: this,
|
|
2261
2276
|
__source: {
|
|
2262
2277
|
fileName: _jsxFileName,
|
|
2263
|
-
lineNumber:
|
|
2278
|
+
lineNumber: 65
|
|
2264
2279
|
}
|
|
2265
2280
|
}, React$1.createElement(PreviewPrompt, {
|
|
2266
2281
|
prompt: model.teacherInstructions,
|
|
2267
2282
|
__self: this,
|
|
2268
2283
|
__source: {
|
|
2269
2284
|
fileName: _jsxFileName,
|
|
2270
|
-
lineNumber:
|
|
2285
|
+
lineNumber: 69
|
|
2271
2286
|
}
|
|
2272
2287
|
})) : React$1.createElement(PreviewPrompt, {
|
|
2273
2288
|
prompt: model.teacherInstructions,
|
|
2274
2289
|
__self: this,
|
|
2275
2290
|
__source: {
|
|
2276
2291
|
fileName: _jsxFileName,
|
|
2277
|
-
lineNumber:
|
|
2292
|
+
lineNumber: 72
|
|
2278
2293
|
}
|
|
2279
2294
|
}), React$1.createElement('br', {
|
|
2280
2295
|
__self: this,
|
|
2281
2296
|
__source: {
|
|
2282
2297
|
fileName: _jsxFileName,
|
|
2283
|
-
lineNumber:
|
|
2298
|
+
lineNumber: 74
|
|
2284
2299
|
}
|
|
2285
2300
|
})), React$1.createElement('div', {
|
|
2286
2301
|
className: classes.prompt,
|
|
2287
2302
|
__self: this,
|
|
2288
2303
|
__source: {
|
|
2289
2304
|
fileName: _jsxFileName,
|
|
2290
|
-
lineNumber:
|
|
2305
|
+
lineNumber: 78
|
|
2291
2306
|
}
|
|
2292
2307
|
}, React$1.createElement(PreviewPrompt, {
|
|
2293
2308
|
prompt: model.prompt,
|
|
2294
2309
|
__self: this,
|
|
2295
2310
|
__source: {
|
|
2296
2311
|
fileName: _jsxFileName,
|
|
2297
|
-
lineNumber:
|
|
2312
|
+
lineNumber: 79
|
|
2298
2313
|
}
|
|
2299
2314
|
})), !model.alwaysShowCorrect && React$1.createElement(CorrectAnswerToggle, {
|
|
2300
2315
|
show: model.disabled && model.incorrect,
|
|
@@ -2303,7 +2318,7 @@ class Main extends React$1.Component {
|
|
|
2303
2318
|
__self: this,
|
|
2304
2319
|
__source: {
|
|
2305
2320
|
fileName: _jsxFileName,
|
|
2306
|
-
lineNumber:
|
|
2321
|
+
lineNumber: 82
|
|
2307
2322
|
}
|
|
2308
2323
|
}), React$1.createElement(TextSelect, {
|
|
2309
2324
|
className: classes.textSelect,
|
|
@@ -2311,20 +2326,29 @@ class Main extends React$1.Component {
|
|
|
2311
2326
|
text: model.text,
|
|
2312
2327
|
tokens: model.tokens,
|
|
2313
2328
|
selectedTokens: selectedTokens,
|
|
2314
|
-
onChange:
|
|
2329
|
+
onChange: selection => {
|
|
2330
|
+
const newSelections = selection.map(select => {
|
|
2331
|
+
const token = model.tokens.find(({start, end}) => select.start === start && select.end === end);
|
|
2332
|
+
if (token) {
|
|
2333
|
+
return token;
|
|
2334
|
+
}
|
|
2335
|
+
return select;
|
|
2336
|
+
});
|
|
2337
|
+
onSelectionChange(newSelections);
|
|
2338
|
+
},
|
|
2315
2339
|
highlightChoices: model.highlightChoices,
|
|
2316
2340
|
maxNoOfSelections: model.maxSelections,
|
|
2317
2341
|
animationsDisabled: model.animationsDisabled,
|
|
2318
2342
|
__self: this,
|
|
2319
2343
|
__source: {
|
|
2320
2344
|
fileName: _jsxFileName,
|
|
2321
|
-
lineNumber:
|
|
2345
|
+
lineNumber: 88
|
|
2322
2346
|
}
|
|
2323
2347
|
}), model.rationale && hasText(model.rationale) && React$1.createElement(React$1.Fragment, {
|
|
2324
2348
|
__self: this,
|
|
2325
2349
|
__source: {
|
|
2326
2350
|
fileName: _jsxFileName,
|
|
2327
|
-
lineNumber:
|
|
2351
|
+
lineNumber: 114
|
|
2328
2352
|
}
|
|
2329
2353
|
}, !model.animationsDisabled ? React$1.createElement(Collapsible, {
|
|
2330
2354
|
labels: {
|
|
@@ -2336,21 +2360,21 @@ class Main extends React$1.Component {
|
|
|
2336
2360
|
__self: this,
|
|
2337
2361
|
__source: {
|
|
2338
2362
|
fileName: _jsxFileName,
|
|
2339
|
-
lineNumber:
|
|
2363
|
+
lineNumber: 115
|
|
2340
2364
|
}
|
|
2341
2365
|
}, React$1.createElement(PreviewPrompt, {
|
|
2342
2366
|
prompt: model.rationale,
|
|
2343
2367
|
__self: this,
|
|
2344
2368
|
__source: {
|
|
2345
2369
|
fileName: _jsxFileName,
|
|
2346
|
-
lineNumber:
|
|
2370
|
+
lineNumber: 119
|
|
2347
2371
|
}
|
|
2348
2372
|
})) : React$1.createElement(PreviewPrompt, {
|
|
2349
2373
|
prompt: model.rationale,
|
|
2350
2374
|
__self: this,
|
|
2351
2375
|
__source: {
|
|
2352
2376
|
fileName: _jsxFileName,
|
|
2353
|
-
lineNumber:
|
|
2377
|
+
lineNumber: 121
|
|
2354
2378
|
}
|
|
2355
2379
|
})), model.correctness && model.feedback && !showCorrectAnswer && React$1.createElement(Feedback, {
|
|
2356
2380
|
correctness: model.correctness,
|
|
@@ -2358,7 +2382,7 @@ class Main extends React$1.Component {
|
|
|
2358
2382
|
__self: this,
|
|
2359
2383
|
__source: {
|
|
2360
2384
|
fileName: _jsxFileName,
|
|
2361
|
-
lineNumber:
|
|
2385
|
+
lineNumber: 126
|
|
2362
2386
|
}
|
|
2363
2387
|
}));
|
|
2364
2388
|
}
|
|
@@ -2427,7 +2451,7 @@ class Stateful extends React$1.Component {
|
|
|
2427
2451
|
__self: this,
|
|
2428
2452
|
__source: {
|
|
2429
2453
|
fileName: _jsxFileName,
|
|
2430
|
-
lineNumber:
|
|
2454
|
+
lineNumber: 181
|
|
2431
2455
|
}
|
|
2432
2456
|
});
|
|
2433
2457
|
}
|
|
@@ -2447,6 +2471,21 @@ class SelectText extends HTMLElement {
|
|
|
2447
2471
|
}
|
|
2448
2472
|
set session(s) {
|
|
2449
2473
|
this._session = s;
|
|
2474
|
+
if (this._model) {
|
|
2475
|
+
const generatedModel = generateModel(this._model) || ({});
|
|
2476
|
+
const {tokens} = generatedModel;
|
|
2477
|
+
const areCorrect = (s.selectedTokens || []).filter(({start, end}) => tokens.find(({start: tStart, end: tEnd}) => start === tStart && end === tEnd)).length;
|
|
2478
|
+
if (!areCorrect) {
|
|
2479
|
+
const generatedModel = generateModel({
|
|
2480
|
+
...this._model,
|
|
2481
|
+
tokens: s.selectedTokens
|
|
2482
|
+
}) || ({});
|
|
2483
|
+
const {tokens} = generatedModel;
|
|
2484
|
+
if (tokens) {
|
|
2485
|
+
this._session.selectedTokens = tokens;
|
|
2486
|
+
}
|
|
2487
|
+
}
|
|
2488
|
+
}
|
|
2450
2489
|
if (!Array.isArray(this._session.selectedTokens)) {
|
|
2451
2490
|
this._session.selectedTokens = [];
|
|
2452
2491
|
}
|
package/module/manifest.json
CHANGED