import React, {Fragment, useState} from 'react'; import {Page, Navbar, BlockTitle, List, ListItem, ListInput, ListButton, Icon} from 'framework7-react'; import { useTranslation } from 'react-i18next'; import {Device} from "../../../../../common/mobile/utils/device"; const PageTypeLink = ({curType, changeType}) => { const { t } = useTranslation(); const _t = t('View.Add', {returnObjects: true}); const [typeLink, setTypeLink] = useState(curType); return ( {setTypeLink('ext'); changeType('ext');}}> {setTypeLink('int'); changeType('int');}}> ) }; const PageSheet = ({curSheet, sheets, changeSheet}) => { const { t } = useTranslation(); const _t = t('View.Add', {returnObjects: true}); const [stateSheet, setSheet] = useState(curSheet.value); return ( {sheets.map((sheet) => { return( { setSheet(sheet.value); changeSheet(sheet); }} /> ) })} ) }; const AddLinkView = props => { const isIos = Device.ios; const { t } = useTranslation(); const _t = t('View.Add', {returnObjects: true}); const [typeLink, setTypeLink] = useState('ext'); const textType = typeLink === 'ext' ? _t.textExternalLink : _t.textInternalDataRange; const changeType = (newType) => { setTypeLink(newType); }; const [link, setLink] = useState(''); let displayText = props.displayText; const displayDisabled = displayText === 'locked'; displayText = displayDisabled ? _t.textSelectedRange : displayText; const [stateDisplayText, setDisplayText] = useState(displayText); const [screenTip, setScreenTip] = useState(''); const activeSheet = props.activeSheet; const [curSheet, setSheet] = useState(activeSheet); const changeSheet = (sheet) => { setSheet(sheet); }; const [range, setRange] = useState(''); return ( {props.allowInternal && } {typeLink === 'ext' && { if (link.includes('https://')) { setDisplayText(link) } setLink(event.target.value) setDisplayText(event.target.value) }} className={isIos ? 'list-input-right' : ''} /> } {typeLink === 'int' && } {typeLink === 'int' && {setRange(event.target.value)}} className={isIos ? 'list-input-right' : ''} /> } {setDisplayText(event.target.value)}} className={isIos ? 'list-input-right' : ''} /> {setScreenTip(event.target.value)}} className={isIos ? 'list-input-right' : ''} /> {props.onInsertLink(typeLink === 'ext' ? {type: 'ext', url: link, text: stateDisplayText, tooltip: screenTip} : {type: 'int', url: range, sheet: curSheet.caption, text: stateDisplayText, tooltip: screenTip})}} /> ) }; const AddLink = props => { const { t } = useTranslation(); const _t = t('View.Add', {returnObjects: true}); return ( props.inTabs ? : ) }; export {AddLink, PageTypeLink, PageSheet};