List view: View subselect on infinite scrolling

Fixes issue where outdated context is passed to subselect's data provider
when infinite scroll event loads more data items. Now, context is derived
from DOM data directly instead of in the args.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ab8036b7
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ab8036b7
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ab8036b7

Branch: refs/heads/vpc-toolkit-hugo
Commit: ab8036b76634bbf1fc420277c756fe69c261b595
Parents: 1f3d02b
Author: Brian Federle <[email protected]>
Authored: Thu Jul 10 16:43:31 2014 -0700
Committer: Brian Federle <[email protected]>
Committed: Thu Jul 10 16:43:31 2014 -0700

----------------------------------------------------------------------
 ui/scripts/ui/widgets/listView.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ab8036b7/ui/scripts/ui/widgets/listView.js
----------------------------------------------------------------------
diff --git a/ui/scripts/ui/widgets/listView.js 
b/ui/scripts/ui/widgets/listView.js
index 415169a..509c802 100644
--- a/ui/scripts/ui/widgets/listView.js
+++ b/ui/scripts/ui/widgets/listView.js
@@ -1327,7 +1327,10 @@
                     if ($(this).is(':checked')) {
                         // Populate data
                         subselect.dataProvider({
-                            context: $.extend(true, {}, options.context, {
+                            context: $.extend(true, {},
+                                ($listView && $listView.data('view-args') ?
+                                    $.extend(true, {}, 
$listView.data('view-args').context, options.context) :
+                                    options.context), {
                                 instances: [$tr.data('json-obj')]
                             }),
                             response: {

Reply via email to