local storage garbage collector + delete older tabs

This commit is contained in:
Jan Prochazka
2020-10-10 18:25:14 +02:00
parent a07d99c731
commit 74d3407048
3 changed files with 45 additions and 1 deletions

View File

@@ -2,6 +2,22 @@ import React from 'react';
import _ from 'lodash';
import moment from 'moment';
import { getIconImage } from '../icons';
import { DropDownMenuItem } from '../modals/DropDownMenu';
function Menu({ data, setOpenedTabs }) {
const handleDelete = () => {
setOpenedTabs((tabs) => tabs.filter((x) => x.tabid != data.tabid));
};
const handleDeleteOlder = () => {
setOpenedTabs((tabs) => tabs.filter((x) => !x.closedTime || x.closedTime >= data.closedTime));
};
return (
<>
<DropDownMenuItem onClick={handleDelete}>Delete</DropDownMenuItem>
<DropDownMenuItem onClick={handleDeleteOlder}>Delete older</DropDownMenuItem>
</>
);
}
const closedTabAppObject = () => ({ tabid, props, selected, icon, title, closedTime, busy }, { setOpenedTabs }) => {
const key = tabid;
@@ -18,7 +34,7 @@ const closedTabAppObject = () => ({ tabid, props, selected, icon, title, closedT
);
};
return { title: `${title} ${moment(closedTime).fromNow()}`, key, Icon, isBold, onClick, isBusy: busy };
return { title: `${title} ${moment(closedTime).fromNow()}`, key, Icon, isBold, onClick, isBusy: busy, Menu };
};
export default closedTabAppObject;