@instructure/quiz-core 17.34.0 → 17.34.1-rc.2

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.
@@ -179,7 +179,7 @@ export var DeleteStimulusModal = (_dec = themeable(theme, styles), _dec(_class =
179
179
  return /*#__PURE__*/React.createElement(Button, {
180
180
  onClick: this.closeAction,
181
181
  margin: XSMALL_SIDE_MARGIN
182
- }, t('Cancel'));
182
+ }, t('Keep Stimulus'));
183
183
  }
184
184
  }, {
185
185
  key: "doneButton",
@@ -194,7 +194,7 @@ export var DeleteStimulusModal = (_dec = themeable(theme, styles), _dec(_class =
194
194
  onClick: this.handleSubmit,
195
195
  margin: XSMALL_SIDE_MARGIN,
196
196
  "data-automation": "sdk-stimulus-doneButton"
197
- }, t('Submit'));
197
+ }, t('Remove Stimulus'));
198
198
  }
199
199
  }, {
200
200
  key: "renderChooseWhich",
@@ -15,14 +15,14 @@ import { Button } from '@instructure/ui-buttons';
15
15
  import { themeable } from '@instructure/ui-themeable';
16
16
  import t from '@instructure/quiz-i18n/es/format-message';
17
17
  var styles = {
18
- componentId: 'bJIQd',
18
+ componentId: 'cIWJr',
19
19
  template: function template(theme) {
20
- return "\n\n.bJIQd_ePYF{background-color:".concat(theme.newItemButtonBackgroundColor || 'inherit', ";border:none;border-radius:").concat(theme.newItemButtonBorderRadius || 'inherit', ";box-shadow:").concat(theme.newItemButtonBoxShadow || 'inherit', ";color:").concat(theme.newItemButtonColor || 'inherit', ";font-size:").concat(theme.newItemButtonFontSize || 'inherit', ";font-weight:").concat(theme.newItemButtonFontWeight || 'inherit', ";line-height:0;margin:").concat(theme.newItemButtonMargin || 'inherit', ";padding:").concat(theme.newItemButtonPadding || 'inherit', ";text-align:center;transform:rotate(0deg);transition:").concat(theme.newItemButtonTransition || 'inherit', ";z-index:").concat(theme.newItemButtonZIndex || 'inherit', "}\n\n[dir=ltr] .bJIQd_ePYF,[dir=rtl] .bJIQd_ePYF{text-align:center}\n\n.bJIQd_ePYF:focus{outline:").concat(theme.newItemButtonFocusOutline || 'inherit', "}\n\n.bJIQd_ePYF.bJIQd_cwUE{background-color:").concat(theme.newItemButtonEditingBackgroundColor || 'inherit', ";transform:rotate(45deg);transition:").concat(theme.newItemButtonTransition || 'inherit', "}\n\n.bJIQd_ekys{display:flex;justify-content:center;margin-top:-1.5rem;width:100%;z-index:").concat(theme.newItemButtonHolderZIndex || 'inherit', "}\n\n.bJIQd_egTu{display:flex;justify-content:center;width:100%;z-index:").concat(theme.attachQuestionButtonHolderZIndex || 'inherit', "}\n\n@media print{.bJIQd_egTu,.bJIQd_ekys{display:none}}");
20
+ return "\n\n.cIWJr_ePYF{background-color:".concat(theme.newItemButtonBackgroundColor || 'inherit', ";border:none;border-radius:").concat(theme.newItemButtonBorderRadius || 'inherit', ";box-shadow:").concat(theme.newItemButtonBoxShadow || 'inherit', ";color:").concat(theme.newItemButtonColor || 'inherit', ";font-size:").concat(theme.newItemButtonFontSize || 'inherit', ";font-weight:").concat(theme.newItemButtonFontWeight || 'inherit', ";line-height:0;margin:").concat(theme.newItemButtonMargin || 'inherit', ";padding:").concat(theme.newItemButtonPadding || 'inherit', ";text-align:center;transform:rotate(0deg);transition:").concat(theme.newItemButtonTransition || 'inherit', ";z-index:").concat(theme.newItemButtonZIndex || 'inherit', "}\n\n[dir=ltr] .cIWJr_ePYF,[dir=rtl] .cIWJr_ePYF{text-align:center}\n\n.cIWJr_ePYF:focus{outline:").concat(theme.newItemButtonFocusOutline || 'inherit', ";outline-offset:").concat(theme.newItemButtonFocusOutlineOffset || 'inherit', "}\n\n.cIWJr_ePYF.cIWJr_cwUE{background-color:").concat(theme.newItemButtonEditingBackgroundColor || 'inherit', ";transform:rotate(45deg);transition:").concat(theme.newItemButtonTransition || 'inherit', "}\n\n.cIWJr_ekys{display:flex;justify-content:center;margin-top:-1.5rem;width:100%;z-index:").concat(theme.newItemButtonHolderZIndex || 'inherit', "}\n\n.cIWJr_egTu{display:flex;justify-content:center;width:100%;z-index:").concat(theme.attachQuestionButtonHolderZIndex || 'inherit', "}\n\n@media print{.cIWJr_egTu,.cIWJr_ekys{display:none}}");
21
21
  },
22
- 'newItemButton': 'bJIQd_ePYF',
23
- 'newItemButtonEditing': 'bJIQd_cwUE',
24
- 'newItemButtonHolder': 'bJIQd_ekys',
25
- 'attachQuestionButtonHolder': 'bJIQd_egTu'
22
+ 'newItemButton': 'cIWJr_ePYF',
23
+ 'newItemButtonEditing': 'cIWJr_cwUE',
24
+ 'newItemButtonHolder': 'cIWJr_ekys',
25
+ 'attachQuestionButtonHolder': 'cIWJr_egTu'
26
26
  };
27
27
  import theme from "./theme.js";
28
28
  export var AddContentButton = (_dec = themeable(theme, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
@@ -12,6 +12,7 @@ export default function generator(_ref) {
12
12
  newItemButtonBorderRadius: spacing.large,
13
13
  newItemButtonColor: colors.white,
14
14
  newItemButtonFocusOutline: "2px solid ".concat(colors.brand),
15
+ newItemButtonFocusOutlineOffset: spacing.xxxSmall,
15
16
  newItemButtonFontSize: typography.fontSizeMedium,
16
17
  newItemButtonFontWeight: typography.fontWeightBold,
17
18
  newItemButtonZIndex: '4444',
@@ -90,8 +90,8 @@ export var StimulusEdit = (_dec = themeable(theme, styles), _dec(_class = (_temp
90
90
  }, {
91
91
  title: t('Confirm Stimulus Removal'),
92
92
  text: t('Are you sure you want to remove this stimulus?'),
93
- continueText: t('Submit'),
94
- cancelText: t('Cancel')
93
+ continueText: t('Remove Stimulus'),
94
+ cancelText: t('Keep Stimulus')
95
95
  });
96
96
  };
97
97
 
@@ -366,11 +366,6 @@ export var StimulusEdit = (_dec = themeable(theme, styles), _dec(_class = (_temp
366
366
  this.createNextQuizEntry();
367
367
  }
368
368
  }
369
- }, {
370
- key: "saveText",
371
- value: function saveText() {
372
- return this.props.stimulus.isTemporary() ? t('Add Stimulus') : t('Save Stimulus');
373
- }
374
369
  }, {
375
370
  key: "renderAddToBankModal",
376
371
  value: function renderAddToBankModal() {
@@ -438,14 +433,14 @@ export var StimulusEdit = (_dec = themeable(theme, styles), _dec(_class = (_temp
438
433
  type: "button",
439
434
  onClick: this.onCancel,
440
435
  "data-automation": "sdk-stimulus-discardButton"
441
- }, t('Discard'))), /*#__PURE__*/React.createElement("div", {
436
+ }, t('Cancel'))), /*#__PURE__*/React.createElement("div", {
442
437
  className: styles.buttonWrapper
443
438
  }, /*#__PURE__*/React.createElement(Button, {
444
439
  type: "button",
445
440
  variant: "primary",
446
441
  disabled: !this.state.canSubmit,
447
442
  onClick: this.onSubmit
448
- }, this.saveText()))));
443
+ }, t('Done')))));
449
444
  }
