diff --git a/INSTALL/INSTALL.sh.sfv b/INSTALL/INSTALL.sh.sfv
index 48a7bd5bf..d4ee7513a 100644
--- a/INSTALL/INSTALL.sh.sfv
+++ b/INSTALL/INSTALL.sh.sfv
@@ -1,5 +1,5 @@
-; Generated by RHash v1.3.9 on 2020-02-03 at 13:15.37
+; Generated by RHash v1.3.9 on 2020-03-10 at 18:43.24
; Written by Kravchenko Aleksey (Akademgorodok) - http://rhash.sf.net/
;
-; 99767 13:15.37 2020-02-03 INSTALL.sh
-INSTALL.sh F27125A2CD54B088B95072FF1D87C2A9EDDE3FDC 4A2F544B20AF69618BD0F744A433CBC442DAE17CC35028906DB20FB2C56DA2D6 CE625D7EB46FCC9B0228BFDD1AF62B9FC78F1D53B14CABA881C19C115F3E8F8D031EEF6A07E6E08A3B1F1D28C4EE8335 84D8940C178BFCFDA1A218D7AD7DEFA27EA62486DC7E06E165F1BE2C7738DCD384A95E62A95F7203AEDAD8593F648302E963BC3C00CCA987A415952A86192BC8
+; 100109 18:43.24 2020-03-10 INSTALL.sh
+INSTALL.sh 68CED66FC4D5C4A7F0041BF7DAC60113FAB614E5 5DFCF61AEB56A736930EE8A77959BD90C2F8AD6AD11CD1B09AB60D1E68D18BD0 D03AECC77CF64A90DA971C562EB49C373954151B712966EF6482F6E032F992B568BB8E0C2FF3EAFB300DB7BF768796E4 3981E487FD3C4822F353232ABFB8A017E299702E1E5B1D75A2DC901D6CC8CF356F848CA944FBD04A25E9CA459645FDC5F03D2AA08A31C471F40E8AABEF01A0EF
diff --git a/app/Controller/DashboardsController.php b/app/Controller/DashboardsController.php
index 4e9418252..9aa96ca2a 100644
--- a/app/Controller/DashboardsController.php
+++ b/app/Controller/DashboardsController.php
@@ -143,7 +143,7 @@ class DashboardsController extends AppController
$this->set('widget', $widget);
}
- public function renderWidget($force = false)
+ public function renderWidget($widget_id, $force = false)
{
if ($this->request->is('post')) {
if (empty($this->request->data['data'])) {
@@ -177,6 +177,7 @@ class DashboardsController extends AppController
'render' => $dashboardWidget->render,
'autoRefreshDelay' => empty($dashboardWidget->autoRefreshDelay) ? false : $dashboardWidget->autoRefreshDelay
);
+ $this->set('widget_id', $widget_id);
$this->set('data', $data);
$this->set('config', $config);
$this->render('widget_loader');
diff --git a/app/View/Dashboards/widget_loader.ctp b/app/View/Dashboards/widget_loader.ctp
index 15d29a731..c71696853 100644
--- a/app/View/Dashboards/widget_loader.ctp
+++ b/app/View/Dashboards/widget_loader.ctp
@@ -1,7 +1,4 @@
-
-
+
element('/dashboard/Widgets/' . $config['render']);
?>
@@ -10,7 +7,7 @@
$(document).ready(function() {
if (= $config['autoRefreshDelay'] ? 'true' : 'false' ?>) {
setTimeout( function(){
- updateDashboardWidget($("#widgetContentInner= $randomId ?>").closest('.grid-stack-item'))},
+ updateDashboardWidget("#widget_= h($widget_id) ?>")},
= $config['autoRefreshDelay'] ? $config['autoRefreshDelay'] : 1 ?> * 1000
);
}
diff --git a/app/webroot/js/misp.js b/app/webroot/js/misp.js
index ce4491ef6..6c9f07e8d 100644
--- a/app/webroot/js/misp.js
+++ b/app/webroot/js/misp.js
@@ -4889,7 +4889,6 @@ function submitDashboardForm(id) {
}
configData = JSON.stringify(configData);
$('#' + id).attr('config', configData);
- updateDashboardWidget($('#' + id));
$('#genericModal').modal('hide');
saveDashboardState();
}
@@ -4917,10 +4916,11 @@ function submitDashboardAddWidget() {
);
if (config !== '') {
config = JSON.parse(config);
+ config = JSON.stringify(config);
+ } else {
+ config = '[]';
}
- config = JSON.stringify(config);
$('#widget_' + (k+1)).attr('config', config);
- updateDashboardWidget($('#widget_' + (k+1)));
saveDashboardState();
$('#last-element-counter').data('element-counter', (k+1));
},
@@ -4966,23 +4966,27 @@ function saveDashboardState() {
}
function updateDashboardWidget(element) {
- var container = $(element).find('.widgetContent');
- var titleText = $(element).find('.widgetTitleText');
- var temp = JSON.parse($(element).attr('config'));
- if (temp['alias'] !== undefined) {
- titleText.text(temp['alias']);
+ element = $(element);
+ if (element.length) {
+ var container_id = $(element).attr('id').substring(7);
+ var container = $(element).find('.widgetContent');
+ var titleText = $(element).find('.widgetTitleText');
+ var temp = JSON.parse($(element).attr('config'));
+ if (temp['alias'] !== undefined) {
+ titleText.text(temp['alias']);
+ }
+ $.ajax({
+ type: 'POST',
+ url: baseurl + '/dashboards/renderWidget/' + container_id,
+ data: {
+ config: $(element).attr('config'),
+ widget: $(element).attr('widget')
+ },
+ success:function (data, textStatus) {
+ container.html(data);
+ }
+ });
}
- $.ajax({
- type: 'POST',
- url: baseurl + '/dashboards/renderWidget',
- data: {
- config: $(element).attr('config'),
- widget: $(element).attr('widget')
- },
- success:function (data, textStatus) {
- container.html(data);
- },
- });
}
function setHomePage() {