📄 suite.js
字号:
function uiShift_Suite(list) { this._super(); this.__list = list; this.__handler = this.__list.getItemHandler();}uiShift_Suite = uiUtil_Object.declareClass(uiShift_Suite, uiUtil_Object);uiShift_Suite.prototype._initUpTrigger = function(trigger) { this.__upTrigger = trigger; var suite = this; this.__upTrigger.appendMousePressHandler(function(e) { suite.__shiftUp(); });};uiShift_Suite.prototype._initDownTrigger = function(trigger) { this.__downTrigger = trigger; var suite = this; this.__downTrigger.appendMousePressHandler(function(e) { suite.__shiftDown(); });};uiShift_Suite.prototype._initFirstTrigger = function(trigger) { this.__firstTrigger = trigger; var suite = this; this.__firstTrigger.appendEventHandler("mousedown", function(e) { suite.__shiftFirst(); });};uiShift_Suite.prototype._initLastTrigger = function(trigger) { this.__lastTrigger = trigger; var suite = this; this.__lastTrigger.appendEventHandler("mousedown", function(e) { suite.__shiftLast(); });};uiShift_Suite.prototype.__shiftItemUp = function(index) { var shiftedUp = this.__handler.clone(this.__list.getItemAt(index)); var shiftedDown = this.__list.getItemAt(index - 1); this.__list.setItemAt(index - 1, shiftedUp); this.__list.setItemAt(index, shiftedDown);};uiShift_Suite.prototype.__shiftUp = function() { var num = 1; if (this.__distanceText != null) { num = parseInt(this.__distanceText.getDomObject().value); if(isNaN(num)) { return; } } var listSize = this.__list.size(); var selectedIndices = new Array(); for (var i = 0; i < listSize; ++i) { var item = this.__list.getItemAt(i); if (this.__handler.isSelected(item)) { selectedIndices.push(i); } } for (var i = 0; i < selectedIndices.length; ++i) { var index = selectedIndices[i]; if(index - num < 0) { num = index; break; } else { this.__unselect(this.__list.getItemAt(index)); for(var j = 0; j < num; ++j) { this.__shiftItemUp(index - j); } selectedIndices[i] = index - num; } } if (num > 0) { this.__selectItems(selectedIndices); }};uiShift_Suite.prototype.__shiftFirst = function() { var listSize = this.__list.size(); var selectedIndices = new Array(); for(var i = 0; i < listSize; ++i) { var item = this.__list.getItemAt(i); if (this.__handler.isSelected(item)) { selectedIndices.push(i); } } var numPushed = 0; for (var i = 0; i < selectedIndices.length; ++i) { var index = selectedIndices[i]; this.__unselect(this.__list.getItemAt(index)); var num = index - numPushed; for(var j = 0; j < num; ++j) { this.__shiftItemUp(index - j); selectedIndices[i] = numPushed; } ++numPushed; } this.__selectItems(selectedIndices); this.__list.scrollToTop();};uiShift_Suite.prototype.__select = function(item) { item.selected = true;};uiShift_Suite.prototype.__unselect = function(item) { item.selected = false;};uiShift_Suite.prototype.__shiftItemDown = function(index) { var shiftedDown = this.__handler.clone(this.__list.getItemAt(index)); var shiftedUp = this.__list.getItemAt(index + 1); this.__list.setItemAt(index + 1, shiftedDown); this.__list.setItemAt(index, shiftedUp);};uiShift_Suite.prototype.__shiftDown = function() { var num = 1; if (this.__distanceText != null) { num = parseInt(this.__distanceText.getDomObject().value); if(isNaN(num)) { return; } } var selectedIndices = new Array(); var listSize = this.__list.size(); var lastIndex = listSize - 1; for(var i = lastIndex; i >= 0; --i) { var item = this.__list.getItemAt(i); if (this.__handler.isSelected(item)) { selectedIndices.push(i); } } for (var i = 0; i < selectedIndices.length; ++i) { var index = selectedIndices[i]; if(index + num > lastIndex) { num = lastIndex - index; break; } else { this.__unselect(this.__list.getItemAt(index)); for(var j = 0; j < num; ++j) { this.__shiftItemDown(index + j); } selectedIndices[i] = index + num; } } if (num > 0) { this.__selectItems(selectedIndices); }};uiShift_Suite.prototype.__shiftLast = function() { var listSize = this.__list.size(); var selectedIndices = new Array(); for(var i = listSize - 1; i >= 0; --i) { var item = this.__list.getItemAt(i); if (this.__handler.isSelected(item)) { selectedIndices.push(i); } } var numPushed = 0; for (var i = 0; i < selectedIndices.length; ++i) { var index = selectedIndices[i]; this.__unselect(this.__list.getItemAt(index)); var last = listSize - 1; var num = last - index - numPushed; for(var j = 0; j < num; ++j) { this.__shiftItemDown(index + j); selectedIndices[i] = last - numPushed; } ++numPushed; } this.__selectItems(selectedIndices); this.__list.scrollToBottom();};uiShift_Suite.prototype.__selectItems = function(selectedIndices) { if (uiHtml_Window.getInstance().isOpera()) { var suite = this; window.setTimeout(function(e) { suite.__implSelectItems(selectedIndices); }, 0); } else { this.__implSelectItems(selectedIndices); }}uiShift_Suite.prototype.__implSelectItems = function(selectedIndices) { for(var i = 0; i < selectedIndices.length; ++i) { this.__select(this.__list.getItemAt(selectedIndices[i])); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -