Revision 3c13f327
Von Moritz Bunkus vor mehr als 7 Jahren hinzugefügt
js/kivi.ActionBar.js | ||
---|---|---|
106 | 106 |
} |
107 | 107 |
}; |
108 | 108 |
|
109 |
k.setupAction = function(e) { |
|
110 |
var data = $(e).data('action'); |
|
109 |
k.removeTooltip = function($e) { |
|
110 |
if ($e.hasClass('tooltipstered')) |
|
111 |
$e.tooltipster('destroy'); |
|
112 |
$e.prop('title', ''); |
|
113 |
}; |
|
114 |
|
|
115 |
k.setTooltip = function($e, tooltip) { |
|
116 |
if ($e.hasClass('tooltipstered')) |
|
117 |
$e.tooltipster('content', tooltip); |
|
118 |
else |
|
119 |
$e.tooltipster({ content: tooltip, theme: 'tooltipster-light' }); |
|
120 |
}; |
|
121 |
|
|
122 |
k.setDisabled = function($e, tooltip) { |
|
123 |
var data = $e.data('action'); |
|
124 |
|
|
125 |
$e.addClass(CLASSES.disabled); |
|
126 |
|
|
127 |
if (tooltip && (tooltip != '1')) |
|
128 |
kivi.ActionBar.setTooltip($e, tooltip); |
|
129 |
else |
|
130 |
kivi.ActionBar.removeTooltip($e); |
|
131 |
}; |
|
132 |
|
|
133 |
k.setEnabled = function($e) { |
|
134 |
var data = $e.data('action'); |
|
135 |
|
|
136 |
$e.removeClass(CLASSES.disabled); |
|
137 |
|
|
138 |
if (data.tooltip) |
|
139 |
kivi.ActionBar.setTooltip($e, data.tooltip); |
|
140 |
else |
|
141 |
kivi.ActionBar.removeTooltip($e); |
|
142 |
}; |
|
143 |
|
|
144 |
k.Action = function(e) { |
|
145 |
var $e = $(e); |
|
146 |
var instance = $e.data('instance'); |
|
147 |
if (instance) |
|
148 |
return instance; |
|
149 |
|
|
150 |
var data = $e.data('action'); |
|
111 | 151 |
if (undefined === data) return; |
112 | 152 |
|
113 |
if (data.disabled && (data.disabled != '0')) { |
|
114 |
$(e).addClass(CLASSES.disabled); |
|
115 |
if (data.disabled != '1') |
|
116 |
data.tooltip = data.disabled; |
|
117 |
} |
|
153 |
data.originalTooltip = data.tooltip; |
|
154 |
|
|
155 |
if (data.disabled && (data.disabled != '0')) |
|
156 |
kivi.ActionBar.setDisabled($e, data.disabled); |
|
157 |
|
|
158 |
else if (data.tooltip) |
|
159 |
kivi.ActionBar.setTooltip($e, data.tooltip); |
|
118 | 160 |
|
119 | 161 |
if (data.accesskey) { |
120 | 162 |
if (data.submit) { |
121 |
kivi.ActionBar.Accesskeys.add_accesskey(data.submit[0], data.accesskey, $(e));
|
|
163 |
kivi.ActionBar.Accesskeys.add_accesskey(data.submit[0], data.accesskey, $e);
|
|
122 | 164 |
} |
123 | 165 |
if (data.call) { |
124 |
kivi.ActionBar.Accesskeys.add_accesskey(undefined, data.accesskey, $(e));
|
|
166 |
kivi.ActionBar.Accesskeys.add_accesskey(undefined, data.accesskey, $e);
|
|
125 | 167 |
} |
126 | 168 |
} |
127 | 169 |
|
128 |
if (data.tooltip) { |
|
129 |
$(e).tooltipster({ content: data.tooltip, theme: 'tooltipster-light' }); |
|
130 |
} |
|
131 |
|
|
132 | 170 |
if (data.call || data.submit || data.link) { |
133 |
$(e).click(function(event) {
|
|
171 |
$e.click(function(event) {
|
|
134 | 172 |
var $hidden, key, func, check; |
135 |
if ($(e).hasClass(CLASSES.disabled)) {
|
|
173 |
if ($e.hasClass(CLASSES.disabled)) {
|
|
136 | 174 |
event.stopPropagation(); |
137 | 175 |
return; |
138 | 176 |
} |
... | ... | |
169 | 207 |
window.location.href = data.link; |
170 | 208 |
} |
171 | 209 |
if ((data.only_once !== undefined) && (data.only_once !== 0)) { |
172 |
$(e).addClass(CLASSES.disabled);
|
|
173 |
$(e).tooltipster({ content: kivi.t8("The action can only be executed once."), theme: 'tooltipster-light' });
|
|
210 |
$e.addClass(CLASSES.disabled);
|
|
211 |
$e.tooltipster({ content: kivi.t8("The action can only be executed once."), theme: 'tooltipster-light' });
|
|
174 | 212 |
} |
175 | 213 |
}); |
176 | 214 |
} |
215 |
|
|
216 |
instance = { |
|
217 |
removeTooltip: function() { kivi.ActionBar.removeTooltip($e); }, |
|
218 |
setTooltip: function(tooltip) { kivi.ActionBar.setTooltip($e, tooltip); }, |
|
219 |
disable: function(tooltip) { kivi.ActionBar.setDisabled($e, tooltip); }, |
|
220 |
enable: function() { kivi.ActionBar.setEnabled($e, $e.data('action').tooltip); }, |
|
221 |
}; |
|
222 |
|
|
223 |
$e.data('instance', instance); |
|
224 |
|
|
225 |
return instance; |
|
177 | 226 |
}; |
178 | 227 |
}); |
179 | 228 |
|
180 | 229 |
$(function(){ |
181 | 230 |
$('div.layout-actionbar .layout-actionbar-action').each(function(_, e) { |
182 |
kivi.ActionBar.setupAction(e)
|
|
231 |
kivi.ActionBar.Action(e);
|
|
183 | 232 |
}); |
184 | 233 |
$('div.layout-actionbar-combobox').each(function(_, e) { |
185 | 234 |
$(e).data('combobox', new kivi.ActionBar.Combobox(e)); |
Auch abrufbar als: Unified diff
ActionBar: programmatisches Interface für Änderungen On-The-Fly