450
445
  }, {
451
446
  key: "render",
@@ -511,7 +506,7 @@ export var StimulusEdit = (_dec = themeable(theme, styles), _dec(_class = (_temp
511
506
  shouldFocusOnMount: PropTypes.bool.isRequired
512
507
  }, _class2.defaultProps = {
513
508
  bankEntryWarningWrapperProps: function bankEntryWarningWrapperProps() {},
514
- errorsShowing: true,
509
+ errorsShowing: false,
515
510
  isBankedContent: false,
516
511
  nextQuizEntry: null
517
512
  }, _temp)) || _class);
@@ -2,21 +2,23 @@ import { bindActionCreators } from 'redux';
2
2
  import { Map } from 'immutable';
3
3
  import { connect } from "../../../react-redux.js";
4
4
  import { PrintTrigger as PrintTriggerPresenter } from "./presenter.js";
5
- import { PRINT_FONT_SIZE_MODAL } from '@instructure/quiz-common';
5
+ import { PRINT_FONT_SIZE_MODAL, QUIZ_SESSION_GRADE_SCOPE } from '@instructure/quiz-common';
6
6
  import * as printingActions from "../../../actions/printing.js";
7
7
  import * as modalActions from "../../../actions/modal.js";
8
8
  import * as quizEntriesApiActions from "../../../../building/api/quizEntries.js";
