forked from fanruan/fineui
windy
8 years ago
103 changed files with 33588 additions and 14906 deletions
@ -1,3 +0,0 @@ |
|||||||
/** |
|
||||||
* Created by User on 2017/3/22. |
|
||||||
*/ |
|
@ -1,3 +0,0 @@ |
|||||||
/** |
|
||||||
* Created by User on 2017/3/22. |
|
||||||
*/ |
|
@ -1,3 +0,0 @@ |
|||||||
/** |
|
||||||
* Created by User on 2017/3/22. |
|
||||||
*/ |
|
@ -1,356 +1,8 @@ |
|||||||
Demo.WIDGET_CONFIG = [{ |
Demo.WIDGET_CONFIG = [{ |
||||||
id: 4, |
id: 4, |
||||||
text: "详细控件" |
text: "详细控件" |
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.loading_mask", |
|
||||||
value: "demo.loadingmask" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "可以切换的树", |
|
||||||
value: "demo.switch_tree" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "进度条", |
|
||||||
value: "demo.progressbar" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.text_editor", |
|
||||||
value: "demo.text_editor" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.search_editor", |
|
||||||
value: "demo.search_editor" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.adapt_editor", |
|
||||||
value: "demo.adapt_editor" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.sign_initial_editor", |
|
||||||
value: "demo.sign_initial_editor" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.sign_style_editor", |
|
||||||
value: "demo.sign_style_editor" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.year_combo", |
|
||||||
value: "demo.year_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.month_combo", |
|
||||||
value: "demo.month_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.quarter_combo", |
|
||||||
value: "demo.quarter_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.date_combo", |
|
||||||
value: "demo.date_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.down_list_combo", |
|
||||||
value: "demo.down_list_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.text_value_combo", |
|
||||||
value: "demo.text_icon_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.static_combo", |
|
||||||
value: "demo.single_select_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.text_value_down_list_combo", |
|
||||||
value: "demo.text_icon_down_list_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.param_date_combo", |
|
||||||
value: "demo.param_date_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.icon_combo", |
|
||||||
value: "demo.icon_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.formula_combo", |
|
||||||
value: "demo.formula_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.formula_insert", |
|
||||||
value: "demo.formula_insert" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.formula_pane", |
|
||||||
value: "demo.formula_pane" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.select_data_tree", |
|
||||||
value: "demo.select_data_tree" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.select_data_switcher", |
|
||||||
value: "demo.select_data_switcher" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.select_data_search_result", |
|
||||||
value: "demo.select_data_search_result" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.select_data_searcher(点这)", |
|
||||||
value: "demo.select_data_searcher" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.multidate_combo", |
|
||||||
value: "demo.multidate_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.time_interval", |
|
||||||
value: "demo.time_interval" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.numerical_interval", |
|
||||||
value: "demo.numerical_interval" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.multi_select_trigger", |
|
||||||
value: "demo.multi_select_trigger" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.multi_select_search_pane", |
|
||||||
value: "demo.multi_select_search_pane" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.multi_select_popup_view", |
|
||||||
value: "demo.multi_select_popup_view" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.multi_select_check_pane", |
|
||||||
value: "demo.multi_select_check_pane" |
|
||||||
}, { |
}, { |
||||||
pId: 4, |
pId: 4, |
||||||
text: "bi.multi_select_combo", |
text: "bi.multi_select_combo", |
||||||
value: "demo.multi_select_combo" |
value: "demo.multi_select_combo" |
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.move2group_combo", |
|
||||||
value: "demo.move2group_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.copy2group_combo", |
|
||||||
value: "demo.copy2group_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.single_tree_combo", |
|
||||||
value: "demo.single_tree_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.multilayer_single_tree_combo", |
|
||||||
value: "demo.multilayer_single_tree_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.select_tree_combo", |
|
||||||
value: "demo.select_tree_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.multilayer_select_tree_combo", |
|
||||||
value: "demo.multilayer_select_tree_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.dialog", |
|
||||||
value: "demo.dialog" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.multi_tree", |
|
||||||
value: "demo.multi_tree" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.simple_select_data_searcher", |
|
||||||
value: "demo.simple_select_data_searcher" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.filter_pane", |
|
||||||
value: "demo.filter_pane" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.filter_operation", |
|
||||||
value: "demo.filter_operation" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.filter", |
|
||||||
value: "demo.filter" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.color_chooser", |
|
||||||
value: "demo.color_chooser" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.text_toolbar", |
|
||||||
value: "demo.text_toolbar" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.text_area", |
|
||||||
value: "demo.text_area" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.path_chooser", |
|
||||||
value: "demo.path_chooser" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.direction_path_chooser", |
|
||||||
value: "demo.direction_path_chooser" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.file_manager", |
|
||||||
value: "demo.file_manager" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.branch_relation", |
|
||||||
value: "demo.branch_relation" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.relation_view", |
|
||||||
value: "demo.relation_view" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.preview_table", |
|
||||||
value: "demo.preview_table" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.adaptive_table", |
|
||||||
value: "demo.adaptive_table" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.adaptive_table(冻结表头)", |
|
||||||
value: "demo.adaptive_table2" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.custom_scroll_table", |
|
||||||
value: "demo.custom_scroll_table" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.page_table", |
|
||||||
value: "demo.page_table" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.page_table(冻结)", |
|
||||||
value: "demo.page_table2" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.page_table(调整列宽)", |
|
||||||
value: "demo.page_table3" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.excel_table", |
|
||||||
value: "demo.excel_table" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.sortable_table", |
|
||||||
value: "demo.sortable_table" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.excel_view_display_manager", |
|
||||||
value: "demo.excel_view_display_manager" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.sequence_table", |
|
||||||
value: "demo.sequence_table" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.sequence_table(带有汇总)", |
|
||||||
value: "demo.sequence_table2" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.upload_image", |
|
||||||
value: "demo.upload_image" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.web_page", |
|
||||||
value: "demo.web_page" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.arrangement_droppable", |
|
||||||
value: "demo.arrangement_droppable" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.arrangement", |
|
||||||
value: "demo.arrangement" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.adaptive_arrangement", |
|
||||||
value: "demo.adaptive_arrangement" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.arrangement(网格布局)", |
|
||||||
value: "demo.grid_arrangement" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.adaptive_arrangement(网格布局)", |
|
||||||
value: "demo.grid_adaptive_arrangement" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.simple_searcher", |
|
||||||
value: "demo.simple_searcher" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "选色", |
|
||||||
value: "demo.select_color_combo" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "bi.detail_chart", |
|
||||||
value: "demo.detail_chart" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "柱形", |
|
||||||
value: "demo.column_charts" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "条形图", |
|
||||||
value: "demo.bar_charts" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "面积图", |
|
||||||
value: "demo.area_charts" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "其他", |
|
||||||
value: "demo.other_charts" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "文本标签", |
|
||||||
value: "demo.list_label" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "树标签", |
|
||||||
value: "demo.tree_label" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "滑块", |
|
||||||
value: "demo.slider" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "区间双滑块", |
|
||||||
value: "demo.interval_slider" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "文本列表", |
|
||||||
value: "demo.string_list" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "树列表", |
|
||||||
value: "demo.tree_list" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "日期面板", |
|
||||||
value: "demo.data_pane" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "螺旋分析tab控件", |
|
||||||
value: "demo.dynamic_group_tab" |
|
||||||
}, { |
|
||||||
pId: 4, |
|
||||||
text: "数值微调器", |
|
||||||
value: "demo.finetuning_number_editor" |
|
||||||
}]; |
}]; |
File diff suppressed because one or more lines are too long
@ -0,0 +1,14 @@ |
|||||||
|
/** |
||||||
|
* Created by User on 2017/3/22. |
||||||
|
*/ |
||||||
|
Demo.MultiSelectTree = BI.inherit(BI.Widget, { |
||||||
|
props: { |
||||||
|
baseCls: "demo-multi-select-tree" |
||||||
|
}, |
||||||
|
render: function () { |
||||||
|
return { |
||||||
|
type: "bi.vertical", |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
$.shortcut("demo.multi_select_tree", Demo.MultiSelectTree); |
After Width: | Height: | Size: 196 B |
After Width: | Height: | Size: 198 B |
@ -0,0 +1,115 @@ |
|||||||
|
/** |
||||||
|
* value作为key值缓存button, 不支持顺序读写 |
||||||
|
* 适合用于频繁增删的一组button |
||||||
|
* Created by GUY on 2015/8/10. |
||||||
|
* @class BI.ButtonMap |
||||||
|
* @extends BI.ButtonTree |
||||||
|
*/ |
||||||
|
|
||||||
|
BI.ButtonMap = BI.inherit(BI.ButtonTree, { |
||||||
|
_defaultConfig: function () { |
||||||
|
return BI.extend(BI.ButtonMap.superclass._defaultConfig.apply(this, arguments), { |
||||||
|
baseCls: "bi-button-map" |
||||||
|
}) |
||||||
|
}, |
||||||
|
|
||||||
|
_init: function () { |
||||||
|
BI.ButtonMap.superclass._init.apply(this, arguments); |
||||||
|
}, |
||||||
|
|
||||||
|
_createBtns: function (items) { |
||||||
|
var self = this, o = this.options; |
||||||
|
var buttons = BI.createWidgets(BI.createItems(items, {type: "bi.text_button", once: o.chooseType === 0})); |
||||||
|
var keys = BI.map(items, function (i, item) { |
||||||
|
item = BI.stripEL(item); |
||||||
|
if (!(item.id || item.value)) { |
||||||
|
throw new Error("item必须包含id或value属性"); |
||||||
|
} |
||||||
|
return item.id || item.value; |
||||||
|
}); |
||||||
|
return BI.object(keys, buttons); |
||||||
|
}, |
||||||
|
|
||||||
|
setValue: function (v) { |
||||||
|
var self = this; |
||||||
|
v = BI.isArray(v) ? v : [v]; |
||||||
|
BI.each(this.buttons, function (val, item) { |
||||||
|
if (!BI.isFunction(item.setSelected)) { |
||||||
|
item.setValue(v); |
||||||
|
return; |
||||||
|
} |
||||||
|
if (v.contains(val)) { |
||||||
|
item.setSelected && item.setSelected(true); |
||||||
|
} else { |
||||||
|
item.setSelected && item.setSelected(false); |
||||||
|
} |
||||||
|
}); |
||||||
|
}, |
||||||
|
|
||||||
|
setNotSelectedValue: function (v) { |
||||||
|
var self = this; |
||||||
|
v = BI.isArray(v) ? v : [v]; |
||||||
|
BI.each(this.buttons, function (val, item) { |
||||||
|
if (!BI.isFunction(item.setSelected)) { |
||||||
|
item.setNotSelectedValue(v); |
||||||
|
return; |
||||||
|
} |
||||||
|
if (v.contains(val)) { |
||||||
|
item.setSelected && item.setSelected(false); |
||||||
|
} else { |
||||||
|
item.setSelected && item.setSelected(true); |
||||||
|
} |
||||||
|
}); |
||||||
|
}, |
||||||
|
|
||||||
|
populate: function (items) { |
||||||
|
var self = this; |
||||||
|
var args = [].slice.call(arguments); |
||||||
|
var linkHashMap = new BI.LinkHashMap(); |
||||||
|
var val = function (item) { |
||||||
|
return item.id || item.value; |
||||||
|
}; |
||||||
|
if (!this.buttons) { |
||||||
|
this.buttons = {}; |
||||||
|
} |
||||||
|
//所有已存在的和新添加的
|
||||||
|
var willCreated = []; |
||||||
|
BI.each(items, function (i, item) { |
||||||
|
item = BI.stripEL(item); |
||||||
|
if (self.buttons[val(item)]) { |
||||||
|
var ob = self.buttons[val(item)]; |
||||||
|
args[0] = item.items; |
||||||
|
args[2] = item; |
||||||
|
ob.populate && ob.populate.apply(ob, args); |
||||||
|
} else { |
||||||
|
willCreated.push(item); |
||||||
|
} |
||||||
|
}); |
||||||
|
//创建新元素
|
||||||
|
args[0] = willCreated; |
||||||
|
var newBtns = this._btnsCreator.apply(this, args); |
||||||
|
|
||||||
|
//整理
|
||||||
|
var array = []; |
||||||
|
BI.each(items, function (i, item) { |
||||||
|
item = BI.stripEL(item); |
||||||
|
var button = self.buttons[val(item)] || newBtns[val(item)]; |
||||||
|
linkHashMap.add(val(item), button); |
||||||
|
array.push(button); |
||||||
|
}); |
||||||
|
this.buttons = linkHashMap.map; |
||||||
|
|
||||||
|
BI.DOM.hang(this.buttons); |
||||||
|
this.empty(); |
||||||
|
|
||||||
|
var packages = this._packageItems(items, this._packageBtns(array)); |
||||||
|
BI.createWidget(BI.extend({element: this}, this._packageLayout(packages))); |
||||||
|
}, |
||||||
|
|
||||||
|
getIndexByValue: function (value) { |
||||||
|
throw new Error("不能使用getIndexByValue方法"); |
||||||
|
} |
||||||
|
}); |
||||||
|
BI.ButtonMap.EVENT_CHANGE = "EVENT_CHANGE"; |
||||||
|
|
||||||
|
$.shortcut("bi.button_map", BI.ButtonMap); |
@ -0,0 +1,88 @@ |
|||||||
|
(function (mod) { |
||||||
|
mod(CodeMirror); |
||||||
|
})(function (CodeMirror) { |
||||||
|
var Pos = CodeMirror.Pos; |
||||||
|
|
||||||
|
function forEach(arr, f) { |
||||||
|
for (var i = 0, e = arr.length; i < e; ++i) f(arr[i]); |
||||||
|
} |
||||||
|
|
||||||
|
function arrayContains(arr, item) { |
||||||
|
if (!Array.prototype.indexOf) { |
||||||
|
var i = arr.length; |
||||||
|
while (i--) { |
||||||
|
if (arr[i] === item) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
return arr.indexOf(item) != -1; |
||||||
|
} |
||||||
|
|
||||||
|
function scriptHint(editor, keywords, getToken, options) { |
||||||
|
// Find the token at the cursor
|
||||||
|
var cur = editor.getCursor(), token = getToken(editor, cur); |
||||||
|
if (/\b(?:string)\b/.test(token.type)) { |
||||||
|
return; |
||||||
|
} |
||||||
|
token.state = CodeMirror.innerMode(editor.getMode(), token.state).state; |
||||||
|
|
||||||
|
if (!/^[\w$_]*$/.test(token.string)) { |
||||||
|
token = { |
||||||
|
start: cur.ch, end: cur.ch, string: "", state: token.state, |
||||||
|
type: token.string == "." ? "property" : null |
||||||
|
}; |
||||||
|
} else if (token.end > cur.ch) { |
||||||
|
token.end = cur.ch; |
||||||
|
token.string = token.string.slice(0, cur.ch - token.start); |
||||||
|
} |
||||||
|
|
||||||
|
var tprop = token; |
||||||
|
// If it is a property, find out what it is a property of.
|
||||||
|
while (tprop.type == "property") { |
||||||
|
tprop = getToken(editor, Pos(cur.line, tprop.start)); |
||||||
|
if (tprop.string != ".") return; |
||||||
|
tprop = getToken(editor, Pos(cur.line, tprop.start)); |
||||||
|
if (!context) var context = []; |
||||||
|
context.push(tprop); |
||||||
|
} |
||||||
|
return { |
||||||
|
list: getCompletions(token, context, keywords, options), |
||||||
|
from: Pos(cur.line, token.start), |
||||||
|
to: Pos(cur.line, token.end) |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
function getFormulaKeywords() { |
||||||
|
return FormulaCollections; |
||||||
|
} |
||||||
|
|
||||||
|
function formulaHint(editor, options) { |
||||||
|
return scriptHint(editor, getFormulaKeywords(), |
||||||
|
function (e, cur) { |
||||||
|
return e.getTokenAt(cur); |
||||||
|
}, |
||||||
|
options); |
||||||
|
}; |
||||||
|
CodeMirror.registerHelper("hint", "formula", formulaHint); |
||||||
|
|
||||||
|
function getCompletions(token, context, keywords, options) { |
||||||
|
var found = [], start = token.string; |
||||||
|
if (!start) { |
||||||
|
return found; |
||||||
|
} |
||||||
|
function maybeAdd(str) { |
||||||
|
if (str.lastIndexOf(start, 0) == 0 && !arrayContains(found, str)) { |
||||||
|
found.push(str); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if (context && context.length) { |
||||||
|
context.pop(); |
||||||
|
} else { |
||||||
|
forEach(keywords, maybeAdd); |
||||||
|
} |
||||||
|
return found; |
||||||
|
} |
||||||
|
}); |
@ -0,0 +1,80 @@ |
|||||||
|
(function (mod) { |
||||||
|
mod(CodeMirror); |
||||||
|
})(function (CodeMirror) { |
||||||
|
"use strict"; |
||||||
|
|
||||||
|
CodeMirror.defineMode('formula', function () { |
||||||
|
function wordObj(words) { |
||||||
|
var o = {}; |
||||||
|
for (var i = 0, e = words.length; i < e; ++i) o[words[i]] = true; |
||||||
|
return o; |
||||||
|
} |
||||||
|
|
||||||
|
var atoms = wordObj(['false', 'true']); |
||||||
|
var keywords = wordObj(FormulaCollections); |
||||||
|
|
||||||
|
function tokenBase(stream, state) { |
||||||
|
if (stream.eatSpace()) { |
||||||
|
return null; |
||||||
|
} |
||||||
|
var ch = stream.next(); |
||||||
|
|
||||||
|
if (ch === '"' || ch === '\'') { |
||||||
|
nextUntilUnescaped(stream, ch); |
||||||
|
return "string"; |
||||||
|
} |
||||||
|
if (/[\[\],\(\)]/.test(ch)) { |
||||||
|
return 'bracket'; |
||||||
|
} |
||||||
|
|
||||||
|
// richie:暂时不需要解析操作符号
|
||||||
|
//if (/[+\-*\/=<>!&|]/.test(ch)) {
|
||||||
|
// return 'operator';
|
||||||
|
//}
|
||||||
|
//if (/\d|\d./.test(ch)) {
|
||||||
|
// stream.eatWhile(/\d|\./);
|
||||||
|
// if (stream.eol() || !/\w/.test(stream.peek())) {
|
||||||
|
// return 'number';
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
stream.eatWhile(/[\w-]/); |
||||||
|
var word = stream.current(); |
||||||
|
if (atoms.hasOwnProperty(word)) { |
||||||
|
return "atom"; |
||||||
|
} |
||||||
|
if (keywords.hasOwnProperty(word)) { |
||||||
|
return "keyword"; |
||||||
|
} |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
function nextUntilUnescaped(stream, end) { |
||||||
|
var escaped = false, next; |
||||||
|
while ((next = stream.next()) != null) { |
||||||
|
if (next === end && !escaped) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
escaped = !escaped && next === "\\"; |
||||||
|
} |
||||||
|
return escaped; |
||||||
|
} |
||||||
|
|
||||||
|
function tokenize(stream, state) { |
||||||
|
return (state.tokens[0] || tokenBase)(stream, state); |
||||||
|
} |
||||||
|
|
||||||
|
return { |
||||||
|
startState: function () { |
||||||
|
return {tokens: []}; |
||||||
|
}, |
||||||
|
token: function (stream, state) { |
||||||
|
return tokenize(stream, state); |
||||||
|
}, |
||||||
|
fold: "brace" |
||||||
|
}; |
||||||
|
}); |
||||||
|
CodeMirror.defineMIME("text/fx-formula", "formula"); |
||||||
|
}); |
@ -0,0 +1,432 @@ |
|||||||
|
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
||||||
|
// Distributed under an MIT license: http://codemirror.net/LICENSE
|
||||||
|
|
||||||
|
(function (mod) { |
||||||
|
mod(CodeMirror); |
||||||
|
})(function (CodeMirror) { |
||||||
|
"use strict"; |
||||||
|
|
||||||
|
var HINT_ELEMENT_CLASS = "CodeMirror-hint"; |
||||||
|
var ACTIVE_HINT_ELEMENT_CLASS = "CodeMirror-hint-active"; |
||||||
|
|
||||||
|
// This is the old interface, kept around for now to stay
|
||||||
|
// backwards-compatible.
|
||||||
|
CodeMirror.showHint = function (cm, getHints, options) { |
||||||
|
if (!getHints) return cm.showHint(options); |
||||||
|
if (options && options.async) getHints.async = true; |
||||||
|
var newOpts = {hint: getHints}; |
||||||
|
if (options) for (var prop in options) newOpts[prop] = options[prop]; |
||||||
|
return cm.showHint(newOpts); |
||||||
|
}; |
||||||
|
|
||||||
|
CodeMirror.defineExtension("showHint", function (options) { |
||||||
|
// We want a single cursor position.
|
||||||
|
if (this.listSelections().length > 1 || this.somethingSelected()) return; |
||||||
|
|
||||||
|
if (this.state.completionActive) this.state.completionActive.close(); |
||||||
|
var completion = this.state.completionActive = new Completion(this, options); |
||||||
|
if (!completion.options.hint) return; |
||||||
|
|
||||||
|
CodeMirror.signal(this, "startCompletion", this); |
||||||
|
completion.update(true); |
||||||
|
}); |
||||||
|
|
||||||
|
function Completion(cm, options) { |
||||||
|
this.cm = cm; |
||||||
|
this.options = this.buildOptions(options); |
||||||
|
this.widget = null; |
||||||
|
this.debounce = 0; |
||||||
|
this.tick = 0; |
||||||
|
this.startPos = this.cm.getCursor(); |
||||||
|
this.startLen = this.cm.getLine(this.startPos.line).length; |
||||||
|
|
||||||
|
var self = this; |
||||||
|
cm.on("cursorActivity", this.activityFunc = function () { |
||||||
|
self.cursorActivity(); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
var requestAnimationFrame = window.requestAnimationFrame || function (fn) { |
||||||
|
return setTimeout(fn, 1000 / 60); |
||||||
|
}; |
||||||
|
var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout; |
||||||
|
|
||||||
|
Completion.prototype = { |
||||||
|
close: function () { |
||||||
|
if (!this.active()) return; |
||||||
|
this.cm.state.completionActive = null; |
||||||
|
this.tick = null; |
||||||
|
this.cm.off("cursorActivity", this.activityFunc); |
||||||
|
|
||||||
|
if (this.widget && this.data) CodeMirror.signal(this.data, "close"); |
||||||
|
if (this.widget) this.widget.close(); |
||||||
|
CodeMirror.signal(this.cm, "endCompletion", this.cm); |
||||||
|
}, |
||||||
|
|
||||||
|
active: function () { |
||||||
|
return this.cm.state.completionActive == this; |
||||||
|
}, |
||||||
|
|
||||||
|
pick: function (data, i) { |
||||||
|
var completion = data.list[i]; |
||||||
|
if (completion.hint) completion.hint(this.cm, data, completion); |
||||||
|
else { |
||||||
|
this.cm.replaceRange(getText(completion), completion.from || data.from, |
||||||
|
completion.to || data.to, "complete"); |
||||||
|
var to = this.cm.getCursor(); |
||||||
|
this.cm.markText(completion.from || data.from, to, {className: "#function", atomic: true}); |
||||||
|
this.cm.replaceSelection("() "); |
||||||
|
to = this.cm.getCursor(); |
||||||
|
to.ch = to.ch - 2; |
||||||
|
this.cm.setCursor(to); |
||||||
|
this.cm.focus(); |
||||||
|
} |
||||||
|
CodeMirror.signal(data, "pick", completion); |
||||||
|
this.close(); |
||||||
|
}, |
||||||
|
|
||||||
|
cursorActivity: function () { |
||||||
|
if (this.debounce) { |
||||||
|
cancelAnimationFrame(this.debounce); |
||||||
|
this.debounce = 0; |
||||||
|
} |
||||||
|
|
||||||
|
var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line); |
||||||
|
if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch || |
||||||
|
pos.ch < this.startPos.ch || this.cm.somethingSelected() || |
||||||
|
(pos.ch && this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) { |
||||||
|
this.close(); |
||||||
|
} else { |
||||||
|
var self = this; |
||||||
|
this.debounce = requestAnimationFrame(function () { |
||||||
|
self.update(); |
||||||
|
}); |
||||||
|
if (this.widget) this.widget.disable(); |
||||||
|
} |
||||||
|
}, |
||||||
|
|
||||||
|
update: function (first) { |
||||||
|
if (this.tick == null) return; |
||||||
|
if (this.data) CodeMirror.signal(this.data, "update"); |
||||||
|
if (!this.options.hint.async) { |
||||||
|
this.finishUpdate(this.options.hint(this.cm, this.options), first); |
||||||
|
} else { |
||||||
|
var myTick = ++this.tick, self = this; |
||||||
|
this.options.hint(this.cm, function (data) { |
||||||
|
if (self.tick == myTick) self.finishUpdate(data, first); |
||||||
|
}, this.options); |
||||||
|
} |
||||||
|
}, |
||||||
|
|
||||||
|
finishUpdate: function (data, first) { |
||||||
|
this.data = data; |
||||||
|
|
||||||
|
var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle); |
||||||
|
if (this.widget) this.widget.close(); |
||||||
|
if (data && data.list.length) { |
||||||
|
if (picked && data.list.length == 1) { |
||||||
|
this.pick(data, 0); |
||||||
|
} else { |
||||||
|
this.widget = new Widget(this, data); |
||||||
|
CodeMirror.signal(data, "shown"); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
|
||||||
|
buildOptions: function (options) { |
||||||
|
var editor = this.cm.options.hintOptions; |
||||||
|
var out = {}; |
||||||
|
for (var prop in defaultOptions) out[prop] = defaultOptions[prop]; |
||||||
|
if (editor) for (var prop in editor) |
||||||
|
if (editor[prop] !== undefined) out[prop] = editor[prop]; |
||||||
|
if (options) for (var prop in options) |
||||||
|
if (options[prop] !== undefined) out[prop] = options[prop]; |
||||||
|
return out; |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
function getText(completion) { |
||||||
|
if (typeof completion == "string") return completion; |
||||||
|
else return completion.text; |
||||||
|
} |
||||||
|
|
||||||
|
function buildKeyMap(completion, handle) { |
||||||
|
var baseMap = { |
||||||
|
Up: function () { |
||||||
|
handle.moveFocus(-1); |
||||||
|
}, |
||||||
|
Down: function () { |
||||||
|
handle.moveFocus(1); |
||||||
|
}, |
||||||
|
PageUp: function () { |
||||||
|
handle.moveFocus(-handle.menuSize() + 1, true); |
||||||
|
}, |
||||||
|
PageDown: function () { |
||||||
|
handle.moveFocus(handle.menuSize() - 1, true); |
||||||
|
}, |
||||||
|
Home: function () { |
||||||
|
handle.setFocus(0); |
||||||
|
}, |
||||||
|
End: function () { |
||||||
|
handle.setFocus(handle.length - 1); |
||||||
|
}, |
||||||
|
Enter: handle.pick, |
||||||
|
Tab: handle.pick, |
||||||
|
Esc: handle.close |
||||||
|
}; |
||||||
|
var custom = completion.options.customKeys; |
||||||
|
var ourMap = custom ? {} : baseMap; |
||||||
|
|
||||||
|
function addBinding(key, val) { |
||||||
|
var bound; |
||||||
|
if (typeof val != "string") |
||||||
|
bound = function (cm) { |
||||||
|
return val(cm, handle); |
||||||
|
}; |
||||||
|
// This mechanism is deprecated
|
||||||
|
else if (baseMap.hasOwnProperty(val)) |
||||||
|
bound = baseMap[val]; |
||||||
|
else |
||||||
|
bound = val; |
||||||
|
ourMap[key] = bound; |
||||||
|
} |
||||||
|
|
||||||
|
if (custom) |
||||||
|
for (var key in custom) if (custom.hasOwnProperty(key)) |
||||||
|
addBinding(key, custom[key]); |
||||||
|
var extra = completion.options.extraKeys; |
||||||
|
if (extra) |
||||||
|
for (var key in extra) if (extra.hasOwnProperty(key)) |
||||||
|
addBinding(key, extra[key]); |
||||||
|
return ourMap; |
||||||
|
} |
||||||
|
|
||||||
|
function getHintElement(hintsElement, el) { |
||||||
|
while (el && el != hintsElement) { |
||||||
|
if (el.nodeName.toUpperCase() === "LI" && el.parentNode == hintsElement) return el; |
||||||
|
el = el.parentNode; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function Widget(completion, data) { |
||||||
|
this.completion = completion; |
||||||
|
this.data = data; |
||||||
|
this.picked = false; |
||||||
|
var widget = this, cm = completion.cm; |
||||||
|
|
||||||
|
var hints = this.hints = document.createElement("ul"); |
||||||
|
hints.className = "CodeMirror-hints"; |
||||||
|
this.selectedHint = data.selectedHint || 0; |
||||||
|
|
||||||
|
var completions = data.list; |
||||||
|
for (var i = 0; i < completions.length; ++i) { |
||||||
|
var elt = hints.appendChild(document.createElement("li")), cur = completions[i]; |
||||||
|
var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? "" : " " + ACTIVE_HINT_ELEMENT_CLASS); |
||||||
|
if (cur.className != null) className = cur.className + " " + className; |
||||||
|
elt.className = className; |
||||||
|
if (cur.render) cur.render(elt, data, cur); |
||||||
|
else elt.appendChild(document.createTextNode(cur.displayText || getText(cur))); |
||||||
|
elt.hintId = i; |
||||||
|
} |
||||||
|
|
||||||
|
var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null); |
||||||
|
var left = pos.left, top = pos.bottom, below = true; |
||||||
|
hints.style.left = left + "px"; |
||||||
|
hints.style.top = top + "px"; |
||||||
|
// If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.
|
||||||
|
var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth); |
||||||
|
var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight); |
||||||
|
(completion.options.container || document.body).appendChild(hints); |
||||||
|
var box = hints.getBoundingClientRect(), overlapY = box.bottom - winH; |
||||||
|
if (overlapY > 0) { |
||||||
|
var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top); |
||||||
|
if (curTop - height > 0) { // Fits above cursor
|
||||||
|
hints.style.top = (top = pos.top - height) + "px"; |
||||||
|
below = false; |
||||||
|
} else if (height > winH) { |
||||||
|
hints.style.height = (winH - 5) + "px"; |
||||||
|
hints.style.top = (top = pos.bottom - box.top) + "px"; |
||||||
|
var cursor = cm.getCursor(); |
||||||
|
if (data.from.ch != cursor.ch) { |
||||||
|
pos = cm.cursorCoords(cursor); |
||||||
|
hints.style.left = (left = pos.left) + "px"; |
||||||
|
box = hints.getBoundingClientRect(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
var overlapX = box.right - winW; |
||||||
|
if (overlapX > 0) { |
||||||
|
if (box.right - box.left > winW) { |
||||||
|
hints.style.width = (winW - 5) + "px"; |
||||||
|
overlapX -= (box.right - box.left) - winW; |
||||||
|
} |
||||||
|
hints.style.left = (left = pos.left - overlapX) + "px"; |
||||||
|
} |
||||||
|
|
||||||
|
cm.addKeyMap(this.keyMap = buildKeyMap(completion, { |
||||||
|
moveFocus: function (n, avoidWrap) { |
||||||
|
widget.changeActive(widget.selectedHint + n, avoidWrap); |
||||||
|
}, |
||||||
|
setFocus: function (n) { |
||||||
|
widget.changeActive(n); |
||||||
|
}, |
||||||
|
menuSize: function () { |
||||||
|
return widget.screenAmount(); |
||||||
|
}, |
||||||
|
length: completions.length, |
||||||
|
close: function () { |
||||||
|
completion.close(); |
||||||
|
}, |
||||||
|
pick: function () { |
||||||
|
widget.pick(); |
||||||
|
}, |
||||||
|
data: data |
||||||
|
})); |
||||||
|
|
||||||
|
if (completion.options.closeOnUnfocus) { |
||||||
|
var closingOnBlur; |
||||||
|
cm.on("blur", this.onBlur = function () { |
||||||
|
closingOnBlur = setTimeout(function () { |
||||||
|
completion.close(); |
||||||
|
}, 100); |
||||||
|
}); |
||||||
|
cm.on("focus", this.onFocus = function () { |
||||||
|
clearTimeout(closingOnBlur); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
var startScroll = cm.getScrollInfo(); |
||||||
|
cm.on("scroll", this.onScroll = function () { |
||||||
|
var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect(); |
||||||
|
var newTop = top + startScroll.top - curScroll.top; |
||||||
|
var point = newTop - (window.pageYOffset || (document.documentElement || document.body).scrollTop); |
||||||
|
if (!below) point += hints.offsetHeight; |
||||||
|
if (point <= editor.top || point >= editor.bottom) return completion.close(); |
||||||
|
hints.style.top = newTop + "px"; |
||||||
|
hints.style.left = (left + startScroll.left - curScroll.left) + "px"; |
||||||
|
}); |
||||||
|
|
||||||
|
CodeMirror.on(hints, "dblclick", function (e) { |
||||||
|
var t = getHintElement(hints, e.target || e.srcElement); |
||||||
|
if (t && t.hintId != null) { |
||||||
|
widget.changeActive(t.hintId); |
||||||
|
widget.pick(); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
CodeMirror.on(hints, "click", function (e) { |
||||||
|
var t = getHintElement(hints, e.target || e.srcElement); |
||||||
|
if (t && t.hintId != null) { |
||||||
|
widget.changeActive(t.hintId); |
||||||
|
if (completion.options.completeOnSingleClick) widget.pick(); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
CodeMirror.on(hints, "mousedown", function () { |
||||||
|
setTimeout(function () { |
||||||
|
cm.focus(); |
||||||
|
}, 20); |
||||||
|
}); |
||||||
|
|
||||||
|
CodeMirror.signal(data, "select", completions[0], hints.firstChild); |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
Widget.prototype = { |
||||||
|
close: function () { |
||||||
|
if (this.completion.widget != this) return; |
||||||
|
this.completion.widget = null; |
||||||
|
this.hints.parentNode.removeChild(this.hints); |
||||||
|
this.completion.cm.removeKeyMap(this.keyMap); |
||||||
|
|
||||||
|
var cm = this.completion.cm; |
||||||
|
if (this.completion.options.closeOnUnfocus) { |
||||||
|
cm.off("blur", this.onBlur); |
||||||
|
cm.off("focus", this.onFocus); |
||||||
|
} |
||||||
|
cm.off("scroll", this.onScroll); |
||||||
|
}, |
||||||
|
|
||||||
|
disable: function () { |
||||||
|
this.completion.cm.removeKeyMap(this.keyMap); |
||||||
|
var widget = this; |
||||||
|
this.keyMap = { |
||||||
|
Enter: function () { |
||||||
|
widget.picked = true; |
||||||
|
} |
||||||
|
}; |
||||||
|
this.completion.cm.addKeyMap(this.keyMap); |
||||||
|
}, |
||||||
|
|
||||||
|
pick: function () { |
||||||
|
this.completion.pick(this.data, this.selectedHint); |
||||||
|
}, |
||||||
|
|
||||||
|
changeActive: function (i, avoidWrap) { |
||||||
|
if (i >= this.data.list.length) |
||||||
|
i = avoidWrap ? this.data.list.length - 1 : 0; |
||||||
|
else if (i < 0) |
||||||
|
i = avoidWrap ? 0 : this.data.list.length - 1; |
||||||
|
if (this.selectedHint == i) return; |
||||||
|
var node = this.hints.childNodes[this.selectedHint]; |
||||||
|
node.className = node.className.replace(" " + ACTIVE_HINT_ELEMENT_CLASS, ""); |
||||||
|
node = this.hints.childNodes[this.selectedHint = i]; |
||||||
|
node.className += " " + ACTIVE_HINT_ELEMENT_CLASS; |
||||||
|
if (node.offsetTop < this.hints.scrollTop) |
||||||
|
this.hints.scrollTop = node.offsetTop - 3; |
||||||
|
else if (node.offsetTop + node.offsetHeight > this.hints.scrollTop + this.hints.clientHeight) |
||||||
|
this.hints.scrollTop = node.offsetTop + node.offsetHeight - this.hints.clientHeight + 3; |
||||||
|
CodeMirror.signal(this.data, "select", this.data.list[this.selectedHint], node); |
||||||
|
}, |
||||||
|
|
||||||
|
screenAmount: function () { |
||||||
|
return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1; |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
CodeMirror.registerHelper("hint", "auto", function (cm, options) { |
||||||
|
var helpers = cm.getHelpers(cm.getCursor(), "hint"), words; |
||||||
|
if (helpers.length) { |
||||||
|
for (var i = 0; i < helpers.length; i++) { |
||||||
|
var cur = helpers[i](cm, options); |
||||||
|
if (cur && cur.list.length) return cur; |
||||||
|
} |
||||||
|
} else if (words = cm.getHelper(cm.getCursor(), "hintWords")) { |
||||||
|
if (words) return CodeMirror.hint.fromList(cm, {words: words}); |
||||||
|
} else if (CodeMirror.hint.anyword) { |
||||||
|
return CodeMirror.hint.anyword(cm, options); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
CodeMirror.registerHelper("hint", "fromList", function (cm, options) { |
||||||
|
var cur = cm.getCursor(), token = cm.getTokenAt(cur); |
||||||
|
var found = []; |
||||||
|
for (var i = 0; i < options.words.length; i++) { |
||||||
|
var word = options.words[i]; |
||||||
|
if (word.slice(0, token.string.length) == token.string) |
||||||
|
found.push(word); |
||||||
|
} |
||||||
|
|
||||||
|
if (found.length) return { |
||||||
|
list: found, |
||||||
|
from: CodeMirror.Pos(cur.line, token.start), |
||||||
|
to: CodeMirror.Pos(cur.line, token.end) |
||||||
|
}; |
||||||
|
}); |
||||||
|
|
||||||
|
CodeMirror.commands.autocomplete = CodeMirror.showHint; |
||||||
|
|
||||||
|
var defaultOptions = { |
||||||
|
hint: CodeMirror.hint.auto, |
||||||
|
completeSingle: true, |
||||||
|
alignWithWord: true, |
||||||
|
closeCharacters: /[\s()\[\]{};:>,]/, |
||||||
|
closeOnUnfocus: true, |
||||||
|
completeOnSingleClick: true, |
||||||
|
container: null, |
||||||
|
customKeys: null, |
||||||
|
extraKeys: null |
||||||
|
}; |
||||||
|
|
||||||
|
CodeMirror.defineOption("hintOptions", null); |
||||||
|
}); |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,192 @@ |
|||||||
|
/** |
||||||
|
* Created by Young's on 2016/8/17. |
||||||
|
* 加载面板,一般只用于 requestAsync 中 |
||||||
|
*/ |
||||||
|
BI.RequstLoading = BI.inherit(BI.Widget, { |
||||||
|
_defaultConfig: function () { |
||||||
|
return BI.extend(BI.RequstLoading.superclass._defaultConfig.apply(this, arguments), {}); |
||||||
|
}, |
||||||
|
|
||||||
|
_init: function () { |
||||||
|
BI.RequstLoading.superclass._init.apply(this, arguments); |
||||||
|
var self = this, o = this.options; |
||||||
|
var mask = BI.Maskers.create(BI.RequstLoading.MASK_ID); |
||||||
|
this.callback = o.callback; |
||||||
|
this.paneTab = BI.createWidget({ |
||||||
|
type: "bi.tab", |
||||||
|
cardCreator: BI.bind(this._cardCreator, this), |
||||||
|
defaultShowIndex: BI.RequstLoading.ERROR, |
||||||
|
width: 400, |
||||||
|
height: 300 |
||||||
|
}); |
||||||
|
var tempIcon = BI.createWidget({ |
||||||
|
type: "bi.icon_button", |
||||||
|
cls: "data-link-test-fail-icon", |
||||||
|
width: 0, |
||||||
|
height: 0 |
||||||
|
}); |
||||||
|
BI.createWidget({ |
||||||
|
type: "bi.absolute", |
||||||
|
element: $('body'), |
||||||
|
items: [{ |
||||||
|
el: tempIcon, |
||||||
|
bottom: 0 |
||||||
|
}] |
||||||
|
}); |
||||||
|
|
||||||
|
BI.createWidget({ |
||||||
|
type: "bi.absolute", |
||||||
|
element: mask, |
||||||
|
cls: "bi-request-loading", |
||||||
|
items: [{ |
||||||
|
el: { |
||||||
|
type: "bi.layout", |
||||||
|
cls: "mask-pane" |
||||||
|
}, |
||||||
|
top: 0, |
||||||
|
left: 0, |
||||||
|
bottom: 0, |
||||||
|
right: 0 |
||||||
|
}, { |
||||||
|
el: { |
||||||
|
type: "bi.center_adapt", |
||||||
|
items: [this.paneTab] |
||||||
|
}, |
||||||
|
top: 0, |
||||||
|
left: 0, |
||||||
|
right: 0, |
||||||
|
bottom: 0 |
||||||
|
}] |
||||||
|
}); |
||||||
|
}, |
||||||
|
|
||||||
|
_cardCreator: function (v) { |
||||||
|
var self = this; |
||||||
|
var cancel = BI.createWidget({ |
||||||
|
type: "bi.button", |
||||||
|
text: BI.i18nText("BI-Basic_Cancel"), |
||||||
|
title: BI.i18nText("BI-Basic_Cancel"), |
||||||
|
level: "ignore", |
||||||
|
height: 28, |
||||||
|
width: 90, |
||||||
|
handler: function () { |
||||||
|
BI.Maskers.hide(BI.RequstLoading.MASK_ID); |
||||||
|
} |
||||||
|
}); |
||||||
|
var retry = BI.createWidget({ |
||||||
|
type: "bi.button", |
||||||
|
text: BI.i18nText("BI-Basic_Retry"), |
||||||
|
title: BI.i18nText("BI-Basic_Retry"), |
||||||
|
level: "common", |
||||||
|
height: 28, |
||||||
|
width: 90, |
||||||
|
handler: function () { |
||||||
|
self.paneTab.setSelect(BI.RequstLoading.LOADING); |
||||||
|
self.callback(); |
||||||
|
} |
||||||
|
}); |
||||||
|
switch (v) { |
||||||
|
case BI.RequstLoading.LOADING: |
||||||
|
return BI.createWidget({ |
||||||
|
type: "bi.vertical", |
||||||
|
items: [{ |
||||||
|
type: "bi.center_adapt", |
||||||
|
cls: "loading-bar-icon", |
||||||
|
items: [{ |
||||||
|
type: "bi.icon", |
||||||
|
width: 208, |
||||||
|
height: 15 |
||||||
|
}] |
||||||
|
}, { |
||||||
|
type: "bi.label", |
||||||
|
cls: "loading-comment", |
||||||
|
text: BI.i18nText("BI-Basic_Loading"), |
||||||
|
height: 30 |
||||||
|
}], |
||||||
|
width: 208, |
||||||
|
height: 200, |
||||||
|
vgap: 10 |
||||||
|
}); |
||||||
|
case BI.RequstLoading.LOADING_TIMEOUT: |
||||||
|
return BI.createWidget({ |
||||||
|
type: "bi.vertical", |
||||||
|
items: [{ |
||||||
|
type: "bi.center_adapt", |
||||||
|
cls: "loading-bar-icon", |
||||||
|
items: [{ |
||||||
|
type: "bi.icon", |
||||||
|
width: 208, |
||||||
|
height: 15 |
||||||
|
}] |
||||||
|
}, { |
||||||
|
type: "bi.label", |
||||||
|
cls: "loading-comment", |
||||||
|
text: BI.i18nText("BI-Basic_Loading"), |
||||||
|
height: 30 |
||||||
|
}, { |
||||||
|
type: "bi.label", |
||||||
|
text: BI.i18nText("BI-Request_Time_Out_Toast_Tip"), |
||||||
|
cls: "load-timeout-warning" |
||||||
|
}, { |
||||||
|
type: "bi.left_right_vertical_adapt", |
||||||
|
items: { |
||||||
|
left: [cancel], |
||||||
|
right: [retry] |
||||||
|
}, |
||||||
|
height: 30, |
||||||
|
llgap: 100, |
||||||
|
rrgap: 100 |
||||||
|
}], |
||||||
|
vgap: 10 |
||||||
|
}); |
||||||
|
case BI.RequstLoading.ERROR: |
||||||
|
return BI.createWidget({ |
||||||
|
type: "bi.vertical", |
||||||
|
items: [{ |
||||||
|
type: "bi.center_adapt", |
||||||
|
cls: "data-link-test-fail-icon", |
||||||
|
items: [{ |
||||||
|
type: "bi.icon", |
||||||
|
width: 126, |
||||||
|
height: 126 |
||||||
|
}] |
||||||
|
}, { |
||||||
|
type: "bi.label", |
||||||
|
text: BI.i18nText("BI-Connection_Lost"), |
||||||
|
cls: "load-fail-comment" |
||||||
|
}, { |
||||||
|
type: "bi.left_right_vertical_adapt", |
||||||
|
items: { |
||||||
|
left: [cancel], |
||||||
|
right: [retry] |
||||||
|
}, |
||||||
|
height: 30, |
||||||
|
llgap: 100, |
||||||
|
rrgap: 100 |
||||||
|
}], |
||||||
|
vgap: 20 |
||||||
|
}); |
||||||
|
} |
||||||
|
}, |
||||||
|
|
||||||
|
showLoading: function () { |
||||||
|
BI.Maskers.show(BI.RequstLoading.MASK_ID); |
||||||
|
this.paneTab.setSelect(BI.RequstLoading.LOADING); |
||||||
|
}, |
||||||
|
|
||||||
|
showError: function () { |
||||||
|
BI.Maskers.show(BI.RequstLoading.MASK_ID); |
||||||
|
this.paneTab.setSelect(BI.RequstLoading.ERROR); |
||||||
|
}, |
||||||
|
|
||||||
|
setCallback: function (callback) { |
||||||
|
this.callback = callback; |
||||||
|
} |
||||||
|
}); |
||||||
|
BI.extend(BI.RequstLoading, { |
||||||
|
MASK_ID: "___request__loading___", |
||||||
|
LOADING: 1, |
||||||
|
LOADING_TIMEOUT: 2, |
||||||
|
ERROR: 3 |
||||||
|
}); |
||||||
|
$.shortcut("bi.request_loading", BI.RequstLoading); |
@ -0,0 +1,119 @@ |
|||||||
|
/** |
||||||
|
* 带有一个占位 |
||||||
|
* |
||||||
|
* Created by GUY on 2015/9/11. |
||||||
|
* @class BI.BlankIconIconTextItem |
||||||
|
* @extends BI.BasicButton |
||||||
|
*/ |
||||||
|
BI.BlankIconIconTextItem = BI.inherit(BI.BasicButton, { |
||||||
|
_const: { |
||||||
|
commonWidth: 25 |
||||||
|
}, |
||||||
|
|
||||||
|
_defaultConfig: function () { |
||||||
|
var conf = BI.BlankIconIconTextItem.superclass._defaultConfig.apply(this, arguments); |
||||||
|
return BI.extend(conf, { |
||||||
|
baseCls: (conf.baseCls || "") + " bi-blank-icon-text-item", |
||||||
|
logic: { |
||||||
|
dynamic: false |
||||||
|
}, |
||||||
|
iconCls1: "close-ha-font", |
||||||
|
iconCls2: "close-ha-font", |
||||||
|
blankWidth: 0, |
||||||
|
iconHeight: null, |
||||||
|
iconWidth: null, |
||||||
|
textHgap: 0, |
||||||
|
textVgap: 0, |
||||||
|
textLgap: 0, |
||||||
|
textRgap: 0 |
||||||
|
}) |
||||||
|
}, |
||||||
|
_init: function () { |
||||||
|
BI.BlankIconIconTextItem.superclass._init.apply(this, arguments); |
||||||
|
var o = this.options, c = this._const; |
||||||
|
var blank = BI.createWidget({ |
||||||
|
type: "bi.layout", |
||||||
|
width: o.blankWidth |
||||||
|
}) |
||||||
|
this.text = BI.createWidget({ |
||||||
|
type: "bi.label", |
||||||
|
cls: "list-item-text", |
||||||
|
textAlign: "left", |
||||||
|
hgap: o.textHgap, |
||||||
|
vgap: o.textVgap, |
||||||
|
lgap: o.textLgap, |
||||||
|
rgap: o.textRgap, |
||||||
|
text: o.text, |
||||||
|
value: o.value, |
||||||
|
keyword: o.keyword, |
||||||
|
height: o.height |
||||||
|
}); |
||||||
|
this.icon1 = BI.createWidget({ |
||||||
|
type: "bi.icon_button", |
||||||
|
cls: o.iconCls1, |
||||||
|
forceNotSelected: true, |
||||||
|
width: c.commonWidth |
||||||
|
}); |
||||||
|
this.icon2 = BI.createWidget({ |
||||||
|
type: "bi.icon_button", |
||||||
|
cls: o.iconCls2, |
||||||
|
forceNotSelected: true, |
||||||
|
width: c.commonWidth |
||||||
|
}); |
||||||
|
|
||||||
|
BI.createWidget(BI.extend({ |
||||||
|
element: this |
||||||
|
}, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { |
||||||
|
items: BI.LogicFactory.createLogicItemsByDirection("left", blank, this.icon1, this.icon2, this.text) |
||||||
|
})))); |
||||||
|
}, |
||||||
|
|
||||||
|
doClick: function () { |
||||||
|
BI.BlankIconIconTextItem.superclass.doClick.apply(this, arguments); |
||||||
|
if (this.isValid()) { |
||||||
|
this.fireEvent(BI.BlankIconIconTextItem.EVENT_CHANGE, this.getValue(), this); |
||||||
|
} |
||||||
|
}, |
||||||
|
|
||||||
|
setSelected: function (b) { |
||||||
|
BI.BlankIconIconTextItem.superclass.setSelected.apply(this, arguments); |
||||||
|
this.icon1.setSelected(b); |
||||||
|
this.icon2.setSelected(b); |
||||||
|
}, |
||||||
|
|
||||||
|
setValue: function () { |
||||||
|
if (!this.isReadOnly()) { |
||||||
|
this.text.setValue.apply(this.text, arguments); |
||||||
|
} |
||||||
|
}, |
||||||
|
|
||||||
|
getValue: function () { |
||||||
|
return this.text.getValue(); |
||||||
|
}, |
||||||
|
|
||||||
|
setText: function () { |
||||||
|
this.text.setText.apply(this.text, arguments); |
||||||
|
}, |
||||||
|
|
||||||
|
getText: function () { |
||||||
|
return this.text.getText(); |
||||||
|
}, |
||||||
|
|
||||||
|
doRedMark: function () { |
||||||
|
this.text.doRedMark.apply(this.text, arguments); |
||||||
|
}, |
||||||
|
|
||||||
|
unRedMark: function () { |
||||||
|
this.text.unRedMark.apply(this.text, arguments); |
||||||
|
}, |
||||||
|
|
||||||
|
doHighLight: function () { |
||||||
|
this.text.doHighLight.apply(this.text, arguments); |
||||||
|
}, |
||||||
|
|
||||||
|
unHighLight: function () { |
||||||
|
this.text.unHighLight.apply(this.text, arguments); |
||||||
|
} |
||||||
|
}); |
||||||
|
BI.BlankIconIconTextItem.EVENT_CHANGE = "EVENT_CHANGE"; |
||||||
|
$.shortcut("bi.blank_icon_icon_text_item", BI.BlankIconIconTextItem); |
@ -0,0 +1,117 @@ |
|||||||
|
/** |
||||||
|
* 组件请求数据超时提示 |
||||||
|
* Created by Young's on 2017/2/4. |
||||||
|
*/ |
||||||
|
BI.TimeoutToast = BI.inherit(BI.Tip, { |
||||||
|
_defaultConfig: function () { |
||||||
|
return BI.extend(BI.TimeoutToast.superclass._defaultConfig.apply(this, arguments), { |
||||||
|
baseCls: "bi-timeout-toast" |
||||||
|
}); |
||||||
|
}, |
||||||
|
|
||||||
|
_init: function () { |
||||||
|
BI.TimeoutToast.superclass._init.apply(this, arguments); |
||||||
|
var self = this; |
||||||
|
this.requests = []; |
||||||
|
this.toast = BI.createWidget({ |
||||||
|
type: "bi.vertical_adapt", |
||||||
|
element: this, |
||||||
|
items: [{ |
||||||
|
type: "bi.label", |
||||||
|
text: BI.i18nText("BI-Request_Time_Out_Toast_Tip") |
||||||
|
}, { |
||||||
|
type: "bi.text_button", |
||||||
|
cls: "cancel-button", |
||||||
|
width: 60, |
||||||
|
height: 22, |
||||||
|
text: BI.i18nText("BI-Basic_Cancel"), |
||||||
|
title: BI.i18nText("BI-Basic_Cancel"), |
||||||
|
handler: function () { |
||||||
|
self.cancelAllRequests(); |
||||||
|
} |
||||||
|
}, { |
||||||
|
type: "bi.text_button", |
||||||
|
cls: "retry-button", |
||||||
|
width: 60, |
||||||
|
height: 22, |
||||||
|
text: BI.i18nText("BI-Basic_Retry"), |
||||||
|
title: BI.i18nText("BI-Basic_Retry"), |
||||||
|
handler: function () { |
||||||
|
self.toast.element.slideUp(500); |
||||||
|
self._retryAll(); |
||||||
|
} |
||||||
|
}, { |
||||||
|
type: "bi.icon_button", |
||||||
|
cls: "close-font", |
||||||
|
width: 20, |
||||||
|
height: 20, |
||||||
|
title: BI.i18nText("BI-Basic_Close"), |
||||||
|
handler: function () { |
||||||
|
self.toast.element.slideUp(500); |
||||||
|
} |
||||||
|
}], |
||||||
|
width: 520, |
||||||
|
height: 30, |
||||||
|
hgap: 2 |
||||||
|
}); |
||||||
|
|
||||||
|
BI.createWidget({ |
||||||
|
type: "bi.absolute", |
||||||
|
element: $("body"), |
||||||
|
items: [{ |
||||||
|
el: this.toast, |
||||||
|
left: "50%", |
||||||
|
top: 0 |
||||||
|
}] |
||||||
|
}); |
||||||
|
this.toast.element.css({"margin-left": -1 * this.toast.element.outerWidth() / 2}); |
||||||
|
this.toast.setVisible(false); |
||||||
|
}, |
||||||
|
|
||||||
|
_retryAll: function () { |
||||||
|
var self = this; |
||||||
|
var clonedRequests = BI.deepClone(this.requests); |
||||||
|
this.requests = []; |
||||||
|
BI.each(clonedRequests, function (i, options) { |
||||||
|
BI.isFunction(self.callback) && self.callback(options); |
||||||
|
}); |
||||||
|
}, |
||||||
|
|
||||||
|
cancelAllRequests: function () { |
||||||
|
this.toast.element.slideUp(500); |
||||||
|
BI.each(this.requests, function (i, reqArgs) { |
||||||
|
if (BI.isNotNull(reqArgs) && BI.isFunction(reqArgs.complete)) { |
||||||
|
reqArgs.complete(); |
||||||
|
} |
||||||
|
}); |
||||||
|
this.requests = []; |
||||||
|
}, |
||||||
|
|
||||||
|
setCallback: function (callback) { |
||||||
|
this.callback = callback; |
||||||
|
}, |
||||||
|
|
||||||
|
addReq: function (options) { |
||||||
|
var self = this; |
||||||
|
if (this.requests.length === 0) { |
||||||
|
setTimeout(function () { |
||||||
|
if (self.requests.contains(options)) { |
||||||
|
self.toast.element.slideDown(500); |
||||||
|
} |
||||||
|
}, 5 * 60 * 1000); //5 min
|
||||||
|
} |
||||||
|
this.requests.push(options); |
||||||
|
}, |
||||||
|
|
||||||
|
removeReq: function (options) { |
||||||
|
BI.remove(this.requests, options); |
||||||
|
if (this.requests.length === 0) { |
||||||
|
this.toast.element.slideUp(500); |
||||||
|
} |
||||||
|
}, |
||||||
|
|
||||||
|
hasReq: function (options) { |
||||||
|
return this.requests.contains(options); |
||||||
|
} |
||||||
|
}); |
||||||
|
$.shortcut("bi.timeout_toast", BI.TimeoutToast); |
@ -0,0 +1,47 @@ |
|||||||
|
/** |
||||||
|
* style加载管理器 |
||||||
|
* |
||||||
|
* Created by GUY on 2015/9/7. |
||||||
|
* @class |
||||||
|
*/ |
||||||
|
BI.StyleLoaderManager = BI.inherit(BI.OB, { |
||||||
|
_defaultConfig: function () { |
||||||
|
return BI.extend(BI.StyleLoaderManager.superclass._defaultConfig.apply(this, arguments), {}); |
||||||
|
}, |
||||||
|
|
||||||
|
_init: function () { |
||||||
|
BI.StyleLoaderManager.superclass._init.apply(this, arguments); |
||||||
|
this.stylesManager = {}; |
||||||
|
}, |
||||||
|
|
||||||
|
loadStyle: function (name, styleString) { |
||||||
|
var d = document, styles = d.createElement('style'); |
||||||
|
d.getElementsByTagName('head')[0].appendChild(styles); |
||||||
|
styles.setAttribute('type', 'text/css'); |
||||||
|
if (styles.styleSheet) { |
||||||
|
styles.styleSheet.cssText = styleString; |
||||||
|
} else { |
||||||
|
styles.appendChild(document.createTextNode(styleString)); |
||||||
|
} |
||||||
|
this.stylesManager[name] = styles; |
||||||
|
|
||||||
|
return this; |
||||||
|
}, |
||||||
|
|
||||||
|
get: function (name) { |
||||||
|
return this.stylesManager[name]; |
||||||
|
}, |
||||||
|
|
||||||
|
has: function (name) { |
||||||
|
return this.stylesManager[name] != null; |
||||||
|
}, |
||||||
|
|
||||||
|
removeStyle: function (name) { |
||||||
|
if (!this.has(name)) { |
||||||
|
return this; |
||||||
|
} |
||||||
|
this.stylesManager[name].parentNode.removeChild(this.stylesManager[name]); |
||||||
|
delete this.stylesManager[name]; |
||||||
|
return this; |
||||||
|
} |
||||||
|
}); |
@ -0,0 +1,21 @@ |
|||||||
|
/****添加计算宽度的--运算符直接需要space****/ |
||||||
|
/****** common color(常用颜色,可用于普遍场景) *****/ |
||||||
|
/**** custom color(自定义颜色,用于特定场景) ****/ |
||||||
|
@font-face { |
||||||
|
font-family: 'bbr'; |
||||||
|
src: url('/resources/fonts/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/resources/fonts/iconfont.woff') format('woff'), /* chrome、firefox */ url('/resources/fonts/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('/resources/fonts/iconfont.svg#svgFontName') format('svg'); |
||||||
|
|
||||||
|
/* iOS 4.1- */ |
||||||
|
} |
||||||
|
.b-font { |
||||||
|
font-family: "bi"; |
||||||
|
font-style: normal; |
||||||
|
-webkit-font-smoothing: antialiased; |
||||||
|
-webkit-text-stroke-width: 0.2px; |
||||||
|
-moz-osx-font-smoothing: grayscale; |
||||||
|
} |
||||||
|
.bi-base-request-fail-mask .mask-pane { |
||||||
|
background: #ffffff; |
||||||
|
opacity: 0.8; |
||||||
|
filter: alpha(opacity=80); |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
/****添加计算宽度的--运算符直接需要space****/ |
||||||
|
/****** common color(常用颜色,可用于普遍场景) *****/ |
||||||
|
/**** custom color(自定义颜色,用于特定场景) ****/ |
||||||
|
.bi-combine-chart .bi-linkage-list { |
||||||
|
background-color: #ffffff; |
||||||
|
border: 1px solid #eaeaea; |
||||||
|
z-index: 1000000000; |
||||||
|
} |
||||||
|
.bi-combine-chart .bi-linkage-list .bi-linkage-list-item:hover { |
||||||
|
background-color: #f4f4f4; |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
/****添加计算宽度的--运算符直接需要space****/ |
||||||
|
/****** common color(常用颜色,可用于普遍场景) *****/ |
||||||
|
/**** custom color(自定义颜色,用于特定场景) ****/ |
||||||
|
.bi-bubble-popup-view { |
||||||
|
-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); |
||||||
|
-moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); |
||||||
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); |
||||||
|
} |
||||||
|
.bi-bubble-popup-view .bubble-popup-line { |
||||||
|
background-color: #009de3; |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
/****添加计算宽度的--运算符直接需要space****/ |
||||||
|
/****** common color(常用颜色,可用于普遍场景) *****/ |
||||||
|
/**** custom color(自定义颜色,用于特定场景) ****/ |
||||||
|
/************hing light*****************/ |
||||||
|
.bi-z-index-mask { |
||||||
|
background-color: #1a1a1a; |
||||||
|
opacity: 0.5; |
||||||
|
filter: alpha(opacity=50); |
||||||
|
} |
@ -0,0 +1,32 @@ |
|||||||
|
/****添加计算宽度的--运算符直接需要space****/ |
||||||
|
/****** common color(常用颜色,可用于普遍场景) *****/ |
||||||
|
/**** custom color(自定义颜色,用于特定场景) ****/ |
||||||
|
.bi-login-timeout-center .input-wrapper { |
||||||
|
border-bottom: 1px solid #eaeaea; |
||||||
|
} |
||||||
|
.bi-login-timeout-center .input-wrapper .login-input { |
||||||
|
font-size: 16px; |
||||||
|
} |
||||||
|
.bi-login-timeout-center .input-wrapper .error-mask { |
||||||
|
background: #1a1a1a; |
||||||
|
opacity: 0.25; |
||||||
|
filter: alpha(opacity=25); |
||||||
|
color: #ffffff; |
||||||
|
font-size: 16px; |
||||||
|
} |
||||||
|
.bi-login-timeout-center .login-button { |
||||||
|
background: #009de3; |
||||||
|
-webkit-border-radius: 25px; |
||||||
|
-moz-border-radius: 25px; |
||||||
|
border-radius: 25px; |
||||||
|
font-size: 22px; |
||||||
|
color: #ffffff; |
||||||
|
} |
||||||
|
.bi-login-timeout-center .login-button:hover { |
||||||
|
opacity: 0.8; |
||||||
|
filter: alpha(opacity=80); |
||||||
|
} |
||||||
|
.bi-login-timeout-south .keep-state { |
||||||
|
font-size: 14px; |
||||||
|
color: #808080; |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
/****添加计算宽度的--运算符直接需要space****/ |
||||||
|
/****** common color(常用颜色,可用于普遍场景) *****/ |
||||||
|
/**** custom color(自定义颜色,用于特定场景) ****/ |
||||||
|
.bi-all-count-pager .all-pager-prev { |
||||||
|
font-size: 16px; |
||||||
|
} |
||||||
|
.bi-all-count-pager .all-pager-next { |
||||||
|
font-size: 16px; |
||||||
|
} |
@ -1,10 +1,6 @@ |
|||||||
/****添加计算宽度的--运算符直接需要space****/ |
/****添加计算宽度的--运算符直接需要space****/ |
||||||
/****** common color(常用颜色,可用于普遍场景) *****/ |
/****** common color(常用颜色,可用于普遍场景) *****/ |
||||||
/**** custom color(自定义颜色,用于特定场景) ****/ |
/**** custom color(自定义颜色,用于特定场景) ****/ |
||||||
.bi-state-editor { |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.bi-state-editor .state-editor-infinite-text { |
.bi-state-editor .state-editor-infinite-text { |
||||||
font-size: 12px; |
color: #cccccc; |
||||||
color: #1a1a1a; |
|
||||||
} |
} |
||||||
|
@ -1,10 +1,6 @@ |
|||||||
/****添加计算宽度的--运算符直接需要space****/ |
/****添加计算宽度的--运算符直接需要space****/ |
||||||
/****** common color(常用颜色,可用于普遍场景) *****/ |
/****** common color(常用颜色,可用于普遍场景) *****/ |
||||||
/**** custom color(自定义颜色,用于特定场景) ****/ |
/**** custom color(自定义颜色,用于特定场景) ****/ |
||||||
.bi-simple-state-editor { |
|
||||||
font-size: 12px; |
|
||||||
} |
|
||||||
.bi-simple-state-editor .state-editor-infinite-text { |
.bi-simple-state-editor .state-editor-infinite-text { |
||||||
font-size: 12px; |
color: #cccccc; |
||||||
color: #1a1a1a; |
|
||||||
} |
} |
||||||
|
@ -0,0 +1,34 @@ |
|||||||
|
/****添加计算宽度的--运算符直接需要space****/ |
||||||
|
/****** common color(常用颜色,可用于普遍场景) *****/ |
||||||
|
/**** custom color(自定义颜色,用于特定场景) ****/ |
||||||
|
.bi-timeout-toast { |
||||||
|
font-size: 14px; |
||||||
|
-webkit-border-radius: 2px; |
||||||
|
-moz-border-radius: 2px; |
||||||
|
border-radius: 2px; |
||||||
|
background: #fddddd; |
||||||
|
color: #e85050; |
||||||
|
} |
||||||
|
.bi-timeout-toast .cancel-button { |
||||||
|
background: #ffffff; |
||||||
|
border: 1px solid #d4dadd; |
||||||
|
color: #1a1a1a; |
||||||
|
-webkit-border-radius: 2px; |
||||||
|
-moz-border-radius: 2px; |
||||||
|
border-radius: 2px; |
||||||
|
} |
||||||
|
.bi-timeout-toast .cancel-button:hover { |
||||||
|
opacity: 0.8; |
||||||
|
filter: alpha(opacity=80); |
||||||
|
} |
||||||
|
.bi-timeout-toast .retry-button { |
||||||
|
background: #009de3; |
||||||
|
-webkit-border-radius: 2px; |
||||||
|
-moz-border-radius: 2px; |
||||||
|
border-radius: 2px; |
||||||
|
color: #ffffff; |
||||||
|
} |
||||||
|
.bi-timeout-toast .retry-button:hover { |
||||||
|
opacity: 0.8; |
||||||
|
filter: alpha(opacity=80); |
||||||
|
} |
@ -0,0 +1,38 @@ |
|||||||
|
.bi-flex-center-layout { |
||||||
|
display: box; |
||||||
|
/* OLD - Android 4.4- */ |
||||||
|
display: -webkit-box; |
||||||
|
/* OLD - iOS 6-, Safari 3.1-6 */ |
||||||
|
display: -moz-box; |
||||||
|
/* OLD - Firefox 19- (buggy but mostly works) */ |
||||||
|
display: -ms-flexbox; |
||||||
|
/* TWEENER - IE 10 */ |
||||||
|
display: -webkit-flex; |
||||||
|
/* NEW - Chrome */ |
||||||
|
display: flex; |
||||||
|
/* NEW, Spec - Opera 12.1, Firefox 20+ */ |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-flex-direction: row; |
||||||
|
-moz-flex-direction: row; |
||||||
|
-ms-flex-direction: row; |
||||||
|
-o-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-pack: center; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-justify-content: center; |
||||||
|
-moz-justify-content: center; |
||||||
|
-ms-justify-content: center; |
||||||
|
-o-justify-content: center; |
||||||
|
justify-content: center; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-align: center; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-align-items: center; |
||||||
|
-moz-align-items: center; |
||||||
|
-ms-align-items: center; |
||||||
|
-o-align-items: center; |
||||||
|
align-items: center; |
||||||
|
} |
@ -0,0 +1,66 @@ |
|||||||
|
.bi-flex-horizontal-layout { |
||||||
|
display: box; |
||||||
|
/* OLD - Android 4.4- */ |
||||||
|
display: -webkit-box; |
||||||
|
/* OLD - iOS 6-, Safari 3.1-6 */ |
||||||
|
display: -moz-box; |
||||||
|
/* OLD - Firefox 19- (buggy but mostly works) */ |
||||||
|
display: -ms-flexbox; |
||||||
|
/* TWEENER - IE 10 */ |
||||||
|
display: -webkit-flex; |
||||||
|
/* NEW - Chrome */ |
||||||
|
display: flex; |
||||||
|
/* NEW, Spec - Opera 12.1, Firefox 20+ */ |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-flex-direction: row; |
||||||
|
-moz-flex-direction: row; |
||||||
|
-ms-flex-direction: row; |
||||||
|
-o-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-pack: flex-start; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-justify-content: flex-start; |
||||||
|
-moz-justify-content: flex-start; |
||||||
|
-ms-justify-content: flex-start; |
||||||
|
-o-justify-content: flex-start; |
||||||
|
justify-content: flex-start; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-align: flex-start; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-align-items: flex-start; |
||||||
|
-moz-align-items: flex-start; |
||||||
|
-ms-align-items: flex-start; |
||||||
|
-o-align-items: flex-start; |
||||||
|
align-items: flex-start; |
||||||
|
/* 09版 */ |
||||||
|
/*-webkit-box-lines: multiple;*/ |
||||||
|
/* 12版 */ |
||||||
|
-webkit-flex-wrap: nowrap; |
||||||
|
-moz-flex-wrap: nowrap; |
||||||
|
-ms-flex-wrap: nowrap; |
||||||
|
-o-flex-wrap: nowrap; |
||||||
|
flex-wrap: nowrap; |
||||||
|
} |
||||||
|
.bi-flex-horizontal-layout.middle { |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-align: center; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-align-items: center; |
||||||
|
-moz-align-items: center; |
||||||
|
-ms-align-items: center; |
||||||
|
-o-align-items: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
.bi-flex-horizontal-layout.bottom { |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-align: flex-end; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-align-items: flex-end; |
||||||
|
-moz-align-items: flex-end; |
||||||
|
-ms-align-items: flex-end; |
||||||
|
-o-align-items: flex-end; |
||||||
|
align-items: flex-end; |
||||||
|
} |
@ -0,0 +1,46 @@ |
|||||||
|
.bi-flex-vertical-center { |
||||||
|
display: box; |
||||||
|
/* OLD - Android 4.4- */ |
||||||
|
display: -webkit-box; |
||||||
|
/* OLD - iOS 6-, Safari 3.1-6 */ |
||||||
|
display: -moz-box; |
||||||
|
/* OLD - Firefox 19- (buggy but mostly works) */ |
||||||
|
display: -ms-flexbox; |
||||||
|
/* TWEENER - IE 10 */ |
||||||
|
display: -webkit-flex; |
||||||
|
/* NEW - Chrome */ |
||||||
|
display: flex; |
||||||
|
/* NEW, Spec - Opera 12.1, Firefox 20+ */ |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-flex-direction: row; |
||||||
|
-moz-flex-direction: row; |
||||||
|
-ms-flex-direction: row; |
||||||
|
-o-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-pack: flex-start; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-justify-content: flex-start; |
||||||
|
-moz-justify-content: flex-start; |
||||||
|
-ms-justify-content: flex-start; |
||||||
|
-o-justify-content: flex-start; |
||||||
|
justify-content: flex-start; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-align: center; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-align-items: center; |
||||||
|
-moz-align-items: center; |
||||||
|
-ms-align-items: center; |
||||||
|
-o-align-items: center; |
||||||
|
align-items: center; |
||||||
|
/* 09版 */ |
||||||
|
/*-webkit-box-lines: multiple;*/ |
||||||
|
/* 12版 */ |
||||||
|
-webkit-flex-wrap: nowrap; |
||||||
|
-moz-flex-wrap: nowrap; |
||||||
|
-ms-flex-wrap: nowrap; |
||||||
|
-o-flex-wrap: nowrap; |
||||||
|
flex-wrap: nowrap; |
||||||
|
} |
@ -0,0 +1,41 @@ |
|||||||
|
.bi-flex-wrapper-center-layout .flex-wrapper-center-layout-wrapper { |
||||||
|
display: box; |
||||||
|
/* OLD - Android 4.4- */ |
||||||
|
display: -webkit-box; |
||||||
|
/* OLD - iOS 6-, Safari 3.1-6 */ |
||||||
|
display: -moz-box; |
||||||
|
/* OLD - Firefox 19- (buggy but mostly works) */ |
||||||
|
display: -ms-flexbox; |
||||||
|
/* TWEENER - IE 10 */ |
||||||
|
display: -webkit-flex; |
||||||
|
/* NEW - Chrome */ |
||||||
|
display: flex; |
||||||
|
/* NEW, Spec - Opera 12.1, Firefox 20+ */ |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-flex-direction: row; |
||||||
|
-moz-flex-direction: row; |
||||||
|
-ms-flex-direction: row; |
||||||
|
-o-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-pack: center; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-justify-content: center; |
||||||
|
-moz-justify-content: center; |
||||||
|
-ms-justify-content: center; |
||||||
|
-o-justify-content: center; |
||||||
|
justify-content: center; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-align: center; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-align-items: center; |
||||||
|
-moz-align-items: center; |
||||||
|
-ms-align-items: center; |
||||||
|
-o-align-items: center; |
||||||
|
align-items: center; |
||||||
|
min-width: 100%; |
||||||
|
min-height: 100%; |
||||||
|
float: left; |
||||||
|
} |
@ -0,0 +1,67 @@ |
|||||||
|
.bi-flex-wrapper-horizontal-layout .flex-wrapper-horizontal-layout-wrapper { |
||||||
|
display: box; |
||||||
|
/* OLD - Android 4.4- */ |
||||||
|
display: -webkit-box; |
||||||
|
/* OLD - iOS 6-, Safari 3.1-6 */ |
||||||
|
display: -moz-box; |
||||||
|
/* OLD - Firefox 19- (buggy but mostly works) */ |
||||||
|
display: -ms-flexbox; |
||||||
|
/* TWEENER - IE 10 */ |
||||||
|
display: -webkit-flex; |
||||||
|
/* NEW - Chrome */ |
||||||
|
display: flex; |
||||||
|
/* NEW, Spec - Opera 12.1, Firefox 20+ */ |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-flex-direction: row; |
||||||
|
-moz-flex-direction: row; |
||||||
|
-ms-flex-direction: row; |
||||||
|
-o-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-pack: flex-start; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-justify-content: flex-start; |
||||||
|
-moz-justify-content: flex-start; |
||||||
|
-ms-justify-content: flex-start; |
||||||
|
-o-justify-content: flex-start; |
||||||
|
justify-content: flex-start; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-align: flex-start; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-align-items: flex-start; |
||||||
|
-moz-align-items: flex-start; |
||||||
|
-ms-align-items: flex-start; |
||||||
|
-o-align-items: flex-start; |
||||||
|
align-items: flex-start; |
||||||
|
/* 09版 */ |
||||||
|
/*-webkit-box-lines: multiple;*/ |
||||||
|
/* 12版 */ |
||||||
|
-webkit-flex-wrap: nowrap; |
||||||
|
-moz-flex-wrap: nowrap; |
||||||
|
-ms-flex-wrap: nowrap; |
||||||
|
-o-flex-wrap: nowrap; |
||||||
|
flex-wrap: nowrap; |
||||||
|
min-height: 100%; |
||||||
|
} |
||||||
|
.bi-flex-wrapper-horizontal-layout .flex-wrapper-horizontal-layout-wrapper.middle { |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-align: center; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-align-items: center; |
||||||
|
-moz-align-items: center; |
||||||
|
-ms-align-items: center; |
||||||
|
-o-align-items: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
.bi-flex-wrapper-horizontal-layout .flex-wrapper-horizontal-layout-wrapper.bottom { |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-align: flex-end; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-align-items: flex-end; |
||||||
|
-moz-align-items: flex-end; |
||||||
|
-ms-align-items: flex-end; |
||||||
|
-o-align-items: flex-end; |
||||||
|
align-items: flex-end; |
||||||
|
} |
@ -0,0 +1,48 @@ |
|||||||
|
.bi-flex-wrapper-vertical-center .flex-wrapper-vertical-center-wrapper { |
||||||
|
display: box; |
||||||
|
/* OLD - Android 4.4- */ |
||||||
|
display: -webkit-box; |
||||||
|
/* OLD - iOS 6-, Safari 3.1-6 */ |
||||||
|
display: -moz-box; |
||||||
|
/* OLD - Firefox 19- (buggy but mostly works) */ |
||||||
|
display: -ms-flexbox; |
||||||
|
/* TWEENER - IE 10 */ |
||||||
|
display: -webkit-flex; |
||||||
|
/* NEW - Chrome */ |
||||||
|
display: flex; |
||||||
|
/* NEW, Spec - Opera 12.1, Firefox 20+ */ |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-orient: horizontal; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-flex-direction: row; |
||||||
|
-moz-flex-direction: row; |
||||||
|
-ms-flex-direction: row; |
||||||
|
-o-flex-direction: row; |
||||||
|
flex-direction: row; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-pack: flex-start; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-justify-content: flex-start; |
||||||
|
-moz-justify-content: flex-start; |
||||||
|
-ms-justify-content: flex-start; |
||||||
|
-o-justify-content: flex-start; |
||||||
|
justify-content: flex-start; |
||||||
|
/* 09版 */ |
||||||
|
-webkit-box-align: center; |
||||||
|
/* 12版 */ |
||||||
|
-webkit-align-items: center; |
||||||
|
-moz-align-items: center; |
||||||
|
-ms-align-items: center; |
||||||
|
-o-align-items: center; |
||||||
|
align-items: center; |
||||||
|
/* 09版 */ |
||||||
|
/*-webkit-box-lines: multiple;*/ |
||||||
|
/* 12版 */ |
||||||
|
-webkit-flex-wrap: nowrap; |
||||||
|
-moz-flex-wrap: nowrap; |
||||||
|
-ms-flex-wrap: nowrap; |
||||||
|
-o-flex-wrap: nowrap; |
||||||
|
flex-wrap: nowrap; |
||||||
|
min-height: 100%; |
||||||
|
float: left; |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
@import "../bibase"; |
||||||
|
|
||||||
|
@font-face { |
||||||
|
font-family: 'bbr'; |
||||||
|
src: url('@{webUrl}/resources/fonts/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ |
||||||
|
url('@{webUrl}/resources/fonts/iconfont.woff') format('woff'), /* chrome、firefox */ |
||||||
|
url('@{webUrl}/resources/fonts/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ |
||||||
|
url('@{webUrl}/resources/fonts/iconfont.svg#svgFontName') format('svg'); /* iOS 4.1- */ |
||||||
|
} |
||||||
|
|
||||||
|
.b-font { |
||||||
|
font-family: "bi"; |
||||||
|
font-style: normal; |
||||||
|
-webkit-font-smoothing: antialiased; |
||||||
|
-webkit-text-stroke-width: 0.2px; |
||||||
|
-moz-osx-font-smoothing: grayscale; |
||||||
|
} |
||||||
|
|
||||||
|
.bi-base-request-fail-mask{ |
||||||
|
& .mask-pane{ |
||||||
|
background: @color-bi-background-default; |
||||||
|
.opacity(0.8); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,13 @@ |
|||||||
|
@import "../../bibase"; |
||||||
|
.bi-combine-chart { |
||||||
|
& .bi-linkage-list { |
||||||
|
background-color: @background-color-default; |
||||||
|
border: 1px solid @border-color-line; |
||||||
|
z-index: @zIndex-tip; |
||||||
|
& .bi-linkage-list-item { |
||||||
|
&:hover { |
||||||
|
background-color: @color-bi-background-gray; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
@import "../../bibase"; |
||||||
|
|
||||||
|
.bi-bubble-combo { |
||||||
|
& .bubble-combo-triangle-left { |
||||||
|
.solid-triangle-right(@color-bi-background-highlight); |
||||||
|
} |
||||||
|
& .bubble-combo-triangle-right { |
||||||
|
.solid-triangle-left(@color-bi-background-highlight); |
||||||
|
} |
||||||
|
& .bubble-combo-triangle-top { |
||||||
|
.solid-triangle-down(@color-bi-background-highlight); |
||||||
|
} |
||||||
|
& .bubble-combo-triangle-bottom { |
||||||
|
.solid-triangle-up(@color-bi-background-highlight); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,8 @@ |
|||||||
|
@import "../../bibase"; |
||||||
|
|
||||||
|
.bi-bubble-popup-view { |
||||||
|
& .bubble-popup-line { |
||||||
|
background-color: @color-bi-background-highlight; |
||||||
|
} |
||||||
|
.box-shadow(0 0 10px, rgba(0, 0, 0, 0.2)); |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
@import "../bibase"; |
||||||
|
@import "../lib/colors"; |
||||||
|
/************hing light*****************/ |
||||||
|
.bi-z-index-mask{ |
||||||
|
background-color: @color-bi-background-black; |
||||||
|
.opacity(0.5); |
||||||
|
} |
@ -0,0 +1,30 @@ |
|||||||
|
@import "../../bibase"; |
||||||
|
.bi-login-timeout-center{ |
||||||
|
& .input-wrapper{ |
||||||
|
border-bottom: 1px solid @color-bi-border-line; |
||||||
|
& .login-input{ |
||||||
|
font-size: @font-size-16; |
||||||
|
} |
||||||
|
& .error-mask{ |
||||||
|
background: @color-bi-background-black; |
||||||
|
.opacity(0.25); |
||||||
|
color: @color-bi-text; |
||||||
|
font-size: @font-size-16; |
||||||
|
} |
||||||
|
} |
||||||
|
& .login-button{ |
||||||
|
background: @color-bi-background-highlight; |
||||||
|
.border-radius(25px); |
||||||
|
font-size: @font-size-22; |
||||||
|
color: @color-bi-text; |
||||||
|
&:hover{ |
||||||
|
.opacity(0.8); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.bi-login-timeout-south{ |
||||||
|
& .keep-state{ |
||||||
|
font-size: @font-size-14; |
||||||
|
color: @color-bi-text-gray; |
||||||
|
} |
||||||
|
} |
@ -1,15 +1,12 @@ |
|||||||
@import "../../bibase"; |
@import "../../bibase"; |
||||||
|
|
||||||
.bi-all-pager { |
.bi-all-count-pager { |
||||||
& .pager-editor { |
& .pager-editor { |
||||||
background-color: @color-bi-background-default; |
|
||||||
} |
} |
||||||
& .all-pager-prev { |
& .all-pager-prev { |
||||||
font-size: @font-size-16; |
font-size: @font-size-16; |
||||||
background: @color-bi-background-gray; |
|
||||||
} |
} |
||||||
& .all-pager-next { |
& .all-pager-next { |
||||||
font-size: @font-size-16; |
font-size: @font-size-16; |
||||||
background: @color-bi-background-gray; |
|
||||||
} |
} |
||||||
} |
} |
@ -1,12 +0,0 @@ |
|||||||
@import "../../bibase"; |
|
||||||
|
|
||||||
.bi-number-pager { |
|
||||||
& .number-pager-prev { |
|
||||||
font-size: @font-size-16; |
|
||||||
background: @color-bi-background-gray; |
|
||||||
} |
|
||||||
& .number-pager-next { |
|
||||||
font-size: @font-size-16; |
|
||||||
background: @color-bi-background-gray; |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
@import "../../bibase"; |
|
||||||
|
|
||||||
.bi-skip-pager { |
|
||||||
& .skip-pager-prev { |
|
||||||
font-size: @font-size-16; |
|
||||||
background: @color-bi-background-gray; |
|
||||||
} |
|
||||||
& .skip-pager-next { |
|
||||||
font-size: @font-size-16; |
|
||||||
background: @color-bi-background-gray; |
|
||||||
} |
|
||||||
} |
|
@ -1,13 +1,20 @@ |
|||||||
@import "../../bibase"; |
@import "../../bibase"; |
||||||
.bi-request-loading{ |
|
||||||
& .mask-pane{ |
.bi-request-loading { |
||||||
|
& .mask-pane { |
||||||
background: @color-bi-background-default; |
background: @color-bi-background-default; |
||||||
.opacity(0.8); |
.opacity(0.8); |
||||||
} |
} |
||||||
& .loading-comment{ |
& .loading-comment { |
||||||
font-size: @font-size-14; |
font-size: 20px; |
||||||
|
color: @color-bi-text-gray; |
||||||
} |
} |
||||||
& .load-fail-comment{ |
& .load-fail-comment { |
||||||
font-size: @font-size-14; |
font-size: 20px; |
||||||
|
color: @color-bi-text-gray; |
||||||
|
} |
||||||
|
& .load-timeout-warning { |
||||||
|
font-size: @font-size-16; |
||||||
|
color: @color-bi-text-warning; |
||||||
} |
} |
||||||
} |
} |
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 45 B |
After Width: | Height: | Size: 381 B |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 11 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue