view release on metacpan or search on metacpan
share/public/javascripts/jquery-history.js
share/public/javascripts/jquery-latest.min.js
share/public/javascripts/jquery-ui.custom.min.js
share/public/javascripts/jquery.cookie.js
share/public/javascripts/jquery.dataTables.min.js
share/public/javascripts/jquery.floatThead.js
share/public/javascripts/jquery.qtip.min.js
share/public/javascripts/jstree/jstree.min.js
share/public/javascripts/jstree/themes/proton/30px.png
share/public/javascripts/jstree/themes/proton/32px.png
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-bold-webfont.eot
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-bold-webfont.svg
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-bold-webfont.ttf
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-bold-webfont.woff
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-extralight-webfont.eot
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-extralight-webfont.svg
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-extralight-webfont.ttf
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-extralight-webfont.woff
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-regular-webfont.eot
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-regular-webfont.svg
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-regular-webfont.ttf
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-regular-webfont.woff
share/public/javascripts/jstree/themes/proton/style.css
share/public/javascripts/jstree/themes/proton/style.min.css
bin/netdisco-deploy view on Meta::CPAN
If you upgrade Netdisco make sure you run this script again to make sure
your config remains compatible.
Before each upgrade also review the
L<Release notes|https://github.com/netdisco/netdisco/wiki/Release-Notes> since
additional steps might be required!
=cut
print color 'bold cyan';
say 'This is the Netdisco 2 deployment script.';
say '';
say 'Before we continue, the following prerequisites must be in place:';
say ' * Database added to PostgreSQL for Netdisco';
say ' * User added to PostgreSQL with rights to the Netdisco Database';
say ' * "~/environments/deployment.yml" file configured with Database dsn/user/pass';
say ' * A full backup of any existing Netdisco database data';
say ' * Internet access (for OUIs and MIBs)';
say '';
say 'If you are upgrading Netdisco 2 read the release notes:';
bin/netdisco-deploy view on Meta::CPAN
}
else {
    $bool = $term->ask_yn(
      prompt => "Download and update MIB files?", default => 'n',
    );
    deploy_mibs($default_mibhome) if $bool;
}
sub deploy_db {
  system('netdisco-db-deploy') == 0 or die "\n";
  print color 'bold blue';
  say 'DB schema update complete.';
  print color 'reset';
  print color 'bold blue';
  print 'Updating statistics... ';
  App::Netdisco::Util::Statistics::update_stats();
  say 'done.';
  print color 'reset';
  if (not setting('safe_password_store')) {
      say '';
      print color 'bold red';
      say '*** WARNING: Weak password hashes are being stored in the database! ***';
      say '*** WARNING: Please add "safe_password_store: true" to your ~/environments/deployment.yml file. ***';
      print color 'reset';
  }
  sub _make_password {
    my $pass = (shift || passphrase->generate_random);
    if (setting('safe_password_store')) {
        return passphrase($pass)->generate;
    }
bin/netdisco-deploy view on Meta::CPAN
  }
  # roll everything back if we're testing
  my $txn_guard = $ENV{ND2_DB_ROLLBACK}
    ? schema('netdisco')->storage->txn_scope_guard : undef;
  # set up initial admin user
  my $users = schema('netdisco')->resultset('User');
  if ($users->search({-bool => 'admin'})->count == 0) {
      say '';
      print color 'bold green';
      say 'We need to create a user for initial login. This user will be a full Administrator.';
      say 'Afterwards, you can go to Admin -> User Management to manage users.';
      print color 'reset';
      say '';
      my ($name, $pass) = get_userpass($term);
      $users->create({
        username => $name,
        password => _make_password($pass),
        admin => 'true',
        port_control => 'true',
      });
      print color 'bold blue';
      say 'New user created.';
      print color 'reset';
  }
  # set initial dancer web session cookie key
  schema('netdisco')->resultset('Session')->find_or_create(
    {id => 'dancer_session_cookie_key', a_session => \'md5(random()::text)'},
    {key => 'primary'},
  );
}
bin/netdisco-deploy view on Meta::CPAN
  unless ($name and $pass) {
    say 'username and password cannot be empty, please try again.';
    ($name, $pass) = get_userpass($upterm);
  }
  return ($name, $pass);
}
sub deploy_oui {
  print color 'bold blue';
  print 'Updating OUI, Manufacturers, Enterprises, and Products... ';
  my $latest = 'https://raw.githubusercontent.com/netdisco/upstream-sources/refs/heads/master/bootstrap/netdisco-lookup-tables.sql';
  my $file = file($home, 'netdisco-lookup-tables.sql');
  my $resp = HTTP::Tiny->new->mirror($latest, $file);
  if ($resp->{success}) {
      # by loading App::Netdisco, Configuration has set necessary psql env vars
      system("psql -X -v ON_ERROR_STOP=0 -v ON_ERROR_ROLLBACK=on -q -f ${file}");
      unlink $file;
      say 'done.';
  }
  else {
      print color 'bold red';
      say 'SQL download failed!';
  }
  print color 'reset';
}
sub deploy_mibs {
  my $mibhome = dir(shift); # /path/to/netdisco-mibs
  my $fail = 0;
bin/netdisco-deploy view on Meta::CPAN
        File::Path::remove_tree($to, { verbose => 0 });
        File::Copy::move($from, $to);
      }
      unlink $file;
    }
    else { ++$fail }
  }
  else { ++$fail }
  if ($fail) {
    print color 'bold red';
    say 'MIB download failed!';
  }
  else {
    print color 'bold blue';
    say 'MIBs update complete.';
    if (schema('netdisco')->resultset('SNMPObject')->count) {
      print 'Updating SNMP Browser... ';
      system('netdisco-do loadmibs --quiet');
      say 'done.';
    }
  }
  print color 'reset';
