跨不同视图(页面)维护PptxGenJS对象

时间:2017-06-29 10:36:41

标签: javascript jquery asp.net-mvc asp.net-mvc-4

我在我的项目中使用PptxGenJS.js,其中包含跨各种仪表板(页面/视图)的图表,

我有一个特定的要求,一旦用户将图形(SVG image)作为幻灯片添加到PptxGenJS对象,它应该在整个应用程序中维护,直到用户点击导出ppt。

请仔细阅读以下说明,以便更好地理解。

我初始化PptxGenJS中的layout.cshtml对象,这对所有视图都是通用的。

var thispptx = new PptxGenJS();

现在在每个视图中,有多个图表,当用户点击Add To PPT按钮时,如下所示,

enter image description here

幻灯片已添加到PPT

SVG文件被添加到先前创建的PptxGenJS对象中。

    $('#Chart1PPTId').click(function () 
{
  var pptslide1 = CreateSlide("#barChartz1", "bar",thispptx,CustomlabeltextForPPT);
});
function CreateSlide(divId, ChartType,pptx,SearchCriteria) {
        var slide = pptx.addNewSlide()
        var svg;
        if (ChartType != "guage") {
            svg = EntryPoint.getChartsvg(divId);
        }
        else {
            svg = EntryPoint.getGuageChartsvg(divId);
        }
        var DOMURL = window.URL || window.webkitURL || window;
        var svgBlob = new Blob([svg], { type: 'image/svg+xml;charset=utf-8' });
        var url = DOMURL.createObjectURL(svgBlob);
        slide.addImage({ path: url, x: 0.5, y: 0.5, w: 9.0, h: 4.5});
        slide.addText('Search Criteria : ' + SearchCriteria, { x: 0.1, y: 5.2, font_size: 12, color: '363636' });
        return slide
    }

现在,在向PptxGenJS对象添加多张幻灯片后,用户将点击Export to PPT按钮,将其导出为PowerPoint演示文稿。

enter image description here

所以我的问题是所有这些在当前页面/视图中都能正常工作。

但是我的要求是在所有视图中保持相同的PptxGenJS对象,这是目前无法实现的,因为我在布局中初始化了PptxGenJS对象,该对象为每个页面/视图加载(因此为每个视图创建了一个新的PptxGenJS对象)视图/页)

有没有更好的方法来处理我的这种情况?

0 个答案:

没有答案