@pie-element/complex-rubric 2.1.2-next.57 → 2.1.2-next.72

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.
@@ -1,9 +1,18 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
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
+
7
16
  var multiTraitDefaultModel = {
8
17
  visibleToStudent: true,
9
18
  halfScoring: false,
@@ -19,6 +28,11 @@ var rubricDefaultModel = {
19
28
  maxPoints: 4,
20
29
  excludeZero: false
21
30
  };
31
+ var rubriclessDefaultModel = {
32
+ maxPoints: 100,
33
+ excludeZero: false,
34
+ rubriclessInstructionEnabled: true
35
+ };
22
36
  var multiTraitDefaultConfiguration = {
23
37
  settingsPanelDisabled: false,
24
38
  excludeZeroDialogBoxContent: {
@@ -93,19 +107,34 @@ var rubricDefaultConfiguration = {
93
107
  settingsPanelDisabled: false,
94
108
  maxMaxPoints: 9
95
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
+ };
96
129
  var _default = {
97
130
  model: {
98
131
  rubricType: 'simpleRubric',
99
- rubrics: {
100
- simpleRubric: rubricDefaultModel,
101
- multiTraitRubric: multiTraitDefaultModel
102
- }
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)
103
133
  },
104
- configuration: {
134
+ configuration: (_configuration = {
105
135
  // width: '770px',
106
- multiTraitRubric: multiTraitDefaultConfiguration,
107
- simpleRubric: rubricDefaultConfiguration
108
- }
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)
109
138
  };
110
139
  exports["default"] = _default;
111
140
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["multiTraitDefaultModel","visibleToStudent","halfScoring","pointLabels","description","standards","scales","excludeZero","rubricDefaultModel","points","sampleAnswers","maxPoints","multiTraitDefaultConfiguration","settingsPanelDisabled","excludeZeroDialogBoxContent","title","text","includeZeroDialogBoxContent","deleteScaleDialogBoxContent","maxPointsDialogBoxContent","spellCheck","label","settings","enabled","showExcludeZero","showScorePointLabels","showDescription","showVisibleToStudent","showHalfScoring","showStandards","showLevelTagInput","dragAndDrop","maxMaxPoints","rubricDefaultConfiguration","showMaxPoint","model","rubricType","rubrics","simpleRubric","multiTraitRubric","configuration"],"mappings":"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","sourcesContent":["const 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: 4,\n excludeZero: false,\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\nexport default {\n model: {\n rubricType: 'simpleRubric',\n rubrics: { simpleRubric: rubricDefaultModel, multiTraitRubric: multiTraitDefaultModel },\n },\n configuration: {\n // width: '770px',\n multiTraitRubric: multiTraitDefaultConfiguration,\n simpleRubric: rubricDefaultConfiguration,\n },\n};\n"],"file":"defaults.js"}
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: 4,\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"}
@@ -216,10 +216,13 @@ exports["default"] = ComplexRubricConfigureElement;
216
216
 
217
217
  _ref$rubrics = _ref$rubrics === void 0 ? {
218
218
  simpleRubric: {},
219
+ rubricless: {},
219
220
  multiTraitRubric: {}
220
221
  } : _ref$rubrics;
221
222
  var _ref$rubrics$simpleRu = _ref$rubrics.simpleRubric,
222
223
  simpleRubric = _ref$rubrics$simpleRu === void 0 ? {} : _ref$rubrics$simpleRu,
224
+ _ref$rubrics$rubricle = _ref$rubrics.rubricless,
225
+ rubricless = _ref$rubrics$rubricle === void 0 ? {} : _ref$rubrics$rubricle,
223
226
  _ref$rubrics$multiTra = _ref$rubrics.multiTraitRubric,
224
227
  multiTraitRubric = _ref$rubrics$multiTra === void 0 ? {} : _ref$rubrics$multiTra,
225
228
  model = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
@@ -227,7 +230,8 @@ exports["default"] = ComplexRubricConfigureElement;
227
230
  return _objectSpread(_objectSpread(_objectSpread({}, defaults), model), {}, {
228
231
  rubrics: {
229
232
  simpleRubric: _objectSpread(_objectSpread({}, (defaults.rubrics || {}).simpleRubric), simpleRubric),
230
- multiTraitRubric: _objectSpread(_objectSpread({}, (defaults.rubrics || {}).multiTraitRubric), multiTraitRubric)
233
+ multiTraitRubric: _objectSpread(_objectSpread({}, (defaults.rubrics || {}).multiTraitRubric), multiTraitRubric),
234
+ rubricless: _objectSpread(_objectSpread({}, (defaults.rubrics || {}).rubricless), rubricless)
231
235
  }
232
236
  });
233
237
  });
