Translated using Weblate (Slovenian)
[phpmyadmin.git] / js / server / variables.js
bloba29cfe6b44fb61280aed8d81576ddaeead5c7cec
1 /**
2  * @fileoverview    Javascript functions used in server variables page
3  * @name            Server Replication
4  *
5  * @requires    jQuery
6  * @requires    jQueryUI
7  * @requires    js/functions.js
8  */
9 /**
10  * Unbind all event handlers before tearing down a page
11  */
12 AJAX.registerTeardown('server/variables.js', function () {
13     $(document).off('click', 'a.editLink');
14     $('#serverVariables').find('.var-name').find('a img').remove();
15 });
17 AJAX.registerOnload('server/variables.js', function () {
18     var $saveLink = $('a.saveLink');
19     var $cancelLink = $('a.cancelLink');
21     $('#serverVariables').find('.var-name').find('a').append(
22         $('#docImage').clone().css('display', 'inline-block')
23     );
25     /* Launches the variable editor */
26     $(document).on('click', 'a.editLink', function (event) {
27         event.preventDefault();
28         editVariable(this);
29     });
31     /* Allows the user to edit a server variable */
32     function editVariable (link) {
33         var $link = $(link);
34         var $cell = $link.parent();
35         var $valueCell = $link.parents('.var-row').find('.var-value');
36         var varName = $link.data('variable');
38         var $mySaveLink = $saveLink.clone().css('display', 'inline-block');
39         var $myCancelLink = $cancelLink.clone().css('display', 'inline-block');
40         var $msgbox = Functions.ajaxShowMessage();
41         var $myEditLink = $cell.find('a.editLink');
42         $cell.addClass('edit'); // variable is being edited
43         $myEditLink.remove(); // remove edit link
45         $mySaveLink.on('click', function () {
46             var $msgbox = Functions.ajaxShowMessage(Messages.strProcessingRequest);
47             $.post('index.php?route=/server/variables/set/' + encodeURIComponent(varName), {
48                 'ajax_request': true,
49                 'varValue': $valueCell.find('input').val()
50             }, function (data) {
51                 if (data.success) {
52                     $valueCell
53                         .html(data.variable)
54                         .data('content', data.variable);
55                     Functions.ajaxRemoveMessage($msgbox);
56                 } else {
57                     if (data.error === '') {
58                         Functions.ajaxShowMessage(Messages.strRequestFailed, false);
59                     } else {
60                         Functions.ajaxShowMessage(data.error, false);
61                     }
62                     $valueCell.html($valueCell.data('content'));
63                 }
64                 $cell.removeClass('edit').html($myEditLink);
65             });
66             return false;
67         });
69         $myCancelLink.on('click', function () {
70             $valueCell.html($valueCell.data('content'));
71             $cell.removeClass('edit').html($myEditLink);
72             return false;
73         });
75         $.get('index.php?route=/server/variables/get/' + encodeURIComponent(varName), {
76             'ajax_request': true
77         }, function (data) {
78             if (typeof data !== 'undefined' && data.success === true) {
79                 var $links = $('<div></div>')
80                     .append($myCancelLink)
81                     .append('&nbsp;&nbsp;&nbsp;')
82                     .append($mySaveLink);
83                 var $editor = $('<div></div>', { 'class': 'serverVariableEditor' })
84                     .append(
85                         $('<div></div>').append(
86                             $('<input>', { type: 'text' }).val(data.message)
87                         )
88                     );
89                     // Save and replace content
90                 $cell
91                     .html($links)
92                     .children()
93                     .css('display', 'flex');
94                 $valueCell
95                     .data('content', $valueCell.html())
96                     .html($editor)
97                     .find('input')
98                     .trigger('focus')
99                     .on('keydown', function (event) { // Keyboard shortcuts
100                         if (event.keyCode === 13) { // Enter key
101                             $mySaveLink.trigger('click');
102                         } else if (event.keyCode === 27) { // Escape key
103                             $myCancelLink.trigger('click');
104                         }
105                     });
106                 Functions.ajaxRemoveMessage($msgbox);
107             } else {
108                 $cell.removeClass('edit').html($myEditLink);
109                 Functions.ajaxShowMessage(data.error);
110             }
111         });
112     }