diff --git a/apps/spreadsheeteditor/mobile/src/controller/Main.jsx b/apps/spreadsheeteditor/mobile/src/controller/Main.jsx index bdedc8af0..d6d8ba376 100644 --- a/apps/spreadsheeteditor/mobile/src/controller/Main.jsx +++ b/apps/spreadsheeteditor/mobile/src/controller/Main.jsx @@ -516,9 +516,6 @@ class MainController extends Component { storeSpreadsheetInfo.changeTitle(meta.title); } }); - - const storeAppOptions = this.props.storeAppOptions; - this.api.asc_setFilteringMode && this.api.asc_setFilteringMode(storeAppOptions.canModifyFilter); } onEntriesListMenu(validation, textArr, addArr) { diff --git a/apps/spreadsheeteditor/mobile/src/controller/add/AddFilter.jsx b/apps/spreadsheeteditor/mobile/src/controller/add/AddFilter.jsx index e9efe41cc..3ce81725c 100644 --- a/apps/spreadsheeteditor/mobile/src/controller/add/AddFilter.jsx +++ b/apps/spreadsheeteditor/mobile/src/controller/add/AddFilter.jsx @@ -24,6 +24,9 @@ class AddFilterController extends Component { componentDidMount () { const api = Common.EditorApi.get(); + const appOptions = this.props.storeAppOptions; + + api.asc_setFilteringMode && api.asc_setFilteringMode(appOptions.canModifyFilter); api.asc_registerCallback('asc_onError', this.uncheckedFilter); } @@ -108,7 +111,8 @@ class AddFilterController extends Component { const api = Common.EditorApi.get(); const formatTableInfo = api.asc_getCellInfo().asc_getFormatTableInfo(); const tablename = (formatTableInfo) ? formatTableInfo.asc_getTableName() : undefined; - if (checked) { + + if (checked || tablename) { api.asc_addAutoFilter(); } else { api.asc_changeAutoFilter(tablename, Asc.c_oAscChangeFilterOptions.filter, checked); @@ -127,4 +131,4 @@ class AddFilterController extends Component { } } -export default inject("storeWorksheets")(observer(withTranslation()(AddFilterController))); \ No newline at end of file +export default inject("storeWorksheets", "storeAppOptions")(observer(withTranslation()(AddFilterController))); \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/src/view/add/AddFilter.jsx b/apps/spreadsheeteditor/mobile/src/view/add/AddFilter.jsx index 049fd73da..19d45a651 100644 --- a/apps/spreadsheeteditor/mobile/src/view/add/AddFilter.jsx +++ b/apps/spreadsheeteditor/mobile/src/view/add/AddFilter.jsx @@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next'; const AddSortAndFilter = props => { const { t } = useTranslation(); const _t = t('View.Add', {returnObjects: true}); - const isFilter = props.isFilter; + const [isFilter, setIsFilter] = useState(props.isFilter); const wsLock = props.wsLock; return ( @@ -27,7 +27,11 @@ const AddSortAndFilter = props => { props.onInsertFilter(!isFilter)}/> + onToggleChange={() => { + setIsFilter(!isFilter); + props.onInsertFilter(!isFilter)} + } + /> }