Fix functions

This commit is contained in:
Danis
2025-08-15 15:33:59 +04:00
parent c8b6079b31
commit dc03a863f0
2 changed files with 29 additions and 55 deletions

View File

@ -214,52 +214,30 @@ class EditTableController extends Component {
api.tblApply(properties); api.tblApply(properties);
} }
onChangeRowHeight (height, isDecrement) { onChangeTableDimension (type, value, isDecrement) {
const api = Common.EditorApi.get(); const api = Common.EditorApi.get();
const properties = new Asc.CTableProp(); const properties = new Asc.CTableProp();
let step, newHeight;
const maxValue = Common.Utils.Metric.fnRecalcFromMM(558.8); const maxValue = Common.Utils.Metric.fnRecalcFromMM(558.8);
if (Common.Utils.Metric.getCurrentMetric() === Common.Utils.Metric.c_MetricUnits.pt) {
step = 1; const step = Common.Utils.Metric.getCurrentMetric() === Common.Utils.Metric.c_MetricUnits.pt ? 1 : 0.1;
} else { const newValue = isDecrement
step = 0.1; ? Math.max(0, value - step)
: Math.min(maxValue, value + step);
const convertedValue = Common.Utils.Metric.fnRecalcToMM(newValue);
if (type === 'row') {
properties.put_RowHeight(convertedValue);
} else if (type === 'column') {
properties.put_ColumnWidth(convertedValue);
} }
if (isDecrement) {
newHeight = Math.max(-1, height - step)
} else {
newHeight = Math.min(maxValue, height + step);
}
properties.put_RowHeight(Common.Utils.Metric.fnRecalcToMM(newHeight));
api.tblApply(properties); api.tblApply(properties);
} }
onChangeColumnWidth (width, isDecrement) {
const api = Common.EditorApi.get();
const properties = new Asc.CTableProp();
let step, newWidth;
const maxValue = Common.Utils.Metric.fnRecalcFromMM(558.8);
if (Common.Utils.Metric.getCurrentMetric() === Common.Utils.Metric.c_MetricUnits.pt) {
step = 1;
} else {
step = 0.1;
}
if (isDecrement) {
newWidth = Math.max(-1, width - step)
} else {
newWidth = Math.min(maxValue, width + step);
}
properties.put_ColumnWidth(Common.Utils.Metric.fnRecalcToMM(newWidth));
api.tblApply(properties);
}
onDistributeColumns () { onDistributeTable (isColumn) {
const api = Common.EditorApi.get(); const api = Common.EditorApi.get();
api.asc_DistributeTableCells(true) api.asc_DistributeTableCells(isColumn)
}
onDistributeRows () {
const api = Common.EditorApi.get();
api.asc_DistributeTableCells(false)
} }
render () { render () {
@ -283,10 +261,8 @@ class EditTableController extends Component {
onFillColor={this.onFillColor} onFillColor={this.onFillColor}
onBorderTypeClick={this.onBorderTypeClick} onBorderTypeClick={this.onBorderTypeClick}
onGetTableStylesPreviews = {this.onGetTableStylesPreviews} onGetTableStylesPreviews = {this.onGetTableStylesPreviews}
onChangeRowHeight = {this.onChangeRowHeight} onDistributeTable = {this.onDistributeTable}
onChangeColumnWidth = {this.onChangeColumnWidth} onChangeTableDimension = {this.onChangeTableDimension}
onDistributeColumns = {this.onDistributeColumns}
onDistributeRows = {this.onDistributeRows}
/> />
) )
} }

View File

