Browse Source

Add WebUI support for triggering context menus on mobile

adaptive-webui-19844
Thomas Piccirello 5 years ago
parent
commit
6af01cfcbe
  1. 18
      src/webui/www/private/scripts/contextmenu.js
  2. 7
      src/webui/www/private/scripts/dynamicTable.js

18
src/webui/www/private/scripts/contextmenu.js

@ -46,7 +46,8 @@ var ContextMenu = new Class({ @@ -46,7 +46,8 @@ var ContextMenu = new Class({
onShow: $empty,
onHide: $empty,
onClick: $empty,
fadeSpeed: 200
fadeSpeed: 200,
touchTimer: 600
},
//initialization
@ -148,6 +149,21 @@ var ContextMenu = new Class({ @@ -148,6 +149,21 @@ var ContextMenu = new Class({
elem.addEvent('click', function(e) {
this.hide();
}.bind(this));
elem.addEvent('touchstart', function(e) {
e.preventDefault();
clearTimeout(this.touchstartTimer);
this.hide();
const touchstartEvent = e;
this.touchstartTimer = setTimeout(function() {
this.triggerMenu(touchstartEvent, elem);
}.bind(this), this.options.touchTimer);
}.bind(this));
elem.addEvent('touchend', function(e) {
e.preventDefault();
clearTimeout(this.touchstartTimer);
}.bind(this));
},
addTarget: function(t) {

7
src/webui/www/private/scripts/dynamicTable.js

@ -706,6 +706,13 @@ var DynamicTable = new Class({ @@ -706,6 +706,13 @@ var DynamicTable = new Class({
}
return false;
});
tr.addEvent('touchstart', function(e) {
if (!this._this.isRowSelected(this.rowId)) {
this._this.deselectAll();
this._this.selectRow(this.rowId);
}
return false;
});
this.setupTr(tr);

Loading…
Cancel
Save