@git-temporal/git-temporal-react
Version:
<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
52 lines (51 loc) • 2.71 kB
JavaScript
;
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importStar(require("react"));
const react_redux_1 = require("react-redux");
const styles_1 = require("app/styles");
const selectors_1 = require("app/selectors");
const RadioMenuItem_1 = require("app/components/RadioMenuItem");
const ActionMenu_1 = require("app/components/ActionMenu");
const actions_1 = require("app/actions");
const ActionTypes_1 = require("app/actions/ActionTypes");
const containerStyle = {
_extends: 'normalText',
position: 'absolute',
right: 10,
};
class FilesActionMenu extends react_1.Component {
constructor() {
super(...arguments);
this.state = { isMenuOpen: false };
this.onMenuToggle = () => {
this.setState({ isMenuOpen: !this.state.isMenuOpen });
};
}
render() {
const { filesContainerSort } = this.props;
return (react_1.default.createElement(ActionMenu_1.ActionMenu, { style: styles_1.style(containerStyle), isMenuOpen: this.state.isMenuOpen, onMenuToggle: this.onMenuToggle },
react_1.default.createElement("div", { style: styles_1.style('h5Text') }, "Sort by"),
react_1.default.createElement(RadioMenuItem_1.RadioMenuItem, { testId: "sortTime", onClick: () => {
this.sortFiles(ActionTypes_1.FilesContainerSorts.TIME);
}, isSelected: filesContainerSort === ActionTypes_1.FilesContainerSorts.TIME }, "by time"),
react_1.default.createElement(RadioMenuItem_1.RadioMenuItem, { testId: "sortCommits", onClick: () => {
this.sortFiles(ActionTypes_1.FilesContainerSorts.COMMITS);
}, isSelected: filesContainerSort === ActionTypes_1.FilesContainerSorts.COMMITS }, "by number of commits"),
react_1.default.createElement(RadioMenuItem_1.RadioMenuItem, { testId: "sortLines", onClick: () => {
this.sortFiles(ActionTypes_1.FilesContainerSorts.LINES);
}, isSelected: filesContainerSort === ActionTypes_1.FilesContainerSorts.LINES }, "by lines changed")));
}
sortFiles(newFilesContainerSort) {
this.props.dispatch(actions_1.setFilesContainerSort(newFilesContainerSort));
this.setState({ isMenuOpen: false });
}
}
exports.FilesActionMenu = FilesActionMenu;
exports.default = react_redux_1.connect(selectors_1.getFilesActionMenuState)(FilesActionMenu);