9
9
  import { featureOn } from "../../../util/featureCheck.js";
10
+ import { getConfigTokenScope } from "../../../selectors/config.js";
10
11
  export function mapStateToProps(state) {
11
12
  return {
13
+ activeQuizId: state.getIn(['quizzes', 'activeQuizId']),
12
14
  appContainer: state.getIn(['ui', 'appContainer']),
13
15
  asyncSampleItemsEnabled: featureOn('async_sample_items'),
14
16
  bankQuizEntryIds: state.get('quizEntries', Map()).filter(function (quizEntry) {
15
17
  return quizEntry.get('entryType') === 'Bank';
16
18
  }).keySeq().toArray(),
19
+ isGrading: getConfigTokenScope(state) === QUIZ_SESSION_GRADE_SCOPE,
17
20
  printFontSizeModalOpen: state.getIn(['modal', 'isOpen']) === PRINT_FONT_SIZE_MODAL,
18
- persistedPrintFontSize: state.getIn(['printing', 'fontSizePreference']),
19
- activeQuizId: state.getIn(['quizzes', 'activeQuizId'])
21
+ persistedPrintFontSize: state.getIn(['printing', 'fontSizePreference'])
20
22
  };
21
23
  }
22
24
 
@@ -42,7 +42,7 @@ export var PrintTrigger = /*#__PURE__*/function (_Component) {
42
42
 
43
43
  var sampleItemFetchPromises = [];
44
44
 
45
- if (_this.props.asyncSampleItemsEnabled) {
45
+ if (_this.props.asyncSampleItemsEnabled && !_this.props.isGrading) {
46
46
  var _this$props = _this.props,
47
47
  activeQuizId = _this$props.activeQuizId,
48
48
  bankQuizEntryIds = _this$props.bankQuizEntryIds,
@@ -134,6 +134,7 @@ PrintTrigger.propTypes = {
134
134
  bankQuizEntryIds: PropTypes.arrayOf(PropTypes.string),
135
135
  closePrintFontSizeModal: PropTypes.func.isRequired,
136
136
  getSampleItemsForQuizEntry: PropTypes.func.isRequired,
137
+ isGrading: PropTypes.bool,
137
138
  navigateToPreviewPrint: PropTypes.func,
138
139
  openPrintFontSizeModal: PropTypes.func.isRequired,
139
140
  persistedPrintFontSize: PropTypes.string,
@@ -146,6 +147,7 @@ PrintTrigger.defaultProps = {
146
147
  appContainer: null,
147
148
  asyncSampleItemsEnabled: false,
148
149
  bankQuizEntryIds: [],
150
+ isGrading: false,
149
151
  persistedPrintFontSize: 'medium',
150
152
  navigateToPreviewPrint: function navigateToPreviewPrint() {}
151
153
  };
@@ -0,0 +1,14 @@
1
+ import jwt from 'jwt-simple';
2
+
3
+ function decodeToken(token) {
4
+ try {
5
+ return jwt.decode(token, '', true) || {};
6
+ } catch (e) {
7
+ return {};
8
+ }
9
+ }
10
+
11
+ export function getConfigTokenScope(state) {
12
+ var token = state.getIn(['config', 'userToken']);
13
+ return decodeToken(token).scope;
14
+ }
@@ -208,7 +208,7 @@ var DeleteStimulusModal = (_dec = (0, _uiThemeable.themeable)(_theme.default, st
208
208
  return /*#__PURE__*/_react.default.createElement(_uiButtons.Button, {
209
209
  onClick: this.closeAction,
210
210
  margin: _quizCommon.XSMALL_SIDE_MARGIN
211
- }, (0, _formatMessage.default)('Cancel'));
211
+ }, (0, _formatMessage.default)('Keep Stimulus'));
212
212
  }
213
213
  }, {
214
214
  key: "doneButton",
@@ -223,7 +223,7 @@ var DeleteStimulusModal = (_dec = (0, _uiThemeable.themeable)(_theme.default, st
223
223
  onClick: this.handleSubmit,
224
224
  margin: _quizCommon.XSMALL_SIDE_MARGIN,
225
225
  "data-automation": "sdk-stimulus-doneButton"
226
- }, (0, _formatMessage.default)('Submit'));
226
+ }, (0, _formatMessage.default)('Remove Stimulus'));
227
227
  }
