@@ -139069,7 +139069,8 @@ var RubricCriteriaGroup = function (_a) {
139069
139069
nonApplicableRatings: [],
139070
139070
ratingDescriptions: {},
139071
139071
ratingDescriptionsForStudent: {},
139072
- iconUrl: ""
139072
+ iconUrl: "",
139073
+ iconPhrase: ""
139073
139074
});
139074
139075
});
139075
139076
};
@@ -139314,6 +139315,13 @@ var RubricCriterion = function (_a) {
139314
139315
});
139315
139316
};
139316
139317
139318
+ var handleIconPhraseChange = function (e) {
139319
+ var phrase = e.target.value;
139320
+ setRubric(function (draft) {
139321
+ draft.criteriaGroups[groupIndex].criteria[index].iconPhrase = phrase;
139322
+ });
139323
+ };
139324
+
139317
139325
var handleCriteriaMarkdownUpdate = function (key) {
139318
139326
return function (value) {
139319
139327
setRubric(function (draft) {
@@ -139356,18 +139364,29 @@ var RubricCriterion = function (_a) {
139356
139364
className: "rubric-criterion-body"
139357
139365
}, React.createElement("div", {
139358
139366
className: "rubric-criterion-body-row"
139359
- }, React.createElement("div", {
139367
+ }, React.createElement("div", null, React.createElement("div", {
139360
139368
className: "rubric-criterion-body-row-label",
139361
139369
style: {
139362
139370
flex: "initial"
139363
139371
}
139364
139372
}, React.createElement("label", {
139365
139373
htmlFor: "iconUrl"
139366
- }, "Icon URL:"), React.createElement("input", {
139374
+ }, "Tag Icon URL:"), React.createElement("input", {
139367
139375
type: "text",
139368
139376
value: criterion.iconUrl,
139369
139377
onChange: handleIconUrlChange
139370
- }))), React.createElement("div", {
139378
+ }))), React.createElement("div", null, React.createElement("div", {
139379
+ className: "rubric-criterion-body-row-label",
139380
+ style: {
139381
+ flex: "initial"
139382
+ }
139383
+ }, React.createElement("label", {
139384
+ htmlFor: "iconPhrase"
139385
+ }, "Tag Icon Phrase:"), React.createElement("input", {
139386
+ type: "text",
139387
+ value: criterion.iconPhrase,
139388
+ onChange: handleIconPhraseChange
139389
+ })))), React.createElement("div", {
139371
139390
className: "rubric-criterion-body-row"
139372
139391
}, React.createElement("div", null, React.createElement("label", {
139373
139392
htmlFor: "description"
@@ -139617,9 +139636,11 @@ exports.RubricGeneralOptions = void 0;
139617
139636
139618
139637
var React = __webpack_require__(/*! react */ "react");
139619
139638
139639
+ var classnames_1 = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
139640
+
139620
139641
var use_rubric_1 = __webpack_require__(/*! ./use-rubric */ "./src/rubric-authoring/use-rubric.ts");
139621
139642
139622
- var classnames_1 = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js ");
139643
+ var types_1 = __webpack_require__(/*! ./types */ "./src/rubric-authoring/types.ts ");
139623
139644
139624
139645
__webpack_require__(/*! ./rubric-general-options.scss */ "./src/rubric-authoring/rubric-general-options.scss");
139625
139646
@@ -139646,6 +139667,13 @@ var RubricGeneralOptions = function () {
139646
139667
};
139647
139668
};
139648
139669
139670
+ var handleUpdateTagSummaryDisplay = function (e) {
139671
+ var tagSummaryDisplay = e.target.value;
139672
+ setRubric(function (draft) {
139673
+ draft.tagSummaryDisplay = tagSummaryDisplay;
139674
+ });
139675
+ };
139676
+
139649
139677
return React.createElement("div", {
139650
139678
className: "general-options"
139651
139679
}, React.createElement("table", null, React.createElement("tbody", null, React.createElement("tr", null, React.createElement("td", null, React.createElement("label", {
@@ -139669,7 +139697,18 @@ var RubricGeneralOptions = function () {
139669
139697
type: "text",
139670
139698
value: rubric.feedbackLabelForStudent,
139671
139699
onChange: handleUpdateString("feedbackLabelForStudent")
139672
- }))), React.createElement("tr", null, React.createElement("td", null), React.createElement("td", {
139700
+ }))), React.createElement("tr", null, React.createElement("td", null, React.createElement("label", {
139701
+ htmlFor: "tagSummaryDisplay"
139702
+ }, "Tag Summary Display:")), React.createElement("td", null, React.createElement("select", {
139703
+ name: "tagSummaryDisplay",
139704
+ value: rubric.tagSummaryDisplay,
139705
+ onChange: handleUpdateTagSummaryDisplay
139706
+ }, types_1.tagSummaryDisplayValues.map(function (value) {
139707
+ return React.createElement("option", {
139708
+ value: value,
139709
+ key: value
139710
+ }, types_1.tagSummaryDisplayLabels[value]);
139711
+ })))), React.createElement("tr", null, React.createElement("td", null), React.createElement("td", {
139673
139712
className: "rubric-checkbox"
139674
139713
}, React.createElement("input", {
139675
139714
type: "checkbox",
@@ -140306,7 +140345,8 @@ var RubricStudentPreview = function (_a) {
140306
140345
rowSpan: criteriaGroup.criteria.length,
140307
140346
className: "groupLabel"
140308
140347
}, label), React.createElement("td", null, React.createElement("div", null, criteria.iconUrl && React.createElement("img", {
140309
- src: criteria.iconUrl
140348
+ src: criteria.iconUrl,
140349
+ title: criteria.iconPhrase
140310
140350
}), React.createElement(markdown_to_jsx_1.default, null, description))), React.createElement("td", null, rubric.showRatingDescriptions ? ratingLabel + " \u2013 " + ratingDescription : ratingLabel));
140311
140351
});
140312
140352
}))));
@@ -140505,7 +140545,8 @@ var RubricTeacherPreview = function (_a) {
140505
140545
}, React.createElement("div", {
140506
140546
className: "rubricDescription"
140507
140547
}, crit.iconUrl && React.createElement("img", {
140508
- src: crit.iconUrl
140548
+ src: crit.iconUrl,
140549
+ title: crit.iconPhrase
140509
140550
}), React.createElement(markdown_to_jsx_1.default, null, crit.description)), renderRatings(crit));
140510
140551
})));
140511
140552
})));
@@ -140560,6 +140601,30 @@ exports.Trash = Trash;
140560
140601
140561
140602
/***/ }),
140562
140603
140604
+ /***/ "./src/rubric-authoring/types.ts":
140605
+ /*!***************************************!*\
140606
+ !*** ./src/rubric-authoring/types.ts ***!
140607
+ \***************************************/
140608
+ /*! no static exports found */
140609
+ /***/ (function(module, exports, __webpack_require__) {
140610
+
140611
+ "use strict";
140612
+
140613
+
140614
+ Object.defineProperty(exports, "__esModule", {
140615
+ value: true
140616
+ });
140617
+ exports.tagSummaryDisplayLabels = exports.tagSummaryDisplayValues = void 0;
140618
+ exports.tagSummaryDisplayValues = ["none", "above", "below", "onlySummary"];
140619
+ exports.tagSummaryDisplayLabels = {
140620
+ none: "Do not display Tag Summary",
140621
+ above: "Display Tag Summary above Criteria Summary",
140622
+ below: "Display Tag Summary below Criteria Summary",
140623
+ onlySummary: "Only display Tag Summary"
140624
+ };
140625
+
140626
+ /***/ }),
140627
+
140563
140628
/***/ "./src/rubric-authoring/use-rubric.ts":
140564
140629
/*!********************************************!*\
140565
140630
!*** ./src/rubric-authoring/use-rubric.ts ***!
@@ -140720,6 +140785,22 @@ var react_1 = __webpack_require__(/*! react */ "react");
140720
140785
140721
140786
var use_immer_1 = __webpack_require__(/*! use-immer */ "./node_modules/use-immer/dist/use-immer.module.js");
140722
140787
140788
+ var migrate = function (rubric) {
140789
+ var _a; // right now there are no explicit version migrations BUT iconPhrase and tagSummaryDisplay were
140790
+ // added without a version bump so ensure they have a default value if they are undefined
140791
+
140792
+
140793
+ rubric.criteriaGroups.forEach(function (criteriaGroup) {
140794
+ criteriaGroup.criteria.forEach(function (criteria) {
140795
+ var _a;
140796
+
140797
+ criteria.iconPhrase = (_a = criteria.iconPhrase) !== null && _a !== void 0 ? _a : "";
140798
+ });
140799
+ });
140800
+ rubric.tagSummaryDisplay = (_a = rubric.tagSummaryDisplay) !== null && _a !== void 0 ? _a : "none";
140801
+ return rubric;
140802
+ };
140803
+
140723
140804
var useRubricValue = function (authoredContentUrl) {
140724
140805
var _a = (0, use_immer_1.useImmer)({}),
140725
140806
rubric = _a[0],
@@ -140747,12 +140828,11 @@ var useRubricValue = function (authoredContentUrl) {
140747
140828
(0, react_1.useEffect)(function () {
140748
140829
var loadAuthoredContent = function () {
140749
140830
return __awaiter(void 0, void 0, void 0, function () {
140750
- var url, _a, e_1;
140751
-
140752
- return __generator(this, function (_b) {
140753
- switch (_b.label) {
140831
+ var url, unmigratedRubric, migratedRubric, e_1;
140832
+ return __generator(this, function (_a) {
140833
+ switch (_a.label) {
140754
140834
case 0:
140755
- _b .trys.push([0, 7,, 8]);
140835
+ _a .trys.push([0, 7,, 8]);
140756
140836
140757
140837
return [4
140758
140838
/*yield*/
@@ -140761,25 +140841,27 @@ var useRubricValue = function (authoredContentUrl) {
140761
140841
case 1:
140762
140842
return [4
140763
140843
/*yield*/
140764
- , _b .sent().json()];
140844
+ , _a .sent().json()];
140765
140845
140766
140846
case 2:
140767
- url = _b .sent().url;
140847
+ url = _a .sent().url;
140768
140848
if (!url) return [3
140769
140849
/*break*/
140770
140850
, 5];
140771
- _a = _setRubric;
140772
140851
return [4
140773
140852
/*yield*/
140774
140853
, fetch(url)];
140775
140854
140776
140855
case 3:
140777
140856
return [4
140778
140857
/*yield*/
140779
- , _b .sent().json()];
140858
+ , _a .sent().json()];
140780
140859
140781
140860
case 4:
140782
- _a.apply(void 0, [_b.sent()]);
140861
+ unmigratedRubric = _a.sent();
140862
+ migratedRubric = migrate(unmigratedRubric);
140863
+
140864
+ _setRubric(migratedRubric);
140783
140865
140784
140866
return [3
140785
140867
/*break*/
@@ -140798,10 +140880,11 @@ var useRubricValue = function (authoredContentUrl) {
140798
140880
criteriaLabelForStudent: "",
140799
140881
feedbackLabelForStudent: "",
140800
140882
criteriaGroups: [],
140801
- ratings: []
140883
+ ratings: [],
140884
+ tagSummaryDisplay: "none"
140802
140885
});
140803
140886
140804
- _b .label = 6;
140887
+ _a .label = 6;
140805
140888
140806
140889
case 6:
140807
140890
setLoadStatus("loaded");
@@ -140810,7 +140893,7 @@ var useRubricValue = function (authoredContentUrl) {
140810
140893
, 8];
140811
140894
140812
140895
case 7:
140813
- e_1 = _b .sent();
140896
+ e_1 = _a .sent();
140814
140897
alert(e_1.toString());
140815
140898
return [3
140816
140899
/*break*/
0 commit comments