Browse Source

Merge pull request #85 in ~GUY/fineui from ~WINDY/fineui:master to master

* commit '7e66a82318729d75d4ffe529cd5e02805205007d':
  codeeditor的水印问题
master
windy 8 years ago
parent
commit
89089a6225
  1. 542
      bi/base.js
  2. 108
      bi/chart.js
  3. 170
      bi/core.js
  4. 96
      bi/widget.css
  5. 2084
      bi/widget.js
  6. 542
      docs/base.js
  7. 108
      docs/chart.js
  8. 19366
      docs/core.js
  9. 96
      docs/widget.css
  10. 2084
      docs/widget.js
  11. 24
      src/base/single/editor/editor.code.js

542
bi/base.js

@ -308,163 +308,163 @@ BI.Pane = BI.inherit(BI.Widget, {
}
});
BI.Pane.EVENT_LOADED = "EVENT_LOADED";/**
* guy
* 这仅仅只是一个超类, 所有简单控件的基类
* 1类的控制
* 2title的控制
* 3文字超过边界显示3个点
* 4cursor默认pointor
* @class BI.Single
* @extends BI.Widget
* @abstract
*/
BI.Single = BI.inherit(BI.Widget, {
_defaultConfig: function () {
var conf = BI.Single.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-single",
readonly: false,
title: null,
warningTitle: null,
tipType: null, // success或warning
value: null
})
},
_showToolTip: function (e, opt) {
opt || (opt = {});
var self = this;
var type = this.getTipType() || (this.isEnabled() ? "success" : "warning");
var title = type === "success" ? this.getTitle() : (this.getWarningTitle() || this.getTitle());
if (BI.isKey(title)) {
BI.Tooltips.show(e, this.getName(), title, type, this, opt);
}
},
_hideTooltip: function () {
var self = this;
var tooltip = BI.Tooltips.get(this.getName());
if (BI.isNotNull(tooltip)) {
tooltip.element.fadeOut(200, function () {
BI.Tooltips.remove(self.getName());
});
}
},
_init: function () {
BI.Single.superclass._init.apply(this, arguments);
var self = this, o = this.options;
if (BI.isKey(o.title) || BI.isKey(o.warningTitle)
|| BI.isFunction(o.title) || BI.isFunction(o.warningTitle)) {
this.enableHover();
}
},
enableHover: function (opt) {
opt || (opt = {});
var self = this;
if (!this._hoverBinded) {
this.element.on("mouseenter.title" + this.getName(), function (e) {
self._e = e;
if (self.getTipType() === "warning" || (BI.isKey(self.getWarningTitle()) && !self.isEnabled())) {
self.timeout = BI.delay(function () {
self._showToolTip(self._e || e, opt);
}, 200);
} else if (self.getTipType() === "success" || self.isEnabled()) {
self.timeout = BI.delay(function () {
self._showToolTip(self._e || e, opt);
}, 500);
}
});
this.element.on("mousemove.title" + this.getName(), function (e) {
self._e = e;
if (!self.element.__isMouseInBounds__(e)) {
if (BI.isNotNull(self.timeout)) {
clearTimeout(self.timeout);
}
self._hideTooltip();
}
});
this.element.on("mouseleave.title" + this.getName(), function () {
self._e = null;
if (BI.isNotNull(self.timeout)) {
clearTimeout(self.timeout);
}
self._hideTooltip();
});
this._hoverBinded = true;
}
},
disabledHover: function () {
//取消hover事件
if (BI.isNotNull(this.timeout)) {
clearTimeout(this.timeout);
}
this._hideTooltip();
$(this.element).unbind("mouseenter.title" + this.getName())
.unbind("mousemove.title" + this.getName())
.unbind("mouseleave.title" + this.getName());
this._hoverBinded = false;
},
populate: function (items) {
this.items = items || [];
},
//opt: {container: '', belowMouse: false}
setTitle: function (title, opt) {
this.options.title = title;
if (BI.isKey(title)) {
this.enableHover(opt);
} else {
this.disabledHover();
}
},
setWarningTitle: function (title, opt) {
this.options.warningTitle = title;
if (BI.isKey(title)) {
this.enableHover(opt);
} else {
this.disabledHover();
}
},
getTipType: function () {
return this.options.tipType;
},
isReadOnly: function () {
return !!this.options.readonly;
},
getTitle: function () {
var title = this.options.title;
if(BI.isFunction(title)) {
return title();
}
return title;
},
getWarningTitle: function () {
var title = this.options.warningTitle;
if(BI.isFunction(title)) {
return title();
}
return title;
},
setValue: function (val) {
if (!this.options.readonly) {
this.options.value = val;
}
},
getValue: function () {
return this.options.value;
}
BI.Pane.EVENT_LOADED = "EVENT_LOADED";/**
* guy
* 这仅仅只是一个超类, 所有简单控件的基类
* 1类的控制
* 2title的控制
* 3文字超过边界显示3个点
* 4cursor默认pointor
* @class BI.Single
* @extends BI.Widget
* @abstract
*/
BI.Single = BI.inherit(BI.Widget, {
_defaultConfig: function () {
var conf = BI.Single.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-single",
readonly: false,
title: null,
warningTitle: null,
tipType: null, // success或warning
value: null
})
},
_showToolTip: function (e, opt) {
opt || (opt = {});
var self = this;
var type = this.getTipType() || (this.isEnabled() ? "success" : "warning");
var title = type === "success" ? this.getTitle() : (this.getWarningTitle() || this.getTitle());
if (BI.isKey(title)) {
BI.Tooltips.show(e, this.getName(), title, type, this, opt);
}
},
_hideTooltip: function () {
var self = this;
var tooltip = BI.Tooltips.get(this.getName());
if (BI.isNotNull(tooltip)) {
tooltip.element.fadeOut(200, function () {
BI.Tooltips.remove(self.getName());
});
}
},
_init: function () {
BI.Single.superclass._init.apply(this, arguments);
var self = this, o = this.options;
if (BI.isKey(o.title) || BI.isKey(o.warningTitle)
|| BI.isFunction(o.title) || BI.isFunction(o.warningTitle)) {
this.enableHover();
}
},
enableHover: function (opt) {
opt || (opt = {});
var self = this;
if (!this._hoverBinded) {
this.element.on("mouseenter.title" + this.getName(), function (e) {
self._e = e;
if (self.getTipType() === "warning" || (BI.isKey(self.getWarningTitle()) && !self.isEnabled())) {
self.timeout = BI.delay(function () {
self._showToolTip(self._e || e, opt);
}, 200);
} else if (self.getTipType() === "success" || self.isEnabled()) {
self.timeout = BI.delay(function () {
self._showToolTip(self._e || e, opt);
}, 500);
}
});
this.element.on("mousemove.title" + this.getName(), function (e) {
self._e = e;
if (!self.element.__isMouseInBounds__(e)) {
if (BI.isNotNull(self.timeout)) {
clearTimeout(self.timeout);
}
self._hideTooltip();
}
});
this.element.on("mouseleave.title" + this.getName(), function () {
self._e = null;
if (BI.isNotNull(self.timeout)) {
clearTimeout(self.timeout);
}
self._hideTooltip();
});
this._hoverBinded = true;
}
},
disabledHover: function () {
//取消hover事件
if (BI.isNotNull(this.timeout)) {
clearTimeout(this.timeout);
}
this._hideTooltip();
$(this.element).unbind("mouseenter.title" + this.getName())
.unbind("mousemove.title" + this.getName())
.unbind("mouseleave.title" + this.getName());
this._hoverBinded = false;
},
populate: function (items) {
this.items = items || [];
},
//opt: {container: '', belowMouse: false}
setTitle: function (title, opt) {
this.options.title = title;
if (BI.isKey(title)) {
this.enableHover(opt);
} else {
this.disabledHover();
}
},
setWarningTitle: function (title, opt) {
this.options.warningTitle = title;
if (BI.isKey(title)) {
this.enableHover(opt);
} else {
this.disabledHover();
}
},
getTipType: function () {
return this.options.tipType;
},
isReadOnly: function () {
return !!this.options.readonly;
},
getTitle: function () {
var title = this.options.title;
if(BI.isFunction(title)) {
return title();
}
return title;
},
getWarningTitle: function () {
var title = this.options.warningTitle;
if(BI.isFunction(title)) {
return title();
}
return title;
},
setValue: function (val) {
if (!this.options.readonly) {
this.options.value = val;
}
},
getValue: function () {
return this.options.value;
}
});/**
* guy 表示一行数据通过position来定位位置的数据
* @class BI.Text
@ -918,82 +918,82 @@ BI.BasicButton = BI.inherit(BI.Single, {
BI.BasicButton.superclass.destroy.apply(this, arguments);
}
});
BI.BasicButton.EVENT_CHANGE = "BasicButton.EVENT_CHANGE";/**
* 表示一个可以展开的节点, 不仅有选中状态而且有展开状态
*
* Created by GUY on 2015/9/9.
* @class BI.NodeButton
* @extends BI.BasicButton
* @abstract
*/
BI.NodeButton = BI.inherit(BI.BasicButton, {
_defaultConfig: function() {
var conf = BI.NodeButton.superclass._defaultConfig.apply(this, arguments);
return BI.extend( conf, {
baseCls: (conf.baseCls || "") + " bi-node",
open: false
})
},
_init:function() {
BI.NodeButton.superclass._init.apply(this, arguments);
var self = this;
BI.nextTick(function(){
self.setOpened(self.isOpened());
})
},
doClick: function(){
BI.NodeButton.superclass.doClick.apply(this, arguments);
this.setOpened(!this.isOpened());
},
isOnce: function(){
return false;
},
isOpened: function(){
return !!this.options.open;
},
setOpened: function(b){
this.options.open = !!b;
},
triggerCollapse: function(){
if(this.isOpened()) {
this.setOpened(false);
this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, this.getValue(), this);
}
},
triggerExpand: function(){
if(!this.isOpened()) {
this.setOpened(true);
this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, this.getValue(), this);
}
}
});/**
* guy
* tip提示
* zIndex在10亿级别
* @class BI.Tip
* @extends BI.Single
* @abstract
*/
BI.Tip = BI.inherit(BI.Single, {
_defaultConfig: function() {
var conf = BI.Link.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-tip",
zIndex: BI.zIndex_tip
})
},
_init : function() {
BI.Tip.superclass._init.apply(this, arguments);
this.element.css({"zIndex": this.options.zIndex});
}
BI.BasicButton.EVENT_CHANGE = "BasicButton.EVENT_CHANGE";/**
* 表示一个可以展开的节点, 不仅有选中状态而且有展开状态
*
* Created by GUY on 2015/9/9.
* @class BI.NodeButton
* @extends BI.BasicButton
* @abstract
*/
BI.NodeButton = BI.inherit(BI.BasicButton, {
_defaultConfig: function() {
var conf = BI.NodeButton.superclass._defaultConfig.apply(this, arguments);
return BI.extend( conf, {
baseCls: (conf.baseCls || "") + " bi-node",
open: false
})
},
_init:function() {
BI.NodeButton.superclass._init.apply(this, arguments);
var self = this;
BI.nextTick(function(){
self.setOpened(self.isOpened());
})
},
doClick: function(){
BI.NodeButton.superclass.doClick.apply(this, arguments);
this.setOpened(!this.isOpened());
},
isOnce: function(){
return false;
},
isOpened: function(){
return !!this.options.open;
},
setOpened: function(b){
this.options.open = !!b;
},
triggerCollapse: function(){
if(this.isOpened()) {
this.setOpened(false);
this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, this.getValue(), this);
}
},
triggerExpand: function(){
if(!this.isOpened()) {
this.setOpened(true);
this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, this.getValue(), this);
}
}
});/**
* guy
* tip提示
* zIndex在10亿级别
* @class BI.Tip
* @extends BI.Single
* @abstract
*/
BI.Tip = BI.inherit(BI.Single, {
_defaultConfig: function() {
var conf = BI.Link.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-tip",
zIndex: BI.zIndex_tip
})
},
_init : function() {
BI.Tip.superclass._init.apply(this, arguments);
this.element.css({"zIndex": this.options.zIndex});
}
});/**
* Created by GUY on 2015/6/26.
* @class BI.ButtonGroup
@ -17747,12 +17747,12 @@ BI.CodeEditor = BI.inherit(BI.Single, {
});
this.editor.on("focus", function () {
watermark.setVisible(false);
self.watermark.setVisible(false);
self.fireEvent(BI.CodeEditor.EVENT_FOCUS);
});
this.editor.on("blur", function () {
watermark.setVisible(BI.isEmptyString(self.getValue()));
self.watermark.setVisible(BI.isEmptyString(self.getValue()));
self.fireEvent(BI.CodeEditor.EVENT_BLUR);
});
@ -17761,21 +17761,21 @@ BI.CodeEditor = BI.inherit(BI.Single, {
// });
//水印
var watermark = BI.createWidget({
this.watermark = BI.createWidget({
type: "bi.label",
text: o.watermark,
cls: "bi-water-mark",
whiteSpace: "nowrap",
textAlign: "left"
});
watermark.element.bind(
this.watermark.element.bind(
"mousedown", function (e) {
self.insertString("");
self.editor.focus();
e.stopEvent();
}
);
watermark.element.bind("click", function (e) {
this.watermark.element.bind("click", function (e) {
self.editor.focus();
e.stopEvent();
});
@ -17783,7 +17783,7 @@ BI.CodeEditor = BI.inherit(BI.Single, {
type: "bi.absolute",
element: this,
items: [{
el: watermark,
el: this.watermark,
top: 0,
left: 5
}]
@ -17801,6 +17801,15 @@ BI.CodeEditor = BI.inherit(BI.Single, {
this.editor.setOption("readOnly", b === true ? false : "nocursor")
},
_checkWaterMark: function () {
var o = this.options;
if (BI.isEmptyString(this.editor.getValue()) && BI.isKey(o.watermark)) {
this.watermark && this.watermark.visible();
} else {
this.watermark && this.watermark.invisible();
}
},
insertParam: function (param) {
var from = this.editor.getCursor();
this.editor.replaceSelection(param);
@ -17855,7 +17864,8 @@ BI.CodeEditor = BI.inherit(BI.Single, {
} else {
self.insertString(item);
}
})
});
this._checkWaterMark();
},
focus: function () {
@ -20261,32 +20271,32 @@ BI.Tooltip = BI.inherit(BI.Tip, {
}
});
BI.shortcut("bi.tooltip", BI.Tooltip);/**
* 下拉
* @class BI.Trigger
* @extends BI.Single
* @abstract
*/
BI.Trigger = BI.inherit(BI.Single, {
_defaultConfig: function() {
var conf = BI.Trigger.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-trigger cursor-pointer",
height: 30
})
},
_init : function() {
BI.Trigger.superclass._init.apply(this, arguments);
},
setKey: function(){
},
getKey: function(){
}
BI.shortcut("bi.tooltip", BI.Tooltip);/**
* 下拉
* @class BI.Trigger
* @extends BI.Single
* @abstract
*/
BI.Trigger = BI.inherit(BI.Single, {
_defaultConfig: function() {
var conf = BI.Trigger.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-trigger cursor-pointer",
height: 30
})
},
_init : function() {
BI.Trigger.superclass._init.apply(this, arguments);
},
setKey: function(){
},
getKey: function(){
}
});// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");

