anatomogram
Advanced tools
Comparing version
@@ -19,6 +19,2 @@ 'use strict'; | ||
var _transformPropsWith = require('transform-props-with'); | ||
var _transformPropsWith2 = _interopRequireDefault(_transformPropsWith); | ||
var _Switcher = require('./Switcher'); | ||
@@ -36,4 +32,2 @@ | ||
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
@@ -45,50 +39,2 @@ | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
var arrayDifference = function arrayDifference(arr1, arr2) { | ||
return Array.isArray(arr1) && Array.isArray(arr2) ? arr1.filter(function (e) { | ||
return !arr2.includes(e); | ||
}) : arr1; | ||
}; | ||
var elementMarkup = function elementMarkup(colour, opacity) { | ||
return { fill: colour, opacity: opacity }; | ||
}; | ||
var idsWithMarkupAccordingToCurrentColoringScheme = function idsWithMarkupAccordingToCurrentColoringScheme(_ref) { | ||
var showIds = _ref.showIds, | ||
showColour = _ref.showColour, | ||
showOpacity = _ref.showOpacity, | ||
highlightIds = _ref.highlightIds, | ||
highlightColour = _ref.highlightColour, | ||
highlightOpacity = _ref.highlightOpacity, | ||
selectIds = _ref.selectIds, | ||
selectColour = _ref.selectColour, | ||
selectOpacity = _ref.selectOpacity; | ||
var uniqueShowIds = arrayDifference(showIds, [].concat(_toConsumableArray(highlightIds), _toConsumableArray(selectIds))); | ||
var uniqueHighlightIds = arrayDifference(highlightIds, selectIds); | ||
//Given an element and its ids, we take the first element of this array having one of the ids | ||
return [].concat(selectIds.map(function (id) { | ||
return { | ||
id: id, | ||
markupNormal: elementMarkup(selectColour, selectOpacity), | ||
markupUnderFocus: elementMarkup(selectColour, selectOpacity + 0.2) | ||
}; | ||
}), uniqueHighlightIds.map(function (id) { | ||
return { | ||
id: id, | ||
markupNormal: elementMarkup(highlightColour, highlightOpacity), | ||
markupUnderFocus: elementMarkup(highlightColour, highlightOpacity + 0.2) | ||
}; | ||
}), uniqueShowIds.map(function (id) { | ||
return { | ||
id: id, | ||
markupNormal: elementMarkup(showColour, showOpacity), | ||
markupUnderFocus: elementMarkup(highlightColour, highlightOpacity + 0.2) | ||
}; | ||
})); | ||
}; | ||
var Anatomogram = function (_React$Component) { | ||
@@ -132,3 +78,2 @@ _inherits(Anatomogram, _React$Component); | ||
_react2.default.createElement(_AnatomogramSvg2.default, _extends({}, this.props, { | ||
idsWithMarkup: idsWithMarkupAccordingToCurrentColoringScheme(this.props), | ||
selectedView: this.state.selectedView })) | ||
@@ -143,44 +88,5 @@ ); | ||
Anatomogram.propTypes = { | ||
species: _propTypes2.default.string.isRequired, | ||
showIds: _propTypes2.default.arrayOf(_propTypes2.default.string), | ||
highlightIds: _propTypes2.default.arrayOf(_propTypes2.default.string), | ||
selectIds: _propTypes2.default.arrayOf(_propTypes2.default.string), | ||
showColour: _propTypes2.default.string, | ||
highlightColour: _propTypes2.default.string, | ||
selectColour: _propTypes2.default.string, | ||
onMouseOver: _propTypes2.default.func, | ||
onMouseOut: _propTypes2.default.func, | ||
onClick: _propTypes2.default.func | ||
species: _propTypes2.default.string.isRequired | ||
}; | ||
Anatomogram.defaultProps = { | ||
showIds: [], | ||
highlightIds: [], | ||
selectIds: [], | ||
showColour: 'grey', | ||
highlightColour: 'red', | ||
selectColour: 'purple', | ||
showOpacity: 0.4, | ||
highlightOpacity: 0.4, | ||
selectOpacity: 0.4, | ||
onMouseOver: function onMouseOver() {}, | ||
onMouseOut: function onMouseOut() {}, | ||
onClick: function onClick() {} | ||
}; | ||
var normaliseSpecies = function normaliseSpecies(oldProps) { | ||
var species = oldProps.species, | ||
props = _objectWithoutProperties(oldProps, ['species']); | ||
return _extends({ | ||
species: species.toLowerCase().replace(/ +/, '_') | ||
}, props); | ||
}; | ||
exports.default = (0, _transformPropsWith2.default)(normaliseSpecies)(Anatomogram); | ||
exports.default = Anatomogram; |
@@ -123,15 +123,7 @@ 'use strict'; | ||
selectedView: _propTypes2.default.string, | ||
showIds: _propTypes2.default.arrayOf(_propTypes2.default.string).isRequired, | ||
highlightIds: _propTypes2.default.arrayOf(_propTypes2.default.string).isRequired, | ||
selectIds: _propTypes2.default.arrayOf(_propTypes2.default.string).isRequired, | ||
showColour: _propTypes2.default.string.isRequired, | ||
highlightColour: _propTypes2.default.string.isRequired, | ||
selectColour: _propTypes2.default.string.isRequired, | ||
showOpacity: _propTypes2.default.number.isRequired, | ||
highlightOpacity: _propTypes2.default.number.isRequired, | ||
selectOpacity: _propTypes2.default.number.isRequired, | ||
idsWithMarkup: _propTypes2.default.arrayOf(_propTypes2.default.shape({ | ||
id: _propTypes2.default.string.isRequired, | ||
markupNormal: _propTypes2.default.object.isRequired, | ||
markupUnderFocus: _propTypes2.default.object.isRequired | ||
})).isRequired, | ||
onMouseOver: _propTypes2.default.func.isRequired, | ||
@@ -138,0 +130,0 @@ onMouseOut: _propTypes2.default.func.isRequired, |
@@ -16,5 +16,5 @@ 'use strict'; | ||
var _Anatomogram = require('./Anatomogram'); | ||
var _Main = require('./Main'); | ||
var _Anatomogram2 = _interopRequireDefault(_Anatomogram); | ||
var _Main2 = _interopRequireDefault(_Main); | ||
@@ -26,7 +26,7 @@ var _Assets = require('./Assets'); | ||
var render = function render(options, target) { | ||
_reactDom2.default.render(_react2.default.createElement(_Anatomogram2.default, options), document.getElementById(target)); | ||
_reactDom2.default.render(_react2.default.createElement(_Main2.default, options), document.getElementById(target)); | ||
}; | ||
exports.default = _Anatomogram2.default; | ||
exports.default = _Main2.default; | ||
exports.render = render; | ||
exports.anatomogramSpecies = _Assets.supportedSpecies; |
{ | ||
"name": "anatomogram", | ||
"version": "1.4.4", | ||
"version": "1.4.5", | ||
"description": "Anatomogram component for Expression Atlas heatmap", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
13614478
053
1.92%1063
0.38%