hostenv_adobesvg.js
资源名称:oa.rar [点击查看]
上传用户:kimgenplus
上传日期:2016-06-05
资源大小:20877k
文件大小:10k
源码类别:
OA系统
开发平台:
Java
- /*
- Copyright (c) 2004-2006, The Dojo Foundation
- All Rights Reserved.
- Licensed under the Academic Free License version 2.1 or above OR the
- modified BSD license. For more information on Dojo licensing, see:
- http://dojotoolkit.org/community/licensing.shtml
- */
- if (typeof window == "undefined") {
- dojo.raise("attempt to use adobe svg hostenv when no window object");
- }
- with (dojo.render) {
- name = navigator.appName;
- ver = parseFloat(navigator.appVersion, 10);
- switch (navigator.platform) {
- case "MacOS":
- os.osx = true;
- break;
- case "Linux":
- os.linux = true;
- break;
- case "Windows":
- os.win = true;
- break;
- default:
- os.linux = true;
- break;
- }
- svg.capable = true;
- svg.support.builtin = true;
- svg.adobe = true;
- }
- dojo.hostenv.println = function (s) {
- try {
- var ti = document.createElement("text");
- ti.setAttribute("x", "50");
- var yPos = 25 + 15 * document.getElementsByTagName("text").length;
- ti.setAttribute("y", yPos);
- var tn = document.createTextNode(s);
- ti.appendChild(tn);
- document.documentElement.appendChild(ti);
- }
- catch (e) {
- }
- };
- dojo.debug = function () {
- if (!djConfig.isDebug) {
- return;
- }
- var args = arguments;
- if (typeof dojo.hostenv.println != "function") {
- dojo.raise("attempt to call dojo.debug when there is no dojo.hostenv println implementation (yet?)");
- }
- var isJUM = dj_global["jum"];
- var s = isJUM ? "" : "DEBUG: ";
- for (var i = 0; i < args.length; ++i) {
- s += args[i];
- }
- if (isJUM) {
- jum.debug(s);
- } else {
- dojo.hostenv.println(s);
- }
- };
- dojo.hostenv.startPackage("dojo.hostenv");
- dojo.hostenv.name_ = "adobesvg";
- dojo.hostenv.anonCtr = 0;
- dojo.hostenv.anon = {};
- dojo.hostenv.nameAnonFunc = function (anonFuncPtr, namespaceObj) {
- var ret = "_" + this.anonCtr++;
- var nso = (namespaceObj || this.anon);
- while (typeof nso[ret] != "undefined") {
- ret = "_" + this.anonCtr++;
- }
- nso[ret] = anonFuncPtr;
- return ret;
- };
- dojo.hostenv.modulesLoadedFired = false;
- dojo.hostenv.modulesLoadedListeners = [];
- dojo.hostenv.getTextStack = [];
- dojo.hostenv.loadUriStack = [];
- dojo.hostenv.loadedUris = [];
- dojo.hostenv.modulesLoaded = function () {
- if (this.modulesLoadedFired) {
- return;
- }
- if ((this.loadUriStack.length == 0) && (this.getTextStack.length == 0)) {
- if (this.inFlightCount > 0) {
- dojo.debug("couldn't initialize, there are files still in flight");
- return;
- }
- this.modulesLoadedFired = true;
- var mll = this.modulesLoadedListeners;
- for (var x = 0; x < mll.length; x++) {
- mll[x]();
- }
- }
- };
- dojo.hostenv.getNewAnonFunc = function () {
- var ret = "_" + this.anonCtr++;
- while (typeof this.anon[ret] != "undefined") {
- ret = "_" + this.anonCtr++;
- }
- eval("dojo.nostenv.anon." + ret + " = function(){};");
- return [ret, this.anon[ret]];
- };
- dojo.hostenv.displayStack = function () {
- var oa = [];
- var stack = this.loadUriStack;
- for (var x = 0; x < stack.length; x++) {
- oa.unshift([stack[x][0], (typeof stack[x][2])]);
- }
- dojo.debug("<pre>" + oa.join("n") + "</pre>");
- };
- dojo.hostenv.unwindUriStack = function () {
- var stack = this.loadUriStack;
- for (var x in dojo.hostenv.loadedUris) {
- for (var y = stack.length - 1; y >= 0; y--) {
- if (stack[y][0] == x) {
- stack.splice(y, 1);
- }
- }
- }
- var next = stack.pop();
- if ((!next) && (stack.length == 0)) {
- return;
- }
- for (var x = 0; x < stack.length; x++) {
- if ((stack[x][0] == next[0]) && (stack[x][2])) {
- next[2] == stack[x][2];
- }
- }
- var last = next;
- while (dojo.hostenv.loadedUris[next[0]]) {
- last = next;
- next = stack.pop();
- }
- while (typeof next[2] == "string") {
- try {
- dj_eval(next[2]);
- next[1](true);
- }
- catch (e) {
- dojo.debug("we got an error when loading " + next[0]);
- dojo.debug("error: " + e);
- }
- dojo.hostenv.loadedUris[next[0]] = true;
- dojo.hostenv.loadedUris.push(next[0]);
- last = next;
- next = stack.pop();
- if ((!next) && (stack.length == 0)) {
- break;
- }
- while (dojo.hostenv.loadedUris[next[0]]) {
- last = next;
- next = stack.pop();
- }
- }
- if (next) {
- stack.push(next);
- dojo.debug("### CHOKED ON: " + next[0]);
- }
- };
- dojo.hostenv.loadUri = function (uri, cb) {
- if (dojo.hostenv.loadedUris[uri]) {
- return;
- }
- var stack = this.loadUriStack;
- stack.push([uri, cb, null]);
- var tcb = function (contents) {
- if (contents.content) {
- contents = contents.content;
- }
- var next = stack.pop();
- if ((!next) && (stack.length == 0)) {
- dojo.hostenv.modulesLoaded();
- return;
- }
- if (typeof contents == "string") {
- stack.push(next);
- for (var x = 0; x < stack.length; x++) {
- if (stack[x][0] == uri) {
- stack[x][2] = contents;
- }
- }
- next = stack.pop();
- }
- if (dojo.hostenv.loadedUris[next[0]]) {
- dojo.hostenv.unwindUriStack();
- return;
- }
- stack.push(next);
- if (next[0] != uri) {
- if (typeof next[2] == "string") {
- dojo.hostenv.unwindUriStack();
- }
- } else {
- if (!contents) {
- next[1](false);
- } else {
- var deps = dojo.hostenv.getDepsForEval(next[2]);
- if (deps.length > 0) {
- eval(deps.join(";"));
- } else {
- dojo.hostenv.unwindUriStack();
- }
- }
- }
- };
- this.getText(uri, tcb, true);
- };
- dojo.hostenv.loadModule = function (modulename, exact_only, omit_module_check) {
- var module = this.findModule(modulename, 0);
- if (module) {
- return module;
- }
- if (typeof this.loading_modules_[modulename] !== "undefined") {
- dojo.debug("recursive attempt to load module '" + modulename + "'");
- } else {
- this.addedToLoadingCount.push(modulename);
- }
- this.loading_modules_[modulename] = 1;
- var relpath = modulename.replace(/./g, "/") + ".js";
- var syms = modulename.split(".");
- var nsyms = modulename.split(".");
- if (syms[0] == "dojo") {
- syms[0] = "src";
- }
- var last = syms.pop();
- syms.push(last);
- var _this = this;
- var pfn = this.pkgFileName;
- if (last == "*") {
- modulename = (nsyms.slice(0, -1)).join(".");
- var module = this.findModule(modulename, 0);
- if (module) {
- _this.removedFromLoadingCount.push(modulename);
- return module;
- }
- var nextTry = function (lastStatus) {
- if (lastStatus) {
- module = _this.findModule(modulename, false);
- if ((!module) && (syms[syms.length - 1] != pfn)) {
- dojo.raise("Module symbol '" + modulename + "' is not defined after loading '" + relpath + "'");
- }
- if (module) {
- _this.removedFromLoadingCount.push(modulename);
- dojo.hostenv.modulesLoaded();
- return;
- }
- }
- syms.pop();
- syms.push(pfn);
- relpath = syms.join("/") + ".js";
- if (relpath.charAt(0) == "/") {
- relpath = relpath.slice(1);
- }
- _this.loadPath(relpath, ((!omit_module_check) ? modulename : null), nextTry);
- };
- nextTry();
- } else {
- relpath = syms.join("/") + ".js";
- modulename = nsyms.join(".");
- var nextTry = function (lastStatus) {
- if (lastStatus) {
- module = _this.findModule(modulename, false);
- if ((!module) && (syms[syms.length - 1] != pfn)) {
- dojo.raise("Module symbol '" + modulename + "' is not defined after loading '" + relpath + "'");
- }
- if (module) {
- _this.removedFromLoadingCount.push(modulename);
- dojo.hostenv.modulesLoaded();
- return;
- }
- }
- var setPKG = (syms[syms.length - 1] == pfn) ? false : true;
- syms.pop();
- if (setPKG) {
- syms.push(pfn);
- }
- relpath = syms.join("/") + ".js";
- if (relpath.charAt(0) == "/") {
- relpath = relpath.slice(1);
- }
- _this.loadPath(relpath, ((!omit_module_check) ? modulename : null), nextTry);
- };
- this.loadPath(relpath, ((!omit_module_check) ? modulename : null), nextTry);
- }
- return;
- };
- dojo.hostenv.async_cb = null;
- dojo.hostenv.unWindGetTextStack = function () {
- if (dojo.hostenv.inFlightCount > 0) {
- setTimeout("dojo.hostenv.unWindGetTextStack()", 100);
- return;
- }
- dojo.hostenv.inFlightCount++;
- var next = dojo.hostenv.getTextStack.pop();
- if ((!next) && (dojo.hostenv.getTextStack.length == 0)) {
- dojo.hostenv.inFlightCount--;
- dojo.hostenv.async_cb = function () {
- };
- return;
- }
- dojo.hostenv.async_cb = next[1];
- window.getURL(next[0], function (result) {
- dojo.hostenv.inFlightCount--;
- dojo.hostenv.async_cb(result.content);
- dojo.hostenv.unWindGetTextStack();
- });
- };
- dojo.hostenv.getText = function (uri, async_cb, fail_ok) {
- try {
- if (async_cb) {
- dojo.hostenv.getTextStack.push([uri, async_cb, fail_ok]);
- dojo.hostenv.unWindGetTextStack();
- } else {
- return dojo.raise("No synchronous XMLHTTP implementation available, for uri " + uri);
- }
- }
- catch (e) {
- return dojo.raise("No XMLHTTP implementation available, for uri " + uri);
- }
- };
- dojo.hostenv.postText = function (uri, async_cb, text, fail_ok, mime_type, encoding) {
- var http = null;
- var async_callback = function (httpResponse) {
- if (!httpResponse.success) {
- dojo.raise("Request for uri '" + uri + "' resulted in " + httpResponse.status);
- }
- if (!httpResponse.content) {
- if (!fail_ok) {
- dojo.raise("Request for uri '" + uri + "' resulted in no content");
- }
- return null;
- }
- async_cb(httpResponse.content);
- };
- try {
- if (async_cb) {
- http = window.postURL(uri, text, async_callback, mimeType, encoding);
- } else {
- return dojo.raise("No synchronous XMLHTTP post implementation available, for uri " + uri);
- }
- }
- catch (e) {
- return dojo.raise("No XMLHTTP post implementation available, for uri " + uri);
- }
- };
- function dj_last_script_src() {
- var scripts = window.document.getElementsByTagName("script");
- if (scripts.length < 1) {
- dojo.raise("No script elements in window.document, so can't figure out my script src");
- }
- var li = scripts.length - 1;
- var xlinkNS = "http://www.w3.org/1999/xlink";
- var src = null;
- var script = null;
- while (!src) {
- script = scripts.item(li);
- src = script.getAttributeNS(xlinkNS, "href");
- li--;
- if (li < 0) {
- break;
- }
- }
- if (!src) {
- dojo.raise("Last script element (out of " + scripts.length + ") has no src");
- }
- return src;
- }
- if (!dojo.hostenv["library_script_uri_"]) {
- dojo.hostenv.library_script_uri_ = dj_last_script_src();
- }
- dojo.requireIf((djConfig["isDebug"] || djConfig["debugAtAllCosts"]), "dojo.debug");