| window.org_eclipse_osbp_utils_vaadin_saiku_SaikuRenderer = function() { |
| |
| // Replace the normal jQuery getScript function with one that supports |
| // debugging and which references the script files as external resources |
| // rather than inline. |
| /* */ jQuery.extend({ |
| getScript: function(url, callback) { |
| var head = document.getElementsByTagName("head")[0]; |
| var script = document.createElement("script"); |
| script.src = url; |
| |
| // Handle Script loading |
| { |
| var done = false; |
| |
| // Attach handlers for all browsers |
| script.onload = script.onreadystatechange = function(){ |
| if ( !done && (!this.readyState || |
| this.readyState == "loaded" || this.readyState == "complete") ) { |
| done = true; |
| if (callback) |
| callback(); |
| |
| // Handle memory leak in IE |
| script.onload = script.onreadystatechange = null; |
| } |
| }; |
| } |
| |
| head.appendChild(script); |
| |
| // We handle everything using the script element injection |
| return undefined; |
| } |
| }); |
| |
| |
| // saikuCreationCode = ""; |
| |
| //setCreationCode(this.getState().saikuCreationCode); |
| //this.onStateChange = function() { |
| // setCreationCode(this.getState().saikuCreationCode); |
| //} |
| |
| //eval(saikuCreationCode); |
| |
| |
| var element = this.getElement(); |
| var root = d3.select(element); |
| root.append("div").attr("id", "header").attr("class", "hide").attr("style", "display:none"); |
| root.append("div").attr("class", "processing_container"); |
| var processingDiv = root.append("div").attr("class", "processing"); |
| var processingInnerDiv = processingDiv.append("div").attr("class", "processing_inner"); |
| processingInnerDiv.append("span").attr("class", "saiku_logo"); |
| var processingContentDiv = processingInnerDiv.append("div").attr("class", "processing_content"); |
| processingContentDiv.append("span").attr("class", "processing_image").text("\ \;"); |
| processingContentDiv.append("span").attr("class", "processing_message i18n").text("Loading..."); |
| |
| |
| var body = d3.select("body") |
| |
| addJQueryTScriptElementToBody(root, "template-toolbar", this.getState().saikuJQueryTemplateToolbarCode); |
| addJQueryTScriptElementToBody(root, "template-upgrade", this.getState().saikuJQueryTemplateUpgradeCode); |
| addJQueryTScriptElementToBody(root, "template-logincount", this.getState().saikuJQueryTemplateLogincountCode); |
| addJQueryTScriptElementToBody(root, "template-cubes", this.getState().saikuJQueryTemplateCubesCode); |
| addJQueryTScriptElementToBody(root, "template-dimensions", this.getState().saikuJQueryTemplateDimensionsCode); |
| addJQueryTScriptElementToBody(root, "template-measures", this.getState().saikuJQueryTemplateMeasuresCode); |
| addJQueryTScriptElementToBody(root, "template-calculated-measures", this.getState().saikuJQueryTemplateCalculatedMeasuresCode); |
| addJQueryTScriptElementToBody(root, "template-calculated-member", this.getState().saikuJQueryTemplateCalculatedMemberCode); |
| addJQueryTScriptElementToBody(root, "template-workspace", this.getState().saikuJQueryTemplateWorkspaceCode); |
| addJQueryTScriptElementToBody(root, "template-attributes", this.getState().saikuJQueryTemplateAttributesCode); |
| addJQueryTScriptElementToBody(root, "template-workspace-dropzones", this.getState().saikuJQueryTemplateWorkspaceDropzonesCode); |
| addJQueryTScriptElementToBody(root, "template-workspace-toolbar", this.getState().saikuJQueryTemplateWorkspaceToolbarCode); |
| addJQueryTScriptElementToBody(root, "template-query-toolbar", this.getState().saikuJQueryTemplateQueryToolbarCode); |
| addJQueryTScriptElementToBody(root, "template-open-dialog", this.getState().saikuJQueryTemplateOpenDialogCode); |
| addJQueryTScriptElementToBody(root, "template-repository-objects", this.getState().saikuJQueryTemplateRepositoryObjectsCode); |
| addJQueryTScriptElementToBody(root, "template-repository-folder", this.getState().saikuJQueryTemplateRepositoryFolderCode); |
| addJQueryTScriptElementToBody(root, "template-folder-lazyload", this.getState().saikuJQueryTemplateRepositoryFolderLazyloadCode); |
| addJQueryTScriptElementToBody(root, "template-repository-file", this.getState().saikuJQueryTemplateRepositoryFileCode); |
| addJQueryTScriptElementToBody(root, "template-selections", this.getState().saikuJQueryTemplateSelectionsCode); |
| addJQueryTScriptElementToBody(root, "template-selections-totals", this.getState().saikuJQueryTemplateSelectionsTotalsCode); |
| addJQueryTScriptElementToBody(root, "template-selections-options", this.getState().saikuJQueryTemplateSelectionsOptionsCode); |
| addJQueryTScriptElementToBody(root, "template-permissions", this.getState().saikuJQueryTemplatePermissionsCode); |
| addJQueryTScriptElementToBody(root, "template-permissions-rolelist", this.getState().saikuJQueryTemplatePermissionsRolelistCode); |
| addJQueryTScriptElementToBody(root, "template-drillthrough", this.getState().saikuJQueryTemplateDrillthroughCode); |
| addJQueryTScriptElementToBody(root, "template-drillacross", this.getState().saikuJQueryTemplateDrillacrossCode); |
| addJQueryTScriptElementToBody(root, "template-drillthrough-list", this.getState().saikuJQueryTemplateDrillthroughListCode); |
| addJQueryTScriptElementToBody(root, "template-drillthrough-dimensions", this.getState().saikuJQueryTemplateDrillthroughDimensionsCode); |
| addJQueryTScriptElementToBody(root, "template-drillthrough-measures", this.getState().saikuJQueryTemplateDrillthroughMeasuresCode); |
| |
| //body.append("script").attr("src", "VAADIN/themes/osbp/plugin/saiku.osgi/resources/js/ga.js").attr("type", "text/javascript") |
| |
| //eval(this.getState().saikuJsJQueryPlaceHolderCode); |
| |
| //root.append("script").attr("type", "text/javascript").text(this.getState().saikuJsJQueryPlaceHolderCode); |
| |
| /*window.document.dispatchEvent(new Event('DOMContentLoaded', { |
| bubbles: true, |
| cancelable: true |
| })); |
| |
| document.addEventListener("DOMContentLoaded", ready); |
| document.addEventListener('readystatechange', () => log('readyState:' + document.readyState));*/ |
| |
| // Use the handy event callback |
| document.addEventListener( "DOMContentLoaded", completed ); |
| |
| // A fallback to window.onload, that will always work |
| window.addEventListener( "load", completed ); |
| jQuery.isReady = false; |
| jQuery.ready(); |
| } |
| |
| // The ready event handler and self cleanup method |
| function completed() { |
| document.removeEventListener( "DOMContentLoaded", completed ); |
| window.removeEventListener( "load", completed ); |
| jQuery.ready(); |
| } |
| |
| function addJQueryTScriptElementToBody(element, templateId, code) { |
| element.append("script").attr("id", templateId).attr("type", "text/x-jquery-tmpl").text(code); |
| } |
| |
| function ready() { |
| alert('DOM is ready'); |
| } |
| |
| |
| |