You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2016/02/01 18:51:53 UTC
[20/50] [abbrv] brooklyn-ui git commit: fix bug where details view
wasn't closing, so was loading way too much and sometimes breaking datatables
fix bug where details view wasn't closing, so was loading way too much and sometimes breaking datatables
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/commit/29a83636
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/tree/29a83636
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/diff/29a83636
Branch: refs/heads/0.5.0
Commit: 29a836365f6defd57794112a6421668713d24221
Parents: 1ca7bc9
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Mon Dec 3 09:24:23 2012 -0600
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Mon Dec 3 09:24:23 2012 -0600
----------------------------------------------------------------------
usage/jsgui/src/main/webapp/assets/js/router.js | 14 ++++++++------
.../main/webapp/assets/js/view/application-tree.js | 6 +++++-
.../main/webapp/assets/js/view/entity-activities.js | 2 +-
.../src/main/webapp/assets/js/view/entity-config.js | 2 +-
.../src/main/webapp/assets/js/view/entity-policies.js | 2 +-
.../src/main/webapp/assets/js/view/entity-sensors.js | 8 ++++----
usage/jsgui/src/main/webapp/assets/js/view/home.js | 4 ++--
usage/jsgui/src/test/javascript/specs/home-spec.js | 2 +-
.../test/javascript/specs/view/entity-details-spec.js | 2 +-
9 files changed, 24 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/29a83636/usage/jsgui/src/main/webapp/assets/js/router.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/router.js b/usage/jsgui/src/main/webapp/assets/js/router.js
index ff14e28..623f98f 100644
--- a/usage/jsgui/src/main/webapp/assets/js/router.js
+++ b/usage/jsgui/src/main/webapp/assets/js/router.js
@@ -14,19 +14,21 @@ define([
if (this.beforeClose) {
this.beforeClose()
}
- for (var index in this._periodicFunctions) {
- clearInterval(this._periodicFunctions[index])
- }
+ _.each(this._periodicFunctions, function(i) {
+ clearInterval(i)
+ })
this.remove()
this.unbind()
}
// registers a callback (cf setInterval) but it cleanly gets unregistered when view closes
- Backbone.View.prototype.callPeriodically = function (callback, interval) {
+ Backbone.View.prototype.callPeriodically = function (uid, callback, interval) {
if (!this._periodicFunctions) {
- this._periodicFunctions = []
+ this._periodicFunctions = {}
}
- this._periodicFunctions.push(setInterval(callback, interval))
+ var old = this._periodicFunctions[uid]
+ if (old) clearInterval(old)
+ this._periodicFunctions[uid] = setInterval(callback, interval)
}
http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/29a83636/usage/jsgui/src/main/webapp/assets/js/view/application-tree.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/application-tree.js b/usage/jsgui/src/main/webapp/assets/js/view/application-tree.js
index 6a35ed2..969a0ff 100644
--- a/usage/jsgui/src/main/webapp/assets/js/view/application-tree.js
+++ b/usage/jsgui/src/main/webapp/assets/js/view/application-tree.js
@@ -4,7 +4,7 @@
*/
define([
"underscore", "jquery", "backbone", "model/app-tree", "./entity-details", "model/entity-summary",
- "model/application", "text!tpl/apps/tree-item.html", "text!tpl/apps/details.html"
+ "model/application", "text!tpl/apps/tree-item.html", "text!tpl/apps/details.html", "brooklyn-utils"
], function (_, $, Backbone, AppTree, EntityDetailsView, EntitySummary, Application, TreeItemHtml, EntityDetailsEmptyHtml) {
var ApplicationTreeView = Backbone.View.extend({
@@ -104,6 +104,8 @@ define([
}
window.history.pushState(stateId, "", href)
this.displayEntityId(entityId, $(eventName.currentTarget).data("parent-app"));
+ // don't traverse the link further (not sure this is needed)
+ return false
},
displayEntityId:function (id, appName) {
var entitySummary = new EntitySummary.Model,
@@ -137,6 +139,8 @@ define([
that.detailsView.close()
}
}
+ if (that.detailsView)
+ that.detailsView.close()
that.detailsView = new EntityDetailsView({
model:entitySummary,
application:app
http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/29a83636/usage/jsgui/src/main/webapp/assets/js/view/entity-activities.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/entity-activities.js b/usage/jsgui/src/main/webapp/assets/js/view/entity-activities.js
index 09d9f46..fb30921 100644
--- a/usage/jsgui/src/main/webapp/assets/js/view/entity-activities.js
+++ b/usage/jsgui/src/main/webapp/assets/js/view/entity-activities.js
@@ -18,7 +18,7 @@ define([
this.collection.url = this.model.getLinkByName("activities")
this.collection.fetch()
this.collection.on("reset", this.render, this)
- this.callPeriodically(function () {
+ this.callPeriodically("entity-activities", function () {
that.collection.fetch()
}, 5000)
},
http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/29a83636/usage/jsgui/src/main/webapp/assets/js/view/entity-config.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/entity-config.js b/usage/jsgui/src/main/webapp/assets/js/view/entity-config.js
index dc08ff9..899b0a4 100644
--- a/usage/jsgui/src/main/webapp/assets/js/view/entity-config.js
+++ b/usage/jsgui/src/main/webapp/assets/js/view/entity-config.js
@@ -52,7 +52,7 @@ define([
updateConfigPeriodically:function (that) {
var self = this;
that.updateConfigNow(that)
- that.callPeriodically(function() { self.updateConfigNow(that) }, 3000)
+ that.callPeriodically("entity-config", function() { self.updateConfigNow(that) }, 3000)
},
updateConfigNow:function (that) {
// NB: this won't add new dynamic config
http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/29a83636/usage/jsgui/src/main/webapp/assets/js/view/entity-policies.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/entity-policies.js b/usage/jsgui/src/main/webapp/assets/js/view/entity-policies.js
index 5525bfa..fec2476 100644
--- a/usage/jsgui/src/main/webapp/assets/js/view/entity-policies.js
+++ b/usage/jsgui/src/main/webapp/assets/js/view/entity-policies.js
@@ -23,7 +23,7 @@ define([
this._policies = new PolicySummary.Collection()
// fetch the list of policies and create a view for each one
this._policies.url = this.model.getLinkByName("policies")
- this.callPeriodically(function() { that.refresh() }, 3000)
+ this.callPeriodically("entity-policies", function() { that.refresh() }, 3000)
this.refresh()
},
refresh: function() {
http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/29a83636/usage/jsgui/src/main/webapp/assets/js/view/entity-sensors.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/entity-sensors.js b/usage/jsgui/src/main/webapp/assets/js/view/entity-sensors.js
index 35b7c97..19c5cdc 100644
--- a/usage/jsgui/src/main/webapp/assets/js/view/entity-sensors.js
+++ b/usage/jsgui/src/main/webapp/assets/js/view/entity-sensors.js
@@ -4,7 +4,7 @@
*/
define([
"underscore", "jquery", "backbone", "view/viewutils", "model/sensor-summary", "text!tpl/apps/sensors.html",
- "text!tpl/apps/sensor-row.html", "tablesorter"
+ "text!tpl/apps/sensor-row.html", "tablesorter", "brooklyn-utils"
], function (_, $, Backbone, ViewUtils, SensorSummary, SensorsHtml, SensorRowHtml) {
var EntitySensorsView = Backbone.View.extend({
@@ -59,7 +59,7 @@ define([
updateSensorsPeriodically:function (that) {
var self = this;
that.updateSensorsNow(that)
- that.callPeriodically(function() { self.updateSensorsNow(that) }, 3000)
+ that.callPeriodically("entity-sensors", function() { self.updateSensorsNow(that) }, 3000)
},
updateSensorsNow:function (that) {
// NB: this won't add new dynamic sensors
@@ -75,7 +75,7 @@ define([
$table.dataTable().fnUpdate(_.escape(v), row, 2)
})
})
- }
- })
+ }
+ })
return EntitySensorsView
})
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/29a83636/usage/jsgui/src/main/webapp/assets/js/view/home.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/home.js b/usage/jsgui/src/main/webapp/assets/js/view/home.js
index 758d146..71e0275 100644
--- a/usage/jsgui/src/main/webapp/assets/js/view/home.js
+++ b/usage/jsgui/src/main/webapp/assets/js/view/home.js
@@ -48,7 +48,7 @@ define([
)
var locatedLocations = new Location.UsageLocated()
that.updateCircles(that, locatedLocations, GoogleMaps, map)
- that.callPeriodically(function() {
+ that.callPeriodically("circles", function() {
that.updateCircles(that, locatedLocations, GoogleMaps, map)
}, 10000)
}, function (error) {
@@ -56,7 +56,7 @@ define([
});
}
- this.callPeriodically(function() {
+ this.callPeriodically("home", function() {
that.refresh(that);
}, 5000)
this.refresh(this)
http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/29a83636/usage/jsgui/src/test/javascript/specs/home-spec.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/test/javascript/specs/home-spec.js b/usage/jsgui/src/test/javascript/specs/home-spec.js
index d720675..e7c5f15 100644
--- a/usage/jsgui/src/test/javascript/specs/home-spec.js
+++ b/usage/jsgui/src/test/javascript/specs/home-spec.js
@@ -11,7 +11,7 @@ define([
"underscore", "jquery", "model/application", "model/location", "view/home"
], function (_, $, Application, Location, HomeView) {
- Backbone.View.prototype.callPeriodically = function (callback, interval) {
+ Backbone.View.prototype.callPeriodically = function (uid, callback, interval) {
if (!this._periodicFunctions) {
this._periodicFunctions = []
}
http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/29a83636/usage/jsgui/src/test/javascript/specs/view/entity-details-spec.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/test/javascript/specs/view/entity-details-spec.js b/usage/jsgui/src/test/javascript/specs/view/entity-details-spec.js
index 83f5e0a..2804543 100644
--- a/usage/jsgui/src/test/javascript/specs/view/entity-details-spec.js
+++ b/usage/jsgui/src/test/javascript/specs/view/entity-details-spec.js
@@ -7,7 +7,7 @@ define([
return "fixtures/sensor-current-state.json"
}
- Backbone.View.prototype.callPeriodically = function (callback, interval) {
+ Backbone.View.prototype.callPeriodically = function (uid, callback, interval) {
if (!this._periodicFunctions) {
this._periodicFunctions = []
}