@instructure/quiz-core 17.58.2-rc.6 → 17.58.2-rc.8
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/resources/BanksTray/presenter.js +2 -1
- package/es/common/actions/sharedBanks.js +2 -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 +245 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/theme.js +9 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +55 -57
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +5 -16
- 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/resources/BanksTray/presenter.js +2 -1
- package/lib/common/actions/sharedBanks.js +2 -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 +274 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/theme.js +16 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +59 -62
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +7 -18
- 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;
|
|
@@ -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
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.AnalysisMetric = void 0;
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
19
|
+
|
|
20
|
+
var _uiThemeable = require("@instructure/ui-themeable");
|
|
21
|
+
|
|
22
|
+
var _theme = _interopRequireDefault(require("./theme.js"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
25
|
+
|
|
26
|
+
var _utils = require("../utils.js");
|
|
27
|
+
|
|
28
|
+
var _uiMetric = require("@instructure/ui-metric");
|
|
29
|
+
|
|
30
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
+
|
|
32
|
+
var _dec, _class, _class2, _temp;
|
|
33
|
+
|
|
34
|
+
var styles = {
|
|
35
|
+
componentId: 'flBnP',
|
|
36
|
+
template: function template(theme) {
|
|
37
|
+
return "\n\n.flBnP_eckF{margin:0;max-width:159px;text-transform:uppercase}";
|
|
38
|
+
},
|
|
39
|
+
'metricLabel': 'flBnP_eckF'
|
|
40
|
+
};
|
|
41
|
+
var AnalysisMetric = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
42
|
+
(0, _inherits2.default)(AnalysisMetric, _Component);
|
|
43
|
+
|
|
44
|
+
var _super = (0, _createSuper2.default)(AnalysisMetric);
|
|
45
|
+
|
|
46
|
+
function AnalysisMetric() {
|
|
47
|
+
(0, _classCallCheck2.default)(this, AnalysisMetric);
|
|
48
|
+
return _super.apply(this, arguments);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
(0, _createClass2.default)(AnalysisMetric, [{
|
|
52
|
+
key: "render",
|
|
53
|
+
value: function render() {
|
|
54
|
+
var _this$props = this.props,
|
|
55
|
+
metricKey = _this$props.metricKey,
|
|
56
|
+
label = _this$props.label,
|
|
57
|
+
value = _this$props.value,
|
|
58
|
+
suffix = _this$props.suffix;
|
|
59
|
+
return /*#__PURE__*/_react.default.createElement(_uiMetric.Metric, {
|
|
60
|
+
theme: {
|
|
61
|
+
valueFontWeight: 500,
|
|
62
|
+
padding: '0'
|
|
63
|
+
},
|
|
64
|
+
textAlign: "start",
|
|
65
|
+
key: metricKey,
|
|
66
|
+
renderLabel: /*#__PURE__*/_react.default.createElement("p", {
|
|
67
|
+
className: styles.metricLabel
|
|
68
|
+
}, label),
|
|
69
|
+
renderValue: (0, _utils.getSanitizedMetricValue)(value, suffix)
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}]);
|
|
73
|
+
AnalysisMetric.displayName = "AnalysisMetric";
|
|
74
|
+
return AnalysisMetric;
|
|
75
|
+
}(_react.Component), _class2.propTypes = {
|
|
76
|
+
metricKey: _propTypes.default.string.isRequired,
|
|
77
|
+
label: _propTypes.default.string.isRequired,
|
|
78
|
+
value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
79
|
+
suffix: _propTypes.default.string
|
|
80
|
+
}, _class2.defaultProps = {
|
|
81
|
+
suffix: ''
|
|
82
|
+
}, _temp)) || _class);
|
|
83
|
+
exports.AnalysisMetric = AnalysisMetric;
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/presenter.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.AnalysisPopoverMetric = void 0;
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _uiMetric = require("@instructure/ui-metric");
|
|
23
|
+
|
|
24
|
+
var _utils = require("../utils.js");
|
|
25
|
+
|
|
26
|
+
var _index = _interopRequireDefault(require("../MetricPopover/index.js"));
|
|
27
|
+
|
|
28
|
+
var _uiThemeable = require("@instructure/ui-themeable");
|
|
29
|
+
|
|
30
|
+
var _theme = _interopRequireDefault(require("./theme.js"));
|
|
31
|
+
|
|
32
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
|
+
|
|
34
|
+
var _dec, _class, _class2, _temp;
|
|
35
|
+
|
|
36
|
+
var styles = {
|
|
37
|
+
componentId: 'bLVhr',
|
|
38
|
+
template: function template(theme) {
|
|
39
|
+
return "\n\n.bLVhr_dqHR{padding-left:5px}\n\n.bLVhr_eckF{margin:0;max-width:159px;text-transform:uppercase}";
|
|
40
|
+
},
|
|
41
|
+
'popoverContainer': 'bLVhr_dqHR',
|
|
42
|
+
'metricLabel': 'bLVhr_eckF'
|
|
43
|
+
};
|
|
44
|
+
var AnalysisPopoverMetric = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
45
|
+
(0, _inherits2.default)(AnalysisPopoverMetric, _Component);
|
|
46
|
+
|
|
47
|
+
var _super = (0, _createSuper2.default)(AnalysisPopoverMetric);
|
|
48
|
+
|
|
49
|
+
function AnalysisPopoverMetric() {
|
|
50
|
+
(0, _classCallCheck2.default)(this, AnalysisPopoverMetric);
|
|
51
|
+
return _super.apply(this, arguments);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
(0, _createClass2.default)(AnalysisPopoverMetric, [{
|
|
55
|
+
key: "renderLabelWithPopover",
|
|
56
|
+
value: function renderLabelWithPopover(texts) {
|
|
57
|
+
return /*#__PURE__*/_react.default.createElement("p", {
|
|
58
|
+
className: styles.metricLabel
|
|
59
|
+
}, this.props.label, /*#__PURE__*/_react.default.createElement("span", {
|
|
60
|
+
className: styles.popoverContainer
|
|
61
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, texts)));
|
|
62
|
+
}
|
|
63
|
+
}, {
|
|
64
|
+
key: "render",
|
|
65
|
+
value: function render() {
|
|
66
|
+
var _this$props = this.props,
|
|
67
|
+
metricKey = _this$props.metricKey,
|
|
68
|
+
popoverDescription = _this$props.popoverDescription,
|
|
69
|
+
value = _this$props.value;
|
|
70
|
+
return /*#__PURE__*/_react.default.createElement(_uiMetric.Metric, {
|
|
71
|
+
theme: {
|
|
72
|
+
valueFontWeight: 500,
|
|
73
|
+
padding: '0'
|
|
74
|
+
},
|
|
75
|
+
textAlign: "start",
|
|
76
|
+
key: metricKey,
|
|
77
|
+
renderLabel: this.renderLabelWithPopover(popoverDescription),
|
|
78
|
+
renderValue: (0, _utils.getSanitizedMetricValue)(value)
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}]);
|
|
82
|
+
AnalysisPopoverMetric.displayName = "AnalysisPopoverMetric";
|
|
83
|
+
return AnalysisPopoverMetric;
|
|
84
|
+
}(_react.Component), _class2.propTypes = {
|
|
85
|
+
metricKey: _propTypes.default.string.isRequired,
|
|
86
|
+
label: _propTypes.default.string.isRequired,
|
|
87
|
+
value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
88
|
+
popoverDescription: _propTypes.default.shape({
|
|
89
|
+
title: _propTypes.default.string,
|
|
90
|
+
subtitle: _propTypes.default.string,
|
|
91
|
+
body: _propTypes.default.string,
|
|
92
|
+
screenReaderLabel: _propTypes.default.string
|
|
93
|
+
}).isRequired
|
|
94
|
+
}, _temp)) || _class);
|
|
95
|
+
exports.AnalysisPopoverMetric = AnalysisPopoverMetric;
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/popoverContent.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.pearsonCorrelation = exports.discriminationIndex = exports.difficultyIndex = void 0;
|
|
7
|
+
var difficultyIndex = {
|
|
8
|
+
title: 'Difficulty title',
|
|
9
|
+
subtitle: 'difficulty subtitle',
|
|
10
|
+
body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi elementum interdum risus sed condimentum. Duis vel nisi at quam luctus dictum id eu risus. Donec eget tristique justo',
|
|
11
|
+
screenReaderLabel: 'Lorem one'
|
|
12
|
+
};
|
|
13
|
+
exports.difficultyIndex = difficultyIndex;
|
|
14
|
+
var discriminationIndex = {
|
|
15
|
+
title: 'Discrimination title',
|
|
16
|
+
subtitle: 'discrimination subtitle',
|
|
17
|
+
body: 'Lorem ipsum dolor sit amet',
|
|
18
|
+
screenReaderLabel: 'Lorem two'
|
|
19
|
+
};
|
|
20
|
+
exports.discriminationIndex = discriminationIndex;
|
|
21
|
+
var pearsonCorrelation = {
|
|
22
|
+
title: 'Pearson correlation title',
|
|
23
|
+
subtitle: 'pearson correlation subtitle',
|
|
24
|
+
body: 'Lorem ipsum dolor sit amet',
|
|
25
|
+
screenReaderLabel: 'Lorem three'
|
|
26
|
+
};
|
|
27
|
+
exports.pearsonCorrelation = pearsonCorrelation;
|