summaryrefslogtreecommitdiffstats
path: root/public/javascripts/context_menu.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/javascripts/context_menu.js')
-rw-r--r--public/javascripts/context_menu.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/public/javascripts/context_menu.js b/public/javascripts/context_menu.js
new file mode 100644
index 000000000..a6e39c512
--- /dev/null
+++ b/public/javascripts/context_menu.js
@@ -0,0 +1,44 @@
+ContextMenu = Class.create();
+ContextMenu.prototype = {
+ initialize: function (options) {
+ this.options = Object.extend({selector: '.hascontextmenu'}, options || { });
+
+ Event.observe(document, 'click', function(e){
+ var t = Event.findElement(e, 'a');
+ if ((t != document) && (Element.hasClassName(t, 'disabled') || Element.hasClassName(t, 'submenu'))) {
+ Event.stop(e);
+ } else {
+ $('context-menu').hide();
+ if (this.selection) {
+ this.selection.removeClassName('context-menu-selection');
+ }
+ }
+
+ }.bind(this));
+
+ $$(this.options.selector).invoke('observe', (window.opera ? 'click' : 'contextmenu'), function(e){
+ if (window.opera && !e.ctrlKey) {
+ return;
+ }
+ this.show(e);
+ }.bind(this));
+
+ },
+ show: function(e) {
+ Event.stop(e);
+ Element.hide('context-menu');
+ if (this.selection) {
+ this.selection.removeClassName('context-menu-selection');
+ }
+ $('context-menu').style['left'] = (Event.pointerX(e) + 'px');
+ $('context-menu').style['top'] = (Event.pointerY(e) + 'px');
+ Element.update('context-menu', '');
+
+ var tr = Event.findElement(e, 'tr');
+ tr.addClassName('context-menu-selection');
+ this.selection = tr;
+ var id = tr.id.substring(6, tr.id.length);
+ /* TODO: do not hard code path */
+ new Ajax.Updater('context-menu', '../../issues/context_menu/' + id, {asynchronous:true, evalScripts:true, onComplete:function(request){Effect.Appear('context-menu', {duration: 0.20})}})
+ }
+}
able26'>backport/40367/stable26 Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
summaryrefslogtreecommitdiffstats
path: root/core/l10n/gu.js
blob: 4cb36aaaaac9dc1c94fecb20d9548ef8dbdad218 (plain)
1
2
3
4
5
6
7
8