Dotclear

Changeset 3449:bddaf36a61e9 for admin/js


Ignore:
Timestamp:
12/09/16 13:12:02 (9 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Fixes confirm-close.js code, switch meta-editor.js a links to buttons, addresses #1776

Location:
admin/js
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • admin/js/confirm-close.js

    r3445 r3449  
    22 
    33     if (arguments.length > 0) { 
    4           for (var i=0; i<arguments.length; i++) { 
     4          for (var i = 0; i < arguments.length; i++) { 
    55               this.forms_id.push(arguments[i]); 
    66          } 
     
    1515 
    1616     getCurrentForms: function() { 
     17          // Store current form's element's values 
     18 
    1719          var formsInPage = this.getForms(); 
    18           var f; 
     20          var f, e; 
    1921          var This = this; 
    20           this.forms=new Array(); 
    21           for (var i=0; i<formsInPage.length; i++) { 
     22          this.forms = new Array(); 
     23          for (var i = 0; i < formsInPage.length; i++) { 
    2224               f = formsInPage[i]; 
    2325               var tmpForm = new Array(); 
    24                for (var j=0; j<f.elements.length; j++) { 
    25                     tmpForm.push(this.getFormElementValue(f[j])); 
     26               for (var j = 0; j < f.elements.length; j++) { 
     27                    e = this.getFormElementValue(f[j]); 
     28                    if (e != undefined) { 
     29                         tmpForm.push(e); 
     30                    } 
    2631               } 
    2732               this.forms.push(tmpForm); 
    2833 
    29                chainHandler(f,'onsubmit',function() { 
     34               chainHandler(f, 'onsubmit', function() { 
    3035                    This.formSubmit = true; 
    3136               }); 
     
    3439 
    3540     compareForms: function() { 
     41          // Compare current form's element's values to their original values 
     42          // Return false if any difference, else true 
     43 
    3644          if (this.forms.length == 0) { 
    3745               return true; 
     
    3947 
    4048          var formsInPage = this.getForms(); 
    41           var f; 
    42           for (var i=0; i<formsInPage.length; i++) { 
     49          var f, e; 
     50          for (var i = 0; i < formsInPage.length; i++) { 
    4351               f = formsInPage[i]; 
    44                for (var j=0; j < Math.min(f.elements.length,this.forms[i].length); j++) { 
    45                     if (this.forms[i][j] != this.getFormElementValue(f[j])) { 
     52               var tmpForm = new Array(); 
     53               for (var j = 0; j < f.elements.length; j++) { 
     54                    e = this.getFormElementValue(f[j]); 
     55                    if (e != undefined) { 
     56                         tmpForm.push(e); 
     57                    } 
     58               } 
     59               for (var j = 0; j < this.forms[i].length; j++) { 
     60                    if (this.forms[i][j] != tmpForm[j]) { 
    4661                         return false; 
    4762                    } 
     
    5368 
    5469     getForms: function() { 
     70          // Get current list of forms as HTMLCollection(s) 
     71 
    5572          if (!document.getElementsByTagName || !document.getElementById) { 
    5673               return new Array(); 
     
    6077               var res = new Array(); 
    6178               var f; 
    62                for (var i=0; i<this.forms_id.length; i++) { 
     79               for (var i = 0; i < this.forms_id.length; i++) { 
    6380                    f = document.getElementById(this.forms_id[i]); 
    6481                    if (f != undefined) { 
     
    7592 
    7693     getFormElementValue: function(e) { 
    77           if (e == undefined || e.classList.contains('meta-helper') || e.classList.contains('checkbox-helper')) { 
    78                return null; 
     94          // Return current value of an form element 
     95 
     96          if (e == undefined) { 
     97               // Unknown object 
     98               return undefined; 
     99          } 
     100          if (e.type != undefined && e.type == 'button') { 
     101               // Ignore button element 
     102               return undefined; 
     103          } 
     104          if (e.classList.contains('meta-helper') || e.classList.contains('checkbox-helper')) { 
     105               // Ignore some application helper element 
     106               return undefined; 
    79107          } 
    80108          if (e.type != undefined && e.type == 'radio') { 
     109               // Return actual radio button value if selected, else null 
    81110               return this.getFormRadioValue(e); 
    82111          } else if (e.type != undefined && e.type == 'checkbox') { 
     112               // Return actual checkbox button value if checked, else null 
    83113               return this.getFormCheckValue(e); 
    84           } else if (e.type == 'password') { 
     114          } else if (e.type != undefined && e.type == 'password') { 
     115               // Ignore password element 
    85116               return null; 
    86117          } else if (e.value != undefined) { 
     118               // Return element value if not undefined 
    87119               return e.value; 
    88120          } else { 
     121               // Every other case, return null 
    89122               return null; 
    90123          } 
     
    99132 
    100133     getFormRadioValue: function(e) { 
    101           for (var i=0; i <e.length; i++) { 
     134          for (var i = 0; i < e.length; i++) { 
    102135               if (e[i].checked) { 
    103136                    return e[i].value; 
     
    112145var confirmClosePage = new confirmClose(); 
    113146 
    114 chainHandler(window,'onload',function() { 
     147chainHandler(window, 'onload', function() { 
    115148     confirmClosePage.getCurrentForms(); 
    116149}); 
    117150 
    118 chainHandler(window,'onbeforeunload',function(event_) { 
     151chainHandler(window, 'onbeforeunload', function(event_) { 
    119152     if (event_ == undefined && window.event) { 
    120153          event_ = window.event; 
  • admin/js/meta-editor.js

    r3447 r3449  
    8181               for (var i=0; i < meta.length; i++) { 
    8282                    li = $('<li>'+meta[i]+'</li>'); 
    83                     a_remove = $('<a href="#" type="button" class="metaRemove meta-helper"><img src="images/trash.png" alt="remove" /></a>'); 
     83                    a_remove = $('<button type="button" class="metaRemove meta-helper"><img src="images/trash.png" alt="remove" /></button>'); 
    8484                    a_remove.get(0).caller = this; 
    8585                    a_remove.get(0).meta_id = meta[i]; 
     
    109109                         var meta_id = $(this).text(); 
    110110                         li = $('<li><a href="' + This.meta_url + $(this).attr('uri') + '">'+meta_id+'</a></li>'); 
    111                          a_remove = $('<a href="#" type="button" class="metaRemove meta-helper"><img src="images/trash.png" alt="remove" /></a>'); 
     111                         a_remove = $('<button type="button" class="metaRemove meta-helper"><img src="images/trash.png" alt="remove" /></button>'); 
    112112                         a_remove.get(0).caller = This; 
    113113                         a_remove.get(0).meta_id = meta_id; 
     
    163163 
    164164                    $(data).find('meta').each(function(i) { 
    165                          meta_link = $('<a href="#" type="button" class="metaItem meta-helper">' + $(this).text() + '</a>'); 
     165                         meta_link = $('<button type="button" class="metaItem meta-helper">' + $(this).text() + '</button>'); 
    166166                         meta_link.get(0).meta_id = $(this).text(); 
    167167                         meta_link.click(function() { 
     
    178178 
    179179                    if (list_type == 'more') { 
    180                          var a_more = $('<a href="#" type="button" class="button metaGetMore meta-helper"></a>'); 
     180                         var a_more = $('<button type="button" class="button metaGetMore meta-helper"></button>'); 
    181181                         a_more.append(This.text_all + String.fromCharCode(160)+String.fromCharCode(187)); 
    182182                         a_more.click(function() { 
     
    193193                         target.append(pa); 
    194194 
    195                          var a = $('<a href="#" type="button" class="button metaGetList meta-helper">' + This.text_choose + '</a>'); 
     195                         var a = $('<button type="button" class="button metaGetList meta-helper">' + This.text_choose + '</button>'); 
    196196                         a.click(function() { 
    197197                              $(this).parent().next().removeClass('hide'); 
Note: See TracChangeset for help on using the changeset viewer.

Sites map