forked from fanruan/fineui
Browse Source
Merge in VISUAL/fineui from ~GUY/fineui:master to master * commit '64c44f4c07d2dd04cec8940055d2c4933dbce017': bugfixes6
guy
3 years ago
1 changed files with 84 additions and 0 deletions
@ -0,0 +1,84 @@
|
||||
/** |
||||
* 气泡图控制器 |
||||
* 控制气泡图的显示方向 |
||||
* |
||||
* Created by GUY on 2015/8/21. |
||||
* @class |
||||
*/ |
||||
BI.BubblesController = BI.inherit(BI.Controller, { |
||||
init: function () { |
||||
this.storeBubbles = {}; |
||||
}, |
||||
|
||||
/** |
||||
* |
||||
* @param name |
||||
* @param text |
||||
* @param context |
||||
* @param offsetStyle center, left, right三种类型, 默认left |
||||
* @returns {BI.BubblesController} |
||||
*/ |
||||
show: function (name, text, context, opt) { |
||||
opt || (opt = {}); |
||||
var container = opt.container || context; |
||||
var offsetStyle = opt.offsetStyle || "left"; |
||||
var level = opt.level || "error"; |
||||
var adjustYOffset = opt.adjustYOffset || 0; |
||||
var adjustXOffset = opt.adjustXOffset || 0; |
||||
// var fixed = opt.fixed !== false;
|
||||
|
||||
if (!this.storeBubbles[name]) { |
||||
this.storeBubbles[name] = BI.createWidget({ |
||||
type: "bi.label", |
||||
cls: "bi-bubble" + " bubble-" + level, |
||||
text: text, |
||||
hgap: 5, |
||||
height: 18 |
||||
}); |
||||
} |
||||
var bubble = this.storeBubbles[name]; |
||||
|
||||
BI.createWidget({ |
||||
type: "bi.default", |
||||
element: container, |
||||
items: [{ |
||||
el: bubble |
||||
}] |
||||
}); |
||||
BI.Popper.createPopper(context.element[0], bubble.element[0], { |
||||
placement: ({ |
||||
left: "top-start", |
||||
center: "top", |
||||
right: "top-end" |
||||
})[offsetStyle], |
||||
strategy: "fixed", |
||||
modifiers: [ |
||||
{ |
||||
name: "offset", |
||||
options: { |
||||
offset: [adjustXOffset, adjustYOffset] |
||||
} |
||||
} |
||||
] |
||||
}); |
||||
return this; |
||||
}, |
||||
|
||||
hide: function (name) { |
||||
this.remove(name); |
||||
return this; |
||||
}, |
||||
|
||||
has: function (name) { |
||||
return this.storeBubbles[name] != null; |
||||
}, |
||||
|
||||
remove: function (name) { |
||||
if (!this.has(name)) { |
||||
return this; |
||||
} |
||||
this.storeBubbles[name].destroy(); |
||||
delete this.storeBubbles[name]; |
||||
return this; |
||||
} |
||||
}); |
Loading…
Reference in new issue