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