@@ -1 +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","multiTraitRubric","defaults"],"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 = {}, multiTraitRubric = {} } = { simpleRubric: {}, multiTraitRubric: {} },\n ...model\n } = {},\n defaults = {},\n ) => ({\n ...defaults,\n ...model,\n rubrics: {\n simpleRubric: {\n ...(defaults.rubrics || {}).simpleRubric,\n ...simpleRubric,\n },\n multiTraitRubric: {\n ...(defaults.rubrics || {}).multiTraitRubric,\n ...multiTraitRubric,\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"}
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","defaults"],"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 defaults = {},\n ) =>\n {\n return {\n ...defaults,\n ...model,\n rubrics: {\n simpleRubric: {\n ...(defaults.rubrics || {}).simpleRubric,\n ...simpleRubric,\n },\n multiTraitRubric: {\n ...(defaults.rubrics || {}).multiTraitRubric,\n ...multiTraitRubric,\n },\n rubricless: {\n ...(defaults.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"}
@@ -37,6 +37,8 @@ var _styles = require("@material-ui/core/styles");
37
37
 
38
38
  var _core = require("@material-ui/core");
39
39
 
40
+ var _rubricLabels;
41
+
40
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; }
41
43
 
42
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; }
@@ -46,6 +48,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
46
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; } }
47
49
 
48
50
  var styles = {};
51
+ 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);
49
52
 
50
53
  var Main = /*#__PURE__*/function (_React$Component) {
51
54
  (0, _inherits2["default"])(Main, _React$Component);
@@ -86,13 +89,19 @@ var Main = /*#__PURE__*/function (_React$Component) {
86
89
  model = _this$props.model,
87
90
  configuration = _this$props.configuration,
88
91
  canUpdateModel = _this$props.canUpdateModel;
89
- var _model$rubrics = model.rubrics,
90
- rubrics = _model$rubrics === void 0 ? {} : _model$rubrics;
92
+
93
+ var _ref = model || {},
94
+ _ref$rubrics = _ref.rubrics,
95
+ rubrics = _ref$rubrics === void 0 ? {} : _ref$rubrics;
96
+
91
97
  var rubricType = model.rubricType;
92
98
  var _configuration$conten = configuration.contentDimensions,
93
99
  contentDimensions = _configuration$conten === void 0 ? {} : _configuration$conten,
100
+ _configuration$rubric = configuration.rubricOptions,
101
+ rubricOptions = _configuration$rubric === void 0 ? [] : _configuration$rubric,
94
102
  multiTraitRubric = configuration.multiTraitRubric,
95
103
  simpleRubric = configuration.simpleRubric,
104
+ rubricless = configuration.rubricless,
96
105
  width = configuration.width;
97
106
  var rubricTag = '';
98
107
 
@@ -100,6 +109,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
100
109
  rubricType = _rubric.RUBRIC_TYPES.SIMPLE_RUBRIC;
101
110
  }
102
111
 
112
+ var isRubricTypeAvailable = rubricOptions.indexOf(rubricType) > -1;
113
+
103
114
  if (canUpdateModel) {
104
115
  switch (rubricType) {
105
116
  case _rubric.RUBRIC_TYPES.SIMPLE_RUBRIC:
@@ -107,9 +118,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
107
118
  rubricTag = /*#__PURE__*/_react["default"].createElement("rubric-configure", {
108
119
  id: "simpleRubric",
109
120
  key: "simple-rubric",
110
- ref: function ref(_ref) {
111
- if (_ref) {
112
- _this2.simpleRubric = _ref;
121
+ ref: function ref(_ref2) {
122
+ if (_ref2) {
123
+ _this2.simpleRubric = _ref2;
113
124
  _this2.simpleRubric.model = _objectSpread(_objectSpread({}, rubrics.simpleRubric), {}, {
114
125
  errors: model.errors || {}
115
126
  });
@@ -125,9 +136,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
125
136
  rubricTag = /*#__PURE__*/_react["default"].createElement("multi-trait-rubric-configure", {
126
137
  id: "multiTraitRubric",
127
138
  key: "multi-trait-rubric",
128
- ref: function ref(_ref2) {
129
- if (_ref2) {
130
- _this2.multiTraitRubric = _ref2;
139
+ ref: function ref(_ref3) {
140
+ if (_ref3) {
141
+ _this2.multiTraitRubric = _ref3;
131
142
  _this2.multiTraitRubric.model = _objectSpread(_objectSpread({}, rubrics.multiTraitRubric), {}, {
132
143
  errors: model.errors || {}
133
144
  });
@@ -138,6 +149,22 @@ var Main = /*#__PURE__*/function (_React$Component) {
138
149
  }
139
150
  });
140
151
  break;
152
+
153
+ case _rubric.RUBRIC_TYPES.RUBRICLESS:
154
+ rubricTag = /*#__PURE__*/_react["default"].createElement("rubric-configure", {
155
+ id: "rubricless",
156
+ key: "rubricless",
157
+ ref: function ref(_ref4) {
158
+ if (_ref4) {
159
+ _this2.rubricless = _ref4;
160
+ _this2.rubricless.model = rubrics.rubricless;
161
+ _this2.rubricless.configuration = _objectSpread(_objectSpread({}, rubricless), {}, {
162
+ width: width
163
+ });
164
+ }
165
+ }
166
+ });
167
+ break;
141
168
  }
142
169
  }
143
170
 
@@ -150,19 +177,16 @@ var Main = /*#__PURE__*/function (_React$Component) {
150
177
  name: "rubricType",
151
178
  value: model.rubricType,
152
179
  onChange: this.onChangeRubricType
153
- }, /*#__PURE__*/_react["default"].createElement(_core.FormControlLabel, {
154
- value: _rubric.RUBRIC_TYPES.SIMPLE_RUBRIC,
155
- control: /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
156
- checked: rubricType === _rubric.RUBRIC_TYPES.SIMPLE_RUBRIC
157
- }),
158
- label: "Simple Rubric"
159
- }), /*#__PURE__*/_react["default"].createElement(_core.FormControlLabel, {
160
- value: _rubric.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC,
161
- control: /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
162
- checked: rubricType === _rubric.RUBRIC_TYPES.MULTI_TRAIT_RUBRIC
163
- }),
164
- label: "Multi Trait Rubric"
165
- })), rubricTag);
180
+ }, rubricOptions.length > 1 && rubricOptions.map(function (availableRubric, i) {
181
+ return /*#__PURE__*/_react["default"].createElement(_core.FormControlLabel, {
182
+ key: i,
183
+ value: availableRubric,
184
+ control: /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
185
+ checked: rubricType === availableRubric
186
+ }),
187
+ label: rubricLabels[availableRubric]
188
+ });
189
+ })), isRubricTypeAvailable && rubricTag);
166
190
  }
167
191
  }]);
