UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

156 lines (113 loc) 5.14 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _taggedTemplateLiteral2 = require('babel-runtime/helpers/taggedTemplateLiteral'); var _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2); 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 _templateObject = (0, _taggedTemplateLiteral3.default)(['\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n justify-content: center;\n'], ['\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n justify-content: center;\n']), _templateObject2 = (0, _taggedTemplateLiteral3.default)(['\n margin: 0 24px;\n padding: 14px 24px;\n background-color: ', ';\n color: white;\n border-radius: 2px;\n transform: translate(0, ', ');\n transition: transform 400ms ', ';\n box-shadow: 0 0 3px ', ';\n'], ['\n margin: 0 24px;\n padding: 14px 24px;\n background-color: ', ';\n color: white;\n border-radius: 2px;\n transform: translate(0, ', ');\n transition: transform 400ms ', ';\n box-shadow: 0 0 3px ', ';\n']); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _styledComponents = require('styled-components'); var _styledComponents2 = _interopRequireDefault(_styledComponents); var _reactRedux = require('react-redux'); var _display = require('selectors/display'); var _cancelable = require('common/cancelable'); var _auto_bind = require('common/auto_bind'); var _auto_bind2 = _interopRequireDefault(_auto_bind); var _styles = require('common/styles'); var _utilities = require('common/utilities'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var alerts_appearance_time = 5; // seconds var Alerts = function (_Component) { (0, _inherits3.default)(Alerts, _Component); function Alerts() { (0, _classCallCheck3.default)(this, Alerts); return (0, _possibleConstructorReturn3.default)(this, (Alerts.__proto__ || (0, _getPrototypeOf2.default)(Alerts)).apply(this, arguments)); } (0, _createClass3.default)(Alerts, [{ key: 'render', value: function render() { var alert = this.props.alert; if (alert) { return _react2.default.createElement( Position, null, _react2.default.createElement(Alert, (0, _extends3.default)({ key: alert.id }, alert)) ); } return null; } }]); return Alerts; }(_react.Component); var Alert = function (_Component2) { (0, _inherits3.default)(Alert, _Component2); function Alert(props) { (0, _classCallCheck3.default)(this, Alert); var _this2 = (0, _possibleConstructorReturn3.default)(this, (Alert.__proto__ || (0, _getPrototypeOf2.default)(Alert)).call(this, props)); _this2.state = { mounted: false }; (0, _auto_bind2.default)(_this2); return _this2; } (0, _createClass3.default)(Alert, [{ key: 'remove_alert', value: function remove_alert() { setTimeout(this.props.remove, 400); this.setState({ mounted: false }); } }, { key: 'componentDidMount', value: function componentDidMount() { var _this3 = this; setTimeout(function () { return _this3.setState({ mounted: true }); }, 10); this.visible_timeout = (0, _cancelable.cancelable_timeout)(this.remove_alert, alerts_appearance_time * 1000); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { this.visible_timeout.cancel(); } }, { key: 'render', value: function render() { var mounted = this.state.mounted; var text = this.props.text; return _react2.default.createElement( Container, { mounted: mounted }, text ); } }]); return Alert; }(_react.Component); exports.default = (0, _reactRedux.connect)(function (state) { return { alert: (0, _display.get_alert)(state) }; })(Alerts); var Position = _styledComponents2.default.div(_templateObject); var Container = _styledComponents2.default.div(_templateObject2, (0, _styles.color)('black', 'intense'), function (_ref) { var mounted = _ref.mounted; return mounted ? '0' : '100%'; }, function (_ref2) { var mounted = _ref2.mounted; return mounted ? _styles.desceleration : _styles.acceleration; }, (0, _styles.color)('black', 'intense'));