summaryrefslogtreecommitdiffstats
path: root/module/web/static/js
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-03-25 21:32:11 +0100
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-03-25 21:32:11 +0100
commit2d2a1816ff1c668d6a00fc792addb39848765753 (patch)
tree611f5b744955d8fbbb7540c827955d510588cc69 /module/web/static/js
parentnicer captcha dialog (diff)
downloadpyload-2d2a1816ff1c668d6a00fc792addb39848765753.tar.xz
tooltips for input elements
Diffstat (limited to 'module/web/static/js')
-rw-r--r--module/web/static/js/views/input/inputView.js30
-rw-r--r--module/web/static/js/views/input/textInput.js6
2 files changed, 34 insertions, 2 deletions
diff --git a/module/web/static/js/views/input/inputView.js b/module/web/static/js/views/input/inputView.js
index 15dc71aad..56087c516 100644
--- a/module/web/static/js/views/input/inputView.js
+++ b/module/web/static/js/views/input/inputView.js
@@ -10,6 +10,9 @@ define(['jquery', 'backbone', 'underscore'], function($, Backbone, _) {
default_value: null,
description: null,
+ // enables tooltips
+ tooltip: true,
+
initialize: function(model, value, default_value, description) {
this.model = model;
this.value = value;
@@ -18,9 +21,36 @@ define(['jquery', 'backbone', 'underscore'], function($, Backbone, _) {
},
render: function() {
+ this.renderInput();
+
+ // data for tooltips
+ if (this.description && this.tooltip) {
+ this.$el.data('content', this.description);
+// this.$el.data('title', "TODO: title");
+ this.$el.popover({
+ placement: 'right',
+ trigger: 'hover',
+ delay: { show: 500, hide: 100 }
+ });
+ }
+
return this;
},
+ renderInput: function() {
+ // Overwrite this
+ },
+
+ showTooltip: function() {
+ if (this.description && this.tooltip)
+ this.$el.popover('show');
+ },
+
+ hideTooltip: function() {
+ if (this.description && this.tooltip)
+ this.$el.popover('hide');
+ },
+
destroy: function() {
this.undelegateEvents();
this.unbind();
diff --git a/module/web/static/js/views/input/textInput.js b/module/web/static/js/views/input/textInput.js
index 7252ce289..36cdf9f06 100644
--- a/module/web/static/js/views/input/textInput.js
+++ b/module/web/static/js/views/input/textInput.js
@@ -5,10 +5,12 @@ define(['jquery', 'backbone', 'underscore', './inputView'], function($, Backbone
// TODO
tagName: 'input',
events: {
- 'keypress': 'onChange'
+ 'keypress': 'onChange',
+ 'focus': 'showTooltip',
+ 'focusout': 'hideTooltip'
},
- render: function() {
+ renderInput: function() {
this.$el.attr('type', 'text');
this.$el.attr('name', 'textInput');