@@ -3,9 +3,8 @@ import PptxGenJS from 'pptxgenjs';
33import fs from 'fs' ;
44import { ISlide } from '../../interfaces/islide' ;
55import Automizer from '../../automizer' ;
6- import { GenerateElements } from '../../types/types' ;
6+ import { GenerateElements , SupportedPptxGenJSSlide } from '../../types/types' ;
77import { IGenerator } from '../../interfaces/igenerator' ;
8- import { vd } from '../general-helper' ;
98
109export default class GeneratePptxGenJs implements IGenerator {
1110 tmpFile : string ;
@@ -51,8 +50,7 @@ export default class GeneratePptxGenJs implements IGenerator {
5150 generateElement . objectName = generateElement . objectName || randomUUID ( ) ;
5251 generateElement . tmpSlideNumber = this . countSlides ;
5352 generateElement . callback (
54- pgenSlide ,
55- generateElement . objectName ,
53+ this . supportedSlideItems ( pgenSlide , generateElement . objectName ) ,
5654 this . generator ,
5755 ) ;
5856 slide . addElement (
@@ -63,6 +61,37 @@ export default class GeneratePptxGenJs implements IGenerator {
6361 } ) ;
6462 }
6563
64+ supportedSlideItems = (
65+ pgenSlide : PptxGenJS . Slide ,
66+ objectName : string ,
67+ ) : SupportedPptxGenJSSlide => {
68+ return {
69+ addChart : ( type , data , options ) => {
70+ pgenSlide . addChart ( type , data , this . getOptions ( options , objectName ) ) ;
71+ } ,
72+ addImage : ( options ) => {
73+ pgenSlide . addImage ( this . getOptions ( options , objectName ) ) ;
74+ } ,
75+ addShape : ( shapeName , options ?) => {
76+ pgenSlide . addShape ( shapeName , this . getOptions ( options , objectName ) ) ;
77+ } ,
78+ addTable : ( tableRows , options ?) => {
79+ pgenSlide . addTable ( tableRows , this . getOptions ( options , objectName ) ) ;
80+ } ,
81+ addText : ( text , options ?) => {
82+ pgenSlide . addText ( text , this . getOptions ( options , objectName ) ) ;
83+ } ,
84+ } ;
85+ } ;
86+
87+ getOptions = ( options , objectName ) => {
88+ options = options || { } ;
89+ return {
90+ ...options ,
91+ objectName,
92+ } ;
93+ } ;
94+
6695 appendPptxGenSlide ( ) : PptxGenJS . Slide {
6796 return this . generator . addSlide ( ) ;
6897 }
0 commit comments