@sketchpixy/rubix
Version:
Rubix Bootstrap
394 lines (327 loc) • 12.9 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PanelBody = exports.PanelRight = exports.PanelLeft = exports.PanelFooter = exports.PanelHeader = exports.Panel = exports.PanelTabContainer = exports.default = undefined;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class, _temp, _class2, _temp2, _class3, _temp3;
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Icon = require('./Icon');
var _Icon2 = _interopRequireDefault(_Icon);
var _Button = require('./Button');
var _Button2 = _interopRequireDefault(_Button);
var _TabContainer = require('react-bootstrap/lib/TabContainer');
var _TabContainer2 = _interopRequireDefault(_TabContainer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var PanelContainer = (_temp = _class = function (_React$Component) {
(0, _inherits3.default)(PanelContainer, _React$Component);
function PanelContainer() {
var _Object$getPrototypeO;
(0, _classCallCheck3.default)(this, PanelContainer);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var _this = (0, _possibleConstructorReturn3.default)(this, (_Object$getPrototypeO = (0, _getPrototypeOf2.default)(PanelContainer)).call.apply(_Object$getPrototypeO, [this].concat(args)));
_this.state = { collapse: false, style: {}, hidden: false, glyph: 'minus' };
return _this;
}
(0, _createClass3.default)(PanelContainer, [{
key: 'getBtnProps',
value: function getBtnProps(func) {
return {
onClick: func,
onTouchEnd: func
};
}
}, {
key: 'remove',
value: function remove() {
this.setState({
collapse: true
});
if (this.props.onRemove) this.props.onRemove();
}
}, {
key: 'show',
value: function show() {
this.setState({
hidden: false,
glyph: 'minus',
style: {}
});
if (this.props.onShow) this.props.onShow();
}
}, {
key: 'hide',
value: function hide() {
this.setState({
hidden: true,
glyph: 'plus',
style: {
height: 16,
overflow: 'hidden'
}
});
if (this.props.onHide) this.props.onHide();
}
}, {
key: 'toggle',
value: function toggle() {
if (this.state.hidden) {
this.show();
} else {
this.hide();
}
if (this.props.onToggle) this.props.onToggle();
}
}, {
key: 'maximize',
value: function maximize() {
if (this.props.handleMaximize) {
this.props.handleMaximize();
}
}
}, {
key: 'renderControls',
value: function renderControls() {
return _react2.default.createElement(
'div',
{ className: 'rubix-panel-controls' },
_react2.default.createElement(
_Button2.default,
this.getBtnProps(this.maximize.bind(this)),
_react2.default.createElement(_Icon2.default, { bundle: 'fontello', glyph: 'loop-alt-1' })
),
_react2.default.createElement(
_Button2.default,
this.getBtnProps(this.toggle.bind(this)),
_react2.default.createElement(_Icon2.default, { bundle: 'fontello', glyph: this.state.glyph })
),
_react2.default.createElement(
_Button2.default,
this.getBtnProps(this.remove.bind(this)),
_react2.default.createElement(_Icon2.default, { bundle: 'fontello', glyph: 'cancel' })
)
);
}
}, {
key: 'render',
value: function render() {
var props = (0, _extends3.default)({}, this.props);
var controls = this.renderControls();
if (props.controls === false) {
controls = null;
} else if (props.controls !== undefined) {
controls = _react2.default.createElement(
'div',
{ className: 'rubix-panel-controls' },
this.props.controls
);
}
props.className = (0, _classnames2.default)('rubix-panel-container-with-controls', props.className, {
active: this.state.style.height === 16
});
var panelClassname = (0, _classnames2.default)('rubix-panel-container', {
'bordered': this.props.bordered,
'panel-plain': this.props.plain,
'noOverflow': this.props.noOverflow,
'panel-gutter-bottom': this.props.gutterBottom,
'panel-collapse-bottom': this.props.collapseBottom
}, this.props.containerClasses);
if (this.state.collapse) return null;
return _react2.default.createElement(
'div',
(0, _extends3.default)({}, props, { controls: null, children: null }),
controls,
_react2.default.createElement(
'div',
{ className: panelClassname, style: this.state.style },
this.props.children
)
);
}
}]);
return PanelContainer;
}(_react2.default.Component), _class.propTypes = {
controls: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.bool, _react2.default.PropTypes.element]),
containerClasses: _react2.default.PropTypes.string,
collapseBottom: _react2.default.PropTypes.bool,
gutterBottom: _react2.default.PropTypes.bool,
noOverflow: _react2.default.PropTypes.bool,
bordered: _react2.default.PropTypes.bool,
plain: _react2.default.PropTypes.bool,
onMaximize: _react2.default.PropTypes.func,
onShow: _react2.default.PropTypes.func,
onHide: _react2.default.PropTypes.func,
onToggle: _react2.default.PropTypes.func,
onRemove: _react2.default.PropTypes.func
}, _temp);
exports.default = PanelContainer;
var PanelTabContainer = exports.PanelTabContainer = (_temp2 = _class2 = function (_React$Component2) {
(0, _inherits3.default)(PanelTabContainer, _React$Component2);
function PanelTabContainer() {
(0, _classCallCheck3.default)(this, PanelTabContainer);
return (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(PanelTabContainer).apply(this, arguments));
}
(0, _createClass3.default)(PanelTabContainer, [{
key: 'render',
value: function render() {
var props = (0, _extends3.default)({}, this.props, {
className: (0, _classnames2.default)('panel-tab-container', this.props.className)
});
return _react2.default.createElement(
_TabContainer2.default,
{ id: this.props.id, defaultActiveKey: this.props.defaultActiveKey, onSelect: this.props.onSelect, generateChildId: this.props.generateChildId },
_react2.default.createElement(PanelContainer, (0, _extends3.default)({}, props, { id: null, defaultActiveKey: null, onSelect: null, generateChildId: null }))
);
}
}]);
return PanelTabContainer;
}(_react2.default.Component), _class2.propTypes = {
id: _react2.default.PropTypes.string.isRequired,
defaultActiveKey: _react2.default.PropTypes.any,
onSelect: _react2.default.PropTypes.func,
generateChildId: _react2.default.PropTypes.func
}, _temp2);
var Panel = exports.Panel = (_temp3 = _class3 = function (_React$Component3) {
(0, _inherits3.default)(Panel, _React$Component3);
function Panel() {
(0, _classCallCheck3.default)(this, Panel);
return (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(Panel).apply(this, arguments));
}
(0, _createClass3.default)(Panel, [{
key: 'render',
value: function render() {
var props = (0, _extends3.default)({}, this.props);
props.className = (0, _classnames2.default)('rubix-panel', {
horizontal: props.horizontal
}, props.className);
return _react2.default.createElement(
'div',
(0, _extends3.default)({}, props, { children: null }),
_react2.default.createElement(
'div',
null,
this.props.children
)
);
}
}]);
return Panel;
}(_react2.default.Component), _class3.propTypes = {
horizontal: _react2.default.PropTypes.bool
}, _temp3);
var PanelHeader = exports.PanelHeader = function (_React$Component4) {
(0, _inherits3.default)(PanelHeader, _React$Component4);
function PanelHeader() {
(0, _classCallCheck3.default)(this, PanelHeader);
return (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(PanelHeader).apply(this, arguments));
}
(0, _createClass3.default)(PanelHeader, [{
key: 'render',
value: function render() {
var props = (0, _extends3.default)({}, this.props);
props.className = (0, _classnames2.default)('rubix-panel-header', props.className);
return _react2.default.createElement(
'div',
(0, _extends3.default)({}, props, { children: null }),
this.props.children
);
}
}]);
return PanelHeader;
}(_react2.default.Component);
var PanelFooter = exports.PanelFooter = function (_React$Component5) {
(0, _inherits3.default)(PanelFooter, _React$Component5);
function PanelFooter() {
(0, _classCallCheck3.default)(this, PanelFooter);
return (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(PanelFooter).apply(this, arguments));
}
(0, _createClass3.default)(PanelFooter, [{
key: 'render',
value: function render() {
var props = (0, _extends3.default)({}, this.props);
props.className = (0, _classnames2.default)('rubix-panel-footer', props.className);
return _react2.default.createElement(
'div',
(0, _extends3.default)({}, props, { children: null }),
this.props.children
);
}
}]);
return PanelFooter;
}(_react2.default.Component);
var PanelLeft = exports.PanelLeft = function (_React$Component6) {
(0, _inherits3.default)(PanelLeft, _React$Component6);
function PanelLeft() {
(0, _classCallCheck3.default)(this, PanelLeft);
return (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(PanelLeft).apply(this, arguments));
}
(0, _createClass3.default)(PanelLeft, [{
key: 'render',
value: function render() {
var props = (0, _extends3.default)({}, this.props);
props.className = (0, _classnames2.default)('rubix-panel-left', props.className);
return _react2.default.createElement(
'div',
(0, _extends3.default)({}, props, { children: null }),
this.props.children
);
}
}]);
return PanelLeft;
}(_react2.default.Component);
var PanelRight = exports.PanelRight = function (_React$Component7) {
(0, _inherits3.default)(PanelRight, _React$Component7);
function PanelRight() {
(0, _classCallCheck3.default)(this, PanelRight);
return (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(PanelRight).apply(this, arguments));
}
(0, _createClass3.default)(PanelRight, [{
key: 'render',
value: function render() {
var props = (0, _extends3.default)({}, this.props);
props.className = (0, _classnames2.default)('rubix-panel-right', props.className);
return _react2.default.createElement(
'div',
(0, _extends3.default)({}, props, { children: null }),
this.props.children
);
}
}]);
return PanelRight;
}(_react2.default.Component);
var PanelBody = exports.PanelBody = function (_React$Component8) {
(0, _inherits3.default)(PanelBody, _React$Component8);
function PanelBody() {
(0, _classCallCheck3.default)(this, PanelBody);
return (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(PanelBody).apply(this, arguments));
}
(0, _createClass3.default)(PanelBody, [{
key: 'render',
value: function render() {
var props = (0, _extends3.default)({}, this.props);
props.className = (0, _classnames2.default)('rubix-panel-body', props.className);
return _react2.default.createElement(
'div',
(0, _extends3.default)({}, props, { children: null }),
this.props.children
);
}
}]);
return PanelBody;
}(_react2.default.Component);