UNPKG

lml-main

Version:

This is now a mono repository published into many standalone packages.

42 lines 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const react_redux_1 = require("react-redux"); const cx = require("classnames"); const selectors_1 = require("../../../jobs/selectors"); const actions_1 = require("../../../jobs/actions"); const cosmoui_1 = require("cosmoui"); const styles = require('../card/fields/job-fields.scss'); class TitleComponent extends cosmoui_1.HoverableComponent { constructor() { super(...arguments); this.color = () => this.state.hover ? this.primary(900) : this.primary(500); this.onHover = () => { }; this.onClick = () => { const order = this.props.order === actions_1.JOB_SORT_ORDER_ASC ? actions_1.JOB_SORT_ORDER_DESC : actions_1.JOB_SORT_ORDER_ASC; this.props.setJobSortOrder(order); }; } render() { const { title, classNameKey } = this.props; const icon = this.props.order === actions_1.JOB_SORT_ORDER_ASC ? 'Up' : 'Down'; return (React.createElement("div", { id: `${title.replace(' ', '-')}-title-sort`, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, className: cx(styles.title, styles[classNameKey]), style: { color: this.color() }, onClick: this.onClick }, React.createElement("span", { style: { marginRight: '5px' } }, title), React.createElement(cosmoui_1.Icon, { icon: icon, size: 10, fill: this.color() }))); } } const mapStateToProps = (state, ownProps) => ({ order: selectors_1.getJobSortOrder(state), }); const mapDispatchToProps = { setJobSortOrder: actions_1.setJobSortOrder, }; const Title = react_redux_1.connect(mapStateToProps, mapDispatchToProps)(TitleComponent); exports.mkSortableTitle = (title, classNameKey) => (React.createElement(Title, { title: title, classNameKey: classNameKey })); exports.mkUnsortableTitle = (title, classNameKey) => (React.createElement("div", { className: styles[classNameKey] }, title)); //# sourceMappingURL=title.js.map