{% set graph_input_ids = widget_options['measurements_input'] %} {% set graph_math_ids = widget_options['measurements_math'] %} {% set graph_function_ids = widget_options['measurements_function'] %} {% set graph_output_ids = widget_options['measurements_output'] %} {% set graph_pid_ids = widget_options['measurements_pid'] %} {% set graph_note_tag_ids = widget_options['measurements_note_tag'] %} chart[{{chart_number}}] = new Highcharts.StockChart({ chart : { renderTo: 'container-synchronous-graph-{{each_widget.unique_id}}', zoomType: 'x', alignTicks: {% if widget_options['enable_align_ticks'] %}true{% else %}false{% endif %}, resetZoomButton: { theme: { display: 'none' } }, events: { load: function () { {% set count_series = [] -%} {%- for input_and_measurement_ids in graph_input_ids -%} {%- set input_id = input_and_measurement_ids.split(',')[0] -%} {%- set measurement_id = input_and_measurement_ids.split(',')[1] -%} {%- set all_input = table_input.query.filter(table_input.unique_id == input_id).all() -%} {%- if all_input -%} {% for each_input in all_input %} getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_input.unique_id}}', 'input', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}}); {% if widget_options['enable_auto_refresh'] -%} getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_input.unique_id}}', 'input', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {%- endif -%} {%- do count_series.append(1) -%} {%- endfor -%} {%- endif -%} {%- endfor -%} {%- for math_and_measurement_ids in graph_math_ids -%} {%- set math_id = math_and_measurement_ids.split(',')[0] -%} {%- set measurement_id = math_and_measurement_ids.split(',')[1] -%} {%- set all_math = table_math.query.filter(table_math.unique_id == math_id).all() -%} {%- if all_math -%} {% for each_math in all_math %} getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_math.unique_id}}', 'math', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}}); {% if widget_options['enable_auto_refresh'] %} getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_math.unique_id}}', 'math', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {% endif %} {%- do count_series.append(1) %} {%- endfor -%} {%- endif -%} {%- endfor -%} {%- for function_and_measurement_ids in graph_function_ids -%} {%- set function_id = function_and_measurement_ids.split(',')[0] -%} {%- set measurement_id = function_and_measurement_ids.split(',')[1] -%} {%- set all_function = table_function.query.filter(table_function.unique_id == function_id).all() -%} {%- if all_function -%} {% for each_function in all_function %} getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_function.unique_id}}', 'function', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}}); {% if widget_options['enable_auto_refresh'] %} getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_function.unique_id}}', 'function', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {% endif %} {%- do count_series.append(1) %} {%- endfor -%} {%- endif -%} {%- endfor -%} {%- for output_and_measurement_ids in graph_output_ids -%} {%- set output_id = output_and_measurement_ids.split(',')[0] -%} {%- set measurement_id = output_and_measurement_ids.split(',')[1] -%} {%- set all_output = table_output.query.filter(table_output.unique_id == output_id).all() -%} {%- if all_output -%} {% for each_output in all_output %} getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_output.unique_id}}', 'output', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}}); {% if widget_options['enable_auto_refresh'] -%} getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_output.unique_id}}', 'output', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {%- endif -%} {%- do count_series.append(1) -%} {%- endfor -%} {%- endif -%} {%- endfor -%} {%- for each_pid in pid -%} {%- for pid_and_measurement_id in graph_pid_ids if each_pid.unique_id == pid_and_measurement_id.split(',')[0] %} {%- set measurement_id = pid_and_measurement_id.split(',')[1] -%} getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_pid.unique_id}}', 'pid', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}}); {% if widget_options['enable_auto_refresh'] %} getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_pid.unique_id}}', 'pid', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {% endif %} {%- do count_series.append(1) %} {%- endfor -%} {%- endfor -%} {%- for each_tag in tags -%} {%- for tag_and_measurement_id in graph_note_tag_ids if each_tag.unique_id == tag_and_measurement_id.split(',')[0] %} {%- set measurement_id = tag_and_measurement_id.split(',')[1] -%} getPastDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_tag.unique_id}}', 'tag', '{{measurement_id}}', {{widget_options['x_axis_minutes']*60}}); {% if widget_options['enable_auto_refresh'] %} getLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_tag.unique_id}}', 'tag', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {% endif %} {%- do count_series.append(1) %} {%- endfor -%} {%- endfor -%} } } }, {% if widget_options['use_custom_colors'] and widget_options['custom_colors'] -%} {% set color_list = widget_options['custom_colors'] %} colors: [ {%- for each_color in color_list -%} "{{each_color}}", {%- endfor -%}], {%- endif -%} title: { text: '{% if widget_options['enable_title'] %}{{each_widget.name}}{% endif %}' }, legend: { enabled: {% if widget_options['enable_graph_legend'] %}true{% else %}false{% endif %} }, xAxis: { type: 'datetime', ordinal: false }, yAxis: [ {% for each_axis_meas in widget_variables['y_axes'] if each_axis_meas in dict_units %} { {% if widget_options['enable_manual_y_axis'] and widget_variables['custom_yaxes'][each_axis_meas]['minimum'] != widget_variables['custom_yaxes'][each_axis_meas]['maximum'] %} min: {{widget_variables['custom_yaxes'][each_axis_meas]['minimum']}}, max: {{widget_variables['custom_yaxes'][each_axis_meas]['maximum']}}, startOnTick: {% if widget_options['enable_start_on_tick'] %}true{% else %}false{% endif %}, endOnTick: {% if widget_options['enable_end_on_tick'] %}true{% else %}false{% endif %}, {% endif %} title: { text: '{{dict_units[each_axis_meas]['name']}} {%- if dict_units[each_axis_meas]['unit'] != '' -%} {{' (' + dict_units[each_axis_meas]['unit'] + ')'}} {%- endif -%}' }, labels: { format: '{value}' }, opposite: false, id: '{{each_axis_meas}}' }, {% endfor %} ], exporting: { enabled: {% if widget_options['enable_export'] %}true{% else %}false{% endif %}, fallbackToExportServer: false, }, navigator: { enabled: {% if widget_options['enable_navbar'] %}true{% else %}false{% endif %} }, scrollbar: { enabled: false }, rangeSelector: { enabled: {% if widget_options['enable_range_selector'] %}true{% else %}false{% endif %}, buttons: [{ count: 1, type: 'minute', text: '1m' }, { count: 5, type: 'minute', text: '5m' }, { count: 15, type: 'minute', text: '15m' }, { count: 30, type: 'minute', text: '30m' }, { type: 'hour', count: 1, text: '1h' }, { type: 'hour', count: 6, text: '6h' }, { type: 'day', count: 1, text: '1d' }, { type: 'week', count: 1, text: '1w' }, { type: 'month', count: 1, text: '1m' }, { type: 'month', count: 3, text: '3m' }, { type: 'all', text: 'Full' }], selected: 15 }, credits: { enabled: false, href: "https://github.com/kizniche/Mycodo", text: "Mycodo" }, tooltip: { shared: true, useHTML: true, formatter: function(){ const d = new Date(this.x); if (this.point) { return ''+ Highcharts.dateFormat('%B %e, %Y %H:%M:%S.', this.x) + d.getMilliseconds() + '
' + this.series.name + '
' + this.point.title + '
' + this.point.text; } else { let s = '' + Highcharts.dateFormat('%B %e, %Y %H:%M:%S.', this.x) + d.getMilliseconds() + ''; $.each(this.points, function(i, point) { s += '
' + point.series.name + ': ' + Highcharts.numberFormat(point.y, this.series.tooltipOptions.valueDecimals) + ' ' + this.series.tooltipOptions.valueSuffix; }); return s; } } }, plotOptions: { column: { maxPointWidth: 3 /* limit the maximum column width. */ } }, {# // Generate thermal image from pixel data#} {# // point click event opens image in a new window#} {# plotOptions: {#} {# series: {#} {# cursor: 'pointer',#} {# point: {#} {# events: {#} {# click: function () {#} {# URL = '/generate_thermal_image/f36ce034-3129-456d-b877-ff0d5587e375/' + this.x;#} {# window.open(URL, "_blank");#} {# }#} {# }#} {# }#} {# }#} {# },#} {# plotOptions: {#} {# series: {#} {# cursor: 'pointer',#} {# point: {#} {# events: {#} {# click: function(e){#} {# hs.htmlExpand(null, {#} {# pageOrigin: {#} {# x: e.pageX || e.clientX,#} {# y: e.pageY || e.clientY#} {# },#} {# headingText: this.series.name,#} {# maincontentText: '',#} {# width: 215,#} {# height: 255,#} {# });#} {# }#} {# }#} {# },#} {# marker: {#} {# lineWidth: 1#} {# }#} {# }#} {# },#} series: [ {%- for input_and_measurement_ids in graph_input_ids -%} {%- set input_id = input_and_measurement_ids.split(',')[0] -%} {%- set all_input = table_input.query.filter(table_input.unique_id == input_id).all() -%} {%- if all_input -%} {%- for each_input in all_input -%} {%- set measurement_id = input_and_measurement_ids.split(',')[1] -%} {% set disable_data_grouping = [] -%} {% for each_series in widget_variables['colors_graph'] if each_series['measure_id'] == measurement_id and each_series['disable_data_grouping'] %} {%- do disable_data_grouping.append(1) %} {% endfor %} {%- if measurement_id in device_measurements_dict -%} { name: '{{each_input.name}} {%- if device_measurements_dict[measurement_id].name -%} {{' (' + device_measurements_dict[measurement_id].name}}) {%- endif -%} {{' (CH' + (device_measurements_dict[measurement_id].channel)|string}} {%- if dict_measure_measurements[measurement_id] in dict_measurements and dict_measurements[dict_measure_measurements[measurement_id]]['name'] -%} {{', ' + dict_measurements[dict_measure_measurements[measurement_id]]['name']}} {%- endif -%} {%- if dict_measure_units[measurement_id] in dict_units and dict_units[dict_measure_units[measurement_id]]['unit'] -%} {{', ' + dict_units[dict_measure_units[measurement_id]]['unit']}} {%- endif -%} )', {% if dict_measure_measurements[measurement_id] in dict_measurements and dict_measurements[dict_measure_measurements[measurement_id]]['meas'] == 'edge' %} type: 'column', {% else -%} type: 'line', {%- endif -%} dataGrouping: { enabled: {% if disable_data_grouping %}false{% else %}true{% endif %}, groupPixelWidth: 2 }, tooltip: { valueSuffix: ' {%- if device_measurements_dict[measurement_id].conversion_id -%} {{' ' + dict_units[table_conversion.query.filter(table_conversion.unique_id == device_measurements_dict[measurement_id].conversion_id).first().convert_unit_to]['unit']}} {%- elif device_measurements_dict[measurement_id].rescaled_unit -%} {{' ' + dict_units[device_measurements_dict[measurement_id].rescaled_unit]['unit']}} {%- else -%} {{' ' + dict_units[device_measurements_dict[measurement_id].unit]['unit']}} {%- endif -%} ', valueDecimals: 3 }, yAxis: ' {%- if measurement_id in dict_measure_units -%} {{dict_measure_units[measurement_id]}} {%- endif -%} ', data: [] }, {%- endif -%} {%- endfor -%} {%- endif -%} {%- endfor -%} {% for each_math in math -%} {%- for math_and_measurement_ids in graph_math_ids if each_math.unique_id == math_and_measurement_ids.split(',')[0] -%} {%- set measurement_id = math_and_measurement_ids.split(',')[1] -%} {% set disable_data_grouping = [] -%} {% for each_series in widget_variables['colors_graph'] if each_series['measure_id'] == measurement_id and each_series['disable_data_grouping'] %} {%- do disable_data_grouping.append(1) %} {% endfor %} {%- if measurement_id in device_measurements_dict -%} { name: '{{each_math.name}} {%- if device_measurements_dict[measurement_id].name -%} {{' (' + device_measurements_dict[measurement_id].name}}) {%- endif -%} {{' (CH' + (device_measurements_dict[measurement_id].channel)|string}} {%- if dict_measure_measurements[measurement_id] in dict_measurements and dict_measurements[dict_measure_measurements[measurement_id]]['name'] -%} {{', ' + dict_measurements[dict_measure_measurements[measurement_id]]['name']}} {%- endif -%} {%- if dict_measure_units[measurement_id] in dict_units and dict_units[dict_measure_units[measurement_id]]['unit'] -%} {{', ' + dict_units[dict_measure_units[measurement_id]]['unit']}} {%- endif -%} )', {% if dict_measure_measurements[measurement_id] in dict_measurements and dict_measurements[dict_measure_measurements[measurement_id]]['meas'] == 'edge' %} type: 'column', {% else %} type: 'line', {% endif %} dataGrouping: { enabled: {% if disable_data_grouping %}false{% else %}true{% endif %}, groupPixelWidth: 2 }, tooltip: { valueSuffix: ' {%- if device_measurements_dict[measurement_id].conversion_id -%} {{' ' + dict_units[table_conversion.query.filter(table_conversion.unique_id == device_measurements_dict[measurement_id].conversion_id).first().convert_unit_to]['unit']}} {%- elif device_measurements_dict[measurement_id].rescaled_unit -%} {{' ' + dict_units[device_measurements_dict[measurement_id].rescaled_unit]['unit']}} {%- else -%} {{' ' + dict_units[device_measurements_dict[measurement_id].unit]['unit']}} {%- endif -%} ', valueDecimals: 3 }, yAxis: ' {%- if measurement_id in dict_measure_units -%} {{dict_measure_units[measurement_id]}} {%- endif -%} ', data: [] }, {%- endif -%} {%- endfor -%} {% endfor %} {% for each_function in function -%} {%- for function_and_measurement_ids in graph_function_ids if each_function.unique_id == function_and_measurement_ids.split(',')[0] -%} {%- set measurement_id = function_and_measurement_ids.split(',')[1] -%} {% set disable_data_grouping = [] -%} {% for each_series in widget_variables['colors_graph'] if each_series['measure_id'] == measurement_id and each_series['disable_data_grouping'] %} {%- do disable_data_grouping.append(1) %} {% endfor %} {%- if measurement_id in device_measurements_dict -%} { name: '{{each_function.name}} {%- if device_measurements_dict[measurement_id].name -%} {{' (' + device_measurements_dict[measurement_id].name}}) {%- endif -%} {{' (CH' + (device_measurements_dict[measurement_id].channel)|string}} {%- if dict_measure_measurements[measurement_id] in dict_measurements and dict_measurements[dict_measure_measurements[measurement_id]]['name'] -%} {{', ' + dict_measurements[dict_measure_measurements[measurement_id]]['name']}} {%- endif -%} {%- if dict_measure_units[measurement_id] in dict_units and dict_units[dict_measure_units[measurement_id]]['unit'] -%} {{', ' + dict_units[dict_measure_units[measurement_id]]['unit']}} {%- endif -%} )', {% if dict_measure_measurements[measurement_id] in dict_measurements and dict_measurements[dict_measure_measurements[measurement_id]]['meas'] == 'edge' %} type: 'column', {% else %} type: 'line', {% endif %} dataGrouping: { enabled: {% if disable_data_grouping %}false{% else %}true{% endif %}, groupPixelWidth: 2 }, tooltip: { valueSuffix: ' {%- if device_measurements_dict[measurement_id].conversion_id -%} {{' ' + dict_units[table_conversion.query.filter(table_conversion.unique_id == device_measurements_dict[measurement_id].conversion_id).first().convert_unit_to]['unit']}} {%- elif device_measurements_dict[measurement_id].rescaled_unit -%} {{' ' + dict_units[device_measurements_dict[measurement_id].rescaled_unit]['unit']}} {%- else -%} {{' ' + dict_units[device_measurements_dict[measurement_id].unit]['unit']}} {%- endif -%} ', valueDecimals: 3 }, yAxis: ' {%- if measurement_id in dict_measure_units -%} {{dict_measure_units[measurement_id]}} {%- endif -%} ', data: [] }, {%- endif -%} {%- endfor -%} {% endfor %} {%- for output_and_measurement_ids in graph_output_ids -%} {%- set output_id = output_and_measurement_ids.split(',')[0] -%} {%- set all_output = table_output.query.filter(table_output.unique_id == output_id).all() -%} {%- if all_output -%} {%- for each_output in all_output -%} {%- set measurement_id = output_and_measurement_ids.split(',')[1] -%} {% set disable_data_grouping = [] -%} {% for each_series in widget_variables['colors_graph'] if each_series['measure_id'] == measurement_id and each_series['disable_data_grouping'] %} {%- do disable_data_grouping.append(1) %} {% endfor %} {%- if measurement_id in device_measurements_dict -%} { name: '{{each_output.name}} {%- if device_measurements_dict[measurement_id].name -%} {{' (' + device_measurements_dict[measurement_id].name}}) {%- endif -%} {{' (CH' + (device_measurements_dict[measurement_id].channel)|string}} {%- if output_id in custom_options_values_output_channels and device_measurements_dict[measurement_id].channel in custom_options_values_output_channels[output_id] and 'name' in custom_options_values_output_channels[output_id][device_measurements_dict[measurement_id].channel] -%} {{', ' + custom_options_values_output_channels[output_id][device_measurements_dict[measurement_id].channel]['name']}} {%- endif -%} {%- if dict_measure_measurements[measurement_id] in dict_measurements and dict_measurements[dict_measure_measurements[measurement_id]]['name'] -%} {{', ' + dict_measurements[dict_measure_measurements[measurement_id]]['name']}} {%- endif -%} {%- if dict_measure_units[measurement_id] in dict_units and dict_units[dict_measure_units[measurement_id]]['unit'] -%} {{', ' + dict_units[dict_measure_units[measurement_id]]['unit']}} {%- endif -%} )', type: 'column', dataGrouping: { enabled: {% if disable_data_grouping %}false{% else %}true{% endif %}, groupPixelWidth: 5 }, tooltip: { valueSuffix: ' {%- if device_measurements_dict[measurement_id].conversion_id -%} {{' ' + dict_units[table_conversion.query.filter(table_conversion.unique_id == device_measurements_dict[measurement_id].conversion_id).first().convert_unit_to]['unit']}} {%- elif device_measurements_dict[measurement_id].rescaled_unit -%} {{' ' + dict_units[device_measurements_dict[measurement_id].rescaled_unit]['unit']}} {%- else -%} {{' ' + dict_units[device_measurements_dict[measurement_id].unit]['unit']}} {%- endif -%} ', valueDecimals: 3 }, yAxis: ' {%- if measurement_id in dict_measure_units -%} {{dict_measure_units[measurement_id]}} {%- endif -%} ', data: [] }, {%- endif -%} {%- endfor -%} {%- endif -%} {%- endfor -%} {%- for each_pid in pid -%} {%- for pid_and_measurement_ids in graph_pid_ids if each_pid.unique_id == pid_and_measurement_ids.split(',')[0] -%} {%- set measurement_id = pid_and_measurement_ids.split(',')[1] -%} {% set disable_data_grouping = [] -%} {% for each_series in widget_variables['colors_graph'] if each_series['measure_id'] == measurement_id and each_series['disable_data_grouping'] %} {%- do disable_data_grouping.append(1) %} {% endfor %} {%- if measurement_id in device_measurements_dict -%} { name: '{{each_pid.name}} {%- if device_measurements_dict[measurement_id].name -%} {{' (' + device_measurements_dict[measurement_id].name}}) {%- endif -%} {{' (CH' + (device_measurements_dict[measurement_id].channel)|string}} {%- if dict_measure_measurements[measurement_id] in dict_measurements and dict_measurements[dict_measure_measurements[measurement_id]]['name'] -%} {{', ' + dict_measurements[dict_measure_measurements[measurement_id]]['name']}} {%- endif -%} {%- if dict_measure_units[measurement_id] in dict_units and dict_units[dict_measure_units[measurement_id]]['unit'] -%} {{', ' + dict_units[dict_measure_units[measurement_id]]['unit']}} {%- endif -%} )', {% if dict_measure_measurements[measurement_id] in dict_measurements and dict_measurements[dict_measure_measurements[measurement_id]]['meas'] == 'edge' %} type: 'column', {% else %} type: 'line', {% endif %} dataGrouping: { enabled: {% if disable_data_grouping %}false{% else %}true{% endif %}, groupPixelWidth: 2 }, tooltip: { valueSuffix: ' {%- if measurement_id in dict_measure_units and dict_measure_units[measurement_id] in dict_units -%} {{' ' + dict_units[dict_measure_units[measurement_id]]['unit']}} {%- endif -%} ', valueDecimals: 3 }, yAxis: ' {%- if measurement_id in dict_measure_units -%} {{dict_measure_units[measurement_id]}} {%- endif -%} ', data: [] }, {%- endif -%} {%- endfor -%} {% endfor %} {%- for each_tag in tags -%} {%- for each_graph_note_tag_id in graph_note_tag_ids if each_tag.unique_id == each_graph_note_tag_id.split(',')[0] -%} { name: 'Note Tag: {{each_tag.name}}', type: 'flags', data: [], stackDistance: 40, shape: 'squarepin' }, {% endfor %} {% endfor %} ] }); $('#updateData{{chart_number}}').click(function() { {% set count_series = [] -%} {% for each_input in input -%} {% for input_and_measurement_ids in graph_input_ids if each_input.unique_id == input_and_measurement_ids.split(',')[0] %} {%- set measurement_id = input_and_measurement_ids.split(',')[1] -%} retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_input.unique_id}}', 'input', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {%- do count_series.append(1) %} {% endfor %} {%- endfor -%} {% for each_math in math -%} {% for math_and_measurement_id in graph_math_ids if each_math.unique_id == math_and_measurement_id.split(',')[0] %} {%- set measurement_id = math_and_measurement_id.split(',')[1] -%} retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_math.unique_id}}', 'math', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {%- do count_series.append(1) %} {% endfor %} {%- endfor -%} {% for each_function in function -%} {% for function_and_measurement_id in graph_function_ids if each_function.unique_id == function_and_measurement_id.split(',')[0] %} {%- set measurement_id = function_and_measurement_id.split(',')[1] -%} retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_function.unique_id}}', 'function', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {%- do count_series.append(1) %} {% endfor %} {%- endfor -%} {% for each_output in output -%} {% for output_and_measurement_ids in graph_output_ids if each_output.unique_id == output_and_measurement_ids.split(',')[0] %} {%- set measurement_id = output_and_measurement_ids.split(',')[1] -%} retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_output.unique_id}}', 'output', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {%- do count_series.append(1) %} {% endfor %} {%- endfor -%} {% for each_pid in pid -%} {% for pid_and_measurement_id in graph_pid_ids if each_pid.unique_id == pid_and_measurement_id.split(',')[0] %} {%- set measurement_id = pid_and_measurement_id.split(',')[1] -%} retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_pid.unique_id}}', 'pid', '{{measurement_id}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {%- do count_series.append(1) %} {% endfor %} {%- endfor -%} {%- for each_tag in tag -%} {% for each_id_and_measure in graph_note_tag_ids if each_pid.unique_id == each_id_and_measure.split(',')[0] %} retrieveLiveDataSynchronousGraph({{chart_number}}, {{count_series|count}}, '{{each_id_and_measure.split(',')[1]}}', '{{each_id_and_measure.split(',')[0]}}', {{widget_options['x_axis_minutes']}}, {{widget_options['enable_xaxis_reset']|int}}, {{widget_options['refresh_seconds']}}); {%- do count_series.append(1) %} {% endfor %} {%- endfor -%} }); $('#resetZoom{{chart_number}}').click(function() { const chart = $('#container-synchronous-graph-{{each_widget.unique_id}}').highcharts(); chart.zoomOut(); }); $('#showhidebutton{{chart_number}}').click(function() { const chart = $('#container-synchronous-graph-{{each_widget.unique_id}}').highcharts(); const series = chart.series[0]; if (series.visible) { $(chart.series).each(function(){ this.setVisible(false, false); }); chart.redraw(); } else { $(chart.series).each(function(){ this.setVisible(true, false); }); chart.redraw(); } });