[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/media/plg_system_debug/widgets/languageStrings/ -> widget.js (source)

   1  (function ($) {
   2  
   3      var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-')
   4      var languageStringsWidget = PhpDebugBar.Widgets.languageStringsWidget = PhpDebugBar.Widget.extend({
   5  
   6          tagName: 'table',
   7  
   8          className: csscls('languageStrings'),
   9  
  10          render: function () {
  11              this.bindAttr('data', function (data) {
  12                  this.$el.empty()
  13                  for (var orphan in data.orphans) {
  14                      var tr = $('<tr />')
  15                      $('<th valign="top" style="width:10%" />').text(orphan).appendTo(tr)
  16                      var td = $('<th />').appendTo(tr)
  17  
  18                      var ul = $('<ul />').appendTo(td)
  19  
  20                      var tableStack
  21  
  22                      for (var oc in data.orphans[orphan]) {
  23                          var occurence = data.orphans[orphan][oc]
  24                          var relPath = occurence['caller'].replace(data.jroot, '')
  25  
  26                          var li = $('<li />')
  27  
  28                          if (data.xdebugLink) {
  29                              var parts = occurence['caller'].split(':')
  30                              var link = $('<a />')
  31                                  .text(relPath)
  32                                  .attr(
  33                                      'href',
  34                                      data.xdebugLink
  35                                          .replace('%f', parts[0])
  36                                          .replace('%l', parts[1])
  37                                  )
  38                              li.append(link)
  39                          } else {
  40                              li.text(relPath)
  41                          }
  42  
  43                          if (occurence['trace'] && !$.isEmptyObject(occurence['trace'])) {
  44                              $('<span title="Call Stack" />')
  45                                  .text('Stack')
  46                                  .addClass(csscls('eye'))
  47                                  .css('cursor', 'pointer')
  48                                  .on('click', function (e) {
  49                                      var btn = $(e.target)
  50                                      var table = btn.next()
  51                                      if (table.is(':visible')) {
  52                                          table.hide()
  53                                          btn.addClass(csscls('eye'))
  54                                          btn.removeClass(csscls('eye-dash'))
  55                                      } else {
  56                                          table.show()
  57                                          btn.addClass(csscls('eye-dash'))
  58                                          btn.removeClass(csscls('eye'))
  59                                      }
  60                                  })
  61                                  .appendTo(li)
  62  
  63                              tableStack = $('<table><thead><tr><th colspan="3">Call Stack</th></tr></thead></table>')
  64                                  .addClass(csscls('callstack'))
  65                                  .appendTo(li)
  66  
  67                              for (var i in occurence['trace']) {
  68                                  var entry = occurence['trace'][i]
  69                                  var location = entry[3] ? entry[3].replace(data.jroot, '') + ':' + entry[4] : ''
  70                                  var caller = entry[2].replace(data.jroot, '')
  71                                  var cssClass = entry[1] ? 'caller' : ''
  72                                  if (location && data.xdebugLink) {
  73                                      location = '<a href="' + data.xdebugLink.replace('%f', entry[3]).replace('%l', entry[4]) + '">' + location + '</a>'
  74                                  }
  75                                  tableStack.append('<tr class="' + cssClass + '"><th>' + entry[0] + '</th><td>' + caller + '</td><td>' + location + '</td></tr>')
  76                              }
  77                          }
  78  
  79                          li.appendTo(ul)
  80                      }
  81  
  82                      this.$el.append(tr)
  83                  }
  84              })
  85          }
  86      })
  87  })(PhpDebugBar.$)


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer