feature(view) add set current file afterClose

This commit is contained in:
coderaiser 2014-04-02 10:40:49 -04:00
parent 082c2bf870
commit 26092bc7d1
3 changed files with 54 additions and 20 deletions

View file

@ -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

View file

@ -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();
}
}

View file

@ -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,