228
228
  }, {
229
229
  key: "renderChooseWhich",
@@ -40,14 +40,14 @@ var _theme = _interopRequireDefault(require("./theme.js"));
40
40
  var _dec, _class, _class2, _temp;
41
41
 
42
42
  var styles = {
43
- componentId: 'bJIQd',
43
+ componentId: 'cIWJr',
44
44
  template: function template(theme) {
45
- return "\n\n.bJIQd_ePYF{background-color:".concat(theme.newItemButtonBackgroundColor || 'inherit', ";border:none;border-radius:").concat(theme.newItemButtonBorderRadius || 'inherit', ";box-shadow:").concat(theme.newItemButtonBoxShadow || 'inherit', ";color:").concat(theme.newItemButtonColor || 'inherit', ";font-size:").concat(theme.newItemButtonFontSize || 'inherit', ";font-weight:").concat(theme.newItemButtonFontWeight || 'inherit', ";line-height:0;margin:").concat(theme.newItemButtonMargin || 'inherit', ";padding:").concat(theme.newItemButtonPadding || 'inherit', ";text-align:center;transform:rotate(0deg);transition:").concat(theme.newItemButtonTransition || 'inherit', ";z-index:").concat(theme.newItemButtonZIndex || 'inherit', "}\n\n[dir=ltr] .bJIQd_ePYF,[dir=rtl] .bJIQd_ePYF{text-align:center}\n\n.bJIQd_ePYF:focus{outline:").concat(theme.newItemButtonFocusOutline || 'inherit', "}\n\n.bJIQd_ePYF.bJIQd_cwUE{background-color:").concat(theme.newItemButtonEditingBackgroundColor || 'inherit', ";transform:rotate(45deg);transition:").concat(theme.newItemButtonTransition || 'inherit', "}\n\n.bJIQd_ekys{display:flex;justify-content:center;margin-top:-1.5rem;width:100%;z-index:").concat(theme.newItemButtonHolderZIndex || 'inherit', "}\n\n.bJIQd_egTu{display:flex;justify-content:center;width:100%;z-index:").concat(theme.attachQuestionButtonHolderZIndex || 'inherit', "}\n\n@media print{.bJIQd_egTu,.bJIQd_ekys{display:none}}");
45
+ return "\n\n.cIWJr_ePYF{background-color:".concat(theme.newItemButtonBackgroundColor || 'inherit', ";border:none;border-radius:").concat(theme.newItemButtonBorderRadius || 'inherit', ";box-shadow:").concat(theme.newItemButtonBoxShadow || 'inherit', ";color:").concat(theme.newItemButtonColor || 'inherit', ";font-size:").concat(theme.newItemButtonFontSize || 'inherit', ";font-weight:").concat(theme.newItemButtonFontWeight || 'inherit', ";line-height:0;margin:").concat(theme.newItemButtonMargin || 'inherit', ";padding:").concat(theme.newItemButtonPadding || 'inherit', ";text-align:center;transform:rotate(0deg);transition:").concat(theme.newItemButtonTransition || 'inherit', ";z-index:").concat(theme.newItemButtonZIndex || 'inherit', "}\n\n[dir=ltr] .cIWJr_ePYF,[dir=rtl] .cIWJr_ePYF{text-align:center}\n\n.cIWJr_ePYF:focus{outline:").concat(theme.newItemButtonFocusOutline || 'inherit', ";outline-offset:").concat(theme.newItemButtonFocusOutlineOffset || 'inherit', "}\n\n.cIWJr_ePYF.cIWJr_cwUE{background-color:").concat(theme.newItemButtonEditingBackgroundColor || 'inherit', ";transform:rotate(45deg);transition:").concat(theme.newItemButtonTransition || 'inherit', "}\n\n.cIWJr_ekys{display:flex;justify-content:center;margin-top:-1.5rem;width:100%;z-index:").concat(theme.newItemButtonHolderZIndex || 'inherit', "}\n\n.cIWJr_egTu{display:flex;justify-content:center;width:100%;z-index:").concat(theme.attachQuestionButtonHolderZIndex || 'inherit', "}\n\n@media print{.cIWJr_egTu,.cIWJr_ekys{display:none}}");
46
46
  },
47
- 'newItemButton': 'bJIQd_ePYF',
48
- 'newItemButtonEditing': 'bJIQd_cwUE',
49
- 'newItemButtonHolder': 'bJIQd_ekys',
50
- 'attachQuestionButtonHolder': 'bJIQd_egTu'
47
+ 'newItemButton': 'cIWJr_ePYF',
48
+ 'newItemButtonEditing': 'cIWJr_cwUE',
49
+ 'newItemButtonHolder': 'cIWJr_ekys',
50
+ 'attachQuestionButtonHolder': 'cIWJr_egTu'
51
51
  };
52
52
  var AddContentButton = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
53
53
  (0, _inherits2.default)(AddContentButton, _Component);
@@ -19,6 +19,7 @@ function generator(_ref) {
19
19
  newItemButtonBorderRadius: spacing.large,
20
20
  newItemButtonColor: colors.white,
21
21
  newItemButtonFocusOutline: "2px solid ".concat(colors.brand),
22
+ newItemButtonFocusOutlineOffset: spacing.xxxSmall,
22
23
  newItemButtonFontSize: typography.fontSizeMedium,
23
24
  newItemButtonFontWeight: typography.fontWeightBold,
24
25
  newItemButtonZIndex: '4444',
@@ -127,8 +127,8 @@ var StimulusEdit = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
127
127
  }, {
128
128
  title: (0, _formatMessage.default)('Confirm Stimulus Removal'),
129
129
  text: (0, _formatMessage.default)('Are you sure you want to remove this stimulus?'),
130
- continueText: (0, _formatMessage.default)('Submit'),
131
- cancelText: (0, _formatMessage.default)('Cancel')
130
+ continueText: (0, _formatMessage.default)('Remove Stimulus'),
131
+ cancelText: (0, _formatMessage.default)('Keep Stimulus')
132
132
  });
