1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
(function(window, $) {
'use strict';
var Web = function () {
};
Web.prototype = {
initialize: function (icinga) {
this.icinga = icinga;
$(document).on('focus', 'form.gipfl-form input, form.gipfl-form textarea, form.gipfl-form select', this.formElementFocus);
$(document).on('click', '.gipfl-collapsible-control', this.toggleCollapsible);
},
toggleCollapsible: function (ev) {
var $toggle = $(ev.currentTarget);
var $collapsible = $toggle.parent();
$collapsible.toggleClass('collapsed');
},
formElementFocus: function (ev) {
var $input = $(ev.currentTarget);
if ($input.closest('form.editor').length) {
return;
}
var $set = $input.closest('.extensible-set');
if ($set.length) {
var $textInputs = $('input[type=text]', $set);
if ($textInputs.length > 1) {
$textInputs.not(':first').attr('tabIndex', '-1');
}
}
var $dd = $input.closest('dd');
if ($dd.attr('id') && $dd.attr('id').match(/button/)) {
return;
}
var $li = $input.closest('li');
var $dt = $dd.prev();
var $form = $dd.closest('form');
$form.find('dt, dd, dl, li').removeClass('active');
$li.addClass('active');
$dt.addClass('active');
$dd.addClass('active');
$dt.closest('dl').addClass('active');
},
highlightFormErrors: function ($container) {
$container.find('dd ul.errors').each(function (idx, ul) {
var $ul = $(ul);
var $dd = $ul.closest('dd');
var $dt = $dd.prev();
$dt.addClass('errors');
$dd.addClass('errors');
});
},
toggleFieldset: function (ev) {
ev.stopPropagation();
var $fieldset = $(ev.currentTarget).closest('fieldset');
$fieldset.toggleClass('collapsed');
this.fixFieldsetInfo($fieldset);
this.openedFieldsets[$fieldset.attr('id')] = ! $fieldset.hasClass('collapsed');
}
};
window.incubatorComponentLoader.addComponent(new Web());
})(window, jQuery);
|