@pie-element/likert 2.0.2-esm.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/configure/CHANGELOG.md +19 -0
- package/configure/package.json +4 -4
- package/controller/CHANGELOG.md +16 -0
- package/controller/package.json +1 -1
- package/lib/likert.js +0 -1
- package/lib/likert.js.map +1 -1
- package/lib/main.js +1 -8
- package/lib/main.js.map +1 -1
- package/package.json +5 -22
- package/esm/configure.js +0 -890
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -96
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -322
- package/esm/element.js.map +0 -1
package/esm/configure.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"configure.js","sources":["../configure/src/likertEntities.js","../configure/src/choiceGenerator.js","../configure/src/main.jsx","../configure/src/defaults.js","../configure/src/index.js"],"sourcesContent":["export const LIKERT_SCALE = {\n likert3: 'likert3',\n likert5: 'likert5',\n likert7: 'likert7',\n};\n\nexport const LIKERT_TYPE = {\n agreement: 'agreement',\n frequency: 'frequency',\n yesNo: 'yesNo',\n importance: 'importance',\n likelihood: 'likelihood',\n like: 'like',\n};\n\nexport const LIKERT_ORIENTATION = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n};\n","import { LIKERT_TYPE, LIKERT_SCALE } from './likertEntities';\n\nconst likert3Agreement = [\n {\n label: 'Disagree',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Agree',\n value: 1,\n },\n];\n\nconst likert5Agreement = [\n {\n label: 'Strongly Disagree',\n value: -2,\n },\n ...likert3Agreement,\n {\n label: 'Strongly Agree',\n value: 2,\n },\n];\n\nconst likert7Agreement = [\n {\n label: 'Extremely Disagree',\n value: -3,\n },\n ...likert5Agreement,\n {\n label: 'Extremely Agree',\n value: 3,\n },\n];\n\nconst likert3Frequency = [\n {\n label: 'Infrequently',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Frequently',\n value: 1,\n },\n];\n\nconst likert5Frequency = [\n {\n label: 'Very Infrequently',\n value: -2,\n },\n ...likert3Frequency,\n {\n label: 'Very Frequently',\n value: 2,\n },\n];\n\nconst likert7Frequency = [\n {\n label: 'Never',\n value: -3,\n },\n ...likert5Frequency,\n {\n label: 'Always',\n value: 3,\n },\n];\n\nconst likert3YesNo = [\n {\n label: 'No',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Yes',\n value: 1,\n },\n];\n\nconst likert5YesNo = [\n {\n label: 'No',\n value: -2,\n },\n {\n label: 'Not really',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Sometimes',\n value: 1,\n },\n {\n label: 'Yes',\n value: 2,\n },\n];\n\nconst likert7YesNo = [\n {\n label: 'No',\n value: -3,\n },\n {\n label: 'Rarely',\n value: -2,\n },\n {\n label: 'Not really',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Sometimes',\n value: 1,\n },\n {\n label: 'Very Often',\n value: 2,\n },\n {\n label: 'Always',\n value: 3,\n },\n];\n\nconst likert3Likelihood = [\n {\n label: 'Not Likely',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Likely',\n value: 1,\n },\n];\n\nconst likert5Likelihood = [\n {\n label: 'Very Unlikely',\n value: -2,\n },\n ...likert3Likelihood,\n {\n label: 'Very Likely',\n value: 2,\n },\n];\n\nconst likert7Likelihood = [\n {\n label: 'Extremely Unlikely',\n value: -3,\n },\n ...likert5Likelihood,\n {\n label: 'Extremely Likely',\n value: 3,\n },\n];\n\nconst likert3Importance = [\n {\n label: 'Not Important',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Important',\n value: 1,\n },\n];\n\nconst likert5Importance = [\n {\n label: 'Very Not Important',\n value: -2,\n },\n ...likert3Importance,\n {\n label: 'Very Important',\n value: 2,\n },\n];\n\nconst likert7Importance = [\n {\n label: 'Extremely Not Important',\n value: -3,\n },\n ...likert5Importance,\n {\n label: 'Extremely Important',\n value: 3,\n },\n];\n\nconst likert3Like = [\n {\n label: 'Dislike',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Like',\n value: 1,\n },\n];\n\nconst likert5Like = [\n {\n label: 'Really Dislike',\n value: -2,\n },\n ...likert3Like,\n {\n label: 'Really Like',\n value: 2,\n },\n];\n\nconst likert7Like = [\n {\n label: 'Extremely Dislike',\n value: -3,\n },\n ...likert5Like,\n {\n label: 'Extremely Like',\n value: 3,\n },\n];\n\nconst generateChoices = (likertScale, likertType) => {\n switch (`${likertScale}-${likertType}`) {\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.agreement}`:\n return [...likert3Agreement];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.agreement}`:\n return [...likert5Agreement];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.agreement}`:\n return [...likert7Agreement];\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.frequency}`:\n return [...likert3Frequency];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.frequency}`:\n return [...likert5Frequency];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.frequency}`:\n return [...likert7Frequency];\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.yesNo}`:\n return [...likert3YesNo];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.yesNo}`:\n return [...likert5YesNo];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.yesNo}`:\n return [...likert7YesNo];\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.likelihood}`:\n return [...likert3Likelihood];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.likelihood}`:\n return [...likert5Likelihood];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.likelihood}`:\n return [...likert7Likelihood];\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.importance}`:\n return [...likert3Importance];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.importance}`:\n return [...likert5Importance];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.importance}`:\n return [...likert7Importance];\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.like}`:\n return [...likert3Like];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.like}`:\n return [...likert5Like];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.like}`:\n return [...likert7Like];\n default:\n return [];\n }\n};\n\nexport default generateChoices;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport { InputContainer, settings, layout, NumberTextField } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport merge from 'lodash/merge';\nimport { LIKERT_TYPE, LIKERT_SCALE, LIKERT_ORIENTATION } from './likertEntities';\nimport generateChoices from './choiceGenerator';\nimport { color } from '@pie-lib/render-ui';\n\nconst { Panel, toggle, radio } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n radioButtonsWrapper: {\n display: 'flex',\n flexDirection: 'column',\n },\n radioButtonsColumnHeader: {\n color: theme.palette.grey[400],\n fontSize: theme.typography.fontSize - 2,\n },\n likertLabelHolder: {\n display: 'flex',\n width: '100%',\n alignItems: 'flex-start',\n marginBottom: theme.spacing.unit * 2,\n },\n likertOptionsHolder: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-around',\n marginBottom: theme.spacing.unit * 2.5,\n },\n likertLabelInput: {\n width: 'calc(100% - 200px)',\n marginRight: 0,\n },\n errorMessage: {\n color: theme.palette.error.main,\n fontSize: theme.typography.fontSize - 2,\n },\n width100: {\n width: '100%',\n },\n flexRow: {\n display: 'flex',\n flexDirection: 'row',\n },\n likertValueHolder: {\n paddingLeft: theme.spacing.unit * 2.5,\n width: '150px',\n },\n likertLabelEditableHtml: {\n paddingTop: theme.spacing.unit * 2,\n },\n inputFormGroupIndex: {\n width: '30px',\n paddingTop: theme.spacing.unit * 4,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n});\n\nconst LikertOrientation = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n\n const onChangeLikertOrientation = (e) => {\n const likertOrientation = e.target.value;\n\n onChangeModel({ ...model, likertOrientation });\n };\n\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>Likert Orientation</p>\n <RadioGroup\n aria-label=\"likertOrientation\"\n name=\"likertOrientation\"\n value={model.likertOrientation}\n onChange={onChangeLikertOrientation}\n >\n <FormControlLabel\n value={LIKERT_ORIENTATION.horizontal}\n control={<Radio className={classes.customColor} />}\n label=\"Horizontal\"\n />\n <FormControlLabel\n value={LIKERT_ORIENTATION.vertical}\n control={<Radio className={classes.customColor} />}\n label=\"Vertical\"\n />\n </RadioGroup>\n </div>\n );\n});\n\nconst LikertScale = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n const onChangeLikertScale = (e) => {\n const likertScale = e.target.value;\n\n onChangeModel({\n ...model,\n likertScale,\n choices: generateChoices(likertScale, model.likertType),\n });\n };\n\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>Likert Scale</p>\n <RadioGroup aria-label=\"likertScale\" name=\"likertScale\" value={model.likertScale} onChange={onChangeLikertScale}>\n <FormControlLabel\n value={LIKERT_SCALE.likert3}\n control={<Radio className={classes.customColor} />}\n label=\"Likert 3\"\n />\n <FormControlLabel\n value={LIKERT_SCALE.likert5}\n control={<Radio className={classes.customColor} />}\n label=\"Likert 5\"\n />\n <FormControlLabel\n value={LIKERT_SCALE.likert7}\n control={<Radio className={classes.customColor} />}\n label=\"Likert 7\"\n />\n </RadioGroup>\n </div>\n );\n});\n\nconst LikertType = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n const onChangeLikertType = (e) => {\n const likertType = e.target.value;\n\n onChangeModel({\n ...model,\n likertType,\n choices: generateChoices(model.likertScale, likertType),\n });\n };\n\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>Label Type</p>\n\n <div className={classes.flexRow}>\n <RadioGroup\n aria-label=\"likertLabelType\"\n name=\"likertLabelType\"\n value={model.likertType}\n onChange={onChangeLikertType}\n >\n <FormControlLabel\n value={LIKERT_TYPE.agreement}\n control={<Radio className={classes.customColor} />}\n label=\"Agreement\"\n />\n <FormControlLabel\n value={LIKERT_TYPE.frequency}\n control={<Radio className={classes.customColor} />}\n label=\"Frequency\"\n />\n <FormControlLabel\n value={LIKERT_TYPE.yesNo}\n control={<Radio className={classes.customColor} />}\n label=\"Yes/No\"\n />\n </RadioGroup>\n\n <RadioGroup\n aria-label=\"likertLabelType\"\n name=\"likertLabelType\"\n value={model.likertType}\n onChange={onChangeLikertType}\n >\n <FormControlLabel\n value={LIKERT_TYPE.importance}\n control={<Radio className={classes.customColor} />}\n label=\"Importance\"\n />\n <FormControlLabel\n value={LIKERT_TYPE.likelihood}\n control={<Radio className={classes.customColor} />}\n label=\"Likelihood\"\n />\n <FormControlLabel value={LIKERT_TYPE.like} control={<Radio className={classes.customColor} />} label=\"Like\" />\n </RadioGroup>\n </div>\n </div>\n );\n});\n\nconst buildValuesMap = (model) =>\n model.choices.reduce((acc, choice) => {\n const accClone = { ...acc };\n const choiceValue = parseInt(choice.value);\n\n if (!accClone[choiceValue]) {\n accClone[choiceValue] = 0;\n }\n\n return { ...accClone, [choiceValue]: accClone[choiceValue] + 1 };\n }, {});\n\nconst Design = withStyles(styles)((props) => {\n const {\n classes,\n configuration,\n imageSupport,\n model,\n onChangeModel,\n onChoiceChanged,\n onConfigurationChanged,\n onPromptChanged,\n onTeacherInstructionsChanged,\n uploadSoundSupport,\n } = props;\n const {\n contentDimensions = {},\n prompt = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n baseInputConfiguration = {},\n likertChoice = {},\n } = configuration || {};\n const { errors = {}, extraCSSRules, spellCheckEnabled, teacherInstructionsEnabled } = model || {};\n const { prompt: promptError, teacherInstructions: teacherInstructionsError } = errors;\n\n const valuesMap = buildValuesMap(model);\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n };\n\n const getPluginProps = (props = {}) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n spellCheck={spellCheckEnabled}\n disableUnderline\n uploadSoundSupport={uploadSoundSupport}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n\n <div className={classes.likertOptionsHolder}>\n <LikertScale model={model} onChangeModel={onChangeModel} />\n <LikertType model={model} onChangeModel={onChangeModel} />\n <LikertOrientation model={model} onChangeModel={onChangeModel} />\n </div>\n\n {model.choices.map((choice, index) => (\n <div key={`choice-${index}`} className={classes.likertLabelHolder}>\n <span className={classes.inputFormGroupIndex}>{index + 1}.</span>\n <InputContainer key={`likert-label-${index}`} label={'Likert Label'} className={classes.likertLabelInput}>\n <EditableHtml\n className={classes.likertLabelEditableHtml}\n markup={choice.label || ''}\n onChange={(c) => onChoiceChanged(index, { ...choice, label: c })}\n imageSupport={imageSupport}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n pluginProps={getPluginProps(likertChoice?.inputConfiguration)}\n />\n </InputContainer>\n\n <div className={classes.likertValueHolder}>\n <NumberTextField\n label={'Likert Value'}\n value={choice.value}\n className={classes.width100}\n max={100}\n min={-100}\n onChange={(e, t) => {\n onChoiceChanged(index, { ...choice, value: t });\n }}\n imageSupport={imageSupport}\n />\n {valuesMap[choice.value] && valuesMap[choice.value] > 1 && (\n <p className={classes.errorMessage}>Value should be unique</p>\n )}\n </div>\n </div>\n ))}\n </layout.ConfigLayout>\n );\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n onChoiceChanged = (index, choice) => {\n const { model, onModelChanged } = this.props;\n\n model.choices = model.choices.map((choice) => merge({}, choice));\n model.choices.splice(index, 1, choice);\n\n onModelChanged(model);\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n render() {\n return (\n <Design\n {...this.props}\n onChangeModel={this.props.onModelChanged}\n onChoiceChanged={this.onChoiceChanged}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n","/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configure\n */\nexport default {\n model: {\n choices: [],\n likertOrientation: 'horizontal',\n likertScale: 'likert3',\n likertType: 'agreement',\n prompt: '',\n promptEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n likertChoice: {\n label: 'Choice',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n },\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport { ModelUpdatedEvent, InsertSoundEvent, DeleteSoundEvent } from '@pie-framework/pie-configure-events';\n\nimport Main from './main';\nimport defaults from 'lodash/defaults';\n\nimport sensibleDefaults from './defaults';\n\nconst log = debug('likert:configure');\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 Likert extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...sensibleDefaults.model,\n ...model,\n choices: (model && model.choices) || [],\n });\n\n constructor() {\n super();\n this._model = Likert.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = Likert.createDefaultModel(s);\n this._model = {\n ...this._model,\n choices: this._model.choices.map((choice) => ({ ...choice, value: parseInt(choice.value) })),\n };\n this._render();\n }\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n\n this.onModelChanged(info.model);\n this._configuration = info.configuration;\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\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 = m;\n this._render();\n this.dispatchModelUpdated(reset);\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 insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n ReactDOM.render(element, this);\n }\n}\n"],"names":["LIKERT_SCALE","likert3","likert5","likert7","LIKERT_TYPE","agreement","frequency","yesNo","importance","likelihood","like","LIKERT_ORIENTATION","horizontal","vertical","likert3Agreement","label","value","likert5Agreement","likert7Agreement","likert3Frequency","likert5Frequency","likert7Frequency","likert3YesNo","likert5YesNo","likert7YesNo","likert3Likelihood","likert5Likelihood","likert7Likelihood","likert3Importance","likert5Importance","likert7Importance","likert3Like","likert5Like","likert7Like","generateChoices","likertScale","likertType","Panel","toggle","radio","settings","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","radioButtonsWrapper","display","flexDirection","radioButtonsColumnHeader","color","palette","grey","fontSize","typography","likertLabelHolder","alignItems","likertOptionsHolder","justifyContent","likertLabelInput","marginRight","errorMessage","error","main","width100","flexRow","likertValueHolder","paddingLeft","likertLabelEditableHtml","inputFormGroupIndex","errorText","customColor","tertiary","LikertOrientation","withStyles","props","classes","model","onChangeModel","onChangeLikertOrientation","e","likertOrientation","target","LikertScale","onChangeLikertScale","choices","LikertType","onChangeLikertType","buildValuesMap","reduce","acc","choice","accClone","choiceValue","parseInt","Design","configuration","imageSupport","onChoiceChanged","onConfigurationChanged","onPromptChanged","onTeacherInstructionsChanged","uploadSoundSupport","contentDimensions","prompt","scoringType","settingsPanelDisabled","spellCheck","teacherInstructions","baseInputConfiguration","likertChoice","errors","extraCSSRules","spellCheckEnabled","teacherInstructionsEnabled","promptError","teacherInstructionsError","valuesMap","panelProperties","getPluginProps","Object","assign","Properties","inputConfiguration","map","index","c","t","Main","React","Component","onModelChanged","merge","splice","render","propTypes","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","delete","Styled","promptEnabled","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","required","enabled","log","debug","prepareCustomizationObject","config","defaults","sensibleDefaults","Likert","HTMLElement","constructor","_model","createDefaultModel","_configuration","bind","s","_render","info","_disableSidePanel","dispatchModelUpdated","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","insertSound","handler","InsertSoundEvent","onDeleteSound","src","done","DeleteSoundEvent","element","createElement","ReactDOM"],"mappings":"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"}
|
package/esm/controller.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
function _extends() {
|
|
2
|
-
_extends = Object.assign || function (target) {
|
|
3
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
4
|
-
var source = arguments[i];
|
|
5
|
-
|
|
6
|
-
for (var key in source) {
|
|
7
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
8
|
-
target[key] = source[key];
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return target;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
return _extends.apply(this, arguments);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
var defaults = {
|
|
20
|
-
choices: [],
|
|
21
|
-
likertOrientation: 'horizontal',
|
|
22
|
-
likertScale: 'likert3',
|
|
23
|
-
likertType: 'agreement',
|
|
24
|
-
prompt: '',
|
|
25
|
-
promptEnabled: true,
|
|
26
|
-
teacherInstructions: '',
|
|
27
|
-
teacherInstructionsEnabled: true
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const prepareChoice = choice => {
|
|
31
|
-
return {
|
|
32
|
-
label: choice.label,
|
|
33
|
-
value: choice.value
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
function createDefaultModel(model = {}) {
|
|
38
|
-
return new Promise(resolve => resolve(_extends({}, defaults, model)));
|
|
39
|
-
}
|
|
40
|
-
const normalize = question => _extends({}, defaults, question);
|
|
41
|
-
/**
|
|
42
|
-
*
|
|
43
|
-
* @param {*} question
|
|
44
|
-
* @param {*} session
|
|
45
|
-
* @param {*} env
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
|
-
async function model(question, session, env) {
|
|
49
|
-
const normalizedQuestion = normalize(question);
|
|
50
|
-
let choices = normalizedQuestion.choices.map(prepareChoice);
|
|
51
|
-
|
|
52
|
-
const out = _extends({}, normalizedQuestion, {
|
|
53
|
-
choices,
|
|
54
|
-
disabled: env.mode !== 'gather',
|
|
55
|
-
mode: env.mode
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
const {
|
|
59
|
-
role,
|
|
60
|
-
mode
|
|
61
|
-
} = env || {};
|
|
62
|
-
|
|
63
|
-
if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
|
|
64
|
-
out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
|
|
65
|
-
} else {
|
|
66
|
-
out.teacherInstructions = null;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return out;
|
|
70
|
-
}
|
|
71
|
-
function outcome() {
|
|
72
|
-
return new Promise(resolve => {
|
|
73
|
-
resolve({
|
|
74
|
-
score: 0,
|
|
75
|
-
empty: false
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
} // remove all html tags
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const getContent = html => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');
|
|
82
|
-
|
|
83
|
-
const validate = (model = {}, config = {}) => {
|
|
84
|
-
const errors = {};
|
|
85
|
-
['teacherInstructions', 'prompt'].forEach(field => {
|
|
86
|
-
var _config$field;
|
|
87
|
-
|
|
88
|
-
if ((_config$field = config[field]) != null && _config$field.required && !getContent(model[field])) {
|
|
89
|
-
errors[field] = 'This field is required.';
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
return errors;
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
export { createDefaultModel, model, normalize, outcome, validate };
|
|
96
|
-
//# sourceMappingURL=controller.js.map
|
package/esm/controller.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sources":["../controller/src/defaults.js","../controller/src/index.js"],"sourcesContent":["export default {\n choices: [],\n likertOrientation: 'horizontal',\n likertScale: 'likert3',\n likertType: 'agreement',\n prompt: '',\n promptEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n};\n","import defaults from './defaults';\n\nconst prepareChoice = (choice) => {\n return {\n label: choice.label,\n value: choice.value,\n };\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => resolve({ ...defaults, ...model }));\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n let choices = normalizedQuestion.choices.map(prepareChoice);\n\n const out = {\n ...normalizedQuestion,\n choices,\n disabled: env.mode !== 'gather',\n mode: env.mode,\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport function outcome() {\n return new Promise((resolve) => {\n resolve({ score: 0, empty: false });\n });\n}\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n ['teacherInstructions', 'prompt'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n return errors;\n};\n"],"names":["choices","likertOrientation","likertScale","likertType","prompt","promptEnabled","teacherInstructions","teacherInstructionsEnabled","prepareChoice","choice","label","value","createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","normalizedQuestion","map","out","disabled","mode","role","outcome","score","empty","getContent","html","replace","validate","config","errors","forEach","field","required"],"mappings":"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"}
|
package/esm/element.js
DELETED
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { withStyles, createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';
|
|
4
|
-
import { color, Collapsible, PreviewPrompt, PreviewLayout } from '@pie-lib/render-ui';
|
|
5
|
-
import FormControlLabel from '@material-ui/core/FormControlLabel';
|
|
6
|
-
import Radio from '@material-ui/core/Radio';
|
|
7
|
-
import classNames from 'classnames';
|
|
8
|
-
import ReactDOM from 'react-dom';
|
|
9
|
-
import { SessionChangedEvent } from '@pie-framework/pie-player-events';
|
|
10
|
-
import { renderMath } from '@pie-lib/math-rendering';
|
|
11
|
-
|
|
12
|
-
function _extends() {
|
|
13
|
-
_extends = Object.assign || function (target) {
|
|
14
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
15
|
-
var source = arguments[i];
|
|
16
|
-
|
|
17
|
-
for (var key in source) {
|
|
18
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
19
|
-
target[key] = source[key];
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return target;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
return _extends.apply(this, arguments);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const LIKERT_ORIENTATION = {
|
|
31
|
-
horizontal: 'horizontal',
|
|
32
|
-
vertical: 'vertical'
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const radioStyles = {
|
|
36
|
-
root: {
|
|
37
|
-
color: `var(--choice-input-color, ${color.text()})`
|
|
38
|
-
},
|
|
39
|
-
checked: {
|
|
40
|
-
color: `var(--choice-input-selected-color, ${color.text()})`
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
const RadioStyled = withStyles(radioStyles)(props => {
|
|
44
|
-
const {
|
|
45
|
-
classes,
|
|
46
|
-
checked,
|
|
47
|
-
onChange,
|
|
48
|
-
disabled
|
|
49
|
-
} = props;
|
|
50
|
-
return /*#__PURE__*/React.createElement(Radio, {
|
|
51
|
-
checked: checked,
|
|
52
|
-
onChange: onChange,
|
|
53
|
-
disabled: disabled,
|
|
54
|
-
classes: {
|
|
55
|
-
root: classes.root,
|
|
56
|
-
checked: classes.checked
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
const choiceInputStyles = () => ({
|
|
62
|
-
labelRoot: {
|
|
63
|
-
color: color.text(),
|
|
64
|
-
textAlign: 'center',
|
|
65
|
-
cursor: 'pointer'
|
|
66
|
-
},
|
|
67
|
-
checkboxHolderRoot: {
|
|
68
|
-
display: 'flex',
|
|
69
|
-
alignItems: 'center',
|
|
70
|
-
flex: 1,
|
|
71
|
-
padding: '0 5px',
|
|
72
|
-
'& label': {}
|
|
73
|
-
},
|
|
74
|
-
formControlLabelRoot: {
|
|
75
|
-
margin: 0
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
class ChoiceInput extends React.Component {
|
|
80
|
-
constructor(...args) {
|
|
81
|
-
super(...args);
|
|
82
|
-
|
|
83
|
-
this.onToggleChoice = () => {
|
|
84
|
-
this.props.onChange({
|
|
85
|
-
value: this.props.value,
|
|
86
|
-
selected: !this.props.checked
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
render() {
|
|
92
|
-
const {
|
|
93
|
-
disabled,
|
|
94
|
-
label,
|
|
95
|
-
checked,
|
|
96
|
-
likertOrientation,
|
|
97
|
-
classes
|
|
98
|
-
} = this.props;
|
|
99
|
-
const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'row' : 'column';
|
|
100
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
101
|
-
className: classes.checkboxHolderRoot,
|
|
102
|
-
style: {
|
|
103
|
-
flexDirection
|
|
104
|
-
}
|
|
105
|
-
}, /*#__PURE__*/React.createElement(FormControlLabel, {
|
|
106
|
-
disabled: disabled,
|
|
107
|
-
className: classes.formControlLabelRoot,
|
|
108
|
-
control: /*#__PURE__*/React.createElement(RadioStyled, {
|
|
109
|
-
checked: checked,
|
|
110
|
-
onChange: this.onToggleChoice
|
|
111
|
-
})
|
|
112
|
-
}), /*#__PURE__*/React.createElement("p", {
|
|
113
|
-
className: classes.labelRoot,
|
|
114
|
-
onClick: this.onToggleChoice,
|
|
115
|
-
dangerouslySetInnerHTML: {
|
|
116
|
-
__html: label
|
|
117
|
-
}
|
|
118
|
-
}));
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
ChoiceInput.propTypes = {
|
|
123
|
-
checked: PropTypes.bool.isRequired,
|
|
124
|
-
disabled: PropTypes.bool.isRequired,
|
|
125
|
-
label: PropTypes.string.isRequired,
|
|
126
|
-
likertOrientation: PropTypes.string.isRequired,
|
|
127
|
-
onChange: PropTypes.func.isRequired,
|
|
128
|
-
value: PropTypes.number.isRequired,
|
|
129
|
-
classes: PropTypes.object
|
|
130
|
-
};
|
|
131
|
-
ChoiceInput.defaultProps = {
|
|
132
|
-
checked: false
|
|
133
|
-
};
|
|
134
|
-
var ChoiceInput$1 = withStyles(choiceInputStyles)(ChoiceInput);
|
|
135
|
-
|
|
136
|
-
const styles = theme => ({
|
|
137
|
-
main: {
|
|
138
|
-
color: color.text(),
|
|
139
|
-
backgroundColor: color.background(),
|
|
140
|
-
'& *': {
|
|
141
|
-
fontFamily: 'Roboto, Arial, Helvetica, sans-serif',
|
|
142
|
-
'-webkit-font-smoothing': 'antialiased'
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
|
-
teacherInstructions: {
|
|
146
|
-
marginBottom: theme.spacing.unit * 2
|
|
147
|
-
},
|
|
148
|
-
prompt: {
|
|
149
|
-
verticalAlign: 'middle',
|
|
150
|
-
color: 'var(--pie-primary-text, var(--pie-text, #000000))',
|
|
151
|
-
paddingBottom: theme.spacing.unit * 2
|
|
152
|
-
},
|
|
153
|
-
choicesWrapper: {
|
|
154
|
-
display: 'flex'
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
class Likert$1 extends React.Component {
|
|
159
|
-
UNSAFE_componentWillReceiveProps() {}
|
|
160
|
-
|
|
161
|
-
isSelected(value) {
|
|
162
|
-
return this.props.session && this.props.session.value === value;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
render() {
|
|
166
|
-
const {
|
|
167
|
-
disabled,
|
|
168
|
-
choices = [],
|
|
169
|
-
prompt,
|
|
170
|
-
onSessionChange,
|
|
171
|
-
teacherInstructions,
|
|
172
|
-
classes,
|
|
173
|
-
className,
|
|
174
|
-
likertOrientation
|
|
175
|
-
} = this.props;
|
|
176
|
-
const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'column' : 'row';
|
|
177
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
178
|
-
className: classNames(classes.main, className)
|
|
179
|
-
}, teacherInstructions && /*#__PURE__*/React.createElement(Collapsible, {
|
|
180
|
-
className: classes.teacherInstructions,
|
|
181
|
-
labels: {
|
|
182
|
-
hidden: 'Show Teacher Instructions',
|
|
183
|
-
visible: 'Hide Teacher Instructions'
|
|
184
|
-
}
|
|
185
|
-
}, /*#__PURE__*/React.createElement(PreviewPrompt, {
|
|
186
|
-
prompt: teacherInstructions
|
|
187
|
-
})), prompt && /*#__PURE__*/React.createElement("div", {
|
|
188
|
-
className: classes.prompt
|
|
189
|
-
}, /*#__PURE__*/React.createElement(PreviewPrompt, {
|
|
190
|
-
prompt: prompt
|
|
191
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
192
|
-
className: classes.choicesWrapper,
|
|
193
|
-
style: {
|
|
194
|
-
flexDirection
|
|
195
|
-
}
|
|
196
|
-
}, choices.map((choice, index) => /*#__PURE__*/React.createElement(ChoiceInput$1, {
|
|
197
|
-
key: `choice-${index}`,
|
|
198
|
-
label: choice.label,
|
|
199
|
-
value: choice.value,
|
|
200
|
-
index: index,
|
|
201
|
-
disabled: disabled,
|
|
202
|
-
onChange: onSessionChange,
|
|
203
|
-
likertOrientation: likertOrientation,
|
|
204
|
-
checked: this.isSelected(choice.value)
|
|
205
|
-
}))));
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
}
|
|
209
|
-
Likert$1.propTypes = {
|
|
210
|
-
className: PropTypes.string,
|
|
211
|
-
choices: PropTypes.array,
|
|
212
|
-
prompt: PropTypes.string,
|
|
213
|
-
teacherInstructions: PropTypes.string,
|
|
214
|
-
session: PropTypes.object,
|
|
215
|
-
disabled: PropTypes.bool.isRequired,
|
|
216
|
-
onSessionChange: PropTypes.func.isRequired,
|
|
217
|
-
likertOrientation: PropTypes.string.isRequired,
|
|
218
|
-
classes: PropTypes.object.isRequired
|
|
219
|
-
};
|
|
220
|
-
Likert$1.defaultProps = {
|
|
221
|
-
session: {
|
|
222
|
-
value: []
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
var Likert$2 = withStyles(styles)(Likert$1);
|
|
226
|
-
|
|
227
|
-
class Main extends React.Component {
|
|
228
|
-
render() {
|
|
229
|
-
const {
|
|
230
|
-
model,
|
|
231
|
-
onSessionChange,
|
|
232
|
-
session
|
|
233
|
-
} = this.props;
|
|
234
|
-
const {
|
|
235
|
-
extraCSSRules
|
|
236
|
-
} = model;
|
|
237
|
-
return /*#__PURE__*/React.createElement(PreviewLayout, {
|
|
238
|
-
extraCSSRules: extraCSSRules
|
|
239
|
-
}, /*#__PURE__*/React.createElement(Likert$2, _extends({}, model, {
|
|
240
|
-
session: session,
|
|
241
|
-
onSessionChange: onSessionChange
|
|
242
|
-
})));
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
Main.propTypes = {
|
|
248
|
-
model: PropTypes.object,
|
|
249
|
-
session: PropTypes.object,
|
|
250
|
-
onSessionChange: PropTypes.func,
|
|
251
|
-
classes: PropTypes.object.isRequired
|
|
252
|
-
};
|
|
253
|
-
Main.defaultProps = {
|
|
254
|
-
model: {},
|
|
255
|
-
session: {}
|
|
256
|
-
};
|
|
257
|
-
const Styled = withStyles({}, {
|
|
258
|
-
name: 'Main'
|
|
259
|
-
})(Main);
|
|
260
|
-
const theme = createMuiTheme({
|
|
261
|
-
typography: {
|
|
262
|
-
useNextVariants: true
|
|
263
|
-
}
|
|
264
|
-
});
|
|
265
|
-
|
|
266
|
-
const Root = props => /*#__PURE__*/React.createElement(MuiThemeProvider, {
|
|
267
|
-
theme: theme
|
|
268
|
-
}, /*#__PURE__*/React.createElement(Styled, props));
|
|
269
|
-
|
|
270
|
-
const isComplete = session => !!(session && session.value && session.value.length);
|
|
271
|
-
class Likert extends HTMLElement {
|
|
272
|
-
constructor() {
|
|
273
|
-
super();
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
set model(m) {
|
|
277
|
-
this._model = m;
|
|
278
|
-
|
|
279
|
-
this._render();
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
set session(s) {
|
|
283
|
-
this._session = s;
|
|
284
|
-
|
|
285
|
-
this._render();
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
get session() {
|
|
289
|
-
return this._session;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
sessionChanged(s) {
|
|
293
|
-
this._session.value = s.value;
|
|
294
|
-
const complete = isComplete(this._session, this._model);
|
|
295
|
-
this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), complete));
|
|
296
|
-
|
|
297
|
-
this._render();
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
connectedCallback() {
|
|
301
|
-
this._render();
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
_render() {
|
|
305
|
-
if (!this._model || !this._session) {
|
|
306
|
-
return;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
const el = /*#__PURE__*/React.createElement(Root, {
|
|
310
|
-
model: this._model,
|
|
311
|
-
session: this._session,
|
|
312
|
-
onSessionChange: this.sessionChanged.bind(this)
|
|
313
|
-
});
|
|
314
|
-
ReactDOM.render(el, this, () => {
|
|
315
|
-
renderMath(this);
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
export { Likert as default, isComplete };
|
|
322
|
-
//# sourceMappingURL=element.js.map
|
package/esm/element.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sources":["../src/likertEntities.js","../src/choice-input.jsx","../src/likert.jsx","../src/main.jsx","../src/index.js"],"sourcesContent":["export const LIKERT_ORIENTATION = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n};\n","import React from 'react';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { color } from '@pie-lib/render-ui';\nimport Radio from '@material-ui/core/Radio';\nimport { LIKERT_ORIENTATION } from './likertEntities';\n\nconst radioStyles = {\n root: {\n color: `var(--choice-input-color, ${color.text()})`,\n },\n checked: {\n color: `var(--choice-input-selected-color, ${color.text()})`,\n },\n};\n\nexport const RadioStyled = withStyles(radioStyles)((props) => {\n const { classes, checked, onChange, disabled } = props;\n\n return (\n <Radio\n checked={checked}\n onChange={onChange}\n disabled={disabled}\n classes={{\n root: classes.root,\n checked: classes.checked,\n }}\n />\n );\n});\n\nconst choiceInputStyles = () => ({\n labelRoot: {\n color: color.text(),\n textAlign: 'center',\n cursor: 'pointer',\n },\n checkboxHolderRoot: {\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n padding: '0 5px',\n '& label': {},\n },\n formControlLabelRoot: {\n margin: 0,\n },\n});\n\nexport class ChoiceInput extends React.Component {\n static propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n label: PropTypes.string.isRequired,\n likertOrientation: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number.isRequired,\n classes: PropTypes.object,\n };\n\n static defaultProps = {\n checked: false,\n };\n\n onToggleChoice = () => {\n this.props.onChange({\n value: this.props.value,\n selected: !this.props.checked,\n });\n };\n\n render() {\n const { disabled, label, checked, likertOrientation, classes } = this.props;\n const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'row' : 'column';\n\n return (\n <div className={classes.checkboxHolderRoot} style={{ flexDirection }}>\n <FormControlLabel\n disabled={disabled}\n className={classes.formControlLabelRoot}\n control={<RadioStyled checked={checked} onChange={this.onToggleChoice} />}\n />\n <p className={classes.labelRoot} onClick={this.onToggleChoice} dangerouslySetInnerHTML={{ __html: label }} />\n </div>\n );\n }\n}\n\nexport default withStyles(choiceInputStyles)(ChoiceInput);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ChoiceInput from './choice-input';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color, Collapsible, PreviewPrompt } from '@pie-lib/render-ui';\nimport { LIKERT_ORIENTATION } from './likertEntities';\nimport classNames from 'classnames';\n\nconst styles = (theme) => ({\n main: {\n color: color.text(),\n backgroundColor: color.background(),\n '& *': {\n fontFamily: 'Roboto, Arial, Helvetica, sans-serif',\n '-webkit-font-smoothing': 'antialiased',\n },\n },\n teacherInstructions: {\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n verticalAlign: 'middle',\n color: 'var(--pie-primary-text, var(--pie-text, #000000))',\n paddingBottom: theme.spacing.unit * 2,\n },\n choicesWrapper: {\n display: 'flex',\n },\n});\n\nexport class Likert extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n choices: PropTypes.array,\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n likertOrientation: PropTypes.string.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n UNSAFE_componentWillReceiveProps() {}\n\n isSelected(value) {\n return this.props.session && this.props.session.value === value;\n }\n\n render() {\n const {\n disabled,\n choices = [],\n prompt,\n onSessionChange,\n teacherInstructions,\n classes,\n className,\n likertOrientation,\n } = this.props;\n\n const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'column' : 'row';\n\n return (\n <div className={classNames(classes.main, className)}>\n {teacherInstructions && (\n <Collapsible\n className={classes.teacherInstructions}\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={prompt} />\n </div>\n )}\n\n <div className={classes.choicesWrapper} style={{ flexDirection }}>\n {choices.map((choice, index) => (\n <ChoiceInput\n key={`choice-${index}`}\n label={choice.label}\n value={choice.value}\n index={index}\n disabled={disabled}\n onChange={onSessionChange}\n likertOrientation={likertOrientation}\n checked={this.isSelected(choice.value)}\n />\n ))}\n </div>\n </div>\n );\n }\n}\n\nLikert.defaultProps = {\n session: {\n value: [],\n },\n};\n\nexport default withStyles(styles)(Likert);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\nimport { PreviewLayout } from '@pie-lib/render-ui';\nimport Likert from './likert';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func,\n classes: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n\n render() {\n const { model, onSessionChange, session } = this.props;\n const { extraCSSRules } = model;\n\n return (\n <PreviewLayout extraCSSRules={extraCSSRules}>\n <Likert {...model} session={session} onSessionChange={onSessionChange} />\n </PreviewLayout>\n );\n }\n}\n\nconst Styled = withStyles({}, { name: 'Main' })(Main);\n\nconst theme = createMuiTheme({\n typography: {\n useNextVariants: true,\n },\n});\n\nconst Root = (props) => (\n <MuiThemeProvider theme={theme}>\n <Styled {...props} />\n </MuiThemeProvider>\n);\n\nexport default Root;\n","import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport const isComplete = (session) => !!(session && session.value && session.value.length);\n\nexport default class Likert extends HTMLElement {\n constructor() {\n super();\n }\n\n set model(m) {\n this._model = m;\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n sessionChanged(s) {\n this._session.value = s.value;\n const complete = isComplete(this._session, this._model);\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), complete));\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChanged.bind(this),\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"names":["LIKERT_ORIENTATION","horizontal","vertical","radioStyles","root","color","text","checked","RadioStyled","withStyles","props","classes","onChange","disabled","choiceInputStyles","labelRoot","textAlign","cursor","checkboxHolderRoot","display","alignItems","flex","padding","formControlLabelRoot","margin","ChoiceInput","React","Component","onToggleChoice","value","selected","render","label","likertOrientation","flexDirection","__html","propTypes","PropTypes","bool","isRequired","string","func","number","object","defaultProps","styles","theme","main","backgroundColor","background","fontFamily","teacherInstructions","marginBottom","spacing","unit","prompt","verticalAlign","paddingBottom","choicesWrapper","Likert","UNSAFE_componentWillReceiveProps","isSelected","session","choices","onSessionChange","className","classNames","hidden","visible","map","choice","index","array","Main","model","extraCSSRules","Styled","name","createMuiTheme","typography","useNextVariants","Root","isComplete","length","HTMLElement","constructor","m","_model","_render","s","_session","sessionChanged","complete","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","connectedCallback","el","createElement","bind","ReactDOM","renderMath"],"mappings":"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"}
|