[SSE mobile] Correct protection sheet v.2
This commit is contained in:
		
							parent
							
								
									d1072fd3f9
								
							
						
					
					
						commit
						1508b2ee64
					
				| 
						 | 
					@ -409,33 +409,29 @@ class MainController extends Component {
 | 
				
			||||||
        const storeWorksheets = this.props.storeWorksheets;
 | 
					        const storeWorksheets = this.props.storeWorksheets;
 | 
				
			||||||
        let props = this.getWSProps(true);
 | 
					        let props = this.getWSProps(true);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
        storeWorksheets.setWorksheetProtection(props);
 | 
					        storeWorksheets.setWsProps(props);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    getWSProps(update) {
 | 
					    getWSProps(update) {
 | 
				
			||||||
        const storeAppOptions = this.props.storeAppOptions;
 | 
					        const storeAppOptions = this.props.storeAppOptions;
 | 
				
			||||||
        let protection = {};
 | 
					        let wsProps = {};
 | 
				
			||||||
        if (!storeAppOptions.config || !storeAppOptions.isEdit && !storeAppOptions.isRestrictedEdit) return;
 | 
					        if (!storeAppOptions.config || !storeAppOptions.isEdit && !storeAppOptions.isRestrictedEdit) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (update) {
 | 
					        if (update) {
 | 
				
			||||||
            let wsProtected = !!this.api.asc_isProtectedSheet();
 | 
					            let wsProtected = !!this.api.asc_isProtectedSheet();
 | 
				
			||||||
            let arr = {};
 | 
					 | 
				
			||||||
            if (wsProtected) {
 | 
					            if (wsProtected) {
 | 
				
			||||||
                // arr = [];
 | 
					 | 
				
			||||||
                let props = this.api.asc_getProtectedSheet();
 | 
					                let props = this.api.asc_getProtectedSheet();
 | 
				
			||||||
                props && this.wsLockOptions.forEach(function(item){
 | 
					                props && this.wsLockOptions.forEach(function(item){
 | 
				
			||||||
                    arr[item] = props['asc_get' + item] ? props['asc_get' + item]() : false;
 | 
					                    wsProps[item] = props['asc_get' + item] ? props['asc_get' + item]() : false;
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                this.wsLockOptions.forEach(function(item){
 | 
					                this.wsLockOptions.forEach(function(item){
 | 
				
			||||||
                    arr[item] = false;
 | 
					                    wsProps[item] = false;
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					 | 
				
			||||||
            protection = {wsLock: wsProtected, wsProps: arr};
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return protection;
 | 
					        return wsProps;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _onLongActionEnd(type, id) {
 | 
					    _onLongActionEnd(type, id) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,7 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeSpreadsheetIn
 | 
				
			||||||
    const _t = t("Toolbar", { returnObjects: true });
 | 
					    const _t = t("Toolbar", { returnObjects: true });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const storeWorksheets = props.storeWorksheets;
 | 
					    const storeWorksheets = props.storeWorksheets;
 | 
				
			||||||
    const worksheetProtection = storeWorksheets.worksheetProtection;
 | 
					    const wsProps = storeWorksheets.wsProps;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const appOptions = props.storeAppOptions;
 | 
					    const appOptions = props.storeAppOptions;
 | 
				
			||||||
    const isDisconnected = props.users.isDisconnected;
 | 
					    const isDisconnected = props.users.isDisconnected;
 | 
				
			||||||
| 
						 | 
					@ -157,7 +157,7 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeSpreadsheetIn
 | 
				
			||||||
                     showEditDocument={showEditDocument}
 | 
					                     showEditDocument={showEditDocument}
 | 
				
			||||||
                     onEditDocument={onEditDocument}
 | 
					                     onEditDocument={onEditDocument}
 | 
				
			||||||
                     isDisconnected={isDisconnected}
 | 
					                     isDisconnected={isDisconnected}
 | 
				
			||||||
                     worksheetProtection={worksheetProtection}
 | 
					                     wsProps={wsProps}
 | 
				
			||||||
                     focusOn={focusOn}
 | 
					                     focusOn={focusOn}
 | 
				
			||||||
        />
 | 
					        />
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -89,9 +89,7 @@ class MainPage extends Component {
 | 
				
			||||||
  render() {
 | 
					  render() {
 | 
				
			||||||
      const appOptions = this.props.storeAppOptions;
 | 
					      const appOptions = this.props.storeAppOptions;
 | 
				
			||||||
      const storeWorksheets = this.props.storeWorksheets;
 | 
					      const storeWorksheets = this.props.storeWorksheets;
 | 
				
			||||||
      const worksheetProtection = storeWorksheets.worksheetProtection;
 | 
					      const wsProps = storeWorksheets.wsProps;
 | 
				
			||||||
      const wsLock = worksheetProtection.wsLock;
 | 
					 | 
				
			||||||
      const wsProps = worksheetProtection.wsProps;
 | 
					 | 
				
			||||||
      const config = appOptions.config;
 | 
					      const config = appOptions.config;
 | 
				
			||||||
      const showLogo = !(appOptions.canBrandingExt && (config.customization && (config.customization.loaderName || config.customization.loaderLogo)));
 | 
					      const showLogo = !(appOptions.canBrandingExt && (config.customization && (config.customization.loaderName || config.customization.loaderLogo)));
 | 
				
			||||||
      const showPlaceholder = !appOptions.isDocReady && (!config.customization || !(config.customization.loaderName || config.customization.loaderLogo));
 | 
					      const showPlaceholder = !appOptions.isDocReady && (!config.customization || !(config.customization.loaderName || config.customization.loaderLogo));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,8 +38,8 @@ export class storeWorksheets {
 | 
				
			||||||
            isProtectedWorkbook: observable,
 | 
					            isProtectedWorkbook: observable,
 | 
				
			||||||
            setProtectedWorkbook: action,
 | 
					            setProtectedWorkbook: action,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            worksheetProtection: observable,
 | 
					            wsProps: observable,
 | 
				
			||||||
            setWorksheetProtection: action
 | 
					            setWsProps: action
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        this.sheets = [];
 | 
					        this.sheets = [];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -101,8 +101,8 @@ export class storeWorksheets {
 | 
				
			||||||
        this.isProtectedWorkbook = value;
 | 
					        this.isProtectedWorkbook = value;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    worksheetProtection = {wsLock: false, wsProps: ''};
 | 
					    wsProps;
 | 
				
			||||||
    setWorksheetProtection(value) {
 | 
					    setWsProps(value) {
 | 
				
			||||||
        this.worksheetProtection = value;
 | 
					        this.wsProps = value;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,7 +5,7 @@ import EditorUIController from '../lib/patch'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ToolbarView = props => {
 | 
					const ToolbarView = props => {
 | 
				
			||||||
    const isDisconnected = props.isDisconnected;
 | 
					    const isDisconnected = props.isDisconnected;
 | 
				
			||||||
    const worksheetProtection = props.worksheetProtection;
 | 
					    const wsProps = props.wsProps;
 | 
				
			||||||
    const focusOn = props.focusOn;
 | 
					    const focusOn = props.focusOn;
 | 
				
			||||||
    const undo_box = props.isEdit && EditorUIController.toolbarOptions ? EditorUIController.toolbarOptions.getUndoRedo({
 | 
					    const undo_box = props.isEdit && EditorUIController.toolbarOptions ? EditorUIController.toolbarOptions.getUndoRedo({
 | 
				
			||||||
            disabledUndo: !props.isCanUndo || isDisconnected,
 | 
					            disabledUndo: !props.isCanUndo || isDisconnected,
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,7 @@ const ToolbarView = props => {
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                {props.isEdit && EditorUIController.toolbarOptions && EditorUIController.toolbarOptions.getEditOptions({
 | 
					                {props.isEdit && EditorUIController.toolbarOptions && EditorUIController.toolbarOptions.getEditOptions({
 | 
				
			||||||
                    disabled: props.disabledEditControls || props.disabledControls || isDisconnected,
 | 
					                    disabled: props.disabledEditControls || props.disabledControls || isDisconnected,
 | 
				
			||||||
                    worksheetProtection,
 | 
					                    wsProps,
 | 
				
			||||||
                    focusOn,
 | 
					                    focusOn,
 | 
				
			||||||
                    onEditClick: () => props.openOptions('edit'),
 | 
					                    onEditClick: () => props.openOptions('edit'),
 | 
				
			||||||
                    onAddClick: () => props.openOptions('add')
 | 
					                    onAddClick: () => props.openOptions('add')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,9 +12,7 @@ const EditCell = props => {
 | 
				
			||||||
    const _t = t('View.Edit', {returnObjects: true});
 | 
					    const _t = t('View.Edit', {returnObjects: true});
 | 
				
			||||||
    const storeCellSettings = props.storeCellSettings;
 | 
					    const storeCellSettings = props.storeCellSettings;
 | 
				
			||||||
    const storeWorksheets = props.storeWorksheets;
 | 
					    const storeWorksheets = props.storeWorksheets;
 | 
				
			||||||
    const worksheetProtection = storeWorksheets.worksheetProtection;
 | 
					    const wsProps = storeWorksheets.wsProps;
 | 
				
			||||||
    const wsLock = worksheetProtection.wsLock;
 | 
					 | 
				
			||||||
    const wsProps = worksheetProtection.wsProps;
 | 
					 | 
				
			||||||
    const cellStyles = storeCellSettings.cellStyles;
 | 
					    const cellStyles = storeCellSettings.cellStyles;
 | 
				
			||||||
    const styleName = storeCellSettings.styleName;
 | 
					    const styleName = storeCellSettings.styleName;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,7 +42,7 @@ const EditCell = props => {
 | 
				
			||||||
                    onFontSize: props.onFontSize,
 | 
					                    onFontSize: props.onFontSize,
 | 
				
			||||||
                    onFontClick: props.onFontClick
 | 
					                    onFontClick: props.onFontClick
 | 
				
			||||||
                }}/>
 | 
					                }}/>
 | 
				
			||||||
                {(!wsLock || !wsProps.FormatCells) && 
 | 
					                {!wsProps.FormatCells && 
 | 
				
			||||||
                <>
 | 
					                <>
 | 
				
			||||||
                    <List>
 | 
					                    <List>
 | 
				
			||||||
                        <ListItem className='buttons'>
 | 
					                        <ListItem className='buttons'>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -198,9 +198,7 @@ const PageSpreadsheetSettings = props => {
 | 
				
			||||||
    const _t = t('View.Settings', {returnObjects: true});
 | 
					    const _t = t('View.Settings', {returnObjects: true});
 | 
				
			||||||
    const storeSpreadsheetSettings = props.storeSpreadsheetSettings;
 | 
					    const storeSpreadsheetSettings = props.storeSpreadsheetSettings;
 | 
				
			||||||
    const storeWorksheets = props.storeWorksheets;
 | 
					    const storeWorksheets = props.storeWorksheets;
 | 
				
			||||||
    const worksheetProtection = storeWorksheets.worksheetProtection;
 | 
					    const wsProps = storeWorksheets.wsProps;
 | 
				
			||||||
    const wsLock = worksheetProtection.wsLock;
 | 
					 | 
				
			||||||
    const wsProps = worksheetProtection.wsProps;
 | 
					 | 
				
			||||||
    const isPortrait = storeSpreadsheetSettings.isPortrait;
 | 
					    const isPortrait = storeSpreadsheetSettings.isPortrait;
 | 
				
			||||||
    const isHideHeadings = storeSpreadsheetSettings.isHideHeadings;
 | 
					    const isHideHeadings = storeSpreadsheetSettings.isHideHeadings;
 | 
				
			||||||
    const isHideGridlines = storeSpreadsheetSettings.isHideGridlines;
 | 
					    const isHideGridlines = storeSpreadsheetSettings.isHideGridlines;
 | 
				
			||||||
| 
						 | 
					@ -257,7 +255,7 @@ const PageSpreadsheetSettings = props => {
 | 
				
			||||||
                </ListItem>
 | 
					                </ListItem>
 | 
				
			||||||
            </List>
 | 
					            </List>
 | 
				
			||||||
            <List>
 | 
					            <List>
 | 
				
			||||||
                <ListItem title={_t.textColorSchemes} className={wsLock && wsProps.FormatCells ? 'disabled' : ''} link="/color-schemes/" routeProps={{
 | 
					                <ListItem title={_t.textColorSchemes} className={wsProps.FormatCells ? 'disabled' : ''} link="/color-schemes/" routeProps={{
 | 
				
			||||||
                    onColorSchemeChange: props.onColorSchemeChange,
 | 
					                    onColorSchemeChange: props.onColorSchemeChange,
 | 
				
			||||||
                    initPageColorSchemes: props.initPageColorSchemes
 | 
					                    initPageColorSchemes: props.initPageColorSchemes
 | 
				
			||||||
                }}></ListItem>
 | 
					                }}></ListItem>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue