diff --git a/apps/presentationeditor/mobile/src/view/edit/EditChart.jsx b/apps/presentationeditor/mobile/src/view/edit/EditChart.jsx index b39dcdf2e4..d5703f7f00 100644 --- a/apps/presentationeditor/mobile/src/view/edit/EditChart.jsx +++ b/apps/presentationeditor/mobile/src/view/edit/EditChart.jsx @@ -128,31 +128,42 @@ const PageStyle = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); const storeChartSettings = props.storeChartSettings; - const chartProperties = props.storeFocusObjects.chartObject; - + // const chartProperties = props.storeFocusObjects.chartObject; + const chartProperties = props.storeFocusObjects.chartObject ? props.storeFocusObjects.chartObject.get_ChartProperties() : null; + // console.log(chartProperties); const types = storeChartSettings.types; - const curType = chartProperties.getType(); - + // const curType = chartProperties.getType(); + const curType = chartProperties ? chartProperties.getType() : null; const styles = storeChartSettings.styles; - const shapeObject = props.storeFocusObjects.shapeObject; - const shapeStroke = shapeObject.get_stroke(); + + let borderSize, borderType, borderColor; + + if(shapeObject) { + // const shapeStroke = shapeObject.get_stroke(); + const shapeStroke = shapeObject.get_stroke(); + borderSize = shapeStroke.get_width() * 72.0 / 25.4; + borderType = shapeStroke.get_type(); + borderColor = !storeChartSettings.borderColor ? storeChartSettings.initBorderColor(shapeStroke) : storeChartSettings.borderColor; + } // Init border size const borderSizeTransform = storeChartSettings.borderSizeTransform(); - const borderSize = shapeStroke.get_width() * 72.0 / 25.4; - const borderType = shapeStroke.get_type(); - const displayBorderSize = (borderType == Asc.c_oAscStrokeType.STROKE_NONE) ? 0 : borderSizeTransform.indexSizeByValue(borderSize); - const displayTextBorderSize = (borderType == Asc.c_oAscStrokeType.STROKE_NONE) ? 0 : borderSizeTransform.sizeByValue(borderSize); + const displayBorderSize = (borderType == Asc.c_oAscStrokeType.STROKE_NONE || borderType === undefined) ? 0 : borderSizeTransform.indexSizeByValue(borderSize); + const displayTextBorderSize = (borderType == Asc.c_oAscStrokeType.STROKE_NONE || borderType === undefined) ? 0 : borderSizeTransform.sizeByValue(borderSize); const [stateBorderSize, setBorderSize] = useState(displayBorderSize); const [stateTextBorderSize, setTextBorderSize] = useState(displayTextBorderSize); // Init border color - const borderColor = !storeChartSettings.borderColor ? storeChartSettings.initBorderColor(shapeStroke) : storeChartSettings.borderColor; const displayBorderColor = borderColor !== 'transparent' ? `#${(typeof borderColor === "object" ? borderColor.color : borderColor)}` : borderColor; + if (!chartProperties && Device.phone) { + $$('.sheet-modal.modal-in').length > 0 && f7.sheet.close(); + return null; + } + return ( @@ -240,6 +251,13 @@ const PageStyle = props => { const PageReorder = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); + const chartObject = props.storeFocusObjects.chartObject; + + if (!chartObject && Device.phone) { + $$('.sheet-modal.modal-in').length > 0 && f7.sheet.close(); + return null; + } + return ( @@ -264,6 +282,12 @@ const PageReorder = props => { const PageAlign = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); + const chartObject = props.storeFocusObjects.chartObject; + + if (!chartObject && Device.phone) { + $$('.sheet-modal.modal-in').length > 0 && f7.sheet.close(); + return null; + } return ( @@ -331,6 +355,8 @@ const PageChartStyle = inject("storeChartSettings", "storeFocusObjects")(observe const PageChartCustomFillColor = inject("storeChartSettings", "storePalette")(observer(PageCustomFillColor)); const PageChartBorderColor = inject("storeChartSettings", "storePalette")(observer(PageBorderColor)); const PageChartCustomBorderColor = inject("storeChartSettings", "storePalette")(observer(PageCustomBorderColor)); +const PageChartReorder = inject("storeFocusObjects")(observer(PageReorder)); +const PageChartAlign = inject("storeFocusObjects")(observer(PageAlign)); export { EditChart, @@ -338,6 +364,6 @@ export { PageChartCustomFillColor, PageChartBorderColor, PageChartCustomBorderColor, - PageReorder as PageChartReorder, - PageAlign as PageChartAlign + PageChartReorder, + PageChartAlign } \ No newline at end of file diff --git a/apps/presentationeditor/mobile/src/view/edit/EditImage.jsx b/apps/presentationeditor/mobile/src/view/edit/EditImage.jsx index e870aaf99c..e5ca3d134c 100644 --- a/apps/presentationeditor/mobile/src/view/edit/EditImage.jsx +++ b/apps/presentationeditor/mobile/src/view/edit/EditImage.jsx @@ -34,6 +34,12 @@ const EditImage = props => { const PageReorder = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); + const imageObject = props.storeFocusObjects.imageObject; + + if (!imageObject && Device.phone) { + $$('.sheet-modal.modal-in').length > 0 && f7.sheet.close(); + return null; + } return ( @@ -59,6 +65,12 @@ const PageReorder = props => { const PageAlign = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); + const imageObject = props.storeFocusObjects.imageObject; + + if (!imageObject && Device.phone) { + $$('.sheet-modal.modal-in').length > 0 && f7.sheet.close(); + return null; + } return ( @@ -98,6 +110,12 @@ const PageAlign = props => { const PageReplace = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); + const imageObject = props.storeFocusObjects.imageObject; + + if (!imageObject && Device.phone) { + $$('.sheet-modal.modal-in').length > 0 && f7.sheet.close(); + return null; + } return ( diff --git a/apps/presentationeditor/mobile/src/view/edit/EditShape.jsx b/apps/presentationeditor/mobile/src/view/edit/EditShape.jsx index a74448fc44..90d2860e7e 100644 --- a/apps/presentationeditor/mobile/src/view/edit/EditShape.jsx +++ b/apps/presentationeditor/mobile/src/view/edit/EditShape.jsx @@ -8,7 +8,9 @@ import {Device} from '../../../../../common/mobile/utils/device'; const EditShape = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); - const canFill = props.storeFocusObjects.shapeObject.get_CanFill(); + const storeFocusObjects = props.storeFocusObjects; + const shapeObject = storeFocusObjects.shapeObject; + const canFill = shapeObject && shapeObject.get_CanFill(); return ( @@ -82,8 +84,9 @@ const PaletteFill = inject("storeFocusObjects", "storeShapeSettings", "storePale const PageStyle = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); + const storeFocusObjects = props.storeFocusObjects; const storeShapeSettings = props.storeShapeSettings; - const shapeObject = props.storeFocusObjects.shapeObject; + const shapeObject = storeFocusObjects.shapeObject; const stroke = shapeObject.get_stroke(); // Init border size @@ -106,6 +109,11 @@ const PageStyle = props => { const transparent = shapeObject.get_fill().asc_getTransparent(); const opacity = transparent !== null && transparent !== undefined ? transparent / 2.55 : 100; const [stateOpacity, setOpacity] = useState(Math.round(opacity)); + + if ((!shapeObject || storeFocusObjects.chartObject) && Device.phone) { + $$('.sheet-modal.modal-in').length > 0 && f7.sheet.close(); + return null; + } return ( @@ -244,9 +252,16 @@ const PageReplace = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); const storeShapeSettings = props.storeShapeSettings; + const storeFocusObjects = props.storeFocusObjects; + let shapes = storeShapeSettings.getStyleGroups(); shapes.splice(0, 1); // Remove line shapes + if ((!storeFocusObjects.shapeObject || storeFocusObjects.chartObject) && Device.phone) { + $$('.sheet-modal.modal-in').length > 0 && f7.sheet.close(); + return null; + } + return ( @@ -272,6 +287,12 @@ const PageReplace = props => { const PageReorder = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); + const storeFocusObjects = props.storeFocusObjects; + + if ((!storeFocusObjects.shapeObject || storeFocusObjects.chartObject) && Device.phone) { + $$('.sheet-modal.modal-in').length > 0 && f7.sheet.close(); + return null; + } return ( @@ -297,6 +318,12 @@ const PageReorder = props => { const PageAlign = props => { const { t } = useTranslation(); const _t = t('View.Edit', {returnObjects: true}); + const storeFocusObjects = props.storeFocusObjects; + + if ((!storeFocusObjects.shapeObject || storeFocusObjects.chartObject) && Device.phone) { + $$('.sheet-modal.modal-in').length > 0 && f7.sheet.close(); + return null; + } return ( diff --git a/apps/presentationeditor/mobile/src/view/edit/EditTable.jsx b/apps/presentationeditor/mobile/src/view/edit/EditTable.jsx index c177a00819..437e47b3ba 100644 --- a/apps/presentationeditor/mobile/src/view/edit/EditTable.jsx +++ b/apps/presentationeditor/mobile/src/view/edit/EditTable.jsx @@ -422,7 +422,9 @@ const EditTable = props => { - {props.onRemoveTable()}} className='button-red button-fill button-raised'> + + {props.onRemoveTable()}} className='button button-raised button-red'> + { spaceAfter = paragraphObj.get_Spacing().get_After() < 0 ? paragraphObj.get_Spacing().get_After() : Common.Utils.Metric.fnRecalcFromMM(paragraphObj.get_Spacing().get_After()); } - const displayBefore = spaceBefore && spaceBefore < 0 ? _t.textAuto : parseFloat(spaceBefore.toFixed(2)) + ' ' + metricText; - const displayAfter = spaceAfter && spaceAfter < 0 ? _t.textAuto : parseFloat(spaceAfter.toFixed(2)) + ' ' + metricText; + const displayBefore = typeof spaceBefore === 'undefined' || spaceBefore < 0 ? _t.textAuto : parseFloat(spaceBefore.toFixed(2)) + ' ' + metricText; + const displayAfter = typeof spaceAfter === 'undefined' || spaceAfter < 0 ? _t.textAuto : parseFloat(spaceAfter.toFixed(2)) + ' ' + metricText; const fontColorPreview = fontColor !== 'auto' ? : @@ -300,6 +300,7 @@ const PageAdditionalFormatting = props => { const paragraphObj = storeFocusObjects.paragraphObject; const isSuperscript = storeTextSettings.isSuperscript; const isSubscript = storeTextSettings.isSubscript; + let isStrikeout = false; let isDStrikeout = false; let isSmallCaps = false;