133
133
  };
134
134
 
@@ -403,11 +403,6 @@ var StimulusEdit = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
403
403
  this.createNextQuizEntry();
404
404
  }
405
405
  }
406
- }, {
407
- key: "saveText",
408
- value: function saveText() {
409
- return this.props.stimulus.isTemporary() ? (0, _formatMessage.default)('Add Stimulus') : (0, _formatMessage.default)('Save Stimulus');
410
- }
411
406
  }, {
412
407
  key: "renderAddToBankModal",
413
408
  value: function renderAddToBankModal() {
@@ -475,14 +470,14 @@ var StimulusEdit = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
475
470
  type: "button",
476
471
  onClick: this.onCancel,
477
472
  "data-automation": "sdk-stimulus-discardButton"
478
- }, (0, _formatMessage.default)('Discard'))), /*#__PURE__*/_react.default.createElement("div", {
473
+ }, (0, _formatMessage.default)('Cancel'))), /*#__PURE__*/_react.default.createElement("div", {
479
474
  className: styles.buttonWrapper
480
475
  }, /*#__PURE__*/_react.default.createElement(_uiButtons.Button, {
481
476
  type: "button",
482
477
  variant: "primary",
483
478
  disabled: !this.state.canSubmit,
484
479
  onClick: this.onSubmit
485
- }, this.saveText()))));
480
+ }, (0, _formatMessage.default)('Done')))));
486
481
  }
