import React from 'react';
class Panel extends React.Component {
constructor(props) {
super(props);
}
render(...elements) {
var props = Object.assign({
className: this.props.active ? 'active' : '',
tabIndex: -1
}, this.props);
var css = this.css();
if (css != '') {
elements.unshift(React.createElement(
'style', null,
css
));
}
return React.createElement(
'div', props,
...elements
);
}
static title() {
return '';
}
static css() {
return '';
}
}
Major differences from simple pane are:
title
static method per component, so it may be extended by other panel component with overridden title
(reason here is that function can be then called again on rendering for localization purposes, but in bounds of this example title
doesn't make sense);css
static method (you can pre-load file contents from PANEL.css
).