Commit 98e06996 authored by huqi's avatar huqi
Browse files

整理web项目

parent b6d534e5
Showing with 1251 additions and 127 deletions
+1251 -127
......@@ -22,6 +22,7 @@ o2.addReady(function(){
"Request": Request,
"typeOf": o2.typeOf
};
COMMON.Browser.Platform.isMobile = o2.session.isMobile;
COMMON.DOM.addReady = o2.addReady;
MWF = o2;
MWF.getJSON = o2.JSON.get;
......
......@@ -38,6 +38,25 @@
* |uuid: o2.uuid() |
* |------------------------------------------------------------------------------|
*/
//Element.firstElementChild Polyfill
(function(constructor) {
if (constructor &&
constructor.prototype &&
constructor.prototype.firstElementChild == null) {
Object.defineProperty(constructor.prototype, 'firstElementChild', {
get: function() {
var node, nodes = this.childNodes, i = 0;
while (node = nodes[i++]) {
if (node.nodeType === 1) {
return node;
}
}
return null;
}
});
}
})(window.Node || window.Element);
(function(){
var _href = window.location.href;
var _debug = (_href.indexOf("debugger")!==-1);
......@@ -52,19 +71,33 @@
if (_kv[0].toLowerCase()==="lp") _lp = _kv[1];
}
}
this.o2 = {
"version": {
"v": "2.3.1",
"build": "2019.07.31",
"info": "O2OA 活力办公 创意无限. Copyright © 2018, o2oa.net O2 Team All rights reserved."
},
"session": {
"isDebugger": _debug,
"path": "/o2_core/o2"
},
"language": _lp,
"splitStr": /\s*(?:,|;)\s*/
};
this.o2 = window.o2 || {};
this.o2.version = {
"v": "2.3.1",
"build": "2019.07.31",
"info": "O2OA 活力办公 创意无限. Copyright © 2018, o2oa.net O2 Team All rights reserved."
};
if (!this.o2.session) this.o2.session ={
"isDebugger": _debug,
"path": "/o2_core/o2"
};
this.o2.language = _lp;
this.o2.splitStr = /\s*(?:,|;)\s*/;
// this.o2 = {
// "version": {
// "v": "2.3.1",
// "build": "2019.07.31",
// "info": "O2OA 活力办公 创意无限. Copyright © 2018, o2oa.net O2 Team All rights reserved."
// },
// "session": {
// "isDebugger": _debug,
// "path": "/o2_core/o2"
// },
// "language": _lp,
// "splitStr": /\s*(?:,|;)\s*/
// };
this.wrdp = this.o2;
var _attempt = function(){
......@@ -184,6 +217,8 @@
"sequence": !!(options && options.sequence),
"doc": doc,
"dom": (options && options.dom) || document.body,
"module": (options && options.module) || null,
"noConflict": (options && options.noConflict) || false,
"bind": (options && options.bind) || null,
"position": (options && options.position) || "beforeend" //'beforebegin' 'afterbegin' 'beforeend' 'afterend'debugger
}
......@@ -218,12 +253,30 @@
"sequence": !!(options && options.sequence),
"doc": doc,
"dom": (options && options.dom) || null,
"module": (options && options.module) || null,
"noConflict": (options && options.noConflict) || false,
"bind": (options && options.bind) || null,
"position": (options && options.position) || "beforeend" //'beforebegin' 'afterbegin' 'beforeend' 'afterend'
}
};
_filterUrl = function(url){
if (o2.base){
if (url.indexOf(":")===-1){
var s = url.substring(0, url.indexOf("/")+1);
var r = url.substring(url.indexOf("/")+1, url.length);
if ("../"===s || "./"===s || "/"===s){
return s+o2.base+r;
}else{
return o2.base+url
}
}
}
return url;
};
this.o2.filterUrl = _filterUrl;
var _xhr_get = function(url, success, failure, completed){
var xhr = new _request();
url = _filterUrl(url);
xhr.open("GET", url, true);
var _checkCssLoaded= function(_, err){
......@@ -285,14 +338,14 @@
var _frameworks = {
"o2.core": ["/o2_core/o2/o2.core.js"],
"o2.more": ["/o2_core/o2/o2.more.js"],
"ie_adapter": ["/o2_lib/o2/ie_adapter.js"],
"ie_adapter": ["/o2_core/o2/ie_adapter.js"],
"jquery": ["/o2_lib/jquery/jquery.min.js"],
"mootools": ["/o2_lib/mootools/mootools-1.6.0_all.js"],
"ckeditor": ["/o2_lib/htmleditor/ckeditor4114/ckeditor.js"],
"ckeditor5": ["/o2_lib/htmleditor/ckeditor5-12-1-0/ckeditor.js"],
"raphael": ["/o2_lib/raphael/raphael.js"],
"d3": ["/o2_lib/d3/d3.min.js"],
"ace": ["/o2_lib/ace/src-noconflict/ace.js","/o2_lib/ace/src-noconflict/ext-language_tools.js"],
"ace": ["/o2_lib/ace/src-min-noconflict/ace.js","/o2_lib/ace/src-min-noconflict/ext-language_tools.js"],
"JSBeautifier": ["/o2_lib/JSBeautifier/beautify.js"],
"JSBeautifier_css": ["/o2_lib/JSBeautifier/beautify-css.js"],
"JSBeautifier_html": ["/o2_lib/JSBeautifier/beautify-html.js"],
......@@ -319,7 +372,7 @@
var s = op.doc.createElement('script');
head.appendChild(s);
s.id = uuid;
s.src = url;
s.src = this.o2.filterUrl(url);
var _checkScriptLoaded = function(_, isAbort, err){
if (isAbort || !s.readyState || s.readyState === "loaded" || s.readyState === "complete") {
......@@ -410,31 +463,39 @@
var cssText = xhr.responseText;
try{
if (cssText){
cssText = cssText.replace(/\/\*(\s|\S)*?\*\//g, "");
if (op.bind) cssText = cssText.bindJson(op.bind);
if (op.dom){
var rex = new RegExp("(.+)(?=\\{)", "g");
var match;
var prefix = "." + uuid + " ";
while ((match = rex.exec(cssText)) !== null) {
// var rule = prefix + match[0];
// cssText = cssText.substring(0, match.index) + rule + cssText.substring(rex.lastIndex, cssText.length);
// rex.lastIndex = rex.lastIndex + prefix.length;
var rulesStr = match[0];
if (rulesStr.indexOf(",")!=-1){
var rules = rulesStr.split(/\s*,\s*/g);
rules = rules.map(function(r){
return prefix + r;
});
var rule = rules.join(", ");
cssText = cssText.substring(0, match.index) + rule + cssText.substring(rex.lastIndex, cssText.length);
rex.lastIndex = rex.lastIndex + (prefix.length*rules.length);
if (rulesStr.substr(0,1)=="@" || rulesStr.indexOf("%")!=-1){
// var begin = 0;
// var end = 0;
}else{
var rule = prefix + match[0];
cssText = cssText.substring(0, match.index) + rule + cssText.substring(rex.lastIndex, cssText.length);
rex.lastIndex = rex.lastIndex + prefix.length;
if (rulesStr.indexOf(",")!=-1){
var rules = rulesStr.split(/\s*,\s*/g);
rules = rules.map(function(r){
return prefix + r;
});
var rule = rules.join(", ");
cssText = cssText.substring(0, match.index) + rule + cssText.substring(rex.lastIndex, cssText.length);
rex.lastIndex = rex.lastIndex + (prefix.length*rules.length);
}else{
var rule = prefix + match[0];
cssText = cssText.substring(0, match.index) + rule + cssText.substring(rex.lastIndex, cssText.length);
rex.lastIndex = rex.lastIndex + prefix.length;
}
}
}
}
......@@ -527,7 +588,7 @@
};
this.o2.loadCss = _loadCss;
this.o2.removeCss = _removeCss;
Element.prototype.loadCss = function(modules, options, callback){
if (window.Element) Element.prototype.loadCss = function(modules, options, callback){
var op = (_typeOf(options)==="object") ? options : {};
var cb = (_typeOf(options)==="function") ? options : callback;
op.dom = this;
......@@ -556,7 +617,67 @@
var _injectHtml = function(op, data){
if (op.bind) data = data.bindJson(op.bind);
if (op.dom) _parseDom(op.dom, function(node){ node.insertAdjacentHTML(op.position, data) }, op.doc);
if (op.dom) _parseDom(op.dom, function(node){
if (op.module){
_parseModule(node, data, op);
//node.insertAdjacentHTML(op.position, data);
}else{
node.insertAdjacentHTML(op.position, data);
}
}, op.doc);
};
var _parseModule = function(node, data, op){
var dom = op.noConflict ? document.createElement("div") : node;
if (op.noConflict){
dom.insertAdjacentHTML("afterbegin", data);
}else{
dom.insertAdjacentHTML(op.position, data);
}
var els = dom.querySelectorAll("[data-o2-element]");
for (var i=0; i<els.length; i++){
var el = els.item(i);
var name = el.getAttribute("data-o2-element").toString();
if (name) _bindToModule(op.module, el, name);
if (el.hasAttribute("data-o2-events")){
var events = el.getAttribute("data-o2-events").toString();
if (events) _bindToEvents(op.module, el, events);
}
}
if (op.noConflict){
var n = dom.firstElementChild;
var newNode = node.insertAdjacentElement(op.position, n);
nextNode = dom.firstElementChild;
while (nextNode) {
newNode = newNode.insertAdjacentElement("afterend", nextNode);
nextNode = dom.firstElementChild;
}
dom.destroy();
}
};
var _bindToEvents = function(m, node, events){
var eventList = events.split(/\s*;\s*/);
eventList.forEach(function(ev){
var evs = ev.split(/\s*:\s*/);
if (evs.length>1){
node.addEventListener(evs[0], function(e){
if (m[evs[1]]) m[evs[1]].apply(m, [e]);
}, false);
}
});
}
var _bindToModule = function(m, node, name){
// if (m[name]){
// if (o2.typeOf(m[name])!=="array"){
// var tmp = m[name];
// m[name] = [];
// m[name].push(tmp);
// }
// m[name].push(node);
// }else{
m[name] = node;
// }
};
var _loadHtml = function(modules, options, callback){
var ms = (_typeOf(modules)==="array") ? modules : [modules];
......@@ -571,12 +692,21 @@
}
};
this.o2.loadHtml = _loadHtml;
Element.prototype.loadHtml = function(modules, options, callback){
if (window.Element) Element.prototype.loadHtml = function(modules, options, callback){
var op = (_typeOf(options)==="object") ? options : {};
var cb = (_typeOf(options)==="function") ? options : callback;
op.dom = this;
_loadHtml(modules, op, cb);
};
this.o2.injectHtml = function(html, op){
_injectHtml(op, html);
};
if (window.Element) Element.prototype.injectHtml = function(html, options){
var op = (_typeOf(options)==="object") ? options : {};
op.dom = this;
op.position = (options && options.position) || "beforeend"
_injectHtml(op, html);
};
//load all
_loadAll = function(modules, options, callback){
......@@ -612,7 +742,7 @@
}
};
this.o2.loadAll = _loadAll;
Element.prototype.loadAll = function(modules, options, callback){
if (window.Element) Element.prototype.loadAll = function(modules, options, callback){
var op = (_typeOf(options)==="object") ? options : {};
var cb = (_typeOf(options)==="function") ? options : callback;
op.dom = this;
......
(function(){
debugger;
if (Browser.iecomp){
if (!document.body.addEvent){
document.body.addEvent = function(type, fn){
// if (!document.body.addEvent){
// document.body.addEvent = function(type, fn){
// if (window.attachEvent && !window.addEventListener){
// collected[Slick.uidOf(this)] = this;
// }
// if (this.addEventListener) this.addEventListener(type, fn, !!arguments[2]);
// else this.attachEvent('on' + type, fn);
// return this;
// };
// }
if (!Element.prototype.addEvent){
Element.prototype.addEvent = function(type, fn){
if (window.attachEvent && !window.addEventListener){
collected[Slick.uidOf(this)] = this;
}
......@@ -87,28 +98,28 @@
if (!Object.defineProperty || (Browser.name=="ie" && Browser.version==8)){
Object.defineProperty = MWF.defineProperty;
}
MWF.defineProperties(HTMLInputElement.prototype, {"files": {
"get": function(){
MWF.require("MWF.widget.contentType", null, false);
var v = this.value;
var tmpv = v.replace(/\\/g, "/");
var i = tmpv.lastIndexOf("/");
var name = (i===-1) ? v : v.substr(i+1, tmpv.length-i);
var el = this;
var data = {
"path": v,
"name": name,
"size": 0,
"type": MWFContentType.get(v),
"el": el
};
return {
"length": (v) ? 1 : 0,
"data": data,
"item": function(){ return this.data; }
};
}
}});
o2.defineProperties(HTMLInputElement.prototype, {"files": {
"get": function(){
o2.require("o2.widget.contentType", null, false);
var v = this.value;
var tmpv = v.replace(/\\/g, "/");
var i = tmpv.lastIndexOf("/");
var name = (i===-1) ? v : v.substr(i+1, tmpv.length-i);
var el = this;
var data = {
"path": v,
"name": name,
"size": 0,
"type": MWFContentType.get(v),
"el": el
};
return {
"length": (v) ? 1 : 0,
"data": data,
"item": function(){ return this.data; }
};
}
}});
WebSocket = window.WebSocket || function(){};
WebSocket.prototype = {
......
o2.LP = window.LP || {
"name": "名称",
"description": "描述"
"description": "描述",
"searchKey": "请输入搜索关键字",
"desktop_style": "桌面风格",
"flat_style": "扁平风格"
};
o2.LP.process = {
......@@ -141,9 +144,19 @@ o2.LP.desktop = {
"say": "",
"clearMessage": "清除消息",
"lnkAppTitle": "常用应用",
"deleteLnk": "删除常用应用快捷方式",
"addLnk": "添加常用应用快捷方式",
"changeViewTitle": "切换视图样式确认",
"changeView": "您确定要切换视图样式吗?<br><br>如果您选择“确定”,页面将直接刷新,未保存的数据可能丢失。",
"messsage": {
"appliction": "应用",
"application": "应用",
"process": "流程",
"infor": "信息",
"query": "数据",
"taskMessage": "待办提醒",
"receiveTask": "您收到一条待办,标题为:",
"activity": "活动",
......@@ -191,6 +204,18 @@ o2.LP.desktop = {
"panda": "熊猫",
"star": "星空"
},
"styleFlatMenu": {
"blue": "蓝色",
"red": "红色",
"orange": "水果橙",
"green": "青草绿",
"cyan": "碧水青",
"purple": "魅力紫",
"gray": "沉稳灰",
"darkgreen": "墨绿",
"tan": "棕色",
"navy": "藏青"
},
"notice": {
"unload": "如果关闭或刷新当前页面,未保存的内容会丢失,请确定您的操作",
"changePassword": "您的密码已过期,请及时修改密码",
......@@ -249,6 +274,7 @@ o2.LP.desktop = {
"collectNotConnectedText": "无法连接到O2云,请检查服务器网络!"
}
};
o2.LP.desktop.message = o2.LP.desktop.messsage;
o2.LP.widget = {
"upload": "上传",
"uploadTitle": "上传文件",
......@@ -381,4 +407,4 @@ o2.LP.authentication = {
};
o2.LP.script = {
"error": "脚本运行错误,请查看以下详细信息"
};
\ No newline at end of file
};
......@@ -63,7 +63,7 @@
jsPath = (jsPath.indexOf("?")!==-1) ? jsPath+"&v="+this.o2.version.v : jsPath+"?v="+this.o2.version.v;
var xhr = new Request({
url: jsPath, async: async, method: "get",
url: o2.filterUrl(jsPath), async: async, method: "get",
onSuccess: function(){
//try{
_loaded[key] = true;
......@@ -79,17 +79,21 @@
xhr.send();
};
var _requireSingle = function(module, callback, async, compression){
module = module.replace("MWF", "o2");
var levels = module.split(".");
if (levels[levels.length-1]==="*") levels[levels.length-1] = "package";
levels.shift();
if (o2.typeOf(module)==="array"){
_requireAppSingle(module, callback, async, compression);
}else{
module = module.replace("MWF.", "o2.");
var levels = module.split(".");
if (levels[levels.length-1]==="*") levels[levels.length-1] = "package";
levels.shift();
var jsPath = this.o2.session.path;
jsPath +="/"+levels.join("/")+".js";
var jsPath = this.o2.session.path;
jsPath +="/"+levels.join("/")+".js";
var loadAsync = (async!==false);
var loadAsync = (async!==false);
_requireJs(jsPath, callback, loadAsync, compression, module);
_requireJs(jsPath, callback, loadAsync, compression, module);
}
};
var _requireSequence = function(fun, module, thisLoaded, thisErrorLoaded, callback, async, compression){
var m = module.shift();
......@@ -182,6 +186,7 @@
}
};
JSON = window.JSON || {};
var _json = JSON;
_json.get = function(url, callback, async, nocache){
var loadAsync = (async !== false);
......@@ -191,7 +196,7 @@
var json = null;
var res = new Request.JSON({
url: url,
url: o2.filterUrl(url),
secure: false,
method: "get",
noCache: noJsonCache,
......@@ -222,7 +227,7 @@
url = (url.indexOf("?")!==-1) ? url+"&v="+o2.version.v : url+"?v="+o2.version.v;
var res = new Request.JSONP({
url: url,
url: o2.filterUrl(url),
secure: false,
method: "get",
noCache: true,
......@@ -246,7 +251,7 @@
var jsPath = o2.session.path;
jsPath = jsPath+"/lp/"+name+".js";
var r = new Request({
url: jsPath,
url: o2.filterUrl(jsPath),
async: false,
method: "get",
onSuccess: function(responseText){
......@@ -290,7 +295,7 @@
}
//var noCache = false;
var res = new Request.JSON({
url: address,
url: o2.filterUrl(address),
secure: false,
method: method,
emulation: false,
......@@ -431,4 +436,4 @@
}
})();
o2.core = true;
\ No newline at end of file
o2.core = true;
......@@ -194,7 +194,7 @@
}
};
String.implement({
if (String.implement) String.implement({
"getAllIndexOf": function(str){
var idxs= [];
var idx = this.indexOf(str);
......@@ -205,7 +205,7 @@
return idxs;
}
});
Array.implement({
if (Array.implement) Array.implement({
"trim": function(){
var arr = [];
this.each(function(v){
......@@ -217,7 +217,7 @@
return this.some(function(item){ return (arr.indexOf(item)!==-1); })
}
});
Element.implement({
if (window.Element && Element.implement) Element.implement({
"isIntoView": function() {
var pNode = this.getParent();
while (pNode && ((pNode.getScrollSize().y-(pNode.getComputedSize().height+1)<=0) || pNode.getStyle("overflow")==="visible")) pNode = pNode.getParent();
......@@ -481,6 +481,13 @@
node = node.getParent();
}
return node || null;
},
"getEdgeHeight": function(notMargin){
var h = 0;
h += (this.getStyle("border-top-width").toFloat() || 0)+ (this.getStyle("border-bottom-width").toFloat() || 0);
h += (this.getStyle("padding-top").toFloat() || 0)+ (this.getStyle("padding-bottom").toFloat() || 0);
if (!notMargin) h += (this.getStyle("margin-top").toFloat() || 0)+ (this.getStyle("margin-bottom").toFloat() || 0);
return h;
}
});
Object.copy = function(from, to){
......@@ -496,57 +503,67 @@
});
};
JSON.format = JSON.encode;
if (window.JSON) JSON.format = JSON.encode;
Slick.definePseudo('src', function(value){
return Element.get(this,"src").indexOf(value) !== -1;
});
Slick.definePseudo('srcarr', function(value){
var vList = value.split(",");
var src = Element.get(this,"src");
var flag = false;
for (var i=0; i<vList.length; i++){
if (src.indexOf(vList[i])!==-1){
flag = true;
break;
if (window.Slick) {
Slick.definePseudo('src', function (value) {
return Element.get(this, "src").indexOf(value) !== -1;
});
Slick.definePseudo('srcarr', function (value) {
var vList = value.split(",");
var src = Element.get(this, "src");
var flag = false;
for (var i = 0; i < vList.length; i++) {
if (src.indexOf(vList[i]) !== -1) {
flag = true;
break;
}
}
}
return flag;
});
Slick.definePseudo('ahref', function(value){
var href = Element.get(this,"href");
if (!href) href = "";
href = href.toString().toLowerCase();
return (href.indexOf(value)!==-1);
});
return flag;
});
Slick.definePseudo('ahref', function (value) {
var href = Element.get(this, "href");
if (!href) href = "";
href = href.toString().toLowerCase();
return (href.indexOf(value) !== -1);
});
Slick.definePseudo('rowspanBefore', function(line){
var tr = MWF.getParent(this, "tr");
var rowspan = this.get("rowspan").toInt() || 1;
var currentRowIndex = tr.rowIndex.toInt();
Slick.definePseudo('rowspanBefore', function (line) {
var tr = MWF.getParent(this, "tr");
var rowspan = this.get("rowspan").toInt() || 1;
var currentRowIndex = tr.rowIndex.toInt();
return rowspan>1 && currentRowIndex<line.toInt() && currentRowIndex+rowspan-1>=line;
});
Slick.definePseudo('rowspan', function(){
var rowspan = this.get("rowspan").toInt() || 1;
return rowspan>1;
});
return rowspan > 1 && currentRowIndex < line.toInt() && currentRowIndex + rowspan - 1 >= line;
});
Slick.definePseudo('rowspan', function () {
var rowspan = this.get("rowspan").toInt() || 1;
return rowspan > 1;
});
Slick.definePseudo('colspanBefore', function(col){
var tr = MWF.getParent(this, "tr");
var colspan = this.get("colspan").toInt() || 1;
var currentColIndex = this.cellIndex.toInt();
Slick.definePseudo('colspanBefore', function (col) {
var tr = MWF.getParent(this, "tr");
var colspan = this.get("colspan").toInt() || 1;
var currentColIndex = this.cellIndex.toInt();
return colspan>1 && currentColIndex<col.toInt() && currentColIndex+colspan-1>=col.toInt();
});
return colspan > 1 && currentColIndex < col.toInt() && currentColIndex + colspan - 1 >= col.toInt();
});
Slick.definePseudo('colspan', function(){
var colspan = this.get("colspan").toInt() || 1;
return colspan>1;
});
Slick.definePseudo('colspan', function () {
var colspan = this.get("colspan").toInt() || 1;
return colspan > 1;
});
}
o2.common = o2.common || {};
o2.common.encodeHtml = function(str){
str = str.toString();
str = str.replace(/\&/g, "&amp;");
str = str.replace(/>/g, "&gt;");
str = str.replace(/</g, "&lt;");
return str.replace(/\"/g, "&quot;");
};
o2.common.getResponseTextPost = function(path, body, contentType){
var returnText = "";
var options = {
......@@ -634,15 +651,18 @@
return {"x": x, "y": y};
};
if (Browser.name==="ie" && Browser.version<9){
Browser.ieuns = true;
}else if(Browser.name==="ie" && Browser.version<10){
Browser.iecomp = true;
}
if (Browser.iecomp){
o2.load("ie_adapter", null, false);
layout["debugger"] = true;
if (window.Browser){
if (Browser.name==="ie" && Browser.version<9){
Browser.ieuns = true;
}else if(Browser.name==="ie" && Browser.version<10){
Browser.iecomp = true;
}
if (Browser.iecomp){
o2.load("ie_adapter", null, false);
o2.session.isDebugger = true;
//layout["debugger"] = true;
}
o2.session.isMobile = (["mac", "win", "linux"].indexOf(Browser.Platform.name)===-1);
}
})();
o2.more = true;
\ No newline at end of file
o2.more = true;
......@@ -27,6 +27,11 @@
"min-height": "30px",
"overflow": "hidden"
},
"minContentNode_mobile": {
"clear":"both",
"min-height": "30px",
"overflow": "hidden"
},
"titleNode": {
"height": "30px",
"background-color": "#DDD",
......@@ -333,6 +338,18 @@
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"minAttachmentNode_sequence_mobile": {
"width": "auto",
"height": "30px",
"padding": "0px",
"float": "none",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"margin": "0px 5px",
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"minAttachmentNode_sequence_over": {
"border": "0px solid #cdcfd1",
"background-color": "#eaf0f5"
......@@ -354,6 +371,17 @@
"width" : "48%"
//"border-bottom" : "1px dashed #dcdcdc"
},
"minAttachmentNode_list_mobile": {
"width": "auto",
"height": "30px",
"padding": "13px 0px 13px 10px",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"-webkit-user-select": "text",
"-moz-user-select": "text"
//"border-bottom" : "1px dashed #dcdcdc"
},
"minAttachmentSepNode_list" : {
"width" : "1px",
"height" : "30px",
......
......@@ -27,6 +27,11 @@
"min-height": "30px",
"overflow": "hidden"
},
"minContentNode_mobile": {
"clear":"both",
"min-height": "30px",
"overflow": "hidden"
},
"titleNode": {
"height": "30px",
"background-color": "#DDD",
......@@ -331,6 +336,18 @@
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"minAttachmentNode_sequence_mobile": {
"width": "auto",
"height": "30px",
"padding": "0px",
"float": "none",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"margin": "0px 5px",
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"minAttachmentNode_sequence_over": {
"border": "0px solid #cdcfd1",
"background-color": "#eaf0f5"
......@@ -352,6 +369,17 @@
"width" : "48%",
"border-bottom" : "1px dashed #dcdcdc"
},
"minAttachmentNode_list_mobile": {
"width": "auto",
"height": "30px",
"padding": "13px 0px 13px 10px",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"-webkit-user-select": "text",
"-moz-user-select": "text",
"border-bottom" : "1px dashed #dcdcdc"
},
"minAttachmentSepNode_list" : {
"width" : "1px",
"height" : "30px",
......
......@@ -25,6 +25,10 @@
"margin-right":"108px",
"min-height": "30px"
},
"minContentNode_mobile": {
"clear":"both",
"min-height": "30px"
},
"titleNode": {
"color" : "#3587d7",
"height": "30px",
......@@ -332,6 +336,18 @@
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"minAttachmentNode_sequence_mobile": {
"width": "auto",
"height": "30px",
"padding": "0px",
"float": "none",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"margin": "0px 5px",
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"minAttachmentNode_sequence_over": {
"border": "0px solid #cdcfd1",
"background-color": "#eaf0f5"
......@@ -353,6 +369,17 @@
"width" : "46%",
"border-right" : "1px dashed #dcdcdc"
},
"minAttachmentNode_list_mobile": {
"height": "30px",
"padding": "0px 10px",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"margin": "5px 5px",
"-webkit-user-select": "text",
"-moz-user-select": "text",
"border-right" : "1px dashed #dcdcdc"
},
"minAttachmentSepNode_list" : {
},
"minAttachmentNode_list_over": {
......
......@@ -26,7 +26,12 @@
"margin-right":"150px",
"min-height": "30px",
"overflow": "hidden"
},
},
"minContentNode_mobile": {
"clear":"both",
"min-height": "30px",
"overflow": "hidden"
},
"titleNode": {
"height": "30px",
"background-color": "#DDD",
......@@ -336,6 +341,18 @@
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"minAttachmentNode_sequence_mobile": {
"width": "auto",
"height": "30px",
"padding": "0px",
"float": "none",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"margin": "0px 5px",
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"minAttachmentNode_sequence_over": {
"border": "0px solid #cdcfd1",
"background-color": "#eaf0f5"
......@@ -358,6 +375,18 @@
"width" : "46%",
"border-right" : "1px dashed #dcdcdc"
},
"minAttachmentNode_list_mobile": {
"width": "auto",
"height": "30px",
"padding": "0px 10px",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"margin": "5px 5px",
"-webkit-user-select": "text",
"-moz-user-select": "text",
"border-right" : "1px dashed #dcdcdc"
},
"minAttachmentSepNode_list" : {
},
"minAttachmentNode_list_over": {
......
{
"container": {
"border": "1px solid #b6b6b6",
// "height": "180px",
"min-height": "180px",
"background": "#FFF",
"margin-top": "10px",
"overflow": "hidden"
},
"container_min": {
"border": "0px solid #b6b6b6",
"min-height": "30px",
"overflow": "hidden",
"background": "transparent",
"height": "auto"
},
"minActionAreaNode": {
"margin-top" : "10px"
// "float": "right"
// "height": "80px",
// "margin": "2px",
// "border": "1px solid #979797",
// "border-radius": "8px",
// "background-image": "url("+o2.session.path+"/widget/$AttachmentController/default/buttonbg.png)"
},
"minContentNode": {
"margin-right":"150px",
"min-height": "30px",
"overflow": "hidden"
},
"minContentNode_mobile": {
"clear":"both",
"min-height": "30px",
"margin" : "0px 10px",
"overflow": "hidden"
},
"titleNode": {
"height": "30px",
"background-color": "#DDD",
"border-top": "1px solid #FFF",
"border-bottom": "1px solid #b6b6b6",
"line-height": "30px",
"font-weight": "bold",
"padding-left": "10px",
"text-align": "left"
},
"topNode": {
// "height": "56px"
// "background-image": "url("+o2.session.path+"/widget/$AttachmentController/default/bg.png)",
// "border-top": "1px solid #FFF",
// "border-bottom": "1px solid #b6b6b6"
},
"actionsBoxNode": {
// "overflow": "hidden",
// "border-bottom": "1px solid #eaebea",
"float": "left"
// "margin-left": "10px",
// "margin-top": "5px",
// "border-radius": "3px",
// "background-image": "url("+o2.session.path+"/widget/$AttachmentController/default/buttonbg.png)"
},
"actionsGroupNode": {
"margin-top" : "10px"
// "height": "26px",
// "border": "1px solid #979797",
// "border-radius": "3px",
// "background-image": "url("+o2.session.path+"/widget/$AttachmentController/default/buttonbg.png)"
},
"actionNode": {
"float": "left",
"width": "252px",
"height": "56px",
"line-height": "56px",
"font-size" : "32px",
"margin-left" : "20px",
"border-radius" : "4px",
"border" : "2px solid #32AAFF",
"color" : "#32AAFF",
"cursor": "default",
"text-align" : "center"
},
"actionIconNode": {
"width": "48px",
"height": "48px",
"background-repeat": "no-repeat",
"background-position": "center center",
"background-size": "48px 48px"
},
"separateNode": {
// "width":"0px",
// "height": "70px",
// "margin-top": "5px",
// "margin-left": "5px",
// "margin-right": "5px",
// "border-left": "1px solid #bcbcbc",
// "background-color": "#f1f1f1",
// "float": "left"
},
"contentScrollNode": {
"background-color": "#FFF",
"overflow": "hidden",
"min-height": "130px"
},
"contentNode": {
"background-color": "#FFF",
"overflow": "hidden",
"margin-right": "6px"
},
"bottomNode": {
"height": "7px",
"border-top": "1px solid #b6b6b6",
"background-color": "#e8e8e8"
},
"resizeNode": {
"height": "7px",
"cursor": "row-resize"
},
"attachmentNode_icon": {
"width": "90px",
"height": "100px",
"padding": "5px",
"float": "left",
"margin": "10px 0px 10px 10px",
"border-radius": "3px",
//"border": "2px solid #FFF",
"background": "transparent",
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"attachmentNode_icon_over": {
//"border": "2px solid #cdcfd1",
"background": "#eaf0f5"
},
"attachmentNode_icon_selected": {
//"border": "2px solid #d7e1e8",
"background": "#d7e1e8"
},
"attachmentIconNode": {
"width": "90px",
"height": "66px",
"text-align": "center"
},
"attachmentIconImgAreaNode": {
"width": "64px",
"height": "64px",
"margin": "auto"
},
"attachmentIconImgNode": {
"width": "64px",
"height": "64px"
},
"attachmentTextNode": {
"height": "34px",
"line-height": "17px",
"overflow": "hidden",
"word-break": "break-all",
"text-overflow": "ellipsis",
"text-align": "center"
},
"attachmentNode_sequence": {
"width": "auto",
"height": "30px",
"padding": "0px",
"float": "none",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"margin": "0px 10px",
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"attachmentNode_sequence_over": {
"border": "0px solid #cdcfd1",
"background": "#eaf0f5"
},
"attachmentNode_sequence_selected": {
"border": "0px solid #d7e1e8",
"background": "#d7e1e8"
},
"attachmentSeqNode_sequence": {
"width": "40px",
"height": "115px",
"line-height": "115px",
"color": "#666666",
"float": "left",
"text-align": "center"
},
"attachmentTextNode_sequence": {
"height": "30px",
"line-height": "30px",
"margin-left": "70px",
"overflow": "hidden",
"word-break": "break-all",
"text-overflow": "ellipsis",
"text-align": "left"
},
"attachmentNode_list": {
"width": "auto",
"height": "30px",
"padding": "0px",
"float": "none",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"margin": "0px 10px",
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"attachmentNode_list_over": {
"border": "0px solid #cdcfd1",
"background": "#eaf0f5"
},
"attachmentNode_list_selected": {
"border": "0px solid #d7e1e8",
"background": "#d7e1e8"
},
"attachmentIconNode_list": {
"width": "40px",
"height": "30px",
"float": "left"
},
"attachmentIconImgAreaNode_list": {
"width": "24px",
"height": "24px",
"margin": "3px 8px"
},
"attachmentIconImgNode_list": {
"width": "24px",
"height": "24px"
},
"attachmentTextNode_list": {
"height": "30px",
"line-height": "30px",
"margin-left": "40px",
"overflow": "hidden",
"word-break": "break-all",
"text-overflow": "ellipsis",
"text-align": "left"
},
"attachmentTextTitleNode_list": {
"height": "30px",
"float": "left",
"width": "30%"
},
"attachmentTextSizeNode_list": {
"height": "30px",
"float": "left",
"width": "15%"
},
"attachmentTextUploaderNode_list": {
"height": "30px",
"float": "left",
"width": "15%"
},
"attachmentTextTimeNode_list": {
"height": "30px",
"float": "left",
"width": "20%"
},
"attachmentTextActivityNode_list": {
"height": "30px",
"float": "left",
"width": "20%"
},
"attachmentNode_preview": {
"width": "180px",
"height": "160px",
"padding": "5px",
"float": "left",
"margin": "10px 5px 10px 5px",
"border-radius": "3px",
//"border": "2px solid #FFF",
"background": "transparent",
"-webkit-user-select": "text",
"-moz-user-select": "text"
},
"attachmentNode_preview_over": {
//"border": "2px solid #cdcfd1",
"background": "#eaf0f5"
},
"attachmentNode_preview_selected": {
//"border": "2px solid #d7e1e8",
"background": "#d7e1e8"
},
"attachmentPreviewIconNode": {
"width": "180px",
"height": "126px",
"text-align": "center"
},
"attachmentPreviewIconImgAreaNode": {
"width": "72px",
"height": "72px",
"margin": "auto"
},
"attachmentPreviewIconImgNode": {
"width": "72px",
"height": "72px",
"margin-top": "22px"
},
"attachmentPreviewAudioNode": {
"width": "180px",
"height": "30px",
"position": "relative",
"top": "-64px",
"opacity": "0.7"
},
"attachmentPreviewVideoNode": {
"width": "180px",
"height": "126px"
},
"attachmentPreviewTextNode": {
"height": "34px",
"line-height": "17px",
"overflow": "hidden",
"word-break": "break-all",
"text-overflow": "ellipsis",
"text-align": "center"
},
"minActionNode": {
"float": "left",
"width": "74px",
"font-size" : "32px",
"height": "115px",
"line-height": "115px",
"color" : "#32AAFF",
"margin" : "0px 5px",
"cursor": "pointer"
},
"minActionIconNode": {
"width": "26px",
"height": "26px",
"background-repeat": "no-repeat",
"background-position": "center center"
},
"minAttachmentNode_sequence": {
"width": "auto",
"font-size" : "32px",
"color" : "#333",
"height": "115px",
"padding": "0px 0px 0px 20px",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"-webkit-user-select": "text",
"-moz-user-select": "text",
"box-shadow" : "inset 0 -1px 0 0 #DAE1EC"
},
"minAttachmentNode_sequence_mobile": {
"width": "auto",
"font-size" : "32px",
"color" : "#333",
"height": "115px",
"padding": "0px 0px 0px 20px",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"-webkit-user-select": "text",
"-moz-user-select": "text",
"box-shadow" : "inset 0 -1px 0 0 #DAE1EC"
},
"minAttachmentNode_sequence_over": {
"border": "0px solid #cdcfd1",
"background-color": "#eaf0f5"
},
"minAttachmentNode_sequence_selected": {
"border": "0px solid #d7e1e8",
"background-color": "#d7e1e8"
},
"minAttachmentNode_list": {
"width": "auto",
"height": "115px",
"padding": "13px 0px 13px 10px",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"-webkit-user-select": "text",
"-moz-user-select": "text",
"width" : "100%"
//"border-bottom" : "1px dashed #dcdcdc"
},
"minAttachmentNode_list_mobile": {
"width": "auto",
"font-size" : "32px",
"color" : "#333",
"height": "115px",
"padding": "0px 0px 0px 20px",
"border-radius": "0px",
"border": "0px solid #FFF",
"background": "transparent",
"-webkit-user-select": "text",
"-moz-user-select": "text",
"box-shadow" : "inset 0 -1px 0 0 #DAE1EC"
},
"minAttachmentSepNode_list" : {
"width" : "1px",
"height" : "30px",
"float" : "right",
"overflow" : "hidden",
"border-right" : "1px dashed #dcdcdc"
},
"minAttachmentNode_list_over": {
//"border": "0px solid #cdcfd1",
//"background-color": "#eaf0f5"
},
"minAttachmentNode_list_selected": {
//"border": "0px solid #d7e1e8",
"background-color": "#e6f2ff"
},
"minAttachmentIconNode_list": {
"float": "left"
},
"minAttachmentIconImgAreaNode_list": {
"width": "46px",
"height": "58px",
"margin": "27px 3px"
},
"minAttachmentIconImgNode_list": {
"width": "46px",
"height": "58px"
},
"minAttachmentTextNode_list": {
"height": "115px",
"cursor": "default",
"line-height": "115px",
"padding-left": "20px",
"margin-right": "0px",
"overflow": "hidden",
"word-break": "break-all",
"text-overflow": "ellipsis",
"text-align": "left",
"white-space" : "nowrap",
"color" : "#333"
},
"minAttachmentSizeNode_list": {
"height": "0px",
"line-height": "0px",
"margin-left" : "0px",
"margin-right": "0px",
"display" : "none",
"color" : "#c2c6ce"
},
"minAttachmentActionAreaNode" : {
"float" : "right",
"overflow" : "hidden"
},
"inputUploadAreaNode": {
"width": "450px",
"height": "160px",
"border-radius": "5px",
"box-shadow": "0px 0px 10px #FFF",
"position": "absolute",
"border": "2px solid #999",
"border-top": "4px solid #5290e5",
"background-color": "#FFF",
"z-index": 100
},
"inputUploadAreaTitleNode": {
"height": "30px",
"line-height": "30px",
"text-align": "center",
"font-weight": "bold",
"font-family": "Microsoft YaHei",
"font-size": "14px"
},
"inputUploadAreaInforNode": {
"height": "24px",
"line-height": "24px",
"text-align": "center",
"color": "#666",
"font-family": "Microsoft YaHei",
"font-size": "12px",
"text-align": "left",
"margin": "10px 20px 0px 20px"
},
"inputUploadAreaInputAreaNode": {
"margin": "0px 20px 20px 20px",
"height": "24px"
},
"inputUploadAreaInputNode": {
"width": "407px",
"height": "23px",
"border": "1px solid #666",
},
"inputUploadActionNode": {
"margin": "0px 20px",
"border-top": "1px solid #999",
},
"inputUploadOkButton": {
"height": "24px",
"width": "80px",
"color": "#FFF",
"background-color": "#42699e",
"border": "1px solid #1e3d67",
"border-radius": "3px",
"float": "right",
"margin-top": "10px",
"margin-left": "10px"
},
"inputUploadCancelButton": {
"height": "24px",
"width": "80px",
"color": "#666",
"background-color": "#DFDFDF",
"border": "1px solid #666",
"border-radius": "3px",
"float": "right",
"margin-top": "10px",
"margin-left": "10px"
}
}
\ No newline at end of file
o2web/source/o2_core/o2/widget/$Calendar/homepage/bottombg.gif

635 Bytes

<div class="MWF_calendar_container container">
<div class="MWF_calendar_title dateTitle">
<div class="MWF_calendar_prev datePrev"></div>
<div class="MWF_calendar_next dateNext"></div>
<div class="MWF_calendar_current dateCurrent"><span class="MWF_calendar_currentText dateCurrentText"></span></div>
</div>
<div class="MWF_calendar_content calendarContent">
<div class="MWF_calendar_content_date contentDate">
</div>
</div>
<div class="MWF_calendar_bottom dateBottom"></div>
</div>
\ No newline at end of file
{
"container": {
"border": "0px solid #888888",
"padding": "3px",
"background-color": "#FFF",
"z-index": "20001",
"font-size": "12px",
"overflow": "hidden"
},
"dateTitle": {
"height": "50px",
"line-height": "50px",
"text-align": "center",
"border-bottom": "1px solid #e6e6e6",
},
"todayNode": {
"height": "50px",
"line-height": "50px",
"float": "right",
"width": "40px",
"color": "#4A90E2",
"cursor": "pointer",
"font-size": "16px",
"text-align": "left"
},
"datePrev": {
"width": "22px",
"height": "50px",
"float": "left",
"background": "url("+o2.session.path+"/widget/$Calendar/homepage/left.png) no-repeat center center",
"cursor": "pointer"
},
"dateNext": {
"width": "22px",
"height": "50px",
"float": "right",
"background": "url("+o2.session.path+"/widget/$Calendar/homepage/right.png) no-repeat center center",
"cursor": "pointer"
},
"dateCurrent": {
"margin-left": "22px",
"margin-right": "22px",
"color": "#4A90E2",
"font-family": "Microsoft YaHei",
"background-position": "center center",
"cursor": "pointer",
"font-size": "16px"
},
"dateCurrentText": {
"cursor": "pointer"
},
"calendarContent": {
"overflow": "hidden"
},
"calendarDaysContent": {
"width": "100%",
"padding": "2px",
"float": "left",
"height": "330px",
"font-size": "14px"
},
"calendarDaysContentTd": {
"text-align": "center",
"cursor": "pointer",
"border": "1px solid #FFF",
"font-size": "14px",
"border-radius": "20px"
},
"calendarMonthsContent": {
"width": "100%",
"height": "330px",
"padding": "2px",
"float": "left"
},
"calendarMonthsContentTd": {
"text-align": "center",
"cursor": "pointer",
"border": "1px solid #FFF",
"font-size": "16px",
"border-radius": "20px"
},
"calendarYearsContent": {
"width": "100%",
"height": "330px",
"padding": "2px",
"float": "left"
},
"calendarYearsContentTd": {
"text-align": "center",
"cursor": "pointer",
"border": "1px solid #FFF",
"font-size": "16px",
"border-radius": "20px"
},
"calendarTimeContent": {
"width": "100%",
"height": "330px",
"padding": "2px",
"float": "left"
},
"calendarTimeContentTd": {
"text-align": "center",
"cursor": "pointer",
"border": "1px solid #FFF",
"width": "37px",
"font-size": "14px",
"border-radius": "20px"
},
"gray_homepage": {
"background-color": "transparent",
"border": "1px solid #FFF",
"color": "#cccccc"
},
"today_homepage": {
"border": "1px solid #4A90E2",
"color": "#ffffff",
"background-color": "#4A90E2;"
},
"current_homepage": {
"background-color": "#8E8E8E",
"border": "1px solid #8E8E8E",
"color": "#FFF"
},
"normal_homepage": {
"background-color": "transparent",
"border": "1px solid #FFF",
"color": "#333333"
},
"past_homepage": {
"background-color": "transparent",
"border": "1px solid #fff",
"color": "#999999"
},
"dateBottom": {
"height": "10px",
"overflow": "hidden"
},
"calendarTimeSlider": {
"margin-top": "8px",
"height": "10px",
"overflow": "hidden",
"margin-left": "27px",
"margin-right": "15px",
"border-top": "1px solid #999",
"border-left": "1px solid #999",
"border-bottom": "1px solid #E1E1E1",
"border-right": "1px solid #E1E1E1",
"background-color": "#EEE"
},
"calendarTimeArea": {
"height": "25px",
"line-height": "25px",
"margin-top": "4px"
},
"calendarTimeSliderKnob": {
"height": "8px",
"width": "8px",
"background-color": "#999",
"position": "absolute",
"z-index": "20001",
"border-top": "1px solid #DDD",
"border-left": "1px solid #DDD",
"border-bottom": "1px solid #777",
"border-right": "1px solid #777",
"cursor": "pointer"
},
"calendarTimeShow": {
"width": "120px",
"margin-top": "10px",
"cursor": "pointer"
},
"calendarTimeShowItem": {
"border": "3px solid #CCC",
"background": "#666",
"color": "#FFF",
"font-size": "24px",
"font-weight": "bolder",
"float": "left",
"width": "36px",
"margin-left": "3px"
},
"calendarActionShow": {
"margin-top": "16px",
"text-align": "right",
"overflow": "hidden",
"margin-right": "10px"
},
"calendarActionShowButton": {
"margin-left": "15px"
}
}
<table border="0" cellpadding="2" cellspacing="20" class="MWF_calendar_days calendarDaysContent" width="100%">
<thead style="width:100%">
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody style="width:100%">
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
o2web/source/o2_core/o2/widget/$Calendar/homepage/left.png

193 Bytes

<table border="0" cellpadding="0" cellspacing="20" class="MWF_calendar_months calendarMonthsContent" height="330px">
<tbody>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
o2web/source/o2_core/o2/widget/$Calendar/homepage/next.gif

203 Bytes

o2web/source/o2_core/o2/widget/$Calendar/homepage/prev.gif

308 Bytes

o2web/source/o2_core/o2/widget/$Calendar/homepage/right.png

152 Bytes

Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment