2

是否有一种方便的方法是使用 JavaScript 检查具有给定报告名称的报告是否存在?

按照这个关于如何显示报告的官方指南,我设法用 URL 中给出的名称显示报告。如果给定的报告名称与报告不匹配,我会收到错误消息:

Could not open successfully the report 'fake-name' (The report '/shared/fake-name.icc-report (null)' does not exists.)

因此,如果报告不存在,我想重定向用户,为此我需要一个函数,它可以根据报告名称给我 true 或 false。

有什么办法可以做到这一点?

谢谢。:)

4

1 回答 1

3

我建议使用这些选项来访问 openReport 回调:

var options = {

        root: ic3root,
        rootLocal: ic3rootLocal,
        imagesPath: 'images',

        //librariesMode:'dev',

        callback: function () {

            $('#intro').remove();

            var ic3reporting = new ic3.Reporting(
                    {
                        noticesLevel: ic3.NoticeLevel.ERROR,

                        dsSettings: {
                            url: "http://<your_domain>/icCube/gvi"
                        }
                    });

            ic3reporting.setupGVIConfiguration(function () {
                ic3reporting.setupApplication(
                        {
                            mode: ic3.MainReportMode.REPORTING,
                            hideTopPanel: true,
                            noticesLevel: ic3.NoticeLevel.ERROR,
                            container: $("#container")
                        });

                ic3reporting.openReport({
                    report: {
                        name: 'shared/report23'
                    }
                }, function (reportState) {
                    var reportExists = _.isEmpty(ic3reporting.reportName());
                })

            });
        }
    };

    ic3ready(options);

如果“reportExists”等于 false,您可能需要重定向用户

于 2017-03-27T10:32:33.463 回答