108
bi/chart.js

@ -1,57 +1,57 @@
/**
* 图表控件
* @class BI.Chart
* @extends BI.Widget
*/
BI.Chart = BI.inherit(BI.Pane, {
_defaultConfig: function () {
return BI.extend(BI.Chart.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-chart"
})
},
_init: function () {
BI.Chart.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.isSetOptions = false;
this.vanCharts = VanCharts.init(self.element[0]);
this._resizer = BI.debounce(function () {
if (self.element.width() > 0 && self.element.height() > 0) {
self.vanCharts.resize();
}
}, 30);
BI.ResizeDetector.addResizeListener(this, function (e) {
self._resizer();
});
},
resize: function () {
if (this.isSetOptions === true) {
this._resizer();
}
},
magnify: function () {
this.vanCharts.refreshRestore()
},
populate: function (items, options) {
var self = this, o = this.options;
o.items = items;
this.config = options || {};
this.config.series = o.items;
var setOptions = function () {
self.vanCharts.setOptions(self.config);
self.isSetOptions = true;
};
BI.nextTick(setOptions);
}
});
BI.Chart.EVENT_CHANGE = "EVENT_CHANGE";
/**
* 图表控件
* @class BI.Chart
* @extends BI.Widget
*/
BI.Chart = BI.inherit(BI.Pane, {
_defaultConfig: function () {
return BI.extend(BI.Chart.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-chart"
})
},
_init: function () {
BI.Chart.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.isSetOptions = false;
this.vanCharts = VanCharts.init(self.element[0]);
this._resizer = BI.debounce(function () {
if (self.element.width() > 0 && self.element.height() > 0) {
self.vanCharts.resize();
}
}, 30);
BI.ResizeDetector.addResizeListener(this, function (e) {
self._resizer();
});
},
resize: function () {
if (this.isSetOptions === true) {
this._resizer();
}
},
magnify: function () {
this.vanCharts.refreshRestore()
},
populate: function (items, options) {
var self = this, o = this.options;
o.items = items;
this.config = options || {};
this.config.series = o.items;
var setOptions = function () {
self.vanCharts.setOptions(self.config);
self.isSetOptions = true;
};
BI.nextTick(setOptions);
}
});
BI.Chart.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut('bi.chart', BI.Chart);/**
* 图表控件
* @class BI.CombineChart

170
bi/core.js

@ -15929,91 +15929,91 @@ BI.TooltipsController = BI.inherit(BI.Controller, {
delete this.tooltipsManager[name];
return this;
}
});/**
*
* @class BI.FloatBoxRouter
* @extends BI.WRouter
*/
BI.FloatBoxRouter = BI.inherit(BI.WRouter, {
routes: {},
_init: function () {
this.store = {};
this.views = {};
},
createView: function (url, modelData, viewData, context) {
return BI.Factory.createView(url, this.get(url), modelData || {}, viewData || {}, context)
},
open: function (url, modelData, viewData, context, options) {
var self = this, isValid = BI.isKey(modelData);
options || (options = {});
url = context.rootURL + "/" + url;
var data = void 0;
if (isValid) {
modelData = modelData + "";//避免modelData是数字
var keys = modelData.split('.');
BI.each(keys, function (i, k) {
if (i === 0) {
data = context.model.get(k) || {};
} else {
data = data[k] || {};
}
});
data.id = options.id || keys[keys.length - 1];
} else {
data = modelData;
}
BI.extend(data, options.data);
if (!this.controller) {
this.controller = new BI.FloatBoxController();
}
if (!this.store[url]) {
this.store[url] = BI.createWidget({
type: "bi.float_box"
}, options);
var view = this.createView(url, data, viewData, context);
isValid && context.model.addChild(modelData, view.model);
view.listenTo(view.model, "destroy", function () {
self.remove(url, context);
});
context.on(BI.Events.UNMOUNT, function () {
self.remove(url, context);
});
this.store[url].populate(view);
this.views[url] = view;
this.controller.add(url, this.store[url]);
context && context.on("end:" + view.cid, function () {
BI.nextTick(function () {
self.close(url);
// view.end();
(context.listenEnd.apply(context, isValid ? modelData.split('.') : [modelData]) !== false) && context.populate();
}, 30)
}).on("change:" + view.cid, _.bind(context.notifyParent, context))
}
this.controller.open(url);
this.views[url].populate(data, options.force || true);
return this;
},
close: function (url) {
if (this.controller) {
this.controller.close(url);
}
return this;
},
remove: function (url, context) {
url = context.rootURL + "/" + url;
if (this.controller) {
this.controller.remove(url);
delete this.store[url];
this.views[url] && this.views[url].model.destroy();
delete this.views[url];
}
return this;
}
});/**
*
* @class BI.FloatBoxRouter
* @extends BI.WRouter
*/
BI.FloatBoxRouter = BI.inherit(BI.WRouter, {
routes: {},
_init: function () {
this.store = {};
this.views = {};
},
createView: function (url, modelData, viewData, context) {
return BI.Factory.createView(url, this.get(url), modelData || {}, viewData || {}, context)
},
open: function (url, modelData, viewData, context, options) {
var self = this, isValid = BI.isKey(modelData);
options || (options = {});
url = context.rootURL + "/" + url;
var data = void 0;
if (isValid) {
modelData = modelData + "";//避免modelData是数字
var keys = modelData.split('.');
BI.each(keys, function (i, k) {
if (i === 0) {
data = context.model.get(k) || {};
} else {
data = data[k] || {};
}
});
data.id = options.id || keys[keys.length - 1];
} else {
data = modelData;
}
BI.extend(data, options.data);
if (!this.controller) {
this.controller = new BI.FloatBoxController();
}
if (!this.store[url]) {
this.store[url] = BI.createWidget({
type: "bi.float_box"
}, options);
var view = this.createView(url, data, viewData, context);
isValid && context.model.addChild(modelData, view.model);
view.listenTo(view.model, "destroy", function () {
self.remove(url, context);
});
context.on(BI.Events.UNMOUNT, function () {
self.remove(url, context);
});
this.store[url].populate(view);
this.views[url] = view;
this.controller.add(url, this.store[url]);
context && context.on("end:" + view.cid, function () {
BI.nextTick(function () {
self.close(url);
// view.end();
(context.listenEnd.apply(context, isValid ? modelData.split('.') : [modelData]) !== false) && context.populate();
}, 30)
}).on("change:" + view.cid, _.bind(context.notifyParent, context))
}
this.controller.open(url);
this.views[url].populate(data, options.force || true);
return this;
},
close: function (url) {
if (this.controller) {
this.controller.close(url);
}
return this;
},
remove: function (url, context) {
url = context.rootURL + "/" + url;
if (this.controller) {
this.controller.remove(url);
delete this.store[url];
this.views[url] && this.views[url].model.destroy();
delete this.views[url];
}
return this;
}
});/**
* 统一绑定事件
* @type {*|void|Object}

96
bi/widget.css

@ -1,5 +1,5 @@
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-arrangement .arrangement-helper {
background: #3f8ce8;
z-index: 1000000000;
@ -105,20 +105,20 @@
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/*************BI.SearchEditor******************/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-date-trigger {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-down-list-popup .bi-down-list-item .list-item-text {
max-width: 203px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-excel-table > div.bottom-right > div > div > table {
border-right: 1px solid #d4dadd;
}
@ -128,12 +128,12 @@
.bi-excel-table-header-cell {
font-weight: bold;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-file-manager-nav-button .file-manager-nav-button-text {
max-width: 200px;
}
@ -148,8 +148,8 @@
background-color: #191b2b;
color: #999999;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-fine-tuning-number-editor {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
@ -162,10 +162,10 @@
.bi-interactive-arrangement .interactive-arrangement-dragtag-icon {
z-index: 1000000000;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-month-trigger {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
@ -174,13 +174,13 @@
.bi-multi-select-check-pane .multi-select-check-selected {
text-decoration: underline;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-multi-select-combo .multi-select-trigger-icon-button {
font-size: 16px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-multi-select-trigger {
-webkit-border-radius: 2px 2px 2px 2px;
-moz-border-radius: 2px 2px 2px 2px;
@ -192,27 +192,27 @@
.bi-multi-select-check-selected-button {
z-index: 1;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-multi-tree-check-pane .multi-tree-check-selected {
color: #3f8ce8;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-multi-tree-combo .multi-select-trigger-icon-button {
font-size: 16px;
}
.bi-multi-tree-popup .popup-view-tree {
min-height: 170px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-multi-tree-check-selected-button .trigger-check-selected {
color: #3f8ce8;
z-index: 1;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-numerical-interval .numerical-interval-small-editor {
-moz-border-radius-topleft: 2px;
-webkit-border-top-left-radius: 2px;
@ -254,8 +254,8 @@
.bi-numerical-interval.number-error .bi-input {
color: #e85050;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-page-table-cell {
-webkit-user-select: initial;
-khtml-user-select: initial;
@ -264,8 +264,8 @@
-o-user-select: initial;
user-select: initial;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-path-chooser .path-chooser-radio {
z-index: 1;
}
@ -299,17 +299,17 @@
min-width: 80px;
max-width: 220px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-quarter-trigger {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-relation-view-region .relation-view-region-container {
z-index: 1;
-webkit-border-radius: 2px;
@ -365,8 +365,8 @@
box-sizing: border-box;
/*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-sequence-table-tree-number .sequence-table-title-cell {
overflow: hidden;
overflow-x: hidden;
@ -390,10 +390,10 @@
box-sizing: border-box;
/*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-year-popup .year-popup-navigation {
line-height: 30px;
}

2084
bi/widget.js

File diff suppressed because it is too large Load Diff

542
docs/base.js

@ -308,163 +308,163 @@ BI.Pane = BI.inherit(BI.Widget, {
}
});
BI.Pane.EVENT_LOADED = "EVENT_LOADED";/**
* guy
* 这仅仅只是一个超类, 所有简单控件的基类
* 1类的控制
* 2title的控制
* 3文字超过边界显示3个点
* 4cursor默认pointor
* @class BI.Single
* @extends BI.Widget
* @abstract
*/
BI.Single = BI.inherit(BI.Widget, {
_defaultConfig: function () {
var conf = BI.Single.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-single",
readonly: false,
title: null,
warningTitle: null,
tipType: null, // success或warning
value: null
})
},
_showToolTip: function (e, opt) {
opt || (opt = {});
var self = this;
var type = this.getTipType() || (this.isEnabled() ? "success" : "warning");
var title = type === "success" ? this.getTitle() : (this.getWarningTitle() || this.getTitle());
if (BI.isKey(title)) {
BI.Tooltips.show(e, this.getName(), title, type, this, opt);
}
},
_hideTooltip: function () {
var self = this;
var tooltip = BI.Tooltips.get(this.getName());
if (BI.isNotNull(tooltip)) {
tooltip.element.fadeOut(200, function () {
BI.Tooltips.remove(self.getName());
});
}
},
_init: function () {
BI.Single.superclass._init.apply(this, arguments);
var self = this, o = this.options;
if (BI.isKey(o.title) || BI.isKey(o.warningTitle)
|| BI.isFunction(o.title) || BI.isFunction(o.warningTitle)) {
this.enableHover();
}
},
enableHover: function (opt) {
opt || (opt = {});
var self = this;
if (!this._hoverBinded) {
this.element.on("mouseenter.title" + this.getName(), function (e) {
self._e = e;
if (self.getTipType() === "warning" || (BI.isKey(self.getWarningTitle()) && !self.isEnabled())) {
self.timeout = BI.delay(function () {
self._showToolTip(self._e || e, opt);
}, 200);
} else if (self.getTipType() === "success" || self.isEnabled()) {
self.timeout = BI.delay(function () {
self._showToolTip(self._e || e, opt);
}, 500);
}
});
this.element.on("mousemove.title" + this.getName(), function (e) {
self._e = e;
if (!self.element.__isMouseInBounds__(e)) {
if (BI.isNotNull(self.timeout)) {
clearTimeout(self.timeout);
}
self._hideTooltip();
}
});
this.element.on("mouseleave.title" + this.getName(), function () {
self._e = null;
if (BI.isNotNull(self.timeout)) {
clearTimeout(self.timeout);
}
self._hideTooltip();
});
this._hoverBinded = true;
}
},
disabledHover: function () {
//取消hover事件
if (BI.isNotNull(this.timeout)) {
clearTimeout(this.timeout);
}
this._hideTooltip();
$(this.element).unbind("mouseenter.title" + this.getName())
.unbind("mousemove.title" + this.getName())
.unbind("mouseleave.title" + this.getName());
this._hoverBinded = false;
},
populate: function (items) {
this.items = items || [];
},
//opt: {container: '', belowMouse: false}
setTitle: function (title, opt) {
this.options.title = title;
if (BI.isKey(title)) {
this.enableHover(opt);
} else {
this.disabledHover();
}
},
setWarningTitle: function (title, opt) {
this.options.warningTitle = title;
if (BI.isKey(title)) {
this.enableHover(opt);
} else {
this.disabledHover();
}
},
getTipType: function () {
return this.options.tipType;
},
isReadOnly: function () {
return !!this.options.readonly;
},
getTitle: function () {
var title = this.options.title;
if(BI.isFunction(title)) {
return title();
}
return title;
},
getWarningTitle: function () {
var title = this.options.warningTitle;
if(BI.isFunction(title)) {
return title();
}
return title;
},
setValue: function (val) {
if (!this.options.readonly) {
this.options.value = val;
}
},
getValue: function () {
return this.options.value;
}
BI.Pane.EVENT_LOADED = "EVENT_LOADED";/**
* guy
* 这仅仅只是一个超类, 所有简单控件的基类
* 1类的控制
* 2title的控制
* 3文字超过边界显示3个点
* 4cursor默认pointor
* @class BI.Single
* @extends BI.Widget
* @abstract
*/
BI.Single = BI.inherit(BI.Widget, {
_defaultConfig: function () {
var conf = BI.Single.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-single",
readonly: false,
title: null,
warningTitle: null,
tipType: null, // success或warning
value: null
})
},
_showToolTip: function (e, opt) {
opt || (opt = {});
var self = this;
var type = this.getTipType() || (this.isEnabled() ? "success" : "warning");
var title = type === "success" ? this.getTitle() : (this.getWarningTitle() || this.getTitle());
if (BI.isKey(title)) {
BI.Tooltips.show(e, this.getName(), title, type, this, opt);
}
},
_hideTooltip: function () {
var self = this;
var tooltip = BI.Tooltips.get(this.getName());
if (BI.isNotNull(tooltip)) {
tooltip.element.fadeOut(200, function () {
BI.Tooltips.remove(self.getName());
});
}
},
_init: function () {
BI.Single.superclass._init.apply(this, arguments);
var self = this, o = this.options;
if (BI.isKey(o.title) || BI.isKey(o.warningTitle)
|| BI.isFunction(o.title) || BI.isFunction(o.warningTitle)) {
this.enableHover();
}
},
enableHover: function (opt) {
opt || (opt = {});
var self = this;
if (!this._hoverBinded) {
this.element.on("mouseenter.title" + this.getName(), function (e) {
self._e = e;
if (self.getTipType() === "warning" || (BI.isKey(self.getWarningTitle()) && !self.isEnabled())) {
self.timeout = BI.delay(function () {
self._showToolTip(self._e || e, opt);
}, 200);
} else if (self.getTipType() === "success" || self.isEnabled()) {
self.timeout = BI.delay(function () {
self._showToolTip(self._e || e, opt);
}, 500);
}
});
this.element.on("mousemove.title" + this.getName(), function (e) {
self._e = e;
if (!self.element.__isMouseInBounds__(e)) {
if (BI.isNotNull(self.timeout)) {
clearTimeout(self.timeout);
}
self._hideTooltip();
}
});
this.element.on("mouseleave.title" + this.getName(), function () {
self._e = null;
if (BI.isNotNull(self.timeout)) {
clearTimeout(self.timeout);
}
self._hideTooltip();
});
this._hoverBinded = true;
}
},
disabledHover: function () {
//取消hover事件
if (BI.isNotNull(this.timeout)) {
clearTimeout(this.timeout);
}
this._hideTooltip();
$(this.element).unbind("mouseenter.title" + this.getName())
.unbind("mousemove.title" + this.getName())
.unbind("mouseleave.title" + this.getName());
this._hoverBinded = false;
},
populate: function (items) {
this.items = items || [];
},
//opt: {container: '', belowMouse: false}
setTitle: function (title, opt) {
this.options.title = title;
if (BI.isKey(title)) {
this.enableHover(opt);
} else {
this.disabledHover();
}
},
setWarningTitle: function (title, opt) {
this.options.warningTitle = title;
if (BI.isKey(title)) {
this.enableHover(opt);
} else {
this.disabledHover();
}
},
getTipType: function () {
return this.options.tipType;
},
isReadOnly: function () {
return !!this.options.readonly;
},
getTitle: function () {
var title = this.options.title;
if(BI.isFunction(title)) {
return title();
}
return title;
},
getWarningTitle: function () {
var title = this.options.warningTitle;
if(BI.isFunction(title)) {
return title();
}
return title;
},
setValue: function (val) {
if (!this.options.readonly) {
this.options.value = val;
}
},
getValue: function () {
return this.options.value;
}
});/**
* guy 表示一行数据通过position来定位位置的数据
* @class BI.Text
@ -918,82 +918,82 @@ BI.BasicButton = BI.inherit(BI.Single, {
BI.BasicButton.superclass.destroy.apply(this, arguments);
}
});
BI.BasicButton.EVENT_CHANGE = "BasicButton.EVENT_CHANGE";/**
* 表示一个可以展开的节点, 不仅有选中状态而且有展开状态
*
* Created by GUY on 2015/9/9.
* @class BI.NodeButton
* @extends BI.BasicButton
* @abstract
*/
BI.NodeButton = BI.inherit(BI.BasicButton, {
_defaultConfig: function() {
var conf = BI.NodeButton.superclass._defaultConfig.apply(this, arguments);
return BI.extend( conf, {
baseCls: (conf.baseCls || "") + " bi-node",
open: false
})
},
_init:function() {
BI.NodeButton.superclass._init.apply(this, arguments);
var self = this;
BI.nextTick(function(){
self.setOpened(self.isOpened());
})
},
doClick: function(){
BI.NodeButton.superclass.doClick.apply(this, arguments);
this.setOpened(!this.isOpened());
},
isOnce: function(){
return false;
},
isOpened: function(){
return !!this.options.open;
},
setOpened: function(b){
this.options.open = !!b;
},
triggerCollapse: function(){
if(this.isOpened()) {
this.setOpened(false);
this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, this.getValue(), this);
}
},
triggerExpand: function(){
if(!this.isOpened()) {
this.setOpened(true);
this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, this.getValue(), this);
}
}
});/**
* guy
* tip提示
* zIndex在10亿级别
* @class BI.Tip
* @extends BI.Single
* @abstract
*/
BI.Tip = BI.inherit(BI.Single, {
_defaultConfig: function() {
var conf = BI.Link.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-tip",
zIndex: BI.zIndex_tip
})
},
_init : function() {
BI.Tip.superclass._init.apply(this, arguments);
this.element.css({"zIndex": this.options.zIndex});
}
BI.BasicButton.EVENT_CHANGE = "BasicButton.EVENT_CHANGE";/**
* 表示一个可以展开的节点, 不仅有选中状态而且有展开状态
*
* Created by GUY on 2015/9/9.
* @class BI.NodeButton
* @extends BI.BasicButton
* @abstract
*/
BI.NodeButton = BI.inherit(BI.BasicButton, {
_defaultConfig: function() {
var conf = BI.NodeButton.superclass._defaultConfig.apply(this, arguments);
return BI.extend( conf, {
baseCls: (conf.baseCls || "") + " bi-node",
open: false
})
},
_init:function() {
BI.NodeButton.superclass._init.apply(this, arguments);
var self = this;
BI.nextTick(function(){
self.setOpened(self.isOpened());
})
},
doClick: function(){
BI.NodeButton.superclass.doClick.apply(this, arguments);
this.setOpened(!this.isOpened());
},
isOnce: function(){
return false;
},
isOpened: function(){
return !!this.options.open;
},
setOpened: function(b){
this.options.open = !!b;
},
triggerCollapse: function(){
if(this.isOpened()) {
this.setOpened(false);
this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, this.getValue(), this);
}
},
triggerExpand: function(){
if(!this.isOpened()) {
this.setOpened(true);
this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, this.getValue(), this);
}
}
});/**
* guy
* tip提示
* zIndex在10亿级别
* @class BI.Tip
* @extends BI.Single
* @abstract
*/
BI.Tip = BI.inherit(BI.Single, {
_defaultConfig: function() {
var conf = BI.Link.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-tip",
zIndex: BI.zIndex_tip
})
},
_init : function() {
BI.Tip.superclass._init.apply(this, arguments);
this.element.css({"zIndex": this.options.zIndex});
}
});/**
* Created by GUY on 2015/6/26.
* @class BI.ButtonGroup
@ -17747,12 +17747,12 @@ BI.CodeEditor = BI.inherit(BI.Single, {
});
this.editor.on("focus", function () {
watermark.setVisible(false);
self.watermark.setVisible(false);
self.fireEvent(BI.CodeEditor.EVENT_FOCUS);
});
this.editor.on("blur", function () {
watermark.setVisible(BI.isEmptyString(self.getValue()));
self.watermark.setVisible(BI.isEmptyString(self.getValue()));
self.fireEvent(BI.CodeEditor.EVENT_BLUR);
});
@ -17761,21 +17761,21 @@ BI.CodeEditor = BI.inherit(BI.Single, {
// });
//水印
var watermark = BI.createWidget({
this.watermark = BI.createWidget({
type: "bi.label",
text: o.watermark,
cls: "bi-water-mark",
whiteSpace: "nowrap",
textAlign: "left"
});
watermark.element.bind(
this.watermark.element.bind(
"mousedown", function (e) {
self.insertString("");
self.editor.focus();
e.stopEvent();
}
);
watermark.element.bind("click", function (e) {
this.watermark.element.bind("click", function (e) {
self.editor.focus();
e.stopEvent();
});
@ -17783,7 +17783,7 @@ BI.CodeEditor = BI.inherit(BI.Single, {
type: "bi.absolute",
element: this,
items: [{
el: watermark,
el: this.watermark,
top: 0,
left: 5
}]
@ -17801,6 +17801,15 @@ BI.CodeEditor = BI.inherit(BI.Single, {
this.editor.setOption("readOnly", b === true ? false : "nocursor")
},
_checkWaterMark: function () {
var o = this.options;
if (BI.isEmptyString(this.editor.getValue()) && BI.isKey(o.watermark)) {
this.watermark && this.watermark.visible();
} else {
this.watermark && this.watermark.invisible();
}
},
insertParam: function (param) {
var from = this.editor.getCursor();
this.editor.replaceSelection(param);
@ -17855,7 +17864,8 @@ BI.CodeEditor = BI.inherit(BI.Single, {
} else {
self.insertString(item);
}
})
});
this._checkWaterMark();
},
focus: function () {
@ -20261,32 +20271,32 @@ BI.Tooltip = BI.inherit(BI.Tip, {
}
});
BI.shortcut("bi.tooltip", BI.Tooltip);/**
* 下拉
* @class BI.Trigger
* @extends BI.Single
* @abstract
*/
BI.Trigger = BI.inherit(BI.Single, {
_defaultConfig: function() {
var conf = BI.Trigger.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-trigger cursor-pointer",
height: 30
})
},
_init : function() {
BI.Trigger.superclass._init.apply(this, arguments);
},
setKey: function(){
},
getKey: function(){
}
BI.shortcut("bi.tooltip", BI.Tooltip);/**
* 下拉
* @class BI.Trigger
* @extends BI.Single
* @abstract
*/
BI.Trigger = BI.inherit(BI.Single, {
_defaultConfig: function() {
var conf = BI.Trigger.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: (conf.baseCls || "") + " bi-trigger cursor-pointer",
height: 30
})
},
_init : function() {
BI.Trigger.superclass._init.apply(this, arguments);
},
setKey: function(){
},
getKey: function(){
}
});// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");

108
docs/chart.js

@ -1,57 +1,57 @@
/**
* 图表控件
* @class BI.Chart
* @extends BI.Widget
*/
BI.Chart = BI.inherit(BI.Pane, {
_defaultConfig: function () {
return BI.extend(BI.Chart.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-chart"
})
},
_init: function () {
BI.Chart.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.isSetOptions = false;
this.vanCharts = VanCharts.init(self.element[0]);
this._resizer = BI.debounce(function () {
if (self.element.width() > 0 && self.element.height() > 0) {
self.vanCharts.resize();
}
}, 30);
BI.ResizeDetector.addResizeListener(this, function (e) {
self._resizer();
});
},
resize: function () {
if (this.isSetOptions === true) {
this._resizer();
}
},
magnify: function () {
this.vanCharts.refreshRestore()
},
populate: function (items, options) {
var self = this, o = this.options;
o.items = items;
this.config = options || {};
this.config.series = o.items;
var setOptions = function () {
self.vanCharts.setOptions(self.config);
self.isSetOptions = true;
};
BI.nextTick(setOptions);
}
});
BI.Chart.EVENT_CHANGE = "EVENT_CHANGE";
/**
* 图表控件
* @class BI.Chart
* @extends BI.Widget
*/
BI.Chart = BI.inherit(BI.Pane, {
_defaultConfig: function () {
return BI.extend(BI.Chart.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-chart"
})
},
_init: function () {
BI.Chart.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.isSetOptions = false;
this.vanCharts = VanCharts.init(self.element[0]);
this._resizer = BI.debounce(function () {
if (self.element.width() > 0 && self.element.height() > 0) {
self.vanCharts.resize();
}
}, 30);
BI.ResizeDetector.addResizeListener(this, function (e) {
self._resizer();
});
},
resize: function () {
if (this.isSetOptions === true) {
this._resizer();
}
},
magnify: function () {
this.vanCharts.refreshRestore()
},
populate: function (items, options) {
var self = this, o = this.options;
o.items = items;
this.config = options || {};
this.config.series = o.items;
var setOptions = function () {
self.vanCharts.setOptions(self.config);
self.isSetOptions = true;
};
BI.nextTick(setOptions);
}
});
BI.Chart.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut('bi.chart', BI.Chart);/**
* 图表控件
* @class BI.CombineChart

19366
docs/core.js

File diff suppressed because it is too large Load Diff

96
docs/widget.css

@ -1,5 +1,5 @@
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-arrangement .arrangement-helper {
background: #3f8ce8;
z-index: 1000000000;
@ -105,20 +105,20 @@
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/*************BI.SearchEditor******************/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-date-trigger {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-down-list-popup .bi-down-list-item .list-item-text {
max-width: 203px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-excel-table > div.bottom-right > div > div > table {
border-right: 1px solid #d4dadd;
}
@ -128,12 +128,12 @@
.bi-excel-table-header-cell {
font-weight: bold;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-file-manager-nav-button .file-manager-nav-button-text {
max-width: 200px;
}
@ -148,8 +148,8 @@
background-color: #191b2b;
color: #999999;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-fine-tuning-number-editor {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
@ -162,10 +162,10 @@
.bi-interactive-arrangement .interactive-arrangement-dragtag-icon {
z-index: 1000000000;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-month-trigger {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
@ -174,13 +174,13 @@
.bi-multi-select-check-pane .multi-select-check-selected {
text-decoration: underline;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-multi-select-combo .multi-select-trigger-icon-button {
font-size: 16px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-multi-select-trigger {
-webkit-border-radius: 2px 2px 2px 2px;
-moz-border-radius: 2px 2px 2px 2px;
@ -192,27 +192,27 @@
.bi-multi-select-check-selected-button {
z-index: 1;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-multi-tree-check-pane .multi-tree-check-selected {
color: #3f8ce8;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-multi-tree-combo .multi-select-trigger-icon-button {
font-size: 16px;
}
.bi-multi-tree-popup .popup-view-tree {
min-height: 170px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-multi-tree-check-selected-button .trigger-check-selected {
color: #3f8ce8;
z-index: 1;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-numerical-interval .numerical-interval-small-editor {
-moz-border-radius-topleft: 2px;
-webkit-border-top-left-radius: 2px;
@ -254,8 +254,8 @@
.bi-numerical-interval.number-error .bi-input {
color: #e85050;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-page-table-cell {
-webkit-user-select: initial;
-khtml-user-select: initial;
@ -264,8 +264,8 @@
-o-user-select: initial;
user-select: initial;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-path-chooser .path-chooser-radio {
z-index: 1;
}
@ -299,17 +299,17 @@
min-width: 80px;
max-width: 220px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-quarter-trigger {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-relation-view-region .relation-view-region-container {
z-index: 1;
-webkit-border-radius: 2px;
@ -365,8 +365,8 @@
box-sizing: border-box;
/*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-sequence-table-tree-number .sequence-table-title-cell {
overflow: hidden;
overflow-x: hidden;
@ -390,10 +390,10 @@
box-sizing: border-box;
/*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/
}
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
/****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-year-popup .year-popup-navigation {
line-height: 30px;
}

2084
docs/widget.js

File diff suppressed because it is too large Load Diff

24
src/base/single/editor/editor.code.js

@ -31,12 +31,12 @@ BI.CodeEditor = BI.inherit(BI.Single, {
});
this.editor.on("focus", function () {
watermark.setVisible(false);
self.watermark.setVisible(false);
self.fireEvent(BI.CodeEditor.EVENT_FOCUS);
});
this.editor.on("blur", function () {
watermark.setVisible(BI.isEmptyString(self.getValue()));
self.watermark.setVisible(BI.isEmptyString(self.getValue()));
self.fireEvent(BI.CodeEditor.EVENT_BLUR);
});
@ -45,21 +45,21 @@ BI.CodeEditor = BI.inherit(BI.Single, {
// });
//水印
var watermark = BI.createWidget({
this.watermark = BI.createWidget({
type: "bi.label",
text: o.watermark,
cls: "bi-water-mark",
whiteSpace: "nowrap",
textAlign: "left"
});
watermark.element.bind(
this.watermark.element.bind(
"mousedown", function (e) {
self.insertString("");
self.editor.focus();
e.stopEvent();
}
);
watermark.element.bind("click", function (e) {
this.watermark.element.bind("click", function (e) {
self.editor.focus();
e.stopEvent();
});
@ -67,7 +67,7 @@ BI.CodeEditor = BI.inherit(BI.Single, {
type: "bi.absolute",
element: this,
items: [{
el: watermark,
el: this.watermark,
top: 0,
left: 5
}]
@ -85,6 +85,15 @@ BI.CodeEditor = BI.inherit(BI.Single, {
this.editor.setOption("readOnly", b === true ? false : "nocursor")
},
_checkWaterMark: function () {
var o = this.options;
if (BI.isEmptyString(this.editor.getValue()) && BI.isKey(o.watermark)) {
this.watermark && this.watermark.visible();
} else {
this.watermark && this.watermark.invisible();
}
},
insertParam: function (param) {
var from = this.editor.getCursor();
this.editor.replaceSelection(param);
@ -139,7 +148,8 @@ BI.CodeEditor = BI.inherit(BI.Single, {
} else {
self.insertString(item);
}
})
});
this._checkWaterMark();
},
focus: function () {

Loading…
Cancel
Save