@instructure/quiz-core 17.47.0 → 17.47.1-rc.1

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.
@@ -0,0 +1,36 @@
1
+ import React, { useEffect } from 'react';
2
+ import { connect } from "../../react-redux.js";
3
+ import { bool, node, func } from 'prop-types';
4
+ import { getFeatures } from "../../api/features.js";
5
+ import { QuizzesSpinner as Spinner } from "../shared/spinner/Spinner.js";
6
+ import { Card } from "../shared/Card/index.js";
7
+
8
+ var _ref = /*#__PURE__*/React.createElement(Card, {
9
+ wrapped: true
10
+ }, /*#__PURE__*/React.createElement(Spinner, null));
11
+
12
+ export var ApiFeatureFlagInitializerComponent = function ApiFeatureFlagInitializerComponent(props) {
13
+ useEffect(function () {
14
+ !props.loadedApiFeatures && props.getFeatures();
15
+ }, []);
16
+ return props.loadedApiFeatures ? props.children : _ref;
17
+ };
18
+ ApiFeatureFlagInitializerComponent.propTypes = {
19
+ children: node.isRequired,
20
+ getFeatures: func.isRequired,
21
+ loadedApiFeatures: bool
22
+ };
23
+ ApiFeatureFlagInitializerComponent.defaultProps = {
24
+ loadedApiFeatures: false
25
+ };
26
+
27
+ var mapStateToProps = function mapStateToProps(state, ownProps) {
28
+ return {
29
+ loadedApiFeatures: state.getIn(['ui', 'loadedApiFeatures']) || ownProps.loadedApiFeatures
30
+ };
31
+ };
32
+
33
+ var mapDispatchToProps = {
34
+ getFeatures: getFeatures
35
+ };
36
+ export var ApiFeatureFlagInitializer = connect(mapStateToProps, mapDispatchToProps)(ApiFeatureFlagInitializerComponent);
@@ -4,17 +4,17 @@ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
5
  import React, { useEffect, useState } from 'react';
6
6
  import PropTypes from 'prop-types';
7
- import { connect } from "../../common/react-redux.js";
8
- import store from "../../reduxStore.js";
9
- import { setRCEError } from "../actions/rce.js";
10
- import { isNewRCEEnabled, isNewRCEAppsEnabled, isRCE5RendererEnabled } from "./rceChecker.js";
11
- import { QuizzesSpinner as Spinner } from "../components/shared/spinner/Spinner.js";
12
- import { Card } from "../components/shared/Card/index.js";
7
+ import { connect } from "../../react-redux.js";
8
+ import store from "../../../reduxStore.js";
9
+ import { setRCEError } from "../../actions/rce.js";
10
+ import { isNewRCEEnabled, isNewRCEAppsEnabled, isNewRCERendererEnabled } from "../../util/rceChecker.js";
11
+ import { QuizzesSpinner as Spinner } from "../shared/spinner/Spinner.js";
12
+ import { Card } from "../shared/Card/index.js";
13
13
  import { RceConfigContext, RceConfigKeys } from '@instructure/quiz-common';
14
- import { addError } from "../actions/alerts.js";
14
+ import { addError } from "../../actions/alerts.js";
15
15
  import t from '@instructure/quiz-i18n/es/format-message';
16
16
  import { extractTextFromHtml } from '@instructure/quiz-interactions';
17
- import { isQuizTaking, isQuizBuilding } from "./windowChecks.js";
17
+ import { isQuizTaking, isQuizBuilding } from "../../util/windowChecks.js";
18
18
 
19
19
  var _ref4 = /*#__PURE__*/React.createElement(Card, {
20
20
  wrapped: true
@@ -40,6 +40,10 @@ export var RceConfigProviderComponent = function RceConfigProviderComponent(prop
40
40
  return !!(props.contextId && props.contextType && props.canvasUserId && props.rcsHost && props.rcsJwtRefreshFn && props.rcsJwt);
41
41
  };
42
42
 
43
+ var isRce5Disabled = function isRce5Disabled() {
44
+ return !props.isNewRCEEnabled && !props.isNewRCERendererEnabled;
45
+ };
46
+
43
47
  var refreshToken = /*#__PURE__*/function () {
44
48
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(setTokenFn, questionStem) {
45
49
  var _response$json;
@@ -127,7 +131,7 @@ export var RceConfigProviderComponent = function RceConfigProviderComponent(prop
127
131
  var _featureFlags, _ref2;
128
132
 
129
133
  return {
130
- featureFlags: (_featureFlags = {}, _defineProperty(_featureFlags, RceConfigKeys.isNewRCEEnabled, props.isNewRCEEnabled), _defineProperty(_featureFlags, RceConfigKeys.rce5Renderer, props.rce5Renderer), _defineProperty(_featureFlags, RceConfigKeys.isNewRCEAppsEnabled, props.isNewRCEAppsEnabled), _featureFlags),
134
+ featureFlags: (_featureFlags = {}, _defineProperty(_featureFlags, RceConfigKeys.isNewRCEEnabled, props.isNewRCEEnabled), _defineProperty(_featureFlags, RceConfigKeys.isNewRCERendererEnabled, props.isNewRCERendererEnabled), _defineProperty(_featureFlags, RceConfigKeys.isNewRCEAppsEnabled, props.isNewRCEAppsEnabled), _featureFlags),
131
135
  rcs: hasAllPropsForRcs() && canvasConfig ? (_ref2 = {}, _defineProperty(_ref2, RceConfigKeys.canvasUserId, props.canvasUserId), _defineProperty(_ref2, RceConfigKeys.contextId, props.contextId), _defineProperty(_ref2, RceConfigKeys.contextType, props.contextType), _defineProperty(_ref2, RceConfigKeys.rcsHost, props.rcsHost), _defineProperty(_ref2, RceConfigKeys.rcsJwt, jwt), _defineProperty(_ref2, RceConfigKeys.rcsJwtRefreshFn, refreshToken), _defineProperty(_ref2, RceConfigKeys.canvasConfig, canvasConfig), _ref2) : null,
132
136
  rendererEnhancement: _defineProperty({}, RceConfigKeys.canvasOrigin, props.canvasOrigin)
133
137
  };
@@ -140,7 +144,7 @@ export var RceConfigProviderComponent = function RceConfigProviderComponent(prop
140
144
  while (1) {
141
145
  switch (_context2.prev = _context2.next) {
142
146
  case 0:
143
- if (!(!props.isNewRCEEnabled && !props.rce5Renderer)) {
147
+ if (!isRce5Disabled()) {
144
148
  _context2.next = 2;
145
149
  break;
146
150
  }
@@ -201,26 +205,24 @@ export var RceConfigProviderComponent = function RceConfigProviderComponent(prop
201
205
  }
202
206
  }, _callee2, null, [[2, 21, 25, 28]]);
203
207
  }))();
204
- }, [props.isNewRCEEnabled, props.rce5Renderer]);
205
-
206
- if (props.loadedApiFeatures) {
207
- if (props.isNewRCEEnabled || props.rce5Renderer) {
208
- if (!canvasConfigLoading) {
209
- return /*#__PURE__*/React.createElement(RceConfigContext.Provider, {
210
- value: getConfig()
211
- }, props.children);
212
- }
213
- } else {
214
- return /*#__PURE__*/React.createElement(React.Fragment, null, props.children);
215
- }
208
+ }, [props.isNewRCEEnabled, props.isNewRCERendererEnabled]);
209
+
210
+ if (isRce5Disabled()) {
211
+ return /*#__PURE__*/React.createElement(React.Fragment, null, props.children);
216
212
  }
217
213
 
218
- return _ref4;
214
+ if (!canvasConfigLoading) {
215
+ return /*#__PURE__*/React.createElement(RceConfigContext.Provider, {
216
+ value: getConfig()
217
+ }, props.children);
218
+ } else {
219
+ return _ref4;
220
+ }
219
221
  };
