📄 cms.js
字号:
/*
* Copyright 2001-2007 Hippo (www.hippo.nl)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function WebApp() {
if(!Cfx.Class.IsDefined(WebApp)) {
Cfx.Class.New(WebApp, baseComponent);
if(Cfx.Class.IsInitializing(WebApp)) {
WebApp.Method(init);
WebApp.Method(initialized);
WebApp.Method(queueAsBusy);
WebApp.Method(unqueueAsBusy);
WebApp.Method(setPointer);
WebApp.Method(resetPointer);
return;
}
}
// Setup instance data.
this.InitInstance();
this.waitingqueue = 0;
// Return instance.
return this;
function init() {
if(this.log.debugging()) {
this.log.debug("Initializing WebApp");
}
//Register self as event listener
this.sm.lookup("framework.eventmanager").addEventListener(this);
this.initServices();
//TODO: some deprecated code still uses the global workbench reference. Refactor!
workbench = this.sm.lookup("cms.workbench");
}
function initialized(){
return this.sm.lookup("cms.workbench").initialized();
}
function queueAsBusy(win) {
if (++this.waitingqueue == 1) {
var focusWindow = win
this.setPointer(window);
}
}
function unqueueAsBusy() {
this.waitingqueue = 0;
this.resetPointer(window);
}
function setPointer(win) {
document.getElementById('waitImage').style.visibility = "visible";
//[TODO] Zolang queue onder nul kan, wil dit wel eens mis gaan
for (var j=0;j < win.frames.length; j++) {
try {
if (win.frames[j].document.body != null) {
win.frames[j].document.body.previouscursor = win.frames[j].document.body.style.cursor;
win.frames[j].document.body.style.cursor = 'wait';
}
if (win.frames[j].frames.length) {
this.setPointer(win.frames[j]);
}
} catch(e) {
/*
An exception "Permission denied to get property HTMLDocument.body" can occur
if a perspective contains a custom iframe which has a page on a different
domain loaded. We need not set the cursor for this iframe so the exception
can be ignored safely.
*/
}
}
}
function resetPointer(win) {
document.getElementById('waitImage').style.visibility = "hidden";
for (var j=0;j < win.frames.length; j++) {
try{
if (win.frames[j].document.body != null) { //FIXME: cannot get body of iframe!!
if (win.frames[j].document.body.previouscursor) {
win.frames[j].document.body.style.cursor = win.frames[j].document.body.previouscursor;
}
else {
win.frames[j].document.body.style.cursor = 'default';
}
}
if (win.frames[j].frames.length) {
this.resetPointer(win.frames[j]); //FIXME: cannot get body of iframe!!
}
}catch(e){}
}
tmpmouseinit = false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -