@instructure/quiz-core 17.58.2-rc.0 → 17.58.2-rc.10
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/es/banks/api/banks.js +35 -1
- package/es/banks/components/Bank/index.js +16 -7
- package/es/banks/components/Bank/presenter.js +198 -18
- package/es/building/components/layout/header/BuildingButtons/index.js +2 -0
- package/es/building/components/layout/header/BuildingButtons/presenter.js +8 -0
- package/es/building/components/resources/BanksTray/presenter.js +2 -1
- package/es/common/actions/sharedBanks.js +2 -2
- package/es/index.js +1 -0
- package/es/moderating/components/events/Event.js +1 -1
- package/es/moderating/components/resources/AccommodationsModal/index.js +1 -1
- package/es/moderating/components/resources/ModerateTable/presenter.js +2 -2
- package/es/moderating/components/resources/ModerateTableRow/index.js +1 -1
- package/es/reporting/components/charts/QuintileDistribution/presenter.js +15 -2
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/index.js +2 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/presenter.js +64 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/theme.js +3 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/index.js +2 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/presenter.js +75 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/theme.js +6 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +2 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/popoverContent.js +18 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +262 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/theme.js +12 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +59 -58
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/index.js +68 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/index.js +2 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/presenter.js +84 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/theme.js +12 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +13 -18
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/utils.js +1 -1
- package/es/reporting/components/resources/ReportCard/index.js +1 -1
- package/lib/banks/api/banks.js +40 -2
- package/lib/banks/components/Bank/index.js +15 -2
- package/lib/banks/components/Bank/presenter.js +203 -17
- package/lib/building/components/layout/header/BuildingButtons/index.js +3 -0
- package/lib/building/components/layout/header/BuildingButtons/presenter.js +8 -0
- package/lib/building/components/resources/BanksTray/presenter.js +2 -1
- package/lib/common/actions/sharedBanks.js +2 -2
- package/lib/index.js +107 -98
- package/lib/moderating/components/events/Event.js +1 -1
- package/lib/moderating/components/resources/AccommodationsModal/index.js +1 -1
- package/lib/moderating/components/resources/ModerateTable/presenter.js +2 -2
- package/lib/moderating/components/resources/ModerateTableRow/index.js +1 -1
- package/lib/reporting/components/charts/QuintileDistribution/presenter.js +15 -2
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/index.js +11 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/presenter.js +83 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/theme.js +10 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/index.js +11 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/presenter.js +95 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/theme.js +13 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +11 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/popoverContent.js +27 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +291 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/theme.js +19 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +64 -63
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/index.js +91 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/index.js +11 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/presenter.js +106 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/theme.js +19 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +15 -20
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/utils.js +1 -1
- package/lib/reporting/components/resources/ReportCard/index.js +1 -1
- package/package.json +9 -9
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = exports.Bank = void 0;
|
|
11
11
|
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
15
|
+
|
|
16
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
+
|
|
12
18
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
19
|
|
|
14
20
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -27,6 +33,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
27
33
|
|
|
28
34
|
var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
|
|
29
35
|
|
|
36
|
+
var _partial = _interopRequireDefault(require("lodash/partial"));
|
|
37
|
+
|
|
30
38
|
var _uiIcons = require("@instructure/ui-icons");
|
|
31
39
|
|
|
32
40
|
var _uiBreadcrumb = require("@instructure/ui-breadcrumb");
|
|
@@ -39,6 +47,10 @@ var _uiA11yContent = require("@instructure/ui-a11y-content");
|
|
|
39
47
|
|
|
40
48
|
var _uiThemeable = require("@instructure/ui-themeable");
|
|
41
49
|
|
|
50
|
+
var _uiCheckbox = require("@instructure/ui-checkbox");
|
|
51
|
+
|
|
52
|
+
var _uiView = require("@instructure/ui-view");
|
|
53
|
+
|
|
42
54
|
var _Bank = _interopRequireDefault(require("../../../common/records/Bank.js"));
|
|
43
55
|
|
|
44
56
|
var _index = _interopRequireDefault(require("../../../common/components/layout/Page/index.js"));
|
|
@@ -94,6 +106,10 @@ var Bank = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_cl
|
|
|
94
106
|
}
|
|
95
107
|
|
|
96
108
|
_this = _super.call.apply(_super, [this].concat(_args));
|
|
109
|
+
_this.state = {
|
|
110
|
+
sharedWithCourse: false,
|
|
111
|
+
shareWithCourseCheckboxDisabled: true
|
|
112
|
+
};
|
|
97
113
|
|
|
98
114
|
_this.openAddBankEntryModal = function () {
|
|
99
115
|
_this.props.openModal(_quizCommon.ADD_BANK_ENTRY_MODAL, {
|
|
@@ -113,6 +129,74 @@ var Bank = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_cl
|
|
|
113
129
|
_this.createBankEntryButton = c;
|
|
114
130
|
};
|
|
115
131
|
|
|
132
|
+
_this.toggleCheckbox = function () {
|
|
133
|
+
// disable until request resolves
|
|
134
|
+
_this.setState({
|
|
135
|
+
shareWithCourseCheckboxDisabled: true
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
_this.changeSharedPermissions();
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
_this.unshareBankWithCourse = /*#__PURE__*/function () {
|
|
142
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(sharedBank) {
|
|
143
|
+
var _this$props, updateSharedBankPermission, bankId, getSharedBank, scope;
|
|
144
|
+
|
|
145
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
146
|
+
while (1) {
|
|
147
|
+
switch (_context.prev = _context.next) {
|
|
148
|
+
case 0:
|
|
149
|
+
_this$props = _this.props, updateSharedBankPermission = _this$props.updateSharedBankPermission, bankId = _this$props.bankId, getSharedBank = _this$props.getSharedBank, scope = _this$props.scope;
|
|
150
|
+
_context.next = 3;
|
|
151
|
+
return updateSharedBankPermission(bankId, sharedBank.get('id'), _quizCommon.REMOVED_ACCESS);
|
|
152
|
+
|
|
153
|
+
case 3:
|
|
154
|
+
getSharedBank(bankId, scope.type, scope.uuid).catch(function (err) {
|
|
155
|
+
// make sure the user still has access to the bank
|
|
156
|
+
if (err.response.status === 401) {
|
|
157
|
+
_this.props.navigateToBanks();
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
case 4:
|
|
162
|
+
case "end":
|
|
163
|
+
return _context.stop();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}, _callee);
|
|
167
|
+
}));
|
|
168
|
+
|
|
169
|
+
return function (_x) {
|
|
170
|
+
return _ref.apply(this, arguments);
|
|
171
|
+
};
|
|
172
|
+
}();
|
|
173
|
+
|
|
174
|
+
_this.translatedPermissionLevel = function (permission) {
|
|
175
|
+
var _CAN_EDIT$READ_ONLY$p;
|
|
176
|
+
|
|
177
|
+
return (_CAN_EDIT$READ_ONLY$p = {}, (0, _defineProperty2.default)(_CAN_EDIT$READ_ONLY$p, _quizCommon.CAN_EDIT, (0, _formatMessage.default)('edit')), (0, _defineProperty2.default)(_CAN_EDIT$READ_ONLY$p, _quizCommon.READ_ONLY, (0, _formatMessage.default)('view')), _CAN_EDIT$READ_ONLY$p)[permission];
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
_this.confirmUnshareBankWithCourse = function () {
|
|
181
|
+
var confirmText = (0, _formatMessage.default)('You are about to remove { accessLevel } access for { entityTitle } to this bank.', {
|
|
182
|
+
accessLevel: _this.translatedPermissionLevel(_this.props.courseSharedBank.get('permission')),
|
|
183
|
+
entityTitle: _this.props.scope.title
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
_this.props.withConfirm((0, _partial.default)(_this.unshareBankWithCourse, _this.props.courseSharedBank), {
|
|
187
|
+
title: (0, _formatMessage.default)('Unshare Bank with Course'),
|
|
188
|
+
text: confirmText,
|
|
189
|
+
continueText: (0, _formatMessage.default)('Confirm'),
|
|
190
|
+
onCancel: _this.onCancelUnshareBankWithCourse
|
|
191
|
+
});
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
_this.onCancelUnshareBankWithCourse = function () {
|
|
195
|
+
_this.setState({
|
|
196
|
+
shareWithCourseCheckboxDisabled: false
|
|
197
|
+
});
|
|
198
|
+
};
|
|
199
|
+
|
|
116
200
|
_this.addBankToQuiz = function () {
|
|
117
201
|
var newEntry = _QuizEntry.default.create({
|
|
118
202
|
entryId: _this.props.bankId,
|
|
@@ -138,8 +222,8 @@ var Bank = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_cl
|
|
|
138
222
|
}, _this.renderNewBankEntryButton());
|
|
139
223
|
};
|
|
140
224
|
|
|
141
|
-
_this.announceResults = function (
|
|
142
|
-
var totalPages =
|
|
225
|
+
_this.announceResults = function (_ref2) {
|
|
226
|
+
var totalPages = _ref2.totalPages;
|
|
143
227
|
var message = (0, _formatMessage.default)("{\n count, plural,\n =0 {No search results found}\n one {Displaying one page of results}\n other {Displaying # pages of results}\n }", {
|
|
144
228
|
count: totalPages
|
|
145
229
|
}); // Audibly announce when search results are ready.
|
|
@@ -153,10 +237,10 @@ var Bank = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_cl
|
|
|
153
237
|
_this.debouncedAnnounceResults = (0, _debounce.default)(_this.announceResults, 1000);
|
|
154
238
|
|
|
155
239
|
_this.getPage = function (page, search) {
|
|
156
|
-
var _this$
|
|
157
|
-
getBankEntries = _this$
|
|
158
|
-
bankId = _this$
|
|
159
|
-
useBankSearch = _this$
|
|
240
|
+
var _this$props2 = _this.props,
|
|
241
|
+
getBankEntries = _this$props2.getBankEntries,
|
|
242
|
+
bankId = _this$props2.bankId,
|
|
243
|
+
useBankSearch = _this$props2.useBankSearch;
|
|
160
244
|
var text = search.get('text');
|
|
161
245
|
var interactionTypes = search.get('interactionTypes', immutable.Set()).toJS();
|
|
162
246
|
var tagIds = search.get('tags', []).map(function (tag) {
|
|
@@ -211,19 +295,68 @@ var Bank = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_cl
|
|
|
211
295
|
|
|
212
296
|
if (this.props.onError) {
|
|
213
297
|
this.props.getBank(this.props.bankId).catch(this.props.onError);
|
|
298
|
+
|
|
299
|
+
if (this.shouldRenderShareWithCourseCheckbox()) {
|
|
300
|
+
this.props.getSharedBank(this.props.bankId, this.props.scope.type, this.props.scope.uuid).catch(this.props.onError);
|
|
301
|
+
}
|
|
214
302
|
} else {
|
|
215
303
|
this.props.getBank(this.props.bankId);
|
|
304
|
+
|
|
305
|
+
if (this.shouldRenderShareWithCourseCheckbox()) {
|
|
306
|
+
this.props.getSharedBank(this.props.bankId, this.props.scope.type, this.props.scope.uuid);
|
|
307
|
+
}
|
|
308
|
+
} // when courseSharedBank is already loaded
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
if (this.props.courseSharedBank) {
|
|
312
|
+
this.setShareWithCourseCheckbox();
|
|
216
313
|
}
|
|
217
314
|
}
|
|
315
|
+
}, {
|
|
316
|
+
key: "componentDidUpdate",
|
|
317
|
+
value: function componentDidUpdate(prevProps) {
|
|
318
|
+
var _prevProps$courseShar, _this$props$courseSha;
|
|
319
|
+
|
|
320
|
+
var permissionChanged = ((_prevProps$courseShar = prevProps.courseSharedBank) === null || _prevProps$courseShar === void 0 ? void 0 : _prevProps$courseShar.get('permission')) !== ((_this$props$courseSha = this.props.courseSharedBank) === null || _this$props$courseSha === void 0 ? void 0 : _this$props$courseSha.get('permission'));
|
|
321
|
+
|
|
322
|
+
if (this.props.courseSharedBank && permissionChanged) {
|
|
323
|
+
this.setShareWithCourseCheckbox();
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}, {
|
|
327
|
+
key: "setShareWithCourseCheckbox",
|
|
328
|
+
value: function setShareWithCourseCheckbox() {
|
|
329
|
+
if (this.props.courseSharedBank.get('permission') === _quizCommon.REMOVED_ACCESS) {
|
|
330
|
+
this.setState({
|
|
331
|
+
sharedWithCourse: false,
|
|
332
|
+
shareWithCourseCheckboxDisabled: false
|
|
333
|
+
});
|
|
334
|
+
} else {
|
|
335
|
+
this.setState({
|
|
336
|
+
sharedWithCourse: true,
|
|
337
|
+
shareWithCourseCheckboxDisabled: false
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}, {
|
|
342
|
+
key: "componentWillUnmount",
|
|
343
|
+
value: function componentWillUnmount() {
|
|
344
|
+
this.props.removeSharedBank(this.placeholderCourseSharedBankKey());
|
|
345
|
+
}
|
|
346
|
+
}, {
|
|
347
|
+
key: "placeholderCourseSharedBankKey",
|
|
348
|
+
value: function placeholderCourseSharedBankKey() {
|
|
349
|
+
return "notshared_".concat(this.props.bankId, "_").concat(this.props.scope.uuid);
|
|
350
|
+
}
|
|
218
351
|
}, {
|
|
219
352
|
key: "renderNav",
|
|
220
353
|
value: function renderNav() {
|
|
221
|
-
var _this$
|
|
222
|
-
scope = _this$
|
|
223
|
-
closeTray = _this$
|
|
224
|
-
navigateToBanks = _this$
|
|
225
|
-
navigateToBuild = _this$
|
|
226
|
-
returnToUrl = _this$
|
|
354
|
+
var _this$props3 = this.props,
|
|
355
|
+
scope = _this$props3.scope,
|
|
356
|
+
closeTray = _this$props3.closeTray,
|
|
357
|
+
navigateToBanks = _this$props3.navigateToBanks,
|
|
358
|
+
navigateToBuild = _this$props3.navigateToBuild,
|
|
359
|
+
returnToUrl = _this$props3.returnToUrl;
|
|
227
360
|
var isScopeEmpty = !Object.keys(scope).length;
|
|
228
361
|
return /*#__PURE__*/_react.default.createElement(_index7.default, {
|
|
229
362
|
closeTray: closeTray,
|
|
@@ -255,6 +388,50 @@ var Bank = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_cl
|
|
|
255
388
|
});
|
|
256
389
|
}
|
|
257
390
|
}
|
|
391
|
+
}, {
|
|
392
|
+
key: "changeSharedPermissions",
|
|
393
|
+
value: function changeSharedPermissions() {
|
|
394
|
+
if (this.props.bank.canEdit()) {
|
|
395
|
+
if (!this.state.sharedWithCourse) {
|
|
396
|
+
var shareBank = {
|
|
397
|
+
entityId: this.props.scope.uuid,
|
|
398
|
+
entityType: this.props.scope.type,
|
|
399
|
+
title: this.props.scope.title,
|
|
400
|
+
permission: _quizCommon.READ_ONLY,
|
|
401
|
+
bankId: this.props.bankId
|
|
402
|
+
};
|
|
403
|
+
this.props.removeSharedBank(this.placeholderCourseSharedBankKey());
|
|
404
|
+
this.props.shareBank(shareBank);
|
|
405
|
+
} else {
|
|
406
|
+
this.confirmUnshareBankWithCourse();
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}, {
|
|
411
|
+
key: "shouldRenderShareWithCourseCheckbox",
|
|
412
|
+
value: function shouldRenderShareWithCourseCheckbox() {
|
|
413
|
+
return this.props.showShareBankFromTray && this.props.scope.type === 'course' && this.props.scope.title && this.props.scope.uuid;
|
|
414
|
+
}
|
|
415
|
+
}, {
|
|
416
|
+
key: "renderCheckbox",
|
|
417
|
+
value: function renderCheckbox() {
|
|
418
|
+
if (!this.shouldRenderShareWithCourseCheckbox()) {
|
|
419
|
+
return null;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
var label = (0, _formatMessage.default)('Share with { courseName }', {
|
|
423
|
+
courseName: this.props.scope.title
|
|
424
|
+
});
|
|
425
|
+
return /*#__PURE__*/_react.default.createElement(_uiView.View, {
|
|
426
|
+
margin: "small 0",
|
|
427
|
+
as: "div"
|
|
428
|
+
}, /*#__PURE__*/_react.default.createElement(_uiCheckbox.Checkbox, {
|
|
429
|
+
checked: this.state.sharedWithCourse,
|
|
430
|
+
label: label,
|
|
431
|
+
onChange: this.toggleCheckbox,
|
|
432
|
+
disabled: this.props.bank.canEdit() ? this.state.shareWithCourseCheckboxDisabled : true
|
|
433
|
+
}));
|
|
434
|
+
}
|
|
258
435
|
}, {
|
|
259
436
|
key: "renderModals",
|
|
260
437
|
value: function renderModals() {
|
|
@@ -330,7 +507,7 @@ var Bank = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_cl
|
|
|
330
507
|
value: function render() {
|
|
331
508
|
return /*#__PURE__*/_react.default.createElement(_index.default, null, this.renderModals(), this.renderNav(), /*#__PURE__*/_react.default.createElement("div", {
|
|
332
509
|
className: styles.content
|
|
333
|
-
}, this.renderName(), /*#__PURE__*/_react.default.createElement("div", {
|
|
510
|
+
}, this.renderName(), this.renderCheckbox(), /*#__PURE__*/_react.default.createElement("div", {
|
|
334
511
|
className: styles.topMenu
|
|
335
512
|
}, this.renderTopLeftMenu(), this.renderTopRightMenu()), this.renderSearch(), /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
336
513
|
empty: this.emptyLoadText(),
|
|
@@ -352,6 +529,7 @@ var Bank = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_cl
|
|
|
352
529
|
closeTray: _propTypes.default.func,
|
|
353
530
|
getBank: _propTypes.default.func.isRequired,
|
|
354
531
|
getBankEntries: _propTypes.default.func.isRequired,
|
|
532
|
+
getSharedBank: _propTypes.default.func.isRequired,
|
|
355
533
|
isCompact: _propTypes.default.bool,
|
|
356
534
|
isQuizContentLocked: _propTypes.default.bool.isRequired,
|
|
357
535
|
navigateToBanks: _propTypes.default.func.isRequired,
|
|
@@ -360,20 +538,26 @@ var Bank = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_cl
|
|
|
360
538
|
// can be from consumer
|
|
361
539
|
navigateToBuild: _propTypes.default.func,
|
|
362
540
|
// from consumer
|
|
363
|
-
scope: _propTypes.default.
|
|
541
|
+
scope: _propTypes.default.shape({
|
|
364
542
|
type: _propTypes.default.string,
|
|
365
543
|
uuid: _propTypes.default.string,
|
|
366
544
|
title: _propTypes.default.string
|
|
367
|
-
})
|
|
545
|
+
}),
|
|
546
|
+
courseSharedBank: _reactImmutableProptypes.default.map,
|
|
368
547
|
returnToUrl: _propTypes.default.string,
|
|
369
548
|
// from consumer
|
|
370
549
|
onError: _propTypes.default.func,
|
|
371
550
|
openModal: _propTypes.default.func.isRequired,
|
|
372
551
|
position: _propTypes.default.number,
|
|
552
|
+
removeSharedBank: _propTypes.default.func.isRequired,
|
|
373
553
|
resetSearch: _propTypes.default.func.isRequired,
|
|
374
554
|
screenreaderNotification: _propTypes.default.func.isRequired,
|
|
375
555
|
search: _reactImmutableProptypes.default.map.isRequired,
|
|
376
|
-
|
|
556
|
+
shareBank: _propTypes.default.func.isRequired,
|
|
557
|
+
stimulusId: _propTypes.default.string,
|
|
558
|
+
showShareBankFromTray: _propTypes.default.bool,
|
|
559
|
+
updateSharedBankPermission: _propTypes.default.func.isRequired,
|
|
560
|
+
withConfirm: _propTypes.default.func.isRequired
|
|
377
561
|
}, _class2.defaultProps = {
|
|
378
562
|
activeQuizId: null,
|
|
379
563
|
addEntryToQuiz: null,
|
|
@@ -387,7 +571,9 @@ var Bank = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_cl
|
|
|
387
571
|
stimulusId: null,
|
|
388
572
|
scope: {},
|
|
389
573
|
returnToUrl: null,
|
|
390
|
-
isQuizContentLocked: false
|
|
574
|
+
isQuizContentLocked: false,
|
|
575
|
+
showShareBankFromTray: false,
|
|
576
|
+
courseSharedBank: null
|
|
391
577
|
}, _temp)) || _class);
|
|
392
578
|
exports.Bank = Bank;
|
|
393
579
|
var _default = Bank;
|
|
@@ -32,6 +32,8 @@ var _featureCheck = require("../../../../../common/util/featureCheck.js");
|
|
|
32
32
|
|
|
33
33
|
var _quizExport = require("../../../../../common/actions/quizExport.js");
|
|
34
34
|
|
|
35
|
+
var _alerts = require("../../../../../common/actions/alerts.js");
|
|
36
|
+
|
|
35
37
|
function mapStateToProps(state) {
|
|
36
38
|
var quiz = (0, _quizzes.getActiveQuiz)(state);
|
|
37
39
|
return {
|
|
@@ -48,6 +50,7 @@ function mapStateToProps(state) {
|
|
|
48
50
|
|
|
49
51
|
var mapDispatchToProps = function mapDispatchToProps(dispatch) {
|
|
50
52
|
return {
|
|
53
|
+
addInfo: (0, _redux.bindActionCreators)(_alerts.addInfo, dispatch),
|
|
51
54
|
openBanksTray: (0, _redux.bindActionCreators)(_ui.set.bind(void 0, _quizCommon.BUILD_TRAY_OPEN, true), dispatch),
|
|
52
55
|
setBanksTrayButtonRef: (0, _redux.bindActionCreators)((0, _partial.default)(_ui.set, _quizCommon.BUILD_TRAY_BUTTON_REF), dispatch),
|
|
53
56
|
startExport: (0, _redux.bindActionCreators)(_quizExport.startQuizExportJob, dispatch),
|
|
@@ -66,6 +66,10 @@ var BuildingButtons = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
66
66
|
|
|
67
67
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
68
68
|
|
|
69
|
+
_this.quizExportAlert = function () {
|
|
70
|
+
_this.props.addInfo((0, _formatMessage.default)("The export process has been started. This can take a while for larger quizzes.\n You can leave the page and you'll get notified when the export is completed."));
|
|
71
|
+
};
|
|
72
|
+
|
|
69
73
|
_this.openBanksTray = function () {
|
|
70
74
|
_this.props.setBanksTrayButtonRef(_this.banksTrayButton);
|
|
71
75
|
|
|
@@ -87,6 +91,8 @@ var BuildingButtons = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
87
91
|
quizzes: [activeQuizId]
|
|
88
92
|
};
|
|
89
93
|
|
|
94
|
+
_this.quizExportAlert();
|
|
95
|
+
|
|
90
96
|
_this.props.contentExport({
|
|
91
97
|
contextUuid: contextUuid,
|
|
92
98
|
exportSettings: exportSettings
|
|
@@ -220,6 +226,7 @@ var BuildingButtons = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
220
226
|
return BuildingButtons;
|
|
221
227
|
}(_react.Component), _class2.propTypes = {
|
|
222
228
|
app: _propTypes.default.string,
|
|
229
|
+
addInfo: _propTypes.default.func,
|
|
223
230
|
activeQuizId: _propTypes.default.string,
|
|
224
231
|
canExport: _propTypes.default.bool.isRequired,
|
|
225
232
|
canImport: _propTypes.default.bool.isRequired,
|
|
@@ -240,6 +247,7 @@ var BuildingButtons = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
240
247
|
contextUuid: _propTypes.default.string
|
|
241
248
|
}, _class2.defaultProps = {
|
|
242
249
|
activeQuizId: null,
|
|
250
|
+
addInfo: function addInfo() {},
|
|
243
251
|
app: null,
|
|
244
252
|
contentExportEnabled: false,
|
|
245
253
|
contentExport: null,
|
|
@@ -123,7 +123,8 @@ var BanksTray = /*#__PURE__*/function (_Component) {
|
|
|
123
123
|
closeTray: this.closeTray,
|
|
124
124
|
bankId: activeBankId,
|
|
125
125
|
navigateToBanks: this.clearActiveBank,
|
|
126
|
-
navigateToBankEntry: this.props.newActiveBankEntry
|
|
126
|
+
navigateToBankEntry: this.props.newActiveBankEntry,
|
|
127
|
+
scope: this.props.itemBanksScope
|
|
127
128
|
});
|
|
128
129
|
}
|
|
129
130
|
} else {
|
|
@@ -28,10 +28,10 @@ var updateSharedBankPermission = function updateSharedBankPermission(sharedBankI
|
|
|
28
28
|
|
|
29
29
|
exports.updateSharedBankPermission = updateSharedBankPermission;
|
|
30
30
|
|
|
31
|
-
var removeSharedBank = function removeSharedBank(
|
|
31
|
+
var removeSharedBank = function removeSharedBank(sharedBankId) {
|
|
32
32
|
return {
|
|
33
33
|
type: _quizCommon.REMOVE_SHARED_BANK,
|
|
34
|
-
payload:
|
|
34
|
+
payload: sharedBankId
|
|
35
35
|
};
|
|
36
36
|
};
|
|
37
37
|
|