mirror of https://github.com/MISP/MISP
chg: [widgets:multiline] Pass widget_config to the view
parent
2b3df4a65d
commit
143d70604c
|
@ -97,6 +97,7 @@ class DashboardsController extends AppController
|
|||
$dashboardWidget = $this->Dashboard->loadWidget($this->Auth->user(), $data['widget']);
|
||||
$data['description'] = empty($dashboardWidget->description) ? '' : $dashboardWidget->description;
|
||||
$data['params'] = empty($dashboardWidget->params) ? array() : $dashboardWidget->params;
|
||||
$data['params'] = array_merge($data['params'], array('widget_config' => __('Configuration of the widget that will be passed to the render. Check the view for more information')));
|
||||
$data['params'] = array_merge(array('alias' => __('Alias to use as the title of the widget')), $data['params']);
|
||||
}
|
||||
$this->set('data', $data);
|
||||
|
@ -174,9 +175,11 @@ class DashboardsController extends AppController
|
|||
} else {
|
||||
$data = json_decode($data, true)['data'];
|
||||
}
|
||||
$valueConfig = json_decode($value['config'], true);
|
||||
$config = array(
|
||||
'render' => $dashboardWidget->render,
|
||||
'autoRefreshDelay' => empty($dashboardWidget->autoRefreshDelay) ? false : $dashboardWidget->autoRefreshDelay
|
||||
'autoRefreshDelay' => empty($dashboardWidget->autoRefreshDelay) ? false : $dashboardWidget->autoRefreshDelay,
|
||||
'widget_config' => empty($valueConfig['widget_config']) ? array() : $valueConfig['widget_config']
|
||||
);
|
||||
$this->set('widget_id', $widget_id);
|
||||
$this->set('data', $data);
|
||||
|
|
|
@ -57,22 +57,37 @@
|
|||
var series, line_guides, points, pointsGroup, labels
|
||||
var colors = d3.scale.category10();
|
||||
|
||||
var options = <?= json_encode(isset($data['options']) ? $data['options'] : array()) ?>;
|
||||
_validateOptions(options);
|
||||
var options = <?= json_encode(isset($config['widget_config']) ? $config['widget_config'] : array()) ?>;
|
||||
var options = $.extend(true, {}, default_options, options);
|
||||
options = _validateOptions(options);
|
||||
var data_nodes = [];
|
||||
var data_nodes_active = [];
|
||||
var chart_data = [];
|
||||
var legend_labels = [];
|
||||
var raw_data;
|
||||
var options = $.extend(true, {}, default_options, options);
|
||||
_init();
|
||||
_init_canvas();
|
||||
if (data !== undefined) {
|
||||
update(data)
|
||||
}
|
||||
|
||||
function _validateOptions() {
|
||||
return true;
|
||||
function __parseTextBoolean(text) {
|
||||
if (text === "true" || text === "1") {
|
||||
return true;
|
||||
} else if (text === "false" || text === "0") {
|
||||
return false;
|
||||
} else {
|
||||
return text;
|
||||
}
|
||||
}
|
||||
|
||||
function _validateOptions(options) {
|
||||
options.abscissa_linear = __parseTextBoolean(options.abscissa_linear);
|
||||
options.show_crossair = __parseTextBoolean(options.show_crossair);
|
||||
options.show_datapoints = __parseTextBoolean(options.show_datapoints);
|
||||
options.show_legend = __parseTextBoolean(options.show_legend);
|
||||
options.max_datapoints = (options.max_datapoints === null || options.max_datapoints === "null") ? null : parseInt(options.max_datapoints);
|
||||
return options;
|
||||
}
|
||||
|
||||
function _init() {
|
||||
|
|
Loading…
Reference in New Issue