@pie-element/complex-rubric 3.8.4-next.0 → 3.8.4-next.12
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/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.json +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.md +2430 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/LICENSE.md +5 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/README.md +55 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.json +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.md +2298 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js +584 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js +152 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js +223 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js +546 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js +361 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js +556 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js +380 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js +296 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js +118 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/configure/package.json +18 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.json +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.md +1539 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js +19 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js +215 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js +13 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/controller/package.json +15 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json +1628 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json.md +1202 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/config.js +8 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/generate.js +117 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/index.html +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/session.js +6 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json +861 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json.md +614 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js +91 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js +164 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js +330 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js +103 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js.map +1 -0
- package/configure/node_modules/@pie-element/multi-trait-rubric/package.json +24 -0
- package/configure/node_modules/@pie-element/rubric/CHANGELOG.json +257 -0
- package/configure/node_modules/@pie-element/rubric/CHANGELOG.md +2713 -0
- package/configure/node_modules/@pie-element/rubric/LICENSE.md +5 -0
- package/configure/node_modules/@pie-element/rubric/README.md +3 -0
- package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.json +197 -0
- package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.md +2506 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js +68 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/index.js +197 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/main.js +162 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/authoring.js +573 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/authoring.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/index.js +24 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/point-menu.js +172 -0
- package/configure/node_modules/@pie-element/rubric/configure/lib/pie-toolbox-rubric/point-menu.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/configure/package.json +18 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/__tests__/index.test.jsx +167 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/defaults.js +42 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/index.js +129 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/main.jsx +89 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/pie-toolbox-rubric/authoring.jsx +449 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/pie-toolbox-rubric/index.js +9 -0
- package/configure/node_modules/@pie-element/rubric/configure/src/pie-toolbox-rubric/point-menu.jsx +94 -0
- package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.json +17 -0
- package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.md +1532 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/defaults.js +16 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/defaults.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/index.js +59 -0
- package/configure/node_modules/@pie-element/rubric/controller/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/controller/package.json +13 -0
- package/configure/node_modules/@pie-element/rubric/controller/src/__tests__/index.test.js +33 -0
- package/configure/node_modules/@pie-element/rubric/controller/src/defaults.js +8 -0
- package/configure/node_modules/@pie-element/rubric/controller/src/index.js +41 -0
- package/configure/node_modules/@pie-element/rubric/docs/config-schema.json +712 -0
- package/configure/node_modules/@pie-element/rubric/docs/config-schema.json.md +532 -0
- package/configure/node_modules/@pie-element/rubric/docs/demo/config.js +8 -0
- package/configure/node_modules/@pie-element/rubric/docs/demo/generate.js +8 -0
- package/configure/node_modules/@pie-element/rubric/docs/demo/index.html +2 -0
- package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json +391 -0
- package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json.md +281 -0
- package/configure/node_modules/@pie-element/rubric/lib/index.js +94 -0
- package/configure/node_modules/@pie-element/rubric/lib/index.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/lib/main.js +270 -0
- package/configure/node_modules/@pie-element/rubric/lib/main.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/lib/print.js +114 -0
- package/configure/node_modules/@pie-element/rubric/lib/print.js.map +1 -0
- package/configure/node_modules/@pie-element/rubric/module/configure.js +1 -0
- package/configure/node_modules/@pie-element/rubric/module/controller.js +113 -0
- package/configure/node_modules/@pie-element/rubric/module/demo.js +33 -0
- package/configure/node_modules/@pie-element/rubric/module/element.js +1 -0
- package/configure/node_modules/@pie-element/rubric/module/index.html +21 -0
- package/configure/node_modules/@pie-element/rubric/module/manifest.json +10 -0
- package/configure/node_modules/@pie-element/rubric/module/print-demo.js +71 -0
- package/configure/node_modules/@pie-element/rubric/module/print.html +18 -0
- package/configure/node_modules/@pie-element/rubric/module/print.js +1 -0
- package/configure/node_modules/@pie-element/rubric/package.json +26 -0
- package/configure/node_modules/@pie-element/rubric/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +1815 -0
- package/configure/node_modules/@pie-element/rubric/src/__tests__/rubric-view.test.jsx +49 -0
- package/configure/node_modules/@pie-element/rubric/src/index.js +37 -0
- package/configure/node_modules/@pie-element/rubric/src/main.jsx +219 -0
- package/configure/node_modules/@pie-element/rubric/src/print.js +63 -0
- package/module/element.js +1 -1
- package/module/index.html +1 -1
- package/module/manifest.json +5 -1
- package/module/print.html +1 -1
- package/module/print.js +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _react = _interopRequireDefault(require("react"));
|
|
23
|
+
|
|
24
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
+
|
|
26
|
+
var _scale = _interopRequireDefault(require("./scale"));
|
|
27
|
+
|
|
28
|
+
var _Link = _interopRequireDefault(require("@material-ui/core/Link"));
|
|
29
|
+
|
|
30
|
+
var _Collapse = _interopRequireDefault(require("@material-ui/core/Collapse"));
|
|
31
|
+
|
|
32
|
+
var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
|
|
33
|
+
|
|
34
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
35
|
+
|
|
36
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
37
|
+
|
|
38
|
+
var Main = /*#__PURE__*/function (_React$Component) {
|
|
39
|
+
(0, _inherits2["default"])(Main, _React$Component);
|
|
40
|
+
|
|
41
|
+
var _super = _createSuper(Main);
|
|
42
|
+
|
|
43
|
+
function Main(props) {
|
|
44
|
+
var _this;
|
|
45
|
+
|
|
46
|
+
(0, _classCallCheck2["default"])(this, Main);
|
|
47
|
+
_this = _super.call(this, props);
|
|
48
|
+
_this.state = {
|
|
49
|
+
rubricOpen: false,
|
|
50
|
+
linkPrefix: 'Show'
|
|
51
|
+
};
|
|
52
|
+
_this.toggleRubric = _this.toggleRubric.bind((0, _assertThisInitialized2["default"])(_this));
|
|
53
|
+
return _this;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
(0, _createClass2["default"])(Main, [{
|
|
57
|
+
key: "toggleRubric",
|
|
58
|
+
value: function toggleRubric() {
|
|
59
|
+
this.setState({
|
|
60
|
+
rubricOpen: !this.state.rubricOpen
|
|
61
|
+
});
|
|
62
|
+
this.setState({
|
|
63
|
+
linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide'
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}, {
|
|
67
|
+
key: "render",
|
|
68
|
+
value: function render() {
|
|
69
|
+
var model = this.props.model;
|
|
70
|
+
var animationsDisabled = this.props.animationsDisabled;
|
|
71
|
+
|
|
72
|
+
var _ref = model || {},
|
|
73
|
+
extraCSSRules = _ref.extraCSSRules,
|
|
74
|
+
halfScoring = _ref.halfScoring,
|
|
75
|
+
scales = _ref.scales,
|
|
76
|
+
visible = _ref.visible,
|
|
77
|
+
pointLabels = _ref.pointLabels,
|
|
78
|
+
description = _ref.description,
|
|
79
|
+
standards = _ref.standards,
|
|
80
|
+
arrowsDisabled = _ref.arrowsDisabled;
|
|
81
|
+
|
|
82
|
+
animationsDisabled = animationsDisabled || model.animationsDisabled;
|
|
83
|
+
|
|
84
|
+
if (!scales || !visible) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
var rubricItem = /*#__PURE__*/_react["default"].createElement(_renderUi.UiLayout, {
|
|
89
|
+
extraCSSRules: extraCSSRules,
|
|
90
|
+
style: {
|
|
91
|
+
fontFamily: 'Cerebri Sans',
|
|
92
|
+
color: _renderUi.color.text(),
|
|
93
|
+
backgroundColor: _renderUi.color.background()
|
|
94
|
+
}
|
|
95
|
+
}, halfScoring ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
96
|
+
style: {
|
|
97
|
+
marginBottom: '16px'
|
|
98
|
+
}
|
|
99
|
+
}, "* Half-point or in-between scores are permitted under this rubric.") : null, scales.map(function (scale, scaleIndex) {
|
|
100
|
+
return /*#__PURE__*/_react["default"].createElement(_scale["default"], {
|
|
101
|
+
key: "scale_".concat(scaleIndex),
|
|
102
|
+
scale: scale,
|
|
103
|
+
scaleIndex: scaleIndex,
|
|
104
|
+
showPointsLabels: pointLabels,
|
|
105
|
+
showDescription: description,
|
|
106
|
+
showStandards: standards,
|
|
107
|
+
arrowsDisabled: arrowsDisabled
|
|
108
|
+
});
|
|
109
|
+
}));
|
|
110
|
+
|
|
111
|
+
if (animationsDisabled) {
|
|
112
|
+
return rubricItem;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return /*#__PURE__*/_react["default"].createElement(_renderUi.UiLayout, {
|
|
116
|
+
extraCSSRules: extraCSSRules,
|
|
117
|
+
style: {
|
|
118
|
+
color: _renderUi.color.text(),
|
|
119
|
+
backgroundColor: _renderUi.color.background()
|
|
120
|
+
}
|
|
121
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
122
|
+
style: {
|
|
123
|
+
backgroundColor: _renderUi.color.background()
|
|
124
|
+
},
|
|
125
|
+
href: this.dudUrl,
|
|
126
|
+
onClick: this.toggleRubric
|
|
127
|
+
}, this.state.linkPrefix, " Rubric"), /*#__PURE__*/_react["default"].createElement(_Collapse["default"], {
|
|
128
|
+
style: {
|
|
129
|
+
marginTop: '16px'
|
|
130
|
+
},
|
|
131
|
+
"in": this.state.rubricOpen,
|
|
132
|
+
timeout: "auto"
|
|
133
|
+
}, rubricItem));
|
|
134
|
+
}
|
|
135
|
+
}]);
|
|
136
|
+
return Main;
|
|
137
|
+
}(_react["default"].Component);
|
|
138
|
+
|
|
139
|
+
Main.propTypes = {
|
|
140
|
+
model: _propTypes["default"].shape({
|
|
141
|
+
halfScoring: _propTypes["default"].bool,
|
|
142
|
+
scales: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
143
|
+
excludeZero: _propTypes["default"].bool,
|
|
144
|
+
maxPoints: _propTypes["default"].number,
|
|
145
|
+
scorePointsLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
146
|
+
traitLabel: _propTypes["default"].string,
|
|
147
|
+
traits: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
148
|
+
name: _propTypes["default"].string,
|
|
149
|
+
description: _propTypes["default"].string,
|
|
150
|
+
scorePointsDescriptors: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
151
|
+
standards: _propTypes["default"].arrayOf(_propTypes["default"].string)
|
|
152
|
+
}))
|
|
153
|
+
})),
|
|
154
|
+
visible: _propTypes["default"].bool,
|
|
155
|
+
pointLabels: _propTypes["default"].bool,
|
|
156
|
+
description: _propTypes["default"].bool,
|
|
157
|
+
standards: _propTypes["default"].bool,
|
|
158
|
+
animationsDisabled: _propTypes["default"].bool
|
|
159
|
+
}),
|
|
160
|
+
animationsDisabled: _propTypes["default"].bool
|
|
161
|
+
};
|
|
162
|
+
var _default = Main;
|
|
163
|
+
exports["default"] = _default;
|
|
164
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","state","rubricOpen","linkPrefix","toggleRubric","bind","setState","model","animationsDisabled","extraCSSRules","halfScoring","scales","visible","pointLabels","description","standards","arrowsDisabled","rubricItem","fontFamily","color","text","backgroundColor","background","marginBottom","map","scale","scaleIndex","dudUrl","marginTop","React","Component","propTypes","PropTypes","shape","bool","arrayOf","excludeZero","maxPoints","number","scorePointsLabels","string","traitLabel","traits","name","scorePointsDescriptors"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Scale from './scale';\nimport Link from '@material-ui/core/Link';\nimport Collapse from '@material-ui/core/Collapse';\nimport { color, UiLayout } from '@pie-lib/pie-toolbox/render-ui';\n\nclass Main extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n rubricOpen: false,\n linkPrefix: 'Show',\n };\n this.toggleRubric = this.toggleRubric.bind(this);\n }\n\n toggleRubric() {\n this.setState({ rubricOpen: !this.state.rubricOpen });\n this.setState({ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide' });\n }\n\n render() {\n const { model } = this.props;\n let { animationsDisabled } = this.props;\n const { extraCSSRules, halfScoring, scales, visible, pointLabels, description, standards, arrowsDisabled } =\n model || {};\n animationsDisabled = animationsDisabled || model.animationsDisabled;\n\n if (!scales || !visible) {\n return null;\n }\n\n const rubricItem = (\n <UiLayout\n extraCSSRules={extraCSSRules}\n style={{ fontFamily: 'Cerebri Sans', color: color.text(), backgroundColor: color.background() }}\n >\n {halfScoring ? (\n <div style={{ marginBottom: '16px' }}>* Half-point or in-between scores are permitted under this rubric.</div>\n ) : null}\n\n {scales.map((scale, scaleIndex) => (\n <Scale\n key={`scale_${scaleIndex}`}\n scale={scale}\n scaleIndex={scaleIndex}\n showPointsLabels={pointLabels}\n showDescription={description}\n showStandards={standards}\n arrowsDisabled={arrowsDisabled}\n />\n ))}\n </UiLayout>\n );\n\n if (animationsDisabled) {\n return rubricItem;\n }\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} style={{ color: color.text(), backgroundColor: color.background() }}>\n <Link style={{ backgroundColor: color.background() }} href={this.dudUrl} onClick={this.toggleRubric}>\n {this.state.linkPrefix} Rubric\n </Link>\n <Collapse style={{ marginTop: '16px' }} in={this.state.rubricOpen} timeout=\"auto\">\n {rubricItem}\n </Collapse>\n </UiLayout>\n );\n }\n}\n\nMain.propTypes = {\n model: PropTypes.shape({\n halfScoring: PropTypes.bool,\n scales: PropTypes.arrayOf(\n PropTypes.shape({\n excludeZero: PropTypes.bool,\n maxPoints: PropTypes.number,\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n traits: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n description: PropTypes.string,\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n standards: PropTypes.arrayOf(PropTypes.string),\n }),\n ),\n }),\n ),\n visible: PropTypes.bool,\n pointLabels: PropTypes.bool,\n description: PropTypes.bool,\n standards: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n }),\n animationsDisabled: PropTypes.bool,\n};\n\nexport default Main;\n"],"file":"main.js"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
|
+
|
|
28
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
+
|
|
30
|
+
var _styles = require("@material-ui/core/styles");
|
|
31
|
+
|
|
32
|
+
var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
|
|
33
|
+
|
|
34
|
+
var _trait = _interopRequireDefault(require("./trait"));
|
|
35
|
+
|
|
36
|
+
var _ArrowBackIos = _interopRequireDefault(require("@material-ui/icons/ArrowBackIos"));
|
|
37
|
+
|
|
38
|
+
var _ArrowForwardIos = _interopRequireDefault(require("@material-ui/icons/ArrowForwardIos"));
|
|
39
|
+
|
|
40
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
41
|
+
|
|
42
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
43
|
+
|
|
44
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
45
|
+
|
|
46
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
47
|
+
|
|
48
|
+
var styles = function styles(theme) {
|
|
49
|
+
return {
|
|
50
|
+
wrapper: {
|
|
51
|
+
display: 'flex',
|
|
52
|
+
position: 'relative'
|
|
53
|
+
},
|
|
54
|
+
tableWrapper: {
|
|
55
|
+
width: '100%',
|
|
56
|
+
overflow: 'auto'
|
|
57
|
+
},
|
|
58
|
+
table: {
|
|
59
|
+
borderSpacing: 0,
|
|
60
|
+
marginBottom: theme.spacing.unit * 2,
|
|
61
|
+
borderRadius: '4px',
|
|
62
|
+
color: _renderUi.color.text(),
|
|
63
|
+
fontSize: theme.typography.fontSize,
|
|
64
|
+
lineHeight: '16px',
|
|
65
|
+
overflow: 'unset',
|
|
66
|
+
'& ul, ol': {
|
|
67
|
+
marginBlockStart: 0,
|
|
68
|
+
paddingInlineStart: theme.spacing.unit * 2
|
|
69
|
+
},
|
|
70
|
+
'& th': {
|
|
71
|
+
padding: theme.spacing.unit * 2,
|
|
72
|
+
textAlign: 'left',
|
|
73
|
+
backgroundColor: _renderUi.color.secondaryBackground(),
|
|
74
|
+
verticalAlign: 'bottom'
|
|
75
|
+
},
|
|
76
|
+
'& th div': {
|
|
77
|
+
width: '200px'
|
|
78
|
+
},
|
|
79
|
+
'& td': {
|
|
80
|
+
width: '200px',
|
|
81
|
+
padding: "".concat(theme.spacing.unit * 2, "px ").concat(theme.spacing.unit, "px"),
|
|
82
|
+
verticalAlign: 'top'
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
scorePointHeader: {
|
|
86
|
+
'& td': {
|
|
87
|
+
border: 0,
|
|
88
|
+
padding: 0,
|
|
89
|
+
textAlign: 'center',
|
|
90
|
+
minWidth: '200px'
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
pointLabel: {
|
|
94
|
+
marginBottom: '4px'
|
|
95
|
+
},
|
|
96
|
+
scorePointValue: {
|
|
97
|
+
fontWeight: 'normal'
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
var ArrowContainer = function ArrowContainer(_ref) {
|
|
103
|
+
var show = _ref.show,
|
|
104
|
+
onClick = _ref.onClick,
|
|
105
|
+
extraStyles = _ref.extraStyles,
|
|
106
|
+
children = _ref.children;
|
|
107
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
108
|
+
style: _objectSpread({
|
|
109
|
+
height: 'calc(100% - 1px)',
|
|
110
|
+
top: '1px',
|
|
111
|
+
display: show ? 'flex' : 'none',
|
|
112
|
+
width: '50px',
|
|
113
|
+
margin: 'auto',
|
|
114
|
+
position: 'absolute',
|
|
115
|
+
alignItems: 'center',
|
|
116
|
+
justifyContent: 'center',
|
|
117
|
+
cursor: 'pointer'
|
|
118
|
+
}, extraStyles),
|
|
119
|
+
onClick: onClick
|
|
120
|
+
}, children);
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
ArrowContainer.propTypes = {
|
|
124
|
+
show: _propTypes["default"].bool,
|
|
125
|
+
onClick: _propTypes["default"].func,
|
|
126
|
+
extraStyles: _propTypes["default"].object,
|
|
127
|
+
children: _propTypes["default"].object
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
var Scale = /*#__PURE__*/function (_React$Component) {
|
|
131
|
+
(0, _inherits2["default"])(Scale, _React$Component);
|
|
132
|
+
|
|
133
|
+
var _super = _createSuper(Scale);
|
|
134
|
+
|
|
135
|
+
function Scale() {
|
|
136
|
+
var _this;
|
|
137
|
+
|
|
138
|
+
(0, _classCallCheck2["default"])(this, Scale);
|
|
139
|
+
|
|
140
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
141
|
+
args[_key] = arguments[_key];
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
145
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {});
|
|
146
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scrollLeft", function () {
|
|
147
|
+
_this.tableWrapper.scrollLeft -= _this.tableWrapper.offsetWidth / 2;
|
|
148
|
+
|
|
149
|
+
_this.setState({
|
|
150
|
+
showRight: _this.tableWrapper.scrollLeft < _this.tableWrapper.scrollWidth,
|
|
151
|
+
showLeft: _this.tableWrapper.scrollLeft < _this.tableWrapper.scrollWidth && _this.tableWrapper.scrollLeft > 0
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scrollRight", function () {
|
|
155
|
+
var initialScrollLeft = _this.tableWrapper.scrollLeft;
|
|
156
|
+
_this.tableWrapper.scrollLeft += _this.tableWrapper.offsetWidth / 2;
|
|
157
|
+
|
|
158
|
+
_this.setState({
|
|
159
|
+
showRight: initialScrollLeft !== _this.tableWrapper.scrollLeft && _this.tableWrapper.scrollLeft < _this.tableWrapper.scrollWidth,
|
|
160
|
+
showLeft: _this.tableWrapper.scrollLeft < _this.tableWrapper.scrollWidth && _this.tableWrapper.scrollLeft > 0
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
return _this;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
(0, _createClass2["default"])(Scale, [{
|
|
167
|
+
key: "componentDidMount",
|
|
168
|
+
value: function componentDidMount() {
|
|
169
|
+
if (this.tableWrapper) {
|
|
170
|
+
if (this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth) {
|
|
171
|
+
this.setState({
|
|
172
|
+
showRight: true
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}, {
|
|
178
|
+
key: "render",
|
|
179
|
+
value: function render() {
|
|
180
|
+
var _this2 = this;
|
|
181
|
+
|
|
182
|
+
var _this$state = this.state,
|
|
183
|
+
showRight = _this$state.showRight,
|
|
184
|
+
showLeft = _this$state.showLeft;
|
|
185
|
+
var _this$props = this.props,
|
|
186
|
+
classes = _this$props.classes,
|
|
187
|
+
scale = _this$props.scale,
|
|
188
|
+
scaleIndex = _this$props.scaleIndex,
|
|
189
|
+
showDescription = _this$props.showDescription,
|
|
190
|
+
showPointsLabels = _this$props.showPointsLabels,
|
|
191
|
+
showStandards = _this$props.showStandards,
|
|
192
|
+
arrowsDisabled = _this$props.arrowsDisabled;
|
|
193
|
+
|
|
194
|
+
var _ref2 = scale || {},
|
|
195
|
+
excludeZero = _ref2.excludeZero,
|
|
196
|
+
maxPoints = _ref2.maxPoints,
|
|
197
|
+
traitLabel = _ref2.traitLabel,
|
|
198
|
+
traits = _ref2.traits,
|
|
199
|
+
scorePointsLabels = _ref2.scorePointsLabels;
|
|
200
|
+
|
|
201
|
+
var scorePointsValues = [];
|
|
202
|
+
var descriptions;
|
|
203
|
+
var pointsLabels;
|
|
204
|
+
var standards;
|
|
205
|
+
|
|
206
|
+
try {
|
|
207
|
+
// determining the score points values
|
|
208
|
+
for (var pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {
|
|
209
|
+
scorePointsValues.push(pointValue);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
var _traits$reduce = traits.reduce(function (tcc, trait) {
|
|
213
|
+
return {
|
|
214
|
+
traitStandards: [].concat((0, _toConsumableArray2["default"])(tcc.traitStandards), (0, _toConsumableArray2["default"])(trait.standards || [])),
|
|
215
|
+
traitDescriptions: [].concat((0, _toConsumableArray2["default"])(tcc.traitDescriptions), (0, _toConsumableArray2["default"])(trait.description || []))
|
|
216
|
+
};
|
|
217
|
+
}, {
|
|
218
|
+
traitStandards: [],
|
|
219
|
+
traitDescriptions: []
|
|
220
|
+
}),
|
|
221
|
+
traitStandards = _traits$reduce.traitStandards,
|
|
222
|
+
traitDescriptions = _traits$reduce.traitDescriptions;
|
|
223
|
+
|
|
224
|
+
descriptions = showDescription && traitDescriptions.length;
|
|
225
|
+
pointsLabels = showPointsLabels && scorePointsLabels.length;
|
|
226
|
+
standards = showStandards && traitStandards.length;
|
|
227
|
+
} catch (e) {
|
|
228
|
+
descriptions = false;
|
|
229
|
+
pointsLabels = false;
|
|
230
|
+
standards = false;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
234
|
+
className: classes.wrapper
|
|
235
|
+
}, /*#__PURE__*/_react["default"].createElement(ArrowContainer, {
|
|
236
|
+
show: showLeft && !arrowsDisabled,
|
|
237
|
+
onClick: this.scrollLeft,
|
|
238
|
+
extraStyles: {
|
|
239
|
+
left: 0,
|
|
240
|
+
background: "linear-gradient(to right, white, ".concat(_renderUi.color.background(), ")")
|
|
241
|
+
}
|
|
242
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowBackIos["default"], null)), /*#__PURE__*/_react["default"].createElement("div", {
|
|
243
|
+
className: classes.tableWrapper,
|
|
244
|
+
ref: function ref(_ref3) {
|
|
245
|
+
_this2.tableWrapper = _ref3;
|
|
246
|
+
},
|
|
247
|
+
onScroll: function onScroll() {
|
|
248
|
+
_this2.setState({
|
|
249
|
+
// 5 is a margin of error
|
|
250
|
+
showRight: _this2.tableWrapper.scrollLeft + _this2.tableWrapper.offsetWidth < _this2.tableWrapper.scrollWidth - 5 && _this2.tableWrapper.scrollLeft < _this2.tableWrapper.scrollWidth,
|
|
251
|
+
showLeft: _this2.tableWrapper.scrollLeft < _this2.tableWrapper.scrollWidth && _this2.tableWrapper.scrollLeft > 0
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
}, arrowsDisabled && (showRight || showLeft) ? /*#__PURE__*/_react["default"].createElement("div", null, "The item is too large to fit in print mode.") : null, /*#__PURE__*/_react["default"].createElement("table", {
|
|
255
|
+
key: "scale-".concat(scaleIndex),
|
|
256
|
+
className: classes.table
|
|
257
|
+
}, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
258
|
+
dangerouslySetInnerHTML: {
|
|
259
|
+
__html: traitLabel
|
|
260
|
+
}
|
|
261
|
+
})), standards ? /*#__PURE__*/_react["default"].createElement("th", null, /*#__PURE__*/_react["default"].createElement("div", null, "Standard(s)")) : null, descriptions ? /*#__PURE__*/_react["default"].createElement("th", null, /*#__PURE__*/_react["default"].createElement("div", null, "Description")) : null, scorePointsValues && scorePointsValues.map(function (scorePointValue, index) {
|
|
262
|
+
var pointLabel = ''; // to handle the case when there aren't enough labels
|
|
263
|
+
|
|
264
|
+
try {
|
|
265
|
+
pointLabel = scorePointsLabels[scorePointsValues.length - index - 1] || '';
|
|
266
|
+
} catch (e) {
|
|
267
|
+
pointLabel = '';
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
271
|
+
key: "table-header-".concat(index)
|
|
272
|
+
}, /*#__PURE__*/_react["default"].createElement("table", {
|
|
273
|
+
className: classes.scorePointHeader
|
|
274
|
+
}, /*#__PURE__*/_react["default"].createElement("thead", null, pointsLabels ? /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
275
|
+
className: classes.pointLabel,
|
|
276
|
+
dangerouslySetInnerHTML: {
|
|
277
|
+
__html: pointLabel
|
|
278
|
+
}
|
|
279
|
+
}))) : null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", {
|
|
280
|
+
className: classes.scorePointValue
|
|
281
|
+
}, scorePointValue === 1 ? "".concat(scorePointValue, " point") : "".concat(scorePointValue, " points"))))));
|
|
282
|
+
}))), /*#__PURE__*/_react["default"].createElement("tbody", null, traits && traits.map(function (trait, traitIndex) {
|
|
283
|
+
return /*#__PURE__*/_react["default"].createElement(_trait["default"], {
|
|
284
|
+
key: "trait_".concat(scaleIndex, "_").concat(traitIndex),
|
|
285
|
+
trait: trait,
|
|
286
|
+
traitIndex: traitIndex,
|
|
287
|
+
showDescription: !!descriptions,
|
|
288
|
+
showStandards: !!standards,
|
|
289
|
+
scaleIndex: scaleIndex,
|
|
290
|
+
scorePointsValues: scorePointsValues,
|
|
291
|
+
excludeZero: excludeZero
|
|
292
|
+
});
|
|
293
|
+
})))), /*#__PURE__*/_react["default"].createElement(ArrowContainer, {
|
|
294
|
+
show: showRight && !arrowsDisabled,
|
|
295
|
+
onClick: this.scrollRight,
|
|
296
|
+
extraStyles: {
|
|
297
|
+
right: 0,
|
|
298
|
+
background: "linear-gradient(to left, white, ".concat(_renderUi.color.background(), ")")
|
|
299
|
+
}
|
|
300
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowForwardIos["default"], null)));
|
|
301
|
+
}
|
|
302
|
+
}]);
|
|
303
|
+
return Scale;
|
|
304
|
+
}(_react["default"].Component);
|
|
305
|
+
|
|
306
|
+
Scale.propTypes = {
|
|
307
|
+
classes: _propTypes["default"].object,
|
|
308
|
+
scaleIndex: _propTypes["default"].number,
|
|
309
|
+
scale: _propTypes["default"].shape({
|
|
310
|
+
excludeZero: _propTypes["default"].bool,
|
|
311
|
+
maxPoints: _propTypes["default"].number,
|
|
312
|
+
scorePointsLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
313
|
+
traitLabel: _propTypes["default"].string,
|
|
314
|
+
traits: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
315
|
+
name: _propTypes["default"].string,
|
|
316
|
+
standards: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
317
|
+
scorePointsDescriptors: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
318
|
+
description: _propTypes["default"].string
|
|
319
|
+
}))
|
|
320
|
+
}),
|
|
321
|
+
showPointsLabels: _propTypes["default"].bool,
|
|
322
|
+
showDescription: _propTypes["default"].bool,
|
|
323
|
+
showStandards: _propTypes["default"].bool,
|
|
324
|
+
arrowsDisabled: _propTypes["default"].bool
|
|
325
|
+
};
|
|
326
|
+
|
|
327
|
+
var _default = (0, _styles.withStyles)(styles)(Scale);
|
|
328
|
+
|
|
329
|
+
exports["default"] = _default;
|
|
330
|
+
//# sourceMappingURL=scale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/scale.jsx"],"names":["styles","theme","wrapper","display","position","tableWrapper","width","overflow","table","borderSpacing","marginBottom","spacing","unit","borderRadius","color","text","fontSize","typography","lineHeight","marginBlockStart","paddingInlineStart","padding","textAlign","backgroundColor","secondaryBackground","verticalAlign","scorePointHeader","border","minWidth","pointLabel","scorePointValue","fontWeight","ArrowContainer","show","onClick","extraStyles","children","height","top","margin","alignItems","justifyContent","cursor","propTypes","PropTypes","bool","func","object","Scale","scrollLeft","offsetWidth","setState","showRight","scrollWidth","showLeft","initialScrollLeft","state","props","classes","scale","scaleIndex","showDescription","showPointsLabels","showStandards","arrowsDisabled","excludeZero","maxPoints","traitLabel","traits","scorePointsLabels","scorePointsValues","descriptions","pointsLabels","standards","pointValue","push","reduce","tcc","trait","traitStandards","traitDescriptions","description","length","e","left","background","ref","__html","map","index","traitIndex","scrollRight","right","React","Component","number","shape","arrayOf","string","name","scorePointsDescriptors"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\nimport Trait from './trait';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\n\nconst styles = (theme) => ({\n wrapper: {\n display: 'flex',\n position: 'relative',\n },\n tableWrapper: {\n width: '100%',\n overflow: 'auto',\n },\n table: {\n borderSpacing: 0,\n marginBottom: theme.spacing.unit * 2,\n borderRadius: '4px',\n color: color.text(),\n fontSize: theme.typography.fontSize,\n lineHeight: '16px',\n overflow: 'unset',\n\n '& ul, ol': {\n marginBlockStart: 0,\n paddingInlineStart: theme.spacing.unit * 2,\n },\n\n '& th': {\n padding: theme.spacing.unit * 2,\n textAlign: 'left',\n backgroundColor: color.secondaryBackground(),\n verticalAlign: 'bottom',\n },\n\n '& th div': {\n width: '200px',\n },\n\n '& td': {\n width: '200px',\n padding: `${theme.spacing.unit * 2}px ${theme.spacing.unit}px`,\n verticalAlign: 'top',\n },\n },\n scorePointHeader: {\n '& td': {\n border: 0,\n padding: 0,\n textAlign: 'center',\n minWidth: '200px',\n },\n },\n pointLabel: {\n marginBottom: '4px',\n },\n scorePointValue: {\n fontWeight: 'normal',\n },\n});\n\nconst ArrowContainer = ({ show, onClick, extraStyles, children }) => (\n <div\n style={{\n height: 'calc(100% - 1px)',\n top: '1px',\n display: show ? 'flex' : 'none',\n width: '50px',\n margin: 'auto',\n position: 'absolute',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n ...extraStyles,\n }}\n onClick={onClick}\n >\n {children}\n </div>\n);\n\nArrowContainer.propTypes = {\n show: PropTypes.bool,\n onClick: PropTypes.func,\n extraStyles: PropTypes.object,\n children: PropTypes.object,\n};\n\nclass Scale extends React.Component {\n state = {};\n\n componentDidMount() {\n if (this.tableWrapper) {\n if (this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth) {\n this.setState({ showRight: true });\n }\n }\n }\n\n scrollLeft = () => {\n this.tableWrapper.scrollLeft -= this.tableWrapper.offsetWidth / 2;\n\n this.setState({\n showRight: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n };\n\n scrollRight = () => {\n const initialScrollLeft = this.tableWrapper.scrollLeft;\n this.tableWrapper.scrollLeft += this.tableWrapper.offsetWidth / 2;\n\n this.setState({\n showRight:\n initialScrollLeft !== this.tableWrapper.scrollLeft &&\n this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n };\n\n render() {\n const { showRight, showLeft } = this.state;\n const { classes, scale, scaleIndex, showDescription, showPointsLabels, showStandards, arrowsDisabled } = this.props;\n const { excludeZero, maxPoints, traitLabel, traits, scorePointsLabels } = scale || {};\n\n let scorePointsValues = [];\n let descriptions;\n let pointsLabels;\n let standards;\n\n try {\n // determining the score points values\n for (let pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {\n scorePointsValues.push(pointValue);\n }\n\n const { traitStandards, traitDescriptions } = traits.reduce(\n (tcc, trait) => ({\n traitStandards: [...tcc.traitStandards, ...(trait.standards || [])],\n traitDescriptions: [...tcc.traitDescriptions, ...(trait.description || [])],\n }),\n {\n traitStandards: [],\n traitDescriptions: [],\n },\n );\n\n descriptions = showDescription && traitDescriptions.length;\n pointsLabels = showPointsLabels && scorePointsLabels.length;\n standards = showStandards && traitStandards.length;\n } catch (e) {\n descriptions = false;\n pointsLabels = false;\n standards = false;\n }\n\n return (\n <div className={classes.wrapper}>\n <ArrowContainer\n show={showLeft && !arrowsDisabled}\n onClick={this.scrollLeft}\n extraStyles={{\n left: 0,\n background: `linear-gradient(to right, white, ${color.background()})`,\n }}\n >\n <ArrowBackIosIcon />\n </ArrowContainer>\n\n <div\n className={classes.tableWrapper}\n ref={(ref) => {\n this.tableWrapper = ref;\n }}\n onScroll={() => {\n this.setState({\n // 5 is a margin of error\n showRight:\n this.tableWrapper.scrollLeft + this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth - 5 &&\n this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft:\n this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n }}\n >\n {arrowsDisabled && (showRight || showLeft) ? <div>The item is too large to fit in print mode.</div> : null}\n <table key={`scale-${scaleIndex}`} className={classes.table}>\n <thead>\n <tr>\n <th>\n <div dangerouslySetInnerHTML={{ __html: traitLabel }} />\n </th>\n\n {standards ? (\n <th>\n <div>Standard(s)</div>\n </th>\n ) : null}\n\n {descriptions ? (\n <th>\n <div>Description</div>\n </th>\n ) : null}\n\n {scorePointsValues &&\n scorePointsValues.map((scorePointValue, index) => {\n let pointLabel = '';\n\n // to handle the case when there aren't enough labels\n try {\n pointLabel = scorePointsLabels[scorePointsValues.length - index - 1] || '';\n } catch (e) {\n pointLabel = '';\n }\n\n return (\n <th key={`table-header-${index}`}>\n <table className={classes.scorePointHeader}>\n <thead>\n {pointsLabels ? (\n <tr>\n <td>\n <div\n className={classes.pointLabel}\n dangerouslySetInnerHTML={{ __html: pointLabel }}\n />\n </td>\n </tr>\n ) : null}\n <tr>\n <td className={classes.scorePointValue}>\n {scorePointValue === 1 ? `${scorePointValue} point` : `${scorePointValue} points`}\n </td>\n </tr>\n </thead>\n </table>\n </th>\n );\n })}\n </tr>\n </thead>\n\n <tbody>\n {traits &&\n traits.map((trait, traitIndex) => (\n <Trait\n key={`trait_${scaleIndex}_${traitIndex}`}\n trait={trait}\n traitIndex={traitIndex}\n showDescription={!!descriptions}\n showStandards={!!standards}\n scaleIndex={scaleIndex}\n scorePointsValues={scorePointsValues}\n excludeZero={excludeZero}\n />\n ))}\n </tbody>\n </table>\n </div>\n\n <ArrowContainer\n show={showRight && !arrowsDisabled}\n onClick={this.scrollRight}\n extraStyles={{\n right: 0,\n background: `linear-gradient(to left, white, ${color.background()})`,\n }}\n >\n <ArrowForwardIosIcon />\n </ArrowContainer>\n </div>\n );\n }\n}\n\nScale.propTypes = {\n classes: PropTypes.object,\n scaleIndex: PropTypes.number,\n scale: PropTypes.shape({\n excludeZero: PropTypes.bool,\n maxPoints: PropTypes.number,\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n traits: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n standards: PropTypes.arrayOf(PropTypes.string),\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n }),\n ),\n }),\n showPointsLabels: PropTypes.bool,\n showDescription: PropTypes.bool,\n showStandards: PropTypes.bool,\n arrowsDisabled: PropTypes.bool,\n};\n\nexport default withStyles(styles)(Scale);\n"],"file":"scale.js"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _styles = require("@material-ui/core/styles");
|
|
15
|
+
|
|
16
|
+
var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
|
|
17
|
+
|
|
18
|
+
var styles = function styles() {
|
|
19
|
+
return {
|
|
20
|
+
trait: {
|
|
21
|
+
'&$traitName': {
|
|
22
|
+
color: _renderUi.color.primaryDark(),
|
|
23
|
+
verticalAlign: 'middle'
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
noDescription: {
|
|
27
|
+
color: _renderUi.color.secondaryBackground(),
|
|
28
|
+
textAlign: 'center'
|
|
29
|
+
},
|
|
30
|
+
traitName: {}
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
var Trait = function Trait(props) {
|
|
35
|
+
var trait = props.trait,
|
|
36
|
+
traitIndex = props.traitIndex,
|
|
37
|
+
scaleIndex = props.scaleIndex,
|
|
38
|
+
showStandards = props.showStandards,
|
|
39
|
+
showDescription = props.showDescription,
|
|
40
|
+
scorePointsValues = props.scorePointsValues,
|
|
41
|
+
classes = props.classes;
|
|
42
|
+
|
|
43
|
+
var _ref = trait || {},
|
|
44
|
+
name = _ref.name,
|
|
45
|
+
standards = _ref.standards,
|
|
46
|
+
scorePointsDescriptors = _ref.scorePointsDescriptors,
|
|
47
|
+
description = _ref.description;
|
|
48
|
+
|
|
49
|
+
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
50
|
+
key: "scale-".concat(scaleIndex, "-trait-").concat(traitIndex)
|
|
51
|
+
}, /*#__PURE__*/_react["default"].createElement("td", {
|
|
52
|
+
className: "".concat(classes.trait, " ").concat(classes.traitName)
|
|
53
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
54
|
+
dangerouslySetInnerHTML: {
|
|
55
|
+
__html: name
|
|
56
|
+
}
|
|
57
|
+
})), showStandards ? /*#__PURE__*/_react["default"].createElement("td", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
58
|
+
dangerouslySetInnerHTML: {
|
|
59
|
+
__html: standards.join(',')
|
|
60
|
+
}
|
|
61
|
+
})) : null, showDescription ? /*#__PURE__*/_react["default"].createElement("td", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
62
|
+
dangerouslySetInnerHTML: {
|
|
63
|
+
__html: description
|
|
64
|
+
}
|
|
65
|
+
})) : null, scorePointsValues && scorePointsValues.map(function (scorePointValue, index) {
|
|
66
|
+
var scoreDescriptor;
|
|
67
|
+
|
|
68
|
+
try {
|
|
69
|
+
scoreDescriptor = scorePointsDescriptors[scorePointsValues.length - index - 1] || '';
|
|
70
|
+
} catch (e) {
|
|
71
|
+
scoreDescriptor = '';
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return /*#__PURE__*/_react["default"].createElement("td", {
|
|
75
|
+
key: "table-cell-".concat(index)
|
|
76
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
77
|
+
className: !scoreDescriptor ? classes.noDescription : '',
|
|
78
|
+
dangerouslySetInnerHTML: {
|
|
79
|
+
__html: scoreDescriptor || 'No Description'
|
|
80
|
+
}
|
|
81
|
+
}));
|
|
82
|
+
}));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
Trait.propTypes = {
|
|
86
|
+
classes: _propTypes["default"].object,
|
|
87
|
+
showStandards: _propTypes["default"].bool,
|
|
88
|
+
showDescription: _propTypes["default"].bool,
|
|
89
|
+
scorePointsValues: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
90
|
+
scaleIndex: _propTypes["default"].number,
|
|
91
|
+
traitIndex: _propTypes["default"].number,
|
|
92
|
+
trait: _propTypes["default"].shape({
|
|
93
|
+
name: _propTypes["default"].string,
|
|
94
|
+
standards: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
95
|
+
scorePointsDescriptors: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
96
|
+
description: _propTypes["default"].string
|
|
97
|
+
})
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
var _default = (0, _styles.withStyles)(styles)(Trait);
|
|
101
|
+
|
|
102
|
+
exports["default"] = _default;
|
|
103
|
+
//# sourceMappingURL=trait.js.map
|