168
192
  return Main;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["styles","Main","model","onModelChanged","props","e","rubricType","target","value","configuration","canUpdateModel","rubrics","contentDimensions","multiTraitRubric","simpleRubric","width","rubricTag","RUBRIC_TYPES","SIMPLE_RUBRIC","ref","errors","MULTI_TRAIT_RUBRIC","onChangeRubricType","React","Component","classes","PropTypes","object","bool","func","onConfigurationChanged"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RUBRIC_TYPES } from '@pie-lib/pie-toolbox/rubric';\nimport { layout } from '@pie-lib/pie-toolbox/config-ui';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport { withStyles } from '@material-ui/core/styles';\nimport { FormControlLabel } from '@material-ui/core';\n\nconst styles = {};\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n canUpdateModel: PropTypes.bool,\n configuration: PropTypes.object,\n model: PropTypes.object,\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n };\n\n onModelChanged = (model) => {\n const { onModelChanged } = this.props;\n\n return onModelChanged(model);\n };\n\n onChangeRubricType = (e) => {\n const { model } = this.props;\n\n const rubricType = e.target.value;\n this.onModelChanged({ ...model, rubricType });\n };\n\n render() {\n const { model, configuration, canUpdateModel } = this.props;\n const { rubrics = {} } = model;\n let { rubricType } = model;\n const { contentDimensions = {}, multiTraitRubric, simpleRubric, width } = configuration;\n let rubricTag = '';\n\n if (!rubricType) {\n rubricType = RUBRIC_TYPES.SIMPLE_RUBRIC;\n }\n\n if (canUpdateModel) {\n switch (rubricType) {\n case RUBRIC_TYPES.SIMPLE_RUBRIC:\n default:\n rubricTag = (\n <rubric-configure\n id=\"simpleRubric\"\n key=\"simple-rubric\"\n ref={(ref) => {\n if (ref) {\n this.simpleRubric = ref;\n this.simpleRubric.model = {...rubrics.simpleRubric, errors: model.errors || {}};\n this.simpleRubric.configuration = { ...simpleRubric, width };\n }\n }}\n />\n );\n break;\n\n case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:\n rubricTag = (\n <multi-trait-rubric-configure\n id=\"multiTraitRubric\"\n key=\"multi-trait-rubric\"\n ref={(ref) => {\n if (ref) {\n this.multiTraitRubric = ref;\n\n this.multiTraitRubric.model = {...rubrics.multiTraitRubric, errors: model.errors || {} };\n this.multiTraitRubric.configuration = { ...multiTraitRubric, width: width || multiTraitRubric.width };\n }\n }}\n />\n );\n break;\n }\n }\n\n return (\n <layout.ConfigLayout dimensions={contentDimensions} hideSettings={true} settings={null}>\n <RadioGroup\n aria-label=\"rubric-type\"\n name=\"rubricType\"\n value={model.rubricType}\n onChange={this.onChangeRubricType}\n >\n <FormControlLabel\n value={RUBRIC_TYPES.SIMPLE_RUBRIC}\n control={<Radio checked={rubricType === RUBRIC_TYPES.SIMPLE_RUBRIC} />}\n label=\"Simple Rubric\"\n />\n\n <FormControlLabel\n value={RUBRIC_TYPES.MULTI_TRAIT_RUBRIC}\n control={<Radio checked={rubricType === RUBRIC_TYPES.MULTI_TRAIT_RUBRIC} />}\n label=\"Multi Trait Rubric\"\n />\n </RadioGroup>\n\n {rubricTag}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["styles","rubricLabels","RUBRIC_TYPES","MULTI_TRAIT_RUBRIC","SIMPLE_RUBRIC","RUBRICLESS","Main","model","onModelChanged","props","e","rubricType","target","value","configuration","canUpdateModel","rubrics","contentDimensions","rubricOptions","multiTraitRubric","simpleRubric","rubricless","width","rubricTag","isRubricTypeAvailable","indexOf","ref","errors","onChangeRubricType","length","map","availableRubric","i","React","Component","classes","PropTypes","object","bool","func","onConfigurationChanged"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RUBRIC_TYPES } from '@pie-lib/pie-toolbox/rubric';\nimport { layout } from '@pie-lib/pie-toolbox/config-ui';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport { withStyles } from '@material-ui/core/styles';\nimport { FormControlLabel } from '@material-ui/core';\n\nconst styles = {};\nconst rubricLabels = {\n [RUBRIC_TYPES.MULTI_TRAIT_RUBRIC]: 'Multi Trait Rubric',\n [RUBRIC_TYPES.SIMPLE_RUBRIC]: 'Simple Rubric',\n [RUBRIC_TYPES.RUBRICLESS]: 'Rubricless',\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n canUpdateModel: PropTypes.bool,\n configuration: PropTypes.object,\n model: PropTypes.object,\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n };\n\n onModelChanged = (model) => {\n const { onModelChanged } = this.props;\n\n return onModelChanged(model);\n };\n\n onChangeRubricType = (e) => {\n const { model } = this.props;\n\n const rubricType = e.target.value;\n this.onModelChanged({ ...model, rubricType });\n };\n\n render() {\n const { model, configuration, canUpdateModel } = this.props;\n\n const { rubrics = {} } = model || {};\n let { rubricType } = model;\n const { contentDimensions = {}, rubricOptions = [], multiTraitRubric, simpleRubric, rubricless, width } = configuration;\n let rubricTag = '';\n\n if (!rubricType) {\n rubricType = RUBRIC_TYPES.SIMPLE_RUBRIC;\n }\n\n const isRubricTypeAvailable = rubricOptions.indexOf(rubricType) > -1;\n\n if (canUpdateModel) {\n switch (rubricType) {\n case RUBRIC_TYPES.SIMPLE_RUBRIC:\n default:\n rubricTag = (\n <rubric-configure\n id=\"simpleRubric\"\n key=\"simple-rubric\"\n ref={(ref) => {\n if (ref) {\n this.simpleRubric = ref;\n this.simpleRubric.model = {...rubrics.simpleRubric, errors: model.errors || {}};\n this.simpleRubric.configuration = { ...simpleRubric, width };\n }\n }}\n />\n );\n break;\n\n case RUBRIC_TYPES.MULTI_TRAIT_RUBRIC:\n rubricTag = (\n <multi-trait-rubric-configure\n id=\"multiTraitRubric\"\n key=\"multi-trait-rubric\"\n ref={(ref) => {\n if (ref) {\n this.multiTraitRubric = ref;\n\n this.multiTraitRubric.model = {...rubrics.multiTraitRubric, errors: model.errors || {} };\n this.multiTraitRubric.configuration = { ...multiTraitRubric, width: width || multiTraitRubric.width };\n }\n }}\n />\n );\n break;\n\n case RUBRIC_TYPES.RUBRICLESS:\n rubricTag = (\n <rubric-configure\n id=\"rubricless\"\n key=\"rubricless\"\n ref={(ref) => {\n if (ref) {\n this.rubricless = ref;\n\n this.rubricless.model = rubrics.rubricless;\n this.rubricless.configuration = { ...rubricless, width };\n }\n }}\n />\n );\n break;\n }\n }\n\n return (\n <layout.ConfigLayout dimensions={contentDimensions} hideSettings={true} settings={null}>\n <RadioGroup\n aria-label=\"rubric-type\"\n name=\"rubricType\"\n value={model.rubricType}\n onChange={this.onChangeRubricType}\n >\n {\n rubricOptions.length > 1 && rubricOptions.map((availableRubric, i)=>\n <FormControlLabel\n key={i}\n value={availableRubric}\n control={<Radio checked={rubricType === availableRubric} />}\n label={rubricLabels[availableRubric]}\n />\n )\n }\n </RadioGroup>\n\n {isRubricTypeAvailable && rubricTag}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
@@ -18,6 +18,7 @@ exports[`Main snapshot renders 1`] = `
18
18
  checked={true}
19
19
  />
20
20
  }
21
+ key="0"
21
22
  label="Simple Rubric"
22
23
  value="simpleRubric"
23
24
  />
@@ -27,9 +28,19 @@ exports[`Main snapshot renders 1`] = `
27
28
  checked={false}
28
29
  />
29
30
  }
31
+ key="1"
30
32
  label="Multi Trait Rubric"
31
33
  value="multiTraitRubric"
32
34
  />
35
+ <WithStyles(WithFormControlContext(FormControlLabel))
36
+ control={
37
+ <WithStyles(Radio)
38
+ checked={false}
39
+ />
40
+ }
41
+ key="2"
42
+ value="rubricless"
43
+ />
33
44
  </RadioGroup>
34
45
  <rubric-configure
35
46
  id="simpleRubric"
@@ -56,6 +67,7 @@ exports[`Main snapshot renders multi trait rubric 1`] = `
56
67
  checked={false}
57
68
  />
58
69
  }
70
+ key="0"
59
71
  label="Simple Rubric"
60
72
  value="simpleRubric"
61
73
  />
@@ -65,9 +77,19 @@ exports[`Main snapshot renders multi trait rubric 1`] = `
65
77
  checked={true}
66
78
  />
67
79
  }
80
+ key="1"
68
81
  label="Multi Trait Rubric"
69
82
  value="multiTraitRubric"
70
83
  />
84
+ <WithStyles(WithFormControlContext(FormControlLabel))
85
+ control={
86
+ <WithStyles(Radio)
87
+ checked={false}
88
+ />
89
+ }
90
+ key="2"
91
+ value="rubricless"
92
+ />
71
93
  </RadioGroup>
72
94
  <multi-trait-rubric-configure
73
95
  id="multiTraitRubric"
@@ -94,6 +116,7 @@ exports[`Main snapshot renders simple rubric 1`] = `
94
116
  checked={true}
95
117
  />
96
118
  }
119
+ key="0"
97
120
  label="Simple Rubric"
98
121
  value="simpleRubric"
99
122
  />
@@ -103,9 +126,19 @@ exports[`Main snapshot renders simple rubric 1`] = `
103
126
  checked={false}
104
127
  />
105
128
  }
129
+ key="1"
106
130
  label="Multi Trait Rubric"
107
131
  value="multiTraitRubric"
108
132
  />
133
+ <WithStyles(WithFormControlContext(FormControlLabel))
134
+ control={
135
+ <WithStyles(Radio)
136
+ checked={false}
137
+ />
138
+ }
139
+ key="2"
140
+ value="rubricless"
141
+ />
109
142
  </RadioGroup>
110
143
  <rubric-configure
111
144
  id="simpleRubric"
@@ -36,6 +36,7 @@ describe('Main', () => {
36
36
  classes: {},
37
37
  model: model(extras),
38
38
  configuration: {
39
+ rubricOptions: ['simpleRubric', 'multiTraitRubric', 'rubricless'],
39
40
  multiTraitrubric: {
40
41
  showStandards: {
41
42
  settings: false,
@@ -1,3 +1,5 @@
1
+ import {RUBRIC_TYPES} from '@pie-lib/pie-toolbox/rubric';
2
+
1
3
  const multiTraitDefaultModel = {
2
4
  visibleToStudent: true,
3
5
  halfScoring: false,
@@ -15,6 +17,12 @@ const rubricDefaultModel = {
15
17
  excludeZero: false,
16
18
  };
17
19
 
20
+ const rubriclessDefaultModel = {
21
+ maxPoints: 100,
22
+ excludeZero: false,
23
+ rubriclessInstructionEnabled: true,
24
+ };
25
+
18
26
  const multiTraitDefaultConfiguration = {
19
27
  settingsPanelDisabled: false,
20
28
  excludeZeroDialogBoxContent: {
@@ -121,14 +129,37 @@ const rubricDefaultConfiguration = {
121
129
  maxMaxPoints: 9
122
130
  };
123
131
 
132
+
133
+ const rubriclessDefaultConfiguration = {
134
+ showExcludeZero: {
135
+ settings: true,
136
+ label: 'Ability to exclude zero',
137
+ },
138
+ showMaxPoint: {
139
+ settings: true,
140
+ label: 'Show max points dropdown',
141
+ },
142
+ settingsPanelDisabled: false,
143
+ // shows us if it simple rubric or rubricless(simple rubric with less structure)
144
+ rubricless: true,
145
+ // scoring instruction for rubricless
146
+ rubriclessInstruction: {
147
+ settings: true,
148
+ label: 'Instruction',
149
+ },
150
+ maxMaxPoints: 100,
151
+ };
152
+
124
153
  export default {
125
154
  model: {
126
155
  rubricType: 'simpleRubric',
127
- rubrics: { simpleRubric: rubricDefaultModel, multiTraitRubric: multiTraitDefaultModel },
156
+ rubrics: { [RUBRIC_TYPES.SIMPLE_RUBRIC]: rubricDefaultModel, [RUBRIC_TYPES.MULTI_TRAIT_RUBRIC]: multiTraitDefaultModel, [RUBRIC_TYPES.RUBRICLESS]: rubriclessDefaultModel },
128
157
  },
129
158
  configuration: {
130
159
  // width: '770px',
131
- multiTraitRubric: multiTraitDefaultConfiguration,
132
- simpleRubric: rubricDefaultConfiguration,
160
+ rubricOptions: ['simpleRubric', 'multiTraitRubric', 'rubricless'],
161
+ [RUBRIC_TYPES.MULTI_TRAIT_RUBRIC]: multiTraitDefaultConfiguration,
162
+ [RUBRIC_TYPES.SIMPLE_RUBRIC]: rubricDefaultConfiguration,
163
+ [RUBRIC_TYPES.RUBRICLESS]: rubriclessDefaultConfiguration,
133
164
  },
134
165
  };
@@ -41,11 +41,13 @@ const prepareCustomizationObject = (config, model) => {
41
41
  export default class ComplexRubricConfigureElement extends HTMLElement {
42
42
  static createDefaultModel = (
43
43
  {
44
- rubrics: { simpleRubric = {}, multiTraitRubric = {} } = { simpleRubric: {}, multiTraitRubric: {} },
44
+ rubrics: { simpleRubric = {}, rubricless = {}, multiTraitRubric = {} } = { simpleRubric: {}, rubricless: {}, multiTraitRubric: {} },
45
45
  ...model
46
46
  } = {},
47
47
  defaults = {},
48
- ) => ({
48
+ ) =>
49
+ {
50
+ return {
49
51
  ...defaults,
50
52
  ...model,
51
53
  rubrics: {
@@ -57,8 +59,12 @@ export default class ComplexRubricConfigureElement extends HTMLElement {
57
59
  ...(defaults.rubrics || {}).multiTraitRubric,
58
60
  ...multiTraitRubric,
59
61
  },
62
+ rubricless: {
63
+ ...(defaults.rubrics || {}).rubricless,
64
+ ...rubricless,
65
+ },
60
66
  },
61
- });
67
+ }};
62
68
 
63
69
  constructor() {
64
70
  super();
@@ -8,6 +8,11 @@ import { withStyles } from '@material-ui/core/styles';
8
8
  import { FormControlLabel } from '@material-ui/core';
9
9
 
10
10
  const styles = {};
11
+ const rubricLabels = {
12
+ [RUBRIC_TYPES.MULTI_TRAIT_RUBRIC]: 'Multi Trait Rubric',
13
+ [RUBRIC_TYPES.SIMPLE_RUBRIC]: 'Simple Rubric',
14
+ [RUBRIC_TYPES.RUBRICLESS]: 'Rubricless',
15
+ };
11
16
 
12
17
  export class Main extends React.Component {
13
18
  static propTypes = {
@@ -34,15 +39,18 @@ export class Main extends React.Component {
34
39
 
35
40
  render() {
36
41
  const { model, configuration, canUpdateModel } = this.props;
37
- const { rubrics = {} } = model;
42
+
43
+ const { rubrics = {} } = model || {};
38
44
  let { rubricType } = model;
39
- const { contentDimensions = {}, multiTraitRubric, simpleRubric, width } = configuration;
45
+ const { contentDimensions = {}, rubricOptions = [], multiTraitRubric, simpleRubric, rubricless, width } = configuration;
40
46
  let rubricTag = '';
41
47
 
42
48
  if (!rubricType) {
43
49
  rubricType = RUBRIC_TYPES.SIMPLE_RUBRIC;
44
50
  }
45
51
 
52
+ const isRubricTypeAvailable = rubricOptions.indexOf(rubricType) > -1;
53
+
46
54
  if (canUpdateModel) {
47
55
  switch (rubricType) {
48
56
  case RUBRIC_TYPES.SIMPLE_RUBRIC:
@@ -78,6 +86,23 @@ export class Main extends React.Component {
78
86
  />
79
87
  );
80
88
  break;
89
+
90
+ case RUBRIC_TYPES.RUBRICLESS:
91
+ rubricTag = (
92
+ <rubric-configure
93
+ id="rubricless"
94
+ key="rubricless"
95
+ ref={(ref) => {
96
+ if (ref) {
97
+ this.rubricless = ref;
98
+
99
+ this.rubricless.model = rubrics.rubricless;
100
+ this.rubricless.configuration = { ...rubricless, width };
101
+ }
102
+ }}
103
+ />
104
+ );
105
+ break;
81
106
  }
82
107
  }
83
108
 
@@ -89,20 +114,19 @@ export class Main extends React.Component {
89
114
  value={model.rubricType}
90
115
  onChange={this.onChangeRubricType}
91
116
  >
92
- <FormControlLabel
93
- value={RUBRIC_TYPES.SIMPLE_RUBRIC}
94
- control={<Radio checked={rubricType === RUBRIC_TYPES.SIMPLE_RUBRIC} />}
95
- label="Simple Rubric"
96
- />
97
-
98
- <FormControlLabel
99
- value={RUBRIC_TYPES.MULTI_TRAIT_RUBRIC}
100
- control={<Radio checked={rubricType === RUBRIC_TYPES.MULTI_TRAIT_RUBRIC} />}
101
- label="Multi Trait Rubric"
102
- />
117
+ {
118
+ rubricOptions.length > 1 && rubricOptions.map((availableRubric, i)=>
119
+ <FormControlLabel
120
+ key={i}
121
+ value={availableRubric}
122
+ control={<Radio checked={rubricType === availableRubric} />}
123
+ label={rubricLabels[availableRubric]}
124
+ />
125
+ )
126
+ }
103
127
  </RadioGroup>
104
128
 
105
- {rubricTag}
129
+ {isRubricTypeAvailable && rubricTag}
106
130
  </layout.ConfigLayout>
107
131
  );
108
132
  }