Skip to content

Commit 7673015

Browse files
committed
fix(master): rels path for images coming with autoImportSlideMasters
1 parent 01577d2 commit 7673015

File tree

7 files changed

+23
-10
lines changed

7 files changed

+23
-10
lines changed
534 KB
Binary file not shown.

src/classes/master.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@ import { Chart } from '../shapes/chart';
2828
import { GenericShape } from '../shapes/generic';
2929
import { ContentTracker } from '../helper/content-tracker';
3030
import IArchive from '../interfaces/iarchive';
31+
32+
import { vd } from '../helper/general-helper';
3133
import { IMaster } from '../interfaces/imaster';
3234
import { XmlRelationshipHelper } from '../helper/xml-relationship-helper';
33-
import { vd } from '../helper/general-helper';
3435

3536
export class Master implements IMaster {
3637
/**

src/classes/slide.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ import { Chart } from '../shapes/chart';
2828
import { GenericShape } from '../shapes/generic';
2929
import { ContentTracker } from '../helper/content-tracker';
3030
import IArchive from '../interfaces/iarchive';
31-
import { XmlRelationshipHelper } from '../helper/xml-relationship-helper';
3231
import { last, vd } from '../helper/general-helper';
3332
import { Master } from './master';
33+
import { XmlRelationshipHelper } from '../helper/xml-relationship-helper';
3434
import { IMaster } from '../interfaces/imaster';
3535

3636
export class Slide implements ISlide {
@@ -270,16 +270,22 @@ export class Slide implements ISlide {
270270
this.sourceArchive,
271271
sourceLayoutId,
272272
);
273-
274273
await this.targetTemplate.automizer.addMaster(templateName, sourceMasterId);
275274

276275
const previouslyAddedMaster = last<IMaster>(this.targetTemplate.masters);
277-
await this.targetTemplate.appendMasterSlide(previouslyAddedMaster);
276+
277+
await this.targetTemplate
278+
.appendMasterSlide(previouslyAddedMaster)
279+
.catch((e) => {
280+
throw e;
281+
});
282+
278283
const alreadyImported = this.targetTemplate.getMappedContent(
279284
'slideLayout',
280285
templateName,
281286
sourceLayoutId,
282287
);
288+
283289
return alreadyImported.targetId;
284290
}
285291

src/classes/template.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ import { XmlHelper } from '../helper/xml-helper';
1111
import { ContentTracker } from '../helper/content-tracker';
1212
import IArchive from '../interfaces/iarchive';
1313
import { ArchiveParams } from '../types/types';
14-
import { IMaster } from '../interfaces/imaster';
14+
1515
import Automizer from '../automizer';
16+
import { IMaster } from '../interfaces/imaster';
1617

1718
export class Template implements ITemplate {
1819
/**
@@ -138,15 +139,19 @@ export class Template implements ITemplate {
138139
await this.initializeCounter();
139140
}
140141

141-
await slideMaster.append(this);
142+
await slideMaster.append(this).catch((e) => {
143+
throw e;
144+
});
142145
}
143146

144147
async appendSlide(slide: ISlide): Promise<void> {
145148
if (this.counter[0].get() === undefined) {
146149
await this.initializeCounter();
147150
}
148151

149-
await slide.append(this);
152+
await slide.append(this).catch((e) => {
153+
throw e;
154+
});
150155
}
151156

152157
async countExistingSlides(): Promise<void> {

src/dev.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,13 @@ const run = async () => {
3434

3535
const pres = await automizer
3636
.loadRoot(`EmptyTemplate.pptx`)
37+
.load('SlideMasters.pptx')
3738
.load('SlidesWithAdditionalMaster.pptx')
3839

3940
// We can disable .addMaster according to "autoImportSlideMasters: true"
4041
// .addMaster('SlidesWithAdditionalMaster.pptx', 1)
4142

42-
.addSlide('SlidesWithAdditionalMaster.pptx', 3, (slide) => {
43+
.addSlide('SlideMasters.pptx', 3, (slide) => {
4344
// We can also disable "slide.useSlideLayout()"
4445
// with "autoImportSlideMasters: true"
4546
// slide.useSlideLayout();

src/interfaces/root-pres-template.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { ISlide } from './islide';
22
import { ICounter } from './icounter';
33
import { ITemplate } from './itemplate';
44
import { ContentTracker } from '../helper/content-tracker';
5-
import { IMaster } from './imaster';
65
import Automizer from '../automizer';
6+
import { IMaster } from './imaster';
77

88
export interface RootPresTemplate extends ITemplate {
99
slides: ISlide[];

src/shapes/image.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ export class Image extends Shape implements IImage {
128128
}
129129

130130
async appendToSlideRels(): Promise<HelperElement> {
131-
const targetRelFile = `ppt/slides/_rels/slide${this.targetSlideNumber}.xml.rels`;
131+
const targetRelFile = `ppt/${this.targetType}s/_rels/${this.targetType}${this.targetSlideNumber}.xml.rels`;
132132
this.createdRid = await XmlHelper.getNextRelId(
133133
this.targetArchive,
134134
targetRelFile,

0 commit comments

Comments
 (0)