lib/App/Netdisco/Util/Graph.pm view on Meta::CPAN
                $edge{color} = '#8b7e66';
                #$edge{style} = 'normal';
                $edge{style} = 'solid';
            } else {
                $edge{color} = '#ffe7ba';
                $edge{style} = 'solid';
            }
        }
        if ($suffix eq 'G'){
            #$edge{style} = 'bold';
            $edge{color} = 'cyan1';
        }
        # Add extra styles to edges (mainly for modifying width)
        if(defined $CONFIG{edge_style}) {
            $edge{style} .= "," . $CONFIG{edge_style};
        }
        $gv->add_edge($link => $dest, %edge );
    }
share/public/css/bootstrap.min.css view on Meta::CPAN
.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;}
[class*="span"].hide,.row-fluid [class*="span"].hide{display:none;}
[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right;}
.container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";line-height:0;}
.container:after{clear:both;}
.container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;}
.container-fluid:after{clear:both;}
p{margin:0 0 9px;}
.lead{margin-bottom:18px;font-size:19.5px;font-weight:200;line-height:27px;}
small{font-size:85%;}
strong{font-weight:bold;}
em{font-style:italic;}
cite{font-style:normal;}
.muted{color:#999999;}
a.muted:hover,a.muted:focus{color:#808080;}
.text-warning{color:#c09853;}
a.text-warning:hover,a.text-warning:focus{color:#a47e3c;}
.text-error{color:#b94a48;}
a.text-error:hover,a.text-error:focus{color:#953b39;}
.text-info{color:#3a87ad;}
a.text-info:hover,a.text-info:focus{color:#2d6987;}
.text-success{color:#468847;}
a.text-success:hover,a.text-success:focus{color:#356635;}
.text-left{text-align:left;}
.text-right{text-align:right;}
.text-center{text-align:center;}
h1,h2,h3,h4,h5,h6{margin:9px 0;font-family:inherit;font-weight:bold;line-height:18px;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999999;}
h1,h2,h3{line-height:36px;}
h1{font-size:35.75px;}
h2{font-size:29.25px;}
h3{font-size:22.75px;}
h4{font-size:16.25px;}
h5{font-size:13px;}
h6{font-size:11.049999999999999px;}
h1 small{font-size:22.75px;}
h2 small{font-size:16.25px;}
h3 small{font-size:13px;}
h4 small{font-size:13px;}
.page-header{padding-bottom:8px;margin:18px 0 27px;border-bottom:1px solid #eeeeee;}
ul,ol{padding:0;margin:0 0 9px 25px;}
ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
li{line-height:18px;}
ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
ul.inline,ol.inline{margin-left:0;list-style:none;}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;*zoom:1;padding-left:5px;padding-right:5px;}
dl{margin-bottom:18px;}
dt,dd{line-height:18px;}
dt{font-weight:bold;}
dd{margin-left:9px;}
.dl-horizontal{*zoom:1;}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;}
.dl-horizontal:after{clear:both;}
.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dl-horizontal dd{margin-left:180px;}
hr{margin:18px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;}
abbr.initialism{font-size:90%;text-transform:uppercase;}
blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16.25px;font-weight:300;line-height:1.25;}
blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
blockquote.pull-right small:before{content:'';}
blockquote.pull-right small:after{content:'\00A0 \2014';}
q:before,q:after,blockquote:before,blockquote:after{content:"";}
address{display:block;margin-bottom:18px;font-style:normal;line-height:18px;}
code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:11px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap;}
pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-...
pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0;}
.pre-scrollable{max-height:340px;overflow-y:scroll;}
.label,.badge{display:inline-block;padding:2px 4px;font-size:10.998px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;}
.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
.badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;}
.label:empty,.badge:empty{display:none;}
a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer;}
.label-important,.badge-important{background-color:#b94a48;}
.label-important[href],.badge-important[href]{background-color:#953b39;}
.label-warning,.badge-warning{background-color:#f89406;}
.label-warning[href],.badge-warning[href]{background-color:#c67605;}
.label-success,.badge-success{background-color:#468847;}
.label-success[href],.badge-success[href]{background-color:#356635;}
.label-info,.badge-info{background-color:#3a87ad;}
.label-info[href],.badge-info[href]{background-color:#2d6987;}
.label-inverse,.badge-inverse{background-color:#333333;}
.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;}
.btn .label,.btn .badge{position:relative;top:-1px;}
.btn-mini .label,.btn-mini .badge{top:0;}
table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;}
.table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;}
.table th{font-weight:bold;}
.table thead th{vertical-align:bottom;}
.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border...
.table tbody+tbody{border-top:2px solid #dddddd;}
.table .table{background-color:#ffffff;}
.table-condensed th,.table-condensed td{padding:4px 5px;}
.table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;}
.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-b...
.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topl...
.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-toprig...
.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.t...
share/public/css/bootstrap.min.css view on Meta::CPAN
.icon-volume-up{background-position:-408px -24px;}
.icon-qrcode{background-position:-432px -24px;}
.icon-barcode{background-position:-456px -24px;}
.icon-tag{background-position:0 -48px;}
.icon-tags{background-position:-25px -48px;}
.icon-book{background-position:-48px -48px;}
.icon-bookmark{background-position:-72px -48px;}
.icon-print{background-position:-96px -48px;}
.icon-camera{background-position:-120px -48px;}
.icon-font{background-position:-144px -48px;}
.icon-bold{background-position:-167px -48px;}
.icon-italic{background-position:-192px -48px;}
.icon-text-height{background-position:-216px -48px;}
.icon-text-width{background-position:-240px -48px;}
.icon-align-left{background-position:-264px -48px;}
.icon-align-center{background-position:-288px -48px;}
.icon-align-right{background-position:-312px -48px;}
.icon-align-justify{background-position:-336px -48px;}
.icon-list{background-position:-360px -48px;}
.icon-indent-left{background-position:-384px -48px;}
.icon-indent-right{background-position:-408px -48px;}
share/public/css/bootstrap.min.css view on Meta::CPAN
.btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px;}
.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0;}
.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;}
.nav{margin-left:0;margin-bottom:18px;list-style:none;}
.nav>li>a{display:block;}
.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee;}
.nav>li>a>img{max-width:none;}
.nav>.pull-right{float:right;}
.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:18px;color:#999999;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase;}
.nav li+.nav-header{margin-top:9px;}
.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;}
.nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
.nav-list>li>a{padding:3px 15px;}
.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;}
.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px;}
.nav-list .divider{*width:100%;height:1px;margin:8px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
.nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0;}
.nav-tabs:after,.nav-pills:after{clear:both;}
.nav-tabs>li,.nav-pills>li{float:left;}
share/public/css/bootstrap.min.css view on Meta::CPAN
.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
.accordion{margin-bottom:18px;}
.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
.accordion-heading{border-bottom:0;}
.accordion-heading .accordion-toggle{display:block;padding:8px 15px;}
.accordion-toggle{cursor:pointer;}
.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 ...
.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
.close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;filter:alpha(o...
button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;}
.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;}.fade.in{opacity:1;}
.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;}.collapse.in{height:auto;}
@-ms-viewport{width:device-width;}.hidden{display:none;visibility:hidden;}
.visible-phone{display:none !important;}
.visible-tablet{display:none !important;}
.hidden-desktop{display:none !important;}
.visible-desktop{display:inherit !important;}
@media (min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important ;} .visible-tablet{display:inherit !important;} .hidden-tablet{display:none !important;}}@media (max-width:767px){.hi...
@media print{.visible-print{display:inherit !important;} .hidden-print{display:none !important;}}@media (max-width:767px){body{padding-left:20px;padding-right:20px;} .navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-left:-20px;margin-r...
share/public/css/d3-force-network-chart.css view on Meta::CPAN
    fill: black;
    font-size: 10px;
    letter-spacing: 0;
    pointer-events: none;
}
.net_gobrechts_d3_force text.label{
    text-anchor: middle;
}
.net_gobrechts_d3_force text.highlighted {
    font-size: 12px;
    font-weight: bold;
}
.net_gobrechts_d3_force text.link {
    font-size: 12px;
    fill: #2a7ae2;
    cursor: pointer;
}
.net_gobrechts_d3_force line.link,
.net_gobrechts_d3_force path.link {
    fill: none;
    stroke: #bbb;
share/public/css/d3-force-network-chart.css view on Meta::CPAN
    padding: 5px;
    background-color:white;
    box-shadow: 1px 1px 6px #666;
    z-index: 200000;
}
.net_gobrechts_d3_force_customize .drag {
    border: 1px dashed silver;
    border-radius: 3px;
    display: block;
    cursor: move;
    font-weight: bold;
    height: 24px;
    margin-bottom: 5px;
}
.net_gobrechts_d3_force_customize .title {
    position: absolute;
    top: 10px;
    left: 10px;
}
.net_gobrechts_d3_force_customize .close {
    position: absolute;
share/public/css/font-awesome.min.css view on Meta::CPAN
.icon-volume-up:before{content:"\f028";}
.icon-qrcode:before{content:"\f029";}
.icon-barcode:before{content:"\f02a";}
.icon-tag:before{content:"\f02b";}
.icon-tags:before{content:"\f02c";}
.icon-book:before{content:"\f02d";}
.icon-bookmark:before{content:"\f02e";}
.icon-print:before{content:"\f02f";}
.icon-camera:before{content:"\f030";}
.icon-font:before{content:"\f031";}
.icon-bold:before{content:"\f032";}
.icon-italic:before{content:"\f033";}
.icon-text-height:before{content:"\f034";}
.icon-text-width:before{content:"\f035";}
.icon-align-left:before{content:"\f036";}
.icon-align-center:before{content:"\f037";}
.icon-align-right:before{content:"\f038";}
.icon-align-justify:before{content:"\f039";}
.icon-list:before{content:"\f03a";}
.icon-indent-left:before{content:"\f03b";}
.icon-indent-right:before{content:"\f03c";}
share/public/css/jquery.qtip.min.css view on Meta::CPAN
/* qTip2 v2.0.1-105 basic css3 | qtip2.com | Licensed MIT, GPL | Sun Jun 02 2013 13:17:39 */
.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content{position:relative;padding:5px 9px;overflow:hidden;text-align:left;w...
share/public/css/netdisco.css view on Meta::CPAN
/* for where min-width is set but we don't want it */
.nd_no-min-width {
  min-width: 0px;
}
/* for when hidden modals interfere with mouse actions on higher elements */
.nd_deep-horizon {
  z-index: -1000;
}
/* for when we pinch h4 styling but don't want bold */
.nd_unbolden {
  font-weight: normal;
}
/* for System Information bar */
.nd_sysinfo-heading {
  background-color: #eeeeee;
}
/* for access control list rules */
.nd_device-acl-rule-label, .nd_port-acl-rule-label {
share/public/css/netdisco.css view on Meta::CPAN
/* add a small bottom margin (gutter) below all pages */
#nd_search-results {
  margin-bottom: 10px;
}
/* for any label which we want to appear alongside tabs, floated to the right */
#nd_device-name {
  float: right;
  margin-bottom: 0px;
  margin-top: 9px;
  font-weight: bold;
  color: #6D5720;
}
/* reset to normal weight for the download as CSV icon */
#nd_csv-download {
  font-weight: normal;
}
#nd_csv-download:hover, #nd_sidebar-reset-link:hover {
  text-decoration: none;
share/public/css/netdisco.css view on Meta::CPAN
/* netmap maximise icon */
#nd2_netmap-fullscreen {
  fill: black;
  font-size: 15px;
}
/* netmap link labels */
.nd_netmap-linklabel {
  pointer-events: none;
  font-weight: bold;
}
/* netmap tooltip box */
#netmap_pane_tooltip {
  width: unset;
}
/* pretty toggles have no height on first load - bug? */
div.toggle.btn-small {
  height: 18px !important;
share/public/css/smoothness/jquery-ui.custom.min.css view on Meta::CPAN
/*! jQuery UI - v1.10.3 - 2013-05-06
* http://jqueryui.com
* Includes: jquery.ui.core.css, jquery.ui.autocomplete.css, jquery.ui.menu.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHead...
* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-r...
share/public/css/toastr.css view on Meta::CPAN
.toast-title
{
    font-weight: bold;
}
.toast-message
{
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}
    .toast-message a,
    .toast-message label
share/public/javascripts/d3-force-network-chart.js view on Meta::CPAN
    v.tools.removeCustomizeWizard = function() {
        d3.select("#" + v.dom.containerId + "_customizing").remove();
    };
    v.tools.createCustomizeMenu = function(relation) {
        v.status.customizeCurrentMenu = relation;
        v.dom.customizeMenu.selectAll("*").remove();
        v.dom.customizeMenu.append("span").text("Show options for:");
        if (v.status.customizeCurrentMenu === "nodes") {
            v.dom.customizeMenu.append("span").style("font-weight", "bold").style("margin-left", "10px").text("NODES");
            v.dom.customizeOptionsTable.selectAll("tr.node-related").classed("hidden", false);
            v.dom.customizeOptionsTable.selectAll("tr.label-related,tr.link-related,tr.graph-related")
                .classed("hidden", true);
        } else {
            v.dom.customizeMenu.append("a")
                .style("font-weight", "bold")
                .style("margin-left", "10px")
                .text("NODES")
                .attr("tabindex", 2)
                .on("click", function() {
                    v.tools.createCustomizeMenu("nodes");
                    v.dom.customizeOptionsTable.selectAll("tr.node-related").classed("hidden", false);
                    v.dom.customizeOptionsTable.selectAll("tr.label-related,tr.link-related,tr.graph-related")
                        .classed("hidden", true);
                })
                .on("keydown", function() {
                    if (d3.event.keyCode === 13) {
                        v.tools.createCustomizeMenu("nodes");
                        v.dom.customizeOptionsTable.selectAll("tr.node-related").classed("hidden", false);
                        v.dom.customizeOptionsTable.selectAll("tr.label-related,tr.link-related,tr.graph-related")
                            .classed("hidden", true);
                    }
                });
        }
        if (v.status.customizeCurrentMenu === "labels") {
            v.dom.customizeMenu.append("span").style("font-weight", "bold").style("margin-left", "10px").text("LABELS");
            v.dom.customizeOptionsTable.selectAll("tr.label-related").classed("hidden", false);
            v.dom.customizeOptionsTable.selectAll("tr.node-related,tr.link-related,tr.graph-related")
                .classed("hidden", true);
        } else {
            v.dom.customizeMenu.append("a")
                .style("font-weight", "bold")
                .style("margin-left", "10px")
                .text("LABELS")
                .attr("tabindex", 2)
                .on("click", function() {
                    v.tools.createCustomizeMenu("labels");
                    v.dom.customizeOptionsTable.selectAll("tr.label-related").classed("hidden", false);
                    v.dom.customizeOptionsTable.selectAll("tr.node-related,tr.link-related,tr.graph-related")
                        .classed("hidden", true);
                })
                .on("keydown", function() {
                    if (d3.event.keyCode === 13) {
                        v.tools.createCustomizeMenu("labels");
                        v.dom.customizeOptionsTable.selectAll("tr.label-related").classed("hidden", false);
                        v.dom.customizeOptionsTable.selectAll("tr.node-related,tr.link-related,tr.graph-related")
                            .classed("hidden", true);
                    }
                });
        }
        if (v.status.customizeCurrentMenu === "links") {
            v.dom.customizeMenu.append("span").style("font-weight", "bold").style("margin-left", "10px").text("LINKS");
            v.dom.customizeOptionsTable.selectAll("tr.link-related").classed("hidden", false);
            v.dom.customizeOptionsTable.selectAll("tr.node-related,tr.label-related,tr.graph-related")
                .classed("hidden", true);
        } else {
            v.dom.customizeMenu.append("a")
                .style("font-weight", "bold")
                .style("margin-left", "10px")
                .text("LINKS")
                .attr("tabindex", 3)
                .on("click", function() {
                    v.tools.createCustomizeMenu("links");
                    v.dom.customizeOptionsTable.selectAll("tr.link-related").classed("hidden", false);
                    v.dom.customizeOptionsTable.selectAll("tr.node-related,tr.label-related,tr.graph-related")
                        .classed("hidden", true);
                })
                .on("keydown", function() {
                    if (d3.event.keyCode === 13) {
                        v.tools.createCustomizeMenu("links");
                        v.dom.customizeOptionsTable.selectAll("tr.link-related").classed("hidden", false);
                        v.dom.customizeOptionsTable.selectAll("tr.node-related,tr.label-related,tr.graph-related")
                            .classed("hidden", true);
                    }
                });
        }
        if (v.status.customizeCurrentMenu === "graph") {
            v.dom.customizeMenu.append("span").style("font-weight", "bold").style("margin-left", "10px").text("GRAPH");
            v.dom.customizeOptionsTable.selectAll("tr.graph-related").classed("hidden", false);
            v.dom.customizeOptionsTable.selectAll("tr.node-related,tr.label-related,tr.link-related")
                .classed("hidden", true);
        } else {
            v.dom.customizeMenu.append("a")
                .style("font-weight", "bold")
                .style("margin-left", "10px")
                .text("GRAPH")
                .attr("tabindex", 4)
                .on("click", function() {
                    v.tools.createCustomizeMenu("graph");
                    v.dom.customizeOptionsTable.selectAll("tr.graph-related").classed("hidden", false);
                    v.dom.customizeOptionsTable.selectAll("tr.node-related,tr.label-related,tr.link-related")
                        .classed("hidden", true);
                })
                .on("keydown", function() {
share/public/javascripts/jstree/themes/proton/fonts/titillium/titilliumweb-bold-webfont.svg view on Meta::CPAN
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="titillium_webbold" horiz-adv-x="1146" >
<font-face units-per-em="2048" ascent="1638" descent="-410" />
<missing-glyph horiz-adv-x="450" />
<glyph horiz-adv-x="2048" />
<glyph horiz-adv-x="2048" />
<glyph unicode="
" horiz-adv-x="681" />
<glyph unicode=" "  horiz-adv-x="450" />
<glyph unicode="	" horiz-adv-x="450" />
<glyph unicode=" " horiz-adv-x="450" />
<glyph unicode="!" horiz-adv-x="573" d="M139 0v330h295v-330h-295zM139 1393h297l-28 -881h-242z" />
<glyph unicode=""" horiz-adv-x="841" d="M113 1393h264l-12 -492h-242zM467 1393h264l-14 -492h-242z" />
share/public/javascripts/jstree/themes/proton/style.css view on Meta::CPAN
  filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter>...
  /* Firefox 10+ *
filter: gray;
/* IE6-9 */
  -webkit-filter: grayscale(100%);
  /* Chrome 19+ & Safari 6+ */
}
.jstree-proton .jstree-search {
  font-style: italic;
  color: #8b0000;
  font-weight: bold;
}
.jstree-proton .jstree-no-checkboxes .jstree-checkbox {
  display: none !important;
}
.jstree-proton.jstree-checkbox-no-clicked .jstree-clicked {
  background: transparent;
  color: inherit;
  box-shadow: none;
}
.jstree-proton.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered {
share/public/javascripts/jstree/themes/proton/style.css view on Meta::CPAN
}
.jstree-proton-large.jstree-rtl .jstree-node {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==");
}
.jstree-proton-large.jstree-rtl .jstree-last {
  background: transparent;
}
@media (max-width: 768px) {
  #jstree-dnd.jstree-dnd-responsive {
    line-height: 30px;
    font-weight: bold;
    font-size: 1.1em;
    text-shadow: 1px 1px white;
  }
  #jstree-dnd.jstree-dnd-responsive > i {
    background: transparent;
    width: 30px;
    height: 30px;
  }
  #jstree-dnd.jstree-dnd-responsive > .jstree-ok {
    background-image: url("30px.png");
