mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-26 16:46:00 +00:00
recently closed tabs
This commit is contained in:
24
packages/web/src/appobj/closedTabAppObject.js
Normal file
24
packages/web/src/appobj/closedTabAppObject.js
Normal file
@@ -0,0 +1,24 @@
|
||||
import React from 'react';
|
||||
import _ from 'lodash';
|
||||
import moment from 'moment';
|
||||
import { getIconImage } from '../icons';
|
||||
|
||||
const closedTabAppObject = () => ({ tabid, props, selected, icon, title, closedTime, busy }, { setOpenedTabs }) => {
|
||||
const key = tabid;
|
||||
const Icon = (props) => getIconImage(icon, props);
|
||||
const isBold = !!selected;
|
||||
|
||||
const onClick = () => {
|
||||
setOpenedTabs((files) =>
|
||||
files.map((x) => ({
|
||||
...x,
|
||||
selected: x.tabid == tabid,
|
||||
closedTime: x.tabid == tabid ? undefined : x.closedTime,
|
||||
}))
|
||||
);
|
||||
};
|
||||
|
||||
return { title: `${title} ${moment(closedTime).fromNow()}`, key, Icon, isBold, onClick, isBusy: busy };
|
||||
};
|
||||
|
||||
export default closedTabAppObject;
|
||||
Reference in New Issue
Block a user