@ -48,8 +48,8 @@ const PageTableOptions = props => {
isResize = storeTableSettings.getResizeOption(tableObject); isResize = storeTableSettings.getResizeOption(tableObject);
rowHeight = Common.Utils.Metric.fnRecalcFromMM(storeTableSettings.getRowHeight(tableObject)); rowHeight = Common.Utils.Metric.fnRecalcFromMM(storeTableSettings.getRowHeight(tableObject));
columnWidth = Common.Utils.Metric.fnRecalcFromMM(storeTableSettings.getColumnWidth(tableObject)); columnWidth = Common.Utils.Metric.fnRecalcFromMM(storeTableSettings.getColumnWidth(tableObject));
displayRowHeight = Number(Common.Utils.Metric.fnRecalcFromMM(storeTableSettings.getRowHeight(tableObject)).toFixed(2)); displayRowHeight = Number(rowHeight.toFixed(2));
displayColumnWidth = Number(Common.Utils.Metric.fnRecalcFromMM(storeTableSettings.getColumnWidth(tableObject)).toFixed(2)); displayColumnWidth = Number(columnWidth.toFixed(2));
} }
const [stateDistance, setDistance] = useState(distance); const [stateDistance, setDistance] = useState(distance);
@ -86,13 +86,13 @@ const PageTableOptions = props => {
{!isAndroid && <div slot='after-start'>{displayRowHeight + ' ' + metricText}</div>} {!isAndroid && <div slot='after-start'>{displayRowHeight + ' ' + metricText}</div>}
<div slot='after'> <div slot='after'>
<Segmented> <Segmented>
<Button outline className='decrement item-link' onClick={() => {props.onChangeRowHeight(rowHeight, true)}}> <Button outline className='decrement item-link' onClick={() => {props.onChangeTableDimension('row', rowHeight, true)}}>
{isAndroid ? {isAndroid ?
<SvgIcon symbolId={IconExpandDownAndroid.id} className={'icon icon-svg'} /> <SvgIcon symbolId={IconExpandDownAndroid.id} className={'icon icon-svg'} />
: ' - '} : ' - '}
</Button> </Button>
{isAndroid && <label>{displayRowHeight + ' ' + metricText}</label>} {isAndroid && <label>{displayRowHeight + ' ' + metricText}</label>}
<Button outline className='increment item-link' onClick={() => {props.onChangeRowHeight(rowHeight, false)}}> <Button outline className='increment item-link' onClick={() => {props.onChangeTableDimension('row', rowHeight, false)}}>
{isAndroid ? {isAndroid ?
<SvgIcon symbolId={IconExpandUp.id} className={'icon icon-svg'} /> <SvgIcon symbolId={IconExpandUp.id} className={'icon icon-svg'} />
: ' + '} : ' + '}
@ -104,13 +104,13 @@ const PageTableOptions = props => {
{!isAndroid && <div slot='after-start'>{displayColumnWidth + ' ' + metricText}</div>} {!isAndroid && <div slot='after-start'>{displayColumnWidth + ' ' + metricText}</div>}
<div slot='after'> <div slot='after'>
<Segmented> <Segmented>
<Button outline className='decrement item-link' onClick={() => {props.onChangeColumnWidth(columnWidth, true)}}> <Button outline className='decrement item-link' onClick={() => {props.onChangeTableDimension('column', columnWidth, true)}}>
{isAndroid ? {isAndroid ?
<SvgIcon symbolId={IconExpandDownAndroid.id} className={'icon icon-svg'} /> <SvgIcon symbolId={IconExpandDownAndroid.id} className={'icon icon-svg'} />
: ' - '} : ' - '}
</Button> </Button>
{isAndroid && <label>{displayColumnWidth + ' ' + metricText}</label>} {isAndroid && <label>{displayColumnWidth + ' ' + metricText}</label>}
<Button outline className='increment item-link' onClick={() => {props.onChangeColumnWidth(columnWidth, false)}}> <Button outline className='increment item-link' onClick={() => {props.onChangeTableDimension('column', columnWidth, false)}}>
{isAndroid ? {isAndroid ?
<SvgIcon symbolId={IconExpandUp.id} className={'icon icon-svg'} /> <SvgIcon symbolId={IconExpandUp.id} className={'icon icon-svg'} />
: ' + '} : ' + '}
@ -120,12 +120,12 @@ const PageTableOptions = props => {
</ListItem> </ListItem>
<ListItem className='buttons'> <ListItem className='buttons'>
<div className="row"> <div className="row">
<a className={'item-link button'} onClick={() => {props.onDistributeColumns()}}> <a className={'item-link button'} onClick={() => {props.onDistributeTable(false)}}>
<SvgIcon slot="media" symbolId={IconDistributeColumns.id} className={'icon icon-svg'} />
</a>
<a className={'item-link button'} onClick={() => {props.onDistributeRows()}}>
<SvgIcon slot="media" symbolId={IconDistributeRows.id} className={'icon icon-svg'} /> <SvgIcon slot="media" symbolId={IconDistributeRows.id} className={'icon icon-svg'} />
</a> </a>
<a className={'item-link button'} onClick={() => {props.onDistributeTable(true)}}>
<SvgIcon slot="media" symbolId={IconDistributeColumns.id} className={'icon icon-svg'} />
</a>
</div> </div>
</ListItem> </ListItem>
</List> </List>
@ -689,10 +689,8 @@ const EditTable = props => {
onCellMargins: props.onCellMargins, onCellMargins: props.onCellMargins,
onOptionResize: props.onOptionResize, onOptionResize: props.onOptionResize,
onOptionRepeat: props.onOptionRepeat, onOptionRepeat: props.onOptionRepeat,
onChangeRowHeight: props.onChangeRowHeight, onDistributeTable: props.onDistributeTable,
onChangeColumnWidth: props.onChangeColumnWidth, onChangeTableDimension: props.onChangeTableDimension,
onDistributeColumns: props.onDistributeColumns,
onDistributeRows: props.onDistributeRows
}}></ListItem> }}></ListItem>
<ListItem title={_t.textStyle} link='/edit-table-style/' routeProps={{ <ListItem title={_t.textStyle} link='/edit-table-style/' routeProps={{
onStyleClick: props.onStyleClick, onStyleClick: props.onStyleClick,