UNPKG

focus-components-v3

Version:

Focus web components to build applications (based on Material Design)

105 lines (76 loc) 8.75 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _dec, _class; // Dependencies var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactDom = require('react-dom'); var _reactDom2 = _interopRequireDefault(_reactDom); var _material = require('../behaviours/material'); var _material2 = _interopRequireDefault(_material); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } var ProgressBar = (_dec = (0, _material2.default)('bar'), _dec(_class = function (_Component) { _inherits(ProgressBar, _Component); function ProgressBar() { _classCallCheck(this, ProgressBar); return _possibleConstructorReturn(this, _Component.apply(this, arguments)); } ProgressBar.prototype.componentDidMount = function componentDidMount() { var completed = this.props.completed; var bar = _reactDom2.default.findDOMNode(this.refs.bar); if (bar) { bar.MaterialProgress.setProgress(completed); bar.MaterialProgress.setBuffer(100); } }; ProgressBar.prototype.componentWillReceiveProps = function componentWillReceiveProps(_ref) { var completed = _ref.completed; if (0 > completed) { completed = 0; } if (100 < completed) { completed = 100; } var bar = _reactDom2.default.findDOMNode(this.refs.bar); if (bar) { bar.MaterialProgress.setProgress(completed); bar.MaterialProgress.setBuffer(100); } }; ProgressBar.prototype._renderClassName = function _renderClassName() { var indeterminated = this.props.indeterminated; if (indeterminated) { return 'mdl-progress mdl-js-progress mdl-progress__indeterminate'; } else { return 'mdl-progress mdl-js-progress'; } }; ProgressBar.prototype.render = function render() { var completed = +this.props.completed; if (0 > completed) { completed = 0; } if (100 < completed) { completed = 100; } return _react2.default.createElement('div', { className: this._renderClassName(), 'data-focus': 'progress-bar', ref: 'bar' }); }; return ProgressBar; }(_react.Component)) || _class); ProgressBar.propTypes = { completed: _react.PropTypes.number, indeterminated: _react.PropTypes.bool }; ProgressBar.defaultProps = { completed: 0, indetermindated: false }; ProgressBar.displayName = 'ProgressBar'; exports.default = ProgressBar; module.exports = exports['default']; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZyLUZSLmpzIl0sIm5hbWVzIjpbIlByb2dyZXNzQmFyIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wbGV0ZWQiLCJwcm9wcyIsImJhciIsImZpbmRET01Ob2RlIiwicmVmcyIsIk1hdGVyaWFsUHJvZ3Jlc3MiLCJzZXRQcm9ncmVzcyIsInNldEJ1ZmZlciIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJfcmVuZGVyQ2xhc3NOYW1lIiwiaW5kZXRlcm1pbmF0ZWQiLCJyZW5kZXIiLCJwcm9wVHlwZXMiLCJudW1iZXIiLCJib29sIiwiZGVmYXVsdFByb3BzIiwiaW5kZXRlcm1pbmRhdGVkIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7OztrQkFBQTs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7Ozs7Ozs7OztJQUdNQSxXLFdBREwsd0JBQWEsS0FBYixDO2NBQ0tBLFc7O2FBQUFBLFc7OEJBQUFBLFc7Ozs7O0FBQUFBLGUsV0FZRkMsaUIsZ0NBQW9CO0FBQUEsWUFDVEMsU0FEUyxHQUNJLEtBQUtDLEtBRFQsQ0FDVEQsU0FEUzs7QUFFaEIsWUFBTUUsTUFBTSxtQkFBU0MsV0FBVCxDQUFxQixLQUFLQyxJQUFMLENBQVVGLEdBQS9CLENBQVo7QUFDQSxZQUFJQSxHQUFKLEVBQVM7QUFDTEEsZ0JBQUlHLGdCQUFKLENBQXFCQyxXQUFyQixDQUFpQ04sU0FBakM7QUFDQUUsZ0JBQUlHLGdCQUFKLENBQXFCRSxTQUFyQixDQUErQixHQUEvQjtBQUNIO0FBQ0osSzs7QUFuQkNULGUsV0FxQkZVLHlCLDRDQUF1QztBQUFBLFlBQVpSLFNBQVksUUFBWkEsU0FBWTs7QUFDbkMsWUFBSSxJQUFJQSxTQUFSLEVBQW1CO0FBQ2ZBLHdCQUFZLENBQVo7QUFDSDtBQUNELFlBQUksTUFBTUEsU0FBVixFQUFxQjtBQUNqQkEsd0JBQVksR0FBWjtBQUNIO0FBQ0QsWUFBTUUsTUFBTSxtQkFBU0MsV0FBVCxDQUFxQixLQUFLQyxJQUFMLENBQVVGLEdBQS9CLENBQVo7QUFDQSxZQUFJQSxHQUFKLEVBQVM7QUFDTEEsZ0JBQUlHLGdCQUFKLENBQXFCQyxXQUFyQixDQUFpQ04sU0FBakM7QUFDQUUsZ0JBQUlHLGdCQUFKLENBQXFCRSxTQUFyQixDQUErQixHQUEvQjtBQUNIO0FBQ0osSzs7QUFqQ0NULGUsV0FtQ0ZXLGdCLCtCQUFtQjtBQUFBLFlBQ1JDLGNBRFEsR0FDVSxLQUFLVCxLQURmLENBQ1JTLGNBRFE7OztBQUdmLFlBQUdBLGNBQUgsRUFBbUI7QUFDZixtQkFBTywwREFBUDtBQUNILFNBRkQsTUFHSztBQUNELG1CQUFPLDhCQUFQO0FBQ0g7QUFDSixLOztBQTVDQ1osZSxXQThDRmEsTSxxQkFBUztBQUNMLFlBQUlYLFlBQVksQ0FBQyxLQUFLQyxLQUFMLENBQVdELFNBQTVCO0FBQ0EsWUFBSSxJQUFJQSxTQUFSLEVBQW1CO0FBQ2ZBLHdCQUFZLENBQVo7QUFDSDtBQUNELFlBQUksTUFBTUEsU0FBVixFQUFxQjtBQUNqQkEsd0JBQVksR0FBWjtBQUNIO0FBQ0QsZUFDSSx1Q0FBSyxXQUFXLEtBQUtTLGdCQUFMLEVBQWhCLEVBQXlDLGNBQVcsY0FBcEQsRUFBbUUsS0FBSSxLQUF2RSxHQURKO0FBR0gsSzs7V0F6RENYLFc7O0FBQUFBLFcsQ0FFS2MsUyxHQUFZO0FBQ2ZaLGVBQVcsaUJBQVVhLE1BRE47QUFFZkgsb0JBQWdCLGlCQUFVSTtBQUZYLEM7QUFGakJoQixXLENBT0tpQixZLEdBQWU7QUFDbEJmLGVBQVcsQ0FETztBQUVsQmdCLHFCQUFpQjtBQUZDLEM7OztBQXFEMUJsQixZQUFZbUIsV0FBWixHQUEwQixhQUExQjs7a0JBRWVuQixXIiwiZmlsZSI6ImZyLUZSLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRGVwZW5kZW5jaWVzXHJcbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgUHJvcFR5cGVzfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xyXG5pbXBvcnQgbWRsQmVoYXZpb3VyIGZyb20gJy4uL2JlaGF2aW91cnMvbWF0ZXJpYWwnO1xyXG5cclxuQG1kbEJlaGF2aW91cignYmFyJylcclxuY2xhc3MgUHJvZ3Jlc3NCYXIgZXh0ZW5kcyBDb21wb25lbnQge1xyXG5cclxuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XHJcbiAgICAgICAgY29tcGxldGVkOiBQcm9wVHlwZXMubnVtYmVyLFxyXG4gICAgICAgIGluZGV0ZXJtaW5hdGVkOiBQcm9wVHlwZXMuYm9vbFxyXG4gICAgfTtcclxuXHJcbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIGNvbXBsZXRlZDogMCxcclxuICAgICAgICBpbmRldGVybWluZGF0ZWQ6IGZhbHNlXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgICAgIGNvbnN0IHtjb21wbGV0ZWR9ID0gdGhpcy5wcm9wc1xyXG4gICAgICAgIGNvbnN0IGJhciA9IFJlYWN0RE9NLmZpbmRET01Ob2RlKHRoaXMucmVmcy5iYXIpO1xyXG4gICAgICAgIGlmIChiYXIpIHtcclxuICAgICAgICAgICAgYmFyLk1hdGVyaWFsUHJvZ3Jlc3Muc2V0UHJvZ3Jlc3MoY29tcGxldGVkKTtcclxuICAgICAgICAgICAgYmFyLk1hdGVyaWFsUHJvZ3Jlc3Muc2V0QnVmZmVyKDEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoe2NvbXBsZXRlZH0pIHtcclxuICAgICAgICBpZiAoMCA+IGNvbXBsZXRlZCkge1xyXG4gICAgICAgICAgICBjb21wbGV0ZWQgPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoMTAwIDwgY29tcGxldGVkKSB7XHJcbiAgICAgICAgICAgIGNvbXBsZXRlZCA9IDEwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgYmFyID0gUmVhY3RET00uZmluZERPTU5vZGUodGhpcy5yZWZzLmJhcik7XHJcbiAgICAgICAgaWYgKGJhcikge1xyXG4gICAgICAgICAgICBiYXIuTWF0ZXJpYWxQcm9ncmVzcy5zZXRQcm9ncmVzcyhjb21wbGV0ZWQpO1xyXG4gICAgICAgICAgICBiYXIuTWF0ZXJpYWxQcm9ncmVzcy5zZXRCdWZmZXIoMTAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgX3JlbmRlckNsYXNzTmFtZSgpIHtcclxuICAgICAgICBjb25zdCB7aW5kZXRlcm1pbmF0ZWR9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICAgICAgaWYoaW5kZXRlcm1pbmF0ZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuICdtZGwtcHJvZ3Jlc3MgbWRsLWpzLXByb2dyZXNzIG1kbC1wcm9ncmVzc19faW5kZXRlcm1pbmF0ZSdcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnbWRsLXByb2dyZXNzIG1kbC1qcy1wcm9ncmVzcydcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGxldCBjb21wbGV0ZWQgPSArdGhpcy5wcm9wcy5jb21wbGV0ZWQ7XHJcbiAgICAgICAgaWYgKDAgPiBjb21wbGV0ZWQpIHtcclxuICAgICAgICAgICAgY29tcGxldGVkID0gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKDEwMCA8IGNvbXBsZXRlZCkge1xyXG4gICAgICAgICAgICBjb21wbGV0ZWQgPSAxMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXt0aGlzLl9yZW5kZXJDbGFzc05hbWUoKX0gZGF0YS1mb2N1cz0ncHJvZ3Jlc3MtYmFyJyByZWY9J2JhcicgLz5cclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcblxyXG5Qcm9ncmVzc0Jhci5kaXNwbGF5TmFtZSA9ICdQcm9ncmVzc0Jhcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBQcm9ncmVzc0JhcjtcclxuIl19