@pie-element/ebsr 10.2.9-next.0 → 10.2.9-next.13
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/module/element.js +23 -36
- package/module/print.js +23 -36
- package/package.json +3 -3
package/module/element.js
CHANGED
|
@@ -12703,9 +12703,8 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12703
12703
|
MultipleChoice$1.prototype.__init2.call(this);
|
|
12704
12704
|
MultipleChoice$1.prototype.__init3.call(this);
|
|
12705
12705
|
this.state = {
|
|
12706
|
-
|
|
12707
|
-
|
|
12708
|
-
showCorrect: this.props.alwaysShowCorrect || false
|
|
12706
|
+
showCorrect: this.props.alwaysShowCorrect || false,
|
|
12707
|
+
maxSelectionsErrorState: false
|
|
12709
12708
|
};
|
|
12710
12709
|
this.onToggle = this.onToggle.bind(this);
|
|
12711
12710
|
}
|
|
@@ -12716,22 +12715,14 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12716
12715
|
__init() {
|
|
12717
12716
|
this.handleChange = event => {
|
|
12718
12717
|
const {value, checked} = event.target;
|
|
12719
|
-
const {
|
|
12720
|
-
if (
|
|
12718
|
+
const {maxSelections, onChoiceChanged, session} = this.props;
|
|
12719
|
+
if (session.value && session.value.length >= maxSelections) {
|
|
12721
12720
|
this.setState({
|
|
12722
|
-
|
|
12721
|
+
maxSelectionsErrorState: checked
|
|
12723
12722
|
});
|
|
12724
|
-
|
|
12725
|
-
const {selectedValues} = this.state;
|
|
12726
|
-
if (checked && selectedValues.length >= maxSelections) {
|
|
12723
|
+
if (checked) {
|
|
12727
12724
|
return;
|
|
12728
12725
|
}
|
|
12729
|
-
this.setState(prevState => {
|
|
12730
|
-
const selectedValues = checked ? [...prevState.selectedValues, value] : prevState.selectedValues.filter(currentValue => currentValue !== value);
|
|
12731
|
-
return {
|
|
12732
|
-
selectedValues
|
|
12733
|
-
};
|
|
12734
|
-
});
|
|
12735
12726
|
}
|
|
12736
12727
|
onChoiceChanged({
|
|
12737
12728
|
value,
|
|
@@ -12807,10 +12798,7 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12807
12798
|
if (this.state.showCorrect) {
|
|
12808
12799
|
return choice.correct || false;
|
|
12809
12800
|
}
|
|
12810
|
-
|
|
12811
|
-
return true;
|
|
12812
|
-
}
|
|
12813
|
-
return this.props.choiceMode === 'radio' ? this.state.selectedValue === choice.value : this.state.selectedValues.includes(choice.value);
|
|
12801
|
+
return this.isSelected(choice.value);
|
|
12814
12802
|
}
|
|
12815
12803
|
renderHeading() {
|
|
12816
12804
|
const {mode, choiceMode, classes} = this.props;
|
|
@@ -12822,20 +12810,20 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12822
12810
|
__self: this,
|
|
12823
12811
|
__source: {
|
|
12824
12812
|
fileName: _jsxFileName$1,
|
|
12825
|
-
lineNumber:
|
|
12813
|
+
lineNumber: 209
|
|
12826
12814
|
}
|
|
12827
12815
|
}, "Multiple Choice Question") : React$2.createElement('h2', {
|
|
12828
12816
|
className: classes.srOnly,
|
|
12829
12817
|
__self: this,
|
|
12830
12818
|
__source: {
|
|
12831
12819
|
fileName: _jsxFileName$1,
|
|
12832
|
-
lineNumber:
|
|
12820
|
+
lineNumber: 211
|
|
12833
12821
|
}
|
|
12834
12822
|
}, "Multiple Select Question");
|
|
12835
12823
|
}
|
|
12836
12824
|
render() {
|
|
12837
12825
|
const {mode, disabled, className, choices = [], choiceMode, gridColumns, partLabel, prompt, responseCorrect, teacherInstructions, classes, alwaysShowCorrect, animationsDisabled, language, isSelectionButtonBelow, minSelections, maxSelections, session} = this.props;
|
|
12838
|
-
const {showCorrect} = this.state;
|
|
12826
|
+
const {showCorrect, maxSelectionsErrorState} = this.state;
|
|
12839
12827
|
const isEvaluateMode = mode === 'evaluate';
|
|
12840
12828
|
const showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;
|
|
12841
12829
|
const columnsStyle = gridColumns > 1 ? {
|
|
@@ -12850,7 +12838,7 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12850
12838
|
__self: this,
|
|
12851
12839
|
__source: {
|
|
12852
12840
|
fileName: _jsxFileName$1,
|
|
12853
|
-
lineNumber:
|
|
12841
|
+
lineNumber: 243
|
|
12854
12842
|
}
|
|
12855
12843
|
});
|
|
12856
12844
|
return React$2.createElement('div', {
|
|
@@ -12858,21 +12846,21 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12858
12846
|
__self: this,
|
|
12859
12847
|
__source: {
|
|
12860
12848
|
fileName: _jsxFileName$1,
|
|
12861
|
-
lineNumber:
|
|
12849
|
+
lineNumber: 252
|
|
12862
12850
|
}
|
|
12863
12851
|
}, partLabel && React$2.createElement('h3', {
|
|
12864
12852
|
className: classes.partLabel,
|
|
12865
12853
|
__self: this,
|
|
12866
12854
|
__source: {
|
|
12867
12855
|
fileName: _jsxFileName$1,
|
|
12868
|
-
lineNumber:
|
|
12856
|
+
lineNumber: 253
|
|
12869
12857
|
}
|
|
12870
12858
|
}, partLabel), this.renderHeading(), teacherInstructions && React$2.createElement('div', {
|
|
12871
12859
|
className: classes.teacherInstructions,
|
|
12872
12860
|
__self: this,
|
|
12873
12861
|
__source: {
|
|
12874
12862
|
fileName: _jsxFileName$1,
|
|
12875
|
-
lineNumber:
|
|
12863
|
+
lineNumber: 258
|
|
12876
12864
|
}
|
|
12877
12865
|
}, !animationsDisabled ? React$2.createElement(Collapsible, {
|
|
12878
12866
|
labels: {
|
|
@@ -12882,14 +12870,14 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12882
12870
|
__self: this,
|
|
12883
12871
|
__source: {
|
|
12884
12872
|
fileName: _jsxFileName$1,
|
|
12885
|
-
lineNumber:
|
|
12873
|
+
lineNumber: 260
|
|
12886
12874
|
}
|
|
12887
12875
|
}, teacherInstructionsDiv) : teacherInstructionsDiv), React$2.createElement('fieldset', {
|
|
12888
12876
|
className: classes.fieldset,
|
|
12889
12877
|
__self: this,
|
|
12890
12878
|
__source: {
|
|
12891
12879
|
fileName: _jsxFileName$1,
|
|
12892
|
-
lineNumber:
|
|
12880
|
+
lineNumber: 274
|
|
12893
12881
|
}
|
|
12894
12882
|
}, React$2.createElement(PreviewPrompt, {
|
|
12895
12883
|
className: "prompt",
|
|
@@ -12899,7 +12887,7 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12899
12887
|
__self: this,
|
|
12900
12888
|
__source: {
|
|
12901
12889
|
fileName: _jsxFileName$1,
|
|
12902
|
-
lineNumber:
|
|
12890
|
+
lineNumber: 275
|
|
12903
12891
|
}
|
|
12904
12892
|
}), !alwaysShowCorrect && React$2.createElement(CorrectAnswerToggle, {
|
|
12905
12893
|
show: showCorrectAnswerToggle,
|
|
@@ -12909,7 +12897,7 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12909
12897
|
__self: this,
|
|
12910
12898
|
__source: {
|
|
12911
12899
|
fileName: _jsxFileName$1,
|
|
12912
|
-
lineNumber:
|
|
12900
|
+
lineNumber: 278
|
|
12913
12901
|
}
|
|
12914
12902
|
}), React$2.createElement('div', {
|
|
12915
12903
|
className: classNames({
|
|
@@ -12920,7 +12908,7 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12920
12908
|
__self: this,
|
|
12921
12909
|
__source: {
|
|
12922
12910
|
fileName: _jsxFileName$1,
|
|
12923
|
-
lineNumber:
|
|
12911
|
+
lineNumber: 286
|
|
12924
12912
|
}
|
|
12925
12913
|
}, choices.map((choice, index) => React$2.createElement(StyledChoice, {
|
|
12926
12914
|
choicesLayout: this.props.choicesLayout,
|
|
@@ -12943,24 +12931,24 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12943
12931
|
__self: this,
|
|
12944
12932
|
__source: {
|
|
12945
12933
|
fileName: _jsxFileName$1,
|
|
12946
|
-
lineNumber:
|
|
12934
|
+
lineNumber: 294
|
|
12947
12935
|
}
|
|
12948
12936
|
})))), choiceMode === 'checkbox' && selections < minSelections && React$2.createElement('div', {
|
|
12949
12937
|
className: classes.errorText,
|
|
12950
12938
|
__self: this,
|
|
12951
12939
|
__source: {
|
|
12952
12940
|
fileName: _jsxFileName$1,
|
|
12953
|
-
lineNumber:
|
|
12941
|
+
lineNumber: 318
|
|
12954
12942
|
}
|
|
12955
12943
|
}, translator.t(`translation:multipleChoice:minSelections_${minSelections === 1 ? 'one' : 'other'}`, {
|
|
12956
12944
|
lng: language,
|
|
12957
12945
|
minSelections
|
|
12958
|
-
})), choiceMode === 'checkbox' &&
|
|
12946
|
+
})), choiceMode === 'checkbox' && maxSelectionsErrorState && React$2.createElement('div', {
|
|
12959
12947
|
className: classes.errorText,
|
|
12960
12948
|
__self: this,
|
|
12961
12949
|
__source: {
|
|
12962
12950
|
fileName: _jsxFileName$1,
|
|
12963
|
-
lineNumber:
|
|
12951
|
+
lineNumber: 326
|
|
12964
12952
|
}
|
|
12965
12953
|
}, translator.t(`translation:multipleChoice:maxSelections_${maxSelections === 1 ? 'one' : 'other'}`, {
|
|
12966
12954
|
lng: language,
|
|
@@ -13120,7 +13108,6 @@ class MultipleChoice extends HTMLElement {
|
|
|
13120
13108
|
trailing: true
|
|
13121
13109
|
});
|
|
13122
13110
|
this._dispatchResponseChanged = debounce(() => {
|
|
13123
|
-
console.log('>> dispatch event');
|
|
13124
13111
|
var event = new CustomEvent('session-changed', {
|
|
13125
13112
|
bubbles: true,
|
|
13126
13113
|
composed: true,
|
package/module/print.js
CHANGED
|
@@ -12666,9 +12666,8 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12666
12666
|
MultipleChoice$1.prototype.__init2.call(this);
|
|
12667
12667
|
MultipleChoice$1.prototype.__init3.call(this);
|
|
12668
12668
|
this.state = {
|
|
12669
|
-
|
|
12670
|
-
|
|
12671
|
-
showCorrect: this.props.alwaysShowCorrect || false
|
|
12669
|
+
showCorrect: this.props.alwaysShowCorrect || false,
|
|
12670
|
+
maxSelectionsErrorState: false
|
|
12672
12671
|
};
|
|
12673
12672
|
this.onToggle = this.onToggle.bind(this);
|
|
12674
12673
|
}
|
|
@@ -12679,22 +12678,14 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12679
12678
|
__init() {
|
|
12680
12679
|
this.handleChange = event => {
|
|
12681
12680
|
const {value, checked} = event.target;
|
|
12682
|
-
const {
|
|
12683
|
-
if (
|
|
12681
|
+
const {maxSelections, onChoiceChanged, session} = this.props;
|
|
12682
|
+
if (session.value && session.value.length >= maxSelections) {
|
|
12684
12683
|
this.setState({
|
|
12685
|
-
|
|
12684
|
+
maxSelectionsErrorState: checked
|
|
12686
12685
|
});
|
|
12687
|
-
|
|
12688
|
-
const {selectedValues} = this.state;
|
|
12689
|
-
if (checked && selectedValues.length >= maxSelections) {
|
|
12686
|
+
if (checked) {
|
|
12690
12687
|
return;
|
|
12691
12688
|
}
|
|
12692
|
-
this.setState(prevState => {
|
|
12693
|
-
const selectedValues = checked ? [...prevState.selectedValues, value] : prevState.selectedValues.filter(currentValue => currentValue !== value);
|
|
12694
|
-
return {
|
|
12695
|
-
selectedValues
|
|
12696
|
-
};
|
|
12697
|
-
});
|
|
12698
12689
|
}
|
|
12699
12690
|
onChoiceChanged({
|
|
12700
12691
|
value,
|
|
@@ -12770,10 +12761,7 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12770
12761
|
if (this.state.showCorrect) {
|
|
12771
12762
|
return choice.correct || false;
|
|
12772
12763
|
}
|
|
12773
|
-
|
|
12774
|
-
return true;
|
|
12775
|
-
}
|
|
12776
|
-
return this.props.choiceMode === 'radio' ? this.state.selectedValue === choice.value : this.state.selectedValues.includes(choice.value);
|
|
12764
|
+
return this.isSelected(choice.value);
|
|
12777
12765
|
}
|
|
12778
12766
|
renderHeading() {
|
|
12779
12767
|
const {mode, choiceMode, classes} = this.props;
|
|
@@ -12785,20 +12773,20 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12785
12773
|
__self: this,
|
|
12786
12774
|
__source: {
|
|
12787
12775
|
fileName: _jsxFileName$1,
|
|
12788
|
-
lineNumber:
|
|
12776
|
+
lineNumber: 209
|
|
12789
12777
|
}
|
|
12790
12778
|
}, "Multiple Choice Question") : React$2.createElement('h2', {
|
|
12791
12779
|
className: classes.srOnly,
|
|
12792
12780
|
__self: this,
|
|
12793
12781
|
__source: {
|
|
12794
12782
|
fileName: _jsxFileName$1,
|
|
12795
|
-
lineNumber:
|
|
12783
|
+
lineNumber: 211
|
|
12796
12784
|
}
|
|
12797
12785
|
}, "Multiple Select Question");
|
|
12798
12786
|
}
|
|
12799
12787
|
render() {
|
|
12800
12788
|
const {mode, disabled, className, choices = [], choiceMode, gridColumns, partLabel, prompt, responseCorrect, teacherInstructions, classes, alwaysShowCorrect, animationsDisabled, language, isSelectionButtonBelow, minSelections, maxSelections, session} = this.props;
|
|
12801
|
-
const {showCorrect} = this.state;
|
|
12789
|
+
const {showCorrect, maxSelectionsErrorState} = this.state;
|
|
12802
12790
|
const isEvaluateMode = mode === 'evaluate';
|
|
12803
12791
|
const showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;
|
|
12804
12792
|
const columnsStyle = gridColumns > 1 ? {
|
|
@@ -12813,7 +12801,7 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12813
12801
|
__self: this,
|
|
12814
12802
|
__source: {
|
|
12815
12803
|
fileName: _jsxFileName$1,
|
|
12816
|
-
lineNumber:
|
|
12804
|
+
lineNumber: 243
|
|
12817
12805
|
}
|
|
12818
12806
|
});
|
|
12819
12807
|
return React$2.createElement('div', {
|
|
@@ -12821,21 +12809,21 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12821
12809
|
__self: this,
|
|
12822
12810
|
__source: {
|
|
12823
12811
|
fileName: _jsxFileName$1,
|
|
12824
|
-
lineNumber:
|
|
12812
|
+
lineNumber: 252
|
|
12825
12813
|
}
|
|
12826
12814
|
}, partLabel && React$2.createElement('h3', {
|
|
12827
12815
|
className: classes.partLabel,
|
|
12828
12816
|
__self: this,
|
|
12829
12817
|
__source: {
|
|
12830
12818
|
fileName: _jsxFileName$1,
|
|
12831
|
-
lineNumber:
|
|
12819
|
+
lineNumber: 253
|
|
12832
12820
|
}
|
|
12833
12821
|
}, partLabel), this.renderHeading(), teacherInstructions && React$2.createElement('div', {
|
|
12834
12822
|
className: classes.teacherInstructions,
|
|
12835
12823
|
__self: this,
|
|
12836
12824
|
__source: {
|
|
12837
12825
|
fileName: _jsxFileName$1,
|
|
12838
|
-
lineNumber:
|
|
12826
|
+
lineNumber: 258
|
|
12839
12827
|
}
|
|
12840
12828
|
}, !animationsDisabled ? React$2.createElement(Collapsible, {
|
|
12841
12829
|
labels: {
|
|
@@ -12845,14 +12833,14 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12845
12833
|
__self: this,
|
|
12846
12834
|
__source: {
|
|
12847
12835
|
fileName: _jsxFileName$1,
|
|
12848
|
-
lineNumber:
|
|
12836
|
+
lineNumber: 260
|
|
12849
12837
|
}
|
|
12850
12838
|
}, teacherInstructionsDiv) : teacherInstructionsDiv), React$2.createElement('fieldset', {
|
|
12851
12839
|
className: classes.fieldset,
|
|
12852
12840
|
__self: this,
|
|
12853
12841
|
__source: {
|
|
12854
12842
|
fileName: _jsxFileName$1,
|
|
12855
|
-
lineNumber:
|
|
12843
|
+
lineNumber: 274
|
|
12856
12844
|
}
|
|
12857
12845
|
}, React$2.createElement(PreviewPrompt, {
|
|
12858
12846
|
className: "prompt",
|
|
@@ -12862,7 +12850,7 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12862
12850
|
__self: this,
|
|
12863
12851
|
__source: {
|
|
12864
12852
|
fileName: _jsxFileName$1,
|
|
12865
|
-
lineNumber:
|
|
12853
|
+
lineNumber: 275
|
|
12866
12854
|
}
|
|
12867
12855
|
}), !alwaysShowCorrect && React$2.createElement(CorrectAnswerToggle, {
|
|
12868
12856
|
show: showCorrectAnswerToggle,
|
|
@@ -12872,7 +12860,7 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12872
12860
|
__self: this,
|
|
12873
12861
|
__source: {
|
|
12874
12862
|
fileName: _jsxFileName$1,
|
|
12875
|
-
lineNumber:
|
|
12863
|
+
lineNumber: 278
|
|
12876
12864
|
}
|
|
12877
12865
|
}), React$2.createElement('div', {
|
|
12878
12866
|
className: classNames({
|
|
@@ -12883,7 +12871,7 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12883
12871
|
__self: this,
|
|
12884
12872
|
__source: {
|
|
12885
12873
|
fileName: _jsxFileName$1,
|
|
12886
|
-
lineNumber:
|
|
12874
|
+
lineNumber: 286
|
|
12887
12875
|
}
|
|
12888
12876
|
}, choices.map((choice, index) => React$2.createElement(StyledChoice, {
|
|
12889
12877
|
choicesLayout: this.props.choicesLayout,
|
|
@@ -12906,24 +12894,24 @@ class MultipleChoice$1 extends React$2.Component {
|
|
|
12906
12894
|
__self: this,
|
|
12907
12895
|
__source: {
|
|
12908
12896
|
fileName: _jsxFileName$1,
|
|
12909
|
-
lineNumber:
|
|
12897
|
+
lineNumber: 294
|
|
12910
12898
|
}
|
|
12911
12899
|
})))), choiceMode === 'checkbox' && selections < minSelections && React$2.createElement('div', {
|
|
12912
12900
|
className: classes.errorText,
|
|
12913
12901
|
__self: this,
|
|
12914
12902
|
__source: {
|
|
12915
12903
|
fileName: _jsxFileName$1,
|
|
12916
|
-
lineNumber:
|
|
12904
|
+
lineNumber: 318
|
|
12917
12905
|
}
|
|
12918
12906
|
}, translator$1.t(`translation:multipleChoice:minSelections_${minSelections === 1 ? 'one' : 'other'}`, {
|
|
12919
12907
|
lng: language,
|
|
12920
12908
|
minSelections
|
|
12921
|
-
})), choiceMode === 'checkbox' &&
|
|
12909
|
+
})), choiceMode === 'checkbox' && maxSelectionsErrorState && React$2.createElement('div', {
|
|
12922
12910
|
className: classes.errorText,
|
|
12923
12911
|
__self: this,
|
|
12924
12912
|
__source: {
|
|
12925
12913
|
fileName: _jsxFileName$1,
|
|
12926
|
-
lineNumber:
|
|
12914
|
+
lineNumber: 326
|
|
12927
12915
|
}
|
|
12928
12916
|
}, translator$1.t(`translation:multipleChoice:maxSelections_${maxSelections === 1 ? 'one' : 'other'}`, {
|
|
12929
12917
|
lng: language,
|
|
@@ -13083,7 +13071,6 @@ class MultipleChoice extends HTMLElement {
|
|
|
13083
13071
|
trailing: true
|
|
13084
13072
|
});
|
|
13085
13073
|
this._dispatchResponseChanged = debounce(() => {
|
|
13086
|
-
console.log('>> dispatch event');
|
|
13087
13074
|
var event = new CustomEvent('session-changed', {
|
|
13088
13075
|
bubbles: true,
|
|
13089
13076
|
composed: true,
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/ebsr",
|
|
3
|
-
"version": "10.2.9-next.
|
|
3
|
+
"version": "10.2.9-next.13+95b17d26e",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": "pie-framework/pie-elements",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@pie-element/multiple-choice": "^9.7.2-next.
|
|
10
|
+
"@pie-element/multiple-choice": "^9.7.2-next.13+95b17d26e",
|
|
11
11
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
12
12
|
"@pie-lib/pie-toolbox": "2.6.1",
|
|
13
13
|
"classnames": "^2.2.5",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"author": "pie framework developers",
|
|
18
18
|
"license": "ISC",
|
|
19
|
-
"gitHead": "
|
|
19
|
+
"gitHead": "95b17d26ecb7649371c9399138d5bd7ba2a10b74",
|
|
20
20
|
"scripts": {
|
|
21
21
|
"postpublish": "../../scripts/postpublish"
|
|
22
22
|
},
|