@@ -40,6 +40,7 @@ import { OLEObject } from '../shapes/ole';
4040import { Hyperlink } from '../shapes/hyperlink' ;
4141import { HyperlinkProcessor } from '../helper/hyperlink-processor' ;
4242import { vd } from '../helper/general-helper' ;
43+ import { Diagram } from '../shapes/diagram' ;
4344
4445export default class HasShapes {
4546 /**
@@ -125,6 +126,8 @@ export default class HasShapes {
125126 */
126127 unsupportedTags = [
127128 'p:custDataLst' ,
129+ // exclude bullet images
130+ // 'a:buBlip',
128131 // 'p:oleObj',
129132 // 'mc:AlternateContent',
130133 // 'a14:imgProps',
@@ -888,6 +891,19 @@ export default class HasShapes {
888891 ) . modifyOnAddedSlide ( this . targetTemplate , this . targetNumber ) ;
889892 }
890893
894+ const diagrams = await Diagram . getAllOnSlide ( this . sourceArchive , this . relsPath ) ;
895+ for ( const diagram of diagrams ) {
896+ await new Diagram (
897+ {
898+ mode : 'append' ,
899+ target : diagram ,
900+ sourceArchive : this . sourceArchive ,
901+ sourceSlideNumber : this . sourceNumber ,
902+ } ,
903+ this . targetType ,
904+ ) . modifyOnAddedSlide ( this . targetTemplate , this . targetNumber ) ;
905+ }
906+
891907 const oleObjects = await OLEObject . getAllOnSlide (
892908 this . sourceArchive ,
893909 this . relsPath ,
@@ -994,6 +1010,19 @@ export default class HasShapes {
9941010 } as AnalyzedElementType ;
9951011 }
9961012
1013+ const isDiagram = sourceElement . getElementsByTagName ( 'p:nvGraphicFramePr' ) ;
1014+ if ( isDiagram . length ) {
1015+ return {
1016+ type : ElementType . Diagram ,
1017+ target : await XmlHelper . getTargetByRelId (
1018+ sourceArchive ,
1019+ relsPath ,
1020+ sourceElement ,
1021+ 'diagram' ,
1022+ ) ,
1023+ } as AnalyzedElementType ;
1024+ }
1025+
9971026 const isOLEObject = sourceElement . getElementsByTagName ( 'p:oleObj' ) ;
9981027 if ( isOLEObject . length ) {
9991028 const target = await XmlHelper . getTargetByRelId (
0 commit comments