[bug] fix bug 78719

This commit is contained in:
Sergey Luzyanin
2025-11-25 06:46:46 +03:00
parent 03affa555d
commit 052cc052bb
3 changed files with 52 additions and 14 deletions

View File

@ -56,15 +56,24 @@
func.call = async function (params) { func.call = async function (params) {
Asc.scope.slideNum = params.slideNumber; Asc.scope.slideNum = params.slideNumber;
await Asc.Editor.callCommand(function () { let data = await Asc.Editor.callCommand(function () {
let presentation = Api.GetPresentation(); let presentation = Api.GetPresentation();
let slide = presentation.GetSlideByIndex(Asc.scope.slideNum - 1); let slide = presentation.GetSlideByIndex(Asc.scope.slideNum - 1);
if (!slide) if (!slide)
slide = presentation.GetCurrentSlide(); slide = presentation.GetCurrentSlide();
if (slide) { if (!slide) {
slide.Delete(); return null;
} }
let curSlideIdx = presentation.GetCurSlideIndex();
let slideIdx = slide.GetSlideIndex();
slide.Delete();
return {"curSlideIdx": curSlideIdx, "slideIdx": slideIdx};
}); });
if (data) {
if (data["slideIdx"] <= data["curSlideIdx"]) {
await Asc.Editor.callMethod("GoToSlide", [data["curSlideIdx"]]);
}
}
}; };
return func; return func;
})(); })();

View File

@ -55,14 +55,24 @@
func.call = async function (params) { func.call = async function (params) {
Asc.scope.slideNum = params.slideNumber; Asc.scope.slideNum = params.slideNumber;
let data = await Asc.Editor.callCommand(function () {
await Asc.Editor.callCommand(function () {
let presentation = Api.GetPresentation(); let presentation = Api.GetPresentation();
let slide = presentation.GetSlideByIndex(Asc.scope.slideNum - 1); let slide = presentation.GetSlideByIndex(Asc.scope.slideNum - 1);
if (slide) { if (!slide)
let newSlide = slide.Duplicate(Asc.scope.slideNum); slide = presentation.GetCurrentSlide();
if (!slide) {
return null;
} }
let slideIdx = slide.GetSlideIndex();
if (slide) {
slide.Duplicate(slideIdx + 1);
return {"idx": slideIdx + 1};
}
return null;
}); });
if (data) {
await Asc.Editor.callMethod("GoToSlide", [data["idx"] + 1]);
}
}; };
return func; return func;
})(); })();

View File

@ -1667,15 +1667,24 @@ HELPERS.slide.push((function(){
func.call = async function (params) { func.call = async function (params) {
Asc.scope.slideNum = params.slideNumber; Asc.scope.slideNum = params.slideNumber;
await Asc.Editor.callCommand(function () { let data = await Asc.Editor.callCommand(function () {
let presentation = Api.GetPresentation(); let presentation = Api.GetPresentation();
let slide = presentation.GetSlideByIndex(Asc.scope.slideNum - 1); let slide = presentation.GetSlideByIndex(Asc.scope.slideNum - 1);
if (!slide) if (!slide)
slide = presentation.GetCurrentSlide(); slide = presentation.GetCurrentSlide();
if (slide) { if (!slide) {
slide.Delete(); return null;
} }
let curSlideIdx = presentation.GetCurSlideIndex();
let slideIdx = slide.GetSlideIndex();
slide.Delete();
return {"curSlideIdx": curSlideIdx, "slideIdx": slideIdx};
}); });
if (data) {
if (data["slideIdx"] <= data["curSlideIdx"]) {
await Asc.Editor.callMethod("GoToSlide", [data["curSlideIdx"]]);
}
}
}; };
return func; return func;
})()); })());
@ -1704,14 +1713,24 @@ HELPERS.slide.push((function(){
func.call = async function (params) { func.call = async function (params) {
Asc.scope.slideNum = params.slideNumber; Asc.scope.slideNum = params.slideNumber;
let data = await Asc.Editor.callCommand(function () {
await Asc.Editor.callCommand(function () {
let presentation = Api.GetPresentation(); let presentation = Api.GetPresentation();
let slide = presentation.GetSlideByIndex(Asc.scope.slideNum - 1); let slide = presentation.GetSlideByIndex(Asc.scope.slideNum - 1);
if (slide) { if (!slide)
let newSlide = slide.Duplicate(Asc.scope.slideNum); slide = presentation.GetCurrentSlide();
if (!slide) {
return null;
} }
let slideIdx = slide.GetSlideIndex();
if (slide) {
slide.Duplicate(slideIdx + 1);
return {"idx": slideIdx + 1};
}
return null;
}); });
if (data) {
await Asc.Editor.callMethod("GoToSlide", [data["idx"] + 1]);
}
}; };
return func; return func;
})()); })());