@pie-element/matrix 0.4.2-next.8 → 0.4.2-next.88
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/configure/lib/Main.js.map +1 -1
- package/configure/lib/MatrixColumnsSizeHeaderInput.js.map +1 -1
- package/configure/lib/MatrixLabelEditableButton.js +1 -1
- package/configure/lib/MatrixLabelEditableButton.js.map +1 -1
- package/configure/lib/MatrixLabelTypeHeaderInput.js.map +1 -1
- package/configure/lib/MatrixRowsSizeHeaderInput.js.map +1 -1
- package/configure/lib/MatrixValues.js.map +1 -1
- package/configure/lib/NumberInput.js +1 -1
- package/configure/lib/NumberInput.js.map +1 -1
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/index.js.map +1 -1
- package/configure/package.json +2 -2
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js.map +1 -1
- package/docs/config-schema.json.md +1 -1
- package/docs/demo/config.js +2 -2
- package/docs/demo/generate.js +2 -2
- package/docs/demo/session.js +2 -2
- package/docs/pie-schema.json.md +1 -1
- package/lib/ChoiceInput.js.map +1 -1
- package/lib/Main.js.map +1 -1
- package/lib/Matrix.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Main.jsx"],"names":["Panel","settings","toggle","radio","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","matrixHeaderOptionsHolder","display","padding","justifyContent","design","Design","props","classes","model","configuration","onPromptChanged","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","teacherInstructions","scoringType","spellCheck","teacherInstructionsEnabled","spellCheckEnabled","Properties","label","Main","onModelChanged","data","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport {\n InputContainer,\n settings,\n layout\n} from '@pie-lib/config-ui';\nimport {withStyles} from '@material-ui/core/styles';\nimport MatrixColumnsSizeHeaderInput from './MatrixColumnsSizeHeaderInput';\nimport MatrixRowsSizeHeaderInput from './MatrixRowsSizeHeaderInput';\nimport MatrixLabelTypeHeaderInput from './MatrixLabelTypeHeaderInput';\nimport MatrixValues from './MatrixValues';\n\nconst { Panel, toggle, radio } = settings;\n\nconst styles = theme => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n matrixHeaderOptionsHolder: {\n display: 'flex',\n width: '100%',\n padding: '20px 0',\n justifyContent: 'space-around'\n },\n design: {\n paddingTop: theme.spacing.unit * 3\n }\n});\n\n\nconst Design = withStyles(styles)(props => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\n imageSupport,\n uploadSoundSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged\n } = props;\n const {\n prompt = {},\n teacherInstructions = {},\n scoringType = {},\n spellCheck = {},\n } = configuration || {};\n const {\n teacherInstructionsEnabled, spellCheckEnabled\n } = model || {};\n\n return (\n <div className={classes.design}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])\n }\n }}\n />\n }\n >\n <div>\n <div className={classes.matrixHeaderOptionsHolder}>\n <MatrixRowsSizeHeaderInput model={model} onChangeModel={onChangeModel}/>\n <MatrixColumnsSizeHeaderInput model={model} onChangeModel={onChangeModel}/>\n <MatrixLabelTypeHeaderInput model={model} onChangeModel={onChangeModel}/>\n </div>\n\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\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={!prompt.settings}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n disableUnderline\n />\n </InputContainer>\n\n <MatrixValues model={model} onChangeModel={onChangeModel}/>\n </div>\n </layout.ConfigLayout>\n </div>\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 onPromptChanged = prompt => {\n this.props.onModelChanged({\n ...this.props.model,\n prompt\n });\n };\n\n onChangeModel = data => {\n this.props.onModelChanged({\n ...this.props.model,\n ...data\n });\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n this.props.onModelChanged({\n ...this.props.model,\n teacherInstructions\n });\n };\n\n render() {\n return (\n <Design\n {...this.props}\n onChangeModel={this.props.onModelChanged}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"Main.js"}
|
|
1
|
+
{"version":3,"sources":["../src/Main.jsx"],"names":["Panel","settings","toggle","radio","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","matrixHeaderOptionsHolder","display","padding","justifyContent","design","Design","props","classes","model","configuration","onPromptChanged","imageSupport","uploadSoundSupport","onChangeModel","onConfigurationChanged","onTeacherInstructionsChanged","teacherInstructions","scoringType","spellCheck","teacherInstructionsEnabled","spellCheckEnabled","Properties","label","Main","onModelChanged","data","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAQA,KAAR,GAAiCC,kBAAjC,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAAiCD,kBAAjC,CAAeC,MAAf;AAAA,IAAuBC,KAAvB,GAAiCF,kBAAjC,CAAuBE,KAAvB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,YAAY,EAAE;AACZC,MAAAA,KAAK,EAAE,MADK;AAEZC,MAAAA,aAAa,EAAEH,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB,CAFxB;AAGZC,MAAAA,YAAY,EAAEN,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB;AAHvB,KADW;AAMzBE,IAAAA,MAAM,EAAE;AACNC,MAAAA,UAAU,EAAER,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB,CAD3B;AAENH,MAAAA,KAAK,EAAE;AAFD,KANiB;AAUzBO,IAAAA,yBAAyB,EAAE;AACzBC,MAAAA,OAAO,EAAE,MADgB;AAEzBR,MAAAA,KAAK,EAAE,MAFkB;AAGzBS,MAAAA,OAAO,EAAE,QAHgB;AAIzBC,MAAAA,cAAc,EAAE;AAJS,KAVF;AAgBzBC,IAAAA,MAAM,EAAE;AACNL,MAAAA,UAAU,EAAER,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB;AAD3B;AAhBiB,GAAZ;AAAA,CAAf;;AAqBA,IAAMS,MAAM,GAAG,wBAAWf,MAAX,EAAmB,UAACgB,KAAD,EAAW;AAC3C,MACEC,OADF,GAUID,KAVJ,CACEC,OADF;AAAA,MAEEC,KAFF,GAUIF,KAVJ,CAEEE,KAFF;AAAA,MAGEC,aAHF,GAUIH,KAVJ,CAGEG,aAHF;AAAA,MAIEC,eAJF,GAUIJ,KAVJ,CAIEI,eAJF;AAAA,MAKEC,YALF,GAUIL,KAVJ,CAKEK,YALF;AAAA,MAMEC,kBANF,GAUIN,KAVJ,CAMEM,kBANF;AAAA,MAOEC,aAPF,GAUIP,KAVJ,CAOEO,aAPF;AAAA,MAQEC,sBARF,GAUIR,KAVJ,CAQEQ,sBARF;AAAA,MASEC,4BATF,GAUIT,KAVJ,CASES,4BATF;;AAWA,aAAqFN,aAAa,IAAI,EAAtG;AAAA,yBAAQX,MAAR;AAAA,MAAQA,MAAR,4BAAiB,EAAjB;AAAA,mCAAqBkB,mBAArB;AAAA,MAAqBA,mBAArB,sCAA2C,EAA3C;AAAA,8BAA+CC,WAA/C;AAAA,MAA+CA,WAA/C,iCAA6D,EAA7D;AAAA,6BAAiEC,UAAjE;AAAA,MAAiEA,UAAjE,gCAA8E,EAA9E;;AACA,cAA0DV,KAAK,IAAI,EAAnE;AAAA,MAAQW,0BAAR,SAAQA,0BAAR;AAAA,MAAoCC,iBAApC,SAAoCA,iBAApC;;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEb,OAAO,CAACH;AAAxB,kBACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,IAAA,QAAQ,eACN,gCAAC,KAAD;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,aAAa,EAAEK,aAFjB;AAGE,MAAA,aAAa,EAAEJ,aAHjB;AAIE,MAAA,qBAAqB,EAAEK,sBAJzB;AAKE,MAAA,MAAM,EAAE;AACNO,QAAAA,UAAU,EAAE;AACVF,UAAAA,0BAA0B,EAAEH,mBAAmB,CAAC7B,QAApB,IAAgCC,MAAM,CAAC4B,mBAAmB,CAACM,KAArB,CADxD;AAEVF,UAAAA,iBAAiB,EAAEF,UAAU,CAAC/B,QAAX,IAAuBC,MAAM,CAAC8B,UAAU,CAACI,KAAZ,CAFtC;AAGVL,UAAAA,WAAW,EAAEA,WAAW,CAAC9B,QAAZ,IAAwBE,KAAK,CAAC4B,WAAW,CAACK,KAAb,EAAoB,CAAC,MAAD,EAAS,QAAT,CAApB;AAHhC;AADN;AALV;AAFJ,kBAiBE,0DACE;AAAK,IAAA,SAAS,EAAEf,OAAO,CAACP;AAAxB,kBACE,gCAAC,qCAAD;AAA2B,IAAA,KAAK,EAAEQ,KAAlC;AAAyC,IAAA,aAAa,EAAEK;AAAxD,IADF,eAEE,gCAAC,wCAAD;AAA8B,IAAA,KAAK,EAAEL,KAArC;AAA4C,IAAA,aAAa,EAAEK;AAA3D,IAFF,eAGE,gCAAC,sCAAD;AAA4B,IAAA,KAAK,EAAEL,KAAnC;AAA0C,IAAA,aAAa,EAAEK;AAAzD,IAHF,CADF,EAOGM,0BAA0B,iBACzB,gCAAC,wBAAD;AAAgB,IAAA,KAAK,EAAEH,mBAAmB,CAACM,KAA3C;AAAkD,IAAA,SAAS,EAAEf,OAAO,CAACf;AAArE,kBACE,gCAAC,wBAAD;AACE,IAAA,SAAS,EAAEe,OAAO,CAACT,MADrB;AAEE,IAAA,MAAM,EAAEU,KAAK,CAACQ,mBAAN,IAA6B,EAFvC;AAGE,IAAA,QAAQ,EAAED,4BAHZ;AAIE,IAAA,YAAY,EAAEJ,YAJhB;AAKE,IAAA,QAAQ,EAAE,KALZ;AAME,IAAA,UAAU,EAAES,iBANd;AAOE,IAAA,kBAAkB,EAAER;AAPtB,IADF,CARJ,eAqBE,gCAAC,wBAAD;AAAgB,IAAA,KAAK,EAAEd,MAAM,CAACwB,KAA9B;AAAqC,IAAA,SAAS,EAAEf,OAAO,CAACf;AAAxD,kBACE,gCAAC,wBAAD;AACE,IAAA,SAAS,EAAEe,OAAO,CAACT,MADrB;AAEE,IAAA,MAAM,EAAEU,KAAK,CAACV,MAFhB;AAGE,IAAA,QAAQ,EAAEY,eAHZ;AAIE,IAAA,YAAY,EAAEC,YAJhB;AAKE,IAAA,QAAQ,EAAE,CAACb,MAAM,CAACX,QALpB;AAME,IAAA,UAAU,EAAEiC,iBANd;AAOE,IAAA,kBAAkB,EAAER,kBAPtB;AAQE,IAAA,gBAAgB;AARlB,IADF,CArBF,eAkCE,gCAAC,wBAAD;AAAc,IAAA,KAAK,EAAEJ,KAArB;AAA4B,IAAA,aAAa,EAAEK;AAA3C,IAlCF,CAjBF,CADF,CADF;AA0DD,CAzEc,CAAf;;IA2EaU,I;;;;;;;;;;;;;;;wGAaO,UAACzB,MAAD,EAAY;AAC5B,YAAKQ,KAAL,CAAWkB,cAAX,iCACK,MAAKlB,KAAL,CAAWE,KADhB;AAEEV,QAAAA,MAAM,EAANA;AAFF;AAID,K;sGAEe,UAAC2B,IAAD,EAAU;AACxB,YAAKnB,KAAL,CAAWkB,cAAX,iCACK,MAAKlB,KAAL,CAAWE,KADhB,GAEKiB,IAFL;AAID,K;qHAE8B,UAACT,mBAAD,EAAyB;AACtD,YAAKV,KAAL,CAAWkB,cAAX,iCACK,MAAKlB,KAAL,CAAWE,KADhB;AAEEQ,QAAAA,mBAAmB,EAAnBA;AAFF;AAID,K;;;;;;WAED,kBAAS;AACP,0BACE,gCAAC,MAAD,gCACM,KAAKV,KADX;AAEE,QAAA,aAAa,EAAE,KAAKA,KAAL,CAAWkB,cAF5B;AAGE,QAAA,eAAe,EAAE,KAAKd,eAHxB;AAIE,QAAA,4BAA4B,EAAE,KAAKK;AAJrC,SADF;AAQD;;;EA3CuBW,kBAAMC,S;;;iCAAnBJ,I,eACQ;AACjBf,EAAAA,KAAK,EAAEoB,sBAAUC,MAAV,CAAiBC,UADP;AAEjBC,EAAAA,gBAAgB,EAAEH,sBAAUI,IAFX;AAGjBR,EAAAA,cAAc,EAAEI,sBAAUK,IAAV,CAAeH,UAHd;AAIjBhB,EAAAA,sBAAsB,EAAEc,sBAAUK,IAAV,CAAeH,UAJtB;AAKjBvB,EAAAA,OAAO,EAAEqB,sBAAUC,MAAV,CAAiBC,UALT;AAMjBnB,EAAAA,YAAY,EAAEiB,sBAAUM,KAAV,CAAgB;AAC5BC,IAAAA,GAAG,EAAEP,sBAAUK,IAAV,CAAeH,UADQ;AAE5B,cAAQF,sBAAUK,IAAV,CAAeH;AAFK,GAAhB;AANG,C;AA6CrB,IAAMM,MAAM,GAAG,wBAAW9C,MAAX,EAAmBiC,IAAnB,CAAf;eAEea,M","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputContainer, settings, layout } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport MatrixColumnsSizeHeaderInput from './MatrixColumnsSizeHeaderInput';\nimport MatrixRowsSizeHeaderInput from './MatrixRowsSizeHeaderInput';\nimport MatrixLabelTypeHeaderInput from './MatrixLabelTypeHeaderInput';\nimport MatrixValues from './MatrixValues';\n\nconst { Panel, toggle, radio } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n matrixHeaderOptionsHolder: {\n display: 'flex',\n width: '100%',\n padding: '20px 0',\n justifyContent: 'space-around',\n },\n design: {\n paddingTop: theme.spacing.unit * 3,\n },\n});\n\nconst Design = withStyles(styles)((props) => {\n const {\n classes,\n model,\n configuration,\n onPromptChanged,\n imageSupport,\n uploadSoundSupport,\n onChangeModel,\n onConfigurationChanged,\n onTeacherInstructionsChanged,\n } = props;\n const { prompt = {}, teacherInstructions = {}, scoringType = {}, spellCheck = {} } = configuration || {};\n const { teacherInstructionsEnabled, spellCheckEnabled } = model || {};\n\n return (\n <div className={classes.design}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: {\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 />\n }\n >\n <div>\n <div className={classes.matrixHeaderOptionsHolder}>\n <MatrixRowsSizeHeaderInput model={model} onChangeModel={onChangeModel} />\n <MatrixColumnsSizeHeaderInput model={model} onChangeModel={onChangeModel} />\n <MatrixLabelTypeHeaderInput model={model} onChangeModel={onChangeModel} />\n </div>\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 spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n />\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={!prompt.settings}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n disableUnderline\n />\n </InputContainer>\n\n <MatrixValues model={model} onChangeModel={onChangeModel} />\n </div>\n </layout.ConfigLayout>\n </div>\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 onPromptChanged = (prompt) => {\n this.props.onModelChanged({\n ...this.props.model,\n prompt,\n });\n };\n\n onChangeModel = (data) => {\n this.props.onModelChanged({\n ...this.props.model,\n ...data,\n });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({\n ...this.props.model,\n teacherInstructions,\n });\n };\n\n render() {\n return (\n <Design\n {...this.props}\n onChangeModel={this.props.onModelChanged}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"Main.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/MatrixColumnsSizeHeaderInput.js"],"names":["MatrixColumnsSizeHeaderInput","model","onChangeModel","onIncrementColumnsSize","columnLabels","length","labelType","MATRIX_LABEL_TYPE","custom","onDecrementColumnsSize","columnLabelsLength","columnLabelsNext","pop","matrixValuesClone","matrixValues","rowLabels","forEach","rowLabel","rowIndex","propTypes","PropTypes","object","isRequired","func"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;
|
|
1
|
+
{"version":3,"sources":["../src/MatrixColumnsSizeHeaderInput.js"],"names":["MatrixColumnsSizeHeaderInput","model","onChangeModel","onIncrementColumnsSize","columnLabels","length","labelType","MATRIX_LABEL_TYPE","custom","onDecrementColumnsSize","columnLabelsLength","columnLabelsNext","pop","matrixValuesClone","matrixValues","rowLabels","forEach","rowLabel","rowIndex","propTypes","PropTypes","object","isRequired","func"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;AAEA,IAAMA,4BAA4B,GAAG,SAA/BA,4BAA+B,OAA8B;AAAA,MAA3BC,KAA2B,QAA3BA,KAA2B;AAAA,MAApBC,aAAoB,QAApBA,aAAoB;;AACjE,MAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AACnCD,IAAAA,aAAa,iCACRD,KADQ;AAEXG,MAAAA,YAAY,gDAAMH,KAAK,CAACG,YAAZ,qBAAoCH,KAAK,CAACG,YAAN,CAAmBC,MAAnB,GAA4B,CAAhE,GAFD;AAGXC,MAAAA,SAAS,EAAEC,kCAAkBC;AAHlB,OAAb;AAKD,GAND;;AAQA,MAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AACnC,QAAMC,kBAAkB,GAAGT,KAAK,CAACG,YAAN,CAAmBC,MAA9C;;AACA,QAAIK,kBAAkB,IAAI,CAA1B,EAA6B;AAC3B;AACD;;AACD,QAAMC,gBAAgB,uCAAOV,KAAK,CAACG,YAAb,CAAtB;AACAO,IAAAA,gBAAgB,CAACC,GAAjB;;AAEA,QAAMC,iBAAiB,qBAAQZ,KAAK,CAACa,YAAd,CAAvB;;AACAb,IAAAA,KAAK,CAACc,SAAN,CAAgBC,OAAhB,CAAwB,UAACC,QAAD,EAAWC,QAAX,EAAwB;AAC9C,aAAOL,iBAAiB,WAAIK,QAAJ,cAAgBR,kBAAkB,GAAG,CAArC,EAAxB;AACD,KAFD;AAIAR,IAAAA,aAAa,iCACRD,KADQ;AAEXG,MAAAA,YAAY,EAAEO,gBAFH;AAGXG,MAAAA,YAAY,EAAED,iBAHH;AAIXP,MAAAA,SAAS,EAAEC,kCAAkBC;AAJlB,OAAb;AAMD,GAnBD;;AAoBA,sBACE,gCAAC,4BAAD,qBACE,gCAAC,2BAAD,yBADF,eAEE,gCAAC,yCAAD,qBACE,gCAAC,yBAAD,qBACE,gCAAC,kBAAD;AAAY,IAAA,OAAO,EAAEC;AAArB,IADF,CADF,eAIE,2CAAIR,KAAK,CAACG,YAAN,CAAmBC,MAAvB,CAJF,eAKE,gCAAC,yBAAD,qBACE,gCAAC,eAAD;AAAS,IAAA,OAAO,EAAEF;AAAlB,IADF,CALF,CAFF,CADF;AAcD,CA3CD;;AA6CAH,4BAA4B,CAACmB,SAA7B,GAAyC;AACvClB,EAAAA,KAAK,EAAEmB,sBAAUC,MAAV,CAAiBC,UADe;AAEvCpB,EAAAA,aAAa,EAAEkB,sBAAUG,IAAV,CAAeD;AAFS,CAAzC;eAKetB,4B","sourcesContent":["import React from 'react';\nimport AddIcon from '@material-ui/icons/Add';\nimport RemoveIcon from '@material-ui/icons/Remove';\nimport PropTypes from 'prop-types';\n\nimport { ColumnsHeader, ColumnsWrapper, IconWrapper, NumberInputFormGroupWrapper } from './HeaderCommon';\nimport { MATRIX_LABEL_TYPE } from './matrixEntities';\n\nconst MatrixColumnsSizeHeaderInput = ({ model, onChangeModel }) => {\n const onIncrementColumnsSize = () => {\n onChangeModel({\n ...model,\n columnLabels: [...model.columnLabels, `COLUMN ${model.columnLabels.length + 1}`],\n labelType: MATRIX_LABEL_TYPE.custom,\n });\n };\n\n const onDecrementColumnsSize = () => {\n const columnLabelsLength = model.columnLabels.length;\n if (columnLabelsLength <= 1) {\n return;\n }\n const columnLabelsNext = [...model.columnLabels];\n columnLabelsNext.pop();\n\n const matrixValuesClone = { ...model.matrixValues };\n model.rowLabels.forEach((rowLabel, rowIndex) => {\n delete matrixValuesClone[`${rowIndex}-${columnLabelsLength - 1}`];\n });\n\n onChangeModel({\n ...model,\n columnLabels: columnLabelsNext,\n matrixValues: matrixValuesClone,\n labelType: MATRIX_LABEL_TYPE.custom,\n });\n };\n return (\n <ColumnsWrapper>\n <ColumnsHeader>Matrix Columns</ColumnsHeader>\n <NumberInputFormGroupWrapper>\n <IconWrapper>\n <RemoveIcon onClick={onDecrementColumnsSize} />\n </IconWrapper>\n <p>{model.columnLabels.length}</p>\n <IconWrapper>\n <AddIcon onClick={onIncrementColumnsSize} />\n </IconWrapper>\n </NumberInputFormGroupWrapper>\n </ColumnsWrapper>\n );\n};\n\nMatrixColumnsSizeHeaderInput.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired,\n};\n\nexport default MatrixColumnsSizeHeaderInput;\n"],"file":"MatrixColumnsSizeHeaderInput.js"}
|
|
@@ -39,7 +39,7 @@ var MatrixEditableButtonWrapper = _styledComponents["default"].div(_templateObje
|
|
|
39
39
|
|
|
40
40
|
var MatrixEditableButtonContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 5px 0 12px;\n width: 100%;\n display: flex;\n align-items: center;\n overflow: hidden;\n"])));
|
|
41
41
|
|
|
42
|
-
var MatrixEditableButtonText = _styledComponents["default"].p(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n padding: 3px 0 3px 4px;\n cursor: pointer;\n width: 100%;\n
|
|
42
|
+
var MatrixEditableButtonText = _styledComponents["default"].p(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n padding: 3px 0 3px 4px;\n cursor: pointer;\n width: 100%;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n :hover {\n background: #00985d;\n }\n\n transition: all 0.1s ease-in-out;\n"])));
|
|
43
43
|
|
|
44
44
|
var MatrixEditableButtonActions = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 3px;\n height: 100%;\n cursor: pointer;\n display: flex;\n align-items: center;\n border-left: 3px solid #00985d;\n :hover {\n background: #00985d;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n transition: all 0.1s ease-in-out;\n"])));
|
|
45
45
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/MatrixLabelEditableButton.js"],"names":["MatrixEditableButtonWrapper","styled","div","MatrixEditableButtonContent","MatrixEditableButtonText","p","MatrixEditableButtonActions","IconWrapper","InputWrapper","input","SetScoresToWrapper","SetScoresToInputWrapper","ACTION_TYPE","clear","sortAscending","sortDescending","set","MatrixLabelEditableButton","props","onLabelUpdate","value","resourceIndex","onAction","spellCheck","labelValue","setLabelValue","scoreValue","setScoreValue","showInput","setShowInput","React","useState","anchorEl","setAnchorEl","createRef","scoresToRef","open","Boolean","onActionClick","event","currentTarget","handleClose","e","stopPropagation","onClearScores","actionType","onSetScoresAscending","onSetScoresDescending","onSetScores","scoreValueNew","parseInt","setValue","onBlur","labeValueTrimmed","trim","onShowInput","onSetScoreToFocus","current","focus","target","ref","propTypes","PropTypes","string","isRequired","number","func"],"mappings":"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","sourcesContent":["import React, {useState} from 'react';\nimport styled from 'styled-components';\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport PropTypes from 'prop-types';\n\nimport NumberInput from './NumberInput';\nimport isNumeric from './isNumeric';\n\nconst MatrixEditableButtonWrapper = styled.div`\n width: 100%;\n height: 50px;\n margin: 1px;\n background: #04b26e;\n border-radius: 5px;\n color: white;\n font-size: 14px;\n white-space: nowrap;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst MatrixEditableButtonContent = styled.div`\n padding: 0 5px 0 12px;\n width: 100%;\n display: flex;\n align-items: center;\n overflow: hidden;\n`;\n\nconst MatrixEditableButtonText = styled.p`\n margin: 0;\n padding: 3px 0 3px 4px;\n cursor: pointer;\n width: 100%;\n \n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n :hover {\n background: #00985d;\n }\n \n transition: all 0.1s ease-in-out;\n`;\n\nconst MatrixEditableButtonActions = styled.div`\n padding: 0 3px;\n height: 100%;\n cursor: pointer;\n display: flex;\n align-items: center;\n border-left: 3px solid #00985d;\n :hover {\n background: #00985d;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n transition: all 0.1s ease-in-out;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 18px;\n`;\n\nconst InputWrapper = styled.input`\n margin: 0;\n padding: 0 0 0 4px;\n font-size: 14px;\n border: none;\n outline: none;\n color: white;\n width: 50px;\n width: 100%;\n background: #00985d;\n height: 22px;\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToInputWrapper = styled.div`\n width: 50px;\n margin-left: 10px;\n`;\n\nexport const ACTION_TYPE = {\n clear: 'clear',\n sortAscending: 'sortAscending',\n sortDescending: 'sortDescending',\n set: 'set',\n};\n\nconst MatrixLabelEditableButton = (props) => {\n const { onLabelUpdate, value, resourceIndex, onAction, spellCheck } = props;\n const [labelValue, setLabelValue] = useState(null);\n const [scoreValue, setScoreValue] = useState('');\n const [showInput, setShowInput] = useState(false);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [scoresToRef,] = React.useState(React.createRef());\n\n const open = Boolean(anchorEl);\n\n const onActionClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = (e) => {\n e.stopPropagation();\n setAnchorEl(null);\n setScoreValue('');\n };\n\n const onClearScores = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.clear });\n };\n\n const onSetScoresAscending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortAscending });\n };\n\n const onSetScoresDescending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortDescending });\n };\n\n const onSetScores = (value) => {\n if (!isNumeric(value)) {\n setScoreValue('');\n return;\n }\n const scoreValueNew = parseInt(value, 10);\n setScoreValue(scoreValueNew);\n onAction({ resourceIndex, actionType: ACTION_TYPE.set, setValue: scoreValueNew });\n };\n\n const onBlur = () => {\n const labeValueTrimmed = labelValue.trim();\n if (labeValueTrimmed) {\n onLabelUpdate(labeValueTrimmed);\n }\n setLabelValue(null);\n setShowInput(false);\n };\n\n const onShowInput = () => {\n setShowInput(true);\n setLabelValue(value);\n };\n\n const onSetScoreToFocus = () => {\n scoresToRef.current.focus();\n };\n\n return (\n <MatrixEditableButtonWrapper>\n <MatrixEditableButtonContent>\n {showInput\n ? (\n <InputWrapper\n autoFocus\n value={labelValue}\n onChange={e => setLabelValue(e.target.value)}\n onBlur={onBlur}\n spellCheck = {spellCheck}\n />\n )\n : (\n <MatrixEditableButtonText onClick={onShowInput}>\n {value}\n </MatrixEditableButtonText>\n )\n }\n\n </MatrixEditableButtonContent>\n <MatrixEditableButtonActions onClick={onActionClick}>\n <IconWrapper>\n <KeyboardArrowDownIcon fontSize='inherit'/>\n </IconWrapper>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n >\n <MenuItem key='item1' selected={false} onClick={onClearScores}>\n Clear Scores\n </MenuItem>\n <MenuItem key='item2' selected={false} onClick={onSetScoresAscending}>\n Set Scores Ascending\n </MenuItem>\n <MenuItem key='item3' selected={false} onClick={onSetScoresDescending}>\n Set Scores Descending\n </MenuItem>\n <MenuItem key='item4' selected={false}>\n <SetScoresToWrapper>\n <p onClick={onSetScoreToFocus}>\n Set Scores To\n </p>\n <SetScoresToInputWrapper>\n <NumberInput\n onFieldUpdate={onSetScores}\n name={'setScoreTo'}\n placeholder='#'\n fieldValue={{\n value: scoreValue,\n ref: scoresToRef\n }}\n />\n </SetScoresToInputWrapper>\n </SetScoresToWrapper>\n </MenuItem>\n </Menu>\n </MatrixEditableButtonActions>\n </MatrixEditableButtonWrapper>\n )\n};\n\nMatrixLabelEditableButton.propTypes = {\n value: PropTypes.string.isRequired,\n resourceIndex: PropTypes.number.isRequired,\n onLabelUpdate: PropTypes.func.isRequired,\n onAction: PropTypes.func.isRequired,\n};\n\n\nexport default MatrixLabelEditableButton;\n"],"file":"MatrixLabelEditableButton.js"}
|
|
1
|
+
{"version":3,"sources":["../src/MatrixLabelEditableButton.js"],"names":["MatrixEditableButtonWrapper","styled","div","MatrixEditableButtonContent","MatrixEditableButtonText","p","MatrixEditableButtonActions","IconWrapper","InputWrapper","input","SetScoresToWrapper","SetScoresToInputWrapper","ACTION_TYPE","clear","sortAscending","sortDescending","set","MatrixLabelEditableButton","props","onLabelUpdate","value","resourceIndex","onAction","spellCheck","labelValue","setLabelValue","scoreValue","setScoreValue","showInput","setShowInput","React","useState","anchorEl","setAnchorEl","createRef","scoresToRef","open","Boolean","onActionClick","event","currentTarget","handleClose","e","stopPropagation","onClearScores","actionType","onSetScoresAscending","onSetScoresDescending","onSetScores","scoreValueNew","parseInt","setValue","onBlur","labeValueTrimmed","trim","onShowInput","onSetScoreToFocus","current","focus","target","ref","propTypes","PropTypes","string","isRequired","number","func"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport PropTypes from 'prop-types';\n\nimport NumberInput from './NumberInput';\nimport isNumeric from './isNumeric';\n\nconst MatrixEditableButtonWrapper = styled.div`\n width: 100%;\n height: 50px;\n margin: 1px;\n background: #04b26e;\n border-radius: 5px;\n color: white;\n font-size: 14px;\n white-space: nowrap;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst MatrixEditableButtonContent = styled.div`\n padding: 0 5px 0 12px;\n width: 100%;\n display: flex;\n align-items: center;\n overflow: hidden;\n`;\n\nconst MatrixEditableButtonText = styled.p`\n margin: 0;\n padding: 3px 0 3px 4px;\n cursor: pointer;\n width: 100%;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n :hover {\n background: #00985d;\n }\n\n transition: all 0.1s ease-in-out;\n`;\n\nconst MatrixEditableButtonActions = styled.div`\n padding: 0 3px;\n height: 100%;\n cursor: pointer;\n display: flex;\n align-items: center;\n border-left: 3px solid #00985d;\n :hover {\n background: #00985d;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n transition: all 0.1s ease-in-out;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 18px;\n`;\n\nconst InputWrapper = styled.input`\n margin: 0;\n padding: 0 0 0 4px;\n font-size: 14px;\n border: none;\n outline: none;\n color: white;\n width: 50px;\n width: 100%;\n background: #00985d;\n height: 22px;\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst SetScoresToInputWrapper = styled.div`\n width: 50px;\n margin-left: 10px;\n`;\n\nexport const ACTION_TYPE = {\n clear: 'clear',\n sortAscending: 'sortAscending',\n sortDescending: 'sortDescending',\n set: 'set',\n};\n\nconst MatrixLabelEditableButton = (props) => {\n const { onLabelUpdate, value, resourceIndex, onAction, spellCheck } = props;\n const [labelValue, setLabelValue] = useState(null);\n const [scoreValue, setScoreValue] = useState('');\n const [showInput, setShowInput] = useState(false);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [scoresToRef] = React.useState(React.createRef());\n\n const open = Boolean(anchorEl);\n\n const onActionClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = (e) => {\n e.stopPropagation();\n setAnchorEl(null);\n setScoreValue('');\n };\n\n const onClearScores = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.clear });\n };\n\n const onSetScoresAscending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortAscending });\n };\n\n const onSetScoresDescending = (e) => {\n handleClose(e);\n onAction({ resourceIndex, actionType: ACTION_TYPE.sortDescending });\n };\n\n const onSetScores = (value) => {\n if (!isNumeric(value)) {\n setScoreValue('');\n return;\n }\n const scoreValueNew = parseInt(value, 10);\n setScoreValue(scoreValueNew);\n onAction({ resourceIndex, actionType: ACTION_TYPE.set, setValue: scoreValueNew });\n };\n\n const onBlur = () => {\n const labeValueTrimmed = labelValue.trim();\n if (labeValueTrimmed) {\n onLabelUpdate(labeValueTrimmed);\n }\n setLabelValue(null);\n setShowInput(false);\n };\n\n const onShowInput = () => {\n setShowInput(true);\n setLabelValue(value);\n };\n\n const onSetScoreToFocus = () => {\n scoresToRef.current.focus();\n };\n\n return (\n <MatrixEditableButtonWrapper>\n <MatrixEditableButtonContent>\n {showInput ? (\n <InputWrapper\n autoFocus\n value={labelValue}\n onChange={(e) => setLabelValue(e.target.value)}\n onBlur={onBlur}\n spellCheck={spellCheck}\n />\n ) : (\n <MatrixEditableButtonText onClick={onShowInput}>{value}</MatrixEditableButtonText>\n )}\n </MatrixEditableButtonContent>\n <MatrixEditableButtonActions onClick={onActionClick}>\n <IconWrapper>\n <KeyboardArrowDownIcon fontSize=\"inherit\" />\n </IconWrapper>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>\n <MenuItem key=\"item1\" selected={false} onClick={onClearScores}>\n Clear Scores\n </MenuItem>\n <MenuItem key=\"item2\" selected={false} onClick={onSetScoresAscending}>\n Set Scores Ascending\n </MenuItem>\n <MenuItem key=\"item3\" selected={false} onClick={onSetScoresDescending}>\n Set Scores Descending\n </MenuItem>\n <MenuItem key=\"item4\" selected={false}>\n <SetScoresToWrapper>\n <p onClick={onSetScoreToFocus}>Set Scores To</p>\n <SetScoresToInputWrapper>\n <NumberInput\n onFieldUpdate={onSetScores}\n name={'setScoreTo'}\n placeholder=\"#\"\n fieldValue={{\n value: scoreValue,\n ref: scoresToRef,\n }}\n />\n </SetScoresToInputWrapper>\n </SetScoresToWrapper>\n </MenuItem>\n </Menu>\n </MatrixEditableButtonActions>\n </MatrixEditableButtonWrapper>\n );\n};\n\nMatrixLabelEditableButton.propTypes = {\n value: PropTypes.string.isRequired,\n resourceIndex: PropTypes.number.isRequired,\n onLabelUpdate: PropTypes.func.isRequired,\n onAction: PropTypes.func.isRequired,\n};\n\nexport default MatrixLabelEditableButton;\n"],"file":"MatrixLabelEditableButton.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/MatrixLabelTypeHeaderInput.js"],"names":["Flex","styled","div","MatrixLabelTypeHeaderInput","model","onChangeModel","onChangeLabelType","e","labelType","target","value","modelNew","MATRIX_LABEL_TYPE","custom","columnLabels","length","isMatrixTypeSelectionEnabled","includes","agreement","frequency","yesNo","importance","likelihood","like","propTypes","PropTypes","object","isRequired","func"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,IAAI,GAAGC,6BAAOC,GAAV,0GAAV;;AAIA,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,OAA8B;AAAA,MAA3BC,KAA2B,QAA3BA,KAA2B;AAAA,MAApBC,aAAoB,QAApBA,aAAoB;;AAC/D,MAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,CAAD,EAAO;AAC/B,QAAMC,SAAS,GAAGD,CAAC,CAACE,MAAF,CAASC,KAA3B;;AACA,QAAMC,QAAQ,mCAAQP,KAAR;AAAeI,MAAAA,SAAS,EAATA;AAAf,MAAd;;AACA,QAAIA,SAAS,KAAKI,kCAAkBC,MAApC,EAA4C;AAC1CF,MAAAA,QAAQ,CAACG,YAAT,GAAwB,uCAAsBN,SAAtB,EAAiCJ,KAAK,CAACU,YAAN,CAAmBC,MAApD,CAAxB;AACD;;AACDV,IAAAA,aAAa,CAACM,QAAD,CAAb;AACD,GAPD;;AAQA,MAAMK,4BAA4B,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAUC,QAAV,CAAmBb,KAAK,CAACU,YAAN,CAAmBC,MAAtC,CAArC;AACA,sBACE,gCAAC,4BAAD,qBACE,gCAAC,2BAAD,sBADF,
|
|
1
|
+
{"version":3,"sources":["../src/MatrixLabelTypeHeaderInput.js"],"names":["Flex","styled","div","MatrixLabelTypeHeaderInput","model","onChangeModel","onChangeLabelType","e","labelType","target","value","modelNew","MATRIX_LABEL_TYPE","custom","columnLabels","length","isMatrixTypeSelectionEnabled","includes","agreement","frequency","yesNo","importance","likelihood","like","propTypes","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\n\nimport { MATRIX_LABEL_TYPE } from './matrixEntities';\nimport { ColumnsWrapper, ColumnsHeader } from './HeaderCommon';\nimport columnLabelsGenerator from './columnLabelsGenerator';\nimport PropTypes from 'prop-types';\n\nconst Flex = styled.div`\n display: flex;\n`;\n\nconst MatrixLabelTypeHeaderInput = ({ model, onChangeModel }) => {\n const onChangeLabelType = (e) => {\n const labelType = e.target.value;\n const modelNew = { ...model, labelType };\n if (labelType !== MATRIX_LABEL_TYPE.custom) {\n modelNew.columnLabels = columnLabelsGenerator(labelType, model.columnLabels.length);\n }\n onChangeModel(modelNew);\n };\n const isMatrixTypeSelectionEnabled = [3, 5, 7].includes(model.columnLabels.length);\n return (\n <ColumnsWrapper>\n <ColumnsHeader>Matrix Type</ColumnsHeader>\n\n <Flex>\n <RadioGroup\n aria-label=\"matrixLabelType\"\n name=\"matrixLabelType\"\n value={model.labelType}\n onChange={onChangeLabelType}\n >\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.agreement}\n control={<Radio />}\n label=\"Agreement\"\n />\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.frequency}\n control={<Radio />}\n label=\"Frequency\"\n />\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.yesNo}\n control={<Radio />}\n label=\"Yes/No\"\n />\n </RadioGroup>\n\n <RadioGroup\n aria-label=\"matrixLabelType\"\n name=\"matrixLabelType\"\n value={model.labelType}\n onChange={onChangeLabelType}\n >\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.importance}\n control={<Radio />}\n label=\"Importance\"\n />\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.likelihood}\n control={<Radio />}\n label=\"Likelihood\"\n />\n <FormControlLabel\n disabled={!isMatrixTypeSelectionEnabled}\n value={MATRIX_LABEL_TYPE.like}\n control={<Radio />}\n label=\"Like\"\n />\n </RadioGroup>\n\n <RadioGroup\n aria-label=\"matrixLabelType\"\n name=\"matrixLabelType\"\n value={model.labelType}\n onChange={onChangeLabelType}\n >\n <FormControlLabel value={MATRIX_LABEL_TYPE.custom} control={<Radio />} label=\"Custom\" />\n </RadioGroup>\n </Flex>\n </ColumnsWrapper>\n );\n};\n\nMatrixLabelTypeHeaderInput.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired,\n};\n\nexport default MatrixLabelTypeHeaderInput;\n"],"file":"MatrixLabelTypeHeaderInput.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/MatrixRowsSizeHeaderInput.js"],"names":["MatrixColumnsRowInput","model","onChangeModel","onIncrementSize","rowLabels","length","labelType","MATRIX_LABEL_TYPE","custom","onDecrementSize","rowLabelsLength","rowLabelsNext","pop","matrixValuesClone","matrixValues","columnLabels","forEach","columnLabel","columnIndex","propTypes","PropTypes","object","isRequired","func"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;
|
|
1
|
+
{"version":3,"sources":["../src/MatrixRowsSizeHeaderInput.js"],"names":["MatrixColumnsRowInput","model","onChangeModel","onIncrementSize","rowLabels","length","labelType","MATRIX_LABEL_TYPE","custom","onDecrementSize","rowLabelsLength","rowLabelsNext","pop","matrixValuesClone","matrixValues","columnLabels","forEach","columnLabel","columnIndex","propTypes","PropTypes","object","isRequired","func"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;AAEA,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,OAA8B;AAAA,MAA3BC,KAA2B,QAA3BA,KAA2B;AAAA,MAApBC,aAAoB,QAApBA,aAAoB;;AAC1D,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5BD,IAAAA,aAAa,iCACRD,KADQ;AAEXG,MAAAA,SAAS,gDAAMH,KAAK,CAACG,SAAZ,wBAAoCH,KAAK,CAACG,SAAN,CAAgBC,MAAhB,GAAyB,CAA7D,GAFE;AAGXC,MAAAA,SAAS,EAAEC,kCAAkBC;AAHlB,OAAb;AAKD,GAND;;AAQA,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,QAAMC,eAAe,GAAGT,KAAK,CAACG,SAAN,CAAgBC,MAAxC;;AACA,QAAIK,eAAe,IAAI,CAAvB,EAA0B;AACxB;AACD;;AACD,QAAMC,aAAa,uCAAOV,KAAK,CAACG,SAAb,CAAnB;AACAO,IAAAA,aAAa,CAACC,GAAd;;AACA,QAAMC,iBAAiB,qBAAQZ,KAAK,CAACa,YAAd,CAAvB;;AACAb,IAAAA,KAAK,CAACc,YAAN,CAAmBC,OAAnB,CAA2B,UAACC,WAAD,EAAcC,WAAd,EAA8B;AACvD,aAAOL,iBAAiB,WAAIH,eAAe,GAAG,CAAtB,cAA2BQ,WAA3B,EAAxB;AACD,KAFD;AAGAhB,IAAAA,aAAa,iCACRD,KADQ;AAEXG,MAAAA,SAAS,EAAEO,aAFA;AAGXG,MAAAA,YAAY,EAAED,iBAHH;AAIXP,MAAAA,SAAS,EAAEC,kCAAkBC;AAJlB,OAAb;AAMD,GAjBD;;AAmBA,sBACE,gCAAC,4BAAD,qBACE,gCAAC,2BAAD,sBADF,eAEE,gCAAC,yCAAD,qBACE,gCAAC,yBAAD,qBACE,gCAAC,kBAAD;AAAY,IAAA,OAAO,EAAEC;AAArB,IADF,CADF,eAIE,2CAAIR,KAAK,CAACG,SAAN,CAAgBC,MAApB,CAJF,eAKE,gCAAC,yBAAD,qBACE,gCAAC,eAAD;AAAS,IAAA,OAAO,EAAEF;AAAlB,IADF,CALF,CAFF,CADF;AAcD,CA1CD;;AA4CAH,qBAAqB,CAACmB,SAAtB,GAAkC;AAChClB,EAAAA,KAAK,EAAEmB,sBAAUC,MAAV,CAAiBC,UADQ;AAEhCpB,EAAAA,aAAa,EAAEkB,sBAAUG,IAAV,CAAeD;AAFE,CAAlC;eAKetB,qB","sourcesContent":["import React from 'react';\nimport AddIcon from '@material-ui/icons/Add';\nimport RemoveIcon from '@material-ui/icons/Remove';\n\nimport { ColumnsHeader, ColumnsWrapper, IconWrapper, NumberInputFormGroupWrapper } from './HeaderCommon';\nimport { MATRIX_LABEL_TYPE } from './matrixEntities';\nimport PropTypes from 'prop-types';\n\nconst MatrixColumnsRowInput = ({ model, onChangeModel }) => {\n const onIncrementSize = () => {\n onChangeModel({\n ...model,\n rowLabels: [...model.rowLabels, `STATEMENT ${model.rowLabels.length + 1}`],\n labelType: MATRIX_LABEL_TYPE.custom,\n });\n };\n\n const onDecrementSize = () => {\n const rowLabelsLength = model.rowLabels.length;\n if (rowLabelsLength <= 1) {\n return;\n }\n const rowLabelsNext = [...model.rowLabels];\n rowLabelsNext.pop();\n const matrixValuesClone = { ...model.matrixValues };\n model.columnLabels.forEach((columnLabel, columnIndex) => {\n delete matrixValuesClone[`${rowLabelsLength - 1}-${columnIndex}`];\n });\n onChangeModel({\n ...model,\n rowLabels: rowLabelsNext,\n matrixValues: matrixValuesClone,\n labelType: MATRIX_LABEL_TYPE.custom,\n });\n };\n\n return (\n <ColumnsWrapper>\n <ColumnsHeader>Matrix Rows</ColumnsHeader>\n <NumberInputFormGroupWrapper>\n <IconWrapper>\n <RemoveIcon onClick={onDecrementSize} />\n </IconWrapper>\n <p>{model.rowLabels.length}</p>\n <IconWrapper>\n <AddIcon onClick={onIncrementSize} />\n </IconWrapper>\n </NumberInputFormGroupWrapper>\n </ColumnsWrapper>\n );\n};\n\nMatrixColumnsRowInput.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired,\n};\n\nexport default MatrixColumnsRowInput;\n"],"file":"MatrixRowsSizeHeaderInput.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/MatrixValues.js"],"names":["columnWidth","ScoringContainer","styled","div","MatrixColumns","ColumnLabelWrapper","RowLabelWrapper","ValueRowWrapper","ValueItemWrapper","ScoringRows","ScoringNumberInputWrapper","GridSeparatorHorizontal","GridSeparatorVertical","Content","MatrixValues","props","model","onChangeModel","rowLabels","columnLabels","matrixValues","spellCheckEnabled","onSetMatrixValue","matrixValueIndex","value","matrixValuesClone","parseInt","onSetColumnLabel","index","labelValue","columnLabelsClone","onSetRowLabel","rowLabelsClone","onActionByColumn","resourceIndex","actionType","setValue","columnLabelIndex","forEach","rowLabel","rowLabelIndex","ACTION_TYPE","clear","sortAscending","sortDescending","length","set","onActionByRow","columnLabel","map","row","rowIndex","column","entryIndex","e","propTypes","PropTypes","object","isRequired","func"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,WAAW,GAAG,OAApB;;AAEO,IAAMC,gBAAgB,GAAGC,6BAAOC,GAAV,kKAAtB;;;;AAKA,IAAMC,aAAa,GAAGF,6BAAOC,GAAV,gKAAnB;;;;AAMA,IAAME,kBAAkB,GAAGH,6BAAOC,GAAV,iLACpBH,WADoB,CAAxB;;;;AAOA,IAAMM,eAAe,GAAGJ,6BAAOC,GAAV,iLAArB;;;;AAOA,IAAMI,eAAe,GAAGL,6BAAOC,GAAV,+IAArB;;;;AAKA,IAAMK,gBAAgB,GAAGN,6BAAOC,GAAV,kNAClBH,WADkB,CAAtB;;;;AASA,IAAMS,WAAW,GAAGP,6BAAOC,GAAV,2LAAjB;;;;AAOA,IAAMO,yBAAyB,GAAGR,6BAAOC,GAAV,0JAA/B;;;;AAMA,IAAMQ,uBAAuB,GAAGT,6BAAOC,GAAV,+IAA7B;;;;AAMA,IAAMS,qBAAqB,GAAGV,6BAAOC,GAAV,iJAA3B;;;;AAMA,IAAMU,OAAO,GAAGX,6BAAOC,GAAV,6GAAb;;;;AAIP,IAAMW,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;AAC9B,MAAQC,KAAR,GAAiCD,KAAjC,CAAQC,KAAR;AAAA,MAAeC,aAAf,GAAiCF,KAAjC,CAAeE,aAAf;AACA,MAAQC,SAAR,GAAoEF,KAApE,CAAQE,SAAR;AAAA,MAAmBC,YAAnB,GAAoEH,KAApE,CAAmBG,YAAnB;AAAA,MAAiCC,YAAjC,GAAoEJ,KAApE,CAAiCI,YAAjC;AAAA,MAA+CC,iBAA/C,GAAoEL,KAApE,CAA+CK,iBAA/C;;AAEA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,gBAAD,EAAmBC,KAAnB,EAA6B;AACpD,QAAMC,iBAAiB,qBAClBL,YADkB,CAAvB;;AAGA,QAAI,2BAAUI,KAAV,CAAJ,EAAsB;AACpBC,MAAAA,iBAAiB,CAACF,gBAAD,CAAjB,GAAsCG,QAAQ,CAACF,KAAD,EAAQ,EAAR,CAA9C;AACD,KAFD,MAEO;AACL,aAAOC,iBAAiB,CAACF,gBAAD,CAAxB;AACD;;AACDN,IAAAA,aAAa,iCACRD,KADQ;AAEXI,MAAAA,YAAY,EAAEK;AAFH,OAAb;AAID,GAbD;;AAeA,MAAME,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAQC,UAAR,EAAuB;AAC9C,QAAMC,iBAAiB,uCAAOX,YAAP,CAAvB;AACAW,IAAAA,iBAAiB,CAACF,KAAD,CAAjB,GAA2BC,UAA3B;AACAZ,IAAAA,aAAa,iCACRD,KADQ;AAEXG,MAAAA,YAAY,EAAEW;AAFH,OAAb;AAID,GAPD;;AAUA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACH,KAAD,EAAQC,UAAR,EAAuB;AAC3C,QAAMG,cAAc,uCAAOd,SAAP,CAApB;AACAc,IAAAA,cAAc,CAACJ,KAAD,CAAd,GAAwBC,UAAxB;AACAZ,IAAAA,aAAa,iCACRD,KADQ;AAEXE,MAAAA,SAAS,EAAEc;AAFA,OAAb;AAID,GAPD;;AASA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,OAA6C;AAAA,QAA1CC,aAA0C,QAA1CA,aAA0C;AAAA,QAA3BC,UAA2B,QAA3BA,UAA2B;AAAA,QAAfC,QAAe,QAAfA,QAAe;AACpE,QAAMC,gBAAgB,GAAGH,aAAzB;;AACA,QAAMT,iBAAiB,qBAAQL,YAAR,CAAvB;;AACAF,IAAAA,SAAS,CAACoB,OAAV,CAAkB,UAACC,QAAD,EAAWC,aAAX,EAA6B;AAC7C,cAAQL,UAAR;AACE,aAAKM,uCAAYC,KAAjB;AACE,iBAAOjB,iBAAiB,WAAIe,aAAJ,cAAqBH,gBAArB,EAAxB;AACA;;AACF,aAAKI,uCAAYE,aAAjB;AACElB,UAAAA,iBAAiB,WAAIe,aAAJ,cAAqBH,gBAArB,EAAjB,GAA4DG,aAAa,GAAG,CAA5E;AACA;;AACF,aAAKC,uCAAYG,cAAjB;AACEnB,UAAAA,iBAAiB,WAAIe,aAAJ,cAAqBH,gBAArB,EAAjB,GAA4DnB,SAAS,CAAC2B,MAAV,GAAmBL,aAA/E;AACA;;AACF,aAAKC,uCAAYK,GAAjB;AACErB,UAAAA,iBAAiB,WAAIe,aAAJ,cAAqBH,gBAArB,EAAjB,GAA4DD,QAA5D;AACA;;AACF;AACE,gBAAM,sBAAN;AAdJ;AAiBD,KAlBD;AAmBAnB,IAAAA,aAAa,iCACRD,KADQ;AAEXI,MAAAA,YAAY,EAAEK;AAFH,OAAb;AAID,GA1BD;;AA4BA,MAAMsB,aAAa,GAAG,SAAhBA,aAAgB,QAA6C;AAAA,QAA1Cb,aAA0C,SAA1CA,aAA0C;AAAA,QAA3BC,UAA2B,SAA3BA,UAA2B;AAAA,QAAfC,QAAe,SAAfA,QAAe;AACjE,QAAMI,aAAa,GAAGN,aAAtB;;AACA,QAAMT,iBAAiB,qBAAQL,YAAR,CAAvB;;AACAD,IAAAA,YAAY,CAACmB,OAAb,CAAqB,UAACU,WAAD,EAAcX,gBAAd,EAAmC;AACtD,cAAQF,UAAR;AACE,aAAKM,uCAAYC,KAAjB;AACE,iBAAOjB,iBAAiB,WAAIe,aAAJ,cAAqBH,gBAArB,EAAxB;AACA;;AACF,aAAKI,uCAAYE,aAAjB;AACElB,UAAAA,iBAAiB,WAAIe,aAAJ,cAAqBH,gBAArB,EAAjB,GAA4DG,aAAa,GAAG,CAA5E;AACA;;AACF,aAAKC,uCAAYG,cAAjB;AACEnB,UAAAA,iBAAiB,WAAIe,aAAJ,cAAqBH,gBAArB,EAAjB,GAA4DnB,SAAS,CAAC2B,MAAV,GAAmBL,aAA/E;AACA;;AACF,aAAKC,uCAAYK,GAAjB;AACErB,UAAAA,iBAAiB,WAAIe,aAAJ,cAAqBH,gBAArB,EAAjB,GAA4DD,QAA5D;AACA;;AACF;AACE,gBAAM,sBAAN;AAdJ;AAiBD,KAlBD;AAmBAnB,IAAAA,aAAa,iCACRD,KADQ;AAEXI,MAAAA,YAAY,EAAEK;AAFH,OAAb;AAID,GA1BD;;AA4BA,sBACE,gCAAC,gBAAD,qBACE,4CADF,eAEE,gCAAC,qBAAD,OAFF,eAGE,gCAAC,aAAD,QAEIN,YAAY,CAAC8B,GAAb,CAAiB,UAACzB,KAAD,EAAQa,gBAAR;AAAA,wBACf,gCAAC,kBAAD;AAAoB,MAAA,GAAG,EAAEA;AAAzB,oBACE,gCAAC,qCAAD;AACE,MAAA,aAAa,EAAEA,gBADjB;AAEE,MAAA,QAAQ,EAAEJ,gBAFZ;AAGE,MAAA,KAAK,EAAET,KAHT;AAIE,MAAA,aAAa,EAAE,uBAACK,UAAD;AAAA,eAAgBF,gBAAgB,CAACU,gBAAD,EAAmBR,UAAnB,CAAhC;AAAA,OAJjB;AAKE,MAAA,UAAU,EAAIR;AALhB,MADF,CADe;AAAA,GAAjB,CAFJ,CAHF,eAkBE,gCAAC,uBAAD,OAlBF,eAmBE,gCAAC,qBAAD,OAnBF,eAoBE,gCAAC,uBAAD,OApBF,eAqBE,gCAAC,WAAD,QAEIH,SAAS,CAAC+B,GAAV,CAAc,UAACzB,KAAD,EAAQgB,aAAR;AAAA,wBACZ,gCAAC,eAAD;AAAiB,MAAA,GAAG,EAAEA;AAAtB,oBACE,gCAAC,qCAAD;AACE,MAAA,aAAa,EAAEA,aADjB;AAEE,MAAA,QAAQ,EAAEO,aAFZ;AAGE,MAAA,KAAK,EAAEvB,KAHT;AAIE,MAAA,aAAa,EAAE,uBAACK,UAAD;AAAA,eAAgBE,aAAa,CAACS,aAAD,EAAgBX,UAAhB,CAA7B;AAAA,OAJjB;AAKE,MAAA,UAAU,EAAIR;AALhB,MADF,CADY;AAAA,GAAd,CAFJ,CArBF,eAoCE,gCAAC,qBAAD,OApCF,eAqCE,gCAAC,OAAD,QACGH,SAAS,CAAC+B,GAAV,CAAc,UAACC,GAAD,EAAMC,QAAN,EAAmB;AAChC,wBACE,gCAAC,eAAD;AAAiB,MAAA,GAAG,EAAEA;AAAtB,OACGhC,YAAY,CAAC8B,GAAb,CAAiB,UAACG,MAAD,EAASC,UAAT,EAAwB;AACxC,UAAM9B,gBAAgB,aAAM4B,QAAN,cAAkBE,UAAlB,CAAtB;AACA,0BACE,gCAAC,gBAAD;AAAkB,QAAA,GAAG,EAAEA;AAAvB,sBACE,gCAAC,yBAAD,qBACE,gCAAC,uBAAD;AACE,QAAA,aAAa,EAAE,uBAACC,CAAD;AAAA,iBAAOhC,gBAAgB,CAACC,gBAAD,EAAmB+B,CAAnB,CAAvB;AAAA,SADjB;AAEE,QAAA,IAAI,EAAE/B,gBAFR;AAGE,QAAA,WAAW,EAAC,GAHd;AAIE,QAAA,UAAU,EAAE;AACVC,UAAAA,KAAK,EAAE,2BAAUJ,YAAY,CAACG,gBAAD,CAAtB,IAA4CH,YAAY,CAACG,gBAAD,CAAxD,GAA6E;AAD1E;AAJd,QADF,CADF,CADF;AAcD,KAhBA,CADH,CADF;AAqBD,GAtBA,CADH,CArCF,CADF;AAiED,CA/JD;;AAiKAT,YAAY,CAACyC,SAAb,GAAyB;AACvBvC,EAAAA,KAAK,EAAEwC,sBAAUC,MAAV,CAAiBC,UADD;AAEvBzC,EAAAA,aAAa,EAAEuC,sBAAUG,IAAV,CAAeD;AAFP,CAAzB;eAKe5C,Y","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport MatrixLabelEditableButton, {ACTION_TYPE} from './MatrixLabelEditableButton';\nimport isNumeric from './isNumeric';\nimport NumberInput from './NumberInput';\nimport PropTypes from 'prop-types';\n\nconst columnWidth = '120px';\n\nexport const ScoringContainer = styled.div`\n display: grid;\n grid-template-columns: min-content min-content auto;\n`;\n\nexport const MatrixColumns = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 5px;\n`;\n\nexport const ColumnLabelWrapper = styled.div`\n width: ${columnWidth};\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const RowLabelWrapper = styled.div`\n width: 200px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ValueRowWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport const ValueItemWrapper = styled.div`\n width: ${columnWidth};\n height: 50px;\n margin: 1px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ScoringRows = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 5px;\n`;\n\nexport const ScoringNumberInputWrapper = styled.div`\n width: 60px;\n justify-self: center;\n align-self: center;\n`;\n\nexport const GridSeparatorHorizontal = styled.div`\n background: gray;\n width: 100%;\n height: 1px;\n`;\n\nexport const GridSeparatorVertical = styled.div`\n background: gray;\n width: 1px;\n height: 100%;\n`;\n\nexport const Content = styled.div`\n padding: 5px;\n`;\n\nconst MatrixValues = (props) => {\n const { model, onChangeModel } = props;\n const { rowLabels, columnLabels, matrixValues, spellCheckEnabled} = model;\n\n const onSetMatrixValue = (matrixValueIndex, value) => {\n const matrixValuesClone = {\n ...matrixValues,\n };\n if (isNumeric(value)) {\n matrixValuesClone[matrixValueIndex] = parseInt(value, 10);\n } else {\n delete matrixValuesClone[matrixValueIndex];\n }\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone\n })\n };\n\n const onSetColumnLabel = (index, labelValue) => {\n const columnLabelsClone = [...columnLabels];\n columnLabelsClone[index] = labelValue;\n onChangeModel({\n ...model,\n columnLabels: columnLabelsClone\n })\n };\n\n\n const onSetRowLabel = (index, labelValue) => {\n const rowLabelsClone = [...rowLabels];\n rowLabelsClone[index] = labelValue;\n onChangeModel({\n ...model,\n rowLabels: rowLabelsClone\n })\n };\n\n const onActionByColumn = ({ resourceIndex, actionType, setValue }) => {\n const columnLabelIndex = resourceIndex;\n const matrixValuesClone = { ...matrixValues };\n rowLabels.forEach((rowLabel, rowLabelIndex) => {\n switch (actionType) {\n case ACTION_TYPE.clear:\n delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];\n break;\n case ACTION_TYPE.sortAscending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;\n break;\n case ACTION_TYPE.sortDescending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;\n break;\n case ACTION_TYPE.set:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;\n break;\n default:\n throw 'Incorrect actionType';\n\n }\n });\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone\n })\n };\n\n const onActionByRow = ({ resourceIndex, actionType, setValue }) => {\n const rowLabelIndex = resourceIndex;\n const matrixValuesClone = { ...matrixValues };\n columnLabels.forEach((columnLabel, columnLabelIndex) => {\n switch (actionType) {\n case ACTION_TYPE.clear:\n delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];\n break;\n case ACTION_TYPE.sortAscending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;\n break;\n case ACTION_TYPE.sortDescending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;\n break;\n case ACTION_TYPE.set:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;\n break;\n default:\n throw 'Incorrect actionType';\n\n }\n });\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone\n })\n };\n\n return (\n <ScoringContainer>\n <div/>\n <GridSeparatorVertical/>\n <MatrixColumns>\n {\n columnLabels.map((value, columnLabelIndex) => (\n <ColumnLabelWrapper key={columnLabelIndex}>\n <MatrixLabelEditableButton\n resourceIndex={columnLabelIndex}\n onAction={onActionByColumn}\n value={value}\n onLabelUpdate={(labelValue) => onSetColumnLabel(columnLabelIndex, labelValue)}\n spellCheck = {spellCheckEnabled}\n />\n </ColumnLabelWrapper>\n ))\n }\n </MatrixColumns>\n <GridSeparatorHorizontal/>\n <GridSeparatorVertical/>\n <GridSeparatorHorizontal/>\n <ScoringRows>\n {\n rowLabels.map((value, rowLabelIndex) => (\n <RowLabelWrapper key={rowLabelIndex}>\n <MatrixLabelEditableButton\n resourceIndex={rowLabelIndex}\n onAction={onActionByRow}\n value={value}\n onLabelUpdate={(labelValue) => onSetRowLabel(rowLabelIndex, labelValue)}\n spellCheck = {spellCheckEnabled}\n />\n </RowLabelWrapper>\n ))\n }\n </ScoringRows>\n <GridSeparatorVertical/>\n <Content>\n {rowLabels.map((row, rowIndex) => {\n return (\n <ValueRowWrapper key={rowIndex}>\n {columnLabels.map((column, entryIndex) => {\n const matrixValueIndex = `${rowIndex}-${entryIndex}`;\n return (\n <ValueItemWrapper key={entryIndex}>\n <ScoringNumberInputWrapper>\n <NumberInput\n onFieldUpdate={(e) => onSetMatrixValue(matrixValueIndex, e)}\n name={matrixValueIndex}\n placeholder='#'\n fieldValue={{\n value: isNumeric(matrixValues[matrixValueIndex]) ? matrixValues[matrixValueIndex] : ''\n }}\n />\n </ScoringNumberInputWrapper>\n </ValueItemWrapper>\n )\n })}\n </ValueRowWrapper>\n );\n })}\n </Content>\n </ScoringContainer>\n );\n};\n\nMatrixValues.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired\n};\n\nexport default MatrixValues;\n"],"file":"MatrixValues.js"}
|
|
1
|
+
{"version":3,"sources":["../src/MatrixValues.js"],"names":["columnWidth","ScoringContainer","styled","div","MatrixColumns","ColumnLabelWrapper","RowLabelWrapper","ValueRowWrapper","ValueItemWrapper","ScoringRows","ScoringNumberInputWrapper","GridSeparatorHorizontal","GridSeparatorVertical","Content","MatrixValues","props","model","onChangeModel","rowLabels","columnLabels","matrixValues","spellCheckEnabled","onSetMatrixValue","matrixValueIndex","value","matrixValuesClone","parseInt","onSetColumnLabel","index","labelValue","columnLabelsClone","onSetRowLabel","rowLabelsClone","onActionByColumn","resourceIndex","actionType","setValue","columnLabelIndex","forEach","rowLabel","rowLabelIndex","ACTION_TYPE","clear","sortAscending","sortDescending","length","set","onActionByRow","columnLabel","map","row","rowIndex","column","entryIndex","e","propTypes","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport MatrixLabelEditableButton, { ACTION_TYPE } from './MatrixLabelEditableButton';\nimport isNumeric from './isNumeric';\nimport NumberInput from './NumberInput';\nimport PropTypes from 'prop-types';\n\nconst columnWidth = '120px';\n\nexport const ScoringContainer = styled.div`\n display: grid;\n grid-template-columns: min-content min-content auto;\n`;\n\nexport const MatrixColumns = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 5px;\n`;\n\nexport const ColumnLabelWrapper = styled.div`\n width: ${columnWidth};\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const RowLabelWrapper = styled.div`\n width: 200px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ValueRowWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport const ValueItemWrapper = styled.div`\n width: ${columnWidth};\n height: 50px;\n margin: 1px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ScoringRows = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 5px;\n`;\n\nexport const ScoringNumberInputWrapper = styled.div`\n width: 60px;\n justify-self: center;\n align-self: center;\n`;\n\nexport const GridSeparatorHorizontal = styled.div`\n background: gray;\n width: 100%;\n height: 1px;\n`;\n\nexport const GridSeparatorVertical = styled.div`\n background: gray;\n width: 1px;\n height: 100%;\n`;\n\nexport const Content = styled.div`\n padding: 5px;\n`;\n\nconst MatrixValues = (props) => {\n const { model, onChangeModel } = props;\n const { rowLabels, columnLabels, matrixValues, spellCheckEnabled } = model;\n\n const onSetMatrixValue = (matrixValueIndex, value) => {\n const matrixValuesClone = {\n ...matrixValues,\n };\n if (isNumeric(value)) {\n matrixValuesClone[matrixValueIndex] = parseInt(value, 10);\n } else {\n delete matrixValuesClone[matrixValueIndex];\n }\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone,\n });\n };\n\n const onSetColumnLabel = (index, labelValue) => {\n const columnLabelsClone = [...columnLabels];\n columnLabelsClone[index] = labelValue;\n onChangeModel({\n ...model,\n columnLabels: columnLabelsClone,\n });\n };\n\n const onSetRowLabel = (index, labelValue) => {\n const rowLabelsClone = [...rowLabels];\n rowLabelsClone[index] = labelValue;\n onChangeModel({\n ...model,\n rowLabels: rowLabelsClone,\n });\n };\n\n const onActionByColumn = ({ resourceIndex, actionType, setValue }) => {\n const columnLabelIndex = resourceIndex;\n const matrixValuesClone = { ...matrixValues };\n rowLabels.forEach((rowLabel, rowLabelIndex) => {\n switch (actionType) {\n case ACTION_TYPE.clear:\n delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];\n break;\n case ACTION_TYPE.sortAscending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;\n break;\n case ACTION_TYPE.sortDescending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;\n break;\n case ACTION_TYPE.set:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;\n break;\n default:\n throw 'Incorrect actionType';\n }\n });\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone,\n });\n };\n\n const onActionByRow = ({ resourceIndex, actionType, setValue }) => {\n const rowLabelIndex = resourceIndex;\n const matrixValuesClone = { ...matrixValues };\n columnLabels.forEach((columnLabel, columnLabelIndex) => {\n switch (actionType) {\n case ACTION_TYPE.clear:\n delete matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`];\n break;\n case ACTION_TYPE.sortAscending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabelIndex + 1;\n break;\n case ACTION_TYPE.sortDescending:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = rowLabels.length - rowLabelIndex;\n break;\n case ACTION_TYPE.set:\n matrixValuesClone[`${rowLabelIndex}-${columnLabelIndex}`] = setValue;\n break;\n default:\n throw 'Incorrect actionType';\n }\n });\n onChangeModel({\n ...model,\n matrixValues: matrixValuesClone,\n });\n };\n\n return (\n <ScoringContainer>\n <div />\n <GridSeparatorVertical />\n <MatrixColumns>\n {columnLabels.map((value, columnLabelIndex) => (\n <ColumnLabelWrapper key={columnLabelIndex}>\n <MatrixLabelEditableButton\n resourceIndex={columnLabelIndex}\n onAction={onActionByColumn}\n value={value}\n onLabelUpdate={(labelValue) => onSetColumnLabel(columnLabelIndex, labelValue)}\n spellCheck={spellCheckEnabled}\n />\n </ColumnLabelWrapper>\n ))}\n </MatrixColumns>\n <GridSeparatorHorizontal />\n <GridSeparatorVertical />\n <GridSeparatorHorizontal />\n <ScoringRows>\n {rowLabels.map((value, rowLabelIndex) => (\n <RowLabelWrapper key={rowLabelIndex}>\n <MatrixLabelEditableButton\n resourceIndex={rowLabelIndex}\n onAction={onActionByRow}\n value={value}\n onLabelUpdate={(labelValue) => onSetRowLabel(rowLabelIndex, labelValue)}\n spellCheck={spellCheckEnabled}\n />\n </RowLabelWrapper>\n ))}\n </ScoringRows>\n <GridSeparatorVertical />\n <Content>\n {rowLabels.map((row, rowIndex) => {\n return (\n <ValueRowWrapper key={rowIndex}>\n {columnLabels.map((column, entryIndex) => {\n const matrixValueIndex = `${rowIndex}-${entryIndex}`;\n return (\n <ValueItemWrapper key={entryIndex}>\n <ScoringNumberInputWrapper>\n <NumberInput\n onFieldUpdate={(e) => onSetMatrixValue(matrixValueIndex, e)}\n name={matrixValueIndex}\n placeholder=\"#\"\n fieldValue={{\n value: isNumeric(matrixValues[matrixValueIndex]) ? matrixValues[matrixValueIndex] : '',\n }}\n />\n </ScoringNumberInputWrapper>\n </ValueItemWrapper>\n );\n })}\n </ValueRowWrapper>\n );\n })}\n </Content>\n </ScoringContainer>\n );\n};\n\nMatrixValues.propTypes = {\n model: PropTypes.object.isRequired,\n onChangeModel: PropTypes.func.isRequired,\n};\n\nexport default MatrixValues;\n"],"file":"MatrixValues.js"}
|
|
@@ -27,7 +27,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
27
27
|
|
|
28
28
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
29
|
|
|
30
|
-
var InputWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n input[type='number'] {\n -moz-appearance:textfield;\n }\n
|
|
30
|
+
var InputWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n input[type='number'] {\n -moz-appearance: textfield;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n }\n"])));
|
|
31
31
|
|
|
32
32
|
var styles = {
|
|
33
33
|
InputPropsClass: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/NumberInput.js"],"names":["InputWrapper","styled","div","styles","InputPropsClass","fontSize","textAlign","padding","margin","borderColor","borderWidth","inputPropsClass","cssFocused","notchedOutline","NumericInput","props","classes","onFieldUpdate","name","placeholder","fieldValue","onFieldUpdateWrapper","e","target","value","className","root","focused","ref","propTypes","PropTypes","string","isRequired","object","func"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,YAAY,GAAGC,6BAAOC,GAAV,
|
|
1
|
+
{"version":3,"sources":["../src/NumberInput.js"],"names":["InputWrapper","styled","div","styles","InputPropsClass","fontSize","textAlign","padding","margin","borderColor","borderWidth","inputPropsClass","cssFocused","notchedOutline","NumericInput","props","classes","onFieldUpdate","name","placeholder","fieldValue","onFieldUpdateWrapper","e","target","value","className","root","focused","ref","propTypes","PropTypes","string","isRequired","object","func"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,YAAY,GAAGC,6BAAOC,GAAV,0SAAlB;;AAaA,IAAMC,MAAM,GAAG;AACbC,EAAAA,eAAe,EAAE;AACfC,IAAAA,QAAQ,EAAE,MADK;AAEfC,IAAAA,SAAS,EAAE,kBAFI;AAGfC,IAAAA,OAAO,EAAE,aAHM;AAIfC,IAAAA,MAAM,EAAE,OAJO;AAKf,oCAAgC;AAC9BC,MAAAA,WAAW,EAAE,kBADiB;AAE9BC,MAAAA,WAAW,EAAE;AAFiB,KALjB;AASf,+BAA2B;AACzBD,MAAAA,WAAW,EAAE;AADY;AATZ,GADJ;AAcbE,EAAAA,eAAe,EAAE;AACfN,IAAAA,QAAQ,EAAE,MADK;AAEfC,IAAAA,SAAS,EAAE,QAFI;AAGfC,IAAAA,OAAO,EAAE,GAHM;AAIfC,IAAAA,MAAM,EAAE;AAJO,GAdJ;AAoBbI,EAAAA,UAAU,EAAE,EApBC;AAsBbC,EAAAA,cAAc,EAAE;AACdH,IAAAA,WAAW,EAAE,gBADC;AAEdD,IAAAA,WAAW,EAAE;AAFC;AAtBH,CAAf;AA4BA,IAAMK,YAAY,GAAG,wBAAWX,MAAX,EAAmB,UAACY,KAAD,EAAW;AACjD,MAAQC,OAAR,GAAkED,KAAlE,CAAQC,OAAR;AAAA,MAAiBC,aAAjB,GAAkEF,KAAlE,CAAiBE,aAAjB;AAAA,MAAgCC,IAAhC,GAAkEH,KAAlE,CAAgCG,IAAhC;AAAA,MAAsCC,WAAtC,GAAkEJ,KAAlE,CAAsCI,WAAtC;AAAA,MAAmDC,UAAnD,GAAkEL,KAAlE,CAAmDK,UAAnD;;AAEA,MAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,CAAD,EAAO;AAClCL,IAAAA,aAAa,CAACK,CAAC,CAACC,MAAF,CAASC,KAAV,CAAb;AACD,GAFD;;AAIA,sBACE,oBAAC,YAAD,qBACE,oBAAC,eAAD;AACE,IAAA,IAAI,EAAEN,IADR;AAEE,IAAA,KAAK,EAAEE,UAAU,CAACI,KAFpB;AAGE,IAAA,UAAU,EAAE;AACVC,MAAAA,SAAS,EAAET,OAAO,CAACL;AADT,KAHd;AAME,IAAA,UAAU,EAAE;AACVK,MAAAA,OAAO,EAAE;AACPU,QAAAA,IAAI,EAAEV,OAAO,CAACZ,eADP;AAEPuB,QAAAA,OAAO,EAAEX,OAAO,CAACJ,UAFV;AAGPC,QAAAA,cAAc,EAAEG,OAAO,CAACH;AAHjB;AADC,KANd;AAaE,IAAA,QAAQ,EAAEO,UAAU,CAACQ,GAbvB;AAcE,IAAA,IAAI,EAAC,QAdP;AAeE,IAAA,WAAW,EAAET,WAff;AAgBE,IAAA,QAAQ,EAAEE,oBAhBZ;AAiBE,IAAA,OAAO,EAAC;AAjBV,IADF,CADF;AAuBD,CA9BoB,CAArB;AAgCAP,YAAY,CAACe,SAAb,GAAyB;AACvBX,EAAAA,IAAI,EAAEY,sBAAUC,MAAV,CAAiBC,UADA;AAEvBb,EAAAA,WAAW,EAAEW,sBAAUC,MAAV,CAAiBC,UAFP;AAGvBZ,EAAAA,UAAU,EAAEU,sBAAUG,MAAV,CAAiBD,UAHN;AAIvBhB,EAAAA,OAAO,EAAEc,sBAAUG,MAJI;AAMvBhB,EAAAA,aAAa,EAAEa,sBAAUI,IAAV,CAAeF;AANP,CAAzB;eASelB,Y","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { TextField } from '@material-ui/core';\n\nconst InputWrapper = styled.div`\n width: 100%;\n height: 100%;\n input[type='number'] {\n -moz-appearance: textfield;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n }\n`;\n\nconst styles = {\n InputPropsClass: {\n fontSize: '16px',\n textAlign: 'center!important',\n padding: '0!important',\n margin: '5px 0',\n '&$cssFocused $notchedOutline': {\n borderColor: 'green !important',\n borderWidth: '1px !important',\n },\n '&:hover $notchedOutline': {\n borderColor: 'gray !important',\n },\n },\n inputPropsClass: {\n fontSize: '16px',\n textAlign: 'center',\n padding: '0',\n margin: '5px 0',\n },\n cssFocused: {},\n\n notchedOutline: {\n borderWidth: '1px !important',\n borderColor: '#d6d6d6 !important',\n },\n};\n\nconst NumericInput = withStyles(styles)((props) => {\n const { classes, onFieldUpdate, name, placeholder, fieldValue } = props;\n\n const onFieldUpdateWrapper = (e) => {\n onFieldUpdate(e.target.value);\n };\n\n return (\n <InputWrapper>\n <TextField\n name={name}\n value={fieldValue.value}\n inputProps={{\n className: classes.inputPropsClass,\n }}\n InputProps={{\n classes: {\n root: classes.InputPropsClass,\n focused: classes.cssFocused,\n notchedOutline: classes.notchedOutline,\n },\n }}\n inputRef={fieldValue.ref}\n type=\"number\"\n placeholder={placeholder}\n onChange={onFieldUpdateWrapper}\n variant=\"outlined\"\n />\n </InputWrapper>\n );\n});\n\nNumericInput.propTypes = {\n name: PropTypes.string.isRequired,\n placeholder: PropTypes.string.isRequired,\n fieldValue: PropTypes.object.isRequired,\n classes: PropTypes.object,\n\n onFieldUpdate: PropTypes.func.isRequired,\n};\n\nexport default NumericInput;\n"],"file":"NumberInput.js"}
|
|
@@ -13,7 +13,7 @@ var _default = {
|
|
|
13
13
|
model: {
|
|
14
14
|
teacherInstructionsEnabled: true,
|
|
15
15
|
labelType: 'agreement',
|
|
16
|
-
rowLabels: [
|
|
16
|
+
rowLabels: ["I'm interested in politics.", "I'm interested in economics."],
|
|
17
17
|
columnLabels: ['Disagree', 'Unsure', 'Agree'],
|
|
18
18
|
matrixValues: {},
|
|
19
19
|
prompt: 'How interested are you in the following domains?'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["model","teacherInstructionsEnabled","labelType","rowLabels","columnLabels","matrixValues","prompt","configuration","teacherInstructions","settings","label","spellCheck","enabled"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;eACe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,0BAA0B,EAAE,IADvB;AAELC,IAAAA,SAAS,EAAE,WAFN;AAGLC,IAAAA,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","teacherInstructionsEnabled","labelType","rowLabels","columnLabels","matrixValues","prompt","configuration","teacherInstructions","settings","label","spellCheck","enabled"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;eACe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,0BAA0B,EAAE,IADvB;AAELC,IAAAA,SAAS,EAAE,WAFN;AAGLC,IAAAA,SAAS,EAAE,CAAC,6BAAD,EAAgC,8BAAhC,CAHN;AAILC,IAAAA,YAAY,EAAE,CAAC,UAAD,EAAa,QAAb,EAAuB,OAAvB,CAJT;AAKLC,IAAAA,YAAY,EAAE,EALT;AAMLC,IAAAA,MAAM,EAAE;AANH,GADM;AASbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,mBAAmB,EAAE;AACnBC,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KADR;AAKbC,IAAAA,UAAU,EAAE;AACVD,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAE,KAFA;AAGVG,MAAAA,OAAO,EAAE;AAHC,KALC;AAUbN,IAAAA,MAAM,EAAE;AACNG,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD;AAVK;AATF,C","sourcesContent":["/** 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 teacherInstructionsEnabled: true,\n labelType: 'agreement',\n rowLabels: [\"I'm interested in politics.\", \"I'm interested in economics.\"],\n columnLabels: ['Disagree', 'Unsure', 'Agree'],\n matrixValues: {},\n prompt: 'How interested are you in the following domains?',\n },\n configuration: {\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n },\n },\n};\n"],"file":"defaults.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","prepareCustomizationObject","config","model","configuration","sensibleDefaults","Matrix","_model","createDefaultModel","_configuration","onModelChanged","bind","onConfigurationChanged","s","_render","c","info","_disableSidePanel","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","dispatchModelUpdated","handler","InsertSoundEvent","src","done","DeleteSoundEvent","element","React","createElement","Main","disableSidePanel","uploadSoundSupport","add","insertSound","onDeleteSound","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","prepareCustomizationObject","config","model","configuration","sensibleDefaults","Matrix","_model","createDefaultModel","_configuration","onModelChanged","bind","onConfigurationChanged","s","_render","c","info","_disableSidePanel","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","dispatchModelUpdated","handler","InsertSoundEvent","src","done","DeleteSoundEvent","element","React","createElement","Main","disableSidePanel","uploadSoundSupport","add","insertSound","onDeleteSound","ReactDOM","render","HTMLElement"],"mappings":"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","sourcesContent":["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('matrix: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 Matrix extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...sensibleDefaults.model,\n ...model,\n });\n\n constructor() {\n super();\n this._model = Matrix.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 = Matrix.createDefaultModel(s);\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"],"file":"index.js"}
|
package/configure/package.json
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@material-ui/core": "^3.9.2",
|
|
11
11
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
12
|
-
"@pie-lib/config-ui": "^11.0.
|
|
13
|
-
"@pie-lib/editable-html": "^9.2.
|
|
12
|
+
"@pie-lib/config-ui": "^11.0.26",
|
|
13
|
+
"@pie-lib/editable-html": "^9.2.8",
|
|
14
14
|
"debug": "^4.1.1",
|
|
15
15
|
"prop-types": "^15.6.2",
|
|
16
16
|
"react": "^16.8.1",
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
var _default = {
|
|
8
8
|
labelType: 'agreement',
|
|
9
|
-
rowLabels: [
|
|
9
|
+
rowLabels: ["I'm interested in politics.", "I'm interested in economics."],
|
|
10
10
|
columnLabels: ['Disagree', 'Unsure', 'Agree'],
|
|
11
11
|
matrixValues: {},
|
|
12
12
|
prompt: 'How interested are you in the following domains?'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["labelType","rowLabels","columnLabels","matrixValues","prompt"],"mappings":";;;;;;eAAe;AACbA,EAAAA,SAAS,EAAE,WADE;AAEbC,EAAAA,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["labelType","rowLabels","columnLabels","matrixValues","prompt"],"mappings":";;;;;;eAAe;AACbA,EAAAA,SAAS,EAAE,WADE;AAEbC,EAAAA,SAAS,EAAE,CAAC,6BAAD,EAAgC,8BAAhC,CAFE;AAGbC,EAAAA,YAAY,EAAE,CAAC,UAAD,EAAa,QAAb,EAAuB,OAAvB,CAHD;AAIbC,EAAAA,YAAY,EAAE,EAJD;AAKbC,EAAAA,MAAM,EAAE;AALK,C","sourcesContent":["export default {\n labelType: 'agreement',\n rowLabels: [\"I'm interested in politics.\", \"I'm interested in economics.\"],\n columnLabels: ['Disagree', 'Unsure', 'Agree'],\n matrixValues: {},\n prompt: 'How interested are you in the following domains?',\n};\n"],"file":"defaults.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["createDefaultModel","model","Promise","resolve","defaults","question","session","env","normalizedQuestion","out","disabled","mode","role","teacherInstructions","teacherInstructionsEnabled","outcome","score","empty","Object","keys","value","reduce","acc","key","matrixValue","matrixValues","createCorrectResponseSession","id"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,MAACC,KAAD,uEAAS,EAAT;AAAA,SAAgB,IAAIC,OAAJ,CAAY,
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["createDefaultModel","model","Promise","resolve","defaults","question","session","env","normalizedQuestion","out","disabled","mode","role","teacherInstructions","teacherInstructionsEnabled","outcome","score","empty","Object","keys","value","reduce","acc","key","matrixValue","matrixValues","createCorrectResponseSession","id"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,MAACC,KAAD,uEAAS,EAAT;AAAA,SAAgB,IAAIC,OAAJ,CAAY,UAACC,OAAD;AAAA,WAAaA,OAAO,iCAAMC,oBAAN,GAAmBH,KAAnB,EAApB;AAAA,GAAZ,CAAhB;AAAA,CAA3B;AAEP;AACA;AACA;AACA;AACA;AACA;;;;;SACsBA,K;;;;;yFAAf,iBAAqBI,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,kBADD,mCAC2BJ,oBAD3B,GACwCC,QADxC;AAGCI,YAAAA,GAHD,mCAIAD,kBAJA;AAKHE,cAAAA,QAAQ,EAAEH,GAAG,CAACI,IAAJ,KAAa,QALpB;AAMHA,cAAAA,IAAI,EAAEJ,GAAG,CAACI;AANP;AAAA,oBASkBJ,GAAG,IAAI,EATzB,EASGK,IATH,SASGA,IATH,EASSD,IATT,SASSA,IATT;;AAWL,gBAAIC,IAAI,KAAK,YAAT,KAA0BD,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,UAAtD,CAAJ,EAAuE;AACrEF,cAAAA,GAAG,CAACI,mBAAJ,GAA0BL,kBAAkB,CAACM,0BAAnB,GACtBN,kBAAkB,CAACK,mBADG,GAEtB,IAFJ;AAGD,aAJD,MAIO;AACLJ,cAAAA,GAAG,CAACI,mBAAJ,GAA0B,IAA1B;AACD;;AAjBI,6CAmBEJ,GAnBF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAsBA,SAASM,OAAT,CAAiBd,KAAjB,EAAwBK,OAAxB,EAAiC;AACtC,SAAO,IAAIJ,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAI,CAACG,OAAD,IAAY,yBAAQA,OAAR,CAAhB,EAAkC;AAChC,aAAOH,OAAO,CAAC;AAAEa,QAAAA,KAAK,EAAE,CAAT;AAAYC,QAAAA,KAAK,EAAE;AAAnB,OAAD,CAAd;AACD;;AAED,QAAMD,KAAK,GAAGE,MAAM,CAACC,IAAP,CAAYb,OAAO,CAACc,KAApB,EAA2BC,MAA3B,CAAkC,UAACC,GAAD,EAAMC,GAAN,EAAc;AAC5D,UAAMC,WAAW,GAAGvB,KAAK,CAACwB,YAAN,CAAmBF,GAAnB,CAApB;AACA,aAAOD,GAAG,IAAIE,WAAW,IAAI,CAAnB,CAAV;AACD,KAHa,EAGX,CAHW,CAAd;AAKArB,IAAAA,OAAO,CAAC;AAAEa,MAAAA,KAAK,EAALA,KAAF;AAASC,MAAAA,KAAK,EAAE;AAAhB,KAAD,CAAP;AACD,GAXM,CAAP;AAYD;;AAEM,IAAMS,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACrB,QAAD,EAAWE,GAAX,EAAmB;AAC7D,SAAO,IAAIL,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAII,GAAG,CAACI,IAAJ,KAAa,UAAb,IAA2BJ,GAAG,CAACK,IAAJ,KAAa,YAA5C,EAA0D;AACxD,iBAAyBP,QAAQ,IAAI,EAArC;AAAA,UAAQoB,YAAR,QAAQA,YAAR;;AAEAtB,MAAAA,OAAO,CAAC;AACNwB,QAAAA,EAAE,EAAE,GADE;AAENP,QAAAA,KAAK,EAAEK;AAFD,OAAD,CAAP;AAID,KAPD,MAOO;AACLtB,MAAAA,OAAO,CAAC,IAAD,CAAP;AACD;AACF,GAXM,CAAP;AAYD,CAbM","sourcesContent":["import defaults from './defaults';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const createDefaultModel = (model = {}) => new Promise((resolve) => resolve({ ...defaults, ...model }));\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = { ...defaults, ...question };\n\n const out = {\n ...normalizedQuestion,\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(model, session) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n return resolve({ score: 0, empty: true });\n }\n\n const score = Object.keys(session.value).reduce((acc, key) => {\n const matrixValue = model.matrixValues[key];\n return acc + (matrixValue || 0);\n }, 0);\n\n resolve({ score, empty: false });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { matrixValues } = question || [];\n\n resolve({\n id: '1',\n value: matrixValues,\n });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
|
package/docs/demo/config.js
CHANGED
package/docs/demo/generate.js
CHANGED
|
@@ -2,8 +2,8 @@ exports.model = (id, element) => ({
|
|
|
2
2
|
id,
|
|
3
3
|
element,
|
|
4
4
|
labelType: 'agreement',
|
|
5
|
-
rowLabels: [
|
|
5
|
+
rowLabels: ["I'm interested in politics.", "I'm interested in economics."],
|
|
6
6
|
columnLabels: ['Disagree', 'Unsure', 'Agree'],
|
|
7
7
|
matrixValues: {},
|
|
8
|
-
prompt: 'How interested are you in the following domains?'
|
|
8
|
+
prompt: 'How interested are you in the following domains?',
|
|
9
9
|
});
|
package/docs/demo/session.js
CHANGED
package/docs/pie-schema.json.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
#
|
|
1
|
+
#
|
package/lib/ChoiceInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ChoiceInput.jsx"],"names":["radioStyles","root","color","text","checked","ChoiceInput","props","disabled","matrixKey","matrixValue","classes","onChange","onChangeWrapper","propTypes","PropTypes","bool","isRequired","number","string","object","func","defaultProps"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,WAAW,GAAG;AAClBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,sCAA+BA,gBAAMC,IAAN,EAA/B;AADD,GADY;AAIlBC,EAAAA,OAAO,EAAE;AACPF,IAAAA,KAAK,+CAAwCA,gBAAMC,IAAN,EAAxC;AADE;AAJS,CAApB;AASA,IAAME,WAAW,GAAG,wBAAWL,WAAX,EAAwB,UAACM,KAAD,EAAW;AACrD,
|
|
1
|
+
{"version":3,"sources":["../src/ChoiceInput.jsx"],"names":["radioStyles","root","color","text","checked","ChoiceInput","props","disabled","matrixKey","matrixValue","classes","onChange","onChangeWrapper","propTypes","PropTypes","bool","isRequired","number","string","object","func","defaultProps"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,WAAW,GAAG;AAClBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,sCAA+BA,gBAAMC,IAAN,EAA/B;AADD,GADY;AAIlBC,EAAAA,OAAO,EAAE;AACPF,IAAAA,KAAK,+CAAwCA,gBAAMC,IAAN,EAAxC;AADE;AAJS,CAApB;AASA,IAAME,WAAW,GAAG,wBAAWL,WAAX,EAAwB,UAACM,KAAD,EAAW;AACrD,MAAQC,QAAR,GAAyED,KAAzE,CAAQC,QAAR;AAAA,MAAkBH,OAAlB,GAAyEE,KAAzE,CAAkBF,OAAlB;AAAA,MAA2BI,SAA3B,GAAyEF,KAAzE,CAA2BE,SAA3B;AAAA,MAAsCC,WAAtC,GAAyEH,KAAzE,CAAsCG,WAAtC;AAAA,MAAmDC,OAAnD,GAAyEJ,KAAzE,CAAmDI,OAAnD;AAAA,MAA4DC,QAA5D,GAAyEL,KAAzE,CAA4DK,QAA5D;;AAEA,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,QAAIL,QAAJ,EAAc;AACZ;AACD;;AACDI,IAAAA,QAAQ,CAAC;AACPF,MAAAA,WAAW,EAAXA,WADO;AAEPD,MAAAA,SAAS,EAATA;AAFO,KAAD,CAAR;AAID,GARD;;AAUA,sBACE,gCAAC,iBAAD;AACE,IAAA,OAAO,EAAEJ,OADX;AAEE,IAAA,QAAQ,EAAEQ,eAFZ;AAGE,IAAA,QAAQ,EAAEL,QAHZ;AAIE,IAAA,OAAO,EAAE;AACPN,MAAAA,IAAI,EAAES,OAAO,CAACT,IADP;AAEPG,MAAAA,OAAO,EAAEM,OAAO,CAACN;AAFV;AAJX,IADF;AAWD,CAxBmB,CAApB;AA0BAC,WAAW,CAACQ,SAAZ,GAAwB;AACtBT,EAAAA,OAAO,EAAEU,sBAAUC,IAAV,CAAeC,UADF;AAEtBT,EAAAA,QAAQ,EAAEO,sBAAUC,IAAV,CAAeC,UAFH;AAGtBP,EAAAA,WAAW,EAAEK,sBAAUG,MAAV,CAAiBD,UAHR;AAItBR,EAAAA,SAAS,EAAEM,sBAAUI,MAAV,CAAiBF,UAJN;AAKtBN,EAAAA,OAAO,EAAEI,sBAAUK,MALG;AAMtBR,EAAAA,QAAQ,EAAEG,sBAAUM,IAAV,CAAeJ;AANH,CAAxB;AASAX,WAAW,CAACgB,YAAZ,GAA2B;AACzBjB,EAAAA,OAAO,EAAE,KADgB;AAEzBG,EAAAA,QAAQ,EAAE;AAFe,CAA3B;eAKeF,W","sourcesContent":["import React from 'react';\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';\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\nconst ChoiceInput = withStyles(radioStyles)((props) => {\n const { disabled, checked, matrixKey, matrixValue, classes, onChange } = props;\n\n const onChangeWrapper = () => {\n if (disabled) {\n return;\n }\n onChange({\n matrixValue,\n matrixKey,\n });\n };\n\n return (\n <Radio\n checked={checked}\n onChange={onChangeWrapper}\n disabled={disabled}\n classes={{\n root: classes.root,\n checked: classes.checked,\n }}\n />\n );\n});\n\nChoiceInput.propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n matrixValue: PropTypes.number.isRequired,\n matrixKey: PropTypes.string.isRequired,\n classes: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n};\n\nChoiceInput.defaultProps = {\n checked: false,\n disabled: false,\n};\n\nexport default ChoiceInput;\n"],"file":"ChoiceInput.js"}
|
package/lib/Main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Main.jsx"],"names":["Main","props","model","onSessionChange","session","React","Component","PropTypes","object","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEMA,I;;;;;;;;;;;;WAYJ,kBAAS;AACP,
|
|
1
|
+
{"version":3,"sources":["../src/Main.jsx"],"names":["Main","props","model","onSessionChange","session","React","Component","PropTypes","object","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEMA,I;;;;;;;;;;;;WAYJ,kBAAS;AACP,wBAA4C,KAAKC,KAAjD;AAAA,UAAQC,KAAR,eAAQA,KAAR;AAAA,UAAeC,eAAf,eAAeA,eAAf;AAAA,UAAgCC,OAAhC,eAAgCA,OAAhC;AACA,0BACE,gCAAC,uBAAD,qBACE,gCAAC,kBAAD,gCAAYF,KAAZ;AAAmB,QAAA,OAAO,EAAEE,OAA5B;AAAqC,QAAA,eAAe,EAAED;AAAtD,SADF,CADF;AAKD;;;EAnBgBE,kBAAMC,S;;iCAAnBN,I,eACe;AACjBE,EAAAA,KAAK,EAAEK,sBAAUC,MADA;AAEjBJ,EAAAA,OAAO,EAAEG,sBAAUC,MAFF;AAGjBL,EAAAA,eAAe,EAAEI,sBAAUE;AAHV,C;iCADfT,I,kBAOkB;AACpBE,EAAAA,KAAK,EAAE,EADa;AAEpBE,EAAAA,OAAO,EAAE;AAFW,C;eAeTJ,I","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { PreviewLayout } from '@pie-lib/render-ui';\nimport Matrix from './Matrix';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n\n render() {\n const { model, onSessionChange, session } = this.props;\n return (\n <PreviewLayout>\n <Matrix {...model} session={session} onSessionChange={onSessionChange} />\n </PreviewLayout>\n );\n }\n}\n\nexport default Main;\n"],"file":"Main.js"}
|
package/lib/Matrix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Matrix.jsx"],"names":["MatrixWrapper","styled","div","MatrixGridWrapper","props","gridTemplateColumns","MatrixGridItem","Matrix","disabled","prompt","onSessionChange","columnLabels","matrixValues","rowLabels","session","teacherInstructions","gridMatrixItems","rowIndex","length","columnIndex","gridMatrixItem","matrixKey","matrixValue","value","hasOwnProperty","push","map","join","hidden","visible","gridMatrixIndex","propTypes","PropTypes","string","object","arrayOf","bool","isRequired","func","defaultProps"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,aAAa,GAAGC,6BAAOC,GAAV,8IAAnB;;AAIA,IAAMC,iBAAiB,GAAGF,6BAAOC,GAAV,mNAEI,
|
|
1
|
+
{"version":3,"sources":["../src/Matrix.jsx"],"names":["MatrixWrapper","styled","div","MatrixGridWrapper","props","gridTemplateColumns","MatrixGridItem","Matrix","disabled","prompt","onSessionChange","columnLabels","matrixValues","rowLabels","session","teacherInstructions","gridMatrixItems","rowIndex","length","columnIndex","gridMatrixItem","matrixKey","matrixValue","value","hasOwnProperty","push","map","join","hidden","visible","gridMatrixIndex","propTypes","PropTypes","string","object","arrayOf","bool","isRequired","func","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport ChoiceInput from './ChoiceInput';\nimport { Collapsible, PreviewPrompt } from '@pie-lib/render-ui';\n\nconst MatrixWrapper = styled.div`\n font-family: Roboto, Arial, Helvetica, sans-serif;\n`;\n\nconst MatrixGridWrapper = styled.div`\n display: grid;\n grid-template-columns: ${(props) => props.gridTemplateColumns};\n grid-column-gap: 30px;\n grid-row-gap: 20px;\n margin-top: 40px;\n`;\n\nconst MatrixGridItem = styled.div`\n align-self: center;\n justify-self: center;\n white-space: nowrap;\n`;\n\nconst Matrix = (props) => {\n const { disabled, prompt, onSessionChange, columnLabels, matrixValues, rowLabels, session, teacherInstructions } =\n props;\n\n const gridMatrixItems = [];\n\n for (let rowIndex = 0; rowIndex < rowLabels.length + 1; rowIndex++) {\n for (let columnIndex = 0; columnIndex < columnLabels.length + 1; columnIndex++) {\n let gridMatrixItem;\n if (rowIndex === 0 && columnIndex === 0) {\n gridMatrixItem = null;\n } else if (rowIndex === 0) {\n gridMatrixItem = columnLabels[columnIndex - 1];\n } else if (columnIndex === 0) {\n gridMatrixItem = rowLabels[rowIndex - 1];\n } else {\n const matrixKey = `${rowIndex - 1}-${columnIndex - 1}`;\n const matrixValue = matrixValues[matrixKey];\n gridMatrixItem = (\n <ChoiceInput\n matrixKey={matrixKey}\n matrixValue={matrixValue || 0}\n disabled={disabled}\n onChange={onSessionChange}\n checked={session.value && session.value.hasOwnProperty(matrixKey)}\n />\n );\n }\n gridMatrixItems.push(gridMatrixItem);\n }\n }\n const gridTemplateColumns = [...columnLabels, {}].map(() => 'min-content').join(' ');\n\n return (\n <MatrixWrapper>\n {teacherInstructions && (\n <React.Fragment>\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n <br />\n </React.Fragment>\n )}\n <PreviewPrompt className=\"prompt\" prompt={prompt} />\n <MatrixGridWrapper gridTemplateColumns={gridTemplateColumns}>\n {gridMatrixItems.map((gridMatrixItem, gridMatrixIndex) => {\n return <MatrixGridItem key={`${gridMatrixIndex}`}>{gridMatrixItem}</MatrixGridItem>;\n })}\n </MatrixGridWrapper>\n </MatrixWrapper>\n );\n};\n\nMatrix.propTypes = {\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n matrixValues: PropTypes.object,\n rowLabels: PropTypes.arrayOf(PropTypes.string),\n columnLabels: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n};\n\nMatrix.defaultProps = {\n session: {\n value: {},\n },\n};\n\nexport default Matrix;\n"],"file":"Matrix.js"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["isComplete","session","value","Object","keys","length","Matrix","m","_model","_render","_session","s","matrixKey","matrixValue","matrixRowKey","split","sessionValueClone","reduce","acc","key","startsWith","complete","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","el","React","createElement","Main","model","onSessionChange","sessionChanged","bind","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa,
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["isComplete","session","value","Object","keys","length","Matrix","m","_model","_render","_session","s","matrixKey","matrixValue","matrixRowKey","split","sessionValueClone","reduce","acc","key","startsWith","complete","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","el","React","createElement","Main","model","onSessionChange","sessionChanged","bind","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,OAAD,EAAa;AACrC,MAAI,CAACA,OAAD,IAAY,CAACA,OAAO,CAACC,KAAzB,EAAgC;AAC9B,WAAO,KAAP;AACD;;AACD,SAAO,CAAC,CAACC,MAAM,CAACC,IAAP,CAAYH,OAAO,CAACC,KAApB,EAA2BG,MAApC;AACD,CALM;;;;IAOcC,M;;;;;AACnB,oBAAc;AAAA;AAAA;AAEb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKC,MAAL,GAAcD,CAAd;;AACA,WAAKE,OAAL;AACD;;;SAOD,eAAc;AACZ,aAAO,KAAKC,QAAZ;AACD,K;SAPD,aAAYC,CAAZ,EAAe;AACb,WAAKD,QAAL,GAAgBC,CAAhB;;AACA,WAAKF,OAAL;AACD;;;WAMD,8BAA2C;AAAA;;AAAA,UAA1BG,SAA0B,QAA1BA,SAA0B;AAAA,UAAfC,WAAe,QAAfA,WAAe;AACzC,UAAMC,YAAY,GAAGF,SAAS,CAACG,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAArB;AACA,UAAMC,iBAAiB,GAAGb,MAAM,CAACC,IAAP,CAAY,KAAKM,QAAL,CAAcR,KAAd,IAAuB,EAAnC,EAAuCe,MAAvC,CAA8C,UAACC,GAAD,EAAMC,GAAN,EAAc;AACpF,YAAI,CAACA,GAAG,CAACC,UAAJ,CAAeN,YAAf,CAAL,EAAmC;AACjCI,UAAAA,GAAG,CAACC,GAAD,CAAH,GAAW,KAAI,CAACT,QAAL,CAAcR,KAAd,CAAoBiB,GAApB,CAAX;AACD;;AACD,eAAOD,GAAP;AACD,OALyB,EAKvB,EALuB,CAA1B;AAMAF,MAAAA,iBAAiB,CAACJ,SAAD,CAAjB,GAA+BC,WAA/B;AACA,WAAKH,QAAL,CAAcR,KAAd,GAAsBc,iBAAtB;AACA,UAAMK,QAAQ,GAAGrB,UAAU,CAAC,KAAKU,QAAN,EAAgB,KAAKF,MAArB,CAA3B;AAEA,WAAKc,aAAL,CAAmB,IAAIC,oCAAJ,CAAwB,KAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoDJ,QAApD,CAAnB;;AACA,WAAKZ,OAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,OAAL;AACD;;;WAED,mBAAU;AAAA;;AACR,UAAI,CAAC,KAAKD,MAAN,IAAgB,CAAC,KAAKE,QAA1B,EAAoC;AAClC;AACD;;AAED,UAAMgB,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,QAAAA,KAAK,EAAE,KAAKtB,MADuB;AAEnCP,QAAAA,OAAO,EAAE,KAAKS,QAFqB;AAGnCqB,QAAAA,eAAe,EAAE,KAAKC,cAAL,CAAoBC,IAApB,CAAyB,IAAzB;AAHkB,OAA1B,CAAX;;AAMAC,2BAASC,MAAT,CAAgBT,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,uCAAW,MAAX;AACD,OAFD;AAGD;;;kDArDiCU,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport Main from './Main';\n\nexport const isComplete = (session) => {\n if (!session || !session.value) {\n return false;\n }\n return !!Object.keys(session.value).length;\n};\n\nexport default class Matrix 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({ matrixKey, matrixValue }) {\n const matrixRowKey = matrixKey.split('-')[0];\n const sessionValueClone = Object.keys(this._session.value || {}).reduce((acc, key) => {\n if (!key.startsWith(matrixRowKey)) {\n acc[key] = this._session.value[key];\n }\n return acc;\n }, {});\n sessionValueClone[matrixKey] = matrixValue;\n this._session.value = sessionValueClone;\n const complete = isComplete(this._session, this._model);\n\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"],"file":"index.js"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "0.4.2-next.
|
|
7
|
+
"version": "0.4.2-next.88+35317ee7f",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"author": "",
|
|
24
24
|
"license": "ISC",
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "35317ee7f7bd3990de5f98bdcc36702e3c38a39b",
|
|
26
26
|
"main": "lib/index.js",
|
|
27
27
|
"module": "src/index.js"
|
|
28
28
|
}
|