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 [stateAutoUpdate, setAutoUpdate] = useState(!stateDisplayText ? true : false);
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' &&
{
setLink(event.target.value);
if(stateAutoUpdate && !displayDisabled) 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);
setAutoUpdate(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};