panel: open panel menu by click on header

This commit is contained in:
Alexander Zobnin 2017-11-24 21:44:47 +03:00
parent 00df24b348
commit 0c7bf42dd6

View File

@ -86,9 +86,10 @@ function panelHeader($compile) {
let menuElem = elem.find('.panel-menu');
let menuScope;
let isDragged;
elem.click(function(evt) {
//const targetClass = evt.target.className;
const targetClass = evt.target.className;
// remove existing scope
if (menuScope) {
@ -100,10 +101,30 @@ function panelHeader($compile) {
menuElem.html(menuHtml);
$compile(menuElem)(menuScope);
// if (targetClass === 'panel-title-text' || targetClass === 'panel-title') {
// evt.stopPropagation();
// elem.find('[data-toggle=dropdown]').dropdown('toggle');
// }
if (targetClass.indexOf('panel-title-text') >= 0 || targetClass.indexOf('panel-title') >= 0) {
togglePanelMenu(evt);
}
});
function togglePanelMenu(e) {
if (!isDragged) {
e.stopPropagation();
elem.find('[data-toggle=dropdown]').dropdown('toggle');
}
}
let mouseX, mouseY;
elem.mousedown((e) => {
mouseX = e.pageX;
mouseY = e.pageY;
});
elem.mouseup((e) => {
if (mouseX === e.pageX && mouseY === e.pageY) {
isDragged = false;
} else {
isDragged = true;
}
});
}
};