import React from 'react'; import { List, ListItem, Toggle, Page, Navbar, NavRight, Link } from 'framework7-react'; import { SearchController, SearchView, SearchSettingsView } from '../../../../common/mobile/lib/controller/Search'; import { f7 } from 'framework7-react'; import { withTranslation } from 'react-i18next'; import { Device } from '../../../../common/mobile/utils/device'; class SearchSettings extends SearchSettingsView { constructor(props) { super(props); } extraSearchOptions() { const anc_markup = super.extraSearchOptions(); const show_popover = !Device.phone; const { t } = this.props; const _t = t("View.Settings", {returnObjects: true}); const markup = ( {!show_popover && {_t.textDone} } this.onFindReplaceClick('find')} /> this.onFindReplaceClick('replace')} /> this.onFindReplaceClick('replace-all')}> ); return {...anc_markup, ...markup}; } } class PESearchView extends SearchView { constructor(props) { super(props); } searchParams() { let params = super.searchParams(); const checkboxCaseSensitive = f7.toggle.get('.toggle-case-sensitive'); const searchOptions = { caseSensitive: checkboxCaseSensitive.checked, }; return {...params, ...searchOptions}; } onSearchbarShow(isshowed, bar) { super.onSearchbarShow(isshowed, bar); } } const Search = withTranslation()(props => { const { t } = props; const _t = t('View.Settings', {returnObjects: true}); const onSearchQuery = params => { const api = Common.EditorApi.get(); if (params.find && params.find.length) { if (!api.findText(params.find, params.forward, params.caseSensitive) ) { f7.dialog.alert(null, _t.textNoTextFound); } } }; const onReplaceQuery = params => { const api = Common.EditorApi.get(); if (params.find && params.find.length) { api.asc_replaceText(params.find, params.replace || '', false, params.caseSensitive); } } const onReplaceAllQuery = params => { const api = Common.EditorApi.get(); if (params.find && params.find.length) { api.asc_replaceText(params.find, params.replace || '', true, params.caseSensitive); } } return }); const SearchSettingsWithTranslation = withTranslation()(SearchSettings); export {Search, SearchSettingsWithTranslation as SearchSettings}