From 675426c3e0fe463b1424495a33ce64c21422fc93 Mon Sep 17 00:00:00 2001 From: Arturo Gonzalez Date: Thu, 5 Oct 2017 13:10:19 +0200 Subject: [PATCH] Added the new item. Only to db and js creation and update. --- .../visual_console_builder.editor.js | 232 +++++++++++++++++- .../signes/circular-progress-bar-interior.png | Bin 0 -> 18804 bytes .../console/signes/circular-progress-bar.png | Bin 0 -> 17001 bytes .../ajax/visual_console_builder.ajax.php | 25 +- pandora_console/include/constants.php | 2 + .../include/functions_visual_map_editor.php | 26 +- 6 files changed, 262 insertions(+), 23 deletions(-) create mode 100644 pandora_console/images/console/signes/circular-progress-bar-interior.png create mode 100644 pandora_console/images/console/signes/circular-progress-bar.png diff --git a/pandora_console/godmode/reporting/visual_console_builder.editor.js b/pandora_console/godmode/reporting/visual_console_builder.editor.js index 2c98fb5493..1ebefe58c3 100755 --- a/pandora_console/godmode/reporting/visual_console_builder.editor.js +++ b/pandora_console/godmode/reporting/visual_console_builder.editor.js @@ -379,6 +379,12 @@ function update_button_palette_callback() { if (values['type_percentile'] == 'bubble') { setPercentileBubble(idItem, values); } + else if (values['type_percentile'] == 'circular_progress_bar') { + setPercentileCircular(idItem, values); + } + else if (values['type_percentile'] == 'interior_circular_progress_bar') { + setPercentileInteriorCircular(idItem, values); + } else { setPercentileBar(idItem, values); } @@ -626,7 +632,8 @@ function readFields() { values['width_module_graph'] = $("input[name=width_module_graph]").val(); values['height_module_graph'] = $("input[name=height_module_graph]").val(); values['event_max_time_row'] = $("select[name=event_max_time_row]").val(); - values['type_percentile'] = $("input[name=type_percentile]:checked").val(); + values['type_percentile'] = $("select[name=type_percentile]").val(); + values['percentile_color'] = $("input[name='percentile_color']").val(); values['value_show'] = $("input[name=value_show]:checked").val(); values['enable_link'] = $("input[name=enable_link]").is(':checked') ? 1 : 0; values['id_group'] = $("select[name=group]").val(); @@ -1274,16 +1281,13 @@ function loadFieldsFromDB(item) { $("input[name=width_module_graph]").val(val); if (key == 'height_module_graph') $("input[name=height_module_graph]").val(val); + if (key == 'type_percentile') + $("select[name=type_percentile]").val(val); - if (key == 'type_percentile') { - if (val == 'percentile') { - $("input[name=type_percentile][value=percentile]") - .attr("checked", "checked"); - } - else { - $("input[name=type_percentile][value=bubble]") - .attr("checked", "checked"); - } + if (key == 'percentile_color') { + $("input[name='percentile_color']").val(val); + $("#percentile_item_row_5 .ColorPickerDivSample") + .css('background-color', val); } if (key == 'value_show') { @@ -1948,6 +1952,142 @@ function setPercentileBar(id_data, values) { }); } +function setPercentileCircular (id_data, values) { + metaconsole = $("input[name='metaconsole']").val(); + + var url_hack_metaconsole = ''; + if (is_metaconsole()) { + url_hack_metaconsole = '../../'; + } + + max_percentile = values['max_percentile']; + width_percentile = values['width_percentile']; + + var parameter = Array(); + + parameter.push ({name: "page", value: "include/ajax/visual_console_builder.ajax"}); + parameter.push ({name: "action", value: "get_module_value"}); + parameter.push ({name: "id_element", value: id_data}); + parameter.push ({name: "value_show", value: values['value_show']}); + parameter.push ({name: "id_visual_console", + value: id_visual_console}); + jQuery.ajax({ + url: get_url_ajax(), + data: parameter, + type: "POST", + dataType: 'json', + success: function (data) { + module_value = data['value']; + max_percentile = data['max_percentile']; + width_percentile = data['width_percentile']; + unit_text = false; + + if ((data['unit_text'] != false) || typeof(data['unit_text']) != 'boolean') { + unit_text = data['unit_text']; + } + + colorRGB = data['colorRGB']; + + if ( max_percentile > 0) + var percentile = Math.round(module_value / max_percentile * 100); + else + var percentile = 100; + + if (unit_text == false && typeof(unit_text) == 'boolean') { + value_text = percentile + "%"; + } + else { + value_text = module_value + " " + unit_text; + } + + $("#" + id_data + " img").attr('src', 'images/console/signes/circular-progress-bar.png'); + if($('#text-width_percentile').val() == 0){ + $("#" + id_data + " img").css('width', '130px'); + $("#" + id_data + " img").css('height', '130px'); + } + else{ + $("#" + id_data + " img").css('width', $('#text-width_percentile').val()+'px'); + $("#" + id_data + " img").css('height', $('#text-width_percentile').val()+'px'); + } + + if($('#'+id_data+' table').css('float') == 'right' || $('#'+id_data+ ' table').css('float') == 'left'){ + $('#'+id_data+ ' img').css('margin-top', parseInt($('#'+id_data).css('height'))/2 - parseInt($('#'+id_data+ ' img').css('height'))/2); + } + else{ + $('#'+id_data+ ' img').css('margin-left',parseInt($('#'+id_data).css('width'))/2 - parseInt($('#'+id_data+ ' img').css('width'))/2); + } + } + }); +} + +function setPercentileInteriorCircular (id_data, values) { + metaconsole = $("input[name='metaconsole']").val(); + + var url_hack_metaconsole = ''; + if (is_metaconsole()) { + url_hack_metaconsole = '../../'; + } + + max_percentile = values['max_percentile']; + width_percentile = values['width_percentile']; + + var parameter = Array(); + + parameter.push ({name: "page", value: "include/ajax/visual_console_builder.ajax"}); + parameter.push ({name: "action", value: "get_module_value"}); + parameter.push ({name: "id_element", value: id_data}); + parameter.push ({name: "value_show", value: values['value_show']}); + parameter.push ({name: "id_visual_console", + value: id_visual_console}); + jQuery.ajax({ + url: get_url_ajax(), + data: parameter, + type: "POST", + dataType: 'json', + success: function (data) { + module_value = data['value']; + max_percentile = data['max_percentile']; + width_percentile = data['width_percentile']; + unit_text = false; + + if ((data['unit_text'] != false) || typeof(data['unit_text']) != 'boolean') { + unit_text = data['unit_text']; + } + + colorRGB = data['colorRGB']; + + if ( max_percentile > 0) + var percentile = Math.round(module_value / max_percentile * 100); + else + var percentile = 100; + + if (unit_text == false && typeof(unit_text) == 'boolean') { + value_text = percentile + "%"; + } + else { + value_text = module_value + " " + unit_text; + } + + $("#" + id_data + " img").attr('src', 'images/console/signes/circular-progress-bar-interior.png'); + if($('#text-width_percentile').val() == 0){ + $("#" + id_data + " img").css('width', '130px'); + $("#" + id_data + " img").css('height', '130px'); + } + else{ + $("#" + id_data + " img").css('width', $('#text-width_percentile').val()+'px'); + $("#" + id_data + " img").css('height', $('#text-width_percentile').val()+'px'); + } + + if($('#'+id_data+' table').css('float') == 'right' || $('#'+id_data+ ' table').css('float') == 'left'){ + $('#'+id_data+ ' img').css('margin-top', parseInt($('#'+id_data).css('height'))/2 - parseInt($('#'+id_data+ ' img').css('height'))/2); + } + else{ + $('#'+id_data+ ' img').css('margin-left',parseInt($('#'+id_data).css('width'))/2 - parseInt($('#'+id_data+ ' img').css('width'))/2); + } + } + }); +} + function setEventsBar(id_data, values) { var url_hack_metaconsole = ''; if (is_metaconsole()) { @@ -2396,9 +2536,77 @@ function createItem(type, values, id_data) { setPercentileBar(id_data, values); } + else if (values['type_percentile'] == 'circular_progress_bar') { + if(values['label_position'] == 'up'){ + item = $('
' + + '
' + values['label'] + '
' + + '' + + '
' + ); + } + else if(values['label_position'] == 'down'){ + item = $('
' + + '' + + '
' + values['label'] + '
' + + '
' + ); + + } + else if(values['label_position'] == 'right'){ + item = $('
' + + '' + + '
' + values['label'] + '
' + + '
' + ); + + } + else if(values['label_position'] == 'left'){ + item = $('
' + + '' + + '
' + values['label'] + '
' + + '
' + ); + + } + + setPercentileCircular(id_data, values); + } + else if (values['type_percentile'] == 'interior_circular_progress_bar') { + if(values['label_position'] == 'up'){ + item = $('
' + + '
' + values['label'] + '
' + + '' + + '
' + ); + } + else if(values['label_position'] == 'down'){ + item = $('
' + + '' + + '
' + values['label'] + '
' + + '
' + ); + + } + else if(values['label_position'] == 'right'){ + item = $('
' + + '' + + '
' + values['label'] + '
' + + '
' + ); + + } + else if(values['label_position'] == 'left'){ + item = $('
' + + '' + + '
' + values['label'] + '
' + + '
' + ); + + } + + setPercentileInteriorCircular(id_data, values); + } else { - - if(values['label_position'] == 'up'){ item = $('
' + '
' + values['label'] + '
' + diff --git a/pandora_console/images/console/signes/circular-progress-bar-interior.png b/pandora_console/images/console/signes/circular-progress-bar-interior.png new file mode 100644 index 0000000000000000000000000000000000000000..221c626f2572d53ee743169c99de3a44d2fd238e GIT binary patch literal 18804 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 T*zwJV00000NkvXXu0mjfQwg1G literal 0 HcmV?d00001 diff --git a/pandora_console/images/console/signes/circular-progress-bar.png b/pandora_console/images/console/signes/circular-progress-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..640a8050b47d2fd2da3888ed1e7c0421e8b25462 GIT binary patch literal 17001 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 literal 0 HcmV?d00001 diff --git a/pandora_console/include/ajax/visual_console_builder.ajax.php b/pandora_console/include/ajax/visual_console_builder.ajax.php index e854a31c49..4493e21935 100755 --- a/pandora_console/include/ajax/visual_console_builder.ajax.php +++ b/pandora_console/include/ajax/visual_console_builder.ajax.php @@ -118,6 +118,7 @@ $id_custom_graph = get_parameter('id_custom_graph', null); $border_width = (int)get_parameter('border_width', 0); $border_color = get_parameter('border_color', ''); $fill_color = get_parameter('fill_color', ''); +$percentile_color = get_parameter('percentile_color', ''); $width_box = (int)get_parameter('width_box', 0); $height_box = (int)get_parameter('height_box', 0); $line_start_x = (int)get_parameter('line_start_x', 0); @@ -602,6 +603,12 @@ switch ($action) { if ($type_percentile == 'percentile') { $values['type'] = PERCENTILE_BAR; } + elseif ($type_percentile == 'circular_progress_bar') { + $values['type'] = CIRCULAR_PROGRESS_BAR; + } + elseif ($type_percentile == 'interior_circular_progress_bar') { + $values['type'] = CIRCULAR_INTERIOR_PROGRESS_BAR; + } elseif ($type_percentile == 'bubble') { $values['type'] = PERCENTILE_BUBBLE; } @@ -611,6 +618,8 @@ switch ($action) { if (($value_show == 'percent') || ($value_show == 'value')) $values['image'] = $value_show; + + $values['border_color'] = $percentile_color; } break; case 'icon': @@ -781,6 +790,13 @@ switch ($action) { elseif ($elementFields['type'] == PERCENTILE_BUBBLE) { $elementFields['type_percentile'] = 'bubble'; } + elseif ($elementFields['type'] == CIRCULAR_PROGRESS_BAR) { + $elementFields['type_percentile'] = 'circular_progress_bar'; + } + elseif ($elementFields['type'] == CIRCULAR_INTERIOR_PROGRESS_BAR) { + $elementFields['type_percentile'] = 'interior_circular_progress_bar'; + } + $elementFields['percentile_color'] = $elementFields['percentile_color']; break; case 'module_graph': @@ -934,9 +950,16 @@ switch ($action) { if ($type_percentile == 'percentile') { $values['type'] = PERCENTILE_BAR; } + elseif ($type_percentile == 'circular_progress_bar') { + $values['type'] = CIRCULAR_PROGRESS_BAR; + } + elseif ($type_percentile == 'interior_circular_progress_bar') { + $values['type'] = CIRCULAR_INTERIOR_PROGRESS_BAR; + } else { $values['type'] = PERCENTILE_BUBBLE; } + $values['border_color'] = $percentile_color; $values['image'] = $value_show; //Hack to save it show percent o value. $values['width'] = $width_percentile; $values['height'] = $max_percentile; @@ -977,7 +1000,7 @@ switch ($action) { } break; } - + $idData = db_process_sql_insert('tlayout_data', $values); $return = array(); diff --git a/pandora_console/include/constants.php b/pandora_console/include/constants.php index f039a90504..08c3fc55da 100644 --- a/pandora_console/include/constants.php +++ b/pandora_console/include/constants.php @@ -197,6 +197,8 @@ define('SERVICE', 10); //Enterprise Item. define('GROUP_ITEM', 11); define('BOX_ITEM', 12); define('LINE_ITEM', 13); +define('CIRCULAR_PROGRESS_BAR', 15); +define('CIRCULAR_INTERIOR_PROGRESS_BAR', 16); //Some styles define('MIN_WIDTH', 300); define('MIN_HEIGHT', 120); diff --git a/pandora_console/include/functions_visual_map_editor.php b/pandora_console/include/functions_visual_map_editor.php index 54db2d8008..49945a30f4 100755 --- a/pandora_console/include/functions_visual_map_editor.php +++ b/pandora_console/include/functions_visual_map_editor.php @@ -408,23 +408,22 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) { __('Max value') . ' ' . html_print_input_text('max_percentile', 0, '', 3, 5, true) . ''; + $percentile_type = array('percentile' => __('Percentile'), 'bubble' => __('Bubble'), 'circular_progress_bar' => __('Circular porgress bar'), 'interior_circular_progress_bar' => __('Circular progress bar (interior)')); + $percentile_value = array('percent' => __('Percent'), 'value' => __('Value')); if (is_metaconsole()){ $form_items['percentile_item_row_3'] = array(); $form_items['percentile_item_row_3']['items'] = array('percentile_bar', 'percentile_item', 'datos'); $form_items['percentile_item_row_3']['html'] = '' . __('Type') . ' ' . - html_print_radio_button_extended('type_percentile', 'percentile', ('Percentile'), 'percentile', false, '', 'style="float: left;"', true) . - html_print_radio_button_extended('type_percentile', 'bubble', ('Bubble'), 'percentile', false, '', 'style="float: left;"', true) . + html_print_select($percentile_type, 'type_percentile', 'percentile', '', '', '', true, false, false, '', false, 'style="float: left;"') . ''; - $form_items['percentile_item_row_4'] = array(); $form_items['percentile_item_row_4']['items'] = array('percentile_bar', 'percentile_item', 'datos'); $form_items['percentile_item_row_4']['html'] = '' . __('Value to show') . ' ' . - html_print_radio_button_extended('value_show', 'percent', ('Percent'), 'value', false, '', 'style="float: left;"', true) . - html_print_radio_button_extended('value_show', 'value', ('Value'), 'value', false, '', 'style="float: left;"', true) . + html_print_select($percentile_value, 'value_show', 'percent', '', '', '', true, false, false, '', false, 'style="float: left;"') . ''; } else{ @@ -433,20 +432,26 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) { $form_items['percentile_item_row_3']['html'] = '' . __('Type') . ' ' . - html_print_radio_button_extended('type_percentile', 'percentile', ('Percentile'), 'percentile', false, '', '', true) . - html_print_radio_button_extended('type_percentile', 'bubble', ('Bubble'), 'percentile', false, '', '', true) . + html_print_select($percentile_type, 'type_percentile', 'percentile', '', '', '', true) . ''; - $form_items['percentile_item_row_4'] = array(); $form_items['percentile_item_row_4']['items'] = array('percentile_bar', 'percentile_item', 'datos'); $form_items['percentile_item_row_4']['html'] = '' . __('Value to show') . ' ' . - html_print_radio_button_extended('value_show', 'percent', ('Percent'), 'value', false, '', '', true) . - html_print_radio_button_extended('value_show', 'value', ('Value'), 'value', false, '', '', true) . + html_print_select($percentile_value, 'value_show', 'percent', '', '', '', true) . ''; } + $form_items['percentile_item_row_5'] = array(); + $form_items['percentile_item_row_5']['items'] = array('percentile_bar', 'percentile_item', 'datos'); + $form_items['percentile_item_row_5']['html'] = '' . __('Color') . ui_print_help_tip ( + __("Only for circular percentile items."), true) . ' + ' . + html_print_input_text_extended ('percentile_color', '#ffffff', + 'text-percentile_color', '', 7, 7, false, '', + 'class="percentile_color"', true) . + ''; $form_items['period_row'] = array(); $form_items['period_row']['items'] = array('module_graph', 'simple_value', 'datos'); @@ -614,6 +619,7 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) { $(".border_color").attachColorPicker(); $(".fill_color").attachColorPicker(); $(".line_color").attachColorPicker(); + $(".percentile_color").attachColorPicker(); $("input[name=radio_choice]").change(function(){ $('#count_items').html(1);