487
482
  }, {
488
483
  key: "render",
@@ -547,7 +542,7 @@ var StimulusEdit = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
547
542
  shouldFocusOnMount: _propTypes.default.bool.isRequired
548
543
  }, _class2.defaultProps = {
549
544
  bankEntryWarningWrapperProps: function bankEntryWarningWrapperProps() {},
550
- errorsShowing: true,
545
+ errorsShowing: false,
551
546
  isBankedContent: false,
552
547
  nextQuizEntry: null
553
548
  }, _temp)) || _class);
@@ -26,16 +26,19 @@ var quizEntriesApiActions = _interopRequireWildcard(require("../../../../buildin
26
26
 
27
27
  var _featureCheck = require("../../../util/featureCheck.js");
28
28
 
29
+ var _config = require("../../../selectors/config.js");
30
+
29
31
  function mapStateToProps(state) {
30
32
  return {
33
+ activeQuizId: state.getIn(['quizzes', 'activeQuizId']),
31
34
  appContainer: state.getIn(['ui', 'appContainer']),
32
35
  asyncSampleItemsEnabled: (0, _featureCheck.featureOn)('async_sample_items'),
33
36
  bankQuizEntryIds: state.get('quizEntries', (0, _immutable.Map)()).filter(function (quizEntry) {
34
37
  return quizEntry.get('entryType') === 'Bank';
35
38
  }).keySeq().toArray(),
39
+ isGrading: (0, _config.getConfigTokenScope)(state) === _quizCommon.QUIZ_SESSION_GRADE_SCOPE,
36
40
  printFontSizeModalOpen: state.getIn(['modal', 'isOpen']) === _quizCommon.PRINT_FONT_SIZE_MODAL,
37
- persistedPrintFontSize: state.getIn(['printing', 'fontSizePreference']),
38
- activeQuizId: state.getIn(['quizzes', 'activeQuizId'])
41
+ persistedPrintFontSize: state.getIn(['printing', 'fontSizePreference'])
39
42
  };
40
43
  }
41
44
 
@@ -67,7 +67,7 @@ var PrintTrigger = /*#__PURE__*/function (_Component) {
67
67
 
68
68
  var sampleItemFetchPromises = [];
69
69
 
70
- if (_this.props.asyncSampleItemsEnabled) {
70
+ if (_this.props.asyncSampleItemsEnabled && !_this.props.isGrading) {
71
71
  var _this$props = _this.props,
72
72
  activeQuizId = _this$props.activeQuizId,
73
73
  bankQuizEntryIds = _this$props.bankQuizEntryIds,
@@ -160,6 +160,7 @@ PrintTrigger.propTypes = {
160
160
  bankQuizEntryIds: _propTypes.default.arrayOf(_propTypes.default.string),
161
161
  closePrintFontSizeModal: _propTypes.default.func.isRequired,
162
162
  getSampleItemsForQuizEntry: _propTypes.default.func.isRequired,
163
+ isGrading: _propTypes.default.bool,
163
164
  navigateToPreviewPrint: _propTypes.default.func,
164
165
  openPrintFontSizeModal: _propTypes.default.func.isRequired,
165
166
  persistedPrintFontSize: _propTypes.default.string,
@@ -172,6 +173,7 @@ PrintTrigger.defaultProps = {
172
173
  appContainer: null,
173
174
  asyncSampleItemsEnabled: false,
174
175
  bankQuizEntryIds: [],
176
+ isGrading: false,
175
177
  persistedPrintFontSize: 'medium',
176
178
  navigateToPreviewPrint: function navigateToPreviewPrint() {}
177
179
  };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getConfigTokenScope = getConfigTokenScope;
9
+
10
+ var _jwtSimple = _interopRequireDefault(require("jwt-simple"));
11
+
12
+ function decodeToken(token) {
13
+ try {
14
+ return _jwtSimple.default.decode(token, '', true) || {};
15
+ } catch (e) {
16
+ return {};
17
+ }
18
+ }
19
+
20
+ function getConfigTokenScope(state) {
21
+ var token = state.getIn(['config', 'userToken']);
22
+ return decodeToken(token).scope;
23
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/quiz-core",
3
- "version": "17.34.0",
3
+ "version": "17.34.1-rc.2+9bade1670",
4
4
  "license": "MIT",
5
5
  "description": "The Quiz React SDK by Instructure Inc.",
6
6
  "author": "Instructure, Inc. Engineering and Product Design",
@@ -41,11 +41,11 @@
41
41
  ],
42
42
  "dependencies": {
43
43
  "@instructure/outcomes-ui": "^2.1.2",
44
- "@instructure/quiz-common": "^17.34.0",
45
- "@instructure/quiz-i18n": "^17.34.0",
46
- "@instructure/quiz-interactions": "^17.34.0",
47
- "@instructure/quiz-number-input": "^17.34.0",
48
- "@instructure/quiz-rce": "^17.34.0",
44
+ "@instructure/quiz-common": "17.34.1-rc.2+9bade1670",
45
+ "@instructure/quiz-i18n": "17.34.1-rc.2+9bade1670",
46
+ "@instructure/quiz-interactions": "17.34.1-rc.2+9bade1670",
47
+ "@instructure/quiz-number-input": "17.34.1-rc.2+9bade1670",
48
+ "@instructure/quiz-rce": "17.34.1-rc.2+9bade1670",
49
49
  "@instructure/ui-a11y-content": "^7.20.0",
50
50
  "@instructure/ui-alerts": "^7.20.0",
51
51
  "@instructure/ui-avatar": "^7.20.0",
@@ -106,7 +106,7 @@
106
106
  "eventemitter3": "^3.1.0",
107
107
  "humps": "^2.0.0",
108
108
  "immutable": "^3.8.1",
109
- "instructure-validations": "^17.34.0",
109
+ "instructure-validations": "17.34.1-rc.2+9bade1670",
110
110
  "ipaddr.js": "^1.5.4",
111
111
  "isomorphic-fetch": "^2.2.0",
112
112
  "isuuid": "^0.1.0",
@@ -137,7 +137,7 @@
137
137
  "uuid": "^3.2.1"
138
138
  },
139
139
  "devDependencies": {
140
- "@instructure/quiz-scripts": "^17.34.0",
140
+ "@instructure/quiz-scripts": "17.34.1-rc.2+9bade1670",
141
141
  "@instructure/ui-axe-check": "^7.20.0",
142
142
  "@instructure/ui-babel-preset": "^7.20.0",
143
143
  "@instructure/ui-karma-config": "^7.20.0",
@@ -156,7 +156,7 @@
156
156
  "intl": "^1.2.4",
157
157
  "jquery": "^2.2.3",
158
158
  "most-subject": "^5.3.0",
159
- "quiz-presets": "^17.34.0",
159
+ "quiz-presets": "17.34.1-rc.2+9bade1670",
160
160
  "react": "^16.8.6",
161
161
  "react-addons-test-utils": "^15.6.2",
162
162
  "react-dom": "^16.8.6",
@@ -172,5 +172,5 @@
172
172
  "publishConfig": {
173
173
  "access": "public"
174
174
  },
175
- "gitHead": "9a66c738f1f741d00c3bf4406208ccff98823481"
175
+ "gitHead": "9bade1670be894dd6656448aed6835eb5b644b1f"
176
176
  }