import React, { Fragment, useEffect, useState } from 'react'; import {f7, View, Link, Icon, Popover, Navbar, NavRight, List, ListGroup, ListItem, ListButton, Actions, ActionsGroup, ActionsButton, Sheet, Page } from 'framework7-react'; import { useTranslation } from 'react-i18next'; import { Device } from '../../../../common/mobile/utils/device'; import { inject, observer } from 'mobx-react'; import { ThemeColorPalette, CustomColorPicker } from '../../../../common/mobile/lib/component/ThemeColorPalette.jsx'; const viewStyle = { height: 30 }; const PageListMove = props => { const { t } = useTranslation(); const { sheets, onMenuMoveClick } = props; const allSheets = sheets.sheets; return ( { allSheets.map((model, index) => model.hidden ? null : onMenuMoveClick(index)} />) } onMenuMoveClick(-255)}/> ) }; const PageAllList = (props) => { const { t } = useTranslation(); const { sheets, onTabListClick } = props; const allSheets = sheets.sheets; const heightView = Device.android ? allSheets.length * 48 : allSheets.length * 44; useEffect(() => { const tabs = $$('.sheet-tabs .tab'); let tab = tabs.eq(sheets.activeWorksheet); if(sheets.activeWorksheet !== -1) { if(tab.length === 0) { tab = tabs.eq(tabs.length - 1); $$('.sheet-tabs').scrollLeft( tab.offset().left + tab.width(), 500); } else if(tab.offset().left < 0) { $$('.sheet-tabs').scrollLeft( $$('.sheet-tabs').scrollLeft() + tab.offset().left - 96, 500); } else { $$('.sheet-tabs').scrollLeft( $$('.sheet-tabs').scrollLeft() + (tab.offset().left + tab.width() - $$('.sheet-tabs').width()), 500); } } }, [sheets.activeWorksheet]); return ( 240 ? '240px' : `${heightView}px`}}> {allSheets.map((model, sheetIndex) => onTabListClick(sheetIndex)}> {model.hidden ?
{t('Statusbar.textHidden')}
: null}
) }
) }; const PageCustomTabColor = inject("storePalette")(observer (props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); const onAddNewColor = (colors, color) => { props.storePalette.changeCustomColors(colors); props.onSetWorkSheetColor(color); props.sheets.changeTabColor(color); props.f7router.back(); }; return ( {Device.phone && } ) })); const PageTabColor = inject("storePalette")(observer(props => { const { t } = useTranslation(); const {sheets, allSheets = sheets.sheets} = props; const storePalette = props.storePalette; const customColors = storePalette.customColors; const activeIndex = sheets.activeWorksheet; useEffect(() => { if (allSheets.length !== 0) { let color = sheets.at(activeIndex).color; if(color !== null) { sheets.changeTabColor('' + Common.Utils.ThemeColor.getHexColor(color.get_r(), color.get_g(), color.get_b())); } else { sheets.changeTabColor('transparent'); } } }, [activeIndex]); const changeColor = (color, effectId, effectValue) => { if (color !== 'empty') { if (effectId !== undefined ) { sheets.changeTabColor(color); props.onSetWorkSheetColor(color); } else { sheets.changeTabColor(color); props.onSetWorkSheetColor(color); } Device.isPhone ? f7.sheet.close('.tab-color-sheet') : f7.popover.close('#idx-tab-color-popover'); } else { f7.views.tabColorView.router.navigate('/sheet-tab-custom-color/', {props:{onSetWorkSheetColor: props.onSetWorkSheetColor, sheets}}); } }; return ( {Device.phone && } { allSheets.length !== 0 && } ) })); const PopoverAllList = (props) => { const {sheets, onTabListClick} = props; const onScrollList = () => { const listHeight = $$('.list .item-list').height(); $$('.all-list .page-content').scrollTop(listHeight*sheets.activeWorksheet); }; return ( ) }; const StatusbarView = inject('storeAppOptions', 'sheets', 'users')(observer(props => { const { t } = useTranslation(); const _t = t('Statusbar', {returnObjects: true}); const isAndroid = Device.android; const isPhone = Device.isPhone; const {sheets, storeAppOptions, users} = props; const allSheets = sheets.sheets; const hiddenSheets = sheets.hiddenWorksheets(); const isWorkbookLocked = sheets.isWorkbookLocked; const isProtectedWorkbook = sheets.isProtectedWorkbook; const isEdit = storeAppOptions.isEdit; const isDisconnected = users.isDisconnected; const isDisabledEditSheet = sheets.isDisabledEditSheet; return ( {isEdit &&
f7.popover.open('#idx-all-list', e.target)}>
}
    {allSheets.map((model,i) => model.hidden ? null :
  • props.onTabClick(i, e.target)}> {model.name}
  • )}
{isEdit ? {isPhone || isAndroid ? ( props.onTabMenu('copy')} /> props.onTabMenu('del')} /> props.onTabMenu('showMore')} /> ) : ( props.onTabMenu('copy')} /> props.onTabMenu('del')} /> props.onTabMenu('ren')} /> props.onTabMenu('hide')} /> props.onTabMenu('move')} /> props.onTabMenu('tab-color')} /> {hiddenSheets.length ? ( props.onTabMenu('unhide')} /> ) : null} )} : null} {isPhone || isAndroid ? ( props.onTabMenu('ren')}>{_t.textRename} props.onTabMenu('hide')}>{_t.textHide} props.onTabMenu('move')}>{_t.textMove} props.onTabMenu('tab-color')}>{_t.textTabColor} {hiddenSheets.length ? ( props.onTabMenu('unhide')}>{_t.textUnhide} ) : null} {_t.textCancel} ) : null} { } {isPhone ?
: } { isPhone ? { f7.navbar.show('.main-navbar'); $$('.statusbar').css('top', '0%'); }}> : } {hiddenSheets.length ? ( {hiddenSheets.map(sheet => { return ( props.onTabMenu(`reveal:${sheet.index}`)} /> ) })} ) : null}
) })); const routes = [ { path: '/sheet-tab-custom-color/', component: PageCustomTabColor }, ]; export {StatusbarView};