mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 18:55:26 +00:00
feature(view) add set current file afterClose
This commit is contained in:
parent
082c2bf870
commit
26092bc7d1
3 changed files with 54 additions and 20 deletions
|
|
@ -1080,6 +1080,39 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
|
|||
return this;
|
||||
};
|
||||
|
||||
/*
|
||||
* set current file by position
|
||||
*
|
||||
* @param layer - element
|
||||
* @param - position {x, y}
|
||||
*/
|
||||
this.getCurrentByPosition = function(position) {
|
||||
var element, tag, isChild,
|
||||
x = position.x,
|
||||
y = position.y;
|
||||
|
||||
element = document.elementFromPoint(x, y),
|
||||
tag = element.tagName;
|
||||
|
||||
isChild = Util.strCmp(tag, ['A', 'SPAN', 'LI']);
|
||||
|
||||
if (!isChild) {
|
||||
element = null;
|
||||
} else {
|
||||
switch (tag) {
|
||||
case 'A':
|
||||
element = element.parentElement.parentElement;
|
||||
break;
|
||||
|
||||
case 'SPAN':
|
||||
element = element.parentElement;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return element;
|
||||
};
|
||||
|
||||
/**
|
||||
* select current file
|
||||
* @param currentFile
|
||||
|
|
|
|||
|
|
@ -287,30 +287,19 @@ var CloudCmd, Util, DOM, CloudFunc, $;
|
|||
* DOM tree.
|
||||
*/
|
||||
function clickProcessing() {
|
||||
var lLayer = DOM.getById('context-menu-layer');
|
||||
var element, isCurrent,
|
||||
layer = DOM.getById('context-menu-layer');
|
||||
|
||||
if (lLayer && Position) {
|
||||
DOM.hide(lLayer);
|
||||
if (layer) {
|
||||
DOM.hide(layer);
|
||||
|
||||
var lElement = document.elementFromPoint(Position.x, Position.y),
|
||||
lTag = lElement.tagName;
|
||||
element = DOM.getCurrentByPosition(Position);
|
||||
isCurrent = DOM.isCurrentFile(element);
|
||||
|
||||
if (Util.strCmp(lTag, ['A', 'SPAN'])) {
|
||||
switch (lTag) {
|
||||
case 'A':
|
||||
lElement = lElement.parentElement.parentElement;
|
||||
break;
|
||||
|
||||
case 'SPAN':
|
||||
lElement = lElement.parentElement;
|
||||
break;
|
||||
}
|
||||
|
||||
if (lElement.className === '')
|
||||
DOM.setCurrentFile(lElement);
|
||||
}
|
||||
if (!isCurrent)
|
||||
DOM.setCurrentFile(element);
|
||||
|
||||
DOM.show(lLayer);
|
||||
DOM.show(layer);
|
||||
Key.setBind();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,18 @@ var CloudCmd, Util, DOM, CloudFunc, $;
|
|||
Images.hideLoad();
|
||||
Key.unsetBind();
|
||||
},
|
||||
afterClose : function() {
|
||||
var element, isCurrent,
|
||||
overlay = DOM.getByClass('fancybox-overlay'),
|
||||
position = CloudCmd.MousePosition;
|
||||
|
||||
DOM.hide(overlay);
|
||||
element = DOM.getCurrentByPosition(position);
|
||||
isCurrent = DOM.isCurrentFile(element);
|
||||
|
||||
if (!isCurrent)
|
||||
DOM.setCurrentFile(element);
|
||||
},
|
||||
beforeClose : Key.setBind,
|
||||
fitToView : true,
|
||||
loop : false,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue