forked from fanruan/fineui
Browse Source
* commit '531014f290d463e394f34839113c29c91423e11a': add add 加个删除tab项的方法 add add add addmaster
guy
8 years ago
13 changed files with 2736 additions and 2697 deletions
@ -1,115 +1,115 @@ |
|||||||
/** |
/** |
||||||
* |
* |
||||||
* 表格单元格 |
* 表格单元格 |
||||||
* |
* |
||||||
* Created by GUY on 2016/1/12. |
* Created by GUY on 2016/1/12. |
||||||
* @class BI.ResizableTableCell |
* @class BI.ResizableTableCell |
||||||
* @extends BI.Widget |
* @extends BI.Widget |
||||||
*/ |
*/ |
||||||
BI.ResizableTableCell = BI.inherit(BI.Widget, { |
BI.ResizableTableCell = BI.inherit(BI.Widget, { |
||||||
_defaultConfig: function () { |
_defaultConfig: function () { |
||||||
return BI.extend(BI.ResizableTableCell.superclass._defaultConfig.apply(this, arguments), { |
return BI.extend(BI.ResizableTableCell.superclass._defaultConfig.apply(this, arguments), { |
||||||
baseCls: "bi-resizable-table-cell", |
baseCls: "bi-resizable-table-cell", |
||||||
cell: {}, |
cell: {}, |
||||||
minSize: 15, |
minSize: 15, |
||||||
// suitableSize,
|
// suitableSize,
|
||||||
maxSize: Number.MAX_VALUE, |
maxSize: Number.MAX_VALUE, |
||||||
start: BI.emptyFn, |
start: BI.emptyFn, |
||||||
resize: BI.emptyFn, |
resize: BI.emptyFn, |
||||||
stop: BI.emptyFn |
stop: BI.emptyFn |
||||||
}) |
}) |
||||||
}, |
}, |
||||||
|
|
||||||
_init: function () { |
_init: function () { |
||||||
BI.ResizableTableCell.superclass._init.apply(this, arguments); |
BI.ResizableTableCell.superclass._init.apply(this, arguments); |
||||||
var self = this, o = this.options; |
var self = this, o = this.options; |
||||||
this.cell = BI.createWidget(BI.extend({type: "bi.label"}, o.cell, {width: o.width, height: o.height})); |
this.cell = BI.createWidget(BI.extend({type: "bi.label"}, o.cell, {width: o.width, height: o.height})); |
||||||
|
|
||||||
var startDrag = false; |
var startDrag = false; |
||||||
var size = 0, offset = 0, defaultSize = o.width; |
var size = 0, offset = 0, defaultSize = o.width; |
||||||
|
|
||||||
function optimizeSize(s) { |
function optimizeSize(s) { |
||||||
var optSize = BI.clamp(s, o.minSize, o.maxSize || Number.MAX_VALUE); |
var optSize = BI.clamp(s, o.minSize, o.maxSize || Number.MAX_VALUE); |
||||||
if (o.suitableSize) { |
// if (o.suitableSize) {
|
||||||
if (Math.abs(o.suitableSize - optSize) < 5) { |
// if (Math.abs(o.suitableSize - optSize) < 5) {
|
||||||
optSize = o.suitableSize; |
// optSize = o.suitableSize;
|
||||||
self.handler.element.addClass("suitable"); |
// self.handler.element.addClass("suitable");
|
||||||
} else { |
// } else {
|
||||||
self.handler.element.removeClass("suitable"); |
// self.handler.element.removeClass("suitable");
|
||||||
} |
// }
|
||||||
} |
// }
|
||||||
return optSize; |
return optSize; |
||||||
} |
} |
||||||
|
|
||||||
var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX, deltaY) { |
var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX, deltaY) { |
||||||
if (mouseMoveTracker.isDragging()) { |
if (mouseMoveTracker.isDragging()) { |
||||||
startDrag = true; |
startDrag = true; |
||||||
offset += deltaX; |
offset += deltaX; |
||||||
size = optimizeSize(defaultSize + offset); |
size = optimizeSize(defaultSize + offset); |
||||||
self.handler.element.addClass("dragging"); |
self.handler.element.addClass("dragging"); |
||||||
o.resize(size); |
o.resize(size); |
||||||
} |
} |
||||||
}, function () { |
}, function () { |
||||||
if (startDrag === true) { |
if (startDrag === true) { |
||||||
size = optimizeSize(size); |
size = optimizeSize(size); |
||||||
o.stop(size); |
o.stop(size); |
||||||
size = 0; |
size = 0; |
||||||
offset = 0; |
offset = 0; |
||||||
defaultSize = o.width; |
defaultSize = o.width; |
||||||
startDrag = false; |
startDrag = false; |
||||||
} |
} |
||||||
self.handler.element.removeClass("dragging"); |
self.handler.element.removeClass("dragging"); |
||||||
self.handler.element.removeClass("suitable"); |
self.handler.element.removeClass("suitable"); |
||||||
mouseMoveTracker.releaseMouseMoves(); |
mouseMoveTracker.releaseMouseMoves(); |
||||||
}, document); |
}, document); |
||||||
this.handler = BI.createWidget({ |
this.handler = BI.createWidget({ |
||||||
type: "bi.absolute", |
type: "bi.absolute", |
||||||
cls: "resizable-table-cell-resizer-container", |
cls: "resizable-table-cell-resizer-container", |
||||||
width: 6, |
width: 6, |
||||||
items: [{ |
items: [{ |
||||||
el: { |
el: { |
||||||
type: "bi.layout", |
type: "bi.layout", |
||||||
cls: "resizable-table-cell-resizer-knob", |
cls: "resizable-table-cell-resizer-knob", |
||||||
width: 4 |
width: 4 |
||||||
}, |
}, |
||||||
right: 0, |
right: 0, |
||||||
top: 0, |
top: 0, |
||||||
bottom: 0 |
bottom: 0 |
||||||
}] |
}] |
||||||
}); |
}); |
||||||
this.handler.element.on("mousedown", function (event) { |
this.handler.element.on("mousedown", function (event) { |
||||||
defaultSize = o.width; |
defaultSize = o.width; |
||||||
optimizeSize(defaultSize); |
optimizeSize(defaultSize); |
||||||
mouseMoveTracker.captureMouseMoves(event); |
mouseMoveTracker.captureMouseMoves(event); |
||||||
}); |
}); |
||||||
BI.createWidget({ |
BI.createWidget({ |
||||||
type: "bi.absolute", |
type: "bi.absolute", |
||||||
element: this, |
element: this, |
||||||
items: [{ |
items: [{ |
||||||
el: this.cell, |
el: this.cell, |
||||||
left: 0, |
left: 0, |
||||||
right: 0, |
right: 0, |
||||||
top: 0, |
top: 0, |
||||||
bottom: 0 |
bottom: 0 |
||||||
}, { |
}, { |
||||||
el: this.handler, |
el: this.handler, |
||||||
right: 0, |
right: 0, |
||||||
top: 0, |
top: 0, |
||||||
bottom: 0 |
bottom: 0 |
||||||
}] |
}] |
||||||
}) |
}) |
||||||
}, |
}, |
||||||
|
|
||||||
setWidth: function (width) { |
setWidth: function (width) { |
||||||
BI.ResizableTableCell.superclass.setWidth.apply(this, arguments); |
BI.ResizableTableCell.superclass.setWidth.apply(this, arguments); |
||||||
var o = this.options; |
var o = this.options; |
||||||
this.cell.setWidth(o.width); |
this.cell.setWidth(o.width); |
||||||
}, |
}, |
||||||
|
|
||||||
setHeight: function (height) { |
setHeight: function (height) { |
||||||
BI.ResizableTableCell.superclass.setHeight.apply(this, arguments); |
BI.ResizableTableCell.superclass.setHeight.apply(this, arguments); |
||||||
var o = this.options; |
var o = this.options; |
||||||
this.cell.setHeight(o.height); |
this.cell.setHeight(o.height); |
||||||
} |
} |
||||||
}); |
}); |
||||||
BI.shortcut("bi.resizable_table_cell", BI.ResizableTableCell); |
BI.shortcut("bi.resizable_table_cell", BI.ResizableTableCell); |
@ -1,224 +1,222 @@ |
|||||||
/** |
/** |
||||||
* Created by GUY on 2017/2/8. |
* Created by GUY on 2017/2/8. |
||||||
* |
* |
||||||
* @class BI.BubbleCombo |
* @class BI.BubbleCombo |
||||||
* @extends BI.Widget |
* @extends BI.Widget |
||||||
*/ |
*/ |
||||||
BI.BubbleCombo = BI.inherit(BI.Widget, { |
BI.BubbleCombo = BI.inherit(BI.Widget, { |
||||||
_const: { |
_const: { |
||||||
TRIANGLE_LENGTH: 6 |
TRIANGLE_LENGTH: 6 |
||||||
}, |
}, |
||||||
_defaultConfig: function () { |
_defaultConfig: function () { |
||||||
return BI.extend(BI.BubbleCombo.superclass._defaultConfig.apply(this, arguments), { |
return BI.extend(BI.BubbleCombo.superclass._defaultConfig.apply(this, arguments), { |
||||||
baseCls: "bi-bubble-combo", |
baseCls: "bi-bubble-combo", |
||||||
trigger: "click", |
trigger: "click", |
||||||
toggle: true, |
toggle: true, |
||||||
direction: "bottom", //top||bottom||left||right||top,left||top,right||bottom,left||bottom,right
|
direction: "bottom", //top||bottom||left||right||top,left||top,right||bottom,left||bottom,right
|
||||||
isDefaultInit: false, |
isDefaultInit: false, |
||||||
destroyWhenHide: false, |
destroyWhenHide: false, |
||||||
isNeedAdjustHeight: true,//是否需要高度调整
|
isNeedAdjustHeight: true,//是否需要高度调整
|
||||||
isNeedAdjustWidth: true, |
isNeedAdjustWidth: true, |
||||||
stopPropagation: false, |
stopPropagation: false, |
||||||
adjustLength: 0,//调整的距离
|
adjustLength: 0,//调整的距离
|
||||||
// adjustXOffset: 0,
|
// adjustXOffset: 0,
|
||||||
// adjustYOffset: 10,
|
// adjustYOffset: 10,
|
||||||
hideChecker: BI.emptyFn, |
hideChecker: BI.emptyFn, |
||||||
offsetStyle: "left", //left,right,center
|
offsetStyle: "left", //left,right,center
|
||||||
el: {}, |
el: {}, |
||||||
popup: {}, |
popup: {}, |
||||||
}) |
}) |
||||||
}, |
}, |
||||||
_init: function () { |
_init: function () { |
||||||
BI.BubbleCombo.superclass._init.apply(this, arguments); |
BI.BubbleCombo.superclass._init.apply(this, arguments); |
||||||
var self = this, o = this.options; |
var self = this, o = this.options; |
||||||
this.combo = BI.createWidget({ |
this.combo = BI.createWidget({ |
||||||
type: "bi.combo", |
type: "bi.combo", |
||||||
element: this, |
element: this, |
||||||
trigger: o.trigger, |
trigger: o.trigger, |
||||||
toggle: o.toggle, |
toggle: o.toggle, |
||||||
direction: o.direction, |
direction: o.direction, |
||||||
isDefaultInit: o.isDefaultInit, |
isDefaultInit: o.isDefaultInit, |
||||||
destroyWhenHide: o.destroyWhenHide, |
destroyWhenHide: o.destroyWhenHide, |
||||||
isNeedAdjustHeight: o.isNeedAdjustHeight, |
isNeedAdjustHeight: o.isNeedAdjustHeight, |
||||||
isNeedAdjustWidth: o.isNeedAdjustWidth, |
isNeedAdjustWidth: o.isNeedAdjustWidth, |
||||||
adjustLength: this._getAdjustLength(), |
adjustLength: this._getAdjustLength(), |
||||||
stopPropagation: o.stopPropagation, |
stopPropagation: o.stopPropagation, |
||||||
adjustXOffset: 0, |
adjustXOffset: 0, |
||||||
adjustYOffset: 0, |
adjustYOffset: 0, |
||||||
hideChecker: o.hideChecker, |
hideChecker: o.hideChecker, |
||||||
offsetStyle: o.offsetStyle, |
offsetStyle: o.offsetStyle, |
||||||
el: o.el, |
el: o.el, |
||||||
popup: BI.extend({ |
popup: BI.extend({ |
||||||
type: "bi.bubble_popup_view" |
type: "bi.bubble_popup_view" |
||||||
}, o.popup), |
}, o.popup), |
||||||
}); |
}); |
||||||
this.combo.on(BI.Combo.EVENT_TRIGGER_CHANGE, function () { |
this.combo.on(BI.Combo.EVENT_TRIGGER_CHANGE, function () { |
||||||
self.fireEvent(BI.BubbleCombo.EVENT_TRIGGER_CHANGE, arguments); |
self.fireEvent(BI.BubbleCombo.EVENT_TRIGGER_CHANGE, arguments); |
||||||
}); |
}); |
||||||
this.combo.on(BI.Combo.EVENT_CHANGE, function () { |
this.combo.on(BI.Combo.EVENT_CHANGE, function () { |
||||||
self.fireEvent(BI.BubbleCombo.EVENT_CHANGE, arguments); |
self.fireEvent(BI.BubbleCombo.EVENT_CHANGE, arguments); |
||||||
}); |
}); |
||||||
this.combo.on(BI.Combo.EVENT_EXPAND, function () { |
this.combo.on(BI.Combo.EVENT_EXPAND, function () { |
||||||
self.fireEvent(BI.BubbleCombo.EVENT_EXPAND, arguments); |
self.fireEvent(BI.BubbleCombo.EVENT_EXPAND, arguments); |
||||||
}); |
}); |
||||||
this.combo.on(BI.Combo.EVENT_COLLAPSE, function () { |
this.combo.on(BI.Combo.EVENT_COLLAPSE, function () { |
||||||
self.fireEvent(BI.BubbleCombo.EVENT_COLLAPSE, arguments); |
self.fireEvent(BI.BubbleCombo.EVENT_COLLAPSE, arguments); |
||||||
}); |
}); |
||||||
this.combo.on(BI.Combo.EVENT_AFTER_INIT, function () { |
this.combo.on(BI.Combo.EVENT_AFTER_INIT, function () { |
||||||
self.fireEvent(BI.BubbleCombo.EVENT_AFTER_INIT, arguments); |
self.fireEvent(BI.BubbleCombo.EVENT_AFTER_INIT, arguments); |
||||||
}); |
}); |
||||||
this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { |
this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { |
||||||
self.fireEvent(BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW, arguments); |
self.fireEvent(BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW, arguments); |
||||||
}); |
}); |
||||||
this.combo.on(BI.Combo.EVENT_AFTER_POPUPVIEW, function () { |
this.combo.on(BI.Combo.EVENT_AFTER_POPUPVIEW, function () { |
||||||
self._showTriangle(); |
self._showTriangle(); |
||||||
self.fireEvent(BI.BubbleCombo.EVENT_AFTER_POPUPVIEW, arguments); |
self.fireEvent(BI.BubbleCombo.EVENT_AFTER_POPUPVIEW, arguments); |
||||||
}); |
}); |
||||||
this.combo.on(BI.Combo.EVENT_BEFORE_HIDEVIEW, function () { |
this.combo.on(BI.Combo.EVENT_BEFORE_HIDEVIEW, function () { |
||||||
self._hideTriangle(); |
self._hideTriangle(); |
||||||
self.fireEvent(BI.BubbleCombo.EVENT_BEFORE_HIDEVIEW, arguments); |
self.fireEvent(BI.BubbleCombo.EVENT_BEFORE_HIDEVIEW, arguments); |
||||||
}); |
}); |
||||||
this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW, function () { |
this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW, function () { |
||||||
self.fireEvent(BI.BubbleCombo.EVENT_AFTER_HIDEVIEW, arguments); |
self.fireEvent(BI.BubbleCombo.EVENT_AFTER_HIDEVIEW, arguments); |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
|
|
||||||
_getAdjustLength: function () { |
_getAdjustLength: function () { |
||||||
return this._const.TRIANGLE_LENGTH + this.options.adjustLength; |
return this._const.TRIANGLE_LENGTH + this.options.adjustLength; |
||||||
}, |
}, |
||||||
|
|
||||||
_createTriangle: function (direction) { |
_createTriangle: function (direction) { |
||||||
var pos = {}, op = {}; |
var pos = {}, op = {}; |
||||||
var adjustLength = this.options.adjustLength; |
var adjustLength = this.options.adjustLength; |
||||||
var offset = this.element.offset(); |
var offset = this.element.offset(); |
||||||
var left = offset.left, right = offset.left + this.element.outerWidth(); |
var left = offset.left, right = offset.left + this.element.outerWidth(); |
||||||
var top = offset.top, bottom = offset.top + this.element.outerHeight(); |
var top = offset.top, bottom = offset.top + this.element.outerHeight(); |
||||||
switch (direction) { |
switch (direction) { |
||||||
case "left": |
case "left": |
||||||
pos = { |
pos = { |
||||||
top: top, |
top: top, |
||||||
height: this.element.outerHeight(), |
height: this.element.outerHeight(), |
||||||
left: left - adjustLength - this._const.TRIANGLE_LENGTH |
left: left - adjustLength - this._const.TRIANGLE_LENGTH |
||||||
}; |
}; |
||||||
op = {width: this._const.TRIANGLE_LENGTH}; |
op = {width: this._const.TRIANGLE_LENGTH}; |
||||||
break; |
break; |
||||||
case "right": |
case "right": |
||||||
pos = { |
pos = { |
||||||
top: top, |
top: top, |
||||||
height: this.element.outerHeight(), |
height: this.element.outerHeight(), |
||||||
left: right + adjustLength |
left: right + adjustLength |
||||||
}; |
}; |
||||||
op = {width: this._const.TRIANGLE_LENGTH}; |
op = {width: this._const.TRIANGLE_LENGTH}; |
||||||
break; |
break; |
||||||
case "top": |
case "top": |
||||||
pos = { |
pos = { |
||||||
left: left, |
left: left, |
||||||
width: this.element.outerWidth(), |
width: this.element.outerWidth(), |
||||||
top: top - adjustLength - this._const.TRIANGLE_LENGTH |
top: top - adjustLength - this._const.TRIANGLE_LENGTH |
||||||
}; |
}; |
||||||
op = {height: this._const.TRIANGLE_LENGTH}; |
op = {height: this._const.TRIANGLE_LENGTH}; |
||||||
break; |
break; |
||||||
case "bottom": |
case "bottom": |
||||||
pos = { |
pos = { |
||||||
left: left, |
left: left, |
||||||
width: this.element.outerWidth(), |
width: this.element.outerWidth(), |
||||||
top: bottom + adjustLength |
top: bottom + adjustLength |
||||||
}; |
}; |
||||||
op = {height: this._const.TRIANGLE_LENGTH}; |
op = {height: this._const.TRIANGLE_LENGTH}; |
||||||
break; |
break; |
||||||
default: |
default: |
||||||
break; |
break; |
||||||
} |
} |
||||||
this.triangle = BI.createWidget(op, { |
this.triangle && this.triangle.destroy(); |
||||||
type: "bi.center_adapt", |
this.triangle = BI.createWidget(op, { |
||||||
cls: "button-combo-triangle-wrapper", |
type: "bi.center_adapt", |
||||||
items: [{ |
cls: "button-combo-triangle-wrapper", |
||||||
type: "bi.layout", |
items: [{ |
||||||
cls: "bubble-combo-triangle-" + direction + " bi-high-light-border" |
type: "bi.layout", |
||||||
}] |
cls: "bubble-combo-triangle-" + direction + " bi-high-light-border" |
||||||
}); |
}] |
||||||
pos.el = this.triangle; |
}); |
||||||
BI.createWidget({ |
pos.el = this.triangle; |
||||||
type: "bi.absolute", |
BI.createWidget({ |
||||||
element: this, |
type: "bi.absolute", |
||||||
items: [pos] |
element: this, |
||||||
}) |
items: [pos] |
||||||
}, |
}) |
||||||
|
}, |
||||||
_createLeftTriangle: function () { |
|
||||||
this._createTriangle("left"); |
_createLeftTriangle: function () { |
||||||
}, |
this._createTriangle("left"); |
||||||
|
}, |
||||||
_createRightTriangle: function () { |
|
||||||
this._createTriangle("right"); |
_createRightTriangle: function () { |
||||||
}, |
this._createTriangle("right"); |
||||||
|
}, |
||||||
_createTopTriangle: function () { |
|
||||||
this._createTriangle("top"); |
_createTopTriangle: function () { |
||||||
}, |
this._createTriangle("top"); |
||||||
|
}, |
||||||
_createBottomTriangle: function () { |
|
||||||
this._createTriangle("bottom"); |
_createBottomTriangle: function () { |
||||||
}, |
this._createTriangle("bottom"); |
||||||
|
}, |
||||||
_showTriangle: function () { |
|
||||||
var pos = this.combo.getPopupPosition(); |
_showTriangle: function () { |
||||||
switch (pos.dir) { |
var pos = this.combo.getPopupPosition(); |
||||||
case "left,top": |
switch (pos.dir) { |
||||||
case "left,bottom": |
case "left,top": |
||||||
this._createLeftTriangle(); |
case "left,bottom": |
||||||
this.combo.getView().showLine("right"); |
this._createLeftTriangle(); |
||||||
break; |
this.combo.getView().showLine("right"); |
||||||
case "right,top": |
break; |
||||||
case "right,bottom": |
case "right,top": |
||||||
this._createRightTriangle(); |
case "right,bottom": |
||||||
this.combo.getView().showLine("left"); |
this._createRightTriangle(); |
||||||
break; |
this.combo.getView().showLine("left"); |
||||||
case "top,left": |
break; |
||||||
case "top,right": |
case "top,left": |
||||||
this._createTopTriangle(); |
case "top,right": |
||||||
this.combo.getView().showLine("bottom"); |
this._createTopTriangle(); |
||||||
break; |
this.combo.getView().showLine("bottom"); |
||||||
case "bottom,left": |
break; |
||||||
case "bottom,right": |
case "bottom,left": |
||||||
this._createBottomTriangle(); |
case "bottom,right": |
||||||
this.combo.getView().showLine("top"); |
this._createBottomTriangle(); |
||||||
break; |
this.combo.getView().showLine("top"); |
||||||
} |
break; |
||||||
}, |
} |
||||||
|
}, |
||||||
_hideTriangle: function () { |
|
||||||
this.triangle && this.triangle.destroy(); |
_hideTriangle: function () { |
||||||
this.combo.getView() && this.combo.getView().hideLine(); |
this.triangle && this.triangle.destroy(); |
||||||
}, |
this.triangle = null; |
||||||
|
this.combo.getView() && this.combo.getView().hideLine(); |
||||||
hideView: function () { |
}, |
||||||
this._hideTriangle(); |
|
||||||
this.combo && this.combo.hideView(); |
hideView: function () { |
||||||
}, |
this._hideTriangle(); |
||||||
|
this.combo && this.combo.hideView(); |
||||||
showView: function () { |
}, |
||||||
this.combo && this.combo.showView(); |
|
||||||
}, |
showView: function () { |
||||||
|
this.combo && this.combo.showView(); |
||||||
hasView: function () { |
}, |
||||||
return BI.isNotNull(this.combo.getView()); |
|
||||||
}, |
isViewVisible: function () { |
||||||
|
return this.combo.isViewVisible(); |
||||||
isViewVisible: function () { |
} |
||||||
return this.combo.isViewVisible(); |
}); |
||||||
} |
|
||||||
}); |
BI.BubbleCombo.EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE"; |
||||||
|
BI.BubbleCombo.EVENT_CHANGE = "EVENT_CHANGE"; |
||||||
BI.BubbleCombo.EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE"; |
BI.BubbleCombo.EVENT_EXPAND = "EVENT_EXPAND"; |
||||||
BI.BubbleCombo.EVENT_CHANGE = "EVENT_CHANGE"; |
BI.BubbleCombo.EVENT_COLLAPSE = "EVENT_COLLAPSE"; |
||||||
BI.BubbleCombo.EVENT_EXPAND = "EVENT_EXPAND"; |
BI.BubbleCombo.EVENT_AFTER_INIT = "EVENT_AFTER_INIT"; |
||||||
BI.BubbleCombo.EVENT_COLLAPSE = "EVENT_COLLAPSE"; |
|
||||||
BI.BubbleCombo.EVENT_AFTER_INIT = "EVENT_AFTER_INIT"; |
|
||||||
|
BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; |
||||||
|
BI.BubbleCombo.EVENT_AFTER_POPUPVIEW = "EVENT_AFTER_POPUPVIEW"; |
||||||
BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; |
BI.BubbleCombo.EVENT_BEFORE_HIDEVIEW = "EVENT_BEFORE_HIDEVIEW"; |
||||||
BI.BubbleCombo.EVENT_AFTER_POPUPVIEW = "EVENT_AFTER_POPUPVIEW"; |
BI.BubbleCombo.EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW"; |
||||||
BI.BubbleCombo.EVENT_BEFORE_HIDEVIEW = "EVENT_BEFORE_HIDEVIEW"; |
|
||||||
BI.BubbleCombo.EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW"; |
|
||||||
BI.shortcut("bi.bubble_combo", BI.BubbleCombo); |
BI.shortcut("bi.bubble_combo", BI.BubbleCombo); |
@ -1,173 +1,176 @@ |
|||||||
/** |
/** |
||||||
* Created by GUY on 2016/4/29. |
* Created by GUY on 2016/4/29. |
||||||
* |
* |
||||||
* @class BI.SortList |
* @class BI.SortList |
||||||
* @extends BI.Widget |
* @extends BI.Widget |
||||||
*/ |
*/ |
||||||
BI.SortList = BI.inherit(BI.Widget, { |
BI.SortList = BI.inherit(BI.Widget, { |
||||||
_defaultConfig: function () { |
_defaultConfig: function () { |
||||||
return BI.extend(BI.SortList.superclass._defaultConfig.apply(this, arguments), { |
return BI.extend(BI.SortList.superclass._defaultConfig.apply(this, arguments), { |
||||||
baseCls: "bi-sort-list", |
baseCls: "bi-sort-list", |
||||||
|
|
||||||
isDefaultInit: true,//是否默认初始化数据
|
isDefaultInit: true,//是否默认初始化数据
|
||||||
|
|
||||||
//下面是button_group的属性
|
//下面是button_group的属性
|
||||||
el: { |
el: { |
||||||
type: "bi.button_group" |
type: "bi.button_group" |
||||||
}, |
}, |
||||||
|
|
||||||
items: [], |
items: [], |
||||||
itemsCreator: BI.emptyFn, |
itemsCreator: BI.emptyFn, |
||||||
onLoaded: BI.emptyFn, |
onLoaded: BI.emptyFn, |
||||||
|
|
||||||
//下面是分页信息
|
//下面是分页信息
|
||||||
count: false, |
count: false, |
||||||
next: {}, |
next: {}, |
||||||
hasNext: BI.emptyFn |
hasNext: BI.emptyFn |
||||||
|
|
||||||
//containment: this.element,
|
//containment: this.element,
|
||||||
//connectWith: ".bi-sort-list",
|
//connectWith: ".bi-sort-list",
|
||||||
}) |
}) |
||||||
}, |
}, |
||||||
|
|
||||||
_init: function () { |
_init: function () { |
||||||
BI.SortList.superclass._init.apply(this, arguments); |
BI.SortList.superclass._init.apply(this, arguments); |
||||||
var self = this, o = this.options; |
var self = this, o = this.options; |
||||||
this.loader = BI.createWidget({ |
this.loader = BI.createWidget({ |
||||||
type: "bi.list_loader", |
type: "bi.list_loader", |
||||||
element: this, |
element: this, |
||||||
isDefaultInit: o.isDefaultInit, |
isDefaultInit: o.isDefaultInit, |
||||||
el: o.el, |
el: o.el, |
||||||
items: this._formatItems(o.items), |
items: this._formatItems(o.items), |
||||||
itemsCreator: function (op, callback) { |
itemsCreator: function (op, callback) { |
||||||
o.itemsCreator(op, function (items) { |
o.itemsCreator(op, function (items) { |
||||||
callback(self._formatItems(items)); |
callback(self._formatItems(items)); |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
onLoaded: o.onLoaded, |
onLoaded: o.onLoaded, |
||||||
count: o.count, |
count: o.count, |
||||||
next: o.next, |
next: o.next, |
||||||
hasNext: o.hasNext |
hasNext: o.hasNext |
||||||
}); |
}); |
||||||
this.loader.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { |
this.loader.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { |
||||||
self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); |
self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); |
||||||
if (type === BI.Events.CLICK) { |
if (type === BI.Events.CLICK) { |
||||||
self.fireEvent(BI.SortList.EVENT_CHANGE, value, obj); |
self.fireEvent(BI.SortList.EVENT_CHANGE, value, obj); |
||||||
} |
} |
||||||
}); |
}); |
||||||
|
|
||||||
this.loader.element.sortable({ |
this.loader.element.sortable({ |
||||||
containment: o.containment || this.element, |
containment: o.containment || this.element, |
||||||
connectWith: o.connectWith || ".bi-sort-list", |
connectWith: o.connectWith || ".bi-sort-list", |
||||||
items: ".sort-item", |
items: ".sort-item", |
||||||
cursor: o.cursor || "drag", |
cursor: o.cursor || "drag", |
||||||
tolerance: o.tolerance || "intersect", |
tolerance: o.tolerance || "intersect", |
||||||
placeholder: { |
placeholder: { |
||||||
element: function ($currentItem) { |
element: function ($currentItem) { |
||||||
var holder = BI.createWidget({ |
var holder = BI.createWidget({ |
||||||
type: "bi.layout", |
type: "bi.layout", |
||||||
cls: "bi-sortable-holder", |
cls: "bi-sortable-holder", |
||||||
height: $currentItem.outerHeight() |
height: $currentItem.outerHeight() |
||||||
}); |
}); |
||||||
holder.element.css({ |
holder.element.css({ |
||||||
"margin-left": $currentItem.css("margin-left"), |
"margin-left": $currentItem.css("margin-left"), |
||||||
"margin-right": $currentItem.css("margin-right"), |
"margin-right": $currentItem.css("margin-right"), |
||||||
"margin-top": $currentItem.css("margin-top"), |
"margin-top": $currentItem.css("margin-top"), |
||||||
"margin-bottom": $currentItem.css("margin-bottom"), |
"margin-bottom": $currentItem.css("margin-bottom"), |
||||||
"margin": $currentItem.css("margin") |
"margin": $currentItem.css("margin") |
||||||
}); |
}); |
||||||
return holder.element; |
return holder.element; |
||||||
}, |
}, |
||||||
update: function () { |
update: function () { |
||||||
|
|
||||||
} |
} |
||||||
}, |
}, |
||||||
start: function (event, ui) { |
start: function (event, ui) { |
||||||
|
|
||||||
}, |
}, |
||||||
stop: function (event, ui) { |
stop: function (event, ui) { |
||||||
self.fireEvent(BI.SortList.EVENT_CHANGE); |
self.fireEvent(BI.SortList.EVENT_CHANGE); |
||||||
}, |
}, |
||||||
over: function (event, ui) { |
over: function (event, ui) { |
||||||
|
|
||||||
} |
} |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
|
|
||||||
_formatItems: function (items) { |
_formatItems: function (items) { |
||||||
BI.each(items, function (i, item) { |
BI.each(items, function (i, item) { |
||||||
item = BI.stripEL(item); |
item = BI.stripEL(item); |
||||||
item.cls = item.cls ? item.cls + " sort-item" : "sort-item"; |
item.cls = item.cls ? item.cls + " sort-item" : "sort-item"; |
||||||
item.attributes = { |
item.attributes = { |
||||||
sorted: item.value |
sorted: item.value |
||||||
}; |
}; |
||||||
}); |
}); |
||||||
return items; |
return items; |
||||||
}, |
}, |
||||||
|
|
||||||
hasNext: function () { |
hasNext: function () { |
||||||
return this.loader.hasNext(); |
return this.loader.hasNext(); |
||||||
}, |
}, |
||||||
|
|
||||||
addItems: function (items) { |
addItems: function (items) { |
||||||
this.loader.addItems(items); |
this.loader.addItems(items); |
||||||
}, |
}, |
||||||
|
|
||||||
populate: function (items) { |
populate: function (items) { |
||||||
this.loader.populate.apply(this.loader, arguments); |
if (items) { |
||||||
}, |
arguments[0] = this._formatItems(items); |
||||||
|
} |
||||||
empty: function () { |
this.loader.populate.apply(this.loader, arguments); |
||||||
this.loader.empty(); |
}, |
||||||
}, |
|
||||||
|
empty: function () { |
||||||
setNotSelectedValue: function () { |
this.loader.empty(); |
||||||
this.loader.setNotSelectedValue.apply(this.loader, arguments); |
}, |
||||||
}, |
|
||||||
|
setNotSelectedValue: function () { |
||||||
getNotSelectedValue: function () { |
this.loader.setNotSelectedValue.apply(this.loader, arguments); |
||||||
return this.loader.getNotSelectedValue(); |
}, |
||||||
}, |
|
||||||
|
getNotSelectedValue: function () { |
||||||
setValue: function () { |
return this.loader.getNotSelectedValue(); |
||||||
this.loader.setValue.apply(this.loader, arguments); |
}, |
||||||
}, |
|
||||||
|
setValue: function () { |
||||||
getValue: function () { |
this.loader.setValue.apply(this.loader, arguments); |
||||||
return this.loader.getValue(); |
}, |
||||||
}, |
|
||||||
|
getValue: function () { |
||||||
getAllButtons: function () { |
return this.loader.getValue(); |
||||||
return this.loader.getAllButtons(); |
}, |
||||||
}, |
|
||||||
|
getAllButtons: function () { |
||||||
getAllLeaves: function () { |
return this.loader.getAllButtons(); |
||||||
return this.loader.getAllLeaves(); |
}, |
||||||
}, |
|
||||||
|
getAllLeaves: function () { |
||||||
getSelectedButtons: function () { |
return this.loader.getAllLeaves(); |
||||||
return this.loader.getSelectedButtons(); |
}, |
||||||
}, |
|
||||||
|
getSelectedButtons: function () { |
||||||
getNotSelectedButtons: function () { |
return this.loader.getSelectedButtons(); |
||||||
return this.loader.getNotSelectedButtons(); |
}, |
||||||
}, |
|
||||||
|
getNotSelectedButtons: function () { |
||||||
getIndexByValue: function (value) { |
return this.loader.getNotSelectedButtons(); |
||||||
return this.loader.getIndexByValue(value); |
}, |
||||||
}, |
|
||||||
|
getIndexByValue: function (value) { |
||||||
getNodeById: function (id) { |
return this.loader.getIndexByValue(value); |
||||||
return this.loader.getNodeById(id); |
}, |
||||||
}, |
|
||||||
|
getNodeById: function (id) { |
||||||
getNodeByValue: function (value) { |
return this.loader.getNodeById(id); |
||||||
return this.loader.getNodeByValue(value); |
}, |
||||||
}, |
|
||||||
|
getNodeByValue: function (value) { |
||||||
getSortedValues: function () { |
return this.loader.getNodeByValue(value); |
||||||
return this.loader.element.sortable("toArray", {attribute: "sorted"}); |
}, |
||||||
} |
|
||||||
}); |
getSortedValues: function () { |
||||||
BI.SortList.EVENT_CHANGE = "EVENT_CHANGE"; |
return this.loader.element.sortable("toArray", {attribute: "sorted"}); |
||||||
|
} |
||||||
|
}); |
||||||
|
BI.SortList.EVENT_CHANGE = "EVENT_CHANGE"; |
||||||
BI.shortcut("bi.sort_list", BI.SortList); |
BI.shortcut("bi.sort_list", BI.SortList); |
@ -1,79 +1,80 @@ |
|||||||
/** |
/** |
||||||
* 文本输入框trigger |
* 文本输入框trigger |
||||||
* |
* |
||||||
* Created by GUY on 2015/9/15. |
* Created by GUY on 2015/9/15. |
||||||
* @class BI.EditorTrigger |
* @class BI.EditorTrigger |
||||||
* @extends BI.Trigger |
* @extends BI.Trigger |
||||||
*/ |
*/ |
||||||
BI.EditorTrigger = BI.inherit(BI.Trigger, { |
BI.EditorTrigger = BI.inherit(BI.Trigger, { |
||||||
_const: { |
_const: { |
||||||
hgap: 4 |
hgap: 4 |
||||||
}, |
}, |
||||||
|
|
||||||
_defaultConfig: function () { |
_defaultConfig: function () { |
||||||
var conf = BI.EditorTrigger.superclass._defaultConfig.apply(this, arguments); |
var conf = BI.EditorTrigger.superclass._defaultConfig.apply(this, arguments); |
||||||
return BI.extend(conf, { |
return BI.extend(conf, { |
||||||
baseCls: (conf.baseCls || "") + " bi-editor-trigger bi-border", |
baseCls: (conf.baseCls || "") + " bi-editor-trigger bi-border", |
||||||
height: 30, |
height: 30, |
||||||
validationChecker: BI.emptyFn, |
validationChecker: BI.emptyFn, |
||||||
quitChecker: BI.emptyFn, |
quitChecker: BI.emptyFn, |
||||||
allowBlank: false, |
allowBlank: false, |
||||||
watermark: "", |
watermark: "", |
||||||
errorText: "", |
errorText: "", |
||||||
triggerWidth: 30 |
triggerWidth: 30 |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
|
|
||||||
_init: function () { |
_init: function () { |
||||||
this.options.height -= 2; |
this.options.height -= 2; |
||||||
BI.EditorTrigger.superclass._init.apply(this, arguments); |
BI.EditorTrigger.superclass._init.apply(this, arguments); |
||||||
var self = this, o = this.options, c = this._const; |
var self = this, o = this.options, c = this._const; |
||||||
this.editor = BI.createWidget({ |
this.editor = BI.createWidget({ |
||||||
type: "bi.sign_editor", |
type: "bi.sign_editor", |
||||||
height: o.height, |
height: o.height, |
||||||
value: o.value, |
value: o.value, |
||||||
validationChecker: o.validationChecker, |
validationChecker: o.validationChecker, |
||||||
quitChecker: o.quitChecker, |
quitChecker: o.quitChecker, |
||||||
mouseOut: false, |
mouseOut: false, |
||||||
allowBlank: o.allowBlank, |
allowBlank: o.allowBlank, |
||||||
watermark: o.watermark, |
watermark: o.watermark, |
||||||
errorText: o.errorText |
errorText: o.errorText |
||||||
}); |
}); |
||||||
this.editor.on(BI.Controller.EVENT_CHANGE, function () { |
this.editor.on(BI.Controller.EVENT_CHANGE, function () { |
||||||
self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); |
self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); |
||||||
}); |
}); |
||||||
this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { |
this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { |
||||||
self.fireEvent(BI.EditorTrigger.EVENT_CHANGE, arguments); |
self.fireEvent(BI.EditorTrigger.EVENT_CHANGE, arguments); |
||||||
}); |
}); |
||||||
|
|
||||||
BI.createWidget({ |
BI.createWidget({ |
||||||
element: this, |
element: this, |
||||||
type: 'bi.htape', |
type: 'bi.htape', |
||||||
items: [ |
items: [ |
||||||
{ |
{ |
||||||
el: this.editor |
el: this.editor |
||||||
}, { |
}, { |
||||||
el: { |
el: { |
||||||
type: "bi.trigger_icon_button", |
type: "bi.trigger_icon_button", |
||||||
width: o.triggerWidth |
cls: "bi-border-left", |
||||||
}, |
width: o.triggerWidth |
||||||
width: o.triggerWidth |
}, |
||||||
} |
width: o.triggerWidth |
||||||
] |
} |
||||||
}); |
] |
||||||
}, |
}); |
||||||
|
}, |
||||||
getValue: function () { |
|
||||||
return this.editor.getValue(); |
getValue: function () { |
||||||
}, |
return this.editor.getValue(); |
||||||
|
}, |
||||||
setValue: function (value) { |
|
||||||
this.editor.setValue(value); |
setValue: function (value) { |
||||||
}, |
this.editor.setValue(value); |
||||||
|
}, |
||||||
setText: function (text) { |
|
||||||
this.editor.setState(text); |
setText: function (text) { |
||||||
} |
this.editor.setState(text); |
||||||
}); |
} |
||||||
BI.EditorTrigger.EVENT_CHANGE = "BI.EditorTrigger.EVENT_CHANGE"; |
}); |
||||||
|
BI.EditorTrigger.EVENT_CHANGE = "BI.EditorTrigger.EVENT_CHANGE"; |
||||||
BI.shortcut("bi.editor_trigger", BI.EditorTrigger); |
BI.shortcut("bi.editor_trigger", BI.EditorTrigger); |
Loading…
Reference in new issue