@pie-element/complex-rubric 2.4.2-next.22 → 2.4.2-next.25

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,140 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _rubric = require("@pie-lib/pie-toolbox/rubric");
13
+
14
+ var _rubrics, _configuration;
15
+
16
+ var multiTraitDefaultModel = {
17
+ visibleToStudent: true,
18
+ halfScoring: false,
19
+ pointLabels: true,
20
+ description: false,
21
+ standards: false,
22
+ scales: [],
23
+ excludeZero: false
24
+ };
25
+ var rubricDefaultModel = {
26
+ points: ['', '', '', ''],
27
+ sampleAnswers: [null, null, null, null],
28
+ maxPoints: 3,
29
+ excludeZero: false
30
+ };
31
+ var rubriclessDefaultModel = {
32
+ maxPoints: 100,
33
+ excludeZero: false,
34
+ rubriclessInstructionEnabled: true
35
+ };
36
+ var multiTraitDefaultConfiguration = {
37
+ settingsPanelDisabled: false,
38
+ excludeZeroDialogBoxContent: {
39
+ title: 'Exclude 0 (Zero) from Score Point Values.',
40
+ text: "<div>\n You are about to exclude 0 from score point values.\n <br/>\n Some of the existing data has to be changed.\n <br/>\n Please choose if you want to:\n <ul>\n <li>\n shift Labels and Descriptions to the left\n </li>\n <li>\n remove 0 column with its Label and Description\n </li>\n </ul>\n </div>"
41
+ },
42
+ includeZeroDialogBoxContent: {
43
+ title: 'Include 0 (Zero) in Score Point Values.',
44
+ text: "<div>\n You are about to include 0 in score point values.\n <br/>\n Some of the existing data has to be changed.\n <br/>\n Please choose if you want to:\n <ul>\n <li>\n shift Labels and Descriptions to the right\n </li>\n <li>\n add 0 column with empty Label and Descriptions\n </li>\n </ul>\n </div>"
45
+ },
46
+ deleteScaleDialogBoxContent: {
47
+ title: 'Delete Scale',
48
+ text: 'Are you sure you want to delete this scale?'
49
+ },
50
+ maxPointsDialogBoxContent: {
51
+ title: 'Decreasing Max Points.',
52
+ text: " You are about to decrease max score point value.\n <br/>\n All the Labels and Descriptions for scores above Max Point will be deleted."
53
+ },
54
+ spellCheck: {
55
+ label: 'Spellcheck',
56
+ settings: false,
57
+ enabled: true
58
+ },
59
+ showExcludeZero: {
60
+ settings: true,
61
+ label: 'Exclude Zero'
62
+ },
63
+ showScorePointLabels: {
64
+ settings: true,
65
+ label: 'Show Score Point Labels'
66
+ },
67
+ showDescription: {
68
+ settings: true,
69
+ label: 'Show Description'
70
+ },
71
+ showVisibleToStudent: {
72
+ settings: true,
73
+ label: 'Visible to Student'
74
+ },
75
+ showHalfScoring: {
76
+ settings: true,
77
+ label: 'Half Scoring'
78
+ },
79
+ // commenting this in order to use the dynamic width if the width was not set by the client (PD-3203)
80
+ // width: '900px',
81
+ // these should not be set to true (should not be used) for now
82
+ showStandards: {
83
+ settings: false,
84
+ label: 'Show Standards'
85
+ },
86
+ showLevelTagInput: {
87
+ settings: false,
88
+ label: 'Show Level Tag Input',
89
+ enabled: false
90
+ },
91
+ dragAndDrop: {
92
+ settings: true,
93
+ label: 'Enable Drag and Drop',
94
+ enabled: false
95
+ },
96
+ maxMaxPoints: 9
97
+ };
98
+ var rubricDefaultConfiguration = {
99
+ showExcludeZero: {
100
+ settings: true,
101
+ label: 'Ability to exclude zero'
102
+ },
103
+ showMaxPoint: {
104
+ settings: true,
105
+ label: 'Show max points dropdown'
106
+ },
107
+ settingsPanelDisabled: false,
108
+ maxMaxPoints: 9
109
+ };
110
+ var rubriclessDefaultConfiguration = {
111
+ showExcludeZero: {
112
+ settings: true,
113
+ label: 'Ability to exclude zero'
114
+ },
115
+ showMaxPoint: {
116
+ settings: true,
117
+ label: 'Show max points dropdown'
118
+ },
119
+ settingsPanelDisabled: false,
120
+ // shows us if it simple rubric or rubricless(simple rubric with less structure)
121
+ rubricless: true,
122
+ // scoring instruction for rubricless
123
+ rubriclessInstruction: {
124
+ settings: true,
125
+ label: 'Instruction'
126
+ },
127
+ maxMaxPoints: 100
128
+ };
129
+ var _default = {
130
+ model: {
131
+ rubricType: 'simpleRubric',
132
+ rubrics: (_rubrics = {}, (0, _defineProperty2["default"])(_rubrics, _rubric.RUBRIC_TYPES.SIMPLE_RUBRIC, rubricDefaultModel), (0, _defineProperty2["default"])(_rubrics, _rubric.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC, multiTraitDefaultModel), (0, _defineProperty2["default"])(_rubrics, _rubric.RUBRIC_TYPES.RUBRICLESS, rubriclessDefaultModel), _rubrics)
133
+ },
134
+ configuration: (_configuration = {
135
+ // width: '770px',
136
+ rubricOptions: ['simpleRubric', 'multiTraitRubric', 'rubricless']
137
+ }, (0, _defineProperty2["default"])(_configuration, _rubric.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC, multiTraitDefaultConfiguration), (0, _defineProperty2["default"])(_configuration, _rubric.RUBRIC_TYPES.SIMPLE_RUBRIC, rubricDefaultConfiguration), (0, _defineProperty2["default"])(_configuration, _rubric.RUBRIC_TYPES.RUBRICLESS, rubriclessDefaultConfiguration), _configuration)
138
+ };
139
+ exports["default"] = _default;
140
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["multiTraitDefaultModel","visibleToStudent","halfScoring","pointLabels","description","standards","scales","excludeZero","rubricDefaultModel","points","sampleAnswers","maxPoints","rubriclessDefaultModel","rubriclessInstructionEnabled","multiTraitDefaultConfiguration","settingsPanelDisabled","excludeZeroDialogBoxContent","title","text","includeZeroDialogBoxContent","deleteScaleDialogBoxContent","maxPointsDialogBoxContent","spellCheck","label","settings","enabled","showExcludeZero","showScorePointLabels","showDescription","showVisibleToStudent","showHalfScoring","showStandards","showLevelTagInput","dragAndDrop","maxMaxPoints","rubricDefaultConfiguration","showMaxPoint","rubriclessDefaultConfiguration","rubricless","rubriclessInstruction","model","rubricType","rubrics","RUBRIC_TYPES","SIMPLE_RUBRIC","MULTI_TRAIT_RUBRIC","RUBRICLESS","configuration","rubricOptions"],"mappings":"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","sourcesContent":["import {RUBRIC_TYPES} from '@pie-lib/pie-toolbox/rubric';\n\nconst multiTraitDefaultModel = {\n visibleToStudent: true,\n halfScoring: false,\n pointLabels: true,\n description: false,\n standards: false,\n scales: [],\n excludeZero: false,\n};\n\nconst rubricDefaultModel = {\n points: ['', '', '', ''],\n sampleAnswers: [null, null, null, null],\n maxPoints: 3,\n excludeZero: false,\n};\n\nconst rubriclessDefaultModel = {\n maxPoints: 100,\n excludeZero: false,\n rubriclessInstructionEnabled: true,\n};\n\nconst multiTraitDefaultConfiguration = {\n settingsPanelDisabled: false,\n excludeZeroDialogBoxContent: {\n title: 'Exclude 0 (Zero) from Score Point Values.',\n text: `<div>\n You are about to exclude 0 from score point values.\n <br/>\n Some of the existing data has to be changed.\n <br/>\n Please choose if you want to:\n <ul>\n <li>\n shift Labels and Descriptions to the left\n </li>\n <li>\n remove 0 column with its Label and Description\n </li>\n </ul>\n </div>`,\n },\n includeZeroDialogBoxContent: {\n title: 'Include 0 (Zero) in Score Point Values.',\n text: `<div>\n You are about to include 0 in score point values.\n <br/>\n Some of the existing data has to be changed.\n <br/>\n Please choose if you want to:\n <ul>\n <li>\n shift Labels and Descriptions to the right\n </li>\n <li>\n add 0 column with empty Label and Descriptions\n </li>\n </ul>\n </div>`,\n },\n deleteScaleDialogBoxContent: {\n title: 'Delete Scale',\n text: 'Are you sure you want to delete this scale?',\n },\n maxPointsDialogBoxContent: {\n title: 'Decreasing Max Points.',\n text: ` You are about to decrease max score point value.\n <br/>\n All the Labels and Descriptions for scores above Max Point will be deleted.`,\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n showExcludeZero: {\n settings: true,\n label: 'Exclude Zero',\n },\n showScorePointLabels: {\n settings: true,\n label: 'Show Score Point Labels',\n },\n showDescription: {\n settings: true,\n label: 'Show Description',\n },\n showVisibleToStudent: {\n settings: true,\n label: 'Visible to Student',\n },\n showHalfScoring: {\n settings: true,\n label: 'Half Scoring',\n },\n // commenting this in order to use the dynamic width if the width was not set by the client (PD-3203)\n // width: '900px',\n // these should not be set to true (should not be used) for now\n showStandards: {\n settings: false,\n label: 'Show Standards',\n },\n showLevelTagInput: {\n settings: false,\n label: 'Show Level Tag Input',\n enabled: false,\n },\n dragAndDrop: {\n settings: true,\n label: 'Enable Drag and Drop',\n enabled: false,\n },\n maxMaxPoints: 9\n};\n\nconst rubricDefaultConfiguration = {\n showExcludeZero: {\n settings: true,\n label: 'Ability to exclude zero',\n },\n showMaxPoint: {\n settings: true,\n label: 'Show max points dropdown',\n },\n settingsPanelDisabled: false,\n maxMaxPoints: 9\n};\n\n\nconst rubriclessDefaultConfiguration = {\n showExcludeZero: {\n settings: true,\n label: 'Ability to exclude zero',\n },\n showMaxPoint: {\n settings: true,\n label: 'Show max points dropdown',\n },\n settingsPanelDisabled: false,\n // shows us if it simple rubric or rubricless(simple rubric with less structure)\n rubricless: true,\n // scoring instruction for rubricless\n rubriclessInstruction: {\n settings: true,\n label: 'Instruction',\n },\n maxMaxPoints: 100,\n};\n\nexport default {\n model: {\n rubricType: 'simpleRubric',\n rubrics: { [RUBRIC_TYPES.SIMPLE_RUBRIC]: rubricDefaultModel, [RUBRIC_TYPES.MULTI_TRAIT_RUBRIC]: multiTraitDefaultModel, [RUBRIC_TYPES.RUBRICLESS]: rubriclessDefaultModel },\n },\n configuration: {\n // width: '770px',\n rubricOptions: ['simpleRubric', 'multiTraitRubric', 'rubricless'],\n [RUBRIC_TYPES.MULTI_TRAIT_RUBRIC]: multiTraitDefaultConfiguration,\n [RUBRIC_TYPES.SIMPLE_RUBRIC]: rubricDefaultConfiguration,\n [RUBRIC_TYPES.RUBRICLESS]: rubriclessDefaultConfiguration,\n },\n};\n"],"file":"defaults.js"}
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+
12
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
13
+
14
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
15
+
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
21
+
22
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
+
24
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
+
26
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
+
28
+ var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
29
+
30
+ var _react = _interopRequireDefault(require("react"));
31
+
32
+ var _reactDom = _interopRequireDefault(require("react-dom"));
33
+
34
+ var _lib = _interopRequireDefault(require("@pie-element/rubric/configure/lib"));
35
+
36
+ var _lib2 = _interopRequireDefault(require("@pie-element/multi-trait-rubric/configure/lib"));
37
+
38
+ var _debug = _interopRequireDefault(require("debug"));
39
+
40
+ var _defaults = _interopRequireDefault(require("lodash/defaults"));
41
+
42
+ var _main = _interopRequireDefault(require("./main"));
43
+
44
+ var _defaults2 = _interopRequireDefault(require("./defaults"));
45
+
46
+ var _excluded = ["rubrics"];
47
+
48
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
49
+
50
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
51
+
52
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
53
+
54
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
55
+
56
+ var MODEL_UPDATED = _pieConfigureEvents.ModelUpdatedEvent.TYPE;
57
+ var RUBRIC_TAG_NAME = 'rubric-configure';
58
+ var MULTI_TRAIT_RUBRIC_TAG_NAME = 'multi-trait-rubric-configure';
59
+
60
+ var ComplexSimpleRubricConfigure = /*#__PURE__*/function (_RubricConfigure) {
61
+ (0, _inherits2["default"])(ComplexSimpleRubricConfigure, _RubricConfigure);
62
+
63
+ var _super = _createSuper(ComplexSimpleRubricConfigure);
64
+
65
+ function ComplexSimpleRubricConfigure() {
66
+ (0, _classCallCheck2["default"])(this, ComplexSimpleRubricConfigure);
67
+ return _super.apply(this, arguments);
68
+ }
69
+
70
+ return (0, _createClass2["default"])(ComplexSimpleRubricConfigure);
71
+ }(_lib["default"]);
72
+
73
+ var ComplexMTRConfigure = /*#__PURE__*/function (_MultiTraitRubricConf) {
74
+ (0, _inherits2["default"])(ComplexMTRConfigure, _MultiTraitRubricConf);
75
+
76
+ var _super2 = _createSuper(ComplexMTRConfigure);
77
+
78
+ function ComplexMTRConfigure() {
79
+ (0, _classCallCheck2["default"])(this, ComplexMTRConfigure);
80
+ return _super2.apply(this, arguments);
81
+ }
82
+
83
+ return (0, _createClass2["default"])(ComplexMTRConfigure);
84
+ }(_lib2["default"]);
85
+
86
+ var defineComplexRubric = function defineComplexRubric() {
87
+ if (!customElements.get(RUBRIC_TAG_NAME)) {
88
+ customElements.define(RUBRIC_TAG_NAME, ComplexSimpleRubricConfigure);
89
+ }
90
+
91
+ if (!customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {
92
+ customElements.define(MULTI_TRAIT_RUBRIC_TAG_NAME, ComplexMTRConfigure);
93
+ }
94
+ };
95
+
96
+ defineComplexRubric();
97
+
98
+ var prepareCustomizationObject = function prepareCustomizationObject(config, model) {
99
+ var configuration = (0, _defaults["default"])(config, _defaults2["default"].configuration);
100
+ return {
101
+ configuration: configuration,
102
+ model: model
103
+ };
104
+ };
105
+
106
+ var ComplexRubricConfigureElement = /*#__PURE__*/function (_HTMLElement) {
107
+ (0, _inherits2["default"])(ComplexRubricConfigureElement, _HTMLElement);
108
+
109
+ var _super3 = _createSuper(ComplexRubricConfigureElement);
110
+
111
+ function ComplexRubricConfigureElement() {
112
+ var _this;
113
+
114
+ (0, _classCallCheck2["default"])(this, ComplexRubricConfigureElement);
115
+ _this = _super3.call(this);
116
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelChanged", function (m, reset) {
117
+ _this._model = ComplexRubricConfigureElement.createDefaultModel(m, _this._model);
118
+
119
+ _this.dispatchModelUpdated(reset);
120
+
121
+ _this._render();
122
+ });
123
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelUpdated", function (e) {
124
+ if (e.target === (0, _assertThisInitialized2["default"])(_this)) {
125
+ return;
126
+ }
127
+
128
+ e.preventDefault();
129
+ e.stopImmediatePropagation();
130
+ var id = e.target && e.target.getAttribute('id');
131
+
132
+ if (id) {
133
+ if (e.update) {
134
+ _this._model.rubrics[id] = e.update;
135
+ }
136
+
137
+ _this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(_this._model));
138
+ }
139
+ });
140
+ _this.canUpdateModel = false;
141
+
142
+ _debug["default"].log('constructor called');
143
+
144
+ _this._model = ComplexRubricConfigureElement.createDefaultModel();
145
+ _this._configuration = _defaults2["default"].configuration;
146
+ _this.onConfigurationChanged = _this.onConfigurationChanged.bind((0, _assertThisInitialized2["default"])(_this));
147
+ return _this;
148
+ }
149
+
150
+ (0, _createClass2["default"])(ComplexRubricConfigureElement, [{
151
+ key: "model",
152
+ set: function set(m) {
153
+ this._model = ComplexRubricConfigureElement.createDefaultModel(m, this._model);
154
+ this.canUpdateModel = true;
155
+
156
+ this._render();
157
+ }
158
+ }, {
159
+ key: "dispatchModelUpdated",
160
+ value: function dispatchModelUpdated(reset) {
161
+ var resetValue = !!reset;
162
+ this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
163
+ }
164
+ }, {
165
+ key: "configuration",
166
+ set: function set(c) {
167
+ var info = prepareCustomizationObject(c, this._model);
168
+ this._configuration = info.configuration;
169
+
170
+ this._render();
171
+ }
172
+ }, {
173
+ key: "onConfigurationChanged",
174
+ value: function onConfigurationChanged(c) {
175
+ this._configuration = prepareCustomizationObject(c, this._model).configuration;
176
+
177
+ if (this._model) {
178
+ this.onModelChanged(this._model);
179
+ }
180
+
181
+ this._render();
182
+ }
183
+ }, {
184
+ key: "connectedCallback",
185
+ value: function connectedCallback() {
186
+ this.addEventListener(MODEL_UPDATED, this.onModelUpdated);
187
+
188
+ this._render();
189
+ }
190
+ }, {
191
+ key: "disconnectedCallback",
192
+ value: function disconnectedCallback() {
193
+ this.removeEventListener(MODEL_UPDATED, this.onModelUpdated);
194
+ }
195
+ }, {
196
+ key: "_render",
197
+ value: function _render() {
198
+ var element = /*#__PURE__*/_react["default"].createElement(_main["default"], {
199
+ model: this._model,
200
+ configuration: this._configuration,
201
+ onModelChanged: this.onModelChanged,
202
+ onConfigurationChanged: this.onConfigurationChanged,
203
+ canUpdateModel: this.canUpdateModel
204
+ });
205
+
206
+ _reactDom["default"].render(element, this);
207
+ }
208
+ }]);
209
+ return ComplexRubricConfigureElement;
210
+ }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
211
+
212
+ exports["default"] = ComplexRubricConfigureElement;
213
+ (0, _defineProperty2["default"])(ComplexRubricConfigureElement, "createDefaultModel", function () {
214
+ var _sensibleDefaults$mod, _sensibleDefaults$mod2, _sensibleDefaults$mod3;
215
+
216
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
217
+ _ref$rubrics = _ref.rubrics;
218
+
219
+ _ref$rubrics = _ref$rubrics === void 0 ? {
220
+ simpleRubric: {},
221
+ rubricless: {},
222
+ multiTraitRubric: {}
223
+ } : _ref$rubrics;
224
+ var _ref$rubrics$simpleRu = _ref$rubrics.simpleRubric,
225
+ simpleRubric = _ref$rubrics$simpleRu === void 0 ? {} : _ref$rubrics$simpleRu,
226
+ _ref$rubrics$rubricle = _ref$rubrics.rubricless,
227
+ rubricless = _ref$rubrics$rubricle === void 0 ? {} : _ref$rubrics$rubricle,
228
+ _ref$rubrics$multiTra = _ref$rubrics.multiTraitRubric,
229
+ multiTraitRubric = _ref$rubrics$multiTra === void 0 ? {} : _ref$rubrics$multiTra,
230
+ model = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
231
+ var currentModel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
232
+ var pieDefaults = (_defaults2["default"] === null || _defaults2["default"] === void 0 ? void 0 : _defaults2["default"].model) || {};
233
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, pieDefaults), currentModel), model), {}, {
234
+ rubrics: {
235
+ simpleRubric: _objectSpread(_objectSpread(_objectSpread({}, ((_defaults2["default"] === null || _defaults2["default"] === void 0 ? void 0 : (_sensibleDefaults$mod = _defaults2["default"].model) === null || _sensibleDefaults$mod === void 0 ? void 0 : _sensibleDefaults$mod.rubrics) || {}).simpleRubric), (currentModel.rubrics || {}).simpleRubric), simpleRubric),
236
+ multiTraitRubric: _objectSpread(_objectSpread(_objectSpread({}, ((_defaults2["default"] === null || _defaults2["default"] === void 0 ? void 0 : (_sensibleDefaults$mod2 = _defaults2["default"].model) === null || _sensibleDefaults$mod2 === void 0 ? void 0 : _sensibleDefaults$mod2.rubrics) || {}).multiTraitRubric), (currentModel.rubrics || {}).multiTraitRubric), multiTraitRubric),
237
+ rubricless: _objectSpread(_objectSpread(_objectSpread({}, ((_defaults2["default"] === null || _defaults2["default"] === void 0 ? void 0 : (_sensibleDefaults$mod3 = _defaults2["default"].model) === null || _sensibleDefaults$mod3 === void 0 ? void 0 : _sensibleDefaults$mod3.rubrics) || {}).rubricless), (currentModel.rubrics || {}).rubricless), rubricless)
238
+ }
239
+ });
240
+ });
241
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":["MODEL_UPDATED","ModelUpdatedEvent","TYPE","RUBRIC_TAG_NAME","MULTI_TRAIT_RUBRIC_TAG_NAME","ComplexSimpleRubricConfigure","RubricConfigure","ComplexMTRConfigure","MultiTraitRubricConfigure","defineComplexRubric","customElements","get","define","prepareCustomizationObject","config","model","configuration","sensibleDefaults","ComplexRubricConfigureElement","m","reset","_model","createDefaultModel","dispatchModelUpdated","_render","e","target","preventDefault","stopImmediatePropagation","id","getAttribute","update","rubrics","dispatchEvent","canUpdateModel","debug","log","_configuration","onConfigurationChanged","bind","resetValue","c","info","onModelChanged","addEventListener","onModelUpdated","removeEventListener","element","React","createElement","Main","ReactDOM","render","HTMLElement","simpleRubric","rubricless","multiTraitRubric","currentModel","pieDefaults"],"mappings":"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","sourcesContent":["import { ModelUpdatedEvent } from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport RubricConfigure from '@pie-element/rubric/configure/lib';\nimport MultiTraitRubricConfigure from '@pie-element/multi-trait-rubric/configure/lib';\nimport debug from 'debug';\nimport defaults from 'lodash/defaults';\nimport Main from './main';\nimport sensibleDefaults from './defaults';\n\nconst MODEL_UPDATED = ModelUpdatedEvent.TYPE;\nconst RUBRIC_TAG_NAME = 'rubric-configure';\nconst MULTI_TRAIT_RUBRIC_TAG_NAME = 'multi-trait-rubric-configure';\n\nclass ComplexSimpleRubricConfigure extends RubricConfigure {\n}\n\nclass ComplexMTRConfigure extends MultiTraitRubricConfigure {\n}\n\nconst defineComplexRubric = () => {\n if (!customElements.get(RUBRIC_TAG_NAME)) {\n customElements.define(RUBRIC_TAG_NAME, ComplexSimpleRubricConfigure);\n }\n if (!customElements.get(MULTI_TRAIT_RUBRIC_TAG_NAME)) {\n customElements.define(MULTI_TRAIT_RUBRIC_TAG_NAME, ComplexMTRConfigure);\n }\n};\n\ndefineComplexRubric();\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, sensibleDefaults.configuration);\n\n return {\n configuration,\n model,\n };\n};\n\nexport default class ComplexRubricConfigureElement extends HTMLElement {\n static createDefaultModel = (\n {\n rubrics: { simpleRubric = {}, rubricless = {}, multiTraitRubric = {} } = { simpleRubric: {}, rubricless: {}, multiTraitRubric: {} },\n ...model\n } = {},\n currentModel = {},\n ) =>\n {\n const pieDefaults = sensibleDefaults?.model || {}\n return {\n ...pieDefaults,\n ...currentModel,\n ...model,\n rubrics: {\n simpleRubric: {\n ...(sensibleDefaults?.model?.rubrics || {}).simpleRubric,\n ...(currentModel.rubrics || {}).simpleRubric,\n ...simpleRubric,\n },\n multiTraitRubric: {\n ...(sensibleDefaults?.model?.rubrics || {}).multiTraitRubric,\n ...(currentModel.rubrics || {}).multiTraitRubric,\n ...multiTraitRubric,\n },\n rubricless: {\n ...(sensibleDefaults?.model?.rubrics || {}).rubricless,\n ...(currentModel.rubrics || {}).rubricless,\n ...rubricless,\n },\n },\n }};\n\n constructor() {\n super();\n this.canUpdateModel = false;\n\n debug.log('constructor called');\n\n this._model = ComplexRubricConfigureElement.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(m) {\n this._model = ComplexRubricConfigureElement.createDefaultModel(m, this._model);\n\n this.canUpdateModel = true;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged = (m, reset) => {\n this._model = ComplexRubricConfigureElement.createDefaultModel(m, this._model);\n\n this.dispatchModelUpdated(reset);\n\n this._render();\n };\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n this._configuration = info.configuration;\n\n this._render();\n }\n\n onConfigurationChanged(c) {\n this._configuration = prepareCustomizationObject(c, this._model).configuration;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n onModelUpdated = (e) => {\n if (e.target === this) {\n return;\n }\n\n e.preventDefault();\n e.stopImmediatePropagation();\n\n const id = e.target && e.target.getAttribute('id');\n\n if (id) {\n if (e.update) {\n this._model.rubrics[id] = e.update;\n }\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n };\n\n connectedCallback() {\n this.addEventListener(MODEL_UPDATED, this.onModelUpdated);\n this._render();\n }\n\n disconnectedCallback() {\n this.removeEventListener(MODEL_UPDATED, this.onModelUpdated);\n }\n\n _render() {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n canUpdateModel: this.canUpdateModel\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.Main = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _react = _interopRequireDefault(require("react"));
25
+
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ var _rubric = require("@pie-lib/pie-toolbox/rubric");
29
+
30
+ var _configUi = require("@pie-lib/pie-toolbox/config-ui");
31
+
32
+ var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
33
+
34
+ var _RadioGroup = _interopRequireDefault(require("@material-ui/core/RadioGroup"));
35
+
36
+ var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
37
+
38
+ var _styles = require("@material-ui/core/styles");
39
+
40
+ var _rubricLabels;
41
+
42
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
+
44
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
45
+
46
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
47
+
48
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
49
+
50
+ var styles = {
51
+ root: {
52
+ width: 'fit-content',
53
+ paddingRight: '24px',
54
+ boxSizing: 'border-box',
55
+ '&:hover': {
56
+ background: 'var(--pie-secondary-background, rgba(241,241,241,1))'
57
+ }
58
+ }
59
+ };
60
+ var rubricLabels = (_rubricLabels = {}, (0, _defineProperty2["default"])(_rubricLabels, _rubric.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC, 'Multi Trait Rubric'), (0, _defineProperty2["default"])(_rubricLabels, _rubric.RUBRIC_TYPES.SIMPLE_RUBRIC, 'Simple Rubric'), (0, _defineProperty2["default"])(_rubricLabels, _rubric.RUBRIC_TYPES.RUBRICLESS, 'Rubricless'), _rubricLabels);
61
+
62
+ var Main = /*#__PURE__*/function (_React$Component) {
63
+ (0, _inherits2["default"])(Main, _React$Component);
64
+
65
+ var _super = _createSuper(Main);
66
+
67
+ function Main() {
68
+ var _this;
69
+
70
+ (0, _classCallCheck2["default"])(this, Main);
71
+
72
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
73
+ args[_key] = arguments[_key];
74
+ }
75
+
76
+ _this = _super.call.apply(_super, [this].concat(args));
77
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelChanged", function (model) {
78
+ var onModelChanged = _this.props.onModelChanged;
79
+ return onModelChanged(model);
80
+ });
81
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeRubricType", function (e) {
82
+ var model = _this.props.model;
83
+ var rubricType = e.target.value;
84
+
85
+ _this.onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
86
+ rubricType: rubricType
87
+ }));
88
+ });
89
+ return _this;
90
+ }
91
+
92
+ (0, _createClass2["default"])(Main, [{
93
+ key: "render",
94
+ value: function render() {
95
+ var _this2 = this;
96
+
97
+ var _this$props = this.props,
98
+ model = _this$props.model,
99
+ configuration = _this$props.configuration,
100
+ canUpdateModel = _this$props.canUpdateModel,
101
+ classes = _this$props.classes;
102
+
103
+ var _ref = model || {},
104
+ _ref$rubrics = _ref.rubrics,
105
+ rubrics = _ref$rubrics === void 0 ? {} : _ref$rubrics;
106
+
107
+ var rubricType = model.rubricType;
108
+ var _configuration$conten = configuration.contentDimensions,
109
+ contentDimensions = _configuration$conten === void 0 ? {} : _configuration$conten,
110
+ _configuration$rubric = configuration.rubricOptions,
111
+ rubricOptions = _configuration$rubric === void 0 ? [] : _configuration$rubric,
112
+ multiTraitRubric = configuration.multiTraitRubric,
113
+ simpleRubric = configuration.simpleRubric,
114
+ rubricless = configuration.rubricless,
115
+ width = configuration.width;
116
+ var rubricTag = '';
117
+
118
+ if (!rubricType) {
119
+ rubricType = _rubric.RUBRIC_TYPES.SIMPLE_RUBRIC;
120
+ }
121
+
122
+ var isRubricTypeAvailable = rubricOptions.indexOf(rubricType) > -1;
123
+
124
+ if (canUpdateModel) {
125
+ switch (rubricType) {
126
+ case _rubric.RUBRIC_TYPES.SIMPLE_RUBRIC:
127
+ default:
128
+ rubricTag = /*#__PURE__*/_react["default"].createElement("rubric-configure", {
129
+ id: "simpleRubric",
130
+ key: "simple-rubric",
131
+ ref: function ref(_ref2) {
132
+ if (_ref2) {
133
+ _this2.simpleRubric = _ref2;
134
+ _this2.simpleRubric.model = _objectSpread(_objectSpread({}, rubrics.simpleRubric), {}, {
135
+ errors: model.errors || {}
136
+ });
137
+ _this2.simpleRubric.configuration = _objectSpread(_objectSpread({}, simpleRubric), {}, {
138
+ width: width
139
+ });
140
+ }
141
+ }
142
+ });
143
+ break;
144
+
145
+ case _rubric.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:
146
+ rubricTag = /*#__PURE__*/_react["default"].createElement("multi-trait-rubric-configure", {
147
+ id: "multiTraitRubric",
148
+ key: "multi-trait-rubric",
149
+ ref: function ref(_ref3) {
150
+ if (_ref3) {
151
+ _this2.multiTraitRubric = _ref3;
152
+ _this2.multiTraitRubric.model = _objectSpread(_objectSpread({}, rubrics.multiTraitRubric), {}, {
153
+ errors: model.errors || {}
154
+ });
155
+ _this2.multiTraitRubric.configuration = _objectSpread(_objectSpread({}, multiTraitRubric), {}, {
156
+ width: width || multiTraitRubric.width
157
+ });
158
+ }
159
+ }
160
+ });
161
+ break;
162
+
163
+ case _rubric.RUBRIC_TYPES.RUBRICLESS:
164
+ rubricTag = /*#__PURE__*/_react["default"].createElement("rubric-configure", {
165
+ id: "rubricless",
166
+ key: "rubricless",
167
+ ref: function ref(_ref4) {
168
+ if (_ref4) {
169
+ _this2.rubricless = _ref4;
170
+ _this2.rubricless.model = rubrics.rubricless;
171
+ _this2.rubricless.configuration = _objectSpread(_objectSpread({}, rubricless), {}, {
172
+ width: width
173
+ });
174
+ }
175
+ }
176
+ });
177
+ break;
178
+ }
179
+ }
180
+
181
+ return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
182
+ dimensions: contentDimensions,
183
+ hideSettings: true,
184
+ settings: null
185
+ }, /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
186
+ "aria-label": "rubric-type",
187
+ name: "rubricType",
188
+ value: model.rubricType,
189
+ onChange: this.onChangeRubricType
190
+ }, rubricOptions.length > 1 && rubricOptions.map(function (availableRubric, i) {
191
+ return /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
192
+ key: i,
193
+ value: availableRubric,
194
+ control: /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
195
+ checked: rubricType === availableRubric
196
+ }),
197
+ label: rubricLabels[availableRubric],
198
+ classes: {
199
+ root: classes.root
200
+ }
201
+ });
202
+ })), isRubricTypeAvailable && rubricTag);
203
+ }
204
+ }]);
205
+ return Main;
206
+ }(_react["default"].Component);
207
+
208
+ exports.Main = Main;
209
+ (0, _defineProperty2["default"])(Main, "propTypes", {
210
+ classes: _propTypes["default"].object,
211
+ canUpdateModel: _propTypes["default"].bool,
212
+ configuration: _propTypes["default"].object,
213
+ model: _propTypes["default"].object,
214
+ onModelChanged: _propTypes["default"].func,
215
+ onConfigurationChanged: _propTypes["default"].func
216
+ });
217
+
218
+ var _default = (0, _styles.withStyles)(styles)(Main);
219
+
220
+ exports["default"] = _default;
221
+ //# sourceMappingURL=main.js.map