share/public/javascripts/jstree/themes/proton/style.css view on Meta::CPAN
}
@font-face {
  font-family: 'Titillium Web';
  src: url('fonts/titillium/titilliumweb-regular-webfont.eot');
  src: url('fonts/titillium/titilliumweb-regular-webfont.eot?#iefix') format('embedded-opentype'), url('fonts/titillium/titilliumweb-regular-webfont.woff') format('woff'), url('fonts/titillium/titilliumweb-regular-webfont.ttf') format('truetype'), ur...
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Titillium Web';
  src: url('fonts/titillium/titilliumweb-bold-webfont.eot');
  src: url('fonts/titillium/titilliumweb-bold-webfont.eot?#iefix') format('embedded-opentype'), url('fonts/titillium/titilliumweb-bold-webfont.woff') format('woff'), url('fonts/titillium/titilliumweb-bold-webfont.ttf') format('truetype'), url('fonts/...
  font-weight: 700;
  font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: 'Titillium Web';
    src: url('fonts/titillium/titilliumweb-extralight-webfont.svg#titillium_webthin') format('svg');
    font-weight: 300;
    font-style: normal;
  }
  @font-face {
    font-family: 'Titillium Web';
    src: url('fonts/titillium/titilliumweb-regular-webfont.svg#titillium_webregular') format('svg');
    font-weight: 400;
    font-style: normal;
  }
  @font-face {
    font-family: 'Titillium Web';
    src: url('fonts/titillium/titilliumweb-bold-webfont.svg#titillium_webbold') format('svg');
    font-weight: 700;
    font-style: normal;
  }
}
.jstree-proton {
  font-family: 'Titillium Web', sans-serif, Arial, sans-serif;
}
share/public/javascripts/jstree/themes/proton/style.min.css view on Meta::CPAN
.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#333;white-space:nowrap;padding:0 4px 0 1px;margi...
share/public/swagger-ui/swagger-ui-bundle.js view on Meta::CPAN
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SwaggerUIBundle=t():e.SwaggerUIBundle=t()}(this,function(){return function(e){var ...
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;fo...
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
share/public/swagger-ui/swagger-ui-bundle.js view on Meta::CPAN
 * @param {string} eventNameSuffix Event name, e.g. "click".
 * @param {?boolean} capture Check if the capture phase is supported.
 * @return {boolean} True if the event is supported.
 * @internal
 * @license Modernizr 3.0.0pre (Custom Build) | MIT
 */,e.exports=function(e,t){if(!o.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,i=n in document;if(!i){var a=document.createElement("div");a.setAttribute(n,"return;"),i="function"==typeof a[n]}return!i&&r&&"wheel"===e&&(i=docum...
/*!
 * https://github.com/Starcounter-Jack/JSON-Patch
 * (c) 2017 Joachim Wester
 * MIT license
 */function o(e,t){return r.call(e,t)}function i(e){if(Array.isArray(e)){for(var t=new Array(e.length),n=0;n<t.length;n++)t[n]=""+n;return t}if(Object.keys)return Object.keys(e);t=[];for(var r in e)o(e,r)&&t.push(r);return t}function a(e){return-1===...
/*!
 * cookie
 * Copyright(c) 2012-2014 Roman Shtylman
 * Copyright(c) 2015 Douglas Christopher Wilson
 * MIT Licensed
 */t.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var n={},o=t||{},a=e.split(i),s=o.decode||r,l=0;l<a.length;l++){var c=a[l],f=c.indexOf("=");if(!(f<0)){var p=c.substr(0,f).trim(),d=c.substr(++f,c...
/*!
 * repeat-string <https://github.com/jonschlinkert/repeat-string>
 *
 * Copyright (c) 2014-2015, Jon Schlinkert.
 * Licensed under the MIT License.
 */var r,o="";e.exports=function(e,t){if("string"!=typeof e)throw new TypeError("expected a string");if(1===t)return e;if(2===t)return e+e;var n=e.length*t;if(r!==e||void 0===r)r=e,o="";else if(o.length>=n)return o.substr(0,n);for(;n>o.length&&t>1;)1...
/*!
 * Autolinker.js
 * 0.15.3
 *
 * Copyright(c) 2015 Gregory Jacobs <greg@greg-jacobs.com>
 * MIT Licensed. http://www.opensource.org/licenses/mit-license.php
 *
 * https://github.com/gregjacobs/Autolinker.js
 */
var e,t,n,r,o=function(e){o.Util.assign(this,e)};return o.prototype={constructor:o,urls:!0,email:!0,twitter:!0,newWindow:!0,stripPrefix:!0,truncate:void 0,className:"",htmlParser:void 0,matchParser:void 0,tagBuilder:void 0,link:function(e){for(var t=...
share/public/swagger-ui/swagger-ui-bundle.js.map view on Meta::CPAN
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 396b8c743e9ffbc09e47","webpack:///./node_modules/react/react.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/babel-run...
share/public/swagger-ui/swagger-ui-json-tree-plugin.js view on Meta::CPAN
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var c=n(4),r="function"==typeof Symbol&&Symbol.for,f=r?Symbol.for("react.element"):60103,l=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,o=r?Symbol.for("react.strict_mode"):60108,i=r?Symbol.for("react.profiler"):60114,s...
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var u=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;fo...
//# sourceMappingURL=swagger-ui-json-tree-plugin.js.map
share/public/swagger-ui/swagger-ui-json-tree-plugin.js.map view on Meta::CPAN
{"version":3,"sources":["webpack://jsonTreePlugin/webpack/bootstrap","webpack://jsonTreePlugin/./node_modules/react/index.js","webpack://jsonTreePlugin/./src/index.js","webpack://jsonTreePlugin/./src/JSONTree.js","webpack://jsonTreePlugin/./node_modu...
share/public/swagger-ui/swagger-ui-standalone-preset.js view on Meta::CPAN
object-assign
(c) Sindre Sorhus
@license MIT
*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;fo...
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */
var r=n(325),i=n(326),o=n(167);function u(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(u()<e)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=a.prototype:(null=...
//# sourceMappingURL=swagger-ui-standalone-preset.js.map
share/public/swagger-ui/swagger-ui-standalone-preset.js.map view on Meta::CPAN
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 5e373a31950a06c8d2bb","webpack:///./node_modules/@kyleshockey/js-yaml/lib/js-yaml/type.js","webpack:///./node_modules/core-js/modules/_wks.js","webpa...
share/public/swagger-ui/swagger-ui.css view on Meta::CPAN
.swagger-ui{
  /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */font-family:sans-serif;color:#3b4151}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article...
/*# sourceMappingURL=swagger-ui.css.map*/
share/public/swagger-ui/swagger-ui.js view on Meta::CPAN
(function webpackUniversalModuleDefinition(root,factory){if(typeof exports==="object"&&typeof module==="object")module.exports=factory(require("deep-extend"),require("immutable"),require("css.escape"),require("memoizee"),require("stream"),require("ba...
/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */
var base64=__webpack_require__(383);var ieee754=__webpack_require__(384);var isArray=__webpack_require__(385);exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;Buffer.TYPED_ARRAY_SUPPORT=global.TYPED_ARRAY_SUPPORT!==und...
//# sourceMappingURL=swagger-ui.js.map
share/public/swagger-ui/swagger-ui.js.map view on Meta::CPAN
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap fb516ccd71e38bfe6f58","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///./node_modules/babel-runtime/helpers/classCall...
share/views/ajax/admintask/duplicatedevices.tt view on Meta::CPAN
            <blockquote>
              <ul>
                <li><p>A job will be queued to delete the device</p></li>
                <li><p>All associated Nodes may be removed from the database</p></li>
              </ul>
            </blockquote>
            <textarea id="nd_devdel-log" class="input-block-level" rows="2" data-form="delete"
              placeholder="Enter a log message" name="extra"></textarea>
            <label class="checkbox" style="display: block">
              <input id="nd_devdel-archive" type="checkbox" data-form="delete" name="port">
              <h4 class="nd_unbolden">Archive Nodes</h4>
            </label>
            <input type="hidden" data-form="delete" value="[% row.ip | html_entity %]" name="device"/>
          </div>
          <div class="modal-footer">
            <button class="btn btn-success" data-dismiss="modal" aria-hidden="true">Cancel</button>
            <button class="btn btn-danger nd_adminbutton" name="delete" data-dismiss="modal">Confirm</button>
          </div>
        </div>
      </td>
    </tr>
share/views/ajax/device/details.tt view on Meta::CPAN
            <blockquote>
              <ul>
                <li><p>A job will be queued to delete the device</p></li>
                <li><p>All associated Nodes may be removed from the database</p></li>
              </ul>
            </blockquote>
            <textarea id="nd_devdel-log" class="input-block-level" rows="2" data-form="delete"
              placeholder="Enter a log message" name="extra"></textarea>
            <label class="checkbox">
              <input id="nd_devdel-archive" type="checkbox" data-form="delete" name="port">
              <h4 class="nd_unbolden">Archive Nodes</h4>
            </label>
            <input type="hidden" data-form="delete" value="[% d.ip | html_entity %]" name="device"/>
          </div>
          <div class="modal-footer">
            <button class="btn btn-success" data-dismiss="modal" aria-hidden="true">Cancel</button>
            <button class="btn btn-danger nd_adminbutton" name="delete" data-dismiss="modal">Confirm</button>
          </div>
        </div>
        <div id="nd_devrenumber" class="nd_modal nd_deep-horizon modal hide fade" tabindex="-1"