@@ -9,7 +9,10 @@ import {
99} from '../types/types' ;
1010import { RootPresTemplate } from '../interfaces/root-pres-template' ;
1111import { HelperElement , XmlDocument , XmlElement } from '../types/xml-types' ;
12- import { ImageTypeMap } from '../enums/image-type-map' ;
12+ import {
13+ ContentTypeExtension ,
14+ ContentTypeMap ,
15+ } from '../enums/content-type-map' ;
1316import { ElementSubtype } from '../enums/element-type' ;
1417import IArchive from '../interfaces/iarchive' ;
1518
@@ -23,7 +26,7 @@ export class Shape {
2326 sourceNumber : number ;
2427 sourceFile : string ;
2528 sourceRid : string ;
26- sourceElement : XmlDocument ;
29+ sourceElement : XmlElement ;
2730
2831 targetFile : string ;
2932 targetArchive : IArchive ;
@@ -39,13 +42,13 @@ export class Shape {
3942 relAttribute : string ;
4043 relParent : ( element : XmlElement ) => XmlElement ;
4144
42- targetElement : XmlDocument ;
45+ targetElement : XmlElement ;
4346 targetType : ShapeTargetType ;
4447 target : Target ;
4548
4649 callbacks : ShapeModificationCallback [ ] ;
4750 hasCreationId : boolean ;
48- contentTypeMap : typeof ImageTypeMap ;
51+ contentTypeMap : typeof ContentTypeMap ;
4952 subtype : ElementSubtype ;
5053
5154 constructor ( shape : ImportedElement , targetType : ShapeTargetType ) {
@@ -60,7 +63,7 @@ export class Shape {
6063 this . hasCreationId = shape . hasCreationId ;
6164
6265 this . callbacks = GeneralHelper . arrayify ( shape . callback ) ;
63- this . contentTypeMap = ImageTypeMap ;
66+ this . contentTypeMap = ContentTypeMap ;
6467
6568 if ( shape . target ) {
6669 this . sourceNumber = shape . target . number ;
@@ -84,7 +87,7 @@ export class Shape {
8487 }
8588
8689 async setTargetElement ( ) : Promise < void > {
87- this . targetElement = this . sourceElement . cloneNode ( true ) as XmlDocument ;
90+ this . targetElement = this . sourceElement . cloneNode ( true ) as XmlElement ;
8891 }
8992
9093 async appendToSlideTree ( ) : Promise < void > {
@@ -128,7 +131,7 @@ export class Shape {
128131 this . name ,
129132 ) ;
130133
131- if ( ! sourceElementOnTargetSlide ) {
134+ if ( ! sourceElementOnTargetSlide ?. parentNode ) {
132135 console . error ( `Can't modify slide tree for ${ this . name } ` ) ;
133136 return ;
134137 }
@@ -195,8 +198,8 @@ export class Shape {
195198
196199 applyCallbacks (
197200 callbacks : ShapeModificationCallback [ ] ,
198- element : XmlDocument ,
199- arg1 ?: XmlDocument ,
201+ element : XmlElement | XmlDocument ,
202+ arg1 ?: XmlElement | XmlDocument ,
200203 arg2 ?: Workbook ,
201204 ) : void {
202205 callbacks . forEach ( ( callback ) => {
@@ -210,7 +213,9 @@ export class Shape {
210213 } ) ;
211214 }
212215
213- appendImageExtensionToContentType ( extension ) : Promise < XmlElement | boolean > {
216+ appendImageExtensionToContentType (
217+ extension : ContentTypeExtension ,
218+ ) : Promise < XmlElement | boolean > {
214219 return XmlHelper . appendImageExtensionToContentType (
215220 this . targetArchive ,
216221 extension ,
0 commit comments