Skip to content
Snippets Groups Projects
Select Git revision
  • af589ee2274a59bbd8a3bca039b57936cb351554
  • develop default protected
2 results

node.js

Blame
  • node.js 9.47 KiB
    define(['sorttable', 'snabbdom', 'd3-interpolate', 'moment', 'helper'],
      function (SortTable, V, d3Interpolate, moment, helper) {
        'use strict';
        V = V.default;
    
        function showGeoURI(d) {
          if (!helper.hasLocation(d)) {
            return undefined;
          }
    
          return V.h('td',
            V.h('a',
              { props: { href: 'geo:' + d.location.latitude + ',' + d.location.longitude } },
              Number(d.location.latitude.toFixed(6)) + ', ' + Number(d.location.longitude.toFixed(6))
            )
          );
        }
    
        function showStatus(d) {
          return V.h('td',
            { props: { className: d.is_online ? 'online' : 'offline' } },
            _.t((d.is_online ? 'node.lastOnline' : 'node.lastOffline'), {
              time: d.lastseen.fromNow(),
              date: d.lastseen.format('DD.MM.YYYY, H:mm:ss')
            }));
        }
    
        function showFirmware(d) {
          return [
            helper.dictGet(d, ['firmware', 'release']),
            helper.dictGet(d, ['firmware', 'base'])
          ].filter(function (n) {
            return n !== null;
          }).join(' / ') || undefined;
        }
    
        function showSite(d, config) {
          var rt = d.site_code;
          if (config.siteNames) {
            config.siteNames.forEach(function (t) {
              if (d.site_code === t.site) {
                rt = t.name;
              }
            });
          }
          return rt;
        }
    
        function showClients(d) {
          if (!d.is_online) {
            return undefined;
          }
    
          var clients = [
            V.h('span', [
              d.clients > 0 ? d.clients : _.t('none'),
              V.h('br'),
              V.h('i', { props: { className: 'ion-people', title: _.t('node.clients') } })
            ]),
            V.h('span',
              { props: { className: 'legend-24ghz' } },
              [
                d.clients_wifi24,
                V.h('br'),
                V.h('span', { props: { className: 'symbol', title: '2,4 Ghz' } })
              ]),
            V.h('span',
              { props: { className: 'legend-5ghz' } },
              [
                d.clients_wifi5,