220
222
  RceConfigProviderComponent.propTypes = {
221
223
  children: PropTypes.node.isRequired,
222
224
  isNewRCEEnabled: PropTypes.bool.isRequired,
223
- rce5Renderer: PropTypes.bool.isRequired,
225
+ isNewRCERendererEnabled: PropTypes.bool.isRequired,
224
226
  isNewRCEAppsEnabled: PropTypes.bool,
225
227
  setEventToQuizLog: PropTypes.func.isRequired,
226
228
  contextId: PropTypes.string,
@@ -229,8 +231,7 @@ RceConfigProviderComponent.propTypes = {
229
231
  rcsHost: PropTypes.string,
230
232
  rcsJwt: PropTypes.string,
231
233
  rcsJwtRefreshFn: PropTypes.func,
232
- canvasOrigin: PropTypes.string,
233
- loadedApiFeatures: PropTypes.bool
234
+ canvasOrigin: PropTypes.string
234
235
  };
235
236
  RceConfigProviderComponent.defaultProps = {
236
237
  contextId: null,
@@ -240,16 +241,16 @@ RceConfigProviderComponent.defaultProps = {
240
241
  rcsJwt: null,
241
242
  rcsJwtRefreshFn: null,
242
243
  canvasOrigin: null,
243
- loadedApiFeatures: false,
244
+ isNewRCEEnabled: false,
245
+ isNewRCERendererEnabled: false,
244
246
  isNewRCEAppsEnabled: false
245
247
  };
246
248
 
247
- var mapStateToProps = function mapStateToProps(state, ownProps) {
249
+ var mapStateToProps = function mapStateToProps() {
248
250
  return {
249
251
  isNewRCEEnabled: isNewRCEEnabled(),
250
- rce5Renderer: isRCE5RendererEnabled(),
251
- isNewRCEAppsEnabled: isNewRCEAppsEnabled(),
252
- loadedApiFeatures: state.getIn(['ui', 'loadedApiFeatures']) || ownProps.loadedApiFeatures
252
+ isNewRCERendererEnabled: isNewRCERendererEnabled(),
253
+ isNewRCEAppsEnabled: isNewRCEAppsEnabled()
253
254
  };
254
255
  };
255
256
 
@@ -17,7 +17,6 @@ import { ApplyLocale } from '@instructure/ui-i18n';
17
17
  import { Provider } from "../../react-redux.js";
18
18
  import store from "../../../reduxStore.js";
19
19
  import { getLocale } from '@instructure/quiz-common';
20
- import { getFeatures } from "../../api/features.js";
21
20
  import { set } from "../../actions/ui.js";
22
21
  import { setAPIEndpoint, setCanvasOrigin, setUserToken } from "../../actions/config.js";
23
22
  import { setContextUuid, setOutcomesEndpoint, setOutcomesToken } from "../../actions/outcomes.js";
@@ -34,7 +33,8 @@ import theme from "./theme.js";
34
33
  import CustomPropTypes from "../../../common/util/CustomPropTypes.js";
35
34
  import ConfirmationModal from "../ConfirmationModal/index.js";
36
35
  import setupFormatMessage from '@instructure/quiz-i18n/es/util/setupFormatMessage';
37
- import { RceConfigProvider } from "../../util/RceConfigProvider.js";
36
+ import { RceConfigProvider } from "../RceConfigProvider/RceConfigProvider.js";
37
+ import { ApiFeatureFlagInitializer } from "../ApiFeatureFlagInitializer/index.js";
38
38
 
39
39
  var _ref = /*#__PURE__*/React.createElement(ConfirmationModal, null);
40
40
 
@@ -81,7 +81,6 @@ export var SDKApp = (_dec = themeable(theme, styles), _dec(_class = (_temp = _cl
81
81
  var _this$props$rceConfig;
82
82
 
83
83
  this.store.dispatch([setAPIEndpoint(this.props.apiEndpoint), setCanvasOrigin((_this$props$rceConfig = this.props.rceConfig) === null || _this$props$rceConfig === void 0 ? void 0 : _this$props$rceConfig.canvasOrigin), this.setAppContainer(this.props.appContainer), setUserToken(this.props.userToken), setOutcomesEndpoint(this.props.outcomesEndpoint), setOutcomesToken(this.props.outcomesToken), setContextUuid(this.props.contextUuid)]);
84
- this.store.dispatch(getFeatures());
85
84
 
86
85
  if (this.props.itemBankSharingEnabled) {
87
86
  this.store.dispatch(addFeatures('item_bank_sharing'));
@@ -140,13 +139,13 @@ export var SDKApp = (_dec = themeable(theme, styles), _dec(_class = (_temp = _cl
140
139
  context = this.context;
141
140
  return /*#__PURE__*/React.createElement(Provider, {
142
141
  store: store
143
- }, /*#__PURE__*/React.createElement(RceConfigProvider, this.props.rceConfig, /*#__PURE__*/React.createElement(ApplyLocale, {
142
+ }, /*#__PURE__*/React.createElement(ApiFeatureFlagInitializer, null, /*#__PURE__*/React.createElement(RceConfigProvider, this.props.rceConfig, /*#__PURE__*/React.createElement(ApplyLocale, {
144
143
  locale: getLocale(props, context),
145
144
  timezone: props.timeZone
146
145
  }, /*#__PURE__*/React.createElement("div", {
147
146
  className: styles.sdk,
148
147
  "data-automation": "sdk-app"
149
- }, _ref, props.children))));
148
+ }, _ref, props.children)))));
150
149
  }
151
150
  }]);
152
151
 
@@ -1,14 +1,14 @@
1
1
  import { featureOn } from "./featureCheck.js";
2
2
  var newRCEFeatureName = 'use_new_rce';
3
3
  var newRCEAppsFeatureName = 'rce5_apps';
4
- var rce5RendererFeatureName = 'rce5_renderer';
4
+ var newRCERendererFeatureName = 'rce5_renderer';
5
5
  export function isNewRCEEnabled() {
6
6
  return featureOn(newRCEFeatureName);
7
7
  }
8
8
  export function isNewRCEAppsEnabled() {
9
9
  return featureOn(newRCEAppsFeatureName);
10
10
  }
11
- export function isRCE5RendererEnabled() {
12
- return featureOn(rce5RendererFeatureName);
11
+ export function isNewRCERendererEnabled() {
12
+ return featureOn(newRCERendererFeatureName);
13
13
  }
14
14
  export default isNewRCEEnabled;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ApiFeatureFlagInitializer = exports.ApiFeatureFlagInitializerComponent = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _reactRedux = require("../../react-redux.js");
13
+
14
+ var _propTypes = require("prop-types");
15
+
16
+ var _features = require("../../api/features.js");
17
+
18
+ var _Spinner = require("../shared/spinner/Spinner.js");
19
+
20
+ var _index = require("../shared/Card/index.js");
21
+
22
+ var _ref = /*#__PURE__*/_react.default.createElement(_index.Card, {
23
+ wrapped: true
24
+ }, /*#__PURE__*/_react.default.createElement(_Spinner.QuizzesSpinner, null));
25
+
26
+ var ApiFeatureFlagInitializerComponent = function ApiFeatureFlagInitializerComponent(props) {
27
+ (0, _react.useEffect)(function () {
28
+ !props.loadedApiFeatures && props.getFeatures();
29
+ }, []);
30
+ return props.loadedApiFeatures ? props.children : _ref;
31
+ };
32
+
33
+ exports.ApiFeatureFlagInitializerComponent = ApiFeatureFlagInitializerComponent;
34
+ ApiFeatureFlagInitializerComponent.propTypes = {
35
+ children: _propTypes.node.isRequired,
36
+ getFeatures: _propTypes.func.isRequired,
37
+ loadedApiFeatures: _propTypes.bool
38
+ };
39
+ ApiFeatureFlagInitializerComponent.defaultProps = {
40
+ loadedApiFeatures: false
41
+ };
42
+
43
+ var mapStateToProps = function mapStateToProps(state, ownProps) {
44
+ return {
45
+ loadedApiFeatures: state.getIn(['ui', 'loadedApiFeatures']) || ownProps.loadedApiFeatures
46
+ };
47
+ };
48
+
49
+ var mapDispatchToProps = {
50
+ getFeatures: _features.getFeatures
51
+ };
52
+ var ApiFeatureFlagInitializer = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ApiFeatureFlagInitializerComponent);
53
+ exports.ApiFeatureFlagInitializer = ApiFeatureFlagInitializer;
@@ -21,27 +21,27 @@ var _react = _interopRequireWildcard(require("react"));
21
21
 
22
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
- var _reactRedux = require("../../common/react-redux.js");
24
+ var _reactRedux = require("../../react-redux.js");
25
25
 
26
- var _reduxStore = _interopRequireDefault(require("../../reduxStore.js"));
26
+ var _reduxStore = _interopRequireDefault(require("../../../reduxStore.js"));
27
27
 
28
- var _rce = require("../actions/rce.js");
28
+ var _rce = require("../../actions/rce.js");
29
29
 
30
- var _rceChecker = require("./rceChecker.js");
30
+ var _rceChecker = require("../../util/rceChecker.js");
31
31
 
32
- var _Spinner = require("../components/shared/spinner/Spinner.js");
32
+ var _Spinner = require("../shared/spinner/Spinner.js");
33
33
 
34
- var _index = require("../components/shared/Card/index.js");
34
+ var _index = require("../shared/Card/index.js");
35
35
 
36
36
  var _quizCommon = require("@instructure/quiz-common");
37
37
 
38
- var _alerts = require("../actions/alerts.js");
38
+ var _alerts = require("../../actions/alerts.js");
39
39
 
40
40
  var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
41
41
 
42
42
  var _quizInteractions = require("@instructure/quiz-interactions");
43
43
 
44
- var _windowChecks = require("./windowChecks.js");
44
+ var _windowChecks = require("../../util/windowChecks.js");
45
45
 
46
46
  var _ref4 = /*#__PURE__*/_react.default.createElement(_index.Card, {
47
47
  wrapped: true
@@ -67,6 +67,10 @@ var RceConfigProviderComponent = function RceConfigProviderComponent(props) {
67
67
  return !!(props.contextId && props.contextType && props.canvasUserId && props.rcsHost && props.rcsJwtRefreshFn && props.rcsJwt);
68
68
  };
69
69
 
70
+ var isRce5Disabled = function isRce5Disabled() {
71
+ return !props.isNewRCEEnabled && !props.isNewRCERendererEnabled;
72
+ };
73
+
70
74
  var refreshToken = /*#__PURE__*/function () {
71
75
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(setTokenFn, questionStem) {
72
76
  var _response$json;
@@ -154,7 +158,7 @@ var RceConfigProviderComponent = function RceConfigProviderComponent(props) {
154
158
  var _featureFlags, _ref2;
155
159
 
156
160
  return {
157
- featureFlags: (_featureFlags = {}, (0, _defineProperty2.default)(_featureFlags, _quizCommon.RceConfigKeys.isNewRCEEnabled, props.isNewRCEEnabled), (0, _defineProperty2.default)(_featureFlags, _quizCommon.RceConfigKeys.rce5Renderer, props.rce5Renderer), (0, _defineProperty2.default)(_featureFlags, _quizCommon.RceConfigKeys.isNewRCEAppsEnabled, props.isNewRCEAppsEnabled), _featureFlags),
161
+ featureFlags: (_featureFlags = {}, (0, _defineProperty2.default)(_featureFlags, _quizCommon.RceConfigKeys.isNewRCEEnabled, props.isNewRCEEnabled), (0, _defineProperty2.default)(_featureFlags, _quizCommon.RceConfigKeys.isNewRCERendererEnabled, props.isNewRCERendererEnabled), (0, _defineProperty2.default)(_featureFlags, _quizCommon.RceConfigKeys.isNewRCEAppsEnabled, props.isNewRCEAppsEnabled), _featureFlags),
158
162
  rcs: hasAllPropsForRcs() && canvasConfig ? (_ref2 = {}, (0, _defineProperty2.default)(_ref2, _quizCommon.RceConfigKeys.canvasUserId, props.canvasUserId), (0, _defineProperty2.default)(_ref2, _quizCommon.RceConfigKeys.contextId, props.contextId), (0, _defineProperty2.default)(_ref2, _quizCommon.RceConfigKeys.contextType, props.contextType), (0, _defineProperty2.default)(_ref2, _quizCommon.RceConfigKeys.rcsHost, props.rcsHost), (0, _defineProperty2.default)(_ref2, _quizCommon.RceConfigKeys.rcsJwt, jwt), (0, _defineProperty2.default)(_ref2, _quizCommon.RceConfigKeys.rcsJwtRefreshFn, refreshToken), (0, _defineProperty2.default)(_ref2, _quizCommon.RceConfigKeys.canvasConfig, canvasConfig), _ref2) : null,
159
163
  rendererEnhancement: (0, _defineProperty2.default)({}, _quizCommon.RceConfigKeys.canvasOrigin, props.canvasOrigin)
160
164
  };
@@ -167,7 +171,7 @@ var RceConfigProviderComponent = function RceConfigProviderComponent(props) {
167
171
  while (1) {
168
172
  switch (_context2.prev = _context2.next) {
169
173
  case 0:
170
- if (!(!props.isNewRCEEnabled && !props.rce5Renderer)) {
174
+ if (!isRce5Disabled()) {
171
175
  _context2.next = 2;
172
176
  break;
173
177
  }
@@ -228,28 +232,26 @@ var RceConfigProviderComponent = function RceConfigProviderComponent(props) {
228
232
  }
229
233
  }, _callee2, null, [[2, 21, 25, 28]]);
230
234
  }))();
231
- }, [props.isNewRCEEnabled, props.rce5Renderer]);
232
-
233
- if (props.loadedApiFeatures) {
234
- if (props.isNewRCEEnabled || props.rce5Renderer) {
235
- if (!canvasConfigLoading) {
236
- return /*#__PURE__*/_react.default.createElement(_quizCommon.RceConfigContext.Provider, {
237
- value: getConfig()
238
- }, props.children);
239
- }
240
- } else {
241
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, props.children);
242
- }
235
+ }, [props.isNewRCEEnabled, props.isNewRCERendererEnabled]);
236
+
237
+ if (isRce5Disabled()) {
238
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, props.children);
243
239
  }
244
240
 
245
- return _ref4;
241
+ if (!canvasConfigLoading) {
242
+ return /*#__PURE__*/_react.default.createElement(_quizCommon.RceConfigContext.Provider, {
243
+ value: getConfig()
244
+ }, props.children);
245
+ } else {
246
+ return _ref4;
247
+ }
246
248
  };
247
249
 
248
250
  exports.RceConfigProviderComponent = RceConfigProviderComponent;
249
251
  RceConfigProviderComponent.propTypes = {
250
252
  children: _propTypes.default.node.isRequired,
251
253
  isNewRCEEnabled: _propTypes.default.bool.isRequired,
252
- rce5Renderer: _propTypes.default.bool.isRequired,
254
+ isNewRCERendererEnabled: _propTypes.default.bool.isRequired,
253
255
  isNewRCEAppsEnabled: _propTypes.default.bool,
254
256
  setEventToQuizLog: _propTypes.default.func.isRequired,
255
257
  contextId: _propTypes.default.string,
@@ -258,8 +260,7 @@ RceConfigProviderComponent.propTypes = {
258
260
  rcsHost: _propTypes.default.string,
259
261
  rcsJwt: _propTypes.default.string,
260
262
  rcsJwtRefreshFn: _propTypes.default.func,
261
- canvasOrigin: _propTypes.default.string,
262
- loadedApiFeatures: _propTypes.default.bool
263
+ canvasOrigin: _propTypes.default.string
263
264
  };
264
265
  RceConfigProviderComponent.defaultProps = {
265
266
  contextId: null,
@@ -269,16 +270,16 @@ RceConfigProviderComponent.defaultProps = {
269
270
  rcsJwt: null,
270
271
  rcsJwtRefreshFn: null,
271
272
  canvasOrigin: null,
272
- loadedApiFeatures: false,
273
+ isNewRCEEnabled: false,
274
+ isNewRCERendererEnabled: false,
273
275
  isNewRCEAppsEnabled: false
274
276
  };
275
277
 
276
- var mapStateToProps = function mapStateToProps(state, ownProps) {
278
+ var mapStateToProps = function mapStateToProps() {
277
279
  return {
278
280
  isNewRCEEnabled: (0, _rceChecker.isNewRCEEnabled)(),
279
- rce5Renderer: (0, _rceChecker.isRCE5RendererEnabled)(),
280
- isNewRCEAppsEnabled: (0, _rceChecker.isNewRCEAppsEnabled)(),
281
- loadedApiFeatures: state.getIn(['ui', 'loadedApiFeatures']) || ownProps.loadedApiFeatures
281
+ isNewRCERendererEnabled: (0, _rceChecker.isNewRCERendererEnabled)(),
282
+ isNewRCEAppsEnabled: (0, _rceChecker.isNewRCEAppsEnabled)()
282
283
  };
283
284
  };
284
285
 
@@ -35,15 +35,13 @@ var _reduxStore = _interopRequireDefault(require("../../../reduxStore.js"));
35
35
 
36
36
  var _quizCommon = require("@instructure/quiz-common");
37
37
 
38
- var _features = require("../../api/features.js");
39
-
40
38
  var _ui = require("../../actions/ui.js");
41
39
 
42
40
  var _config = require("../../actions/config.js");
43
41
 
44
42
  var _outcomes = require("../../actions/outcomes.js");
45
43
 
46
- var _features2 = require("../../actions/features.js");
44
+ var _features = require("../../actions/features.js");
47
45
 
48
46
  var _renderAlerts = _interopRequireDefault(require("../../util/renderAlerts.js"));
49
47
 
@@ -55,7 +53,9 @@ var _index = _interopRequireDefault(require("../ConfirmationModal/index.js"));
55
53
 
56
54
  var _setupFormatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/util/setupFormatMessage"));
57
55
 
58
- var _RceConfigProvider = require("../../util/RceConfigProvider.js");
56
+ var _RceConfigProvider = require("../RceConfigProvider/RceConfigProvider.js");
57
+
58
+ var _index2 = require("../ApiFeatureFlagInitializer/index.js");
59
59
 
60
60
  var _dec, _class, _class2, _temp;
61
61
 
@@ -111,10 +111,9 @@ var SDKApp = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_
111
111
  var _this$props$rceConfig;
112
112
 
113
113
  this.store.dispatch([(0, _config.setAPIEndpoint)(this.props.apiEndpoint), (0, _config.setCanvasOrigin)((_this$props$rceConfig = this.props.rceConfig) === null || _this$props$rceConfig === void 0 ? void 0 : _this$props$rceConfig.canvasOrigin), this.setAppContainer(this.props.appContainer), (0, _config.setUserToken)(this.props.userToken), (0, _outcomes.setOutcomesEndpoint)(this.props.outcomesEndpoint), (0, _outcomes.setOutcomesToken)(this.props.outcomesToken), (0, _outcomes.setContextUuid)(this.props.contextUuid)]);
114
- this.store.dispatch((0, _features.getFeatures)());
115
114
 
116
115
  if (this.props.itemBankSharingEnabled) {
117
- this.store.dispatch((0, _features2.addFeatures)('item_bank_sharing'));
116
+ this.store.dispatch((0, _features.addFeatures)('item_bank_sharing'));
118
117
  }
119
118
  }
120
119
  }, {
@@ -158,7 +157,7 @@ var SDKApp = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_
158
157
  }
159
158
 
160
159
  if (newProps.itemBankSharingEnabled !== this.props.itemBankSharingEnabled) {
161
- var toggleFeature = newProps.itemBankSharingEnabled ? _features2.addFeatures : _features2.removeFeatures;
160
+ var toggleFeature = newProps.itemBankSharingEnabled ? _features.addFeatures : _features.removeFeatures;
162
161
  this.store.dispatch(toggleFeature('item_bank_sharing'));
163
162
  }
164
163
  }
@@ -170,13 +169,13 @@ var SDKApp = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_
170
169
  context = this.context;
171
170
  return /*#__PURE__*/_react.default.createElement(_reactRedux.Provider, {
172
171
  store: store
173
- }, /*#__PURE__*/_react.default.createElement(_RceConfigProvider.RceConfigProvider, this.props.rceConfig, /*#__PURE__*/_react.default.createElement(_uiI18n.ApplyLocale, {
172
+ }, /*#__PURE__*/_react.default.createElement(_index2.ApiFeatureFlagInitializer, null, /*#__PURE__*/_react.default.createElement(_RceConfigProvider.RceConfigProvider, this.props.rceConfig, /*#__PURE__*/_react.default.createElement(_uiI18n.ApplyLocale, {
174
173
  locale: (0, _quizCommon.getLocale)(props, context),
175
174
  timezone: props.timeZone
176
175
  }, /*#__PURE__*/_react.default.createElement("div", {
177
176
  className: styles.sdk,
178
177
  "data-automation": "sdk-app"
179
- }, _ref, props.children))));
178
+ }, _ref, props.children)))));
180
179
  }
181
180
  }]);
182
181
  SDKApp.displayName = "SDKApp";
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.isNewRCEEnabled = isNewRCEEnabled;
7
7
  exports.isNewRCEAppsEnabled = isNewRCEAppsEnabled;
8
- exports.isRCE5RendererEnabled = isRCE5RendererEnabled;
8
+ exports.isNewRCERendererEnabled = isNewRCERendererEnabled;
9
9
  exports.default = void 0;
10
10
 
11
11
  var _featureCheck = require("./featureCheck.js");
12
12
 
13
13
  var newRCEFeatureName = 'use_new_rce';
14
14
  var newRCEAppsFeatureName = 'rce5_apps';
15
- var rce5RendererFeatureName = 'rce5_renderer';
15
+ var newRCERendererFeatureName = 'rce5_renderer';
16
16
 
17
17
  function isNewRCEEnabled() {
18
18
  return (0, _featureCheck.featureOn)(newRCEFeatureName);
@@ -22,8 +22,8 @@ function isNewRCEAppsEnabled() {
22
22
  return (0, _featureCheck.featureOn)(newRCEAppsFeatureName);
23
23
  }
24
24
 
25
- function isRCE5RendererEnabled() {
26
- return (0, _featureCheck.featureOn)(rce5RendererFeatureName);
25
+ function isNewRCERendererEnabled() {
26
+ return (0, _featureCheck.featureOn)(newRCERendererFeatureName);
27
27
  }
28
28
 
29
29
  var _default = isNewRCEEnabled;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/quiz-core",
3
- "version": "17.47.0",
3
+ "version": "17.47.1-rc.1+db2fa1c0c",
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.47.0",
45
- "@instructure/quiz-i18n": "^17.47.0",
46
- "@instructure/quiz-interactions": "^17.47.0",
47
- "@instructure/quiz-number-input": "^17.47.0",
48
- "@instructure/quiz-rce": "^17.47.0",
44
+ "@instructure/quiz-common": "17.47.1-rc.1+db2fa1c0c",
45
+ "@instructure/quiz-i18n": "17.47.1-rc.1+db2fa1c0c",
46
+ "@instructure/quiz-interactions": "17.47.1-rc.1+db2fa1c0c",
47
+ "@instructure/quiz-number-input": "17.47.1-rc.1+db2fa1c0c",
48
+ "@instructure/quiz-rce": "17.47.1-rc.1+db2fa1c0c",
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.47.0",
109
+ "instructure-validations": "17.47.1-rc.1+db2fa1c0c",
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.47.0",
140
+ "@instructure/quiz-scripts": "17.47.0",
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.47.0",
159
+ "quiz-presets": "17.47.1-rc.1+db2fa1c0c",
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": "96a94a12f1622e403f065768079884445709a334"
175
+ "gitHead": "db2fa1c0c286aba20e61c2bb43432eac11a29f29"
176
176
  }