Initial commit

This commit is contained in:
2018-09-14 13:57:28 +08:00
commit 2f97305223
104 changed files with 17598 additions and 0 deletions
+621
View File
@@ -0,0 +1,621 @@
<html>
<head>
<title>Flot Edit</title>
<link href="img/favicon.png" rel="shortcut icon" type="image/x-icon" />
<link type="text/css" rel="stylesheet" href="../../lib/css/themes/jquery-ui/default/jquery-ui.min.css">
<link type="text/css" rel="stylesheet" href="../../lib/css/fancytree/ui.fancytree.min.css"/>
<link type="text/css" rel="stylesheet" href="lib/css/jquery.colorpicker.css"/>
<link rel="stylesheet" type="text/css" href="../../lib/css/iob/selectID.css"/>
<script type="text/javascript" src="../../lib/js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="../../lib/js/jquery-ui-1.10.3.full.min.js"></script>
<script type="text/javascript" src="../../lib/js/jquery.fancytree-all.min.js"></script>
<script type="text/javascript" src="../../lib/js/translate.js"></script>
<script type="text/javascript" src="../../lib/js/selectID.js"></script>
<script type="text/javascript" src="../../lib/js/socket.io.js"></script>
<script type="text/javascript" src="../../_socket/info.js"></script>
<style>
.ui-resizable-s {
cursor: s-resize;
height: 10px;
width: 100%;
bottom: -6px;
background: #a0a0a0;
left: 0;
}
.save {
/*position: absolute;
top: 10px;
right: 130px;*/
margin-top: 1px;
margin-left: 10px;
}
.save[aria-disabled="false"] {
background: #ff7474;
color: white;
border-color: #8e8e8e;
}
.input {
/*width: 150px;*/
}
.input_time {
width: 80px;
}
.label {
width: 130px;
}
.ui-widget input {
font-size: 14px;
}
.header {
font-weight: bold;
background: white;
color: black;
}
body {
font-family: Arial;
}
h3 {
line-height: 0.3!important;
font-size: 15px!important;
}
.ui-accordion-content {
padding: 5px 10px !important;
}
#accordion {
font-size: 14px !important;
height: 100%;
}
#accordion>div {
padding: 3px;
}
table.fixed td { overflow: hidden; }
table.fixed th { overflow: hidden; }
.no-spaces {
border-collapse: collapse;
border-spacing: 0;
}
/*.ui-resizable-s {
cursor: s-resize;
height: 10px;
bottom: -5px;
left: 0;
right: 0;
background-color: gray;
}*/
.version {
position: absolute;
top: 16px;
right: 10px;
color: white;
}
.presets_table_all {
width: 100%
}
.presets_table_all th {
background: grey;
color: white;
font-weight: bold;
text-align: left;
padding: 5px;
}
.presets_table_all td {
padding: 5px;
}
.presets_table_all tr:nth-child(even) {
background: #dcdbdb;
}
.presets-selected {
background: #7598b9 !important;
}
.presets_table_th_load {
width: 70px;
}
.presets_table_th_name {
width: 20%;
}
.presets_table_th_ids {
width: calc(80 - 150px);
}
.presets_table_th_buttons {
width: 70px;
}
</style>
</head>
<body style="height: calc(100% - 16px); width: 100%; margin: 0; padding: 0;">
<div id="resizable1" style="overflow: hidden; height: 360px">
<div style="height: calc(100% - 75px); position: relative; overflow: hidden;">
<div id="accordion">
<ul>
<li><a href="#chapter_presets" class="translate">Presets</a></li>
<li><a href="#chapter_ids" class="translate">Input data</a></li>
<li><a href="#chapter_markline" class="translate">Markings</a></li>
<li><a href="#chapter_time" class="translate">Time</a></li>
<li><a href="#chapter_options" class="translate">Options</a></li>
<li><button class="save">Save</button></li>
</ul>
<div id="chapter_presets" style="width: 100%; height: calc(100% - 50px); overflow: auto;">
<table class="presets_table_all">
<thead>
<tr>
<th class="presets_table_th_load"></th>
<th class="presets_table_th_name translate">Name</th>
<th class="presets_table_th_ids translate">IDs</th>
<th class="presets_table_th_buttons"></th>
</tr>
</thead>
<tbody id="presets_table">
</tbody>
</table>
</div>
<!--h3><span class="translate">Input data</span><span style="float:right; font-weight: normal; color: #959595">Version: 1.5.7</span></h3-->
<div id="chapter_ids" style="width: 100%; height: calc(100% - 50px); overflow: auto;">
<table>
<tr>
<td colspan="7">
<button style="margin-left: 1px" id="ids_add" class="translateB">Add new line</button>
<button id="clear" title="Reset settings" class="translateT" style="float: left;">Clear</button>
<label class="translate" style="padding-left: 20px" for="autoUpdate">Auto-update:</label><input type="checkbox" id="autoUpdate"/>
<button id="arrangeBools" class="translateB button_arrange_bools">Arrange bools</button>
</td>
</tr>
</table>
<div style="width: 100%;">
<table style="table-layout: fixed;" class="fixed" id="idslist_table" border="0" cellspacing="0" cellpadding="0">
<tbody id="idslist"></tbody>
</table>
</div>
</div>
<!--h3 class="markline-option"><span class="translate">Markings</span></h3-->
<div id="chapter_markline" class="markline-option" style="width: 100%; height: calc(100% - 50px); overflow: auto;">
<table style="width: 100%">
<tr>
<td colspan="7">
<button style="margin-left: 1px" id="markline_add" class="translateB">Add new markings</button>
</td>
</tr>
</table>
<div style="width: 100%; height: 100%">
<table style="table-layout: fixed;" class="fixed" id="markline_table" border="0" cellspacing="0" cellpadding="0">
<thead id="markline_head">
<tr class="header">
<td class="translate" style="width: 30%; white-space: nowrap">Line ID</td>
<td class="translate" style="width: 130px; white-space: nowrap">Upper value or ID</td>
<td class="translate" style="width: 40px;"></td>
<td class="translate" style="width: 130px; white-space: nowrap">Lower value or ID</td>
<td class="translate" style="width: 40px;"></td>
<td class="translate" style="width: 180px">Color</td>
<td class="translate" style="width: 80px">Fill</td>
<td class="translate" style="width: 80px">&#216L</td>
<td class="translate" style="width: 80px">&#216S</td>
<td class="translate" style="width: 30%">Text</td>
<td class="translate" style="width: 150px; white-space: nowrap">Text position</td>
<td class="translate" style="width: 100px; white-space: nowrap">Text offset</td>
<td class="translate" style="width: 100px; white-space: nowrap">Text size</td>
<td class="translate" style="width: 180px; white-space: nowrap">Text color</td>
<td class="translate" style="width: 80px"></td>
</tr>
</thead>
<tbody id="markline_list"></tbody>
</table>
</div>
</div>
<!--h3 class="chapter_time"><span class="translate">Time</span> <span id="time_span"></span></h3-->
<div id="chapter_time" style="display: flex; height: calc(100% - 50px); overflow: auto;" class="chapter_time">
<table >
<tr>
<td class="translate header" colspan="2" style="text-align: center">Time Span</td>
</tr>
<tr class="time_timeType">
<td><label class="translate" for="timeType">Aggregation:</label></td>
<td><select id="timeType" class="input value">
<option value="relative" class="translate">relative</option>
<option value="static" class="translate">static</option>
</select></td>
</tr>
<tr class="relative time_relativeEnd">
<td><label class="translate" for="relativeEnd">End:</label></td>
<td><select id="relativeEnd" class="input value">
<option value="now" class="translate">now</option>
<option value="1minute" class="translate">end of minute</option>
<option value="5minutes" class="translate">end of 5 minutes</option>
<option value="10minutes" class="translate">end of 10 minutes</option>
<option value="30minutes" class="translate">end of 30 minutes</option>
<option value="1hour" class="translate">end of hour</option>
<option value="2hours" class="translate">end of 2 hours</option>
<option value="3hours" class="translate">end of 3 hours</option>
<option value="4hours" class="translate">end of 4 hours</option>
<option value="6hours" class="translate">end of 6 hours</option>
<option value="8hours" class="translate">end of 8 hours</option>
<option value="12hours" class="translate">end of 12 hours</option>
<option value="today" class="translate">end of day</option>
<option value="weekEurope" class="translate">end of sunday</option>
<option value="weekUsa" class="translate">end of saturday</option>
<option value="month" class="translate">this month</option>
<option value="year" class="translate">this year</option>
</select></td>
</tr>
<tr class="relative time_range">
<td><label class="translate" for="range">Range:</label></td>
<td><select id="range" class="value input">
<option value="10" class="translate">10 minutes</option>
<option value="30" class="translate">30 minutes</option>
<option value="60" class="translate">1 hour</option>
<option value="120" class="translate">2 hours</option>
<option value="180" class="translate">3 hours</option>
<option value="360" class="translate">6 hours</option>
<option value="720" class="translate">12 hours</option>
<option value="1440" class="translate">1 day</option>
<option value="2880" class="translate">2 days</option>
<option value="4320" class="translate">3 days</option>
<option value="10080" class="translate">7 days</option>
<option value="20160" class="translate">14 days</option>
<option value="1m" class="translate">1 month</option>
<option value="2m" class="translate">2 months</option>
<option value="3m" class="translate">3 months</option>
<option value="6m" class="translate">6 months</option>
<option value="1y" class="translate">1 year</option>
<option value="2y" class="translate">2 years</option>
</select></td>
</tr>
<tr class="relative time_live">
<td><label class="translate" for="live">Live update every:</label></td>
<td><select class="value" id="live">
<option value="" class="translate">none</option>
<option value="5" class="translate">5 seconds</option>
<option value="10" class="translate">10 seconds</option>
<option value="15" class="translate">15 seconds</option>
<option value="20" class="translate">20 seconds</option>
<option value="30" class="translate">30 seconds</option>
<option value="60" class="translate">1 minute</option>
<option value="120" class="translate">2 minutes</option>
<option value="300" class="translate">5 minutes</option>
<option value="600" class="translate">10 minutes</option>
<option value="900" class="translate">15 minutes</option>
<option value="1200" class="translate">20 minutes</option>
<option value="1800" class="translate">30 minutes</option>
<option value="3600" class="translate">1 hour</option>
<option value="7200" class="translate">2 hours</option>
<option value="10800" class="translate">3 hours</option>
<option value="21600" class="translate">6 hours</option>
<option value="43200" class="translate">12 hours</option>
<option value="86400" class="translate">1 day</option>
</select></td>
</tr>
<tr class="static time_start">
<td><label class="translate" for="start">Start:</label></td>
<td><input type="date" id="start" class="value input"> <input type="time" id="start_time" class="value input_time"></td>
</tr>
<tr class="static time_end">
<td><label class="translate" for="end">End:</label></td>
<td><input type="date" id="end" class="value input"> <input type="time" id="end_time" class="value input_time"></td>
</tr>
</table>
<table style="margin-left: 25px">
<tr>
<td class="translate header" colspan="2" style="text-align: center">Aggregate</td>
</tr>
<tr class="time_aggregateType">
<td><label class="translate" for="aggregateType">Step type:</label></td>
<td><select id="aggregateType" class="value input">
<option value="count" class="translate">counts</option>
<option value="step" class="translate">seconds</option>
</select></td>
</tr>
<tr class="time_aggregateSpan">
<td><label id="spanName" class="translate" for="aggregateSpan">Step span:</label></td>
<td><input id="aggregateSpan" value="300" class="value input"></td>
</tr>
<tr class="time_ticks">
<td><label class="translate" for="ticks">Ticks from:</label></td>
<td><table class="no-spaces"><tr><td><input id="ticks" class="value input" style="display: inline;" /></td><td><button style="display: inline; margin-right: 15px;" id="ticks_select"></button></td></tr></table></td>
</tr>
</table>
</div>
<!--h3 class="translate chapter_options">Options</h3-->
<div id="chapter_options" style="display: flex; height: calc(100% - 50px); overflow: auto;" class="chapter_options">
<table style="width: 380px">
<tr>
<td class="translate header" colspan="2" style="text-align: center">Appearance</td>
</tr>
<tr class="options_width">
<td style="width: 270px"><label class="translate" for="width">Width:</label></td>
<td><input id="width" class="value input spinner"/></td>
</tr>
<tr class="options_height">
<td><label class="translate" for="height">Height:</label></td>
<td><input id="height" class="value input spinner"></td>
</tr>
<tr class="options_noborder">
<td><label class="translate" for="noBorder">No border:</label></td>
<td><select class="value input" id="noBorder">
<option value="" class="translate"></option>
<option value="noborder" class="translate">yes</option>
</select></td>
</tr>
<tr class="options_window_bg">
<td class="label"><label class="translate" for="window_bg">Window background:</label></td>
<td>
<table class="no-spaces"><tr><td><input id="window_bg" class="value input input-static-color" style="display: inline-block"></td><td><button data-clear="window_bg" class="clear-button" style="display: inline-block"></button></td></tr></table>
</td>
</tr>
<tr class="options_bg_custom">
<td class="label"><label class="translate" for="bg_custom">Custom chart background:</label></td>
<td>
<input type="checkbox" id="bg_custom">
</td>
</tr>
<tr class="options_bg">
<td class="label"><label class="bg_predefined" for="bg_predefined">Chart background:</label></td>
<td>
<select id="bg_predefined">
<option value="" class="translate">default</option>
<option value="0">Portrait</option>
<option value="1">Instagram</option>
<option value="2">ServQuick</option>
<option value="3">Metallic Toad</option>
<option value="4">Clouds</option>
<option value="5">Mirage</option>
<option value="6">Steel Gray</option>
<option value="7">Horizon</option>
<option value="8">Koko Caramel</option>
<option value="9">Turquoise flow</option>
</select>
<input id="bg" class="value input" style="display: none"/>
</td>
</tr>
<tr class="options_x_labels_color">
<td class="label"><label class="translate" for="x_labels_color">X axis labels color:</label></td>
<td>
<table class="no-spaces"><tr><td><input class="value input input-static-color" id="x_labels_color"></td><td><button data-clear="x_labels_color" class="clear-button" style="display: inline-block"></button></td></tr></table>
</td>
</tr>
<tr class="options_y_labels_color">
<td class="label">><label class="translate" for="y_labels_color">Y axis labels color:</label></td>
<td>
<table class="no-spaces"><tr><td><input class="value input input-static-color" id="y_labels_color"></td><td><button data-clear="y_labels_color" class="clear-button" style="display: inline-block"></button></td></tr></table>
</td>
</tr>
<tr class="options_border_color">
<td><label class="translate label" for="border_color">Border color:</label></td>
<td>
<table class="no-spaces"><tr><td><input class="value input input-static-color" id="border_color"></td><td><button data-clear="border_color" class="clear-button" style="display: inline-block"></button></td></tr></table>
</td>
</tr>
<tr class="options_grid_color">
<td class="label"><label class="translate" for="grid_color">Grid color:</label></td>
<td>
<table class="no-spaces"><tr><td><input class="value input input-static-color" id="grid_color"></td><td><button data-clear="grid_color" class="clear-button" style="display: inline-block"></button></td></tr></table>
</td>
</tr>
<tr class="options_border_width">
<td class="label"><label class="translate" for="border_width">Border width:</label></td>
<td>
<input class="value input" id="border_width">
</td>
</tr>
</table>
<table style="width: 340px" class="options-bar">
<tr>
<td class="translate header" colspan="2" style="text-align: center">Bar settings</td>
</tr>
<tr class="options_barColor">
<td><label class="translate" for="barColor">Fill color:</label></td>
<td>
<table class="no-spaces"><tr><td><input class="value input input-static-color" id="barColor"></td><td><button data-clear="barColor" class="clear-button" style="display: inline-block"></button></td></tr></table>
</td>
</tr>
<tr class="options_barLabels">
<td><label class="translate" for="barLabels">Show labels:</label></td>
<td><select id="barLabels" class="value input">
<option value="" class="translate">none</option>
<option value="topover" class="translate">top over</option>
<option value="topunder" class="translate">top under</option>
<option value="bottom" class="translate">bottom</option>
<option value="middle" class="translate">middle</option>
</select></td>
</tr>
<tr class="options_barWidth">
<td><label class="translate" for="barWidth">Bars width:</label></td>
<td><input id="barWidth" class="value input"></td>
</tr>
<tr class="options_barFontSize">
<td><label class="translate" for="barFontSize">Label font size:</label></td>
<td><input id="barFontSize" class="value input"></td>
</tr>
<tr class="options_barFontColor">
<td><label class="translate" for="barFontColor">Label color:</label></td>
<td>
<table class="no-spaces"><tr><td><input class="value input input-static-color" id="barFontColor"></td><td><button data-clear="barFontColor" class="clear-button" style="display: inline-block"></button></td></tr></table>
</td>
</tr>
</table>
<table style="margin-left: 25px; width: 300px">
<tr><td class="translate header" colspan="2" style="text-align: center">Title</td></tr>
<tr class="options_title">
<td><label for="title" class="translate">Title:</label></td>
<td><input id="title" class="value input"></td>
</tr>
<!-- Do not use values 50, 5, and -5. They are reserved for 50-middle/center, 5-inside at edge, -5 outside at edge -->
<tr class="options_titlePos">
<td><label for="titlePos" class="translate">Title position:</label></td>
<td><select class="value input" id="titlePos">
<option value="" class="translate">none</option>
<option value="top:35;left:65" class="translate">Top, left, inside</option>
<option value="top:35;right:5" class="translate">Top, right, inside</option>
<option value="top:35;left:50" class="translate">Top, center, inside</option>
<option value="top:50;left:65" class="translate">Middle, left, inside</option>
<option value="top:50;right:5" class="translate">Middle, right, inside</option>
<option value="bottom:5;left:65" class="translate">Bottom, left, inside</option>
<option value="bottom:5;right:5" class="translate">Bottom, right, inside</option>
<option value="bottom:5;left:50" class="translate">Bottom, center, inside</option>
<option value="top:5;right:-5" class="translate">Top, right, outside</option>
<option value="top:50;right:-5" class="translate">Middle, right, outside</option>
<option value="bottom:5;right:-5" class="translate">Bottom, right, outside</option>
<option value="bottom:-5;left:50" class="translate">Bottom, center, outside</option>
</select></td>
</tr>
<tr class="options_titleColor">
<td><label class="translate" for="titleColor">Title color:</label></td>
<td><table class="no-spaces"><tr><td><input id="titleColor" class="value input input-static-color"></td><td><button data-clear="titleColor" class="clear-button" style="display: inline-block"></button></td></tr></table></td>
</tr>
<tr class="options_titleSize">
<td><label for="titleSize" class="translate">Title size:</label></td>
<td><input id="titleSize" class="value input"></td>
</tr>
</table>
<table style="margin-left: 25px; width: 400px">
<tr><td class="translate header" colspan="2" style="text-align: center">Options</td></tr>
<tr class="options_legend">
<td><label class="translate" for="legend">Show legend:</label></td>
<td><select class="value input" id="legend">
<option value="" class="translate">none</option>
<option value="nw" class="translate">Top, left</option>
<option value="ne" class="translate">Top, right</option>
<option value="sw" class="translate">Bottom, left</option>
<option value="se" class="translate">Bottom, right</option>
</select></td>
</tr>
<tr class="options_legColumns">
<td><label class="translate" for="legColumns">Legend columns:</label></td>
<td><input type="number" class="value" id="legColumns"></td>
</tr>
<tr class="options_legBgOpacity">
<td><label class="translate" for="legBgOpacity">Legend opacity (from 0 to 1):</label></td>
<td><input class="value input" id="legBgOpacity"/></td>
</tr>
<tr class="options_legBg">
<td><label class="translate" for="legBg">Legend background:</label></td>
<td><table class="no-spaces"><tr><td><input class="value input input-static-color" id="legBg" style="display: inline-block"></td><td><button data-clear="legBg" class="clear-button" style="display: inline-block"></button></td></tr></table></td>
</tr>
<tr class="options_hoverDetail">
<td><label class="translate" for="hoverDetail">Hover details:</label></td>
<td><input type="checkbox" class="value" id="hoverDetail"></td>
</tr>
<tr class="options_timeFormat">
<td><label class="translate" for="timeFormat">Time format:</label></td>
<td><select class="value input" id="timeFormat">
<option value="" class="translate">Default</option>
<option value="%H:%M %d.%m">HH:MM dd.mm</option>
<option value="%H:%M %d.%m.">HH:MM dd.mm.</option>
<option value="%H:%M <br> %d.%m">HH:MM / dd.mm</option>
<option value="%H:%M <br> %d.%m.">HH:MM / dd.mm.</option>
<option value="%H:%M <br> %d.%m.%y">HH:MM / dd.mm.yy</option>
<option value="%H:%M:%S %d.%m.%y">HH:MM:SS dd.mm.yy</option>
<option value="%H:%M %d.%m.%y">HH:MM dd.mm.yy</option>
<option value="%I:%M:%S %x %p">HH:MM:SS mm/dd/yy am (US)</option>
<option value="%H:%M:%S %d/%m/%y">HH:MM:SS dd/mm/yy (UK)</option>
<option value="%H:%M:%S %m.%d.%y">HH:MM:SS mm.dd.yy</option>
<option value="%H:%M %a">HH:MM dow</option>
<option value="%H:%M:%S %a">HH:MM:SS dow</option>
<option value="%H:%M %m.%d">HH:MM mm.dd</option>
<option value="%H:%M:%S">HH:MM:SS</option>
<option value="%H:%M">HH:MM</option>
<option value="%d.%m">dd.mm</option>
<option value="%d.%m.">dd.mm.</option>
<option value="%m/%d">mm/dd</option>
<option value="%d">dd</option>
<option value="%m">mm</option>
<option value="%y">y</option>
<option value="%H">HH</option>
<option value="%M">MM</option>
<option value="%a">dow</option>
<option value="%d.%m.%y">dd.mm.yy</option>
</select></td>
</tr>
<tr class="options_smoothing">
<td><label class="translate" for="smoothing">Smoothing:</label></td>
<td><input class="value input" id="smoothing"></td>
</tr>
<!--tr class="options_afterComma">
<td class="translate">After comma:</td>
<td><input class="value input" id="afterComma"></td>
</tr-->
<tr class="options_useComma">
<td><label class="translate" for="useComma">Use comma:</label></td>
<td><input type="checkbox" class="value" id="useComma"></td>
</tr>
<tr class="options_zoom">
<td><label class="translate" for="zoom">Enable zoom and pan:</label></td>
<td><input type="checkbox" class="value" id="zoom"></td>
</tr>
<tr class="options_noedit">
<td><label class="translate" for="noedit">Hide edit button:</label></td>
<td><input type="checkbox" class="value" id="noedit"></td>
</tr>
<tr class="options_animation">
<td><label class="translate" for="animation">Animation:</label></td>
<td><select class="value input" id="animation">
<option value="0" class="translate">no</option>
<option value="300" class="translate">300ms</option>
<option value="500" class="translate">500ms</option>
<option value="1000" class="translate">1s</option>
<option value="2000" class="translate">2s</option>
<option value="3000" class="translate">3s</option>
<option value="5000" class="translate">5s</option>
<option value="10000" class="translate">10s</option>
</select></td>
</tr>
</table>
</div>
</div>
<div class="version">Version: 1.9.2</div>
</div>
<div style="height: 70px; display: flex; justify-content: space-around; align-items: center; margin-top: 4px; margin-bottom: 0">
<label class="translate" for="link">Link</label>
<textarea id="link" style="width: calc(100% - 260px); height: 55px; word-break: break-all; resize: none"></textarea>
<button style="padding-left: 2px" id="open" class="translateB">Open</button>
<button style="padding-left: 5px" id="updatePreview" class="translateB">update Preview</button>
</div>
</div>
<iframe style="width: calc(100% - 20px); bottom: 0; height: calc(100% - 380px); border: 1px solid #afafaf; border-radius: 2px" id="chart"></iframe>
<div id="dialog-select-member" style="display: none"></div>
<div id="dialog-line-options" style="display: none">
<table>
</table>
</div>
<div id="dialog-new-preset" style="display: none">
<table>
<tr id="dialog-new-preset-info-tr">
<td><label for="dialog-new-preset-into" class="translate">Save into:</label></td>
<td><select id="dialog-new-preset-into" style="width: 100%;"></select></td>
</tr>
<tr id="dialog-new-preset-name-tr">
<td><label for="dialog-new-preset-name" class="translate">Name:</label></td>
<td><input id="dialog-new-preset-name" style="width: 100%;"/></td>
</tr>
</table>
</div>
<script type="text/javascript" src="js/edit.js"></script>
</body>
</html>
+324
View File
@@ -0,0 +1,324 @@
{
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"Ok": "Ok",
"role": "Rolle",
"Update objects": "Objekte aktualisieren",
"All": "Alle",
"With": "mit",
"Without": "ohne",
"Update states": "States aktualisieren",
"edit file": "Datei editieren",
"restart script": "Skript neu starten",
"Select": "Auswählen",
"Select ID": "ID Auswählen",
"add children": "Sub-enums einfügen",
"edit enum": "Enum ändern",
"System settings": "Systemeinstellungen",
"reload": "Neu laden",
"Delete object": "Object löschen",
"no null": "&nbsp;kein NULL",
"%s ago": "vor %s",
"Y-Offset": "Y-Offset",
"ID": "ID",
"Role": "Rolle",
"Room": "Raum",
"Value": "Wert",
"none": "nichts",
"Save into:": "Save into:",
"Name:": "Name:",
"save": "Speichern",
"load": "laden",
"Presets": "Voreinstellung",
"IDs": "IDs",
"new": "unter neuen Namen",
"Enter chart name": "Chartname eintragen",
"save %s": "Speichern %s",
"Input data": "Eingangsdaten",
"Options": "Optionen",
"Range:": "Umfang:",
"5 seconds": "5 Sekunden",
"10 seconds": "10 Sekunden",
"15 seconds": "15 Sekunden",
"20 seconds": "20 Sekunden",
"30 seconds": "30 Sekunden",
"1 minute": "1 Minute",
"2 minutes": "2 Minuten",
"5 minutes": "5 Minuten",
"10 minutes": "10 Minuten",
"15 minutes": "15 Minuten",
"20 minutes": "20 Minuten",
"30 minutes": "30 Minuten",
"1 hour": "1 Stunde",
"2 hours": "2 Stunden",
"3 hours": "3 Stunden",
"6 hours": "6 Stunden",
"12 hours": "12 Stunden",
"1 day": "1 Tag",
"2 days": "2 Tage",
"3 days": "3 Tage",
"7 days": "7 Tage",
"14 days": "14 Tage",
"1 month": "1 Monat",
"2 months": "2 Monate",
"3 months": "3 Monate",
"6 months": "6 Monate",
"1 year": "1 Jahr",
"2 years": "2 Jahren",
"Width:": "Breite:",
"Height:": "Höhe:",
"line": "Linie",
"area": "Area",
"bar": "Bar",
"lineplot": "Liniendiagramm",
"scatterplot": "Streudiagramm",
"steps": "Schritte",
"spline": "Spline",
"Stack": "Stack",
"Window background:": "Fenster-Hintergrund:",
"Custom chart background:": "Anwender-Chart-Hintergrund:",
"Chart background:": "Chart-Hintergrund:",
"X axis labels color:": "X Beschriftungsfarbe:",
"Y axis labels color:": "Y Beschriftungsfarbe:",
"Show legend:": "Zeige Legende:",
"Title:": "Beschriftung:",
"Title position:": "Beschriftungs-Position:",
"Top, left, inside": "Oben, links, innen",
"Top, right, inside": "Oben, rechts, innen",
"Top, center, inside": "Oben, mittig, innen",
"Middle, left, inside": "Middle, links, innen",
"Middle, right, inside": "Middle, rechts, innen",
"Bottom, left, inside": "Unten, links, innen",
"Bottom, right, inside": "Unten, rechts, innen",
"Bottom, center, inside": "Unten, mittig, innen",
"Top, right, outside": "Oben, rechts, außen",
"Middle, right, outside": "Middle, rechts, außen",
"Bottom, right, outside": "Unten, rechts, außen",
"Bottom, center, outside": "Unten, mittig, außen",
"Min:": "Minimum:",
"Max:": "Maximum:",
"User defined names:": "Benutzerdefinierte Namen:",
"Predefined background:": "Vordefinierter Hintergrund:",
"User defined": "Anwenderdefiniert",
"Background:": "Hintergrund:",
"Hover details:": "Hover details:",
"Time format:": "Zeitformat:",
"Default": "Standard",
"Smoothing": "Glätten",
"After comma": "Nach Komma",
"Open": "Zeige im Fenster",
"Update": "Aktualisieren",
"Reset settings": "Einstellungen löschen",
"From": "Von",
"Last changed": "Letze Änderung",
"Time stamp": "Zeitstempel",
"Acknowledged": "Bestätigt",
"Edit": "Editieren",
"Members": "Mitglied",
"Loading...": "Lade...",
"Processing...": "Bearbeite...",
"With lines": "mit Linien",
"Without lines": "ohne Linien",
"Inside / With lines": "Innen / mit Linien",
"Outside/ With lines": "Außen/ mit Linien",
"Inside / No lines": "Innen / ohne Linien",
"Outside / No lines": "Außen / ohne Linien",
"Interpolate:": "Interpolieren:",
"Steps": "Schritte",
"Pie": "Kuchen",
"Top, left": "Oben, links",
"Top, right": "Oben, rechts",
"Bottom, left": "Unten, links",
"Bottom, right": "Unten, rechts",
"Title color:": "Titelfarbe:",
"Title size:": "Titelgröße:",
"Fill range:": "Ganzer Bereich:",
"Units:": "Einheiten:",
"yes": "ja",
"bottom": "unten",
"top": "oben",
"left": "links",
"right": "rechts",
"No border:": "Kein Rahmen:",
"Time": "Zeit",
"day": "Tag",
"month": "Monat",
"year": "Jahr",
"Individual": "Individuell",
"Aggregation:": "Art:",
"relative": "relative",
"static": "statik",
"now": "jetzt",
"today": "heute",
"this month": "dieser Monat",
"this year": "dieses Jahr",
"Start:": "Start:",
"End:": "Ende:",
"Aggregate": "Aggregation",
"Step type:": "Schritttyp:",
"seconds": "Sekunden",
"Seconds": "Sekunden",
"Step span:": "Schrittweite:",
"Link": "Link",
"Counts": "Anzahl",
"ignore 'null'": "'null' ignorieren",
"Time Span": "Zeit Spanne",
"Appearance": "Erscheinung",
"Title": "Beschriftung",
"Offset": "X-Offset",
"Aggregation": "Art",
"Chart Type": "Chart Type",
"Color": "Farbe",
"Min": "Min",
"Max": "Max",
"Unit": "Einheiten",
"Y Axis": "Y Axe",
"X Axis": "X Axe",
"update Preview": "Vorschau aktualisieren",
"Cancel": "Abbrechen",
"Name": "Name",
"Live update every:": "Autoupdate alle:",
"counts": "Anzahl",
"Add new line": "Linie hinzufügen",
"Animation:": "Animation:",
"no": "keine",
"0s": "0s",
"300ms": "300ms",
"500ms": "500ms",
"1s": "1 Sekunde",
"2s": "2 Sekunden",
"3s": "3 Sekunden",
"5s": "5 Sekunden",
"10s": "10 Sekunden",
"30s": "30 Sekunden",
"60s": "60 Sekunden",
"2m": "2 Minuten",
"3m": "3 Minuten",
"4m": "4 Minuten",
"5m": "5 Minuten",
"10m": "10 Minuten",
"15m": "15 Minuten",
"30m": "30 Minuten",
"45m": "45 Minuten",
"1H": "1 Stunde",
"2H": "2 Stunden",
"6H": "6 Stunden",
"12H": "12 Stunden",
"1D": "1 Tag",
"2D": "2 Tage",
"3D": "3 Tage",
"4D": "4 Tage",
"1W": "1 Woche",
"2W": "2 Wochen",
"4W": "4 Wochen",
"8W": "8 Wochen",
"12W": "12 Wochen",
"26W": "26 Wochen",
"1M": "1 Monat",
"2M": "2 Monate",
"3M": "3 Monate",
"6M": "6 Monate",
"1Y": "1 Jahr",
"2Y": "2 Jahre",
"average": "mittel",
"max": "max",
"min": "min",
"total": "total",
"off": "nichts",
"leftColor": "links farblich",
"rightColor": "rechts farblich",
"topColor": "oben farblich",
"bottomColor": "unten farblich",
"default": "default",
"Auto-update:": "Auto-update:",
"Use comma:": "Benutze Komma:",
"Common Y Axis": "Gemeinsame Y-Achse",
"Instance": "Instanz",
"Line Width": "Linienstärke",
"Shadow Size": "Schattengröße",
"ignore 'null':": "'null' ignorieren:",
"onchange": "bei Änderung",
"Border color:": "Rahmenfarbe:",
"Grid color:": "Gitterfarbe:",
"Border width:": "Rahmenbreite:",
"Enable zoom and pan:": "Aktiviere Zoom und Schieben:",
"Arrange bools": "Platziere Booleans",
"NULL as": "NULL als",
"MinMax": "MinMax",
"null": "null",
"true": "letztes Wert",
"last value": "letztes Wert",
"Hide edit button:": "Kein 'Edit'-Knopf:",
"minmax": "minmax",
"&#216L": "&#216L",
"&#216S": "&#216S",
"Line": "Linie",
"false": "null",
"end of minute": "Minutenende",
"end of 5 minutes": "Ende von 5 Minuten",
"end of 10 minutes": "Ende von 10 Minuten",
"end of 30 minutes": "Ende von 30 Minuten",
"end of hour": "Stundenende",
"end of 2 hours": "Ende von 2 Stunden",
"end of 3 hours": "Ende von 3 Stunden",
"end of 4 hours": "Ende von 4 Stunden",
"end of 6 hours": "Ende von 6 Stunden",
"end of 8 hours": "Ende von 8 Stunden",
"end of 12 hours": "Ende von 12 Stunden",
"end of day": "Tagesende",
"end of sunday": "Wochenssende",
"end of saturday": "Samstagsende",
"1minute": "Minutenende",
"5minutes": "Ende von 5 Minuten",
"10minutes": "Ende von 10 Minuten",
"30minutes": "Ende von 30 Minuten",
"1hour": "Stundenende",
"2hours": "Ende von 2 Stunden",
"3hours": "Ende von 3 Stunden",
"4hours": "Ende von 4 Stunden",
"6hours": "Ende von 6 Stunden",
"8hours": "Ende von 8 Stunden",
"12hours": "Ende von 12 Stunden",
"weekEurope": "Tagesende",
"weekUsa": "Wochenssende",
"Bar settings": "Bar-Einstellungen",
"Fill color:": "Füllfarbe color:",
"Show labels:": "Zeige Labels:",
"top over": "oben über",
"top under": "oben unten",
"middle": "mittig",
"Bars width:": "Barbreite:",
"Label font size:": "Labelschriftgröße:",
"Label color:": "Labelfarbe:",
"Markings": "Markierungen",
"Line ID": "Linie ID",
"Fill": "Füllen",
"ØL": "ØL",
"ØS": "ØS",
"Text": "Text",
"Text position": "Textposition",
"Text offset": "Text-Offset",
"Text size": "Textgröße",
"Text color": "Textfarbe",
"Add new markings": "Neue Markierung hinzufügen",
"Left": "Links",
"Right": "Rechts",
"Upper value or ID": "Oberes Wert oder ID",
"Lower value or ID": "Unteres Wert oder ID",
"X-Axis ticks": "X-Achse-Ticks",
"Y-Axis ticks": "Y-Achse-Ticks",
"ignore null values": "null-Werte ignorieren",
"Ticks from:": "Benutze X-Ticks aus:",
"use 0 instead of null values": "0 statt null benutzen",
"More": "mehr",
"Edit options for line %s": "Editieren weitere Einstellungen für Linie %s",
"Legend columns:": "Spalten in Legende:",
"Legend opacity (from 0 to 1):": "Legende-Opacity (von 0 bis 1):",
"Legend background:": "Legende-Hintergrund:",
"Fill(0to1)": "Füllen(0bis1)",
"Points": "Punkte"
}
+324
View File
@@ -0,0 +1,324 @@
{
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"Ok": "Ok",
"role": "role",
"Update objects": "Update objects",
"All": "All",
"With": "With",
"Without": "Without",
"Update states": "Update states",
"edit file": "edit file",
"restart script": "restart script",
"Select": "Select",
"Select ID": "Select ID",
"add children": "add children",
"edit enum": "edit enum",
"System settings": "System settings",
"reload": "reload",
"Delete object": "Delete object",
"no null": "&nbsp;no null",
"%s ago": "%s ago",
"Y-Offset": "Y-Offset",
"ID": "ID",
"Role": "Role",
"Room": "Room",
"Value": "Value",
"none": "none",
"Save into:": "Save into:",
"Name:": "Name:",
"save": "save",
"load": "load",
"Presets": "Presets",
"IDs": "IDs",
"new": "new",
"Enter chart name": "Enter chart name",
"save %s": "save %s",
"Input data": "Input data",
"Options": "Options",
"Range:": "Range:",
"5 seconds": "5 seconds",
"10 seconds": "10 seconds",
"15 seconds": "15 seconds",
"20 seconds": "20 seconds",
"30 seconds": "30 seconds",
"1 minute": "1 minute",
"2 minutes": "2 minutes",
"5 minutes": "5 minutes",
"10 minutes": "10 minutes",
"15 minutes": "15 minutes",
"20 minutes": "20 minutes",
"30 minutes": "30 minutes",
"1 hour": "1 hour",
"2 hours": "2 hours",
"3 hours": "3 hours",
"6 hours": "6 hours",
"12 hours": "12 hours",
"1 day": "1 day",
"2 days": "2 days",
"3 days": "3 days",
"7 days": "7 days",
"14 days": "14 days",
"1 month": "1 month",
"2 months": "2 months",
"3 months": "3 months",
"6 months": "6 months",
"1 year": "1 year",
"2 years": "2 years",
"Width:": "Width:",
"Height:": "Height:",
"line": "Line",
"area": "Area",
"bar": "Bar",
"lineplot": "Line plot",
"scatterplot": "Scatter plot",
"steps": "Steps",
"spline": "Spline",
"Stack": "Stack",
"Window background:": "Window background:",
"Custom chart background:": "Custom chart background:",
"Chart background:": "Chart background:",
"X axis labels color:": "X labels color:",
"Y axis labels color:": "Y labels color:",
"Show legend:": "Show legend:",
"Title:": "Title:",
"Title position:": "Title position:",
"Top, left, inside": "Top, left, inside",
"Top, right, inside": "Top, right, inside",
"Top, center, inside": "Top, center, inside",
"Middle, left, inside": "Middle, left, inside",
"Middle, right, inside": "Middle, right, inside",
"Bottom, left, inside": "Bottom, left, inside",
"Bottom, right, inside": "Bottom, right, inside",
"Bottom, center, inside": "Bottom, center, inside",
"Top, right, outside": "Top, right, outside",
"Middle, right, outside": "Middle, right, outside",
"Bottom, right, outside": "Bottom, right, outside",
"Bottom, center, outside": "Bottom, center, outside",
"Min:": "Minimum:",
"Max:": "Maximum:",
"User defined names:": "User defined names:",
"Predefined background:": "Predefined background:",
"User defined": "User defined",
"Background:": "Background:",
"Hover details:": "Hover details:",
"Time format:": "Time format:",
"Default": "Default",
"Smoothing": "Smoothing",
"After comma": "After comma",
"Open": "Open",
"Update": "Update",
"Reset settings": "Reset settings",
"From": "From: ",
"Last changed": "Last changed",
"Time stamp": "Time stamp",
"Acknowledged": "Acknowledged",
"Edit": "Edit",
"Members": "Members",
"Loading...": "Loading...",
"Processing...": "Processing...",
"With lines": "With lines",
"Without lines": "Without lines",
"Inside / With lines": "Inside / With lines",
"Outside/ With lines": "Outside/ With lines",
"Inside / No lines": "Inside / No lines",
"Outside / No lines": "Outside / No lines",
"Interpolate:": "Interpolate:",
"Steps": "Steps",
"Pie": "Pie",
"Top, left": "Top, left",
"Top, right": "Top, right",
"Bottom, left": "Bottom, left",
"Bottom, right": "Bottom, right",
"Title color:": "Title color:",
"Title size:": "Title size:",
"Fill range:": "Fill range:",
"Units:": "Units:",
"yes": "yes",
"bottom": "bottom",
"top": "top",
"left": "left",
"right": "right",
"No border:": "No border:",
"Time": "Time",
"day": "day",
"month": "month",
"year": "year",
"Individual": "Individual",
"Aggregation:": "Type:",
"relative": "relative",
"static": "static",
"now": "now",
"today": "today",
"this month": "this month",
"this year": "this year",
"Start:": "Start:",
"End:": "End:",
"Aggregate": "Aggregate",
"Step type:": "Step type:",
"seconds": "seconds",
"Seconds": "Seconds",
"Step span:": "Step span:",
"Link": "Link",
"Counts": "Counts",
"ignore 'null'": "ignore 'null'",
"Time Span": "Time Span",
"Appearance": "Appearance",
"Title": "Title",
"Offset": "X-Offset",
"Aggregation": "Type",
"Chart Type": "Chart Type",
"Color": "Color",
"Min": "Min",
"Max": "Max",
"Unit": "Unit",
"Y Axis": "Y Axis",
"X Axis": "X Axis",
"update Preview": "update Preview",
"Cancel": "Cancel",
"Name": "Name",
"Live update every:": "Live update every:",
"counts": "counts",
"Add new line": "Add new line",
"Animation:": "Animation:",
"no": "no",
"0s": "0 seconds",
"300ms": "300ms",
"500ms": "500ms",
"1s": "1 second",
"2s": "2 seconds",
"3s": "3 seconds",
"5s": "5 seconds",
"10s": "10 seconds",
"30s": "30 seconds",
"60s": "60 seconds",
"2m": "2 minutes",
"3m": "3 minutes",
"4m": "4 minutes",
"5m": "5 minutes",
"10m": "10 minutes",
"15m": "15 minutes",
"30m": "30 minutes",
"45m": "45 minutes",
"1H": "1 hour",
"2H": "2 hours",
"6H": "6 hours",
"12H": "12 hours",
"1D": "1 day",
"2D": "2 days",
"3D": "3 days",
"4D": "4 days",
"1W": "1 week",
"2W": "2 weeks",
"4W": "4 weeks",
"8W": "8 weeks",
"12W": "12 weeks",
"26W": "26 weeks",
"1M": "1 month",
"2M": "2 months",
"3M": "3 months",
"6M": "6 months",
"1Y": "1 year",
"2Y": "2 years",
"average": "average",
"max": "max",
"min": "min",
"total": "total",
"off": "off",
"leftColor": "left colored",
"rightColor": "right colored",
"topColor": "top colored",
"bottomColor": "bottom colored",
"default": "default",
"Auto-update:": "Auto-update:",
"Use comma:": "Use comma:",
"Common Y Axis": "Common Y Axis",
"Instance": "Instance",
"Line Width": "Line Width",
"Shadow Size": "Shadow Size",
"ignore 'null':": "ignore 'null':",
"onchange": "on change",
"Border color:": "Border color:",
"Grid color:": "Grid color:",
"Border width:": "Border width:",
"Enable zoom and pan:": "Enable zoom and pan:",
"Arrange bools": "Arrange booleans",
"NULL as": "NULL as",
"MinMax": "MinMax",
"null": "null",
"true": "last value",
"last value": "last value",
"Hide edit button:": "Hide edit button:",
"minmax": "minmax",
"&#216L": "&#216L",
"&#216S": "&#216S",
"Line": "Line",
"false": "null",
"end of minute": "end of minute",
"end of 5 minutes": "end of 5 minutes",
"end of 10 minutes": "end of 10 minutes",
"end of 30 minutes": "end of 30 minutes",
"end of hour": "end of hour",
"end of 2 hours": "end of 2 hours",
"end of 3 hours": "end of 3 hours",
"end of 4 hours": "end of 4 hours",
"end of 6 hours": "end of 6 hours",
"end of 8 hours": "end of 8 hours",
"end of 12 hours": "end of 12 hours",
"end of day": "end of day",
"end of sunday": "end of sunday",
"end of saturday": "end of saturday",
"1minute": "end of minute",
"5minutes": "end of 5 minutes",
"10minutes": "end of 10 minutes",
"30minutes": "end of 30 minutes",
"1hour": "end of hour",
"2hours": "end of 2 hours",
"3hours": "end of 3 hours",
"4hours": "end of 4 hours",
"6hours": "end of 6 hours",
"8hours": "end of 8 hours",
"12hours": "end of 12 hours",
"weekEurope": "end of day",
"weekUsa": "end of sunday",
"Bar settings": "Bar settings",
"Fill color:": "Fill color:",
"Show labels:": "Show labels:",
"top over": "top over",
"top under": "top under",
"middle": "middle",
"Bars width:": "Bars width:",
"Label font size:": "Label font size:",
"Label color:": "Label color:",
"Markings": "Markings",
"Line ID": "Line ID",
"Fill": "Fill",
"ØL": "ØL",
"ØS": "ØS",
"Text": "Text",
"Text position": "Text position",
"Text offset": "Text offset",
"Text size": "Text size",
"Text color": "Text color",
"Add new markings": "Add new markings",
"Left": "Left",
"Right": "Right",
"Upper value or ID": "Upper value or ID",
"Lower value or ID": "Lower value or ID",
"X-Axis ticks": "X-Axis ticks",
"Y-Axis ticks": "Y-Axis ticks",
"ignore null values": "ignore null values",
"Ticks from:": "Use X-ticks from:",
"use 0 instead of null values": "use 0 instead of null values",
"More": "more",
"Edit options for line %s": "Edit options for line %s",
"Legend columns:": "Legend columns:",
"Legend opacity (from 0 to 1):": "Legend opacity (from 0 to 1):",
"Legend background:": "Legend background:",
"Fill(0to1)": "Fill(0to1)",
"Points": "Points"
}
+324
View File
@@ -0,0 +1,324 @@
{
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"Ok": "De acuerdo",
"role": "papel",
"Update objects": "Actualizar objetos",
"All": "Todas",
"With": "Con",
"Without": "Sin",
"Update states": "Actualizar estados",
"edit file": "editar archivo",
"restart script": "script de reinicio",
"Select": "Seleccionar",
"Select ID": "Seleccionar ID",
"add children": "agregar niños",
"edit enum": "editar enum",
"System settings": "Ajustes del sistema",
"reload": "recargar",
"Delete object": "Eliminar objeto",
"no null": "& nbsp; no null",
"%s ago": "hace% s",
"Y-Offset": "Y-Offset",
"ID": "CARNÉ DE IDENTIDAD",
"Role": "Papel",
"Room": "Habitación",
"Value": "Valor",
"none": "ninguna",
"Save into:": "Guardar en:",
"Name:": "Nombre:",
"save": "salvar",
"load": "carga",
"Presets": "Presets",
"IDs": "IDs",
"new": "nuevo",
"Enter chart name": "Ingrese el nombre del gráfico",
"save %s": "ahorra",
"Input data": "Datos de entrada",
"Options": "Opciones",
"Range:": "Distancia:",
"5 seconds": "5 segundos",
"10 seconds": "10 segundos",
"15 seconds": "15 segundos",
"20 seconds": "20 segundos",
"30 seconds": "30 segundos",
"1 minute": "1 minuto",
"2 minutes": "2 minutos",
"5 minutes": "5 minutos",
"10 minutes": "10 minutos",
"15 minutes": "15 minutos",
"20 minutes": "20 minutos",
"30 minutes": "30 minutos",
"1 hour": "1 hora",
"2 hours": "2 horas",
"3 hours": "3 horas",
"6 hours": "6 horas",
"12 hours": "12 horas",
"1 day": "1 día",
"2 days": "2 días",
"3 days": "3 días",
"7 days": "7 días",
"14 days": "14 dias",
"1 month": "1 mes",
"2 months": "2 meses",
"3 months": "3 meses",
"6 months": "6 meses",
"1 year": "1 año",
"2 years": "2 años",
"Width:": "Anchura:",
"Height:": "Altura:",
"line": "Línea",
"area": "Zona",
"bar": "Bar",
"lineplot": "Linear plot",
"scatterplot": "Gráfico de dispersión",
"steps": "Pasos",
"spline": "Ranura",
"Stack": "Apilar",
"Window background:": "Fondo de la ventana:",
"Custom chart background:": "Fondo de carta personalizada:",
"Chart background:": "Fondo de la carta:",
"X axis labels color:": "X etiquetas de color:",
"Y axis labels color:": "Color de etiquetas Y:",
"Show legend:": "Mostrar leyenda:",
"Title:": "Título:",
"Title position:": "Posición del título:",
"Top, left, inside": "Arriba, izquierda, adentro",
"Top, right, inside": "Arriba, derecha, adentro",
"Top, center, inside": "Arriba, centro, adentro",
"Middle, left, inside": "Medio, izquierdo, adentro",
"Middle, right, inside": "Medio, derecho, adentro",
"Bottom, left, inside": "Abajo, izquierda, adentro",
"Bottom, right, inside": "Abajo, derecha, adentro",
"Bottom, center, inside": "Abajo, centro, adentro",
"Top, right, outside": "Arriba, a la derecha, afuera",
"Middle, right, outside": "Medio, derecho, afuera",
"Bottom, right, outside": "Abajo, a la derecha, afuera",
"Bottom, center, outside": "Abajo, centro, afuera",
"Min:": "Mínimo:",
"Max:": "Máximo:",
"User defined names:": "Nombres definidos por el usuario:",
"Predefined background:": "Antecedentes predefinidos:",
"User defined": "Usuario definido",
"Background:": "Fondo:",
"Hover details:": "Hover detalles:",
"Time format:": "Formato de tiempo:",
"Default": "Defecto",
"Smoothing": "Suavizado",
"After comma": "Después de la coma",
"Open": "Abierto",
"Update": "Actualizar",
"Reset settings": "Reiniciar ajustes",
"From": "De:",
"Last changed": "Último cambio",
"Time stamp": "Marca de tiempo",
"Acknowledged": "Admitido",
"Edit": "Editar",
"Members": "Miembros",
"Loading...": "Cargando...",
"Processing...": "Tratamiento...",
"With lines": "Con líneas",
"Without lines": "Sin líneas",
"Inside / With lines": "Dentro / Con líneas",
"Outside/ With lines": "Fuera / Con líneas",
"Inside / No lines": "Dentro / Sin líneas",
"Outside / No lines": "Fuera / Sin líneas",
"Interpolate:": "Interpolar:",
"Steps": "Pasos",
"Pie": "Tarta",
"Top, left": "Arriba a la izquierda",
"Top, right": "Parte superior derecha",
"Bottom, left": "Abajo, izquierda",
"Bottom, right": "Abajo a la derecha",
"Title color:": "Color del título:",
"Title size:": "Tamaño del título:",
"Fill range:": "Rango de llenado:",
"Units:": "Unidades:",
"yes": "sí",
"bottom": "fondo",
"top": "parte superior",
"left": "izquierda",
"right": "derecho",
"No border:": "Sin bordes:",
"Time": "Hora",
"day": "día",
"month": "mes",
"year": "año",
"Individual": "Individual",
"Aggregation:": "Tipo:",
"relative": "relativo",
"static": "estático",
"now": "ahora",
"today": "hoy",
"this month": "este mes",
"this year": "este año",
"Start:": "Comienzo:",
"End:": "Fin:",
"Aggregate": "Agregar",
"Step type:": "Tipo de paso:",
"seconds": "segundos",
"Seconds": "Segundos",
"Step span:": "Lapso de paso:",
"Link": "Enlazar",
"Counts": "Cuenta",
"ignore 'null'": "ignorar 'nulo'",
"Time Span": "Espacio de tiempo",
"Appearance": "Apariencia",
"Title": "Título",
"Offset": "X-Offset",
"Aggregation": "Tipo",
"Chart Type": "Tipo de gráfico",
"Color": "Color",
"Min": "Min.",
"Max": "Max",
"Unit": "Unidad",
"Y Axis": "Eje Y",
"X Axis": "Eje X",
"update Preview": "actualización de Vista previa",
"Cancel": "Cancelar",
"Name": "Nombre",
"Live update every:": "Actualización en vivo cada:",
"counts": "conteos",
"Add new line": "Agregar nueva línea",
"Animation:": "Animación:",
"no": "no",
"0s": "0 segundos",
"300ms": "300ms",
"500ms": "500ms",
"1s": "1 segundo",
"2s": "2 segundos",
"3s": "3 segundos",
"5s": "5 segundos",
"10s": "10 segundos",
"30s": "30 segundos",
"60s": "60 segundos",
"2m": "2 minutos",
"3m": "3 minutos",
"4m": "4 minutos",
"5m": "5 minutos",
"10m": "10 minutos",
"15m": "15 minutos",
"30m": "30 minutos",
"45m": "45 minutos",
"1H": "1 hora",
"2H": "2 horas",
"6H": "6 horas",
"12H": "12 horas",
"1D": "1 día",
"2D": "2 días",
"3D": "3 días",
"4D": "4 dias",
"1W": "1 semana",
"2W": "2 semanas",
"4W": "4 semanas",
"8W": "8 semanas",
"12W": "12 semanas",
"26W": "26 semanas",
"1M": "1 mes",
"2M": "2 meses",
"3M": "3 meses",
"6M": "6 meses",
"1Y": "1 año",
"2Y": "2 años",
"average": "promedio",
"max": "máximo",
"min": "min",
"total": "total",
"off": "apagado",
"leftColor": "color izquierdo",
"rightColor": "color derecho",
"topColor": "tapa coloreada",
"bottomColor": "color de fondo",
"default": "defecto",
"Auto-update:": "Actualización automática:",
"Use comma:": "Usa la coma",
"Common Y Axis": "Eje Y común",
"Instance": "Ejemplo",
"Line Width": "Ancho de línea",
"Shadow Size": "Tamaño de las Sombras",
"ignore 'null':": "ignorar 'nulo':",
"onchange": "en cambio",
"Border color:": "Color del borde:",
"Grid color:": "Color de cuadrícula",
"Border width:": "Ancho del borde:",
"Enable zoom and pan:": "Habilitar zoom y pan:",
"Arrange bools": "Organizar booleanos",
"NULL as": "NULL como",
"MinMax": "Mínimo máximo",
"null": "nulo",
"true": "último valor",
"last value": "último valor",
"Hide edit button:": "Ocultar botón de edición:",
"minmax": "mínimo máximo",
"&#216L": "& # 216L",
"&#216S": "& # 216S",
"Line": "Línea",
"false": "nulo",
"end of minute": "fin del minuto",
"end of 5 minutes": "fin de 5 minutos",
"end of 10 minutes": "fin de 10 minutos",
"end of 30 minutes": "fin de 30 minutos",
"end of hour": "fin de hora",
"end of 2 hours": "fin de 2 horas",
"end of 3 hours": "fin de 3 horas",
"end of 4 hours": "fin de 4 horas",
"end of 6 hours": "fin de 6 horas",
"end of 8 hours": "fin de 8 horas",
"end of 12 hours": "fin de 12 horas",
"end of day": "fin del día",
"end of sunday": "fin del domingo",
"end of saturday": "fin de sabado",
"1minute": "fin del minuto",
"5minutes": "fin de 5 minutos",
"10minutes": "fin de 10 minutos",
"30minutes": "fin de 30 minutos",
"1hour": "fin de hora",
"2hours": "fin de 2 horas",
"3hours": "fin de 3 horas",
"4hours": "fin de 4 horas",
"6hours": "fin de 6 horas",
"8hours": "fin de 8 horas",
"12hours": "fin de 12 horas",
"weekEurope": "fin del día",
"weekUsa": "fin del domingo",
"Bar settings": "Configuración de barra",
"Fill color:": "Color de relleno:",
"Show labels:": "Mostrar etiquetas:",
"top over": "arriba encima",
"top under": "arriba debajo",
"middle": "medio",
"Bars width:": "Ancho de barras:",
"Label font size:": "Tamaño de letra de la etiqueta:",
"Label color:": "Color de etiqueta:",
"Markings": "Marcas",
"Line ID": "Identificación de línea",
"Fill": "Llenar",
"ØL": "ØL",
"ØS": "ØS",
"Text": "Texto",
"Text position": "Posición del texto",
"Text offset": "Offset de texto",
"Text size": "Tamano del texto",
"Text color": "Color de texto",
"Add new markings": "Agregar nuevas marcas",
"Left": "Izquierda",
"Right": "Derecha",
"Upper value or ID": "Valor superior o ID",
"Lower value or ID": "Menor valor o ID",
"X-Axis ticks": "Garrapatas X-Axis",
"Y-Axis ticks": "Señales del eje Y",
"ignore null values": "ignorar valores nulos",
"Ticks from:": "Use X-ticks desde:",
"use 0 instead of null values": "use 0 en lugar de valores nulos",
"More": "Más",
"Edit options for line %s": "Editar opciones para la línea% s",
"Legend columns:": "Columnas leyenda",
"Legend opacity (from 0 to 1):": "Opacidad de la leyenda (de 0 a 1):",
"Legend background:": "Antecedentes de leyenda:",
"Fill(0to1)": "Rellenar (0to1)",
"Points": "Puntos"
}
+324
View File
@@ -0,0 +1,324 @@
{
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"Ok": "D'accord",
"role": "rôle",
"Update objects": "Mettre à jour",
"All": "Tout",
"With": "Avec",
"Without": "Sans pour autant",
"Update states": "Mettre à jour",
"edit file": "modifier le fichier",
"restart script": "redémarrer le script",
"Select": "Sélectionner",
"Select ID": "Sélectionner un identifiant",
"add children": "ajouter des enfants",
"edit enum": "éditer enum",
"System settings": "Les paramètres du système",
"reload": "recharger",
"Delete object": "Supprimer un objet",
"no null": "& nbsp; non nul",
"%s ago": "il y a% s",
"Y-Offset": "Y-Offset",
"ID": "ID",
"Role": "Rôle",
"Room": "Chambre",
"Value": "Valeur",
"none": "aucun",
"Save into:": "Enregistrer dans:",
"Name:": "Prénom:",
"save": "enregistrer",
"load": "charge",
"Presets": "Presets",
"IDs": "ID",
"new": "Nouveau",
"Enter chart name": "Entrez le nom du diagramme",
"save %s": "enregistrer% s",
"Input data": "Des données d'entrée",
"Options": "Options",
"Range:": "Gamme:",
"5 seconds": "5 secondes",
"10 seconds": "10 secondes",
"15 seconds": "15 secondes",
"20 seconds": "20 secondes",
"30 seconds": "30 secondes",
"1 minute": "1 minute",
"2 minutes": "2 minutes",
"5 minutes": "5 minutes",
"10 minutes": "10 minutes",
"15 minutes": "15 minutes",
"20 minutes": "20 minutes",
"30 minutes": "30 minutes",
"1 hour": "1 heure",
"2 hours": "2 heures",
"3 hours": "3 heures",
"6 hours": "6 heures",
"12 hours": "12 heures",
"1 day": "Un jour",
"2 days": "2 jours",
"3 days": "3 jours",
"7 days": "7 jours",
"14 days": "14 jours",
"1 month": "1 mois",
"2 months": "2 mois",
"3 months": "3 mois",
"6 months": "6 mois",
"1 year": "1 an",
"2 years": "2 ans",
"Width:": "Largeur:",
"Height:": "La taille:",
"line": "Ligne",
"area": "Région",
"bar": "Bar",
"lineplot": "Graphique linéaire",
"scatterplot": "Scatter plot",
"steps": "Pas",
"spline": "Spline",
"Stack": "Empiler",
"Window background:": "Fond de fenêtre:",
"Custom chart background:": "Arrière-plan de graphique personnalisé:",
"Chart background:": "Arrière-plan du graphique",
"X axis labels color:": "X étiquettes couleur:",
"Y axis labels color:": "Couleur des étiquettes Y:",
"Show legend:": "Afficher la légende:",
"Title:": "Titre:",
"Title position:": "Titre du poste:",
"Top, left, inside": "Haut, gauche, intérieur",
"Top, right, inside": "En haut, à droite, à l'intérieur",
"Top, center, inside": "Haut, centre, intérieur",
"Middle, left, inside": "Milieu, gauche, intérieur",
"Middle, right, inside": "Moyen, droit, intérieur",
"Bottom, left, inside": "Bas, gauche, intérieur",
"Bottom, right, inside": "En bas, à droite, à l'intérieur",
"Bottom, center, inside": "Bas, centre, intérieur",
"Top, right, outside": "Haut, droit, dehors",
"Middle, right, outside": "Moyen, droit, dehors",
"Bottom, right, outside": "En bas, à droite, à l'extérieur",
"Bottom, center, outside": "Bas, centre, extérieur",
"Min:": "Le minimum:",
"Max:": "Maximum:",
"User defined names:": "Noms définis par l'utilisateur:",
"Predefined background:": "Arrière-plan prédéfini:",
"User defined": "Défini par l'utilisateur",
"Background:": "Contexte:",
"Hover details:": "Hover détails:",
"Time format:": "Format de l'heure:",
"Default": "Défaut",
"Smoothing": "Lissage",
"After comma": "Après la virgule",
"Open": "Ouvrir",
"Update": "Mettre à jour",
"Reset settings": "Réinitialiser les options",
"From": "De:",
"Last changed": "Dernière modification",
"Time stamp": "Horodatage",
"Acknowledged": "Reconnu",
"Edit": "modifier",
"Members": "Membres",
"Loading...": "Chargement...",
"Processing...": "En traitement...",
"With lines": "Avec des lignes",
"Without lines": "Sans lignes",
"Inside / With lines": "À l'intérieur / Avec des lignes",
"Outside/ With lines": "Extérieur / Avec lignes",
"Inside / No lines": "À l'intérieur / Pas de lignes",
"Outside / No lines": "Extérieur / Pas de lignes",
"Interpolate:": "Interpoler:",
"Steps": "Pas",
"Pie": "Tarte",
"Top, left": "En haut à gauche",
"Top, right": "En haut à droite",
"Bottom, left": "En bas à gauche",
"Bottom, right": "En bas à droite",
"Title color:": "Couleur du titre:",
"Title size:": "Taille du titre:",
"Fill range:": "Remplir gamme:",
"Units:": "Unités:",
"yes": "Oui",
"bottom": "bas",
"top": "Haut",
"left": "la gauche",
"right": "droite",
"No border:": "Pas de frontière:",
"Time": "Temps",
"day": "journée",
"month": "mois",
"year": "an",
"Individual": "Individuel",
"Aggregation:": "Type:",
"relative": "relatif",
"static": "statique",
"now": "à présent",
"today": "aujourd'hui",
"this month": "ce mois-ci",
"this year": "cette année",
"Start:": "Début:",
"End:": "Fin:",
"Aggregate": "Agrégat",
"Step type:": "Type d'étape:",
"seconds": "secondes",
"Seconds": "Secondes",
"Step span:": "Étape span:",
"Link": "Lien",
"Counts": "Compte",
"ignore 'null'": "ignore 'null'",
"Time Span": "Durée",
"Appearance": "Apparence",
"Title": "Titre",
"Offset": "X-Offset",
"Aggregation": "Type",
"Chart Type": "Type de graphique",
"Color": "Couleur",
"Min": "Min",
"Max": "Max",
"Unit": "Unité",
"Y Axis": "Axe Y",
"X Axis": "Axe X",
"update Preview": "aperçu de mise à jour",
"Cancel": "Annuler",
"Name": "prénom",
"Live update every:": "Mise à jour en direct tous les:",
"counts": "compte",
"Add new line": "Ajouter une nouvelle ligne",
"Animation:": "Animation:",
"no": "non",
"0s": "0 seconde",
"300ms": "300ms",
"500ms": "500ms",
"1s": "1 seconde",
"2s": "2 secondes",
"3s": "3 secondes",
"5s": "5 secondes",
"10s": "10 secondes",
"30s": "30 secondes",
"60s": "60 secondes",
"2m": "2 minutes",
"3m": "3 minutes",
"4m": "4 minutes",
"5m": "5 minutes",
"10m": "10 minutes",
"15m": "15 minutes",
"30m": "30 minutes",
"45m": "45 minutes",
"1H": "1 heure",
"2H": "2 heures",
"6H": "6 heures",
"12H": "12 heures",
"1D": "Un jour",
"2D": "2 jours",
"3D": "3 jours",
"4D": "4 jours",
"1W": "1 semaine",
"2W": "2 semaines",
"4W": "4 semaines",
"8W": "8 semaines",
"12W": "12 semaines",
"26W": "26 semaines",
"1M": "1 mois",
"2M": "2 mois",
"3M": "3 mois",
"6M": "6 mois",
"1Y": "1 an",
"2Y": "2 ans",
"average": "moyenne",
"max": "max",
"min": "min",
"total": "total",
"off": "de",
"leftColor": "laissé coloré",
"rightColor": "couleur droite",
"topColor": "top coloré",
"bottomColor": "fond coloré",
"default": "défaut",
"Auto-update:": "Mise à jour automatique:",
"Use comma:": "Utilisez une virgule:",
"Common Y Axis": "Axe Y commun",
"Instance": "Exemple",
"Line Width": "Largeur de ligne",
"Shadow Size": "Taille de l'ombre",
"ignore 'null':": "ignore 'null':",
"onchange": "sur le changement",
"Border color:": "Couleur de la bordure:",
"Grid color:": "Couleur de la grille:",
"Border width:": "Largeur de la bordure:",
"Enable zoom and pan:": "Activer le zoom et le panoramique:",
"Arrange bools": "Organiser les booléens",
"NULL as": "NULL comme",
"MinMax": "Min max",
"null": "nul",
"true": "dernière valeur",
"last value": "dernière valeur",
"Hide edit button:": "Masquer le bouton d'édition:",
"minmax": "min max",
"&#216L": "& # 216L",
"&#216S": "& # 216S",
"Line": "Ligne",
"false": "nul",
"end of minute": "fin de minute",
"end of 5 minutes": "fin de 5 minutes",
"end of 10 minutes": "fin de 10 minutes",
"end of 30 minutes": "fin de 30 minutes",
"end of hour": "fin de l'heure",
"end of 2 hours": "fin de 2 heures",
"end of 3 hours": "fin de 3 heures",
"end of 4 hours": "fin de 4 heures",
"end of 6 hours": "fin de 6 heures",
"end of 8 hours": "fin de 8 heures",
"end of 12 hours": "fin de 12 heures",
"end of day": "fin de la journée",
"end of sunday": "fin de dimanche",
"end of saturday": "fin de samedi",
"1minute": "fin de minute",
"5minutes": "fin de 5 minutes",
"10minutes": "fin de 10 minutes",
"30minutes": "fin de 30 minutes",
"1hour": "fin de l'heure",
"2hours": "fin de 2 heures",
"3hours": "fin de 3 heures",
"4hours": "fin de 4 heures",
"6hours": "fin de 6 heures",
"8hours": "fin de 8 heures",
"12hours": "fin de 12 heures",
"weekEurope": "fin de la journée",
"weekUsa": "fin de dimanche",
"Bar settings": "Paramètres du bar",
"Fill color:": "La couleur de remplissage:",
"Show labels:": "Afficher les étiquettes:",
"top over": "dessus",
"top under": "haut sous",
"middle": "milieu",
"Bars width:": "Largeur des barres:",
"Label font size:": "Étiquette taille de la police:",
"Label color:": "Étiquette couleur:",
"Markings": "Marquages",
"Line ID": "Id de ligne",
"Fill": "Remplir",
"ØL": "ØL",
"ØS": "ØS",
"Text": "Texte",
"Text position": "Position du texte",
"Text offset": "Décalage de texte",
"Text size": "Taille du texte",
"Text color": "Couleur du texte",
"Add new markings": "Ajouter de nouvelles marques",
"Left": "La gauche",
"Right": "Droite",
"Upper value or ID": "Valeur supérieure ou ID",
"Lower value or ID": "Valeur inférieure ou ID",
"X-Axis ticks": "Tiques de l'axe des X",
"Y-Axis ticks": "Tiques de l'axe des Y",
"ignore null values": "ignorer les valeurs nulles",
"Ticks from:": "Utilisez les X-ticks de:",
"use 0 instead of null values": "utilise 0 au lieu de valeurs nulles",
"More": "plus",
"Edit options for line %s": "Modifier les options pour la ligne% s",
"Legend columns:": "Colonnes de légende:",
"Legend opacity (from 0 to 1):": "Opacité de la légende (de 0 à 1):",
"Legend background:": "Contexte de la légende",
"Fill(0to1)": "Remplir (0to1)",
"Points": "Points"
}
+324
View File
@@ -0,0 +1,324 @@
{
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"Ok": "Ok",
"role": "ruolo",
"Update objects": "Aggiorna oggetti",
"All": "Tutti",
"With": "Con",
"Without": "Senza",
"Update states": "Stati di aggiornamento",
"edit file": "modifica file",
"restart script": "riavviare lo script",
"Select": "Selezionare",
"Select ID": "Seleziona ID",
"add children": "aggiungi bambini",
"edit enum": "modifica enum",
"System settings": "Impostazioni di sistema",
"reload": "ricaricare",
"Delete object": "Elimina oggetto",
"no null": "& nbsp; non null",
"%s ago": "% s fa",
"Y-Offset": "Y-Offset",
"ID": "ID",
"Role": "Ruolo",
"Room": "Camera",
"Value": "Valore",
"none": "nessuna",
"Save into:": "Salva in:",
"Name:": "Nome:",
"save": "salvare",
"load": "caricare",
"Presets": "Presets",
"IDs": "ID",
"new": "nuovo",
"Enter chart name": "Inserisci il nome del grafico",
"save %s": "salva% s",
"Input data": "Dati in ingresso",
"Options": "Opzioni",
"Range:": "Gamma:",
"5 seconds": "5 secondi",
"10 seconds": "10 secondi",
"15 seconds": "15 secondi",
"20 seconds": "20 secondi",
"30 seconds": "30 secondi",
"1 minute": "1 minuto",
"2 minutes": "2 minuti",
"5 minutes": "5 minuti",
"10 minutes": "10 minuti",
"15 minutes": "15 minuti",
"20 minutes": "20 minuti",
"30 minutes": "30 minuti",
"1 hour": "1 ora",
"2 hours": "2 ore",
"3 hours": "3 ore",
"6 hours": "6 ore",
"12 hours": "12 ore",
"1 day": "1 giorno",
"2 days": "2 giorni",
"3 days": "3 giorni",
"7 days": "7 giorni",
"14 days": "14 giorni",
"1 month": "1 mese",
"2 months": "Due mesi",
"3 months": "3 mesi",
"6 months": "6 mesi",
"1 year": "1 anno",
"2 years": "2 anni",
"Width:": "Larghezza:",
"Height:": "Altezza:",
"line": "Linea",
"area": "La zona",
"bar": "Bar",
"lineplot": "Trama di linea",
"scatterplot": "Trama sparsa",
"steps": "passi",
"spline": "linguetta",
"Stack": "Pila",
"Window background:": "Sfondo della finestra:",
"Custom chart background:": "Sfondo grafico personalizzato:",
"Chart background:": "Sfondo del grafico:",
"X axis labels color:": "Colore etichette X:",
"Y axis labels color:": "Il colore delle etichette Y:",
"Show legend:": "Mostra legenda:",
"Title:": "Titolo:",
"Title position:": "Posizione del titolo:",
"Top, left, inside": "In alto, a sinistra, dentro",
"Top, right, inside": "In alto, a destra, dentro",
"Top, center, inside": "In alto, al centro, dentro",
"Middle, left, inside": "Medio, a sinistra, dentro",
"Middle, right, inside": "Medio, giusto, dentro",
"Bottom, left, inside": "In basso, a sinistra, dentro",
"Bottom, right, inside": "In basso, a destra, dentro",
"Bottom, center, inside": "In basso, al centro, dentro",
"Top, right, outside": "In alto, a destra, fuori",
"Middle, right, outside": "Medio, giusto, esterno",
"Bottom, right, outside": "In basso, a destra, fuori",
"Bottom, center, outside": "In basso, al centro, fuori",
"Min:": "Minimo:",
"Max:": "Massimo:",
"User defined names:": "Nomi definiti dall'utente:",
"Predefined background:": "Sfondo predefinito:",
"User defined": "Definito dall'utente",
"Background:": "Sfondo:",
"Hover details:": "Dettagli al passaggio del mouse:",
"Time format:": "Formato orario:",
"Default": "Predefinito",
"Smoothing": "lisciatura",
"After comma": "Dopo la virgola",
"Open": "Aperto",
"Update": "Aggiornare",
"Reset settings": "Ripristina le impostazioni",
"From": "A partire dal:",
"Last changed": "Ultima modifica",
"Time stamp": "Data e ora",
"Acknowledged": "Riconosciuto",
"Edit": "modificare",
"Members": "Utenti",
"Loading...": "Caricamento in corso...",
"Processing...": "In lavorazione...",
"With lines": "Con le linee",
"Without lines": "Senza linee",
"Inside / With lines": "Interno / Con linee",
"Outside/ With lines": "Esterno / Con linee",
"Inside / No lines": "Dentro / Nessuna linea",
"Outside / No lines": "Fuori / Nessuna linea",
"Interpolate:": "Interpolare:",
"Steps": "passi",
"Pie": "Torta",
"Top, left": "A sinistra in alto",
"Top, right": "In alto a destra",
"Bottom, left": "In basso a sinistra",
"Bottom, right": "In basso a destra",
"Title color:": "Colore del titolo:",
"Title size:": "Dimensione del titolo:",
"Fill range:": "Gamma di riempimento:",
"Units:": "unità:",
"yes": "sì",
"bottom": "parte inferiore",
"top": "superiore",
"left": "sinistra",
"right": "destra",
"No border:": "Nessun confine:",
"Time": "Tempo",
"day": "giorno",
"month": "mese",
"year": "anno",
"Individual": "Individuale",
"Aggregation:": "Genere:",
"relative": "parente",
"static": "statico",
"now": "adesso",
"today": "oggi",
"this month": "questo mese",
"this year": "quest'anno",
"Start:": "Inizio:",
"End:": "Fine:",
"Aggregate": "Aggregato",
"Step type:": "Tipo di passaggio:",
"seconds": "secondi",
"Seconds": "secondi",
"Step span:": "Intervallo:",
"Link": "collegamento",
"Counts": "Conti",
"ignore 'null'": "ignora 'null'",
"Time Span": "Arco di tempo",
"Appearance": "Aspetto",
"Title": "Titolo",
"Offset": "X-Offset",
"Aggregation": "genere",
"Chart Type": "Tipo di grafico",
"Color": "Colore",
"Min": "min",
"Max": "Max",
"Unit": "Unità",
"Y Axis": "Asse Y.",
"X Axis": "Asse X.",
"update Preview": "Aggiorna anteprima",
"Cancel": "Annulla",
"Name": "Nome",
"Live update every:": "Aggiornamento live ogni:",
"counts": "conta",
"Add new line": "Aggiungi una nuova linea",
"Animation:": "Animazione:",
"no": "no",
"0s": "0 secondi",
"300ms": "300ms",
"500ms": "500ms",
"1s": "1 secondo",
"2s": "2 secondi",
"3s": "3 secondi",
"5s": "5 secondi",
"10s": "10 secondi",
"30s": "30 secondi",
"60s": "60 secondi",
"2m": "2 minuti",
"3m": "3 minuti",
"4m": "4 minuti",
"5m": "5 minuti",
"10m": "10 minuti",
"15m": "15 minuti",
"30m": "30 minuti",
"45m": "45 minuti",
"1H": "1 ora",
"2H": "2 ore",
"6H": "6 ore",
"12H": "12 ore",
"1D": "1 giorno",
"2D": "2 giorni",
"3D": "3 giorni",
"4D": "4 giorni",
"1W": "1 settimana",
"2W": "2 settimane",
"4W": "4 settimane",
"8W": "8 settimane",
"12W": "12 settimane",
"26W": "26 settimane",
"1M": "1 mese",
"2M": "Due mesi",
"3M": "3 mesi",
"6M": "6 mesi",
"1Y": "1 anno",
"2Y": "2 anni",
"average": "media",
"max": "max",
"min": "min",
"total": "totale",
"off": "via",
"leftColor": "lasciato colorato",
"rightColor": "giusto colorato",
"topColor": "top colorato",
"bottomColor": "fondo colorato",
"default": "predefinito",
"Auto-update:": "Aggiornamento automatico:",
"Use comma:": "Usa la virgola:",
"Common Y Axis": "Asse Y comune",
"Instance": "Esempio",
"Line Width": "Larghezza della linea",
"Shadow Size": "Dimensione dell'ombra",
"ignore 'null':": "ignora 'null':",
"onchange": "sul cambiamento",
"Border color:": "Colore del bordo:",
"Grid color:": "Colore griglia:",
"Border width:": "Larghezza del bordo:",
"Enable zoom and pan:": "Abilita zoom e panoramica:",
"Arrange bools": "Disporre i booleani",
"NULL as": "NULL come",
"MinMax": "Minimo Massimo",
"null": "nullo",
"true": "ultimo valore",
"last value": "ultimo valore",
"Hide edit button:": "Nascondi pulsante di modifica:",
"minmax": "minimo Massimo",
"&#216L": "& # 216L",
"&#216S": "& # 216S",
"Line": "Linea",
"false": "nullo",
"end of minute": "fine del minuto",
"end of 5 minutes": "fine di 5 minuti",
"end of 10 minutes": "fine di 10 minuti",
"end of 30 minutes": "fine di 30 minuti",
"end of hour": "fine dell'ora",
"end of 2 hours": "fine di 2 ore",
"end of 3 hours": "fine di 3 ore",
"end of 4 hours": "fine di 4 ore",
"end of 6 hours": "fine di 6 ore",
"end of 8 hours": "fine di 8 ore",
"end of 12 hours": "fine di 12 ore",
"end of day": "fine del giorno",
"end of sunday": "fine della domenica",
"end of saturday": "fine di sabato",
"1minute": "fine del minuto",
"5minutes": "fine di 5 minuti",
"10minutes": "fine di 10 minuti",
"30minutes": "fine di 30 minuti",
"1hour": "fine dell'ora",
"2hours": "fine di 2 ore",
"3hours": "fine di 3 ore",
"4hours": "fine di 4 ore",
"6hours": "fine di 6 ore",
"8hours": "fine di 8 ore",
"12hours": "fine di 12 ore",
"weekEurope": "fine del giorno",
"weekUsa": "fine della domenica",
"Bar settings": "Impostazioni della barra",
"Fill color:": "Colore di riempimento:",
"Show labels:": "Mostra etichette:",
"top over": "sopra",
"top under": "sopra sotto",
"middle": "mezzo",
"Bars width:": "Larghezza delle barre:",
"Label font size:": "Dimensione del carattere dell'etichetta:",
"Label color:": "Colore dell'etichetta:",
"Markings": "marcature",
"Line ID": "ID linea",
"Fill": "Riempire",
"ØL": "ØL",
"ØS": "ØS",
"Text": "Testo",
"Text position": "Posizione del testo",
"Text offset": "Offset del testo",
"Text size": "Dimensione del testo",
"Text color": "Colore del testo",
"Add new markings": "Aggiungi nuovi segni",
"Left": "Sinistra",
"Right": "Destra",
"Upper value or ID": "Valore massimo o ID",
"Lower value or ID": "Valore più basso o ID",
"X-Axis ticks": "Zecche X-Axis",
"Y-Axis ticks": "Zecche dell'asse Y.",
"ignore null values": "ignora valori nulli",
"Ticks from:": "Usa X-tick da:",
"use 0 instead of null values": "usa 0 invece di valori nulli",
"More": "Di Più",
"Edit options for line %s": "Modifica le opzioni per la riga% s",
"Legend columns:": "Colonne della legenda:",
"Legend opacity (from 0 to 1):": "Opacità della legenda (da 0 a 1):",
"Legend background:": "Sfondo leggenda:",
"Fill(0to1)": "Fill (0to1)",
"Points": "Punti"
}
+324
View File
@@ -0,0 +1,324 @@
{
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"Ok": "OK",
"role": "rol",
"Update objects": "Objecten bijwerken",
"All": "Alle",
"With": "Met",
"Without": "Zonder",
"Update states": "Status bijwerken",
"edit file": "bestand bewerken",
"restart script": "herstart script",
"Select": "kiezen",
"Select ID": "Selecteer ID",
"add children": "voeg kinderen toe",
"edit enum": "edit enum",
"System settings": "Systeem instellingen",
"reload": "herladen",
"Delete object": "Object verwijderen",
"no null": "& nbsp; geen null",
"%s ago": "% s geleden",
"Y-Offset": "Y-offset",
"ID": "ID kaart",
"Role": "Rol",
"Room": "Kamer",
"Value": "Waarde",
"none": "geen",
"Save into:": "Bewaar in:",
"Name:": "Naam:",
"save": "opslaan",
"load": "laden",
"Presets": "presets",
"IDs": "IDs",
"new": "nieuwe",
"Enter chart name": "Voer de diagramnaam in",
"save %s": "bespaar% s",
"Input data": "Invoergegevens",
"Options": "opties",
"Range:": "bereik:",
"5 seconds": "5 seconden",
"10 seconds": "10 seconden",
"15 seconds": "15 seconden",
"20 seconds": "20 seconden",
"30 seconds": "30 seconden",
"1 minute": "1 minuut",
"2 minutes": "2 minuten",
"5 minutes": "5 minuten",
"10 minutes": "10 minuten",
"15 minutes": "15 minuten",
"20 minutes": "20 minuten",
"30 minutes": "30 minuten",
"1 hour": "1 uur",
"2 hours": "twee uur",
"3 hours": "3 uur",
"6 hours": "6 uur",
"12 hours": "12 uren",
"1 day": "1 dag",
"2 days": "2 dagen",
"3 days": "3 dagen",
"7 days": "7 dagen",
"14 days": "14 dagen",
"1 month": "1 maand",
"2 months": "2 maanden",
"3 months": "3 maanden",
"6 months": "6 maanden",
"1 year": "1 jaar",
"2 years": "2 jaar",
"Width:": "Breedte:",
"Height:": "Hoogte:",
"line": "Lijn",
"area": "Gebied",
"bar": "Bar",
"lineplot": "Lijnplot",
"scatterplot": "Scatterplot",
"steps": "Stappen",
"spline": "spline",
"Stack": "stack",
"Window background:": "Venster achtergrond:",
"Custom chart background:": "Aangepaste grafiek achtergrond:",
"Chart background:": "Grafiek achtergrond:",
"X axis labels color:": "X labels kleur:",
"Y axis labels color:": "Y-labels kleur:",
"Show legend:": "Legenda weergeven:",
"Title:": "Titel:",
"Title position:": "Titel positie:",
"Top, left, inside": "Boven, links, binnen",
"Top, right, inside": "Boven, rechts, binnen",
"Top, center, inside": "Boven, midden, binnenkant",
"Middle, left, inside": "Midden, links, binnenkant",
"Middle, right, inside": "Midden, rechts, binnenkant",
"Bottom, left, inside": "Onder, links, binnen",
"Bottom, right, inside": "Onder, rechts, binnen",
"Bottom, center, inside": "Onder, midden, binnen",
"Top, right, outside": "Boven, rechts, buiten",
"Middle, right, outside": "Midden, rechts, buiten",
"Bottom, right, outside": "Onder, rechts, buiten",
"Bottom, center, outside": "Onder, midden, buiten",
"Min:": "Minimum:",
"Max:": "maximaal:",
"User defined names:": "Door de gebruiker gedefinieerde namen:",
"Predefined background:": "Voorgedefinieerde achtergrond:",
"User defined": "Gebruiker gedefinieerde",
"Background:": "Achtergrond:",
"Hover details:": "Hover details:",
"Time format:": "Tijd formaat:",
"Default": "Standaard",
"Smoothing": "smoothing",
"After comma": "Na een komma",
"Open": "Open",
"Update": "Bijwerken",
"Reset settings": "Reset instellingen",
"From": "Van:",
"Last changed": "Laatst gewijzigd",
"Time stamp": "Tijdstempel",
"Acknowledged": "Erkend",
"Edit": "Bewerk",
"Members": "leden",
"Loading...": "Bezig met laden...",
"Processing...": "Verwerken...",
"With lines": "Met lijnen",
"Without lines": "Zonder lijnen",
"Inside / With lines": "Binnen / met lijnen",
"Outside/ With lines": "Buiten / met lijnen",
"Inside / No lines": "Binnenkant / Geen regels",
"Outside / No lines": "Buiten / Geen lijnen",
"Interpolate:": "Interpoleren:",
"Steps": "Stappen",
"Pie": "Taart",
"Top, left": "Linksboven",
"Top, right": "Rechtsboven",
"Bottom, left": "Linksonder",
"Bottom, right": "Rechts onder",
"Title color:": "Titel kleur:",
"Title size:": "Titel grootte:",
"Fill range:": "Vulbereik:",
"Units:": "units:",
"yes": "Ja",
"bottom": "bodem",
"top": "top",
"left": "links",
"right": "rechts",
"No border:": "Geen grens:",
"Time": "Tijd",
"day": "dag",
"month": "maand",
"year": "jaar",
"Individual": "individu",
"Aggregation:": "Type:",
"relative": "familielid",
"static": "statisch",
"now": "nu",
"today": "vandaag",
"this month": "deze maand",
"this year": "dit jaar",
"Start:": "Begin:",
"End:": "Einde:",
"Aggregate": "Aggregaat",
"Step type:": "Stap type:",
"seconds": "seconden",
"Seconds": "seconden",
"Step span:": "Stap overspanning:",
"Link": "Link",
"Counts": "tellingen",
"ignore 'null'": "negeer 'null'",
"Time Span": "Tijdspanne",
"Appearance": "Uiterlijk",
"Title": "Titel",
"Offset": "-X Offset",
"Aggregation": "Type",
"Chart Type": "Diagramtype",
"Color": "Kleur",
"Min": "min",
"Max": "Max",
"Unit": "Eenheid",
"Y Axis": "Y-as",
"X Axis": "X-as",
"update Preview": "voorproefje van de nieuwe versie",
"Cancel": "Annuleer",
"Name": "Naam",
"Live update every:": "Live update elke:",
"counts": "tellingen",
"Add new line": "Voeg een nieuwe regel toe",
"Animation:": "animatie:",
"no": "Nee",
"0s": "0 seconden",
"300ms": "300ms",
"500ms": "500ms",
"1s": "1 seconde",
"2s": "2 seconden",
"3s": "3 seconden",
"5s": "5 seconden",
"10s": "10 seconden",
"30s": "30 seconden",
"60s": "60 seconden",
"2m": "2 minuten",
"3m": "3 minuten",
"4m": "4 minuten",
"5m": "5 minuten",
"10m": "10 minuten",
"15m": "15 minuten",
"30m": "30 minuten",
"45m": "45 minuten",
"1H": "1 uur",
"2H": "twee uur",
"6H": "6 uur",
"12H": "12 uren",
"1D": "1 dag",
"2D": "2 dagen",
"3D": "3 dagen",
"4D": "4 dagen",
"1W": "1 week",
"2W": "2 weken",
"4W": "4 weken",
"8W": "8 weken",
"12W": "12 weken",
"26W": "26 weken",
"1M": "1 maand",
"2M": "2 maanden",
"3M": "3 maanden",
"6M": "6 maanden",
"1Y": "1 jaar",
"2Y": "2 jaar",
"average": "gemiddelde",
"max": "max",
"min": "min",
"total": "totaal",
"off": "uit",
"leftColor": "links gekleurd",
"rightColor": "rechts gekleurd",
"topColor": "bovenaan gekleurd",
"bottomColor": "onderaan gekleurd",
"default": "standaard",
"Auto-update:": "Auto update:",
"Use comma:": "Gebruik komma:",
"Common Y Axis": "Gemeenschappelijke Y-as",
"Instance": "Aanleg",
"Line Width": "Lijnbreedte",
"Shadow Size": "Schaduwgrootte",
"ignore 'null':": "negeer 'null':",
"onchange": "over verandering",
"Border color:": "Rand kleur:",
"Grid color:": "Raster kleur:",
"Border width:": "Grensbreedte:",
"Enable zoom and pan:": "Zoom en pan inschakelen:",
"Arrange bools": "Booleans regelen",
"NULL as": "NULL als",
"MinMax": "MinMax",
"null": "nul",
"true": "laatste waarde",
"last value": "laatste waarde",
"Hide edit button:": "Verberg bewerken knop:",
"minmax": "MinMax",
"&#216L": "& # 216L",
"&#216S": "& # 216S",
"Line": "Lijn",
"false": "nul",
"end of minute": "einde van de minuut",
"end of 5 minutes": "einde van 5 minuten",
"end of 10 minutes": "einde van 10 minuten",
"end of 30 minutes": "einde van 30 minuten",
"end of hour": "einde van het uur",
"end of 2 hours": "einde van 2 uur",
"end of 3 hours": "einde van 3 uur",
"end of 4 hours": "einde van 4 uur",
"end of 6 hours": "einde van 6 uur",
"end of 8 hours": "einde van 8 uur",
"end of 12 hours": "einde van 12 uur",
"end of day": "einde van de dag",
"end of sunday": "einde van zondag",
"end of saturday": "einde van zaterdag",
"1minute": "einde van de minuut",
"5minutes": "einde van 5 minuten",
"10minutes": "einde van 10 minuten",
"30minutes": "einde van 30 minuten",
"1hour": "einde van het uur",
"2hours": "einde van 2 uur",
"3hours": "einde van 3 uur",
"4hours": "einde van 4 uur",
"6hours": "einde van 6 uur",
"8hours": "einde van 8 uur",
"12hours": "einde van 12 uur",
"weekEurope": "einde van de dag",
"weekUsa": "einde van zondag",
"Bar settings": "Bar-instellingen",
"Fill color:": "Opvulkleur:",
"Show labels:": "Toon labels:",
"top over": "opnieuw gedaan",
"top under": "top onder",
"middle": "midden-",
"Bars width:": "Staaf breedte:",
"Label font size:": "Label lettergrootte:",
"Label color:": "Label kleur:",
"Markings": "markeringen",
"Line ID": "Lijn-ID",
"Fill": "Vullen",
"ØL": "ØL",
"ØS": "Os",
"Text": "Tekst",
"Text position": "Tekstpositie",
"Text offset": "Tekst offset",
"Text size": "Lettergrootte",
"Text color": "Tekst kleur",
"Add new markings": "Voeg nieuwe markeringen toe",
"Left": "Links",
"Right": "Rechts",
"Upper value or ID": "Hoogste waarde of ID",
"Lower value or ID": "Lagere waarde of ID",
"X-Axis ticks": "X-as-teken",
"Y-Axis ticks": "Y-as tikken",
"ignore null values": "Negeer waarden negeren",
"Ticks from:": "Gebruik X-ticks van:",
"use 0 instead of null values": "gebruik 0 in plaats van nulwaarden",
"More": "meer",
"Edit options for line %s": "Bewerk opties voor regel% s",
"Legend columns:": "Legenda kolommen:",
"Legend opacity (from 0 to 1):": "Legenda opaciteit (van 0 tot 1):",
"Legend background:": "Legenda achtergrond:",
"Fill(0to1)": "Fill (0to1)",
"Points": "punten"
}
+324
View File
@@ -0,0 +1,324 @@
{
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"Ok": "Ok",
"role": "rola",
"Update objects": "Zaktualizuj obiekty",
"All": "Wszystko",
"With": "Z",
"Without": "Bez",
"Update states": "Zaktualizuj stany",
"edit file": "edytuj plik",
"restart script": "zrestartuj skrypt",
"Select": "Wybierz",
"Select ID": "Wybierz ID",
"add children": "dodaj dzieci",
"edit enum": "edytuj wyliczenie",
"System settings": "Ustawienia systemowe",
"reload": "przeładować",
"Delete object": "Usuń obiekt",
"no null": "& nbsp; no null",
"%s ago": "% s temu",
"Y-Offset": "Przesunięcie Y",
"ID": "ID",
"Role": "Rola",
"Room": "Pokój",
"Value": "Wartość",
"none": "Żaden",
"Save into:": "Zapisz w:",
"Name:": "Nazwa:",
"save": "zapisać",
"load": "obciążenie",
"Presets": "Presets",
"IDs": "ID",
"new": "Nowy",
"Enter chart name": "Wprowadź nazwę wykresu",
"save %s": "zapisz% s",
"Input data": "Dane wejściowe",
"Options": "Opcje",
"Range:": "Zasięg:",
"5 seconds": "5 sekund",
"10 seconds": "10 sekund",
"15 seconds": "15 sekund",
"20 seconds": "20 sekund",
"30 seconds": "30 sekund",
"1 minute": "1 minuta",
"2 minutes": "2 minuty",
"5 minutes": "5 minut",
"10 minutes": "10 minut",
"15 minutes": "15 minut",
"20 minutes": "20 minut",
"30 minutes": "30 minut",
"1 hour": "1 godzina",
"2 hours": "2 godziny",
"3 hours": "3 godziny",
"6 hours": "6 godzin",
"12 hours": "12 godzin",
"1 day": "1 dzień",
"2 days": "2 dni",
"3 days": "3 dni",
"7 days": "7 dni",
"14 days": "14 dni",
"1 month": "1 miesiąc",
"2 months": "2 miesiące",
"3 months": "3 miesiące",
"6 months": "6 miesięcy",
"1 year": "1 rok",
"2 years": "2 lata",
"Width:": "Szerokość:",
"Height:": "Wysokość:",
"line": "Linia",
"area": "Powierzchnia",
"bar": "Bar",
"lineplot": "Fabuła linii",
"scatterplot": "Wykres punktowy",
"steps": "Kroki",
"spline": "Klin",
"Stack": "Stos",
"Window background:": "Tło okna:",
"Custom chart background:": "Niestandardowe tło wykresu:",
"Chart background:": "Tło wykresu:",
"X axis labels color:": "Kolor etykiet X:",
"Y axis labels color:": "Kolor etykiet Y:",
"Show legend:": "Pokaż legendę:",
"Title:": "Tytuł:",
"Title position:": "Pozycja tytułu:",
"Top, left, inside": "Góra, lewa, wewnątrz",
"Top, right, inside": "Góra, prawo, wewnątrz",
"Top, center, inside": "Góra, środek, wnętrze",
"Middle, left, inside": "Środkowy, lewy, w środku",
"Middle, right, inside": "Środkowy, prawy, wewnątrz",
"Bottom, left, inside": "Dół, lewo, wnętrze",
"Bottom, right, inside": "Dół, prawo, wewnątrz",
"Bottom, center, inside": "Dół, środek, wnętrze",
"Top, right, outside": "Góra, prawo, na zewnątrz",
"Middle, right, outside": "Środkowy, prawy, na zewnątrz",
"Bottom, right, outside": "Dół, prawo, na zewnątrz",
"Bottom, center, outside": "Dół, środek, na zewnątrz",
"Min:": "Minimum:",
"Max:": "Maksymalny:",
"User defined names:": "Nazwy zdefiniowane przez użytkownika:",
"Predefined background:": "Wstępnie zdefiniowane tło:",
"User defined": "Określony przez użytkownika",
"Background:": "Tło:",
"Hover details:": "Po najechaniu szczegóły:",
"Time format:": "Format czasu:",
"Default": "Domyślna",
"Smoothing": "Wygładzanie",
"After comma": "Po przecinku",
"Open": "otwarty",
"Update": "Aktualizacja",
"Reset settings": "Resetowanie ustawień",
"From": "Od:",
"Last changed": "Ostatnia zmiana",
"Time stamp": "Znak czasu",
"Acknowledged": "Przyznane",
"Edit": "Edytować",
"Members": "Członkowie",
"Loading...": "Ładuję...",
"Processing...": "Przetwarzanie...",
"With lines": "Z liniami",
"Without lines": "Bez linii",
"Inside / With lines": "Wewnątrz / Z liniami",
"Outside/ With lines": "Na zewnątrz / Z liniami",
"Inside / No lines": "Wewnątrz / Bez linii",
"Outside / No lines": "Poza / Bez linii",
"Interpolate:": "Interpolować:",
"Steps": "Kroki",
"Pie": "Ciasto",
"Top, left": "Lewy górny",
"Top, right": "W prawym górnym rogu",
"Bottom, left": "Na dole po lewej",
"Bottom, right": "Prawy dolny",
"Title color:": "Kolor tytułu:",
"Title size:": "Rozmiar tytułu:",
"Fill range:": "Zakres wypełnienia:",
"Units:": "Jednostki:",
"yes": "tak",
"bottom": "Dolny",
"top": "Top",
"left": "lewo",
"right": "dobrze",
"No border:": "Bez granic:",
"Time": "Czas",
"day": "dzień",
"month": "miesiąc",
"year": "rok",
"Individual": "Indywidualny",
"Aggregation:": "Rodzaj:",
"relative": "krewny",
"static": "statyczny",
"now": "teraz",
"today": "dzisiaj",
"this month": "ten miesiąc",
"this year": "W tym roku",
"Start:": "Początek:",
"End:": "Koniec:",
"Aggregate": "Agregat",
"Step type:": "Rodzaj kroku:",
"seconds": "sekundy",
"Seconds": "sekundy",
"Step span:": "Zakres kroku:",
"Link": "Połączyć",
"Counts": "Liczy",
"ignore 'null'": "zignoruj ​​\"zero\"",
"Time Span": "Okres czasu",
"Appearance": "Wygląd",
"Title": "Tytuł",
"Offset": "X-Offset",
"Aggregation": "Rodzaj",
"Chart Type": "Typ wykresu",
"Color": "Kolor",
"Min": "Min",
"Max": "Max",
"Unit": "Jednostka",
"Y Axis": "Oś Y.",
"X Axis": "Oś X.",
"update Preview": "aktualizuj podgląd",
"Cancel": "Anuluj",
"Name": "Nazwa",
"Live update every:": "Aktualizacja na żywo co:",
"counts": "liczy",
"Add new line": "Dodaj nową linię",
"Animation:": "Animacja:",
"no": "Nie",
"0s": "0 sekund",
"300ms": "300ms",
"500ms": "500 ms",
"1s": "1 sekunda",
"2s": "2 sekundy",
"3s": "3 sekundy",
"5s": "5 sekund",
"10s": "10 sekund",
"30s": "30 sekund",
"60s": "60 sekund",
"2m": "2 minuty",
"3m": "3 minuty",
"4m": "4 minuty",
"5m": "5 minut",
"10m": "10 minut",
"15m": "15 minut",
"30m": "30 minut",
"45m": "45 minut",
"1H": "1 godzina",
"2H": "2 godziny",
"6H": "6 godzin",
"12H": "12 godzin",
"1D": "1 dzień",
"2D": "2 dni",
"3D": "3 dni",
"4D": "4 dni",
"1W": "1 tydzień",
"2W": "2 tygodnie",
"4W": "4 tygodnie",
"8W": "8 tygodni",
"12W": "12 tygodni",
"26W": "26 tygodni",
"1M": "1 miesiąc",
"2M": "2 miesiące",
"3M": "3 miesiące",
"6M": "6 miesięcy",
"1Y": "1 rok",
"2Y": "2 lata",
"average": "średni",
"max": "maks",
"min": "min",
"total": "całkowity",
"off": "poza",
"leftColor": "pozostawione w kolorze",
"rightColor": "prawe kolorowe",
"topColor": "górne kolorowe",
"bottomColor": "u dołu w kolorze",
"default": "domyślna",
"Auto-update:": "Automatyczna aktualizacja:",
"Use comma:": "Użyj przecinka:",
"Common Y Axis": "Wspólna oś Y.",
"Instance": "Instancja",
"Line Width": "Szerokość linii",
"Shadow Size": "Rozmiar cienia",
"ignore 'null':": "zignoruj ​​\"null\":",
"onchange": "o zmianie",
"Border color:": "Kolor ramki:",
"Grid color:": "Kolor siatki:",
"Border width:": "Szerokość granicy:",
"Enable zoom and pan:": "Włącz powiększanie i panoramowanie:",
"Arrange bools": "Rozmieść booleans",
"NULL as": "NULL as",
"MinMax": "Minimum maksimum",
"null": "zero",
"true": "ostatnia wartość",
"last value": "ostatnia wartość",
"Hide edit button:": "Ukryj przycisk edycji:",
"minmax": "minimum maksimum",
"&#216L": "& # 216L",
"&#216S": "& # 216S",
"Line": "Linia",
"false": "zero",
"end of minute": "koniec minuty",
"end of 5 minutes": "koniec 5 minut",
"end of 10 minutes": "koniec 10 minut",
"end of 30 minutes": "koniec 30 minut",
"end of hour": "koniec godziny",
"end of 2 hours": "koniec 2 godzin",
"end of 3 hours": "koniec 3 godzin",
"end of 4 hours": "koniec 4 godzin",
"end of 6 hours": "koniec 6 godzin",
"end of 8 hours": "koniec 8 godzin",
"end of 12 hours": "koniec 12 godzin",
"end of day": "koniec dnia",
"end of sunday": "koniec niedzieli",
"end of saturday": "koniec soboty",
"1minute": "koniec minuty",
"5minutes": "koniec 5 minut",
"10minutes": "koniec 10 minut",
"30minutes": "koniec 30 minut",
"1hour": "koniec godziny",
"2hours": "koniec 2 godzin",
"3hours": "koniec 3 godzin",
"4hours": "koniec 4 godzin",
"6hours": "koniec 6 godzin",
"8hours": "koniec 8 godzin",
"12hours": "koniec 12 godzin",
"weekEurope": "koniec dnia",
"weekUsa": "koniec niedzieli",
"Bar settings": "Ustawienia paska",
"Fill color:": "Kolor wypełnienia:",
"Show labels:": "Pokaż etykiety:",
"top over": "do góry",
"top under": "górny pod",
"middle": "środkowy",
"Bars width:": "Szerokość prętów:",
"Label font size:": "Rozmiar czcionki etykiety:",
"Label color:": "Kolor etykiety:",
"Markings": "Znakowania",
"Line ID": "Identyfikator linii",
"Fill": "Napełnić",
"ØL": "ØL",
"ØS": "ØS",
"Text": "Tekst",
"Text position": "Pozycja tekstu",
"Text offset": "Przesunięcie tekstu",
"Text size": "Rozmiar czcionki",
"Text color": "Kolor tekstu",
"Add new markings": "Dodaj nowe oznaczenia",
"Left": "Lewo",
"Right": "Dobrze",
"Upper value or ID": "Górna wartość lub ID",
"Lower value or ID": "Niższa wartość lub ID",
"X-Axis ticks": "Tiki X-Axis",
"Y-Axis ticks": "Tyksy Y-Axis",
"ignore null values": "ignoruj ​​wartości puste",
"Ticks from:": "Użyj tyknięć X z:",
"use 0 instead of null values": "użyj 0 zamiast wartości zerowych",
"More": "jeszcze",
"Edit options for line %s": "Edytuj opcje linii% s",
"Legend columns:": "Kolumny legendy:",
"Legend opacity (from 0 to 1):": "Krycie Legendy (od 0 do 1):",
"Legend background:": "Tło legendy:",
"Fill(0to1)": "Wypełnij (0to1)",
"Points": "Zwrotnica"
}
+324
View File
@@ -0,0 +1,324 @@
{
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"Ok": "Está bem",
"role": "Função",
"Update objects": "Atualizar objetos",
"All": "Todos",
"With": "Com",
"Without": "Sem",
"Update states": "Estado de atualização",
"edit file": "editar arquivo",
"restart script": "reiniciar o script",
"Select": "Selecione",
"Select ID": "Selecione ID",
"add children": "adicionar filhos",
"edit enum": "editar enum",
"System settings": "Configurações de sistema",
"reload": "recarregar",
"Delete object": "Eliminar objeto",
"no null": "& nbsp; nulo",
"%s ago": "% s atrás",
"Y-Offset": "Y-Offset",
"ID": "identidade",
"Role": "Função",
"Room": "Quarto",
"Value": "Valor",
"none": "Nenhum",
"Save into:": "Salvar em:",
"Name:": "Nome:",
"save": "Salve ",
"load": "carga",
"Presets": "Presets",
"IDs": "IDs",
"new": "Novo",
"Enter chart name": "Digite o nome do gráfico",
"save %s": "salvar% s",
"Input data": "Dados de entrada",
"Options": "Opções",
"Range:": "Alcance:",
"5 seconds": "5 segundos",
"10 seconds": "10 segundos",
"15 seconds": "15 segundos",
"20 seconds": "20 segundos",
"30 seconds": "30 segundos",
"1 minute": "1 minuto",
"2 minutes": "2 minutos",
"5 minutes": "5 minutos",
"10 minutes": "10 minutos",
"15 minutes": "15 minutos",
"20 minutes": "20 minutos",
"30 minutes": "30 minutos",
"1 hour": "1 hora",
"2 hours": "2 horas",
"3 hours": "3 horas",
"6 hours": "6 horas",
"12 hours": "12 horas",
"1 day": "1 dia",
"2 days": "2 dias",
"3 days": "3 dias",
"7 days": "7 dias",
"14 days": "14 dias",
"1 month": "1 mês",
"2 months": "2 meses",
"3 months": "3 meses",
"6 months": "6 meses",
"1 year": "1 ano",
"2 years": "2 anos",
"Width:": "Largura:",
"Height:": "Altura:",
"line": "Linha",
"area": "Área",
"bar": "Barra",
"lineplot": "Trama de linha",
"scatterplot": "Parcela de dispersão",
"steps": "Passos",
"spline": "Spline",
"Stack": "Pilha",
"Window background:": "Fundo da janela:",
"Custom chart background:": "Fundo de gráfico personalizado:",
"Chart background:": "Contexto do gráfico:",
"X axis labels color:": "Cor de etiquetas X:",
"Y axis labels color:": "Etiquetas de etiquetas Y:",
"Show legend:": "Mostrar lenda:",
"Title:": "Título:",
"Title position:": "Posição do título:",
"Top, left, inside": "Topo, esquerda, dentro",
"Top, right, inside": "Topo, direito, dentro",
"Top, center, inside": "Topo, centro, dentro",
"Middle, left, inside": "Médio, esquerda, dentro",
"Middle, right, inside": "Médio, direito, dentro",
"Bottom, left, inside": "Parte inferior, esquerda, dentro",
"Bottom, right, inside": "Parte inferior, direita, dentro",
"Bottom, center, inside": "No fundo, no centro, no interior",
"Top, right, outside": "Topo, direito, fora",
"Middle, right, outside": "Médio, direito, fora",
"Bottom, right, outside": "Parte inferior, direita, fora",
"Bottom, center, outside": "Fundo, centro, fora",
"Min:": "Mínimo:",
"Max:": "Máximo:",
"User defined names:": "Nomes definidos pelo usuário:",
"Predefined background:": "Antecedentes predefinidos:",
"User defined": "Usuário definido",
"Background:": "Fundo:",
"Hover details:": "Detalhes do mouse:",
"Time format:": "Formato do tempo:",
"Default": "Padrão",
"Smoothing": "Suavização",
"After comma": "Após a vírgula",
"Open": "Aberto",
"Update": "Atualizar",
"Reset settings": "Redefinir configurações",
"From": "A partir de:",
"Last changed": "Última modificação",
"Time stamp": "Marca de horário",
"Acknowledged": "Reconhecido",
"Edit": "Editar",
"Members": "Membros",
"Loading...": "Carregando...",
"Processing...": "Em processamento...",
"With lines": "Com linhas",
"Without lines": "Sem linhas",
"Inside / With lines": "Dentro / Com linhas",
"Outside/ With lines": "Fora / Com linhas",
"Inside / No lines": "Dentro / Sem linhas",
"Outside / No lines": "Fora / Sem linhas",
"Interpolate:": "Interpolar:",
"Steps": "Passos",
"Pie": "Torta",
"Top, left": "Superior esquerdo",
"Top, right": "Canto superior direito",
"Bottom, left": "Inferior esquerdo",
"Bottom, right": "Canto inferior direito",
"Title color:": "Cor do título:",
"Title size:": "Tamanho do título:",
"Fill range:": "Faixa de preenchimento:",
"Units:": "Unidades:",
"yes": "sim",
"bottom": "inferior",
"top": "topo",
"left": "esquerda",
"right": "certo",
"No border:": "Sem borda:",
"Time": "Tempo",
"day": "dia",
"month": "mês",
"year": "ano",
"Individual": "Individual",
"Aggregation:": "Tipo:",
"relative": "relativo",
"static": "estático",
"now": "agora",
"today": "hoje",
"this month": "este mês",
"this year": "este ano",
"Start:": "Começar:",
"End:": "Fim:",
"Aggregate": "Agregar",
"Step type:": "Tipo de etapa:",
"seconds": "segundos",
"Seconds": "Segundos",
"Step span:": "Passo:",
"Link": "Ligação",
"Counts": "Contagens",
"ignore 'null'": "ignore 'null'",
"Time Span": "Intervalo de tempo",
"Appearance": "Aparência",
"Title": "Título",
"Offset": "X-Offset",
"Aggregation": "Tipo",
"Chart Type": "Tipo de gráfico",
"Color": "Cor",
"Min": "Min",
"Max": "Max",
"Unit": "Unidade",
"Y Axis": "Eixo Y",
"X Axis": "X Axis",
"update Preview": "atualização Visualização",
"Cancel": "Cancelar",
"Name": "Nome",
"Live update every:": "Atualização ao vivo a cada:",
"counts": "contagens",
"Add new line": "Adicionar nova linha",
"Animation:": "Animação:",
"no": "não",
"0s": "0 segundos",
"300ms": "300ms",
"500ms": "500ms",
"1s": "1 segundo",
"2s": "2 segundos",
"3s": "3 segundos",
"5s": "5 segundos",
"10s": "10 segundos",
"30s": "30 segundos",
"60s": "60 segundos",
"2m": "2 minutos",
"3m": "3 minutos",
"4m": "4 minutos",
"5m": "5 minutos",
"10m": "10 minutos",
"15m": "15 minutos",
"30m": "30 minutos",
"45m": "45 minutos",
"1H": "1 hora",
"2H": "2 horas",
"6H": "6 horas",
"12H": "12 horas",
"1D": "1 dia",
"2D": "2 dias",
"3D": "3 dias",
"4D": "4 dias",
"1W": "1 semana",
"2W": "2 semanas",
"4W": "4 semanas",
"8W": "8 semanas",
"12W": "12 semanas",
"26W": "26 semanas",
"1M": "1 mês",
"2M": "2 meses",
"3M": "3 meses",
"6M": "6 meses",
"1Y": "1 ano",
"2Y": "2 anos",
"average": "média",
"max": "máximo",
"min": "min",
"total": "total",
"off": "fora",
"leftColor": "colorido esquerdo",
"rightColor": "cor clara",
"topColor": "colorido superior",
"bottomColor": "colorido inferior",
"default": "padrão",
"Auto-update:": "Atualização automática:",
"Use comma:": "Usar vírgula:",
"Common Y Axis": "Eixo Y comum",
"Instance": "Instância",
"Line Width": "Espessura da linha",
"Shadow Size": "Tamanho da sombra",
"ignore 'null':": "ignore 'null':",
"onchange": "em mudança",
"Border color:": "Cor da borda:",
"Grid color:": "Cor da grade:",
"Border width:": "Largura da borda:",
"Enable zoom and pan:": "Ative o zoom e pan:",
"Arrange bools": "Organizar booleanos",
"NULL as": "NULL como",
"MinMax": "Mínimo máximo",
"null": "nulo",
"true": "último valor",
"last value": "último valor",
"Hide edit button:": "Ocultar botão de edição:",
"minmax": "mínimo máximo",
"&#216L": "& # 216L",
"&#216S": "& # 216S",
"Line": "Linha",
"false": "nulo",
"end of minute": "fim de minuto",
"end of 5 minutes": "fim de 5 minutos",
"end of 10 minutes": "fim de 10 minutos",
"end of 30 minutes": "fim de 30 minutos",
"end of hour": "fim de hora",
"end of 2 hours": "fim de 2 horas",
"end of 3 hours": "fim de 3 horas",
"end of 4 hours": "fim de 4 horas",
"end of 6 hours": "fim de 6 horas",
"end of 8 hours": "fim de 8 horas",
"end of 12 hours": "fim de 12 horas",
"end of day": "fim do dia",
"end of sunday": "fim de domingo",
"end of saturday": "fim de sábado",
"1minute": "fim de minuto",
"5minutes": "fim de 5 minutos",
"10minutes": "fim de 10 minutos",
"30minutes": "fim de 30 minutos",
"1hour": "fim de hora",
"2hours": "fim de 2 horas",
"3hours": "fim de 3 horas",
"4hours": "fim de 4 horas",
"6hours": "fim de 6 horas",
"8hours": "fim de 8 horas",
"12hours": "fim de 12 horas",
"weekEurope": "fim do dia",
"weekUsa": "fim de domingo",
"Bar settings": "Configurações da barra",
"Fill color:": "Cor de preenchimento:",
"Show labels:": "Mostrar rótulos:",
"top over": "mais alto",
"top under": "top sob",
"middle": "meio",
"Bars width:": "Largura das barras:",
"Label font size:": "Etiquetar tamanho da fonte:",
"Label color:": "Cor do rótulo:",
"Markings": "Marcas",
"Line ID": "ID da linha",
"Fill": "Preencher",
"ØL": "ØL",
"ØS": "ØS",
"Text": "Texto",
"Text position": "Posição de texto",
"Text offset": "Deslocamento de texto",
"Text size": "Tamanho do texto",
"Text color": "Cor do texto",
"Add new markings": "Adicionar novas marcações",
"Left": "Esquerda",
"Right": "Certo",
"Upper value or ID": "Valor superior ou ID",
"Lower value or ID": "Menor valor ou ID",
"X-Axis ticks": "Carrapatos do X-Axis",
"Y-Axis ticks": "Carrapatos do Y-Axis",
"ignore null values": "ignore valores nulos",
"Ticks from:": "Use X-ticks de:",
"use 0 instead of null values": "use 0 em vez de valores nulos",
"More": "Mais",
"Edit options for line %s": "Editar opções para a linha% s",
"Legend columns:": "Colunas da legenda:",
"Legend opacity (from 0 to 1):": "Opacidade da legenda (de 0 a 1):",
"Legend background:": "Legend background:",
"Fill(0to1)": "Preencher (0 a 1)",
"Points": "Pontos"
}
+324
View File
@@ -0,0 +1,324 @@
{
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"Ok": "Ok",
"role": "Роль",
"Update objects": "Обновить объекты",
"All": "все",
"With": "с",
"Without": "без",
"Update states": "Обновить состояния",
"edit file": "Редактировать",
"restart script": "Перезапустить скрипт",
"Select": "Выбрать",
"Select ID": "Выбрать ID",
"add children": "Добавить под-категории",
"edit enum": "Изменить категорию",
"System settings": "Системные настройки",
"reload": "Перезагрузить",
"Delete object": "Удалить объект",
"no null": "&nbsp;без null",
"%s ago": "%s назад",
"Y-Offset": "Сдвиг по Y",
"ID": "ID",
"Role": "Роль",
"Room": "Комната",
"Value": "Значение",
"none": "ничего",
"Save into:": "Сохранить как:",
"Name:": "Имя:",
"save": "сохранить",
"load": "загрузить",
"Presets": "Пресеты",
"IDs": "Объекты",
"new": "новое",
"Enter chart name": "Введите имя графика",
"save %s": "сохранить %s",
"Input data": "Входные данные",
"Options": "Опции",
"Range:": "Интервал:",
"5 seconds": "5 секунд",
"10 seconds": "10 секунд",
"15 seconds": "15 секунд",
"20 seconds": "20 секунд",
"30 seconds": "30 секунд",
"1 minute": "1 минуту",
"2 minutes": "2 минуты",
"5 minutes": "5 минут",
"10 minutes": "10 минут",
"15 minutes": "15 минут",
"20 minutes": "20 минут",
"30 minutes": "30 минут",
"1 hour": "1 час",
"2 hours": "2 часа",
"3 hours": "3 часа",
"6 hours": "6 часов",
"12 hours": "12 часов",
"1 day": "1 день",
"2 days": "2 дня",
"3 days": "3 дня",
"7 days": "7 дней",
"14 days": "14 дней",
"1 month": "1 месяц",
"2 months": "2 месяца",
"3 months": "3 месяца",
"6 months": "6 месяцев",
"1 year": "1 год",
"2 years": "2 года",
"Width:": "Ширина:",
"Height:": "Высота:",
"line": "Линия",
"area": "Область",
"bar": "Bar",
"lineplot": "Линия с точками",
"scatterplot": "Точки",
"steps": "Шаги",
"spline": "Сллайн",
"Stack": "Stack",
"Window background:": "Фон окна:",
"Custom chart background:": "Пользовательский фон графика:",
"Chart background:": "Фон графика:",
"X axis labels color:": "Цвет текста по оси X:",
"Y axis labels color:": "Цвет текста по оси Y:",
"Show legend:": "Показать легенду:",
"Title:": "Название:",
"Title position:": "Позиция названия:",
"Top, left, inside": "Сверху, слева, внутри",
"Top, right, inside": "Сверху, справа, внутри",
"Top, center, inside": "Сверху, по центру, внутри",
"Middle, left, inside": "Посередине, слева, внутри",
"Middle, right, inside": "Посередине, справа, внутри",
"Bottom, left, inside": "Снизу, слева, внутри",
"Bottom, right, inside": "Снизу, справа, внутри",
"Bottom, center, inside": "Снизу, по центру, внутри",
"Top, right, outside": "Сверху, справа, снаружи",
"Middle, right, outside": "Посередине, справа, снаружи",
"Bottom, right, outside": "Снизу, справа, снаружи",
"Bottom, center, outside": "Снизу, по центру, снаружи",
"Min:": "Минимум:",
"Max:": "Максимум:",
"User defined names:": "Задать имена графиков:",
"Predefined background:": "Выбрать фон:",
"User defined": "Пользовательские",
"Background:": "Фон:",
"Hover details:": "Показывать подсказку:",
"Time format:": "Формат времени:",
"Default": "по умолчанию",
"Smoothing": "Сглаживание",
"After comma": "После запятой",
"Open": "Показать",
"Update": "Обновить",
"Reset settings": "Сбросить настройки",
"From": "От",
"Last changed": "Изменён",
"Time stamp": "Время",
"Acknowledged": "Подтверждён",
"Edit": "Edit",
"Members": "Объекты",
"Loading...": "Загрузка...",
"Processing...": "Обработка...",
"With lines": "С линиями",
"Without lines": "Без линий",
"Inside / With lines": "Внутри / С линиями",
"Outside/ With lines": "Снаружи/ С линиями",
"Inside / No lines": "Внутри / Без линий",
"Outside / No lines": "Снаружи / Без линий",
"Interpolate:": "Интерполяция:",
"Steps": "Ступени",
"Pie": "Круговая диаграмма",
"Top, left": "Сверху, слева",
"Top, right": "Сверху, справа",
"Bottom, left": "Снизу, слева",
"Bottom, right": "Снизу, справа",
"Title color:": "Цвет названия:",
"Title size:": "Размер названия:",
"Fill range:": "Всегда весь интервал:",
"Units:": "Единицы:",
"yes": "да",
"bottom": "снизу",
"top": "сверху",
"left": "слева",
"right": "справа",
"No border:": "Без рамки:",
"Time": "Время",
"day": "День",
"month": "month",
"year": "year",
"Individual": "Индивидуально",
"Aggregation:": "Тип:",
"relative": "относительно",
"static": "постоянный",
"now": "сейчас",
"today": "сегодня",
"this month": "этот месяц",
"this year": "этот год",
"Start:": "Начало:",
"End:": "Конец:",
"Aggregate": "Объединение данных",
"Step type:": "Шаги:",
"seconds": "секунды",
"Seconds": "Cекунды",
"Step span:": "Интервал шага:",
"Link": "URL",
"Counts": "Кол-во значений",
"ignore 'null'": "Игнорировать 'null'",
"Time Span": "Временной интервал",
"Appearance": "Оформление",
"Title": "Подпись",
"Offset": "Сдвиг по Х",
"Aggregation": "Тип",
"Chart Type": "Тип графика",
"Color": "Цвет",
"Min": "Мин",
"Max": "Макс",
"Unit": "Единицы",
"Y Axis": "Ось Y",
"X Axis": "Ось X",
"update Preview": "Обновить",
"Cancel": "отменить",
"Name": "Имя",
"Live update every:": "Обновлять каждые:",
"counts": "кол-во",
"Add new line": "Добавить&nbsp;линию",
"Animation:": "Анимация:",
"no": "нет",
"0s": "0c",
"300ms": "300мс",
"500ms": "500мс",
"1s": "1 секунда",
"2s": "2 секунды",
"3s": "3 секунды",
"5s": "5 секунд",
"10s": "10 секунд",
"30s": "30 секунд",
"60s": "60 секунд",
"2m": "2 минуты",
"3m": "3 минуты",
"4m": "4 минуты",
"5m": "5 минут",
"10m": "10 минут",
"15m": "15 минут",
"30m": "30 минут",
"45m": "45 минут",
"1H": "1 час",
"2H": "2 часа",
"6H": "6 часов",
"12H": "12 часов",
"1D": "1 день",
"2D": "2 дня",
"3D": "3 дня",
"4D": "4 дня",
"1W": "1 неделя",
"2W": "2 недели",
"4W": "4 недели",
"8W": "8 недель",
"12W": "12 недель",
"26W": "26 недель",
"1M": "1 месяц",
"2M": "2 месяца",
"3M": "3 месяца",
"6M": "6 месяцев",
"1Y": "1 год",
"2Y": "2 года",
"average": "среднее",
"max": "макс",
"min": "мин",
"total": "всего",
"off": "скрыть",
"leftColor": "слева цветом",
"rightColor": "справа цветом",
"topColor": "сверху цветом",
"bottomColor": "снизу цветом",
"default": "по умолчанию",
"Auto-update:": "Обновлять сразу:",
"Use comma:": "Запятая-разделитель:",
"Common Y Axis": "Общая ось Y",
"Instance": "Драйвер",
"Line Width": "Ширина линии",
"Shadow Size": "Ширина тени",
"ignore 'null':": "Игнорировать 'null':",
"onchange": "при изменении",
"Border color:": "Цвет рамки:",
"Grid color:": "Цвет сетки:",
"Border width:": "Ширина рамки:",
"Enable zoom and pan:": "Разрешить увеличение и сдвиг:",
"Arrange bools": "Выстроить bool графики",
"NULL as": "NULL как",
"MinMax": "MinMax",
"null": "null",
"true": "пред. значение",
"last value": "пред. значение",
"Hide edit button:": "Скрыть кнопку 'Редактировать':",
"minmax": "minmax",
"&#216L": "&#216L",
"&#216S": "&#216S",
"Line": "Линия",
"false": "null",
"end of minute": "Конец минуты",
"end of 5 minutes": "Конец 5 minutes",
"end of 10 minutes": "Конец 10 minutes",
"end of 30 minutes": "Конец 30 minutes",
"end of hour": "Конец часа",
"end of 2 hours": "Конец 2 часов",
"end of 3 hours": "Конец 3 часов",
"end of 4 hours": "Конец 4 часов",
"end of 6 hours": "Конец 6 часов",
"end of 8 hours": "Конец 8 часов",
"end of 12 hours": "Конец 12 часов",
"end of day": "Конец дня",
"end of sunday": "Конец недели",
"end of saturday": "Конец субботы",
"1minute": "Конец минуты",
"5minutes": "Конец 5 minutes",
"10minutes": "Конец 10 minutes",
"30minutes": "Конец 30 minutes",
"1hour": "Конец часа",
"2hours": "Конец 2 часов",
"3hours": "Конец 3 часов",
"4hours": "Конец 4 часов",
"6hours": "Конец 6 часов",
"8hours": "Конец 8 часов",
"12hours": "Конец 12 часов",
"weekEurope": "Конец дня",
"weekUsa": "Конец недели",
"Bar settings": "Настройки Bar",
"Fill color:": "Цвет заливки:",
"Show labels:": "Подписи:",
"top over": "Сверху над",
"top under": "Сверху под",
"middle": "В середине",
"Bars width:": "Ширина бара:",
"Label font size:": "Шрифт подписи:",
"Label color:": "Цвет подписи:",
"Markings": "Разметка",
"Line ID": "ID линии",
"Fill": "Заливка",
"ØL": "ØL",
"ØS": "ØS",
"Text": "Текст",
"Text position": "Расположение текста",
"Text offset": "Сдвиг текста",
"Text size": "Размер текста",
"Text color": "Цвет текста",
"Add new markings": "Добавить разметку",
"Left": "слева",
"Right": "справа",
"Upper value or ID": "Верхнее значение или ID",
"Lower value or ID": "Нижнее значение или ID",
"X-Axis ticks": "Кол-во делений на шкале X",
"Y-Axis ticks": "Кол-во делений на шкале Y",
"ignore null values": "игнорировать значения null",
"Ticks from:": "Подписи X-делений из:",
"use 0 instead of null values": "Заменять null на 0",
"More": "ещё",
"Edit options for line %s": "Редактировать настройки для линии %s",
"Legend columns:": "Колонок в легенде:",
"Legend opacity (from 0 to 1):": "Прозрачность легенды (от 0 до 1):",
"Legend background:": "Фон легенды:",
"Fill(0to1)": "Фон(0to1)",
"Points": "Точки"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

+302
View File
@@ -0,0 +1,302 @@
<head>
<title>Flot Chart</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link href="img/favicon.png" rel="shortcut icon" type="image/x-icon" />
<!--link type="text/css" rel="stylesheet" href="/lib/css/themes/jquery-ui/default/jquery-ui.min.css"-->
<script type="text/javascript" src="../../lib/js/jquery-1.11.2.min.js"></script>
<!--script src="/lib/js/jquery-ui.1.11.2.slider.min.js"></script-->
<script type="text/javascript" src="../../lib/js/socket.io.js"></script>
<script type="text/javascript" src="../../_socket/info.js"></script>
<style>
.rickshaw_graph .x_tick.invisible {
border-left: 0 rgba(0, 0, 0, 0) !important;
}
#title {
font-size: 24px;
font-weight: bold;
}
div, span, p, td {
font-family: Arial, sans-serif;
}
#chart {
display: inline-block;
}
#legend_container {
position: absolute;
right: 0;
bottom: 26px;
width: 0;
}
.chart-container {
box-sizing: border-box;
padding: 20px 15px 15px 15px;
/*margin: 15px auto 30px auto;*/
border: 1px solid #ddd;
background: #fff;
background: linear-gradient(#f6f6f6 0, #fff 50px);
background: -o-linear-gradient(#f6f6f6 0, #fff 50px);
background: -ms-linear-gradient(#f6f6f6 0, #fff 50px);
background: -moz-linear-gradient(#f6f6f6 0, #fff 50px);
background: -webkit-linear-gradient(#f6f6f6 0, #fff 50px);
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
-o-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
-ms-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}
.chart-placeholder {
width: 100%;
height: 100%;
font-size: 14px;
line-height: 1.2em;
}
/* ------------------ connecting -------------------------- */
#server-disconnect {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: hidden;
background-color: rgba(231,231,231,0.9) !important;
background-size: 100% !important;
background-position: center !important;
background-repeat: no-repeat !important;
z-index: 5000;
}
#server-disconnect > * {
/* center child divs */
position: absolute;
top: 50%;
left: 50%;
/* x-border-box */
box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
/* x-unselectable */
user-select: none;
-o-user-select: none;
-ms-user-select: none;
-moz-user-select: -moz-none;
-webkit-user-select: none;
cursor: default;
}
.splash-screen-circle-outer {
z-index: 20000;
width: 100px;
height: 100px;
border-radius: 100px;
margin-top: -50px;
margin-left: -50px;
border: 5px solid rgba(87, 113, 145, 0.9);
opacity: .9;
border-right: 5px solid rgba(0, 0, 0, 0);
border-left: 5px solid rgba(0, 0, 0, 0);
box-shadow: 0 0 35px #577191;
-moz-animation: spinPulse 5s infinite ease-in-out;
-webkit-animation: spinPulse 5s infinite linear;
}
.splash-screen-circle-inner {
z-index: 20001;
width: 80px;
height: 80px;
border-radius: 80px;
margin-top: -40px;
margin-left: -40px;
background-color: rgba(0, 0, 0, 0);
border: 5px solid rgba(87, 113, 145, 0.9);
opacity: .9;
border-left: 5px solid rgba(0, 0, 0, 0);
border-right: 5px solid rgba(0, 0, 0, 0);
box-shadow: 0 0 15px #577191;
-moz-animation: spinoffPulse 5s infinite linear;
-webkit-animation: spinoffPulse 5s infinite linear;
}
.splash-screen-text {
z-index: 20002;
width: 100px;
height: 100px;
line-height: 100px;
margin-top: -50px;
margin-left: -50px;
font-family: Verdana, Geneva, sans-serif;
font-size: 13px;
text-align: center;
text-shadow: 1px 1px #cccccc;
vertical-align: middle;
color: #002951;
}
@-moz-keyframes spinPulse {
0% {
-moz-transform: rotate(160deg);
opacity: 0;
box-shadow: 0 0 1px #577191;
}
50% {
-moz-transform: rotate(145deg);
opacity: 1;
}
100% {
-moz-transform: rotate(-320deg);
opacity: 0;
}
}
@-moz-keyframes spinoffPulse {
0% {
-moz-transform: rotate(0deg);
}
100% {
-moz-transform: rotate(360deg);
}
}
@-webkit-keyframes spinPulse {
0% {
-webkit-transform: rotate(160deg);
opacity: 0;
box-shadow: 0 0 1px #577191;
}
50% {
-webkit-transform: rotate(145deg);
opacity: 1;
}
100% {
-webkit-transform: rotate(-320deg);
opacity: 0;
}
}
@-webkit-keyframes spinoffPulse {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
.loader,
.loader:before,
.loader:after {
background: #8ca6ff;
-webkit-animation: load1 1s infinite ease-in-out;
animation: load1 1s infinite ease-in-out;
width: 1em;
height: 4em;
}
.loader:before,
.loader:after {
position: absolute;
top: 0;
content: '';
}
.loader:before {
left: -1.5em;
-webkit-animation-delay: -0.32s;
animation-delay: -0.32s;
}
.loader {
color: #8ca6ff;
text-indent: -9999em;
font-size: 11px;
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
-webkit-animation-delay: -0.16s;
animation-delay: -0.16s;
position: absolute;
top: 5em;
left: 13em;
z-index: 1000;
}
.loader:after {
left: 1.5em;
}
@-webkit-keyframes load1 {
0%,
80%,
100% {
box-shadow: 0 0;
height: 2.5em;
}
40% {
box-shadow: 0 -1em;
height: 3em;
}
}
@keyframes load1 {
0%,
80%,
100% {
box-shadow: 0 0;
height: 2.5em;
}
40% {
box-shadow: 0 -1em;
height: 3em;
}
}
#resetZoom {
position: absolute;
right: 50%;
top: 20px;
z-index: 10;
cursor: pointer
}
#edit {
position: absolute;
right: 20px;
top: 10px;
z-index: 10;
cursor: pointer;
opacity: 0.4;
}
.data-point-label {
text-align: center;
overflow: visible;
white-space: nowrap;
}
</style>
</head>
<body style="margin: 0">
<div id="chart_container">
<div id="server-disconnect">
<div class="splash-screen-text">...</div>
<div class="splash-screen-circle-outer"></div>
<div class="splash-screen-circle-inner"></div>
</div>
<div id="no-connection"
style="position: absolute; left: 50%; top: 50%; display: none; font-size: 3em; background: rgba(0, 0, 0, 0.1); border-radius: 10px; text-align: center">
No connection to server
</div>
<div id="chart_placeholder" class="chart-placeholder"></div>
<div id="title" style="position:absolute"></div>
</div>
<div id="edit" style="display: none">
<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"></path>
<path d="M0 0h24v24H0z" fill="none"></path>
</svg>
</div>
<svg style="display: none" title="Reset zoom" id="resetZoom" height='35' width='35' fill="#000000" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 126.308 118.728" enable-background="new 0 0 126.308 118.728" xml:space="preserve">
<path fill="#DDDDDD" d="M123.962,99.037c-0.082-0.076-0.172-0.116-0.246-0.181L100.929,76.46l-5.749-5.648c5.875-12.929,5.905-28.35-1.279-41.82 C81.632,6.015,52.957-2.707,29.979,9.555c-0.486,0.257-0.944,0.549-1.418,0.826c-7.41,4.288-13.254,10.305-17.261,17.284 c-2.663-1.367-4.591-2.553-4.868-2.73c0.261,0.17,0.083,0.008-0.245-0.225c-0.237-0.198-0.505-0.352-0.798-0.482 c-0.11-0.056-0.229-0.103-0.324-0.135c-0.253-0.079-0.514-0.11-0.767-0.118c-0.063-0.008-0.11-0.004-0.182-0.004 c-0.221,0.004-0.442,0.027-0.656,0.075c-0.024,0.008-0.047,0.008-0.071,0.016c-1.035,0.257-1.92,1.027-2.256,2.134 c-0.13,0.407-0.154,0.822-0.118,1.225c0,0-0.012,0.012-0.004,0.016c0,0,0,0,0,0.008c0.008,0.355,0.047,0.735,0.142,1.138 L5.259,46.24l1.284,5.544l1.142,4.892l0.367,1.572c0.751,3.265,3.375,4.062,5.825,1.771l5.469-5.109l1.549-1.454l3.563-3.331 l10.954-10.246l0.707-0.66c0.083-0.079,0.139-0.158,0.209-0.237l0.459-0.451l-0.032-0.008c0.285-0.324,0.53-0.695,0.664-1.13 c0.036-0.115,0.048-0.229,0.071-0.34c0.213-0.846,0.047-1.651-0.482-2.331c-0.391-0.581-0.964-1.043-1.684-1.261 c0,0-4.259,0.296-10.384-0.929c1.415-2.062,3.066-3.975,4.947-5.702c1.999-1.829,4.252-3.449,6.749-4.781 c4.687-2.497,9.705-3.746,14.676-3.872c12.131-0.312,24.001,6.069,30.094,17.485c7.713,14.462,3.564,32.133-9.033,41.802 c-0.438,0.332-0.877,0.66-1.327,0.973c-0.174,0.118-0.348,0.236-0.521,0.352c-0.11,0.079-0.229,0.15-0.348,0.225 c-0.593,0.384-1.21,0.735-1.834,1.087c-9.049,4.991-20.302,5.698-30.315,0.894c-1.304-0.629-2.545-1.344-3.73-2.118 c-0.34-0.222-0.684-0.45-1.019-0.688c-0.245-0.079-0.498-0.135-0.771-0.135c-0.447,0.008-0.857,0.139-1.209,0.355l-0.455,0.36 l-7.239,5.643l-0.829,0.644c-0.34,0.411-0.546,0.929-0.546,1.506c0.008,0.485,0.158,0.937,0.411,1.312 c0.355,0.289,0.719,0.577,1.083,0.857c2.505,1.917,5.231,3.611,8.183,5.026c10.437,5.011,21.809,5.82,32.225,3.13 c0.031,0,0.063,0.016,0.103,0.016c0.442-0.119,0.89-0.237,1.328-0.363c3.026-0.886,6.006-2.079,8.898-3.62 c1.165-0.624,2.284-1.3,3.382-2.007c0.15-0.095,0.305-0.189,0.455-0.289c0.32-0.209,0.628-0.431,0.944-0.644 c0.11-0.078,0.216-0.156,0.325-0.232l4.841,4.768l22.066,21.671c0.049,0.05,0.09,0.134,0.14,0.189 c3.776,3.76,10.697,2.926,15.472-1.867C126.878,109.723,127.713,102.788,123.962,99.037z"></path>
</svg>
<div class="loader" style="display: none"></div>
<script src="js/flot.js"></script>
</body>
+798
View File
@@ -0,0 +1,798 @@
//options: {
// chartId:
// titleId:
// tooltipId:
// cbOnZoom:
// }
function CustomChart(options, config, seriesData, markLines, ticks) {
'use strict';
if (!(this instanceof CustomChart)) return new CustomChart(options, config, seriesData, markLines, ticks);
this.chart = null;
this.config = config;
this.options = options;
var that = this;
var series;
var markingsOffset = 0;
var settings;
var backgrounds = [
['#8e9eab', '#eef2f3'], // Portrait
['#517fa4', '#243949'], // Instagram
['#485563', '#29323c'], // ServQuick
['#abbaab', '#00ffff'], // Metallic Toad
['#ECE9E6', '#00ffff'], // Clouds
['#16222A', '#3A6073'], // Mirage
['#1F1C2C', '#928DAB'], // Steel Gray
['#003973', '#E5E5BE'], // Horizon
['#D1913C', '#FFD194'], // Koko Caramel
['#136a8a', '#267871'] // Turquoise flow
];
function _yFormatter(y, line) {
if (typeof y === 'boolean') return '' + y;
var unit = that.config.l[line].unit ? ' ' + that.config.l[line].unit : '';
if (that.config.l[line].afterComma !== undefined && that.config.l[line].afterComma !== null) {
y = parseFloat(y);
if (that.config.useComma) {
return y.toFixed(that.config.l[line].afterComma).toString().replace('.', ',') + unit;
} else {
return y.toFixed(that.config.l[line].afterComma) + unit;
}
} else {
if (that.config.useComma) {
y = parseFloat(y);
return y.toString().replace('.', ',') + unit;
} else {
return y + unit;
}
}
}
function _tickXFormatter(number, object) {
if (ticks) return ' ';
var now = new Date(parseInt(number, 10));
if (that.config.timeFormatDate && that.config.timeFormatTime) {
if (!object.ticks.length) {
return '<b><i>' + $.plot.formatDate(now, that.config.timeFormatDate, months[systemLang], days[systemLang]) + '</i></b>';
}
var d = new Date(object.ticks[object.ticks.length - 1].v);
if (d.getDate() !== now.getDate()) {
return '<b><i>' + $.plot.formatDate(now, that.config.timeFormatDate, months[systemLang], days[systemLang]) + '</i></b>';
}
return $.plot.formatDate(now, that.config.timeFormatTime, months[systemLang], days[systemLang]);
} else {
return $.plot.formatDate(now, that.config.timeFormat, months[systemLang], days[systemLang]);
}
}
function _tickYFormatter(number, object) {
// If tickDecimals was specified, ensure that we have exactly that
// much precision; otherwise default to the value's own precision.
var afterComma = that.config.l[object.n - 1].afterComma;
if (afterComma !== null && afterComma !== undefined) {
var factor = afterComma ? Math.pow(10, afterComma) : 1;
var formatted = (Math.round(number * factor) / factor).toString();
var decimal = formatted.indexOf('.');
var precision = decimal === -1 ? 0 : formatted.length - decimal - 1;
if (precision < afterComma) {
number = (precision ? formatted : formatted + '.') + factor.toString().substr(1, afterComma - precision);
} else {
number = formatted;
}
}
if (that.config.useComma) number = number.toString().replace('.', ',');
var unit = that.config.l[object.n - 1].unit;
return number + (unit ? (' ' + unit) : '');
}
function showLabels (animation) {
if (that.config.barLabels) {
setTimeout(function () {
var data = that.chart.getData();
for (var d = 0; d < data.length; d++) {
if (!that.config.l[d] || that.config.l[d].chartType !== 'bar') continue;
$.each(data[d].data, function (i, el) {
if (el[1] === null) return;
if (!i) return;
if (i === data[d].data.length - 1) return;
var o;
if (that.config.barLabels === 'topover') {
o = that.chart.pointOffset({x: el[0], y: el[1]});
o.top -= 20;
} else if (that.config.barLabels === 'topunder') {
o = that.chart.pointOffset({x: el[0], y: el[1]});
//o.top += 10;
} else if (that.config.barLabels === 'bottom') {
o = that.chart.pointOffset({x: el[0], y: 0});
o.top += 20;
} else {//if (that.config.barLabels === 'middle') {
o = that.chart.pointOffset({x: el[0], y: el[1] / 2});
}
$('<div class="data-point-label"><div style="width: 100%; margin-left: -50%;">' + _yFormatter(el[1], d) + '</div></div>').css({
position: 'absolute',
left: o.left,
top: o.top
}).appendTo(that.chart.getPlaceholder());
});
}
if (that.config.barFontSize || that.config.barFontColor) {
$('.data-point-label').css({
'font-size': that.config.barFontSize || undefined,
color: that.config.barFontColor || undefined
});
}
}, animation ? parseInt(animation) + 200 : 0);
}
if (markLines && markLines.length) {
setTimeout(function () {
var data = that.chart.getData();
var num = 0;
for (var m = 0; m < markLines.length; m++) {
if (markLines[m].d && data[markLines[m].l + markingsOffset]) {
var line = data[num].data;
var o;
var text;
if (markLines[m].p === 'l') {
o = that.chart.pointOffset({x: line[0][0], y: line[0][1], yaxis: data[markLines[m].l + markingsOffset].yaxis, xaxis: data[markLines[m].l + markingsOffset].xaxis});
o.top -= markLines[m].py;
text = markLines[m].d;
} else {//if (markLines[m].p === 'r') {
o = that.chart.pointOffset({x: line[1][0], y: line[1][1], yaxis: data[markLines[m].l + markingsOffset].yaxis, xaxis: data[markLines[m].l + markingsOffset].xaxis});
o.top -= markLines[m].py;
text = '<div style="width: 100%; margin-left: -100%; padding-right: 15px; white-space: nowrap">' + markLines[m].d + '</div>';
}
$('<div class="marklines-label" style="padding-left: 10px; white-space: nowrap">' + text + '</div>').css({
position: 'absolute',
left: o.left,
top: o.top,
'font-size': markLines[m].fs || undefined,
color: markLines[m].fc || undefined
}).appendTo(that.chart.getPlaceholder());
}
if (markLines[m].vl !== '' && markLines[m].vl !== null && markLines[m].vl !== undefined) {
num++;
}
num++;
}
}, animation ? parseInt(animation) + 200 : 0);
}
}
(function _constructor () {
series = [];
var smoothing = false;
var $title = $('#' + that.options.titleId);
if (that.config.title && !$title.html()) {
$title.html(that.config.titlePos ? decodeURI(that.config.title) : '');
if (that.config.titleColor) $title.css('color', that.config.titleColor);
if (that.config.titleSize) $title.css('font-size', that.config.titleSize);
if (that.config.titlePos) {
var parts = that.config.titlePos.split(';');
var css = {};
for (var t = 0; t < parts.length; t++) {
var p = parts[t].split(':');
// Bottom inside
if (p[0] === 'bottom' && p[1] == '5') {
if (that.config.height.indexOf('%') === -1) {
css.top = parseInt(that.config.height, 10) - $title.height() - 45;
} else {
css.top = 'calc(' + that.config.height + ' - ' + ($title.height() + 45) + 'px)';
}
} else // Bottom outside
if (p[0] === 'bottom' && p[1] == '-5') {
if (that.config.height.indexOf('%') === -1) {
css.top = parseInt(that.config.height, 10) + 5;
} else {
css.top = 'calc(' + that.config.height + ' + 5px)';
}
} else // Middle
if (p[0] === 'top' && p[1] == '50') {
if (that.config.height.indexOf('%') === -1) {
css.top = (parseInt(that.config.height, 10) - $title.height()) / 2;
} else {
css.top = 'calc(50% - ' + ($title.height() / 2) + 'px)';
}
} else // Center
if (p[0] === 'left' && p[1] == '50') {
if (that.config.width.indexOf('%') === -1) {
css.left = (parseInt(that.config.width, 10) - $title.width()) / 2;
} else {
css.left = 'calc(50% - ' + ($title.width() / 2) + 'px)';
}
} else // Right inside
if (p[0] === 'right' && p[1] == '5') {
if (that.config.width.indexOf('%') === -1) {
css.left = parseInt(that.config.width, 10) - $title.width() - 45;
} else {
css.left = 'calc(' + that.config.width + ' - ' + ($title.width() + 45) + 'px)';
}
} else // Right outside
if (p[0] === 'right' && p[1] == '-5') {
if (that.config.width.indexOf('%') === -1) {
css.left = parseInt(that.config.width, 10) + 25;
} else {
css.left = 'calc(' + that.config.width + ' + 5px)';
}
} else {
css[p[0]] = p[1];
}
}
$title.css(css);
}
}
// Replace background
if (that.config.bg && that.config.bg.length < 3 && backgrounds[that.config.bg]) that.config.bg = {colors: backgrounds[that.config.bg]};
markingsOffset = 0;
// draw horizontal lines
if (markLines && markLines.length) {
for (var m = 0; m < markLines.length; m++) {
markingsOffset++;
markLines[m].v = parseFloat(markLines[m].v) || 0; // value
markLines[m].l = parseInt(markLines[m].l) || 0; // line number
markLines[m].s = parseFloat(markLines[m].s) || 0; // shadow size
markLines[m].t = parseFloat(markLines[m].t) || 0; // line width
markLines[m].py = parseFloat(markLines[m].py) || 0; // y offset of label
series.push({
id: 'line' + m,
xaxis: {show: false},
color: markLines[m].c || undefined,
lines: {
show: true,
fill: markLines[m].f === '1' || markLines[m].f === 1 || markLines[m].f === 'true' || markLines[m].f === true,
steps: true,
lineWidth: markLines[m].t
},
data: [[0, markLines[m].v], [100, markLines[m].v]],
label: '__hide_me__',
shadowSize: markLines[m].s
});
// if lower value set
if (markLines[m].vl !== '' && markLines[m].vl !== null && markLines[m].vl !== undefined) {
markingsOffset++;
markLines[m].vl = parseFloat(markLines[m].vl) || 0;
series.push({
xaxis: {show: false},
color: markLines[m].c || undefined,
lines: {
show: true,
fill: true,
steps: true,
lineWidth: markLines[m].t
},
data: [[0, markLines[m].vl], [100, markLines[m].vl]],
fillBetween: 'line' + m,
label: '__hide_me__',
shadowSize: markLines[m].s
});
}
}
}
//todo make bar working
// if (that.config.renderer !== 'bar' || that.config._ids.length <= 1) {
var xMin = Infinity;
var xMax = 0;
for (var i = 0; i < seriesData.length; i++) {
if (seriesData[i] && that.config.l[i]) {
that.config.l[i].chartType = that.config.l[i].chartType || that.config.chartType || 'line';
that.config.l[i].dashes = that.config.l[i].dashes === true || that.config.l[i].dashes === 'true';
that.config.l[i].dashLength = parseFloat(that.config.l[i].dashLength) || 10;
that.config.l[i].spaceLength = parseFloat(that.config.l[i].spaceLength) || 10;
var isLine = that.config.l[i].chartType !== 'scatterplot' && that.config.l[i].chartType !== 'bar' && that.config.l[i].chartType !== 'spline';
var option = {
color: that.config.l[i].color || undefined,
lines: {
show: (!that.config.l[i].dashes && isLine),
fill: (that.config.l[i].fill && that.config.l[i].fill !== '0') ? parseFloat(that.config.l[i].fill) : (that.config.l[i].chartType === 'area' || that.config.l[i].chartType === 'bar'),
steps: (that.config.l[i].chartType === 'steps'),
lineWidth: that.config.l[i].thickness
},
splines: {
show: (that.config.l[i].chartType === 'spline'),
tension: 0.5, //(float between 0 and 1, defaults to 0.5),
lineWidth: that.config.l[i].thickness,
fill: (that.config.l[i].fill && that.config.l[i].fill !== '0') ? parseFloat(that.config.l[i].fill) : false //(float between 0 .. 1 or false, as in flot documentation)
},
bars: {
show: (that.config.l[i].chartType === 'bar'),
order: i + 1,
barWidth: 0.6,
lineWidth: that.config.l[i].thickness,
fill: (that.config.l[i].fill && that.config.l[i].fill !== '0') ? parseFloat(that.config.l[i].fill) : false,
fillColor: that.config.barColor || undefined,
align: 'center'
},
points: {
show: (that.config.l[i].chartType === 'lineplot' || that.config.l[i].chartType === 'scatterplot' || that.config.l[i].points === 'true' || that.config.l[i].points === true)
},
data: seriesData[i],
label: that.config.l[i].name,
shadowSize: that.config.l[i].shadowsize,
dashes: {
show: that.config.l[i].dashes && isLine,
lineWidth: that.config.l[i].thickness,
dashLength: [that.config.l[i].dashLength, that.config.l[i].spaceLength]
}
};
if ((that.config.smoothing && that.config.smoothing > 0) || (that.config.l[i].smoothing && that.config.l[i].smoothing > 0)) {
smoothing = true;
that.config.l[i].smoothing = parseInt(that.config.l[i].smoothing || that.config.smoothing);
option.data = avg(option.data, that.config.l[i].smoothing);
} else {
that.config.l[i].smoothing = 0;
}
that.config.l[i].afterComma = (that.config.l[i].afterComma === undefined || that.config.l[i].afterComma === '') ? that.config.afterComma : parseInt(that.config.l[i].afterComma, 10);
if (that.config.l[i].chartType === 'bar') {
option.bars.barWidth = (option.data[option.data.length - 1][0] - option.data[0][0]) / option.data.length * (parseFloat(that.config.barWidth) || 0.5);
}
/*
if (that.config.l[i].chartType === 'pie') {
series.legend = {
show: !!that.config.legend,
position: that.config.legend
};
} else if (that.config.l[i].chartType === 'bar') {
var series = {
series: {
bars: {
show: that.config.l[i].chartType === 'bar',
barWidth: 0.6,
align: "center"
},
pie: {
show: that.config.l[i].chartType === 'pie'
},
legend: {
show: !!that.config.legend,
position: that.config.legend
}
}
};
*/
series.push(option);
if (seriesData[i][0][0] < xMin) xMin = seriesData[i][0][0];
if (seriesData[i][seriesData[i].length - 1][0] > xMax) xMax = seriesData[i][seriesData[i].length - 1][0];
}
}
if (that.config.min === null || that.config.min === undefined || that.config.min === '' || that.config.min.toString() === 'NaN') {
that.config.min = undefined;
} else {
that.config.min = parseFloat(that.config.min);
}
if (that.config.noBorder) {
if (!that.config.width) that.config.width = '100%';
if (!that.config.height) that.config.height = '100%';
if (that.config.width.indexOf('%') !== -1) {
$('#chart_container').css({width: 'calc(' + that.config.width + ' - 20px)'}); // original 20px
} else {
$('#chart_container').css({width: that.config.width});
}
if (that.config.height.indexOf('%') !== -1) {
$('#chart_container').css({height: 'calc(' + that.config.height + ' - 20px)'});// original 20px
} else {
$('#chart_container').css({height: that.config.height});
}
} else {
$('#chart_container').addClass('chart-container').css({width: that.config.width, height: that.config.height});
// $('#chart_container').css({'padding-bottom':"100px"})
}
if (that.config.timeFormat === 'null') that.config.timeFormat = undefined;
if (that.config.timeFormat) {
if (that.config.timeFormat.indexOf('%H:%M:%S') !== -1) {
that.config.timeFormatTime = '%H:%M:%S';
} else if (that.config.timeFormat.indexOf('%I:%M:%S') !== -1) {
that.config.timeFormatTime = '%I:%M:%S';
} else if (that.config.timeFormat.indexOf('%H:%M.') !== -1) {
that.config.timeFormatTime = '%H:%M.';
} else if (that.config.timeFormat.indexOf('%H:%M') !== -1) {
that.config.timeFormatTime = '%H:%M';
} else {
that.config.timeFormatTime = null;
}
if (that.config.timeFormat.indexOf('%d.%m.%y') !== -1) {
that.config.timeFormatDate = '%d.%m.%y';
} else if (that.config.timeFormat.indexOf('%x %p') !== -1) {
that.config.timeFormatDate = '%x %p';
} else if (that.config.timeFormat.indexOf('%d/%m/%y') !== -1) {
that.config.timeFormatDate = '%d/%m/%y';
} else if (that.config.timeFormat.indexOf('%m.%d.%y') !== -1) {
that.config.timeFormatDate = '%m.%d.%y';
} else if (that.config.timeFormat.indexOf('%d.%m') !== -1) {
that.config.timeFormatDate = '%d.%m';
} else if (that.config.timeFormat.indexOf('%a') !== -1) {
that.config.timeFormatDate = '%a';
} else {
that.config.timeFormatDate = null;
}
}
settings = {
grid: {
hoverable: (that.config.hoverDetail === 'true' || that.config.hoverDetail === true),
backgroundColor: that.config.bg || undefined,
borderWidth: (!that.config.border_width && that.config.border_width !== '0' && that.config.border_width !== 0) ? undefined : parseInt(that.config.border_width, 10),
borderColor: that.config.border_color || undefined
},
yaxes: [],
xaxes: [],
legend: {
show: !!that.config.legend,
position: that.config.legend,
hideable: true,
noColumns: parseInt(that.config.legColumns, 10) || undefined,
backgroundColor: that.config.legBg || undefined,
backgroundOpacity: that.config.legBgOpacity !== undefined ? parseFloat(that.config.legBgOpacity) : 0.85,
labelFormatter: function (label, series) {
if (label === '__hide_me__') return null;
return '<span class="graphlabel">' + label + '</span>';
}
}
};
if (that.config.zoom) {
settings.zoom = {
interactive: true,
trigger: 'dblclick', // or "click" for single click
amount: 1.5 // 2 = 200% (zoom in), 0.5 = 50% (zoom out)
};
settings.pan = {
interactive: true,
cursor: 'move', // CSS mouse cursor value used when dragging, e.g. "pointer"
frameRate: 20
};
}
var steps = that.config.animation < 1000 ? 20 : 50;
var ii;
for (ii = 0; ii < that.config.l.length; ii++) {
that.config.l[ii].yaxe = that.config.l[ii].yaxe || '';
that.config.l[ii].xaxe = that.config.l[ii].xaxe || '';
that.config.l[ii].commonYAxis = that.config.l[ii].commonYAxis || '';
var yaxi = {
show: that.config.l[ii].yaxe !== 'off',
min: (that.config.l[ii].min !== '' && that.config.l[ii].min !== null && that.config.l[ii].min !== undefined) ? parseFloat(that.config.l[ii].min) : undefined,
max: (that.config.l[ii].max !== '' && that.config.l[ii].max !== null && that.config.l[ii].max !== undefined) ? parseFloat(that.config.l[ii].max) : undefined,
position: that.config.l[ii].yaxe.indexOf('left') > -1 ? 'left' : 'right',
font: {
color: that.config.l[ii].yaxe.indexOf('Color') > -1 ? that.config.l[ii].color : (that.config.y_labels_color || 'black')
},
zoomRange: false, // or [ number, number ] (min range, max range) or false
panRange: false, // or [ number, number ] (min, max) or false
// to do
/*{
size: 11,
lineHeight: 13,
style: "italic",
weight: "bold",
family: "sans-serif",
variant: "small-caps",
color: "#545454"
}*/
ticks: parseInt(that.config.l[ii].yticks, 10) || undefined,
tickColor: that.config.grid_color || undefined,
tickFormatter: _tickYFormatter
};
var xaxi = {
show: that.config.l[ii].xaxe !== 'off',
position: that.config.l[ii].xaxe.indexOf('top') !== -1 ? 'top' : 'bottom',
font: {
color: that.config.l[ii].xaxe.indexOf('Color') !== -1 ? that.config.l[ii].color : (that.config.x_labels_color || 'black')
},
zoomRange: null, // or [ number, number ] (min range, max range) or false
panRange: null, // or [ number, number ] (min, max) or false
mode: 'time',
//timeformat: that.config.timeFormat,
//timezone: "browser",
tickFormatter: that.config.timeFormat ? _tickXFormatter : null,
minTickSize: (that.config.l[ii].chartType === 'bar') ? series[ii + markingsOffset].bars.barWidth : undefined,
tickColor: that.config.grid_color || undefined,
ticks: parseInt(that.config.l[ii].xticks, 10) || undefined,
min: undefined,
max: undefined
};
// prepare for bar
if (that.config.l[ii].chartType === 'bar') {
settings.legend.hideable = false;
xaxi.ticks = [];
for (var m = 0; m < seriesData[ii].length; m++) {
xaxi.ticks.push(seriesData[ii][m][0]);
// Normally first and last points are invalid
}
seriesData[ii][0][1] = null;
seriesData[ii][seriesData[ii].length - 1][1] = null;
} else if (ticks) {
xaxi.ticks = ticks;
}
if (that.config.zoom) {
var now = new Date();
xaxi.zoomRange = [null, now.getTime()]; // or [ number, number] (min range, max range) or false
xaxi.panRange = [null, now.getTime()]; // or [ number, number] (min range, max range) or false
}
settings.yaxes.push(yaxi);
settings.xaxes.push(xaxi);
// Support for commonYAxis
if (that.config.l[ii].commonYAxis !== '') {
series[ii + markingsOffset].yaxis = parseInt(that.config.l[ii].commonYAxis);
} else {
series[ii + markingsOffset].yaxis = ii + 1;
}
series[ii + markingsOffset].xaxis = ii + 1;
series[ii + markingsOffset].curvedLines = {
apply: !!that.config.l[ii].smoothing,
active: !!that.config.l[ii].smoothing,
monotonicFit: true
};
}
// set yaxis
if (markLines && markLines.length) {
var num = 0;
for (var mm = 0; mm < markLines.length; mm++) {
if (series[markLines[mm].l + markingsOffset]) {
markLines[mm].l = parseInt(markLines[mm].l, 10);
series[num].yaxis = series[markLines[mm].l + markingsOffset].yaxis;
series[num].data[0][0] = xMin;
series[num].data[1][0] = xMax;
num++;
// if lower value set
if (markLines[mm].vl !== '' && markLines[mm].vl !== null && markLines[mm].vl !== undefined) {
series[num].yaxis = series[markLines[mm].l + markingsOffset].yaxis;
series[num].data[0][0] = xMin;
series[num].data[1][0] = xMax;
num++;
}
}
}
}
if (smoothing) {
settings.series = settings.series || {};
settings.series.curvedLines = {
apply: true,
active: true,
monotonicFit: true
};
}
if (that.config.animation) {
settings.series = settings.series || {};
settings.series.grow = {
active: true,
steps: steps,
stepDelay: that.config.animation / steps
};
}
// hiddengraphs overload the labelFormatter, so we should overload the hiddengraphs
$.plot.plugins.push({
init: function (plot) {
plot.hooks.processOptions.push(function checkOptions(plot, options) {
if (!options.legend.hideable) {
return;
}
options.legend.labelFormatter = function(label, series) {
if (label === '__hide_me__') return null;
return '<span class="graphlabel">' + label + '</span>';
};
});
},
options: options,
name: 'hiddenGraphsEx',
version: '1.0'
});
that.chart = $.plot('#' + that.options.chartId, series, settings);
showLabels(that.config.animation);
var $div = $('#' + that.options.chartId);
that.options.tooltipId = that.options.tooltipId || 'tooltip';
// Hoover
if (that.config.hoverDetail === 'true' || that.config.hoverDetail === true) {
$div.unbind('plothover').bind('plothover', function (event, pos, item) {
if (item) {
var x = item.datapoint[0].toFixed(2);
var y;
if (that.config.l[item.seriesIndex - markingsOffset].type === 'boolean') {
y = !!Math.round(item.datapoint[1] - that.config.l[item.seriesIndex - markingsOffset].yOffset);
} else {
y = (item.datapoint[1] - that.config.l[item.seriesIndex - markingsOffset].yOffset).toFixed(2);
}
var text = item.series.label ? item.series.label + '<br>' : '';
text += $.plot.formatDate(new Date(parseInt(x, 10)), that.config.timeFormat) + '<br>';
text += '<b>' + _yFormatter(y, item.seriesIndex - markingsOffset) + '</b>';
var $tooltip = $('#' + that.options.tooltipId).html(text);
if ($(this).height() - item.pageY < $tooltip.height()) {
item.pageY -= 10 + $tooltip.height();
}
if ($(this).width() - item.pageX < $tooltip.width()) {
item.pageX -= 10 + $tooltip.width();
}
$tooltip.css({top: item.pageY + 5, left: item.pageX + 5}).fadeIn(200);
} else {
$('#tooltip').hide();
}
});
if (!$('#' + that.options.tooltipId).length) {
$('<div id="' + that.options.tooltipId + '"></div>').css({
position: 'absolute',
display: 'none',
border: '1px solid #fdd',
padding: '2px',
'background-color': '#fee',
opacity: 0.80
}).appendTo('body');
}
}
if (that.config.zoom && that.options.cbOnZoom) {
$div.unbind('plotzoom').bind('plotzoom', function (e, plot, args) {
if (that.zoomTimeout) clearTimeout(that.zoomTimeout);
that.zoomTimeout = setTimeout(that.options.cbOnZoom, 500);
}).unbind('plotpan').bind('plotpan', function (e, plot, args) {
if (that.zoomTimeout) clearTimeout(that.zoomTimeout);
that.zoomTimeout = setTimeout(that.options.cbOnZoom, 500);
})
}
})();
this.update = function (newSeriesData, newMarkingsData, newTicks) {
if (newSeriesData) {
var xMin = Infinity;
var xMax = 0;
for (var index = 0; index < config.l.length; index++) {
series[index + markingsOffset].data = newSeriesData[index];
if (newSeriesData[index][0][0] < xMin) xMin = newSeriesData[index][0][0];
if (newSeriesData[index][newSeriesData[index].length - 1][0] > xMax) xMax = newSeriesData[index][newSeriesData[index].length - 1][0];
// prepare for bar
if (config.l[index].chartType === 'bar') {
settings.xaxes[index].ticks = [];
for (var m = 0; m < newSeriesData[index].length; m++) {
settings.xaxes[index].ticks.push(newSeriesData[index][m][0]);
}
// Normally first and last points are invalid
newSeriesData[index][0][1] = null;
newSeriesData[index][newSeriesData[index].length - 1][1] = null;
}
}
// update xmin and xmax
if (markLines && markLines.length) {
var num_ = 0;
for (var m = 0; m < markLines.length; m++) {
series[num_].data[0][0] = xMin;
series[num_].data[1][0] = xMax;
num_++;
// if lower value set
if (markLines[m].vl !== '' && markLines[m].vl !== null && markLines[m].vl !== undefined) {
series[num_].data[0][0] = xMin;
series[num_].data[1][0] = xMax;
num_++;
}
}
}
$('.data-point-label').remove();
$('.marklines-label').remove();
if (settings.series && settings.series.grow) settings.series.grow.active = false;
}
if (newMarkingsData) {
if (newMarkingsData && newMarkingsData.length) {
var num = 0;
for (var mm = 0; mm < newMarkingsData.length; mm++) {
series[num].data[0][1] = newMarkingsData[mm].v;
series[num].data[1][1] = newMarkingsData[mm].v;
num++;
// if lower value set
if (newMarkingsData[mm].vl !== '' && newMarkingsData[mm].vl !== null && newMarkingsData[mm].vl !== undefined) {
series[num].data[0][1] = newMarkingsData[mm].vl;
series[num].data[1][1] = newMarkingsData[mm].vl;
num++;
}
}
}
}
this.chart = $.plot('#' + this.options.chartId, series, settings);
showLabels(false);
};
this.getRange = function () {
var opt = this.chart.getOptions();
var result = [];
for (var index = 0; index < opt.xaxes.length; index++) {
result[index] = {
min: Math.round(opt.xaxes[index].min),
max: Math.round(opt.xaxes[index].max)
};
settings.xaxes[index].max = result[index].max;
settings.xaxes[index].min = result[index].min;
}
return result;
};
this.setRange = function (minMaxArr) {
for (var index = 0; index < settings.xaxes.length; index++) {
settings.xaxes[index].min = minMaxArr[index].min;
settings.xaxes[index].max = minMaxArr[index].max;
}
};
this.resetZoom = function (time) {
time = time || new Date();
for (var index = 0; index < settings.xaxes.length; index++) {
settings.xaxes[index].zoomRange = [null, time.getTime()];
settings.xaxes[index].panRange = [null, time.getTime()];
}
};
this.zoom = function (positionX, amount) {
var offset = this.chart.offset();
this.chart.zoom({
center: {
left: positionX - offset.left,
height: this.chart.height() / 2
},
amount: amount
});
};
this.pan = function (positionX) {
this.chart.pan({left: positionX, top: 0});
};
return this;
}
+850
View File
@@ -0,0 +1,850 @@
'use strict';
// Show "no connection" message after 5 seconds
var disconnectTimeout = setTimeout(function () {
disconnectTimeout = null;
//Show disconnected message
$('#no-connection').show();
}, 5000);
var sessionId = 1;
// Analyse query
var path = location.href.split('?')[1];
var systemLang = 'en';
if (typeof sysLang !== 'undefined') {
systemLang = sysLang || 'en';
}
// convert old format to new one
// OLD: http://localhost:8082/flot/index.html?range=1440&renderer=line&axeX=l&axeY=inside&_ids=system.adapter.admin.0.memRss%2Csystem.adapter.email.0.memRss&_colors=%23c05020%3B%2330c020%3B%236060c0
// NEW: http://localhost:8082/flot/index.html?l%5B0%5D%5Bid%5D=system.adapter.admin.0.memRss&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=average&l%5B0%5D%5Bcolor%5D=%23FF0000&l%5B0%5D%5Bthickness%5D=3&l%5B1%5D%5Bid%5D=system.adapter.email.0.memRss&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Bart%5D=average&l%5B1%5D%5Bcolor%5D=%2300FF00&l%5B1%5D%5Bthickness%5D=3&timeType=relative&relativeEnd=now&range=10&aggregateType=step&aggregateSpan=300&legend=sw
// OLD =>
//{
// _colors: "#c05020;#30c020;#6060c0"
// _ids: "system.adapter.admin.0.memRss,system.adapter.email.0.memRss"
// axeX: "lines"
// axeY: "inside"
// range: "1440"
// renderer: "line"
//}
// NEW =>
//{
// "l" : [
// {
// "id" : "system.adapter.admin.0.memRss",
// "offset" : "0",
// "aggregate" : "minmax",
// "color" : "#FF0000",
// "thickness" : "3"
// }, {
// "id" : "system.adapter.email.0.memRss",
// "offset" : "0",
// "aggregate" : "minmax",
// "color" : "#00FF00",
// "thickness" : "3"
// }
// ],
// "timeType" : "relative",
// "relativeEnd" : "now",
// "range" : "10",
// "aggregateType" : "step",
// "aggregateSpan" : "300",
// "legend" : "sw //}
var config = deparam(path || '');
if (config.lines) {
config.l = JSON.parse(JSON.stringify(config.lines));
delete config.lines;
}
if (config._ids) {
var ids = config._ids ? config._ids.split(';') : [];
var colors = config._colors ? config._colors.split(';') : [];
var names = config._names ? config._names.split(';') : [];
var units = config._units ? config._units.split(';') : [];
config.l = [];
for (var i = 0; i < ids.length; i++) {
config.l.push({
id: ids[i],
offset: 0,
name: names[i] || '',
aggregate: 'onchange',
color: colors[i] || 'blue',
thickness: config.strokeWidth || 1,
shadowsize: config.strokeWidth || 1,
min: config.min || '',
max: config.max || '',
unit: units[i] || ''
});
}
config.aggregateType = 'step';
config.aggregateSpan = 300;
config.relativeEnd = 'now';
}
// convert art to aggregate
if (config.l) {
for (var j = 0; j < config.l.length; j++) {
if (config.l[j].art) {
config.l[j].aggregate = config.l[j].art;
delete config.l[j].art;
}
if (config.instance && !config.l[j].instance) {
config.l[j].instance = config.instance;
}
}
}
// Set default values
config.width = config.width || '100%';
config.height = config.height || '100%';
config.timeFormat = config.timeFormat || '%H:%M:%S %e.%m.%y';
config.useComma = config.useComma === 'true' || config.useComma === true;
config.zoom = config.zoom === 'true' || config.zoom === true;
config.animation = parseInt(config.animation) || 0;
config.noedit = config.noedit === 'true' || config.noedit === true;
config.afterComma = (config.afterComma === undefined) ? 2 : parseInt(config.afterComma, 10);
config.timeType = config.timeArt || config.timeType || 'relative';
// if ((config.max !== undefined && config.max !== '' && config.max !== null && parseFloat(config.max) != NaN)) config.max = parseFloat(config.max);
var seriesData = [];
var ticks = null;
var liveInterval;
var navOptions = {};
var socketURL = '';
var socketSESSION = '';
var now = new Date();
var divId = 'chart_placeholder';
// for zoom
var zoomTimeout = null;
var lastX = null;
var mouseDown = false;
var lastWidth = null;
var chart = null;
var isApp = false;
var subscribes = [];
var subscribed = false;
// because of security issue
try {
if ((window.top !== window.self) && (typeof window.top.app !== 'undefined') && (typeof window.top.socketUrl !== 'undefined')) {
isApp = true;
}
} catch (e) {
}
if (isApp) {
socketURL = window.top.socketUrl; // if flot runs in iframe inside the app use the socketURL determined by app.js
} else {
if (typeof socketUrl !== 'undefined') {
socketURL = socketUrl;
if (socketURL && socketURL[0] === ':') {
socketURL = location.protocol + '//' + location.hostname + socketURL;
}
socketSESSION = socketSession;
}
}
var socket = io.connect(socketURL, {
'query': 'key=' + socketSESSION,
'reconnection limit': 10000,
'max reconnection attempts': Infinity,
upgrade: typeof socketForceWebSockets !== 'undefined' ? !socketForceWebSockets : undefined,
rememberUpgrade: typeof socketForceWebSockets !== 'undefined' ? socketForceWebSockets : undefined,
transports: typeof socketForceWebSockets !== 'undefined' ? (socketForceWebSockets ? ['websocket'] : undefined) : undefined
});
socket.on('connect', function () {
if (disconnectTimeout) {
$('#no-connection').hide();
clearTimeout(disconnectTimeout);
disconnectTimeout = null;
}
setTimeout(function () {
socket.emit('name', 'flot');
}, 50);
setTimeout(function () {
readData();
}, 100);
});
socket.on('stateChange', function (id, state) {
if (!chart || !config || !config.m) return;
console.log(id + ' - ' + state.val);
for (var m = 0; m < config.m.length; m++) {
if (config.m[m].oid === id) {
config.m[m].v = parseFloat(state.val) || 0;
}
if (config.m[m].oidl === id) {
config.m[m].vl = parseFloat(state.val) || 0;
}
}
chart.update(null, config.m);
});
if (config.window_bg) $('body').css('background', config.window_bg);
socket.on('disconnect', function () {
if (!disconnectTimeout) {
disconnectTimeout = setTimeout(function () {
disconnectTimeout = null;
//Show disconnected message
$('#no-connection').show();
}, 5000);
}
});
function addTime(time, offset, plusOrMinus, isOffsetInMinutes) {
time = new Date(time);
if (typeof offset === 'string') {
if (offset[1] === 'm') {
offset = parseInt(offset, 10);
time.setMonth(plusOrMinus ? time.getMonth() + offset : time.getMonth() - offset);
time = time.getTime();
} else if (offset[1] === 'y') {
offset = parseInt(offset, 10);
time.setFullYear(plusOrMinus ? time.getFullYear() + offset : time.getFullYear() - offset);
time = time.getTime();
} else {
time = time.getTime();
if (isOffsetInMinutes) {
if (plusOrMinus) {
time += (parseInt(offset, 10) || 0) * 60000;
} else {
time -= (parseInt(offset, 10) || 0) * 60000;
}
} else {
if (plusOrMinus) {
time += (parseInt(offset, 10) || 0) * 1000;
} else {
time -= (parseInt(offset, 10) || 0) * 1000;
}
}
}
} else {
time = time.getTime();
if (isOffsetInMinutes) {
if (plusOrMinus) {
time += (parseInt(offset, 10) || 0) * 60000;
} else {
time -= (parseInt(offset, 10) || 0) * 60000;
}
} else {
if (plusOrMinus) {
time += (parseInt(offset, 10) || 0) * 1000;
} else {
time -= (parseInt(offset, 10) || 0) * 1000;
}
}
}
return time;
}
function getStartStop(index, step) {
var option = {};
var end;
var start;
var _now;
config.l[index].offset = config.l[index].offset || 0;
var isMonthRange = (config.range.indexOf('m') === -1) ? false : true;
// check config range
if (isMonthRange && config.l.length > 1) {
var monthRange = parseInt(config.range, 10) || 1;
for (var a = 0; a < config.l.length; a++) {
if (config.l[a].offset && config.l[a].offset !== 0) {
// Check what the month has first index
_now = addTime(now, config.l[0].offset);
var minusMonth = new Date(_now);
minusMonth.setMonth(minusMonth.getMonth() - monthRange);
config.range = Math.floor((_now - minusMonth.getTime()) / 60000) + '';
break;
}
}
}
if (config.zoomed) {
navOptions[index].end = config.l[index].zMax;
navOptions[index].start = config.l[index].zMin;
return navOptions[index];
} else {
if (!step) {
if (config.timeType === 'static') {
var startTime;
var endTime;
var y;
var m;
if (config.start_time !== undefined) {
startTime = config.start_time.split(':').map(Number);
} else {
startTime = [0, 0];
}
if (config.end_time !== undefined) {
endTime = config.end_time.split(':').map(Number);
} else {
endTime = [24, 0];
}
// offset is in seconds
start = new Date(config.start).setHours(startTime[0], startTime[1]);
end = new Date(config.end) .setHours(endTime[0], endTime[1]);
start = addTime(start, config.l[index].offset);
end = addTime(end, config.l[index].offset);
} else {
if (config.relativeEnd === 'now') {
_now = new Date(now);
} else if (config.relativeEnd.indexOf('minute') !== -1) {
var minutes = parseInt(config.relativeEnd, 10) || 1;
_now = new Date(now);
_now.setMinutes(Math.floor(_now.getMinutes() / minutes) * minutes + minutes);
_now.setSeconds(0);
_now.setMilliseconds(0);
} else if (config.relativeEnd.indexOf('hour') !== -1) {
var hours = parseInt(config.relativeEnd, 10) || 1;
_now = new Date(now);
_now.setHours(Math.floor(_now.getHours() / hours) * hours + hours);
_now.setMinutes(0);
_now.setSeconds(0);
_now.setMilliseconds(0);
} else if (config.relativeEnd === 'today') {
_now = new Date(now);
_now.setDate(_now.getDate() + 1);
_now.setHours(0);
_now.setMinutes(0);
_now.setSeconds(0);
_now.setMilliseconds(0);
} else if (config.relativeEnd === 'weekUsa') {
//var week = parseInt(config.relativeEnd, 10) || 1;
_now = new Date(now);
_now.setDate(_now.getDate() - _now.getDay() + 7);
_now.setHours(0);
_now.setMinutes(0);
_now.setSeconds(0);
_now.setMilliseconds(0);
} else if (config.relativeEnd === 'weekEurope') {
//var _week = parseInt(config.relativeEnd, 10) || 1;
_now = new Date(now);
// If
if (_now.getDay() === 0) {
_now.setDate(_now.getDate() + 1);
} else {
_now.setDate(_now.getDate() - _now.getDay() + 8);
}
_now.setHours(0);
_now.setMinutes(0);
_now.setSeconds(0);
_now.setMilliseconds(0);
} else if (config.relativeEnd === 'month') {
_now = new Date(now);
_now.setMonth(_now.getMonth() + 1);
_now.setDate(1);
_now.setHours(0);
_now.setMinutes(0);
_now.setSeconds(0);
_now.setMilliseconds(0);
} else if (config.relativeEnd === 'year') {
_now = new Date(now);
_now.setFullYear(_now.getFullYear() + 1);
_now.setMonth(0);
_now.setDate(1);
_now.setHours(0);
_now.setMinutes(0);
_now.setSeconds(0);
_now.setMilliseconds(0);
}
end = addTime(_now, config.l[index].offset);
start = addTime(end, config.range, false, true);
}
option = {
start: start,
end: end,
ignoreNull: (config.l[index].ignoreNull === undefined) ? config.ignoreNull : config.l[index].ignoreNull,
aggregate: config.l[index].aggregate || config.aggregate || 'minmax'
};
if (config.aggregateType === 'step') {
option.step = config.aggregateSpan * 1000;
} else if (config.aggregateType === 'count') {
option.count = config.aggregateSpan || (document.getElementById('chart_container').clientWidth / 10);
}
navOptions[index] = option;
return option;
} else {
end = addTime(now, config.l[index].offset);
start = end - step;
option = {
start: start,
end: end,
ignoreNull: (config.l[index].ignoreNull === undefined) ? config.ignoreNull : config.l[index].ignoreNull,
aggregate: config.l[index].aggregate || config.aggregate || 'minmax',
count: 1
};
navOptions[index].end = end;
navOptions[index].start = addTime(end, config.range, false, true);
return option;
}
}
}
function readOneChart(id, instance, index, callback) {
var option = getStartStop(index);
option.instance = instance;
option.sessionId = sessionId;
config.l[index].yOffset = parseFloat(config.l[index].yOffset) || 0;
//console.log(JSON.stringify(option));
console.log(new Date(option.start) + ' - ' + new Date(option.end));
socket.emit('getHistory', id, option, function (err, res, stepIgnore, _sessionId) {
if (err) console.error(err);
if (sessionId && _sessionId && _sessionId !== sessionId) {
console.warn('Ignore request with sessionId=' + _sessionId + ', actual is ' + sessionId);
return;
}
if (!err && res) {
//option.ignoreNull = (config.l[index].ignoreNull === undefined) ? (config.ignoreNull === 'true' || config.ignoreNull === true) : (config.l[index].ignoreNull === 'true' || config.l[index].ignoreNull === true);
option.yOffset = config.l[index].yOffset;
var _series = seriesData[index];
for (var i = 0; i < res.length; i++) {
// if less 2000.01.01 00:00:00
if (res[i].ts < 946681200000) res[i].ts = res[i].ts * 1000;
// Convert boolean values to numbers
if (res[i].val === 'true' || res[i].val === true) {
res[i].val = 1;
} else if (res[i].val === 'false' || res[i].val === false) {
res[i].val = 0;
}
if (typeof res[i].val === 'string') res[i].val = parseFloat(res[i].val);
_series.push([res[i].ts, res[i].val !== null ? res[i].val + option.yOffset : null]);
}
// add start and end
if (_series.length) {
if (_series[0][0] > option.start) _series.unshift([option.start, null]);
if (_series[_series.length - 1][0] < option.end) _series.push([option.end, null]);
} else {
_series.push([option.start, null]);
_series.push([option.end, null]);
}
// free memory
res = null;
}
if (callback) callback(id, index);
});
}
function readValue(id, index, callback) {
socket.emit('getState', id, function (err, state) {
if (state) {
callback(index, parseFloat(state.val) || 0);
} else {
callback(index, 0);
}
});
}
function prepareChart() {
chart = new CustomChart({
chartId: divId,
titleId: 'title',
tooltipId: 'tooltip',
cbOnZoom: onZoom
}, config, seriesData, config.m, ticks);
if (config.zoom) {
$('#resetZoom').unbind('click').click(function () {
seriesData = [];
$('#resetZoom').hide();
config.zoomed = false;
now = new Date();
readData(true);
});
// handlers for zoom and pan
$('#' + divId)
// flot can pan and zoom with mouse itself
/*.unbind('mousedown')
.mousedown(function (e) {
mouseDown = true;
lastX = e.pageX;
})
.unbind('mouseup').mouseup(function () {
mouseDown = false;
if (zoomTimeout) clearTimeout(zoomTimeout);
zoomTimeout = setTimeout(onZoom, 500);
})
.unbind('mousemove')
.mousemove(function(e) {
if (mouseDown) {
chart.pan(e.pageX - lastX);
}
lastX = e.pageX;
})
.unbind('mousewheel DOMMouseScroll')
.bind('mousewheel DOMMouseScroll', function(event) {
var amount = (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) ? 0.9 : 1.1;
chart.zoom(event.originalEvent.pageX, amount);
if (zoomTimeout) clearTimeout(zoomTimeout);
zoomTimeout = setTimeout(onZoom, 500);
})*/
.unbind('touchstart')
.on('touchstart', function (e) {
e.preventDefault();
mouseDown = true;
var touches = e.touches || e.originalEvent.touches;
if (touches) {
lastX = touches[touches.length - 1].pageX;
if (touches.length > 1) {
lastWidth = Math.abs(touches[0].pageX - touches[1].pageX);
} else {
lastWidth = null;
}
}
})
.unbind('touchend')
.on('touchend', function(e) {
e.preventDefault();
mouseDown = false;
if (zoomTimeout) clearTimeout(zoomTimeout);
zoomTimeout = setTimeout(onZoom, 500);
})
.unbind('touchmove')
.on('touchmove', function (e) {
e.preventDefault();
var touches = e.touches || e.originalEvent.touches;
if (!touches) return;
if (mouseDown) {
var pageX = touches[touches.length - 1].pageX;
if (touches.length > 1) {
// zoom
var width = Math.abs(touches[0].pageX - touches[1].pageX);
if (lastWidth !== null && width !== lastWidth) {
var amount = (width > lastWidth) ? 1.1 : 0.9;
var positionX = (touches[0].pageX > touches[1].pageX) ? (touches[1].pageX + width / 2) : (touches[0].pageX + width / 2);
chart.zoom(positionX, amount);
if (zoomTimeout) clearTimeout(zoomTimeout);
zoomTimeout = setTimeout(onZoom, 500);
}
lastWidth = width;
} else {
// swipe
chart.pan(lastX - pageX);
}
}
lastX = pageX;
});
}
if (config.live && config.timeType === 'relative') {
if (config.live === true || config.live === 'true') config.live = 30;
config.live = parseInt(config.live, 10) || 30;
startLiveUpdate();
}
}
function _readOneLine(index, cb) {
socket.emit('getObject', config.l[index].id, function (err, res) {
if (!err && res && res.common) {
config.l[index].name = config.l[index].name || res.common.name;
config.l[index].unit = config.l[index].unit || (res.common.unit ? res.common.unit.replace('�', '°') : '');
config.l[index].type = res.common.type;
} else {
config.l[index].name = config.l[index].name || config.l[index].id;
config.l[index].unit = config.l[index].unit || '';
}
if (typeof config.l[index].name === 'object') {
config.l[index].name = config.l[index].name[systemLang] || config.l[index].name.en;
}
readOneChart(config.l[index].id, config.l[index].instance, index, cb);
});
}
function readTicks(callback) {
if (!config.ticks) {
callback && callback(null);
} else {
socket.emit('getObject', config.ticks, function (err, res) {
var index = 0;
var option = JSON.parse(JSON.stringify(getStartStop(index)));
option.instance = config.l[index].instance;
option.sessionId = sessionId;
option.aggregate = 'onchange';
//console.log(JSON.stringify(option));
console.log('Ticks: ' + new Date(option.start) + ' - ' + new Date(option.end));
socket.emit('getHistory', config.ticks, option, function (err, res, stepIgnore, _sessionId) {
if (err) console.error(err);
if (sessionId && _sessionId && _sessionId !== sessionId) {
console.warn('Ignore request with sessionId=' + _sessionId + ', actual is ' + sessionId);
return;
}
if (!err && res) {
var _series = ticks || [];
if (ticks && ticks.length) ticks.splice(0, ticks.length);
for (var i = 0; i < res.length; i++) {
// if less 2000.01.01 00:00:00
if (res[i].ts < 946681200000) res[i].ts = res[i].ts * 1000;
if (!res[i].val !== null) _series.push([res[i].ts, res[i].val]);
}
// add start and end
if (_series.length) {
if (_series[0][0] > option.start) _series.unshift([option.start, '']);
if (_series[_series.length - 1][0] < option.end) _series.push([option.end, '']);
} else {
_series.push([option.start, '']);
_series.push([option.end, '']);
}
// free memory
res = null;
ticks = _series;
}
if (callback) callback(_series);
});
});
}
}
function readMarkings(cb, m) {
m = m || 0;
if (!config.m || !config.m.length || m >= config.m.length) {
return cb && cb();
} else {
if (!config.m[m].oid && config.m[m].v && parseFloat(config.m[m].v) != config.m[m].v && config.m[m].v.indexOf('.') !== -1) {
if (subscribes.indexOf(config.m[m].v) === -1) subscribes.push(config.m[m].v);
readValue(config.m[m].v, m, function (index, val) {
config.m[index].oid = config.m[index].v;
config.m[index].v = val;
if (!config.m[m].oidl && config.m[m].vl && parseFloat(config.m[m].vl) != config.m[m].vl && config.m[m].vl.indexOf('.') !== -1) {
if (subscribes.indexOf(config.m[m].vl) === -1) subscribes.push(config.m[m].vl);
readValue(config.m[m].vl, m, function (index, val) {
config.m[index].oidl = config.m[index].vl;
config.m[index].vl = val;
setTimeout(readMarkings, 0, cb, m + 1);
});
} else {
setTimeout(readMarkings, 0, cb, m + 1);
}
});
} else
if (!config.m[m].oidl && config.m[m].vl && parseFloat(config.m[m].vl) != config.m[m].vl && config.m[m].vl.indexOf('.') !== -1) {
if (subscribes.indexOf(config.m[m].vl) === -1) subscribes.push(config.m[m].vl);
readValue(config.m[m].vl, m, function (index, val) {
config.m[index].oidl = config.m[index].vl;
config.m[index].vl = val;
setTimeout(readMarkings, 0, cb, m + 1);
});
} else {
setTimeout(readMarkings, 0, cb, m + 1);
}
}
}
function _readData(callback, j) {
j = j || 0;
if (j >= config.l.length) {
return callback && callback();
} else {
if (config.l[j] !== '' && config.l[j] !== undefined) seriesData.push([]);
_readOneLine(j, function () {
setTimeout(function () {
_readData(callback, j + 1);
}, 10);
});
}
}
function subscribeAll(subscribes, cb, s) {
s = s || 0;
if (!subscribes || !subscribes.length || s >= subscribes.length) {
cb && cb();
} else {
socket.emit('subscribe', subscribes[s], function () {
setTimeout(function () {
subscribeAll(subscribes, cb, s + 1);
}, 0);
});
}
}
function readData(hidden) {
if (disconnectTimeout) {
$('#no-connection').hide();
clearTimeout(disconnectTimeout);
disconnectTimeout = null;
}
sessionId++;
if (config.l) {
if (!hidden) $('#server-disconnect').show();
// todo
// if (config.renderer === 'pie' || (config.renderer === 'bar' && config._ids.length > 1)) {
//
// seriesData = [[]];
// for (var j = 0; j < config._ids.length; j++) {
// readOneValue(config._ids[j], j, function (_id, _index, value) {
// if (config.renderer === 'pie') {
// seriesData[0][_index] = {label: config.l[_index].name, data: value};
// } else {
// seriesData[0][_index] = [config.l[_index].name, value];
// }
// if (_index === config._ids.length - 1) {
// graphCreate(divId, );
// }
// });
// }
// } else {
_readData(function () {
readTicks(function (_ticks) {
readMarkings(function () {
if (!subscribed) {
subscribed = true;
subscribeAll();
}
$('#server-disconnect').hide();
prepareChart();
});
});
});
}
if (!config.noedit) {
// install edit button
$('#edit')
.show()
.click(function () {
var win = window.open(location.href.replace('index.html', 'edit.html'), 'flot');
win.focus();
});
}
}
function startLiveUpdate() {
liveInterval = setInterval(function () {
if (config.zoomed) {
var max = 0;
var min = null;
// Find min and max of all lines
for (var index = 0; index < config.l.length; index++) {
if (max < config.l[index].zMax) max = config.l[index].zMax;
if (min === null || min > config.l[index].zMin) min = config.l[index].zMin;
}
// if 20%
if ((max + ((max - min) / 20)) >= new Date().getTime()) {
max = new Date().getTime() - now.getTime();
var result = [];
for (var _index = 0; _index < config.l.length; _index++) {
config.l[_index].zMax += max;
config.l[_index].zMin += max;
result.push({min: config.l[_index].zMin, max: config.l[_index].zMax});
}
chart.setRange(result);
} else {
return;
}
}
console.log('on time');
updateLive();
}, config.live * 1000);
}
function updateLive() {
var ready = 0;
now = new Date();
$('.loader').show();
sessionId++;
if (config.zoom) chart.resetZoom(now);
for (var index = 0; index < config.l.length; index++) {
ready++;
seriesData[index] = [];
readOneChart(config.l[index].id, config.l[index].instance, index, function () {
if (!--ready) {
readTicks(function (_ticks) {
chart.update(seriesData, null, _ticks);
$('.loader').hide();
});
}
});
}
}
function avg(data, range) {
var r = [];
var rd;
var i1;
var s;
var cnt;
for(var i = 0; i < data.length; i++) {
if (i < range) {
i1 = 0;
} else {
i1 = i - range + 1;
}
rd = [data[i][0], null];
if (data[i][1] !== null) {
s = 0;
cnt = 0;
for(var j = i1; j <= i; j++) {
if (data[j][1] === null) continue;
s += data[j][1];
cnt++;
}
rd[1] = s / cnt;
}
r.push(rd);
}
return r;
}
function onZoom() {
if (!config.zoomed) {
$('#resetZoom').show();
config.zoomed = true;
}
var result = chart.getRange();
for (var r = 0; r < result.length; r++) {
config.l[r].zMin = result[r].min;
config.l[r].zMax = result[r].max;
}
console.log('on zoom');
updateLive();
}
+22
View File
@@ -0,0 +1,22 @@
var months = {
'en': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
'de': ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
'ru': ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
'es': ['Jan', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
'fr': ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
'it': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
'pl': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
'pt': ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Set', 'Out', 'Nov', 'Dez'],
'nl': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
};
var days = {
'en': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
'de': ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
'ru': ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],
'es': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
'fr': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
'it': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
'pl': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
'pt': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
'nl': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
};
+1540
View File
File diff suppressed because it is too large Load Diff
+84
View File
@@ -0,0 +1,84 @@
var settings = {
maxLines: 20, // maximal number of the lines
button_arrange_bools: {enabled: true}, // if button arrange bool is visible
line: {
number: {enabled: true, name: ''},
instance: {enabled: true, name: 'Instance'},
id: {enabled: true, name: 'ID', width: '200px', style: 'padding-left: 4px', _class: 'ids', inputStyle: ''},
idSelect: {enabled: true, name: '', style: 'padding-left: 4px'},
aggregate: {enabled: true, name: 'Aggregation', width: '70px', style: 'padding-left: 5px', values: ['minmax', 'average', 'min', 'max', 'total', 'onchange']},
chartType: {enabled: true, name: 'Chart Type', width: '90px', values: ['line', 'bar', 'scatterplot', 'steps', /*'pie',*/ 'spline']},
fill: {enabled: true, name: 'Fill(0to1)', width: '70px', style: 'width: 70px; text-align: right'},
points: {enabled: true, name: 'Points', width: '50px', type: 'checkbox'},
color: {enabled: true, name: 'Color', width: '120px', style: 'padding-left: 5px', _class: 'input-color'},
min: {enabled: true, name: 'Min', width: '50px', style: 'padding-left: 5px'},
max: {enabled: true, name: 'Max', width: '50px', style: 'padding-left: 5px'},
unit: {enabled: true, name: 'Unit', width: '70px', style: 'padding-left: 5px'},
yaxe: {enabled: true, name: 'Y Axis', width: '140px', style: 'padding-left: 5px', values: ['', 'off', 'left', 'right', 'leftColor', 'rightColor'], defaultValueName: 'default'},
xaxe: {enabled: true, name: 'X Axis', width: '140px', style: 'padding-left: 5px', values: ['', 'off', 'top', 'bottom', 'topColor', 'bottomColor'], defaultValueName: 'default'},
name: {enabled: true, name: 'Name', width: '200px', style: 'padding-left: 5px'},
extraOptions: {enabled: true, name: 'More', width: '90px', style: 'text-align: center'},
removeButton: {enabled: true, name: '', width: '', style: 'padding-left: 5px'}
},
extraOptions: {
offset: {enabled: true, name: 'Offset', width: '130px', style: '', type: 'number'}, // support of time offset
yOffset: {enabled: true, name: 'Y-Offset', width: '70px', style: '', type: 'number'}, // support of Y offset
xticks: {enabled: true, name: 'X-Axis ticks', width: '70px', style: '', type: 'number'},
yticks: {enabled: true, name: 'Y-Axis ticks', width: '70px', style: '', type: 'number'},
thickness: {enabled: true, name: '&#216L', width: '70px', style: '', type: 'number', title: 'Line Width', default: 1},
shadowsize: {enabled: true, name: '&#216S', width: '70px', style: '', type: 'number', title: 'Shadow Size', default: 0},
commonYAxis: {enabled: true, name: 'Common Y Axis', width: '', style: '', values: ['', '1', '2', '3', '4', '5'], default: '', names: ['default']},
ignoreNull: {enabled: true, name: 'NULL as', width: '', style: '', values: ['false', 'true', '0'], default: 'false', names: ['default', 'ignore null values', 'use 0 instead of null values']},
smoothing: {enabled: false, name: 'Smoothing', width: '70px', style: '', type: 'number'},
afterComma: {enabled: true, name: 'After comma', width: '70px', style: '', type: 'number', default: 2},
dashes: {enabled: true, name: 'Dashes', width: '', style: '', type: 'checkbox', default: false},
dashLength: {enabled: true, name: 'Dashes length', width: '70px', style: '', type: 'number', default: 10},
spaceLength: {enabled: true, name: 'Space length', width: '70px', style: '', type: 'number', default: 10}
},
chapter_time: {enabled: true},
time_timeType: {enabled: true},
time_relativeEnd: {enabled: true},
time_range: {enabled: true},
time_live: {enabled: true},
time_start: {enabled: true},
time_end: {enabled: true},
time_aggregateType: {enabled: true},
time_aggregateSpan: {enabled: true},
time_ticks: {enabled: true},
chapter_options: {enabled: true},
options_width: {enabled: true},
options_height: {enabled: true},
options_noborder: {enabled: true},
options_window_bg: {enabled: true},
options_bg_custom: {enabled: true},
options_bg: {enabled: true},
options_x_labels_color: {enabled: true},
options_y_labels_color: {enabled: true},
options_title: {enabled: true},
options_titlePos: {enabled: true},
options_titleColor: {enabled: true},
options_titleSize: {enabled: true},
options_legend: {enabled: true},
options_legColumns: {enabled: true},
options_legBg: {enabled: true},
options_legBgOpacity: {enabled: true},
options_barColor: {enabled: true},
options_barLabels: {enabled: true},
options_barWidth: {enabled: true},
options_barFontSize:{enabled: true},
options_barFontColor:{enabled: true},
options_smoothing: {enabled: false},
options_afterComma: {enabled: false},
options_useComma: {enabled: true},
options_zoom: {enabled: true},
options_noedit: {enabled: true},
options_animation: {enabled: true},
options_border_color: {enabled: true},
options_grid_color: {enabled: true},
options_border_width: {enabled: true},
option_markline: {enabled: true} // it is extra option and not options
};
+328
View File
@@ -0,0 +1,328 @@
// DO NOT EDIT THIS FILE!!! IT WILL BE AUTOMATICALLY GENERATED FROM src/i18n
/*global systemDictionary:true */
'use strict';
systemDictionary = {
"0": { "en": "0", "de": "0", "ru": "0", "pt": "0", "nl": "0", "fr": "0", "it": "0", "es": "0", "pl": "0"},
"1": { "en": "1", "de": "1", "ru": "1", "pt": "1", "nl": "1", "fr": "1", "it": "1", "es": "1", "pl": "1"},
"2": { "en": "2", "de": "2", "ru": "2", "pt": "2", "nl": "2", "fr": "2", "it": "2", "es": "2", "pl": "2"},
"3": { "en": "3", "de": "3", "ru": "3", "pt": "3", "nl": "3", "fr": "3", "it": "3", "es": "3", "pl": "3"},
"4": { "en": "4", "de": "4", "ru": "4", "pt": "4", "nl": "4", "fr": "4", "it": "4", "es": "4", "pl": "4"},
"5": { "en": "5", "de": "5", "ru": "5", "pt": "5", "nl": "5", "fr": "5", "it": "5", "es": "5", "pl": "5"},
"Ok": { "en": "Ok", "de": "Ok", "ru": "Ok", "pt": "Está bem", "nl": "OK", "fr": "D'accord", "it": "Ok", "es": "De acuerdo", "pl": "Ok"},
"role": { "en": "role", "de": "Rolle", "ru": "Роль", "pt": "Função", "nl": "rol", "fr": "rôle", "it": "ruolo", "es": "papel", "pl": "rola"},
"Update objects": { "en": "Update objects", "de": "Objekte aktualisieren", "ru": "Обновить объекты", "pt": "Atualizar objetos", "nl": "Objecten bijwerken", "fr": "Mettre à jour", "it": "Aggiorna oggetti", "es": "Actualizar objetos", "pl": "Zaktualizuj obiekty"},
"All": { "en": "All", "de": "Alle", "ru": "все", "pt": "Todos", "nl": "Alle", "fr": "Tout", "it": "Tutti", "es": "Todas", "pl": "Wszystko"},
"With": { "en": "With", "de": "mit", "ru": "с", "pt": "Com", "nl": "Met", "fr": "Avec", "it": "Con", "es": "Con", "pl": "Z"},
"Without": { "en": "Without", "de": "ohne", "ru": "без", "pt": "Sem", "nl": "Zonder", "fr": "Sans pour autant", "it": "Senza", "es": "Sin", "pl": "Bez"},
"Update states": { "en": "Update states", "de": "States aktualisieren", "ru": "Обновить состояния", "pt": "Estado de atualização", "nl": "Status bijwerken", "fr": "Mettre à jour", "it": "Stati di aggiornamento", "es": "Actualizar estados", "pl": "Zaktualizuj stany"},
"edit file": { "en": "edit file", "de": "Datei editieren", "ru": "Редактировать", "pt": "editar arquivo", "nl": "bestand bewerken", "fr": "modifier le fichier", "it": "modifica file", "es": "editar archivo", "pl": "edytuj plik"},
"restart script": { "en": "restart script", "de": "Skript neu starten", "ru": "Перезапустить скрипт", "pt": "reiniciar o script", "nl": "herstart script", "fr": "redémarrer le script", "it": "riavviare lo script", "es": "script de reinicio", "pl": "zrestartuj skrypt"},
"Select": { "en": "Select", "de": "Auswählen", "ru": "Выбрать", "pt": "Selecione", "nl": "kiezen", "fr": "Sélectionner", "it": "Selezionare", "es": "Seleccionar", "pl": "Wybierz"},
"Select ID": { "en": "Select ID", "de": "ID Auswählen", "ru": "Выбрать ID", "pt": "Selecione ID", "nl": "Selecteer ID", "fr": "Sélectionner un identifiant", "it": "Seleziona ID", "es": "Seleccionar ID", "pl": "Wybierz ID"},
"add children": { "en": "add children", "de": "Sub-enums einfügen", "ru": "Добавить под-категории", "pt": "adicionar filhos", "nl": "voeg kinderen toe", "fr": "ajouter des enfants", "it": "aggiungi bambini", "es": "agregar niños", "pl": "dodaj dzieci"},
"edit enum": { "en": "edit enum", "de": "Enum ändern", "ru": "Изменить категорию", "pt": "editar enum", "nl": "edit enum", "fr": "éditer enum", "it": "modifica enum", "es": "editar enum", "pl": "edytuj wyliczenie"},
"System settings": { "en": "System settings", "de": "Systemeinstellungen", "ru": "Системные настройки", "pt": "Configurações de sistema", "nl": "Systeem instellingen", "fr": "Les paramètres du système", "it": "Impostazioni di sistema", "es": "Ajustes del sistema", "pl": "Ustawienia systemowe"},
"reload": { "en": "reload", "de": "Neu laden", "ru": "Перезагрузить", "pt": "recarregar", "nl": "herladen", "fr": "recharger", "it": "ricaricare", "es": "recargar", "pl": "przeładować"},
"Delete object": { "en": "Delete object", "de": "Object löschen", "ru": "Удалить объект", "pt": "Eliminar objeto", "nl": "Object verwijderen", "fr": "Supprimer un objet", "it": "Elimina oggetto", "es": "Eliminar objeto", "pl": "Usuń obiekt"},
"no null": { "en": "&nbsp;no null", "de": "&nbsp;kein NULL", "ru": "&nbsp;без null", "pt": "& nbsp; nulo", "nl": "& nbsp; geen null", "fr": "& nbsp; non nul", "it": "& nbsp; non null", "es": "& nbsp; no null", "pl": "& nbsp; no null"},
"%s ago": { "en": "%s ago", "de": "vor %s", "ru": "%s назад", "pt": "% s atrás", "nl": "% s geleden", "fr": "il y a% s", "it": "% s fa", "es": "hace% s", "pl": "% s temu"},
"Y-Offset": { "en": "Y-Offset", "de": "Y-Offset", "ru": "Сдвиг по Y", "pt": "Y-Offset", "nl": "Y-offset", "fr": "Y-Offset", "it": "Y-Offset", "es": "Y-Offset", "pl": "Przesunięcie Y"},
"ID": { "en": "ID", "de": "ID", "ru": "ID", "pt": "identidade", "nl": "ID kaart", "fr": "ID", "it": "ID", "es": "CARNÉ DE IDENTIDAD", "pl": "ID"},
"Role": { "en": "Role", "de": "Rolle", "ru": "Роль", "pt": "Função", "nl": "Rol", "fr": "Rôle", "it": "Ruolo", "es": "Papel", "pl": "Rola"},
"Room": { "en": "Room", "de": "Raum", "ru": "Комната", "pt": "Quarto", "nl": "Kamer", "fr": "Chambre", "it": "Camera", "es": "Habitación", "pl": "Pokój"},
"Value": { "en": "Value", "de": "Wert", "ru": "Значение", "pt": "Valor", "nl": "Waarde", "fr": "Valeur", "it": "Valore", "es": "Valor", "pl": "Wartość"},
"none": { "en": "none", "de": "nichts", "ru": "ничего", "pt": "Nenhum", "nl": "geen", "fr": "aucun", "it": "nessuna", "es": "ninguna", "pl": "Żaden"},
"Save into:": { "en": "Save into:", "de": "Save into:", "ru": "Сохранить как:", "pt": "Salvar em:", "nl": "Bewaar in:", "fr": "Enregistrer dans:", "it": "Salva in:", "es": "Guardar en:", "pl": "Zapisz w:"},
"Name:": { "en": "Name:", "de": "Name:", "ru": "Имя:", "pt": "Nome:", "nl": "Naam:", "fr": "Prénom:", "it": "Nome:", "es": "Nombre:", "pl": "Nazwa:"},
"save": { "en": "save", "de": "Speichern", "ru": "сохранить", "pt": "Salve ", "nl": "opslaan", "fr": "enregistrer", "it": "salvare", "es": "salvar", "pl": "zapisać"},
"load": { "en": "load", "de": "laden", "ru": "загрузить", "pt": "carga", "nl": "laden", "fr": "charge", "it": "caricare", "es": "carga", "pl": "obciążenie"},
"Presets": { "en": "Presets", "de": "Voreinstellung", "ru": "Пресеты", "pt": "Presets", "nl": "presets", "fr": "Presets", "it": "Presets", "es": "Presets", "pl": "Presets"},
"IDs": { "en": "IDs", "de": "IDs", "ru": "Объекты", "pt": "IDs", "nl": "IDs", "fr": "ID", "it": "ID", "es": "IDs", "pl": "ID"},
"new": { "en": "new", "de": "unter neuen Namen", "ru": "новое", "pt": "Novo", "nl": "nieuwe", "fr": "Nouveau", "it": "nuovo", "es": "nuevo", "pl": "Nowy"},
"Enter chart name": { "en": "Enter chart name", "de": "Chartname eintragen", "ru": "Введите имя графика", "pt": "Digite o nome do gráfico", "nl": "Voer de diagramnaam in", "fr": "Entrez le nom du diagramme", "it": "Inserisci il nome del grafico", "es": "Ingrese el nombre del gráfico", "pl": "Wprowadź nazwę wykresu"},
"save %s": { "en": "save %s", "de": "Speichern %s", "ru": "сохранить %s", "pt": "salvar% s", "nl": "bespaar% s", "fr": "enregistrer% s", "it": "salva% s", "es": "ahorra", "pl": "zapisz% s"},
"Input data": { "en": "Input data", "de": "Eingangsdaten", "ru": "Входные данные", "pt": "Dados de entrada", "nl": "Invoergegevens", "fr": "Des données d'entrée", "it": "Dati in ingresso", "es": "Datos de entrada", "pl": "Dane wejściowe"},
"Options": { "en": "Options", "de": "Optionen", "ru": "Опции", "pt": "Opções", "nl": "opties", "fr": "Options", "it": "Opzioni", "es": "Opciones", "pl": "Opcje"},
"Range:": { "en": "Range:", "de": "Umfang:", "ru": "Интервал:", "pt": "Alcance:", "nl": "bereik:", "fr": "Gamme:", "it": "Gamma:", "es": "Distancia:", "pl": "Zasięg:"},
"5 seconds": { "en": "5 seconds", "de": "5 Sekunden", "ru": "5 секунд", "pt": "5 segundos", "nl": "5 seconden", "fr": "5 secondes", "it": "5 secondi", "es": "5 segundos", "pl": "5 sekund"},
"10 seconds": { "en": "10 seconds", "de": "10 Sekunden", "ru": "10 секунд", "pt": "10 segundos", "nl": "10 seconden", "fr": "10 secondes", "it": "10 secondi", "es": "10 segundos", "pl": "10 sekund"},
"15 seconds": { "en": "15 seconds", "de": "15 Sekunden", "ru": "15 секунд", "pt": "15 segundos", "nl": "15 seconden", "fr": "15 secondes", "it": "15 secondi", "es": "15 segundos", "pl": "15 sekund"},
"20 seconds": { "en": "20 seconds", "de": "20 Sekunden", "ru": "20 секунд", "pt": "20 segundos", "nl": "20 seconden", "fr": "20 secondes", "it": "20 secondi", "es": "20 segundos", "pl": "20 sekund"},
"30 seconds": { "en": "30 seconds", "de": "30 Sekunden", "ru": "30 секунд", "pt": "30 segundos", "nl": "30 seconden", "fr": "30 secondes", "it": "30 secondi", "es": "30 segundos", "pl": "30 sekund"},
"1 minute": { "en": "1 minute", "de": "1 Minute", "ru": "1 минуту", "pt": "1 minuto", "nl": "1 minuut", "fr": "1 minute", "it": "1 minuto", "es": "1 minuto", "pl": "1 minuta"},
"2 minutes": { "en": "2 minutes", "de": "2 Minuten", "ru": "2 минуты", "pt": "2 minutos", "nl": "2 minuten", "fr": "2 minutes", "it": "2 minuti", "es": "2 minutos", "pl": "2 minuty"},
"5 minutes": { "en": "5 minutes", "de": "5 Minuten", "ru": "5 минут", "pt": "5 minutos", "nl": "5 minuten", "fr": "5 minutes", "it": "5 minuti", "es": "5 minutos", "pl": "5 minut"},
"10 minutes": { "en": "10 minutes", "de": "10 Minuten", "ru": "10 минут", "pt": "10 minutos", "nl": "10 minuten", "fr": "10 minutes", "it": "10 minuti", "es": "10 minutos", "pl": "10 minut"},
"15 minutes": { "en": "15 minutes", "de": "15 Minuten", "ru": "15 минут", "pt": "15 minutos", "nl": "15 minuten", "fr": "15 minutes", "it": "15 minuti", "es": "15 minutos", "pl": "15 minut"},
"20 minutes": { "en": "20 minutes", "de": "20 Minuten", "ru": "20 минут", "pt": "20 minutos", "nl": "20 minuten", "fr": "20 minutes", "it": "20 minuti", "es": "20 minutos", "pl": "20 minut"},
"30 minutes": { "en": "30 minutes", "de": "30 Minuten", "ru": "30 минут", "pt": "30 minutos", "nl": "30 minuten", "fr": "30 minutes", "it": "30 minuti", "es": "30 minutos", "pl": "30 minut"},
"1 hour": { "en": "1 hour", "de": "1 Stunde", "ru": "1 час", "pt": "1 hora", "nl": "1 uur", "fr": "1 heure", "it": "1 ora", "es": "1 hora", "pl": "1 godzina"},
"2 hours": { "en": "2 hours", "de": "2 Stunden", "ru": "2 часа", "pt": "2 horas", "nl": "twee uur", "fr": "2 heures", "it": "2 ore", "es": "2 horas", "pl": "2 godziny"},
"3 hours": { "en": "3 hours", "de": "3 Stunden", "ru": "3 часа", "pt": "3 horas", "nl": "3 uur", "fr": "3 heures", "it": "3 ore", "es": "3 horas", "pl": "3 godziny"},
"6 hours": { "en": "6 hours", "de": "6 Stunden", "ru": "6 часов", "pt": "6 horas", "nl": "6 uur", "fr": "6 heures", "it": "6 ore", "es": "6 horas", "pl": "6 godzin"},
"12 hours": { "en": "12 hours", "de": "12 Stunden", "ru": "12 часов", "pt": "12 horas", "nl": "12 uren", "fr": "12 heures", "it": "12 ore", "es": "12 horas", "pl": "12 godzin"},
"1 day": { "en": "1 day", "de": "1 Tag", "ru": "1 день", "pt": "1 dia", "nl": "1 dag", "fr": "Un jour", "it": "1 giorno", "es": "1 día", "pl": "1 dzień"},
"2 days": { "en": "2 days", "de": "2 Tage", "ru": "2 дня", "pt": "2 dias", "nl": "2 dagen", "fr": "2 jours", "it": "2 giorni", "es": "2 días", "pl": "2 dni"},
"3 days": { "en": "3 days", "de": "3 Tage", "ru": "3 дня", "pt": "3 dias", "nl": "3 dagen", "fr": "3 jours", "it": "3 giorni", "es": "3 días", "pl": "3 dni"},
"7 days": { "en": "7 days", "de": "7 Tage", "ru": "7 дней", "pt": "7 dias", "nl": "7 dagen", "fr": "7 jours", "it": "7 giorni", "es": "7 días", "pl": "7 dni"},
"14 days": { "en": "14 days", "de": "14 Tage", "ru": "14 дней", "pt": "14 dias", "nl": "14 dagen", "fr": "14 jours", "it": "14 giorni", "es": "14 dias", "pl": "14 dni"},
"1 month": { "en": "1 month", "de": "1 Monat", "ru": "1 месяц", "pt": "1 mês", "nl": "1 maand", "fr": "1 mois", "it": "1 mese", "es": "1 mes", "pl": "1 miesiąc"},
"2 months": { "en": "2 months", "de": "2 Monate", "ru": "2 месяца", "pt": "2 meses", "nl": "2 maanden", "fr": "2 mois", "it": "Due mesi", "es": "2 meses", "pl": "2 miesiące"},
"3 months": { "en": "3 months", "de": "3 Monate", "ru": "3 месяца", "pt": "3 meses", "nl": "3 maanden", "fr": "3 mois", "it": "3 mesi", "es": "3 meses", "pl": "3 miesiące"},
"6 months": { "en": "6 months", "de": "6 Monate", "ru": "6 месяцев", "pt": "6 meses", "nl": "6 maanden", "fr": "6 mois", "it": "6 mesi", "es": "6 meses", "pl": "6 miesięcy"},
"1 year": { "en": "1 year", "de": "1 Jahr", "ru": "1 год", "pt": "1 ano", "nl": "1 jaar", "fr": "1 an", "it": "1 anno", "es": "1 año", "pl": "1 rok"},
"2 years": { "en": "2 years", "de": "2 Jahren", "ru": "2 года", "pt": "2 anos", "nl": "2 jaar", "fr": "2 ans", "it": "2 anni", "es": "2 años", "pl": "2 lata"},
"Width:": { "en": "Width:", "de": "Breite:", "ru": "Ширина:", "pt": "Largura:", "nl": "Breedte:", "fr": "Largeur:", "it": "Larghezza:", "es": "Anchura:", "pl": "Szerokość:"},
"Height:": { "en": "Height:", "de": "Höhe:", "ru": "Высота:", "pt": "Altura:", "nl": "Hoogte:", "fr": "La taille:", "it": "Altezza:", "es": "Altura:", "pl": "Wysokość:"},
"line": { "en": "Line", "de": "Linie", "ru": "Линия", "pt": "Linha", "nl": "Lijn", "fr": "Ligne", "it": "Linea", "es": "Línea", "pl": "Linia"},
"area": { "en": "Area", "de": "Area", "ru": "Область", "pt": "Área", "nl": "Gebied", "fr": "Région", "it": "La zona", "es": "Zona", "pl": "Powierzchnia"},
"bar": { "en": "Bar", "de": "Bar", "ru": "Bar", "pt": "Barra", "nl": "Bar", "fr": "Bar", "it": "Bar", "es": "Bar", "pl": "Bar"},
"lineplot": { "en": "Line plot", "de": "Liniendiagramm", "ru": "Линия с точками", "pt": "Trama de linha", "nl": "Lijnplot", "fr": "Graphique linéaire", "it": "Trama di linea", "es": "Linear plot", "pl": "Fabuła linii"},
"scatterplot": { "en": "Scatter plot", "de": "Streudiagramm", "ru": "Точки", "pt": "Parcela de dispersão", "nl": "Scatterplot", "fr": "Scatter plot", "it": "Trama sparsa", "es": "Gráfico de dispersión", "pl": "Wykres punktowy"},
"steps": { "en": "Steps", "de": "Schritte", "ru": "Шаги", "pt": "Passos", "nl": "Stappen", "fr": "Pas", "it": "passi", "es": "Pasos", "pl": "Kroki"},
"spline": { "en": "Spline", "de": "Spline", "ru": "Сллайн", "pt": "Spline", "nl": "spline", "fr": "Spline", "it": "linguetta", "es": "Ranura", "pl": "Klin"},
"Stack": { "en": "Stack", "de": "Stack", "ru": "Stack", "pt": "Pilha", "nl": "stack", "fr": "Empiler", "it": "Pila", "es": "Apilar", "pl": "Stos"},
"Window background:": { "en": "Window background:", "de": "Fenster-Hintergrund:", "ru": "Фон окна:", "pt": "Fundo da janela:", "nl": "Venster achtergrond:", "fr": "Fond de fenêtre:", "it": "Sfondo della finestra:", "es": "Fondo de la ventana:", "pl": "Tło okna:"},
"Custom chart background:": { "en": "Custom chart background:", "de": "Anwender-Chart-Hintergrund:", "ru": "Пользовательский фон графика:", "pt": "Fundo de gráfico personalizado:", "nl": "Aangepaste grafiek achtergrond:", "fr": "Arrière-plan de graphique personnalisé:", "it": "Sfondo grafico personalizzato:", "es": "Fondo de carta personalizada:", "pl": "Niestandardowe tło wykresu:"},
"Chart background:": { "en": "Chart background:", "de": "Chart-Hintergrund:", "ru": "Фон графика:", "pt": "Contexto do gráfico:", "nl": "Grafiek achtergrond:", "fr": "Arrière-plan du graphique", "it": "Sfondo del grafico:", "es": "Fondo de la carta:", "pl": "Tło wykresu:"},
"X axis labels color:": { "en": "X labels color:", "de": "X Beschriftungsfarbe:", "ru": "Цвет текста по оси X:", "pt": "Cor de etiquetas X:", "nl": "X labels kleur:", "fr": "X étiquettes couleur:", "it": "Colore etichette X:", "es": "X etiquetas de color:", "pl": "Kolor etykiet X:"},
"Y axis labels color:": { "en": "Y labels color:", "de": "Y Beschriftungsfarbe:", "ru": "Цвет текста по оси Y:", "pt": "Etiquetas de etiquetas Y:", "nl": "Y-labels kleur:", "fr": "Couleur des étiquettes Y:", "it": "Il colore delle etichette Y:", "es": "Color de etiquetas Y:", "pl": "Kolor etykiet Y:"},
"Show legend:": { "en": "Show legend:", "de": "Zeige Legende:", "ru": "Показать легенду:", "pt": "Mostrar lenda:", "nl": "Legenda weergeven:", "fr": "Afficher la légende:", "it": "Mostra legenda:", "es": "Mostrar leyenda:", "pl": "Pokaż legendę:"},
"Title:": { "en": "Title:", "de": "Beschriftung:", "ru": "Название:", "pt": "Título:", "nl": "Titel:", "fr": "Titre:", "it": "Titolo:", "es": "Título:", "pl": "Tytuł:"},
"Title position:": { "en": "Title position:", "de": "Beschriftungs-Position:", "ru": "Позиция названия:", "pt": "Posição do título:", "nl": "Titel positie:", "fr": "Titre du poste:", "it": "Posizione del titolo:", "es": "Posición del título:", "pl": "Pozycja tytułu:"},
"Top, left, inside": { "en": "Top, left, inside", "de": "Oben, links, innen", "ru": "Сверху, слева, внутри", "pt": "Topo, esquerda, dentro", "nl": "Boven, links, binnen", "fr": "Haut, gauche, intérieur", "it": "In alto, a sinistra, dentro", "es": "Arriba, izquierda, adentro", "pl": "Góra, lewa, wewnątrz"},
"Top, right, inside": { "en": "Top, right, inside", "de": "Oben, rechts, innen", "ru": "Сверху, справа, внутри", "pt": "Topo, direito, dentro", "nl": "Boven, rechts, binnen", "fr": "En haut, à droite, à l'intérieur", "it": "In alto, a destra, dentro", "es": "Arriba, derecha, adentro", "pl": "Góra, prawo, wewnątrz"},
"Top, center, inside": { "en": "Top, center, inside", "de": "Oben, mittig, innen", "ru": "Сверху, по центру, внутри", "pt": "Topo, centro, dentro", "nl": "Boven, midden, binnenkant", "fr": "Haut, centre, intérieur", "it": "In alto, al centro, dentro", "es": "Arriba, centro, adentro", "pl": "Góra, środek, wnętrze"},
"Middle, left, inside": { "en": "Middle, left, inside", "de": "Middle, links, innen", "ru": "Посередине, слева, внутри", "pt": "Médio, esquerda, dentro", "nl": "Midden, links, binnenkant", "fr": "Milieu, gauche, intérieur", "it": "Medio, a sinistra, dentro", "es": "Medio, izquierdo, adentro", "pl": "Środkowy, lewy, w środku"},
"Middle, right, inside": { "en": "Middle, right, inside", "de": "Middle, rechts, innen", "ru": "Посередине, справа, внутри", "pt": "Médio, direito, dentro", "nl": "Midden, rechts, binnenkant", "fr": "Moyen, droit, intérieur", "it": "Medio, giusto, dentro", "es": "Medio, derecho, adentro", "pl": "Środkowy, prawy, wewnątrz"},
"Bottom, left, inside": { "en": "Bottom, left, inside", "de": "Unten, links, innen", "ru": "Снизу, слева, внутри", "pt": "Parte inferior, esquerda, dentro", "nl": "Onder, links, binnen", "fr": "Bas, gauche, intérieur", "it": "In basso, a sinistra, dentro", "es": "Abajo, izquierda, adentro", "pl": "Dół, lewo, wnętrze"},
"Bottom, right, inside": { "en": "Bottom, right, inside", "de": "Unten, rechts, innen", "ru": "Снизу, справа, внутри", "pt": "Parte inferior, direita, dentro", "nl": "Onder, rechts, binnen", "fr": "En bas, à droite, à l'intérieur", "it": "In basso, a destra, dentro", "es": "Abajo, derecha, adentro", "pl": "Dół, prawo, wewnątrz"},
"Bottom, center, inside": { "en": "Bottom, center, inside", "de": "Unten, mittig, innen", "ru": "Снизу, по центру, внутри", "pt": "No fundo, no centro, no interior", "nl": "Onder, midden, binnen", "fr": "Bas, centre, intérieur", "it": "In basso, al centro, dentro", "es": "Abajo, centro, adentro", "pl": "Dół, środek, wnętrze"},
"Top, right, outside": { "en": "Top, right, outside", "de": "Oben, rechts, außen", "ru": "Сверху, справа, снаружи", "pt": "Topo, direito, fora", "nl": "Boven, rechts, buiten", "fr": "Haut, droit, dehors", "it": "In alto, a destra, fuori", "es": "Arriba, a la derecha, afuera", "pl": "Góra, prawo, na zewnątrz"},
"Middle, right, outside": { "en": "Middle, right, outside", "de": "Middle, rechts, außen", "ru": "Посередине, справа, снаружи", "pt": "Médio, direito, fora", "nl": "Midden, rechts, buiten", "fr": "Moyen, droit, dehors", "it": "Medio, giusto, esterno", "es": "Medio, derecho, afuera", "pl": "Środkowy, prawy, na zewnątrz"},
"Bottom, right, outside": { "en": "Bottom, right, outside", "de": "Unten, rechts, außen", "ru": "Снизу, справа, снаружи", "pt": "Parte inferior, direita, fora", "nl": "Onder, rechts, buiten", "fr": "En bas, à droite, à l'extérieur", "it": "In basso, a destra, fuori", "es": "Abajo, a la derecha, afuera", "pl": "Dół, prawo, na zewnątrz"},
"Bottom, center, outside": { "en": "Bottom, center, outside", "de": "Unten, mittig, außen", "ru": "Снизу, по центру, снаружи", "pt": "Fundo, centro, fora", "nl": "Onder, midden, buiten", "fr": "Bas, centre, extérieur", "it": "In basso, al centro, fuori", "es": "Abajo, centro, afuera", "pl": "Dół, środek, na zewnątrz"},
"Min:": { "en": "Minimum:", "de": "Minimum:", "ru": "Минимум:", "pt": "Mínimo:", "nl": "Minimum:", "fr": "Le minimum:", "it": "Minimo:", "es": "Mínimo:", "pl": "Minimum:"},
"Max:": { "en": "Maximum:", "de": "Maximum:", "ru": "Максимум:", "pt": "Máximo:", "nl": "maximaal:", "fr": "Maximum:", "it": "Massimo:", "es": "Máximo:", "pl": "Maksymalny:"},
"User defined names:": { "en": "User defined names:", "de": "Benutzerdefinierte Namen:", "ru": "Задать имена графиков:", "pt": "Nomes definidos pelo usuário:", "nl": "Door de gebruiker gedefinieerde namen:", "fr": "Noms définis par l'utilisateur:", "it": "Nomi definiti dall'utente:", "es": "Nombres definidos por el usuario:", "pl": "Nazwy zdefiniowane przez użytkownika:"},
"Predefined background:": { "en": "Predefined background:", "de": "Vordefinierter Hintergrund:", "ru": "Выбрать фон:", "pt": "Antecedentes predefinidos:", "nl": "Voorgedefinieerde achtergrond:", "fr": "Arrière-plan prédéfini:", "it": "Sfondo predefinito:", "es": "Antecedentes predefinidos:", "pl": "Wstępnie zdefiniowane tło:"},
"User defined": { "en": "User defined", "de": "Anwenderdefiniert", "ru": "Пользовательские", "pt": "Usuário definido", "nl": "Gebruiker gedefinieerde", "fr": "Défini par l'utilisateur", "it": "Definito dall'utente", "es": "Usuario definido", "pl": "Określony przez użytkownika"},
"Background:": { "en": "Background:", "de": "Hintergrund:", "ru": "Фон:", "pt": "Fundo:", "nl": "Achtergrond:", "fr": "Contexte:", "it": "Sfondo:", "es": "Fondo:", "pl": "Tło:"},
"Hover details:": { "en": "Hover details:", "de": "Hover details:", "ru": "Показывать подсказку:", "pt": "Detalhes do mouse:", "nl": "Hover details:", "fr": "Hover détails:", "it": "Dettagli al passaggio del mouse:", "es": "Hover detalles:", "pl": "Po najechaniu szczegóły:"},
"Time format:": { "en": "Time format:", "de": "Zeitformat:", "ru": "Формат времени:", "pt": "Formato do tempo:", "nl": "Tijd formaat:", "fr": "Format de l'heure:", "it": "Formato orario:", "es": "Formato de tiempo:", "pl": "Format czasu:"},
"Default": { "en": "Default", "de": "Standard", "ru": "по умолчанию", "pt": "Padrão", "nl": "Standaard", "fr": "Défaut", "it": "Predefinito", "es": "Defecto", "pl": "Domyślna"},
"Smoothing": { "en": "Smoothing", "de": "Glätten", "ru": "Сглаживание", "pt": "Suavização", "nl": "smoothing", "fr": "Lissage", "it": "lisciatura", "es": "Suavizado", "pl": "Wygładzanie"},
"After comma": { "en": "After comma", "de": "Nach Komma", "ru": "После запятой", "pt": "Após a vírgula", "nl": "Na een komma", "fr": "Après la virgule", "it": "Dopo la virgola", "es": "Después de la coma", "pl": "Po przecinku"},
"Open": { "en": "Open", "de": "Zeige im Fenster", "ru": "Показать", "pt": "Aberto", "nl": "Open", "fr": "Ouvrir", "it": "Aperto", "es": "Abierto", "pl": "otwarty"},
"Update": { "en": "Update", "de": "Aktualisieren", "ru": "Обновить", "pt": "Atualizar", "nl": "Bijwerken", "fr": "Mettre à jour", "it": "Aggiornare", "es": "Actualizar", "pl": "Aktualizacja"},
"Reset settings": { "en": "Reset settings", "de": "Einstellungen löschen", "ru": "Сбросить настройки", "pt": "Redefinir configurações", "nl": "Reset instellingen", "fr": "Réinitialiser les options", "it": "Ripristina le impostazioni", "es": "Reiniciar ajustes", "pl": "Resetowanie ustawień"},
"From": { "en": "From: ", "de": "Von", "ru": "От", "pt": "A partir de:", "nl": "Van:", "fr": "De:", "it": "A partire dal:", "es": "De:", "pl": "Od:"},
"Last changed": { "en": "Last changed", "de": "Letze Änderung", "ru": "Изменён", "pt": "Última modificação", "nl": "Laatst gewijzigd", "fr": "Dernière modification", "it": "Ultima modifica", "es": "Último cambio", "pl": "Ostatnia zmiana"},
"Time stamp": { "en": "Time stamp", "de": "Zeitstempel", "ru": "Время", "pt": "Marca de horário", "nl": "Tijdstempel", "fr": "Horodatage", "it": "Data e ora", "es": "Marca de tiempo", "pl": "Znak czasu"},
"Acknowledged": { "en": "Acknowledged", "de": "Bestätigt", "ru": "Подтверждён", "pt": "Reconhecido", "nl": "Erkend", "fr": "Reconnu", "it": "Riconosciuto", "es": "Admitido", "pl": "Przyznane"},
"Edit": { "en": "Edit", "de": "Editieren", "ru": "Edit", "pt": "Editar", "nl": "Bewerk", "fr": "modifier", "it": "modificare", "es": "Editar", "pl": "Edytować"},
"Members": { "en": "Members", "de": "Mitglied", "ru": "Объекты", "pt": "Membros", "nl": "leden", "fr": "Membres", "it": "Utenti", "es": "Miembros", "pl": "Członkowie"},
"Loading...": { "en": "Loading...", "de": "Lade...", "ru": "Загрузка...", "pt": "Carregando...", "nl": "Bezig met laden...", "fr": "Chargement...", "it": "Caricamento in corso...", "es": "Cargando...", "pl": "Ładuję..."},
"Processing...": { "en": "Processing...", "de": "Bearbeite...", "ru": "Обработка...", "pt": "Em processamento...", "nl": "Verwerken...", "fr": "En traitement...", "it": "In lavorazione...", "es": "Tratamiento...", "pl": "Przetwarzanie..."},
"With lines": { "en": "With lines", "de": "mit Linien", "ru": "С линиями", "pt": "Com linhas", "nl": "Met lijnen", "fr": "Avec des lignes", "it": "Con le linee", "es": "Con líneas", "pl": "Z liniami"},
"Without lines": { "en": "Without lines", "de": "ohne Linien", "ru": "Без линий", "pt": "Sem linhas", "nl": "Zonder lijnen", "fr": "Sans lignes", "it": "Senza linee", "es": "Sin líneas", "pl": "Bez linii"},
"Inside / With lines": { "en": "Inside / With lines", "de": "Innen / mit Linien", "ru": "Внутри / С линиями", "pt": "Dentro / Com linhas", "nl": "Binnen / met lijnen", "fr": "À l'intérieur / Avec des lignes", "it": "Interno / Con linee", "es": "Dentro / Con líneas", "pl": "Wewnątrz / Z liniami"},
"Outside/ With lines": { "en": "Outside/ With lines", "de": "Außen/ mit Linien", "ru": "Снаружи/ С линиями", "pt": "Fora / Com linhas", "nl": "Buiten / met lijnen", "fr": "Extérieur / Avec lignes", "it": "Esterno / Con linee", "es": "Fuera / Con líneas", "pl": "Na zewnątrz / Z liniami"},
"Inside / No lines": { "en": "Inside / No lines", "de": "Innen / ohne Linien", "ru": "Внутри / Без линий", "pt": "Dentro / Sem linhas", "nl": "Binnenkant / Geen regels", "fr": "À l'intérieur / Pas de lignes", "it": "Dentro / Nessuna linea", "es": "Dentro / Sin líneas", "pl": "Wewnątrz / Bez linii"},
"Outside / No lines": { "en": "Outside / No lines", "de": "Außen / ohne Linien", "ru": "Снаружи / Без линий", "pt": "Fora / Sem linhas", "nl": "Buiten / Geen lijnen", "fr": "Extérieur / Pas de lignes", "it": "Fuori / Nessuna linea", "es": "Fuera / Sin líneas", "pl": "Poza / Bez linii"},
"Interpolate:": { "en": "Interpolate:", "de": "Interpolieren:", "ru": "Интерполяция:", "pt": "Interpolar:", "nl": "Interpoleren:", "fr": "Interpoler:", "it": "Interpolare:", "es": "Interpolar:", "pl": "Interpolować:"},
"Steps": { "en": "Steps", "de": "Schritte", "ru": "Ступени", "pt": "Passos", "nl": "Stappen", "fr": "Pas", "it": "passi", "es": "Pasos", "pl": "Kroki"},
"Pie": { "en": "Pie", "de": "Kuchen", "ru": "Круговая диаграмма", "pt": "Torta", "nl": "Taart", "fr": "Tarte", "it": "Torta", "es": "Tarta", "pl": "Ciasto"},
"Top, left": { "en": "Top, left", "de": "Oben, links", "ru": "Сверху, слева", "pt": "Superior esquerdo", "nl": "Linksboven", "fr": "En haut à gauche", "it": "A sinistra in alto", "es": "Arriba a la izquierda", "pl": "Lewy górny"},
"Top, right": { "en": "Top, right", "de": "Oben, rechts", "ru": "Сверху, справа", "pt": "Canto superior direito", "nl": "Rechtsboven", "fr": "En haut à droite", "it": "In alto a destra", "es": "Parte superior derecha", "pl": "W prawym górnym rogu"},
"Bottom, left": { "en": "Bottom, left", "de": "Unten, links", "ru": "Снизу, слева", "pt": "Inferior esquerdo", "nl": "Linksonder", "fr": "En bas à gauche", "it": "In basso a sinistra", "es": "Abajo, izquierda", "pl": "Na dole po lewej"},
"Bottom, right": { "en": "Bottom, right", "de": "Unten, rechts", "ru": "Снизу, справа", "pt": "Canto inferior direito", "nl": "Rechts onder", "fr": "En bas à droite", "it": "In basso a destra", "es": "Abajo a la derecha", "pl": "Prawy dolny"},
"Title color:": { "en": "Title color:", "de": "Titelfarbe:", "ru": "Цвет названия:", "pt": "Cor do título:", "nl": "Titel kleur:", "fr": "Couleur du titre:", "it": "Colore del titolo:", "es": "Color del título:", "pl": "Kolor tytułu:"},
"Title size:": { "en": "Title size:", "de": "Titelgröße:", "ru": "Размер названия:", "pt": "Tamanho do título:", "nl": "Titel grootte:", "fr": "Taille du titre:", "it": "Dimensione del titolo:", "es": "Tamaño del título:", "pl": "Rozmiar tytułu:"},
"Fill range:": { "en": "Fill range:", "de": "Ganzer Bereich:", "ru": "Всегда весь интервал:", "pt": "Faixa de preenchimento:", "nl": "Vulbereik:", "fr": "Remplir gamme:", "it": "Gamma di riempimento:", "es": "Rango de llenado:", "pl": "Zakres wypełnienia:"},
"Units:": { "en": "Units:", "de": "Einheiten:", "ru": "Единицы:", "pt": "Unidades:", "nl": "units:", "fr": "Unités:", "it": "unità:", "es": "Unidades:", "pl": "Jednostki:"},
"yes": { "en": "yes", "de": "ja", "ru": "да", "pt": "sim", "nl": "Ja", "fr": "Oui", "it": "sì", "es": "sí", "pl": "tak"},
"bottom": { "en": "bottom", "de": "unten", "ru": "снизу", "pt": "inferior", "nl": "bodem", "fr": "bas", "it": "parte inferiore", "es": "fondo", "pl": "Dolny"},
"top": { "en": "top", "de": "oben", "ru": "сверху", "pt": "topo", "nl": "top", "fr": "Haut", "it": "superiore", "es": "parte superior", "pl": "Top"},
"left": { "en": "left", "de": "links", "ru": "слева", "pt": "esquerda", "nl": "links", "fr": "la gauche", "it": "sinistra", "es": "izquierda", "pl": "lewo"},
"right": { "en": "right", "de": "rechts", "ru": "справа", "pt": "certo", "nl": "rechts", "fr": "droite", "it": "destra", "es": "derecho", "pl": "dobrze"},
"No border:": { "en": "No border:", "de": "Kein Rahmen:", "ru": "Без рамки:", "pt": "Sem borda:", "nl": "Geen grens:", "fr": "Pas de frontière:", "it": "Nessun confine:", "es": "Sin bordes:", "pl": "Bez granic:"},
"Time": { "en": "Time", "de": "Zeit", "ru": "Время", "pt": "Tempo", "nl": "Tijd", "fr": "Temps", "it": "Tempo", "es": "Hora", "pl": "Czas"},
"day": { "en": "day", "de": "Tag", "ru": "День", "pt": "dia", "nl": "dag", "fr": "journée", "it": "giorno", "es": "día", "pl": "dzień"},
"month": { "en": "month", "de": "Monat", "ru": "month", "pt": "mês", "nl": "maand", "fr": "mois", "it": "mese", "es": "mes", "pl": "miesiąc"},
"year": { "en": "year", "de": "Jahr", "ru": "year", "pt": "ano", "nl": "jaar", "fr": "an", "it": "anno", "es": "año", "pl": "rok"},
"Individual": { "en": "Individual", "de": "Individuell", "ru": "Индивидуально", "pt": "Individual", "nl": "individu", "fr": "Individuel", "it": "Individuale", "es": "Individual", "pl": "Indywidualny"},
"Aggregation:": { "en": "Type:", "de": "Art:", "ru": "Тип:", "pt": "Tipo:", "nl": "Type:", "fr": "Type:", "it": "Genere:", "es": "Tipo:", "pl": "Rodzaj:"},
"relative": { "en": "relative", "de": "relative", "ru": "относительно", "pt": "relativo", "nl": "familielid", "fr": "relatif", "it": "parente", "es": "relativo", "pl": "krewny"},
"static": { "en": "static", "de": "statik", "ru": "постоянный", "pt": "estático", "nl": "statisch", "fr": "statique", "it": "statico", "es": "estático", "pl": "statyczny"},
"now": { "en": "now", "de": "jetzt", "ru": "сейчас", "pt": "agora", "nl": "nu", "fr": "à présent", "it": "adesso", "es": "ahora", "pl": "teraz"},
"today": { "en": "today", "de": "heute", "ru": "сегодня", "pt": "hoje", "nl": "vandaag", "fr": "aujourd'hui", "it": "oggi", "es": "hoy", "pl": "dzisiaj"},
"this month": { "en": "this month", "de": "dieser Monat", "ru": "этот месяц", "pt": "este mês", "nl": "deze maand", "fr": "ce mois-ci", "it": "questo mese", "es": "este mes", "pl": "ten miesiąc"},
"this year": { "en": "this year", "de": "dieses Jahr", "ru": "этот год", "pt": "este ano", "nl": "dit jaar", "fr": "cette année", "it": "quest'anno", "es": "este año", "pl": "W tym roku"},
"Start:": { "en": "Start:", "de": "Start:", "ru": "Начало:", "pt": "Começar:", "nl": "Begin:", "fr": "Début:", "it": "Inizio:", "es": "Comienzo:", "pl": "Początek:"},
"End:": { "en": "End:", "de": "Ende:", "ru": "Конец:", "pt": "Fim:", "nl": "Einde:", "fr": "Fin:", "it": "Fine:", "es": "Fin:", "pl": "Koniec:"},
"Aggregate": { "en": "Aggregate", "de": "Aggregation", "ru": "Объединение данных", "pt": "Agregar", "nl": "Aggregaat", "fr": "Agrégat", "it": "Aggregato", "es": "Agregar", "pl": "Agregat"},
"Step type:": { "en": "Step type:", "de": "Schritttyp:", "ru": "Шаги:", "pt": "Tipo de etapa:", "nl": "Stap type:", "fr": "Type d'étape:", "it": "Tipo di passaggio:", "es": "Tipo de paso:", "pl": "Rodzaj kroku:"},
"seconds": { "en": "seconds", "de": "Sekunden", "ru": "секунды", "pt": "segundos", "nl": "seconden", "fr": "secondes", "it": "secondi", "es": "segundos", "pl": "sekundy"},
"Seconds": { "en": "Seconds", "de": "Sekunden", "ru": "Cекунды", "pt": "Segundos", "nl": "seconden", "fr": "Secondes", "it": "secondi", "es": "Segundos", "pl": "sekundy"},
"Step span:": { "en": "Step span:", "de": "Schrittweite:", "ru": "Интервал шага:", "pt": "Passo:", "nl": "Stap overspanning:", "fr": "Étape span:", "it": "Intervallo:", "es": "Lapso de paso:", "pl": "Zakres kroku:"},
"Link": { "en": "Link", "de": "Link", "ru": "URL", "pt": "Ligação", "nl": "Link", "fr": "Lien", "it": "collegamento", "es": "Enlazar", "pl": "Połączyć"},
"Counts": { "en": "Counts", "de": "Anzahl", "ru": "Кол-во значений", "pt": "Contagens", "nl": "tellingen", "fr": "Compte", "it": "Conti", "es": "Cuenta", "pl": "Liczy"},
"ignore 'null'": { "en": "ignore 'null'", "de": "'null' ignorieren", "ru": "Игнорировать 'null'", "pt": "ignore 'null'", "nl": "negeer 'null'", "fr": "ignore 'null'", "it": "ignora 'null'", "es": "ignorar 'nulo'", "pl": "zignoruj ​​\"zero\""},
"Time Span": { "en": "Time Span", "de": "Zeit Spanne", "ru": "Временной интервал", "pt": "Intervalo de tempo", "nl": "Tijdspanne", "fr": "Durée", "it": "Arco di tempo", "es": "Espacio de tiempo", "pl": "Okres czasu"},
"Appearance": { "en": "Appearance", "de": "Erscheinung", "ru": "Оформление", "pt": "Aparência", "nl": "Uiterlijk", "fr": "Apparence", "it": "Aspetto", "es": "Apariencia", "pl": "Wygląd"},
"Title": { "en": "Title", "de": "Beschriftung", "ru": "Подпись", "pt": "Título", "nl": "Titel", "fr": "Titre", "it": "Titolo", "es": "Título", "pl": "Tytuł"},
"Offset": { "en": "X-Offset", "de": "X-Offset", "ru": "Сдвиг по Х", "pt": "X-Offset", "nl": "-X Offset", "fr": "X-Offset", "it": "X-Offset", "es": "X-Offset", "pl": "X-Offset"},
"Aggregation": { "en": "Type", "de": "Art", "ru": "Тип", "pt": "Tipo", "nl": "Type", "fr": "Type", "it": "genere", "es": "Tipo", "pl": "Rodzaj"},
"Chart Type": { "en": "Chart Type", "de": "Chart Type", "ru": "Тип графика", "pt": "Tipo de gráfico", "nl": "Diagramtype", "fr": "Type de graphique", "it": "Tipo di grafico", "es": "Tipo de gráfico", "pl": "Typ wykresu"},
"Color": { "en": "Color", "de": "Farbe", "ru": "Цвет", "pt": "Cor", "nl": "Kleur", "fr": "Couleur", "it": "Colore", "es": "Color", "pl": "Kolor"},
"Min": { "en": "Min", "de": "Min", "ru": "Мин", "pt": "Min", "nl": "min", "fr": "Min", "it": "min", "es": "Min.", "pl": "Min"},
"Max": { "en": "Max", "de": "Max", "ru": "Макс", "pt": "Max", "nl": "Max", "fr": "Max", "it": "Max", "es": "Max", "pl": "Max"},
"Unit": { "en": "Unit", "de": "Einheiten", "ru": "Единицы", "pt": "Unidade", "nl": "Eenheid", "fr": "Unité", "it": "Unità", "es": "Unidad", "pl": "Jednostka"},
"Y Axis": { "en": "Y Axis", "de": "Y Axe", "ru": "Ось Y", "pt": "Eixo Y", "nl": "Y-as", "fr": "Axe Y", "it": "Asse Y.", "es": "Eje Y", "pl": "Oś Y."},
"X Axis": { "en": "X Axis", "de": "X Axe", "ru": "Ось X", "pt": "X Axis", "nl": "X-as", "fr": "Axe X", "it": "Asse X.", "es": "Eje X", "pl": "Oś X."},
"update Preview": { "en": "update Preview", "de": "Vorschau aktualisieren", "ru": "Обновить", "pt": "atualização Visualização", "nl": "voorproefje van de nieuwe versie", "fr": "aperçu de mise à jour", "it": "Aggiorna anteprima", "es": "actualización de Vista previa", "pl": "aktualizuj podgląd"},
"Cancel": { "en": "Cancel", "de": "Abbrechen", "ru": "отменить", "pt": "Cancelar", "nl": "Annuleer", "fr": "Annuler", "it": "Annulla", "es": "Cancelar", "pl": "Anuluj"},
"Name": { "en": "Name", "de": "Name", "ru": "Имя", "pt": "Nome", "nl": "Naam", "fr": "prénom", "it": "Nome", "es": "Nombre", "pl": "Nazwa"},
"Live update every:": { "en": "Live update every:", "de": "Autoupdate alle:", "ru": "Обновлять каждые:", "pt": "Atualização ao vivo a cada:", "nl": "Live update elke:", "fr": "Mise à jour en direct tous les:", "it": "Aggiornamento live ogni:", "es": "Actualización en vivo cada:", "pl": "Aktualizacja na żywo co:"},
"counts": { "en": "counts", "de": "Anzahl", "ru": "кол-во", "pt": "contagens", "nl": "tellingen", "fr": "compte", "it": "conta", "es": "conteos", "pl": "liczy"},
"Add new line": { "en": "Add new line", "de": "Linie hinzufügen", "ru": "Добавить&nbsp;линию", "pt": "Adicionar nova linha", "nl": "Voeg een nieuwe regel toe", "fr": "Ajouter une nouvelle ligne", "it": "Aggiungi una nuova linea", "es": "Agregar nueva línea", "pl": "Dodaj nową linię"},
"Animation:": { "en": "Animation:", "de": "Animation:", "ru": "Анимация:", "pt": "Animação:", "nl": "animatie:", "fr": "Animation:", "it": "Animazione:", "es": "Animación:", "pl": "Animacja:"},
"no": { "en": "no", "de": "keine", "ru": "нет", "pt": "não", "nl": "Nee", "fr": "non", "it": "no", "es": "no", "pl": "Nie"},
"0s": { "en": "0 seconds", "de": "0s", "ru": "0c", "pt": "0 segundos", "nl": "0 seconden", "fr": "0 seconde", "it": "0 secondi", "es": "0 segundos", "pl": "0 sekund"},
"300ms": { "en": "300ms", "de": "300ms", "ru": "300мс", "pt": "300ms", "nl": "300ms", "fr": "300ms", "it": "300ms", "es": "300ms", "pl": "300ms"},
"500ms": { "en": "500ms", "de": "500ms", "ru": "500мс", "pt": "500ms", "nl": "500ms", "fr": "500ms", "it": "500ms", "es": "500ms", "pl": "500 ms"},
"1s": { "en": "1 second", "de": "1 Sekunde", "ru": "1 секунда", "pt": "1 segundo", "nl": "1 seconde", "fr": "1 seconde", "it": "1 secondo", "es": "1 segundo", "pl": "1 sekunda"},
"2s": { "en": "2 seconds", "de": "2 Sekunden", "ru": "2 секунды", "pt": "2 segundos", "nl": "2 seconden", "fr": "2 secondes", "it": "2 secondi", "es": "2 segundos", "pl": "2 sekundy"},
"3s": { "en": "3 seconds", "de": "3 Sekunden", "ru": "3 секунды", "pt": "3 segundos", "nl": "3 seconden", "fr": "3 secondes", "it": "3 secondi", "es": "3 segundos", "pl": "3 sekundy"},
"5s": { "en": "5 seconds", "de": "5 Sekunden", "ru": "5 секунд", "pt": "5 segundos", "nl": "5 seconden", "fr": "5 secondes", "it": "5 secondi", "es": "5 segundos", "pl": "5 sekund"},
"10s": { "en": "10 seconds", "de": "10 Sekunden", "ru": "10 секунд", "pt": "10 segundos", "nl": "10 seconden", "fr": "10 secondes", "it": "10 secondi", "es": "10 segundos", "pl": "10 sekund"},
"30s": { "en": "30 seconds", "de": "30 Sekunden", "ru": "30 секунд", "pt": "30 segundos", "nl": "30 seconden", "fr": "30 secondes", "it": "30 secondi", "es": "30 segundos", "pl": "30 sekund"},
"60s": { "en": "60 seconds", "de": "60 Sekunden", "ru": "60 секунд", "pt": "60 segundos", "nl": "60 seconden", "fr": "60 secondes", "it": "60 secondi", "es": "60 segundos", "pl": "60 sekund"},
"2m": { "en": "2 minutes", "de": "2 Minuten", "ru": "2 минуты", "pt": "2 minutos", "nl": "2 minuten", "fr": "2 minutes", "it": "2 minuti", "es": "2 minutos", "pl": "2 minuty"},
"3m": { "en": "3 minutes", "de": "3 Minuten", "ru": "3 минуты", "pt": "3 minutos", "nl": "3 minuten", "fr": "3 minutes", "it": "3 minuti", "es": "3 minutos", "pl": "3 minuty"},
"4m": { "en": "4 minutes", "de": "4 Minuten", "ru": "4 минуты", "pt": "4 minutos", "nl": "4 minuten", "fr": "4 minutes", "it": "4 minuti", "es": "4 minutos", "pl": "4 minuty"},
"5m": { "en": "5 minutes", "de": "5 Minuten", "ru": "5 минут", "pt": "5 minutos", "nl": "5 minuten", "fr": "5 minutes", "it": "5 minuti", "es": "5 minutos", "pl": "5 minut"},
"10m": { "en": "10 minutes", "de": "10 Minuten", "ru": "10 минут", "pt": "10 minutos", "nl": "10 minuten", "fr": "10 minutes", "it": "10 minuti", "es": "10 minutos", "pl": "10 minut"},
"15m": { "en": "15 minutes", "de": "15 Minuten", "ru": "15 минут", "pt": "15 minutos", "nl": "15 minuten", "fr": "15 minutes", "it": "15 minuti", "es": "15 minutos", "pl": "15 minut"},
"30m": { "en": "30 minutes", "de": "30 Minuten", "ru": "30 минут", "pt": "30 minutos", "nl": "30 minuten", "fr": "30 minutes", "it": "30 minuti", "es": "30 minutos", "pl": "30 minut"},
"45m": { "en": "45 minutes", "de": "45 Minuten", "ru": "45 минут", "pt": "45 minutos", "nl": "45 minuten", "fr": "45 minutes", "it": "45 minuti", "es": "45 minutos", "pl": "45 minut"},
"1H": { "en": "1 hour", "de": "1 Stunde", "ru": "1 час", "pt": "1 hora", "nl": "1 uur", "fr": "1 heure", "it": "1 ora", "es": "1 hora", "pl": "1 godzina"},
"2H": { "en": "2 hours", "de": "2 Stunden", "ru": "2 часа", "pt": "2 horas", "nl": "twee uur", "fr": "2 heures", "it": "2 ore", "es": "2 horas", "pl": "2 godziny"},
"6H": { "en": "6 hours", "de": "6 Stunden", "ru": "6 часов", "pt": "6 horas", "nl": "6 uur", "fr": "6 heures", "it": "6 ore", "es": "6 horas", "pl": "6 godzin"},
"12H": { "en": "12 hours", "de": "12 Stunden", "ru": "12 часов", "pt": "12 horas", "nl": "12 uren", "fr": "12 heures", "it": "12 ore", "es": "12 horas", "pl": "12 godzin"},
"1D": { "en": "1 day", "de": "1 Tag", "ru": "1 день", "pt": "1 dia", "nl": "1 dag", "fr": "Un jour", "it": "1 giorno", "es": "1 día", "pl": "1 dzień"},
"2D": { "en": "2 days", "de": "2 Tage", "ru": "2 дня", "pt": "2 dias", "nl": "2 dagen", "fr": "2 jours", "it": "2 giorni", "es": "2 días", "pl": "2 dni"},
"3D": { "en": "3 days", "de": "3 Tage", "ru": "3 дня", "pt": "3 dias", "nl": "3 dagen", "fr": "3 jours", "it": "3 giorni", "es": "3 días", "pl": "3 dni"},
"4D": { "en": "4 days", "de": "4 Tage", "ru": "4 дня", "pt": "4 dias", "nl": "4 dagen", "fr": "4 jours", "it": "4 giorni", "es": "4 dias", "pl": "4 dni"},
"1W": { "en": "1 week", "de": "1 Woche", "ru": "1 неделя", "pt": "1 semana", "nl": "1 week", "fr": "1 semaine", "it": "1 settimana", "es": "1 semana", "pl": "1 tydzień"},
"2W": { "en": "2 weeks", "de": "2 Wochen", "ru": "2 недели", "pt": "2 semanas", "nl": "2 weken", "fr": "2 semaines", "it": "2 settimane", "es": "2 semanas", "pl": "2 tygodnie"},
"4W": { "en": "4 weeks", "de": "4 Wochen", "ru": "4 недели", "pt": "4 semanas", "nl": "4 weken", "fr": "4 semaines", "it": "4 settimane", "es": "4 semanas", "pl": "4 tygodnie"},
"8W": { "en": "8 weeks", "de": "8 Wochen", "ru": "8 недель", "pt": "8 semanas", "nl": "8 weken", "fr": "8 semaines", "it": "8 settimane", "es": "8 semanas", "pl": "8 tygodni"},
"12W": { "en": "12 weeks", "de": "12 Wochen", "ru": "12 недель", "pt": "12 semanas", "nl": "12 weken", "fr": "12 semaines", "it": "12 settimane", "es": "12 semanas", "pl": "12 tygodni"},
"26W": { "en": "26 weeks", "de": "26 Wochen", "ru": "26 недель", "pt": "26 semanas", "nl": "26 weken", "fr": "26 semaines", "it": "26 settimane", "es": "26 semanas", "pl": "26 tygodni"},
"1M": { "en": "1 month", "de": "1 Monat", "ru": "1 месяц", "pt": "1 mês", "nl": "1 maand", "fr": "1 mois", "it": "1 mese", "es": "1 mes", "pl": "1 miesiąc"},
"2M": { "en": "2 months", "de": "2 Monate", "ru": "2 месяца", "pt": "2 meses", "nl": "2 maanden", "fr": "2 mois", "it": "Due mesi", "es": "2 meses", "pl": "2 miesiące"},
"3M": { "en": "3 months", "de": "3 Monate", "ru": "3 месяца", "pt": "3 meses", "nl": "3 maanden", "fr": "3 mois", "it": "3 mesi", "es": "3 meses", "pl": "3 miesiące"},
"6M": { "en": "6 months", "de": "6 Monate", "ru": "6 месяцев", "pt": "6 meses", "nl": "6 maanden", "fr": "6 mois", "it": "6 mesi", "es": "6 meses", "pl": "6 miesięcy"},
"1Y": { "en": "1 year", "de": "1 Jahr", "ru": "1 год", "pt": "1 ano", "nl": "1 jaar", "fr": "1 an", "it": "1 anno", "es": "1 año", "pl": "1 rok"},
"2Y": { "en": "2 years", "de": "2 Jahre", "ru": "2 года", "pt": "2 anos", "nl": "2 jaar", "fr": "2 ans", "it": "2 anni", "es": "2 años", "pl": "2 lata"},
"average": { "en": "average", "de": "mittel", "ru": "среднее", "pt": "média", "nl": "gemiddelde", "fr": "moyenne", "it": "media", "es": "promedio", "pl": "średni"},
"max": { "en": "max", "de": "max", "ru": "макс", "pt": "máximo", "nl": "max", "fr": "max", "it": "max", "es": "máximo", "pl": "maks"},
"min": { "en": "min", "de": "min", "ru": "мин", "pt": "min", "nl": "min", "fr": "min", "it": "min", "es": "min", "pl": "min"},
"total": { "en": "total", "de": "total", "ru": "всего", "pt": "total", "nl": "totaal", "fr": "total", "it": "totale", "es": "total", "pl": "całkowity"},
"off": { "en": "off", "de": "nichts", "ru": "скрыть", "pt": "fora", "nl": "uit", "fr": "de", "it": "via", "es": "apagado", "pl": "poza"},
"leftColor": { "en": "left colored", "de": "links farblich", "ru": "слева цветом", "pt": "colorido esquerdo", "nl": "links gekleurd", "fr": "laissé coloré", "it": "lasciato colorato", "es": "color izquierdo", "pl": "pozostawione w kolorze"},
"rightColor": { "en": "right colored", "de": "rechts farblich", "ru": "справа цветом", "pt": "cor clara", "nl": "rechts gekleurd", "fr": "couleur droite", "it": "giusto colorato", "es": "color derecho", "pl": "prawe kolorowe"},
"topColor": { "en": "top colored", "de": "oben farblich", "ru": "сверху цветом", "pt": "colorido superior", "nl": "bovenaan gekleurd", "fr": "top coloré", "it": "top colorato", "es": "tapa coloreada", "pl": "górne kolorowe"},
"bottomColor": { "en": "bottom colored", "de": "unten farblich", "ru": "снизу цветом", "pt": "colorido inferior", "nl": "onderaan gekleurd", "fr": "fond coloré", "it": "fondo colorato", "es": "color de fondo", "pl": "u dołu w kolorze"},
"default": { "en": "default", "de": "default", "ru": "по умолчанию", "pt": "padrão", "nl": "standaard", "fr": "défaut", "it": "predefinito", "es": "defecto", "pl": "domyślna"},
"Auto-update:": { "en": "Auto-update:", "de": "Auto-update:", "ru": "Обновлять сразу:", "pt": "Atualização automática:", "nl": "Auto update:", "fr": "Mise à jour automatique:", "it": "Aggiornamento automatico:", "es": "Actualización automática:", "pl": "Automatyczna aktualizacja:"},
"Use comma:": { "en": "Use comma:", "de": "Benutze Komma:", "ru": "Запятая-разделитель:", "pt": "Usar vírgula:", "nl": "Gebruik komma:", "fr": "Utilisez une virgule:", "it": "Usa la virgola:", "es": "Usa la coma", "pl": "Użyj przecinka:"},
"Common Y Axis": { "en": "Common Y Axis", "de": "Gemeinsame Y-Achse", "ru": "Общая ось Y", "pt": "Eixo Y comum", "nl": "Gemeenschappelijke Y-as", "fr": "Axe Y commun", "it": "Asse Y comune", "es": "Eje Y común", "pl": "Wspólna oś Y."},
"Instance": { "en": "Instance", "de": "Instanz", "ru": "Драйвер", "pt": "Instância", "nl": "Aanleg", "fr": "Exemple", "it": "Esempio", "es": "Ejemplo", "pl": "Instancja"},
"Line Width": { "en": "Line Width", "de": "Linienstärke", "ru": "Ширина линии", "pt": "Espessura da linha", "nl": "Lijnbreedte", "fr": "Largeur de ligne", "it": "Larghezza della linea", "es": "Ancho de línea", "pl": "Szerokość linii"},
"Shadow Size": { "en": "Shadow Size", "de": "Schattengröße", "ru": "Ширина тени", "pt": "Tamanho da sombra", "nl": "Schaduwgrootte", "fr": "Taille de l'ombre", "it": "Dimensione dell'ombra", "es": "Tamaño de las Sombras", "pl": "Rozmiar cienia"},
"ignore 'null':": { "en": "ignore 'null':", "de": "'null' ignorieren:", "ru": "Игнорировать 'null':", "pt": "ignore 'null':", "nl": "negeer 'null':", "fr": "ignore 'null':", "it": "ignora 'null':", "es": "ignorar 'nulo':", "pl": "zignoruj ​​\"null\":"},
"onchange": { "en": "on change", "de": "bei Änderung", "ru": "при изменении", "pt": "em mudança", "nl": "over verandering", "fr": "sur le changement", "it": "sul cambiamento", "es": "en cambio", "pl": "o zmianie"},
"Border color:": { "en": "Border color:", "de": "Rahmenfarbe:", "ru": "Цвет рамки:", "pt": "Cor da borda:", "nl": "Rand kleur:", "fr": "Couleur de la bordure:", "it": "Colore del bordo:", "es": "Color del borde:", "pl": "Kolor ramki:"},
"Grid color:": { "en": "Grid color:", "de": "Gitterfarbe:", "ru": "Цвет сетки:", "pt": "Cor da grade:", "nl": "Raster kleur:", "fr": "Couleur de la grille:", "it": "Colore griglia:", "es": "Color de cuadrícula", "pl": "Kolor siatki:"},
"Border width:": { "en": "Border width:", "de": "Rahmenbreite:", "ru": "Ширина рамки:", "pt": "Largura da borda:", "nl": "Grensbreedte:", "fr": "Largeur de la bordure:", "it": "Larghezza del bordo:", "es": "Ancho del borde:", "pl": "Szerokość granicy:"},
"Enable zoom and pan:": { "en": "Enable zoom and pan:", "de": "Aktiviere Zoom und Schieben:", "ru": "Разрешить увеличение и сдвиг:", "pt": "Ative o zoom e pan:", "nl": "Zoom en pan inschakelen:", "fr": "Activer le zoom et le panoramique:", "it": "Abilita zoom e panoramica:", "es": "Habilitar zoom y pan:", "pl": "Włącz powiększanie i panoramowanie:"},
"Arrange bools": { "en": "Arrange booleans", "de": "Platziere Booleans", "ru": "Выстроить bool графики", "pt": "Organizar booleanos", "nl": "Booleans regelen", "fr": "Organiser les booléens", "it": "Disporre i booleani", "es": "Organizar booleanos", "pl": "Rozmieść booleans"},
"NULL as": { "en": "NULL as", "de": "NULL als", "ru": "NULL как", "pt": "NULL como", "nl": "NULL als", "fr": "NULL comme", "it": "NULL come", "es": "NULL como", "pl": "NULL as"},
"MinMax": { "en": "MinMax", "de": "MinMax", "ru": "MinMax", "pt": "Mínimo máximo", "nl": "MinMax", "fr": "Min max", "it": "Minimo Massimo", "es": "Mínimo máximo", "pl": "Minimum maksimum"},
"null": { "en": "null", "de": "null", "ru": "null", "pt": "nulo", "nl": "nul", "fr": "nul", "it": "nullo", "es": "nulo", "pl": "zero"},
"true": { "en": "last value", "de": "letztes Wert", "ru": "пред. значение", "pt": "último valor", "nl": "laatste waarde", "fr": "dernière valeur", "it": "ultimo valore", "es": "último valor", "pl": "ostatnia wartość"},
"last value": { "en": "last value", "de": "letztes Wert", "ru": "пред. значение", "pt": "último valor", "nl": "laatste waarde", "fr": "dernière valeur", "it": "ultimo valore", "es": "último valor", "pl": "ostatnia wartość"},
"Hide edit button:": { "en": "Hide edit button:", "de": "Kein 'Edit'-Knopf:", "ru": "Скрыть кнопку 'Редактировать':", "pt": "Ocultar botão de edição:", "nl": "Verberg bewerken knop:", "fr": "Masquer le bouton d'édition:", "it": "Nascondi pulsante di modifica:", "es": "Ocultar botón de edición:", "pl": "Ukryj przycisk edycji:"},
"minmax": { "en": "minmax", "de": "minmax", "ru": "minmax", "pt": "mínimo máximo", "nl": "MinMax", "fr": "min max", "it": "minimo Massimo", "es": "mínimo máximo", "pl": "minimum maksimum"},
"&#216L": { "en": "&#216L", "de": "&#216L", "ru": "&#216L", "pt": "& # 216L", "nl": "& # 216L", "fr": "& # 216L", "it": "& # 216L", "es": "& # 216L", "pl": "& # 216L"},
"&#216S": { "en": "&#216S", "de": "&#216S", "ru": "&#216S", "pt": "& # 216S", "nl": "& # 216S", "fr": "& # 216S", "it": "& # 216S", "es": "& # 216S", "pl": "& # 216S"},
"Line": { "en": "Line", "de": "Linie", "ru": "Линия", "pt": "Linha", "nl": "Lijn", "fr": "Ligne", "it": "Linea", "es": "Línea", "pl": "Linia"},
"false": { "en": "null", "de": "null", "ru": "null", "pt": "nulo", "nl": "nul", "fr": "nul", "it": "nullo", "es": "nulo", "pl": "zero"},
"end of minute": { "en": "end of minute", "de": "Minutenende", "ru": "Конец минуты", "pt": "fim de minuto", "nl": "einde van de minuut", "fr": "fin de minute", "it": "fine del minuto", "es": "fin del minuto", "pl": "koniec minuty"},
"end of 5 minutes": { "en": "end of 5 minutes", "de": "Ende von 5 Minuten", "ru": "Конец 5 minutes", "pt": "fim de 5 minutos", "nl": "einde van 5 minuten", "fr": "fin de 5 minutes", "it": "fine di 5 minuti", "es": "fin de 5 minutos", "pl": "koniec 5 minut"},
"end of 10 minutes": { "en": "end of 10 minutes", "de": "Ende von 10 Minuten", "ru": "Конец 10 minutes", "pt": "fim de 10 minutos", "nl": "einde van 10 minuten", "fr": "fin de 10 minutes", "it": "fine di 10 minuti", "es": "fin de 10 minutos", "pl": "koniec 10 minut"},
"end of 30 minutes": { "en": "end of 30 minutes", "de": "Ende von 30 Minuten", "ru": "Конец 30 minutes", "pt": "fim de 30 minutos", "nl": "einde van 30 minuten", "fr": "fin de 30 minutes", "it": "fine di 30 minuti", "es": "fin de 30 minutos", "pl": "koniec 30 minut"},
"end of hour": { "en": "end of hour", "de": "Stundenende", "ru": "Конец часа", "pt": "fim de hora", "nl": "einde van het uur", "fr": "fin de l'heure", "it": "fine dell'ora", "es": "fin de hora", "pl": "koniec godziny"},
"end of 2 hours": { "en": "end of 2 hours", "de": "Ende von 2 Stunden", "ru": "Конец 2 часов", "pt": "fim de 2 horas", "nl": "einde van 2 uur", "fr": "fin de 2 heures", "it": "fine di 2 ore", "es": "fin de 2 horas", "pl": "koniec 2 godzin"},
"end of 3 hours": { "en": "end of 3 hours", "de": "Ende von 3 Stunden", "ru": "Конец 3 часов", "pt": "fim de 3 horas", "nl": "einde van 3 uur", "fr": "fin de 3 heures", "it": "fine di 3 ore", "es": "fin de 3 horas", "pl": "koniec 3 godzin"},
"end of 4 hours": { "en": "end of 4 hours", "de": "Ende von 4 Stunden", "ru": "Конец 4 часов", "pt": "fim de 4 horas", "nl": "einde van 4 uur", "fr": "fin de 4 heures", "it": "fine di 4 ore", "es": "fin de 4 horas", "pl": "koniec 4 godzin"},
"end of 6 hours": { "en": "end of 6 hours", "de": "Ende von 6 Stunden", "ru": "Конец 6 часов", "pt": "fim de 6 horas", "nl": "einde van 6 uur", "fr": "fin de 6 heures", "it": "fine di 6 ore", "es": "fin de 6 horas", "pl": "koniec 6 godzin"},
"end of 8 hours": { "en": "end of 8 hours", "de": "Ende von 8 Stunden", "ru": "Конец 8 часов", "pt": "fim de 8 horas", "nl": "einde van 8 uur", "fr": "fin de 8 heures", "it": "fine di 8 ore", "es": "fin de 8 horas", "pl": "koniec 8 godzin"},
"end of 12 hours": { "en": "end of 12 hours", "de": "Ende von 12 Stunden", "ru": "Конец 12 часов", "pt": "fim de 12 horas", "nl": "einde van 12 uur", "fr": "fin de 12 heures", "it": "fine di 12 ore", "es": "fin de 12 horas", "pl": "koniec 12 godzin"},
"end of day": { "en": "end of day", "de": "Tagesende", "ru": "Конец дня", "pt": "fim do dia", "nl": "einde van de dag", "fr": "fin de la journée", "it": "fine del giorno", "es": "fin del día", "pl": "koniec dnia"},
"end of sunday": { "en": "end of sunday", "de": "Wochenssende", "ru": "Конец недели", "pt": "fim de domingo", "nl": "einde van zondag", "fr": "fin de dimanche", "it": "fine della domenica", "es": "fin del domingo", "pl": "koniec niedzieli"},
"end of saturday": { "en": "end of saturday", "de": "Samstagsende", "ru": "Конец субботы", "pt": "fim de sábado", "nl": "einde van zaterdag", "fr": "fin de samedi", "it": "fine di sabato", "es": "fin de sabado", "pl": "koniec soboty"},
"1minute": { "en": "end of minute", "de": "Minutenende", "ru": "Конец минуты", "pt": "fim de minuto", "nl": "einde van de minuut", "fr": "fin de minute", "it": "fine del minuto", "es": "fin del minuto", "pl": "koniec minuty"},
"5minutes": { "en": "end of 5 minutes", "de": "Ende von 5 Minuten", "ru": "Конец 5 minutes", "pt": "fim de 5 minutos", "nl": "einde van 5 minuten", "fr": "fin de 5 minutes", "it": "fine di 5 minuti", "es": "fin de 5 minutos", "pl": "koniec 5 minut"},
"10minutes": { "en": "end of 10 minutes", "de": "Ende von 10 Minuten", "ru": "Конец 10 minutes", "pt": "fim de 10 minutos", "nl": "einde van 10 minuten", "fr": "fin de 10 minutes", "it": "fine di 10 minuti", "es": "fin de 10 minutos", "pl": "koniec 10 minut"},
"30minutes": { "en": "end of 30 minutes", "de": "Ende von 30 Minuten", "ru": "Конец 30 minutes", "pt": "fim de 30 minutos", "nl": "einde van 30 minuten", "fr": "fin de 30 minutes", "it": "fine di 30 minuti", "es": "fin de 30 minutos", "pl": "koniec 30 minut"},
"1hour": { "en": "end of hour", "de": "Stundenende", "ru": "Конец часа", "pt": "fim de hora", "nl": "einde van het uur", "fr": "fin de l'heure", "it": "fine dell'ora", "es": "fin de hora", "pl": "koniec godziny"},
"2hours": { "en": "end of 2 hours", "de": "Ende von 2 Stunden", "ru": "Конец 2 часов", "pt": "fim de 2 horas", "nl": "einde van 2 uur", "fr": "fin de 2 heures", "it": "fine di 2 ore", "es": "fin de 2 horas", "pl": "koniec 2 godzin"},
"3hours": { "en": "end of 3 hours", "de": "Ende von 3 Stunden", "ru": "Конец 3 часов", "pt": "fim de 3 horas", "nl": "einde van 3 uur", "fr": "fin de 3 heures", "it": "fine di 3 ore", "es": "fin de 3 horas", "pl": "koniec 3 godzin"},
"4hours": { "en": "end of 4 hours", "de": "Ende von 4 Stunden", "ru": "Конец 4 часов", "pt": "fim de 4 horas", "nl": "einde van 4 uur", "fr": "fin de 4 heures", "it": "fine di 4 ore", "es": "fin de 4 horas", "pl": "koniec 4 godzin"},
"6hours": { "en": "end of 6 hours", "de": "Ende von 6 Stunden", "ru": "Конец 6 часов", "pt": "fim de 6 horas", "nl": "einde van 6 uur", "fr": "fin de 6 heures", "it": "fine di 6 ore", "es": "fin de 6 horas", "pl": "koniec 6 godzin"},
"8hours": { "en": "end of 8 hours", "de": "Ende von 8 Stunden", "ru": "Конец 8 часов", "pt": "fim de 8 horas", "nl": "einde van 8 uur", "fr": "fin de 8 heures", "it": "fine di 8 ore", "es": "fin de 8 horas", "pl": "koniec 8 godzin"},
"12hours": { "en": "end of 12 hours", "de": "Ende von 12 Stunden", "ru": "Конец 12 часов", "pt": "fim de 12 horas", "nl": "einde van 12 uur", "fr": "fin de 12 heures", "it": "fine di 12 ore", "es": "fin de 12 horas", "pl": "koniec 12 godzin"},
"weekEurope": { "en": "end of day", "de": "Tagesende", "ru": "Конец дня", "pt": "fim do dia", "nl": "einde van de dag", "fr": "fin de la journée", "it": "fine del giorno", "es": "fin del día", "pl": "koniec dnia"},
"weekUsa": { "en": "end of sunday", "de": "Wochenssende", "ru": "Конец недели", "pt": "fim de domingo", "nl": "einde van zondag", "fr": "fin de dimanche", "it": "fine della domenica", "es": "fin del domingo", "pl": "koniec niedzieli"},
"Bar settings": { "en": "Bar settings", "de": "Bar-Einstellungen", "ru": "Настройки Bar", "pt": "Configurações da barra", "nl": "Bar-instellingen", "fr": "Paramètres du bar", "it": "Impostazioni della barra", "es": "Configuración de barra", "pl": "Ustawienia paska"},
"Fill color:": { "en": "Fill color:", "de": "Füllfarbe color:", "ru": "Цвет заливки:", "pt": "Cor de preenchimento:", "nl": "Opvulkleur:", "fr": "La couleur de remplissage:", "it": "Colore di riempimento:", "es": "Color de relleno:", "pl": "Kolor wypełnienia:"},
"Show labels:": { "en": "Show labels:", "de": "Zeige Labels:", "ru": "Подписи:", "pt": "Mostrar rótulos:", "nl": "Toon labels:", "fr": "Afficher les étiquettes:", "it": "Mostra etichette:", "es": "Mostrar etiquetas:", "pl": "Pokaż etykiety:"},
"top over": { "en": "top over", "de": "oben über", "ru": "Сверху над", "pt": "mais alto", "nl": "opnieuw gedaan", "fr": "dessus", "it": "sopra", "es": "arriba encima", "pl": "do góry"},
"top under": { "en": "top under", "de": "oben unten", "ru": "Сверху под", "pt": "top sob", "nl": "top onder", "fr": "haut sous", "it": "sopra sotto", "es": "arriba debajo", "pl": "górny pod"},
"middle": { "en": "middle", "de": "mittig", "ru": "В середине", "pt": "meio", "nl": "midden-", "fr": "milieu", "it": "mezzo", "es": "medio", "pl": "środkowy"},
"Bars width:": { "en": "Bars width:", "de": "Barbreite:", "ru": "Ширина бара:", "pt": "Largura das barras:", "nl": "Staaf breedte:", "fr": "Largeur des barres:", "it": "Larghezza delle barre:", "es": "Ancho de barras:", "pl": "Szerokość prętów:"},
"Label font size:": { "en": "Label font size:", "de": "Labelschriftgröße:", "ru": "Шрифт подписи:", "pt": "Etiquetar tamanho da fonte:", "nl": "Label lettergrootte:", "fr": "Étiquette taille de la police:", "it": "Dimensione del carattere dell'etichetta:", "es": "Tamaño de letra de la etiqueta:", "pl": "Rozmiar czcionki etykiety:"},
"Label color:": { "en": "Label color:", "de": "Labelfarbe:", "ru": "Цвет подписи:", "pt": "Cor do rótulo:", "nl": "Label kleur:", "fr": "Étiquette couleur:", "it": "Colore dell'etichetta:", "es": "Color de etiqueta:", "pl": "Kolor etykiety:"},
"Markings": { "en": "Markings", "de": "Markierungen", "ru": "Разметка", "pt": "Marcas", "nl": "markeringen", "fr": "Marquages", "it": "marcature", "es": "Marcas", "pl": "Znakowania"},
"Line ID": { "en": "Line ID", "de": "Linie ID", "ru": "ID линии", "pt": "ID da linha", "nl": "Lijn-ID", "fr": "Id de ligne", "it": "ID linea", "es": "Identificación de línea", "pl": "Identyfikator linii"},
"Fill": { "en": "Fill", "de": "Füllen", "ru": "Заливка", "pt": "Preencher", "nl": "Vullen", "fr": "Remplir", "it": "Riempire", "es": "Llenar", "pl": "Napełnić"},
"ØL": { "en": "ØL", "de": "ØL", "ru": "ØL", "pt": "ØL", "nl": "ØL", "fr": "ØL", "it": "ØL", "es": "ØL", "pl": "ØL"},
"ØS": { "en": "ØS", "de": "ØS", "ru": "ØS", "pt": "ØS", "nl": "Os", "fr": "ØS", "it": "ØS", "es": "ØS", "pl": "ØS"},
"Text": { "en": "Text", "de": "Text", "ru": "Текст", "pt": "Texto", "nl": "Tekst", "fr": "Texte", "it": "Testo", "es": "Texto", "pl": "Tekst"},
"Text position": { "en": "Text position", "de": "Textposition", "ru": "Расположение текста", "pt": "Posição de texto", "nl": "Tekstpositie", "fr": "Position du texte", "it": "Posizione del testo", "es": "Posición del texto", "pl": "Pozycja tekstu"},
"Text offset": { "en": "Text offset", "de": "Text-Offset", "ru": "Сдвиг текста", "pt": "Deslocamento de texto", "nl": "Tekst offset", "fr": "Décalage de texte", "it": "Offset del testo", "es": "Offset de texto", "pl": "Przesunięcie tekstu"},
"Text size": { "en": "Text size", "de": "Textgröße", "ru": "Размер текста", "pt": "Tamanho do texto", "nl": "Lettergrootte", "fr": "Taille du texte", "it": "Dimensione del testo", "es": "Tamano del texto", "pl": "Rozmiar czcionki"},
"Text color": { "en": "Text color", "de": "Textfarbe", "ru": "Цвет текста", "pt": "Cor do texto", "nl": "Tekst kleur", "fr": "Couleur du texte", "it": "Colore del testo", "es": "Color de texto", "pl": "Kolor tekstu"},
"Add new markings": { "en": "Add new markings", "de": "Neue Markierung hinzufügen", "ru": "Добавить разметку", "pt": "Adicionar novas marcações", "nl": "Voeg nieuwe markeringen toe", "fr": "Ajouter de nouvelles marques", "it": "Aggiungi nuovi segni", "es": "Agregar nuevas marcas", "pl": "Dodaj nowe oznaczenia"},
"Left": { "en": "Left", "de": "Links", "ru": "слева", "pt": "Esquerda", "nl": "Links", "fr": "La gauche", "it": "Sinistra", "es": "Izquierda", "pl": "Lewo"},
"Right": { "en": "Right", "de": "Rechts", "ru": "справа", "pt": "Certo", "nl": "Rechts", "fr": "Droite", "it": "Destra", "es": "Derecha", "pl": "Dobrze"},
"Upper value or ID": { "en": "Upper value or ID", "de": "Oberes Wert oder ID", "ru": "Верхнее значение или ID", "pt": "Valor superior ou ID", "nl": "Hoogste waarde of ID", "fr": "Valeur supérieure ou ID", "it": "Valore massimo o ID", "es": "Valor superior o ID", "pl": "Górna wartość lub ID"},
"Lower value or ID": { "en": "Lower value or ID", "de": "Unteres Wert oder ID", "ru": "Нижнее значение или ID", "pt": "Menor valor ou ID", "nl": "Lagere waarde of ID", "fr": "Valeur inférieure ou ID", "it": "Valore più basso o ID", "es": "Menor valor o ID", "pl": "Niższa wartość lub ID"},
"X-Axis ticks": { "en": "X-Axis ticks", "de": "X-Achse-Ticks", "ru": "Кол-во делений на шкале X", "pt": "Carrapatos do X-Axis", "nl": "X-as-teken", "fr": "Tiques de l'axe des X", "it": "Zecche X-Axis", "es": "Garrapatas X-Axis", "pl": "Tiki X-Axis"},
"Y-Axis ticks": { "en": "Y-Axis ticks", "de": "Y-Achse-Ticks", "ru": "Кол-во делений на шкале Y", "pt": "Carrapatos do Y-Axis", "nl": "Y-as tikken", "fr": "Tiques de l'axe des Y", "it": "Zecche dell'asse Y.", "es": "Señales del eje Y", "pl": "Tyksy Y-Axis"},
"ignore null values": { "en": "ignore null values", "de": "null-Werte ignorieren", "ru": "игнорировать значения null", "pt": "ignore valores nulos", "nl": "Negeer waarden negeren", "fr": "ignorer les valeurs nulles", "it": "ignora valori nulli", "es": "ignorar valores nulos", "pl": "ignoruj ​​wartości puste"},
"Ticks from:": { "en": "Use X-ticks from:", "de": "Benutze X-Ticks aus:", "ru": "Подписи X-делений из:", "pt": "Use X-ticks de:", "nl": "Gebruik X-ticks van:", "fr": "Utilisez les X-ticks de:", "it": "Usa X-tick da:", "es": "Use X-ticks desde:", "pl": "Użyj tyknięć X z:"},
"use 0 instead of null values": { "en": "use 0 instead of null values", "de": "0 statt null benutzen", "ru": "Заменять null на 0", "pt": "use 0 em vez de valores nulos", "nl": "gebruik 0 in plaats van nulwaarden", "fr": "utilise 0 au lieu de valeurs nulles", "it": "usa 0 invece di valori nulli", "es": "use 0 en lugar de valores nulos", "pl": "użyj 0 zamiast wartości zerowych"},
"More": { "en": "more", "de": "mehr", "ru": "ещё", "pt": "Mais", "nl": "meer", "fr": "plus", "it": "Di Più", "es": "Más", "pl": "jeszcze"},
"Edit options for line %s": { "en": "Edit options for line %s", "de": "Editieren weitere Einstellungen für Linie %s", "ru": "Редактировать настройки для линии %s", "pt": "Editar opções para a linha% s", "nl": "Bewerk opties voor regel% s", "fr": "Modifier les options pour la ligne% s", "it": "Modifica le opzioni per la riga% s", "es": "Editar opciones para la línea% s", "pl": "Edytuj opcje linii% s"},
"Legend columns:": { "en": "Legend columns:", "de": "Spalten in Legende:", "ru": "Колонок в легенде:", "pt": "Colunas da legenda:", "nl": "Legenda kolommen:", "fr": "Colonnes de légende:", "it": "Colonne della legenda:", "es": "Columnas leyenda", "pl": "Kolumny legendy:"},
"Legend opacity (from 0 to 1):": { "en": "Legend opacity (from 0 to 1):", "de": "Legende-Opacity (von 0 bis 1):", "ru": "Прозрачность легенды (от 0 до 1):", "pt": "Opacidade da legenda (de 0 a 1):", "nl": "Legenda opaciteit (van 0 tot 1):", "fr": "Opacité de la légende (de 0 à 1):", "it": "Opacità della legenda (da 0 a 1):", "es": "Opacidad de la leyenda (de 0 a 1):", "pl": "Krycie Legendy (od 0 do 1):"},
"Legend background:": { "en": "Legend background:", "de": "Legende-Hintergrund:", "ru": "Фон легенды:", "pt": "Legend background:", "nl": "Legenda achtergrond:", "fr": "Contexte de la légende", "it": "Sfondo leggenda:", "es": "Antecedentes de leyenda:", "pl": "Tło legendy:"},
"Fill(0to1)": { "en": "Fill(0to1)", "de": "Füllen(0bis1)", "ru": "Фон(0to1)", "pt": "Preencher (0 a 1)", "nl": "Fill (0to1)", "fr": "Remplir (0to1)", "it": "Fill (0to1)", "es": "Rellenar (0to1)", "pl": "Wypełnij (0to1)"},
"Points": { "en": "Points", "de": "Punkte", "ru": "Точки", "pt": "Pontos", "nl": "punten", "fr": "Points", "it": "Punti", "es": "Puntos", "pl": "Zwrotnica"},
};
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

+239
View File
@@ -0,0 +1,239 @@
.ui-colorpicker,
.ui-dialog.ui-colorpicker {
width: auto;
white-space: nowrap;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-ms-user-select: none;
user-select: none;
}
.ui-colorpicker-inline {
position: static;
}
.ui-colorpicker-buttonset {
float: left;
margin-left: .4em;
}
.ui-colorpicker-buttonset .ui-button {
margin: .5em 0 .5em 0;
cursor: pointer;
}
.ui-colorpicker-buttonpane {
background-image: none;
margin: .7em 0 0 0;
padding: 0 .2em;
border-left: 0;
border-right: 0;
border-bottom: 0;
}
.ui-colorpicker-buttonpane button {
float: right;
margin: .5em .2em .4em;
cursor: pointer;
padding: .2em .6em .3em .6em;
width: auto;
overflow: visible;
}
.ui-colorpicker-buttonpane button.ui-colorpicker-current {
float: left;
}
.ui-colorpicker table {
width: 100%;
font-size: 100%; /* Reset browser table font-size */
margin: 0;
}
.ui-colorpicker table td {
vertical-align: top;
}
.ui-colorpicker-padding-left {
padding-left: 10px;
}
.ui-colorpicker-padding-top {
padding-top: 10px;
}
.ui-colorpicker-border {
border: 1px inset;
display: inline-block;
}
/* Bar & map */
.ui-colorpicker-map > *,
.ui-colorpicker-bar > * {
position: absolute;
cursor: crosshair;
}
.ui-colorpicker-map-pointer,
.ui-colorpicker-bar-pointer {
position: absolute;
left: 0;
}
/* Map */
.ui-colorpicker-map,
.ui-colorpicker-map > * {
display: block;
width: 256px;
height: 256px;
overflow: hidden;
}
.ui-colorpicker-map-layer-1,
.ui-colorpicker-map-layer-2 {
background: url(images/map.png) no-repeat;
}
.ui-colorpicker-map-128,
.ui-colorpicker-map-128 > * {
width: 128px;
height: 128px;
}
.ui-colorpicker-map-128 .ui-colorpicker-map-layer-1,
.ui-colorpicker-map-128 .ui-colorpicker-map-layer-2 {
background: url(images/128/map.png) no-repeat;
}
.ui-colorpicker-map-layer-alpha {
background: url(images/map-opacity.png);
}
.ui-colorpicker-map-pointer {
display: inline-block;
width: 15px;
height: 15px;
background: url(images/map-pointer.png) no-repeat;
}
/* Bar */
.ui-colorpicker-bar,
.ui-colorpicker-bar > * {
display: block;
width: 20px;
height: 256px;
overflow: hidden;
background-repeat: repeat-x;
}
.ui-colorpicker-bar-128,
.ui-colorpicker-bar-128 > * {
height: 128px;
}
.ui-colorpicker-bar-layer-1,
.ui-colorpicker-bar-layer-2,
.ui-colorpicker-bar-layer-3,
.ui-colorpicker-bar-layer-4 {
background: url(images/bar.png) repeat-x;
}
.ui-colorpicker-bar-128 .ui-colorpicker-bar-layer-1,
.ui-colorpicker-bar-128 .ui-colorpicker-bar-layer-2,
.ui-colorpicker-bar-128 .ui-colorpicker-bar-layer-3,
.ui-colorpicker-bar-128 .ui-colorpicker-bar-layer-4 {
background: url(images/128/bar.png) repeat-x;
}
.ui-colorpicker-bar-layer-alpha {
background: url(images/bar-opacity.png);
}
.ui-colorpicker-bar-layer-alphabar {
background: url(images/bar-alpha.png);
}
.ui-colorpicker-bar-128 .ui-colorpicker-bar-layer-alphabar {
background: url(images/128/bar-alpha.png);
}
.ui-colorpicker-bar-pointer {
display: inline-block;
width: 20px;
height: 7px;
background: url(images/bar-pointer.png) no-repeat;
}
/* Preview */
.ui-colorpicker-preview {
text-align: center;
height: 20px;
}
.ui-colorpicker-preview-initial {
cursor: pointer;
}
.ui-colorpicker-preview-initial,
.ui-colorpicker-preview-current {
width: 50px;
height: 20px;
display: inline-block;
}
.ui-colorpicker-preview-initial-alpha,
.ui-colorpicker-preview-current-alpha {
width: 50px;
height: 20px;
display: inline-block;
background: url(images/preview-opacity.png) repeat;
}
/* Inputs */
.ui-colorpicker-rgb label,
.ui-colorpicker-hsv label,
.ui-colorpicker-hsl label,
.ui-colorpicker-lab label,
.ui-colorpicker-cmyk label,
.ui-colorpicker-alpha label {
width: 1.5em;
display: inline-block;
}
.ui-colorpicker-number {
margin: .1em;
width: 4em;
}
/* Hex */
.ui-colorpicker-hex {
text-align: center;
}
/* Swatches */
.ui-colorpicker-swatches {
height: 256px;
overflow: auto;
background-color: #f8f8f8;
}
.ui-colorpicker-swatch {
cursor: pointer;
float: left;
width: 11px;
height: 11px;
border-right: 1px solid black;
border-bottom: 1px solid black;
}
.ui-colorpicker-disabled {
opacity: .5;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
pointer-events: none;
}
.ui-colorpicker-disabled * {
cursor: default !important;
}
+483
View File
@@ -0,0 +1,483 @@
/* The MIT License
Copyright (c) 2011 by Michael Zinsmaier and nergal.dev
Copyright (c) 2012 by Thomas Ritou
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/*
____________________________________________________
what it is:
____________________________________________________
curvedLines is a plugin for flot, that tries to display lines in a smoother way.
This is achieved through adding of more data points. The plugin is a data processor and can thus be used
in combination with standard line / point rendering options.
=> 1) with large data sets you may get trouble
=> 2) if you want to display the points too, you have to plot them as 2nd data series over the lines
=> 3) consecutive x data points are not allowed to have the same value
Feel free to further improve the code
____________________________________________________
how to use it:
____________________________________________________
var d1 = [[5,5],[7,3],[9,12]];
var options = { series: { curvedLines: { active: true }}};
$.plot($("#placeholder"), [{data: d1, lines: { show: true}, curvedLines: {apply: true}}], options);
_____________________________________________________
options:
_____________________________________________________
active: bool true => plugin can be used
apply: bool true => series will be drawn as curved line
monotonicFit: bool true => uses monotone cubic interpolation (preserve monotonicity)
tension: int defines the tension parameter of the hermite spline interpolation (no effect if monotonicFit is set)
nrSplinePoints: int defines the number of sample points (of the spline) in between two consecutive points
deprecated options from flot prior to 1.0.0:
------------------------------------------------
legacyOverride bool true => use old default
OR
legacyOverride optionArray
{
fit: bool true => forces the max,mins of the curve to be on the datapoints
curvePointFactor int defines how many "virtual" points are used per "real" data point to
emulate the curvedLines (points total = real points * curvePointFactor)
fitPointDist: int defines the x axis distance of the additional two points that are used
} to enforce the min max condition.
*/
/*
* v0.1 initial commit
* v0.15 negative values should work now (outcommented a negative -> 0 hook hope it does no harm)
* v0.2 added fill option (thanks to monemihir) and multi axis support (thanks to soewono effendi)
* v0.3 improved saddle handling and added basic handling of Dates
* v0.4 rewritten fill option (thomas ritou) mostly from original flot code (now fill between points rather than to graph bottom), corrected fill Opacity bug
* v0.5 rewritten instead of implementing a own draw function CurvedLines is now based on the processDatapoints flot hook (credits go to thomas ritou).
* This change breakes existing code however CurvedLines are now just many tiny straight lines to flot and therefore all flot lines options (like gradient fill,
* shadow) are now supported out of the box
* v0.6 flot 0.8 compatibility and some bug fixes
* v0.6.x changed versioning schema
*
* v1.0.0 API Break marked existing implementation/options as deprecated
* v1.1.0 added the new curved line calculations based on hermite splines
* v1.1.1 added a rough parameter check to make sure the new options are used
*/
(function($) {
var options = {
series : {
curvedLines : {
active : false,
apply : false,
monotonicFit : false,
tension : 0.5,
nrSplinePoints : 20,
legacyOverride : undefined
}
}
};
function init(plot) {
plot.hooks.processOptions.push(processOptions);
//if the plugin is active register processDatapoints method
function processOptions(plot, options) {
if (options.series.curvedLines.active) {
plot.hooks.processDatapoints.unshift(processDatapoints);
}
}
//only if the plugin is active
function processDatapoints(plot, series, datapoints) {
var nrPoints = datapoints.points.length / datapoints.pointsize;
var EPSILON = 0.005;
//detects missplaced legacy parameters (prior v1.x.x) in the options object
//this can happen if somebody upgrades to v1.x.x without adjusting the parameters or uses old examples
var invalidLegacyOptions = hasInvalidParameters(series.curvedLines);
if (!invalidLegacyOptions && series.curvedLines.apply == true && series.originSeries === undefined && nrPoints > (1 + EPSILON)) {
if (series.lines.fill) {
var pointsTop = calculateCurvePoints(datapoints, series.curvedLines, 1);
var pointsBottom = calculateCurvePoints(datapoints, series.curvedLines, 2);
//flot makes sure for us that we've got a second y point if fill is true !
//Merge top and bottom curve
datapoints.pointsize = 3;
datapoints.points = [];
var j = 0;
var k = 0;
var i = 0;
var ps = 2;
while (i < pointsTop.length || j < pointsBottom.length) {
if (pointsTop[i] == pointsBottom[j]) {
datapoints.points[k] = pointsTop[i];
datapoints.points[k + 1] = pointsTop[i + 1];
datapoints.points[k + 2] = pointsBottom[j + 1];
j += ps;
i += ps;
} else if (pointsTop[i] < pointsBottom[j]) {
datapoints.points[k] = pointsTop[i];
datapoints.points[k + 1] = pointsTop[i + 1];
datapoints.points[k + 2] = k > 0 ? datapoints.points[k - 1] : null;
i += ps;
} else {
datapoints.points[k] = pointsBottom[j];
datapoints.points[k + 1] = k > 1 ? datapoints.points[k - 2] : null;
datapoints.points[k + 2] = pointsBottom[j + 1];
j += ps;
}
k += 3;
}
} else if (series.lines.lineWidth > 0) {
datapoints.points = calculateCurvePoints(datapoints, series.curvedLines, 1);
datapoints.pointsize = 2;
}
}
}
function calculateCurvePoints(datapoints, curvedLinesOptions, yPos) {
if ( typeof curvedLinesOptions.legacyOverride != 'undefined' && curvedLinesOptions.legacyOverride != false) {
var defaultOptions = {
fit : false,
curvePointFactor : 20,
fitPointDist : undefined
};
var legacyOptions = jQuery.extend(defaultOptions, curvedLinesOptions.legacyOverride);
return calculateLegacyCurvePoints(datapoints, legacyOptions, yPos);
}
return calculateSplineCurvePoints(datapoints, curvedLinesOptions, yPos);
}
function calculateSplineCurvePoints(datapoints, curvedLinesOptions, yPos) {
var points = datapoints.points;
var ps = datapoints.pointsize;
//create interpolant fuction
var splines = createHermiteSplines(datapoints, curvedLinesOptions, yPos);
var result = [];
//sample the function
// (the result is intependent from the input data =>
// it is ok to alter the input after this method)
var j = 0;
for (var i = 0; i < points.length - ps; i += ps) {
var curX = i;
var curY = i + yPos;
var xStart = points[curX];
var xEnd = points[curX + ps];
var xStep = (xEnd - xStart) / Number(curvedLinesOptions.nrSplinePoints);
//add point
result.push(points[curX]);
result.push(points[curY]);
//add curve point
for (var x = (xStart += xStep); x < xEnd; x += xStep) {
result.push(x);
result.push(splines[j](x));
}
j++;
}
//add last point
result.push(points[points.length - ps]);
result.push(points[points.length - ps + yPos]);
return result;
}
// Creates an array of splines, one for each segment of the original curve. Algorithm based on the wikipedia articles:
//
// http://de.wikipedia.org/w/index.php?title=Kubisch_Hermitescher_Spline&oldid=130168003 and
// http://en.wikipedia.org/w/index.php?title=Monotone_cubic_interpolation&oldid=622341725 and the description of Fritsch-Carlson from
// http://math.stackexchange.com/questions/45218/implementation-of-monotone-cubic-interpolation
// for a detailed description see https://github.com/MichaelZinsmaier/CurvedLines/docu
function createHermiteSplines(datapoints, curvedLinesOptions, yPos) {
var points = datapoints.points;
var ps = datapoints.pointsize;
// preparation get length (x_{k+1} - x_k) and slope s=(p_{k+1} - p_k) / (x_{k+1} - x_k) of the segments
var segmentLengths = [];
var segmentSlopes = [];
for (var i = 0; i < points.length - ps; i += ps) {
var curX = i;
var curY = i + yPos;
var dx = points[curX + ps] - points[curX];
var dy = points[curY + ps] - points[curY];
segmentLengths.push(dx);
segmentSlopes.push(dy / dx);
}
//get the values for the desired gradients m_k for all points k
//depending on the used method the formula is different
var gradients = [segmentSlopes[0]];
if (curvedLinesOptions.monotonicFit) {
// Fritsch Carlson
for (var i = 1; i < segmentLengths.length; i++) {
var slope = segmentSlopes[i];
var prev_slope = segmentSlopes[i - 1];
if (slope * prev_slope <= 0) { // sign(prev_slope) != sign(slpe)
gradients.push(0);
} else {
var length = segmentLengths[i];
var prev_length = segmentLengths[i - 1];
var common = length + prev_length;
//m = 3 (prev_length + length) / ((2 length + prev_length) / prev_slope + (length + 2 prev_length) / slope)
gradients.push(3 * common / ((common + length) / prev_slope + (common + prev_length) / slope));
}
}
} else {
// Cardinal spline with t € [0,1]
// Catmull-Rom for t = 0
for (var i = ps; i < points.length - ps; i += ps) {
var curX = i;
var curY = i + yPos;
gradients.push(Number(curvedLinesOptions.tension) * (points[curY + ps] - points[curY - ps]) / (points[curX + ps] - points[curX - ps]));
}
}
gradients.push(segmentSlopes[segmentSlopes.length - 1]);
//get the two major coefficients (c'_{oef1} and c'_{oef2}) for each segment spline
var coefs1 = [];
var coefs2 = [];
for (i = 0; i < segmentLengths.length; i++) {
var m_k = gradients[i];
var m_k_plus = gradients[i + 1];
var slope = segmentSlopes[i];
var invLength = 1 / segmentLengths[i];
var common = m_k + m_k_plus - slope - slope;
coefs1.push(common * invLength * invLength);
coefs2.push((slope - common - m_k) * invLength);
}
//create functions with from the coefficients and capture the parameters
var ret = [];
for (var i = 0; i < segmentLengths.length; i ++) {
var spline = function (x_k, coef1, coef2, coef3, coef4) {
// spline for a segment
return function (x) {
var diff = x - x_k;
var diffSq = diff * diff;
return coef1 * diff * diffSq + coef2 * diffSq + coef3 * diff + coef4;
};
};
ret.push(spline(points[i * ps], coefs1[i], coefs2[i], gradients[i], points[i * ps + yPos]));
}
return ret;
};
//no real idea whats going on here code mainly from https://code.google.com/p/flot/issues/detail?id=226
//if fit option is selected additional datapoints get inserted before the curve calculations in nergal.dev s code.
function calculateLegacyCurvePoints(datapoints, curvedLinesOptions, yPos) {
var points = datapoints.points;
var ps = datapoints.pointsize;
var num = Number(curvedLinesOptions.curvePointFactor) * (points.length / ps);
var xdata = new Array;
var ydata = new Array;
var curX = -1;
var curY = -1;
var j = 0;
if (curvedLinesOptions.fit) {
//insert a point before and after the "real" data point to force the line
//to have a max,min at the data point.
var fpDist;
if ( typeof curvedLinesOptions.fitPointDist == 'undefined') {
//estimate it
var minX = points[0];
var maxX = points[points.length - ps];
fpDist = (maxX - minX) / (500 * 100);
//x range / (estimated pixel length of placeholder * factor)
} else {
//use user defined value
fpDist = Number(curvedLinesOptions.fitPointDist);
}
for (var i = 0; i < points.length; i += ps) {
var frontX;
var backX;
curX = i;
curY = i + yPos;
//add point X s
frontX = points[curX] - fpDist;
backX = points[curX] + fpDist;
var factor = 2;
while (frontX == points[curX] || backX == points[curX]) {
//inside the ulp
frontX = points[curX] - (fpDist * factor);
backX = points[curX] + (fpDist * factor);
factor++;
}
//add curve points
xdata[j] = frontX;
ydata[j] = points[curY];
j++;
xdata[j] = points[curX];
ydata[j] = points[curY];
j++;
xdata[j] = backX;
ydata[j] = points[curY];
j++;
}
} else {
//just use the datapoints
for (var i = 0; i < points.length; i += ps) {
curX = i;
curY = i + yPos;
xdata[j] = points[curX];
ydata[j] = points[curY];
j++;
}
}
var n = xdata.length;
var y2 = new Array();
var delta = new Array();
y2[0] = 0;
y2[n - 1] = 0;
delta[0] = 0;
for (var i = 1; i < n - 1; ++i) {
var d = (xdata[i + 1] - xdata[i - 1]);
if (d == 0) {
//point before current point and after current point need some space in between
return [];
}
var s = (xdata[i] - xdata[i - 1]) / d;
var p = s * y2[i - 1] + 2;
y2[i] = (s - 1) / p;
delta[i] = (ydata[i + 1] - ydata[i]) / (xdata[i + 1] - xdata[i]) - (ydata[i] - ydata[i - 1]) / (xdata[i] - xdata[i - 1]);
delta[i] = (6 * delta[i] / (xdata[i + 1] - xdata[i - 1]) - s * delta[i - 1]) / p;
}
for (var j = n - 2; j >= 0; --j) {
y2[j] = y2[j] * y2[j + 1] + delta[j];
}
// xmax - xmin / #points
var step = (xdata[n - 1] - xdata[0]) / (num - 1);
var xnew = new Array;
var ynew = new Array;
var result = new Array;
xnew[0] = xdata[0];
ynew[0] = ydata[0];
result.push(xnew[0]);
result.push(ynew[0]);
for ( j = 1; j < num; ++j) {
//new x point (sampling point for the created curve)
xnew[j] = xnew[0] + j * step;
var max = n - 1;
var min = 0;
while (max - min > 1) {
var k = Math.round((max + min) / 2);
if (xdata[k] > xnew[j]) {
max = k;
} else {
min = k;
}
}
//found point one to the left and one to the right of generated new point
var h = (xdata[max] - xdata[min]);
if (h == 0) {
//similar to above two points from original x data need some space between them
return [];
}
var a = (xdata[max] - xnew[j]) / h;
var b = (xnew[j] - xdata[min]) / h;
ynew[j] = a * ydata[min] + b * ydata[max] + ((a * a * a - a) * y2[min] + (b * b * b - b) * y2[max]) * (h * h) / 6;
result.push(xnew[j]);
result.push(ynew[j]);
}
return result;
}
function hasInvalidParameters(curvedLinesOptions) {
if (typeof curvedLinesOptions.fit != 'undefined' ||
typeof curvedLinesOptions.curvePointFactor != 'undefined' ||
typeof curvedLinesOptions.fitPointDist != 'undefined') {
throw new Error("CurvedLines detected illegal parameters. The CurvedLines API changed with version 1.0.0 please check the options object.");
return true;
}
return false;
}
}//end init
$.plot.plugins.push({
init : init,
options : options,
name : 'curvedLines',
version : '1.1.1'
});
})(jQuery);
File diff suppressed because one or more lines are too long
+112
View File
@@ -0,0 +1,112 @@
(function(deparam){
if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {
var jquery = require('jquery');
module.exports = deparam(jquery);
} else if (typeof define === 'function' && define.amd){
define(['jquery'], function(jquery){
return deparam(jquery);
});
} else {
var global
try {
global = (false || eval)('this'); // best cross-browser way to determine global for < ES5
} catch (e) {
global = window; // fails only if browser (https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives)
}
global.deparam = deparam(jQuery); // assume jQuery is in global namespace
}
})(function ($) {
var deparam = function( params, coerce ) {
var obj = {},
coerce_types = { 'true': !0, 'false': !1, 'null': null };
// Iterate over all name=value pairs.
params.replace(/\+/g, ' ').split('&').forEach(function(v){
var param = v.split( '=' ),
key = decodeURIComponent( param[0] ),
val,
cur = obj,
i = 0,
// If key is more complex than 'foo', like 'a[]' or 'a[b][c]', split it
// into its component parts.
keys = key.split( '][' ),
keys_last = keys.length - 1;
// If the first keys part contains [ and the last ends with ], then []
// are correctly balanced.
if ( /\[/.test( keys[0] ) && /\]$/.test( keys[ keys_last ] ) ) {
// Remove the trailing ] from the last keys part.
keys[ keys_last ] = keys[ keys_last ].replace( /\]$/, '' );
// Split first keys part into two parts on the [ and add them back onto
// the beginning of the keys array.
keys = keys.shift().split('[').concat( keys );
keys_last = keys.length - 1;
} else {
// Basic 'foo' style key.
keys_last = 0;
}
// Are we dealing with a name=value pair, or just a name?
if ( param.length === 2 ) {
val = decodeURIComponent( param[1] );
// Coerce values.
if ( coerce ) {
val = val && !isNaN(val) && ((+val + '') === val) ? +val // number
: val === 'undefined' ? undefined // undefined
: coerce_types[val] !== undefined ? coerce_types[val] // true, false, null
: val; // string
}
if ( keys_last ) {
// Complex key, build deep object structure based on a few rules:
// * The 'cur' pointer starts at the object top-level.
// * [] = array push (n is set to array length), [n] = array if n is
// numeric, otherwise object.
// * If at the last keys part, set the value.
// * For each keys part, if the current level is undefined create an
// object or array based on the type of the next keys part.
// * Move the 'cur' pointer to the next level.
// * Rinse & repeat.
for ( ; i <= keys_last; i++ ) {
key = keys[i] === '' ? cur.length : keys[i];
cur = cur[key] = i < keys_last
? cur[key] || ( keys[i+1] && isNaN( keys[i+1] ) ? {} : [] )
: val;
}
} else {
// Simple key, even simpler rules, since only scalars and shallow
// arrays are allowed.
if ( Object.prototype.toString.call( obj[key] ) === '[object Array]' ) {
// val is already an array, so push on the next value.
obj[key].push( val );
} else if ( {}.hasOwnProperty.call(obj, key) ) {
// val isn't an array, but since a second value has been specified,
// convert val into an array.
obj[key] = [ obj[key], val ];
} else {
// val is a scalar.
obj[key] = val;
}
}
} else if ( key ) {
// No value was defined, so set something meaningful.
obj[key] = coerce
? undefined
: '';
}
});
return obj;
};
$.prototype.deparam = $.deparam = deparam;
return deparam;
});
File diff suppressed because it is too large Load Diff
+7
View File
@@ -0,0 +1,7 @@
/* Javascript plotting library for jQuery, version 0.8.3.
Copyright (c) 2007-2014 IOLA and Ole Laursen.
Licensed under the MIT license.
*/
(function($){var options={xaxis:{categories:null},yaxis:{categories:null}};function processRawData(plot,series,data,datapoints){var xCategories=series.xaxis.options.mode=="categories",yCategories=series.yaxis.options.mode=="categories";if(!(xCategories||yCategories))return;var format=datapoints.format;if(!format){var s=series;format=[];format.push({x:true,number:true,required:true});format.push({y:true,number:true,required:true});if(s.bars.show||s.lines.show&&s.lines.fill){var autoscale=!!(s.bars.show&&s.bars.zero||s.lines.show&&s.lines.zero);format.push({y:true,number:true,required:false,defaultValue:0,autoscale:autoscale});if(s.bars.horizontal){delete format[format.length-1].y;format[format.length-1].x=true}}datapoints.format=format}for(var m=0;m<format.length;++m){if(format[m].x&&xCategories)format[m].number=false;if(format[m].y&&yCategories)format[m].number=false}}function getNextIndex(categories){var index=-1;for(var v in categories)if(categories[v]>index)index=categories[v];return index+1}function categoriesTickGenerator(axis){var res=[];for(var label in axis.categories){var v=axis.categories[label];if(v>=axis.min&&v<=axis.max)res.push([v,label])}res.sort(function(a,b){return a[0]-b[0]});return res}function setupCategoriesForAxis(series,axis,datapoints){if(series[axis].options.mode!="categories")return;if(!series[axis].categories){var c={},o=series[axis].options.categories||{};if($.isArray(o)){for(var i=0;i<o.length;++i)c[o[i]]=i}else{for(var v in o)c[v]=o[v]}series[axis].categories=c}if(!series[axis].options.ticks)series[axis].options.ticks=categoriesTickGenerator;transformPointsOnAxis(datapoints,axis,series[axis].categories)}function transformPointsOnAxis(datapoints,axis,categories){var points=datapoints.points,ps=datapoints.pointsize,format=datapoints.format,formatColumn=axis.charAt(0),index=getNextIndex(categories);for(var i=0;i<points.length;i+=ps){if(points[i]==null)continue;for(var m=0;m<ps;++m){var val=points[i+m];if(val==null||!format[m][formatColumn])continue;if(!(val in categories)){categories[val]=index;++index}points[i+m]=categories[val]}}}function processDatapoints(plot,series,datapoints){setupCategoriesForAxis(series,"xaxis",datapoints);setupCategoriesForAxis(series,"yaxis",datapoints)}function init(plot){plot.hooks.processRawData.push(processRawData);plot.hooks.processDatapoints.push(processDatapoints)}$.plot.plugins.push({init:init,options:options,name:"categories",version:"1.0"})})(jQuery);
+228
View File
@@ -0,0 +1,228 @@
/*
* jQuery.flot.dashes
*
* options = {
* series: {
* dashes: {
*
* // show
* // default: false
* // Whether to show dashes for the series.
* show: <boolean>,
*
* // lineWidth
* // default: 2
* // The width of the dashed line in pixels.
* lineWidth: <number>,
*
* // dashLength
* // default: 10
* // Controls the length of the individual dashes and the amount of
* // space between them.
* // If this is a number, the dashes and spaces will have that length.
* // If this is an array, it is read as [ dashLength, spaceLength ]
* dashLength: <number> or <array[2]>
* }
* }
* }
*/
(function($){
var options = {
series: {
dashes: {
show: false,
lineWidth: 2,
dashLength: 10
}
}
};
function init(plot) {
plot.hooks.drawSeries.push(function(plot, ctx, series) {
if (!series.dashes.show) return;
var plotOffset = plot.getPlotOffset(),
axisx = series.xaxis,
axisy = series.yaxis;
function plotDashes(xoffset, yoffset) {
var points = series.datapoints.points,
ps = series.datapoints.pointsize,
prevx = null,
prevy = null,
dashRemainder = 0,
dashOn = true,
dashOnLength,
dashOffLength;
if (series.dashes.dashLength[0]) {
dashOnLength = series.dashes.dashLength[0];
if (series.dashes.dashLength[1]) {
dashOffLength = series.dashes.dashLength[1];
} else {
dashOffLength = dashOnLength;
}
} else {
dashOffLength = dashOnLength = series.dashes.dashLength;
}
ctx.beginPath();
for (var i = ps; i < points.length; i += ps) {
var x1 = points[i - ps],
y1 = points[i - ps + 1],
x2 = points[i],
y2 = points[i + 1];
if (x1 == null || x2 == null) continue;
// clip with ymin
if (y1 <= y2 && y1 < axisy.min) {
if (y2 < axisy.min) continue; // line segment is outside
// compute new intersection point
x1 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
y1 = axisy.min;
} else if (y2 <= y1 && y2 < axisy.min) {
if (y1 < axisy.min) continue;
x2 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
y2 = axisy.min;
}
// clip with ymax
if (y1 >= y2 && y1 > axisy.max) {
if (y2 > axisy.max) continue;
x1 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
y1 = axisy.max;
} else if (y2 >= y1 && y2 > axisy.max) {
if (y1 > axisy.max) continue;
x2 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
y2 = axisy.max;
}
// clip with xmin
if (x1 <= x2 && x1 < axisx.min) {
if (x2 < axisx.min) continue;
y1 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
x1 = axisx.min;
} else if (x2 <= x1 && x2 < axisx.min) {
if (x1 < axisx.min) continue;
y2 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
x2 = axisx.min;
}
// clip with xmax
if (x1 >= x2 && x1 > axisx.max) {
if (x2 > axisx.max) continue;
y1 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
x1 = axisx.max;
} else if (x2 >= x1 && x2 > axisx.max) {
if (x1 > axisx.max) continue;
y2 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
x2 = axisx.max;
}
if (x1 != prevx || y1 != prevy) {
ctx.moveTo(axisx.p2c(x1) + xoffset, axisy.p2c(y1) + yoffset);
}
var ax1 = axisx.p2c(x1) + xoffset,
ay1 = axisy.p2c(y1) + yoffset,
ax2 = axisx.p2c(x2) + xoffset,
ay2 = axisy.p2c(y2) + yoffset,
dashOffset;
function lineSegmentOffset(segmentLength) {
var c = Math.sqrt(Math.pow(ax2 - ax1, 2) + Math.pow(ay2 - ay1, 2));
if (c <= segmentLength) {
return {
deltaX: ax2 - ax1,
deltaY: ay2 - ay1,
distance: c,
remainder: segmentLength - c
}
} else {
var xsign = ax2 > ax1 ? 1 : -1,
ysign = ay2 > ay1 ? 1 : -1;
return {
deltaX: xsign * Math.sqrt(Math.pow(segmentLength, 2) / (1 + Math.pow((ay2 - ay1)/(ax2 - ax1), 2))),
deltaY: ysign * Math.sqrt(Math.pow(segmentLength, 2) - Math.pow(segmentLength, 2) / (1 + Math.pow((ay2 - ay1)/(ax2 - ax1), 2))),
distance: segmentLength,
remainder: 0
};
}
}
//-end lineSegmentOffset
do {
dashOffset = lineSegmentOffset(
dashRemainder > 0 ? dashRemainder :
dashOn ? dashOnLength : dashOffLength);
if (dashOffset.deltaX != 0 || dashOffset.deltaY != 0) {
if (dashOn) {
ctx.lineTo(ax1 + dashOffset.deltaX, ay1 + dashOffset.deltaY);
} else {
ctx.moveTo(ax1 + dashOffset.deltaX, ay1 + dashOffset.deltaY);
}
}
dashOn = !dashOn;
dashRemainder = dashOffset.remainder;
ax1 += dashOffset.deltaX;
ay1 += dashOffset.deltaY;
} while (dashOffset.distance > 0);
prevx = x2;
prevy = y2;
}
ctx.stroke();
}
//-end plotDashes
ctx.save();
ctx.translate(plotOffset.left, plotOffset.top);
ctx.lineJoin = 'round';
var lw = series.dashes.lineWidth,
sw = series.shadowSize;
// FIXME: consider another form of shadow when filling is turned on
if (lw > 0 && sw > 0) {
// draw shadow as a thick and thin line with transparency
ctx.lineWidth = sw;
ctx.strokeStyle = "rgba(0,0,0,0.1)";
// position shadow at angle from the mid of line
var angle = Math.PI/18;
plotDashes(Math.sin(angle) * (lw/2 + sw/2), Math.cos(angle) * (lw/2 + sw/2));
ctx.lineWidth = sw/2;
plotDashes(Math.sin(angle) * (lw/2 + sw/4), Math.cos(angle) * (lw/2 + sw/4));
}
ctx.lineWidth = lw;
ctx.strokeStyle = series.color;
if (lw > 0) {
plotDashes(0, 0);
}
ctx.restore();
});
//-end draw hook
}
//-end init
$.plot.plugins.push({
init: init,
options: options,
name: 'dashes',
version: '0.1'
});
})(jQuery);
+183
View File
@@ -0,0 +1,183 @@
/*
Flot plugin for computing bottoms for filled line and bar charts.
The case: you've got two series that you want to fill the area
between. In Flot terms, you need to use one as the fill bottom of the
other. You can specify the bottom of each data point as the third
coordinate manually, or you can use this plugin to compute it for you.
In order to name the other series, you need to give it an id, like this
var dataset = [
{ data: [ ... ], id: "foo" } , // use default bottom
{ data: [ ... ], fillBetween: "foo" }, // use first dataset as bottom
];
$.plot($("#placeholder"), dataset, { line: { show: true, fill: true }});
As a convenience, if the id given is a number that doesn't appear as
an id in the series, it is interpreted as the index in the array
instead (so fillBetween: 0 can also mean the first series).
Internally, the plugin modifies the datapoints in each series. For
line series, extra data points might be inserted through
interpolation. Note that at points where the bottom line is not
defined (due to a null point or start/end of line), the current line
will show a gap too. The algorithm comes from the jquery.flot.stack.js
plugin, possibly some code could be shared.
*/
(function ($) {
var options = {
series: { fillBetween: null } // or number
};
function init(plot) {
function findBottomSeries(s, allseries) {
var i;
for (i = 0; i < allseries.length; ++i) {
if (allseries[i].id == s.fillBetween)
return allseries[i];
}
if (typeof s.fillBetween == "number") {
i = s.fillBetween;
if (i < 0 || i >= allseries.length)
return null;
return allseries[i];
}
return null;
}
function computeFillBottoms(plot, s, datapoints) {
if (s.fillBetween == null)
return;
var other = findBottomSeries(s, plot.getData());
if (!other)
return;
var ps = datapoints.pointsize,
points = datapoints.points,
otherps = other.datapoints.pointsize,
otherpoints = other.datapoints.points,
newpoints = [],
px, py, intery, qx, qy, bottom,
withlines = s.lines.show,
withbottom = ps > 2 && datapoints.format[2].y,
withsteps = withlines && s.lines.steps,
fromgap = true,
i = 0, j = 0, l;
while (true) {
if (i >= points.length)
break;
l = newpoints.length;
if (points[i] == null) {
// copy gaps
for (m = 0; m < ps; ++m)
newpoints.push(points[i + m]);
i += ps;
}
else if (j >= otherpoints.length) {
// for lines, we can't use the rest of the points
if (!withlines) {
for (m = 0; m < ps; ++m)
newpoints.push(points[i + m]);
}
i += ps;
}
else if (otherpoints[j] == null) {
// oops, got a gap
for (m = 0; m < ps; ++m)
newpoints.push(null);
fromgap = true;
j += otherps;
}
else {
// cases where we actually got two points
px = points[i];
py = points[i + 1];
qx = otherpoints[j];
qy = otherpoints[j + 1];
bottom = 0;
if (px == qx) {
for (m = 0; m < ps; ++m)
newpoints.push(points[i + m]);
//newpoints[l + 1] += qy;
bottom = qy;
i += ps;
j += otherps;
}
else if (px > qx) {
// we got past point below, might need to
// insert interpolated extra point
if (withlines && i > 0 && points[i - ps] != null) {
intery = py + (points[i - ps + 1] - py) * (qx - px) / (points[i - ps] - px);
newpoints.push(qx);
newpoints.push(intery)
for (m = 2; m < ps; ++m)
newpoints.push(points[i + m]);
bottom = qy;
}
j += otherps;
}
else { // px < qx
if (fromgap && withlines) {
// if we come from a gap, we just skip this point
i += ps;
continue;
}
for (m = 0; m < ps; ++m)
newpoints.push(points[i + m]);
// we might be able to interpolate a point below,
// this can give us a better y
if (withlines && j > 0 && otherpoints[j - otherps] != null)
bottom = qy + (otherpoints[j - otherps + 1] - qy) * (px - qx) / (otherpoints[j - otherps] - qx);
//newpoints[l + 1] += bottom;
i += ps;
}
fromgap = false;
if (l != newpoints.length && withbottom)
newpoints[l + 2] = bottom;
}
// maintain the line steps invariant
if (withsteps && l != newpoints.length && l > 0
&& newpoints[l] != null
&& newpoints[l] != newpoints[l - ps]
&& newpoints[l + 1] != newpoints[l - ps + 1]) {
for (m = 0; m < ps; ++m)
newpoints[l + ps + m] = newpoints[l + m];
newpoints[l + 1] = newpoints[l - ps + 1];
}
}
datapoints.points = newpoints;
}
plot.hooks.processDatapoints.push(computeFillBottoms);
}
$.plot.plugins.push({
init: init,
options: options,
name: 'fillbetween',
version: '1.0'
});
})(jQuery);
+181
View File
@@ -0,0 +1,181 @@
/*
* The MIT License
Copyright (c) 2010,2011,2012, 2013 by Juergen Marsch
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/*
* Added changerequest from Thodoris Greasidis
* It makes growing more
*/
(function ($){
"use strict";
var pluginName = "grow", pluginVersion = "0.4";
var options = {
series: {
grow: {
active: false,
stepDelay: 20,
steps:100,
growings:[
{
valueIndex: 1,
stepMode: "linear",
stepDirection: "up"
}
]
}
}
};
function init(plot) {
var done = false;
var growfunc;
var plt = plot;
var data = null;
var opt = null;
var serie = null;
var valueIndex;
plot.hooks.bindEvents.push(processbindEvents);
plot.hooks.drawSeries.push(processSeries);
plot.hooks.shutdown.push(shutdown);
function processSeries(plot, canvascontext, series){
opt = plot.getOptions();
valueIndex = opt.series.grow.valueIndex;
if(opt.series.grow.active === true){
if (done === false){
data = plot.getData();
data.actualStep = 0;
data.growingIndex = 0;
for (var j = 0; j < data.length; j++){
data[j].dataOrg = clone(data[j].data);
for (var i = 0; i < data[j].data.length; i++){ data[j].data[i][valueIndex] = 0;}
}
plot.setData(data);
done = true;
}
}
}
function processbindEvents(plot,eventHolder){
opt = plot.getOptions();
if (opt.series.grow.active === true){
var d = plot.getData();
for (var j = 0; j < data.length; j++) {
opt.series.grow.steps = Math.max(opt.series.grow.steps, d[j].grow.steps);
}
if(opt.series.grow.stepDelay === 0){ opt.series.grow.stepDelay++;}
growingLoop();
if (isPluginRegistered("resize")) {
plot.getPlaceholder().bind("resize", onResize);
}
}
}
function growingLoop(){
var growing, startTime = new Date(), timeDiff;
if (data.actualStep < opt.series.grow.steps){
data.actualStep++;
for(var j = 0; j < data.length; j++){
for(var g = 0; g < data[j].grow.growings.length; g++){
growing = data[j].grow.growings[g];
if (typeof growing.stepMode === "function"){
growing.stepMode(data[j],data.actualStep,growing);
}
else{
if (growing.stepMode === "linear"){ growLinear();}
else if (growing.stepMode === "maximum"){ growMaximum();}
else if (growing.stepMode === "delay"){ growDelay();}
else{growNone();}
}
}
}
plt.setData(data);
plt.draw();
timeDiff = new Date() - startTime;
growfunc = window.setTimeout(growingLoop, Math.max(0,opt.series.grow.stepDelay - timeDiff));
}
else{ window.clearTimeout(growfunc); growfunc = null; }
function growNone(){
if (data.actualStep === 1){
for (var i = 0; i < data[j].data.length; i++){
data[j].data[i][valueIndex] = data[j].dataOrg[i][growing.valueIndex];
}
}
}
function growLinear(){
if (data.actualStep <= data[j].grow.steps){
for (var i = 0; i < data[j].data.length; i++){
if (growing.stepDirection === "up"){
data[j].data[i][growing.valueIndex] = data[j].dataOrg[i][growing.valueIndex] / data[j].grow.steps * data.actualStep;
}
else if(growing.stepDirection === "down"){
data[j].data[i][growing.valueIndex] = data[j].dataOrg[i][growing.valueIndex] + (data[j].yaxis.max - data[j].dataOrg[i][growing.valueIndex]) / data[j].grow.steps * (data[j].grow.steps - data.actualStep);
}
}
}
}
function growMaximum(){
if (data.actualStep <= data[j].grow.steps){
for (var i = 0; i < data[j].data.length; i++){
if (growing.stepDirection === "up"){
data[j].data[i][growing.valueIndex] = Math.min(data[j].dataOrg[i][growing.valueIndex], data[j].yaxis.max / data[j].grow.steps * data.actualStep);
}
else if (growing.stepDirection === "down"){
data[j].data[i][growing.valueIndex] = Math.max(data[j].dataOrg[i][growing.valueIndex], data[j].yaxis.max / data[j].grow.steps * (data[j].grow.steps - data.actualStep) );
}
}
}
}
function growDelay(){
if (data.actualStep == data[j].grow.steps){
for (var i = 0; i < data[j].data.length; i++){
data[j].data[i][growing.valueIndex] = data[j].dataOrg[i][growing.valueIndex];
}
}
}
}
function onResize() {
if (growfunc) { window.clearTimeout(growfunc); growfunc = null; }
}
function shutdown(plot, eventHolder) {
plot.getPlaceholder().unbind("resize", onResize);
}
function isPluginRegistered(pluginName) {
var plugins = $.plot.plugins;
for (var i = 0, len = plugins.length; i < len; i++) {
var plug = plugins[i];
if (plug.name === pluginName) {
return true;
}
}
return false;
}
function clone(obj){
if(obj === null || typeof(obj) !== 'object'){ return obj;}
var temp = new obj.constructor();
for(var key in obj){temp[key] = clone(obj[key]); }
return temp;
}
}
$.plot.plugins.push({
init: init,
options: options,
name: pluginName,
version: pluginVersion
});
})(jQuery);
+229
View File
@@ -0,0 +1,229 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* Plugin to hide series in flot graphs.
*
* To activate, set legend.hideable to true in the flot options object.
* To hide one or more series by default, set legend.hidden to an array of
* label strings.
*
* At the moment, this only works with line and point graphs.
*
* Example:
*
* var plotdata = [
* {
* data: [[1, 1], [2, 1], [3, 3], [4, 2], [5, 5]],
* label: "graph 1"
* },
* {
* data: [[1, 0], [2, 1], [3, 0], [4, 4], [5, 3]],
* label: "graph 2"
* }
* ];
*
* plot = $.plot($("#placeholder"), plotdata, {
* series: {
* points: { show: true },
* lines: { show: true }
* },
* legend: {
* hideable: true,
* hidden: ["graph 1", "graph 2"]
* }
* });
*
*/
(function ($) {
var options = { };
function init(plot) {
var drawnOnce = false;
function findPlotSeries(label) {
var plotdata = plot.getData();
for (var i = 0; i < plotdata.length; i++) {
if (plotdata[i].label == label) {
return plotdata[i];
}
}
return null;
}
function plotLabelClicked(label, mouseOut) {
var series = findPlotSeries(label);
if (!series) {
return;
}
var options = plot.getOptions();
var switchedOff = false;
if (typeof series.points.oldShow === "undefined") {
series.points.oldShow = false;
}
if (typeof series.lines.oldShow === "undefined") {
series.lines.oldShow = false;
}
if (series.points.show && !series.points.oldShow) {
series.points.show = false;
series.points.oldShow = true;
switchedOff = true;
}
if (series.lines.show && !series.lines.oldShow) {
series.lines.show = false;
series.lines.oldShow = true;
switchedOff = true;
}
if (switchedOff) {
series.oldColor = series.color;
series.color = "#fff";
setHidden(options, label, true);
} else {
var switchedOn = false;
if (!series.points.show && series.points.oldShow) {
series.points.show = true;
series.points.oldShow = false;
switchedOn = true;
}
if (!series.lines.show && series.lines.oldShow) {
series.lines.show = true;
series.lines.oldShow = false;
switchedOn = true;
}
if (switchedOn) {
series.color = series.oldColor;
setHidden(options, label, false);
}
}
}
function setSetupRedraw () {
// HACK: Reset the data, triggering recalculation of graph bounds
plot.setData(plot.getData());
plot.setupGrid();
plot.draw();
}
function setHidden(options, label, hide) {
// Record state to a new variable in the legend option object.
if (!options.legend.hidden) {
options.legend.hidden = [];
}
var pos = options.legend.hidden.indexOf(label);
if (hide) {
if (pos < 0) {
options.legend.hidden.push(label);
}
} else {
if (pos > -1) {
options.legend.hidden.splice(pos, 1);
}
}
}
function setHideAction(elem) {
elem.mouseenter(function() { $(this).css("cursor", "pointer"); })
.mouseleave(function() { $(this).css("cursor", "default"); })
.unbind("click").click(function() {
if ($(this).is(".legendColorBox")) {
plotLabelClicked($(this).next('.legendLabel').text());
} else {
plotLabelClicked($(this).parent().text());
}
setSetupRedraw();
});
}
function plotLabelHandlers(plot) {
var options = plot.getOptions();
if (!options.legend.hideable) {
return;
}
var p = plot.getPlaceholder();
setHideAction(p.find(".graphlabel"));
setHideAction(p.find(".legendColorBox"));
if (!drawnOnce) {
drawnOnce = true;
if (options.legend.hidden) {
for (var i = 0; i < options.legend.hidden.length; i++) {
plotLabelClicked(options.legend.hidden[i], true);
}
setSetupRedraw();
}
}
}
function checkOptions(plot, options) {
if (!options.legend.hideable) {
return;
}
options.legend.labelFormatter = function(label, series) {
return '<span class="graphlabel">' + label + '</span>';
};
}
function hideDatapointsIfNecessary(plot, s, datapoints) {
var options = plot.getOptions();
if (!options.legend.hideable) {
return;
}
if (options.legend.hidden &&
options.legend.hidden.indexOf(s.label) > -1) {
var off = false;
if (s.points.show) {
s.points.show = false;
s.points.oldShow = true;
off = true;
}
if (s.lines.show) {
s.lines.show = false;
s.lines.oldShow = true;
off = true;
}
if (off) {
s.oldColor = s.color;
s.color = "#fff";
}
}
if (!s.points.show && !s.lines.show) {
s.datapoints.format = [ null, null ];
}
}
plot.hooks.processOptions.push(checkOptions);
plot.hooks.draw.push(function (plot, ctx) {
plotLabelHandlers(plot);
});
plot.hooks.processDatapoints.push(hideDatapointsIfNecessary);
}
$.plot.plugins.push({
init: init,
options: options,
name: 'hiddenGraphs',
version: '1.1'
});
})(jQuery);
File diff suppressed because it is too large Load Diff
+8
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
/* Javascript plotting library for jQuery, version 0.8.3.
Copyright (c) 2007-2014 IOLA and Ole Laursen.
Licensed under the MIT license.
*/
(function($,e,t){"$:nomunge";var i=[],n=$.resize=$.extend($.resize,{}),a,r=false,s="setTimeout",u="resize",m=u+"-special-event",o="pendingDelay",l="activeDelay",f="throttleWindow";n[o]=200;n[l]=20;n[f]=true;$.event.special[u]={setup:function(){if(!n[f]&&this[s]){return false}var e=$(this);i.push(this);e.data(m,{w:e.width(),h:e.height()});if(i.length===1){a=t;h()}},teardown:function(){if(!n[f]&&this[s]){return false}var e=$(this);for(var t=i.length-1;t>=0;t--){if(i[t]==this){i.splice(t,1);break}}e.removeData(m);if(!i.length){if(r){cancelAnimationFrame(a)}else{clearTimeout(a)}a=null}},add:function(e){if(!n[f]&&this[s]){return false}var i;function a(e,n,a){var r=$(this),s=r.data(m)||{};s.w=n!==t?n:r.width();s.h=a!==t?a:r.height();i.apply(this,arguments)}if($.isFunction(e)){i=e;return a}else{i=e.handler;e.handler=a}}};function h(t){if(r===true){r=t||1}for(var s=i.length-1;s>=0;s--){var l=$(i[s]);if(l[0]==e||l.is(":visible")){var f=l.width(),c=l.height(),d=l.data(m);if(d&&(f!==d.w||c!==d.h)){l.trigger(u,[d.w=f,d.h=c]);r=t||true}}else{d=l.data(m);d.w=0;d.h=0}}if(a!==null){if(r&&(t==null||t-r<1e3)){a=e.requestAnimationFrame(h)}else{a=setTimeout(h,n[o]);r=false}}}if(!e.requestAnimationFrame){e.requestAnimationFrame=function(){return e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(t,i){return e.setTimeout(function(){t((new Date).getTime())},n[l])}}()}if(!e.cancelAnimationFrame){e.cancelAnimationFrame=function(){return e.webkitCancelRequestAnimationFrame||e.mozCancelRequestAnimationFrame||e.oCancelRequestAnimationFrame||e.msCancelRequestAnimationFrame||clearTimeout}()}})(jQuery,this);(function($){var options={};function init(plot){function onResize(){var placeholder=plot.getPlaceholder();if(placeholder.width()==0||placeholder.height()==0)return;plot.resize();plot.setupGrid();plot.draw()}function bindEvents(plot,eventHolder){plot.getPlaceholder().resize(onResize)}function shutdown(plot,eventHolder){plot.getPlaceholder().unbind("resize",onResize)}plot.hooks.bindEvents.push(bindEvents);plot.hooks.shutdown.push(shutdown)}$.plot.plugins.push({init:init,options:options,name:"resize",version:"1.0"})})(jQuery);
File diff suppressed because one or more lines are too long
+217
View File
@@ -0,0 +1,217 @@
/**
* Flot plugin that provides spline interpolation for line graphs
* author: Alex Bardas < alex.bardas@gmail.com >
* modified by: Avi Kohn https://github.com/AMKohn
* based on the spline interpolation described at:
* http://scaledinnovation.com/analytics/splines/aboutSplines.html
*
* Example usage: (add in plot options series object)
* for linespline:
* series: {
* ...
* lines: {
* show: false
* },
* splines: {
* show: true,
* tension: x, (float between 0 and 1, defaults to 0.5),
* lineWidth: y (number, defaults to 2),
* fill: z (float between 0 .. 1 or false, as in flot documentation)
* },
* ...
* }
* areaspline:
* series: {
* ...
* lines: {
* show: true,
* lineWidth: 0, (line drawing will not execute)
* fill: x, (float between 0 .. 1, as in flot documentation)
* ...
* },
* splines: {
* show: true,
* tension: 0.5 (float between 0 and 1)
* },
* ...
* }
*
*/
(function($) {
'use strict'
/**
* @param {Number} x0, y0, x1, y1: coordinates of the end (knot) points of the segment
* @param {Number} x2, y2: the next knot (not connected, but needed to calculate p2)
* @param {Number} tension: control how far the control points spread
* @return {Array}: p1 -> control point, from x1 back toward x0
* p2 -> the next control point, returned to become the next segment's p1
*
* @api private
*/
function getControlPoints(x0, y0, x1, y1, x2, y2, tension) {
var pow = Math.pow,
sqrt = Math.sqrt,
d01, d12, fa, fb, p1x, p1y, p2x, p2y;
// Scaling factors: distances from this knot to the previous and following knots.
d01 = sqrt(pow(x1 - x0, 2) + pow(y1 - y0, 2));
d12 = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));
fa = tension * d01 / (d01 + d12);
fb = tension - fa;
p1x = x1 + fa * (x0 - x2);
p1y = y1 + fa * (y0 - y2);
p2x = x1 - fb * (x0 - x2);
p2y = y1 - fb * (y0 - y2);
return [p1x, p1y, p2x, p2y];
}
var line = [];
function drawLine(points, ctx, height, fill, seriesColor) {
var c = $.color.parse(seriesColor);
c.a = typeof fill == "number" ? fill : .3;
c.normalize();
c = c.toString();
ctx.beginPath();
ctx.moveTo(points[0][0], points[0][1]);
var plength = points.length;
for (var i = 0; i < plength; i++) {
try {
ctx[points[i][3]].apply(ctx, points[i][2]);
} catch(e) {
console.log(e);
break;
}
}
ctx.stroke();
ctx.lineWidth = 0;
ctx.lineTo(points[plength - 1][0], height);
ctx.lineTo(points[0][0], height);
ctx.closePath();
if (fill !== false) {
ctx.fillStyle = c;
ctx.fill();
}
}
/**
* @param {Object} ctx: canvas context
* @param {String} type: accepted strings: 'bezier' or 'quadratic' (defaults to quadratic)
* @param {Array} points: 2 points for which to draw the interpolation
* @param {Array} cpoints: control points for those segment points
*
* @api private
*/
function queue(ctx, type, points, cpoints) {
if (type === void 0 || (type !== 'bezier' && type !== 'quadratic')) {
type = 'quadratic';
}
type = type + 'CurveTo';
if (line.length == 0) line.push([points[0], points[1], cpoints.concat(points.slice(2)), type]);
else if (type == "quadraticCurveTo" && points.length == 2) {
cpoints = cpoints.slice(0, 2).concat(points);
line.push([points[0], points[1], cpoints, type]);
}
else line.push([points[2], points[3], cpoints.concat(points.slice(2)), type]);
}
/**
* @param {Object} plot
* @param {Object} ctx: canvas context
* @param {Object} series
*
* @api private
*/
function drawSpline(plot, ctx, series) {
// Not interested if spline is not requested
if (series.splines.show !== true) {
return;
}
var cp = [],
// array of control points
tension = series.splines.tension || 0.5,
idx, x, y, points = series.datapoints.points,
ps = series.datapoints.pointsize,
plotOffset = plot.getPlotOffset(),
len = points.length,
pts = [];
line = [];
// Cannot display a linespline/areaspline if there are less than 3 points
if (len / ps < 4) {
$.extend(series.lines, series.splines);
return;
}
for (idx = 0; idx < len; idx += ps) {
x = points[idx];
y = points[idx + 1];
if (x == null || x < series.xaxis.min || x > series.xaxis.max || y < series.yaxis.min || y > series.yaxis.max) {
continue;
}
pts.push(series.xaxis.p2c(x) + plotOffset.left, series.yaxis.p2c(y) + plotOffset.top);
}
len = pts.length;
// Draw an open curve, not connected at the ends
for (idx = 0; idx < len - 2; idx += 2) {
cp = cp.concat(getControlPoints.apply(this, pts.slice(idx, idx + 6).concat([tension])));
}
ctx.save();
ctx.strokeStyle = series.color;
ctx.lineWidth = series.splines.lineWidth;
queue(ctx, 'quadratic', pts.slice(0, 4), cp.slice(0, 2));
for (idx = 2; idx < len - 3; idx += 2) {
queue(ctx, 'bezier', pts.slice(idx, idx + 4), cp.slice(2 * idx - 2, 2 * idx + 2));
}
queue(ctx, 'quadratic', pts.slice(len - 2, len), [cp[2 * len - 10], cp[2 * len - 9], pts[len - 4], pts[len - 3]]);
drawLine(line, ctx, plot.height() + 10, series.splines.fill, series.color);
ctx.restore();
}
$.plot.plugins.push({
init: function(plot) {
plot.hooks.drawSeries.push(drawSpline);
},
options: {
series: {
splines: {
show: false,
lineWidth: 2,
tension: 0.5,
fill: false
}
}
},
name: 'spline',
version: '0.8.2'
});
})(jQuery);
File diff suppressed because one or more lines are too long