You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/01/19 00:29:49 UTC

svn commit: r1233120 - in /archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js: archiva/repositories.js archiva/templates/repositories.html knockout-debug.js knockout.simpleGrid.js

Author: olamy
Date: Wed Jan 18 23:29:49 2012
New Revision: 1233120

URL: http://svn.apache.org/viewvc?rev=1233120&view=rev
Log:
add a mechanism in knockout simpleGrid binding to add callback subscribe on values change

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout-debug.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout.simpleGrid.js

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js?rev=1233120&r1=1233119&r2=1233120&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js Wed Jan 18 23:29:49 2012
@@ -299,13 +299,16 @@ $(function() {
               title: "Repository type (default is Maven 2)"
               }
             ],
-            pageSize: 5
+            pageSize: 5,
+            gridUpdateCallBack: function(){
+              $.log("gridUpdateCallBack");
+              $("#main-content #managed-repositories-table [title]").twipsy();
+            }
           });
           ko.applyBindings(managedRepositoriesViewModel,$("#main-content #managed-repositories-table").get(0));
           $("#main-content #managed-repositories-pills").pills();
           $("#managed-repositories-view").addClass("active");
           removeMediumSpinnerImg("#main-content #managed-repositories-content");
-          $("#main-content #managed-repositories-table [title]").twipsy();
           activateManagedRepositoriesGridTab();
         }
       }

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html?rev=1233120&r1=1233119&r2=1233120&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html Wed Jan 18 23:29:49 2012
@@ -42,12 +42,11 @@
             <div id="managed-repositories-tabs-content" class="pill-content">
               <div id="managed-repositories-view" class="active">
                   <table class="bordered-table zebra-striped" id="managed-repositories-table"
-                         data-bind="simpleGrid: gridViewModel,simpleGridTemplate:'ko_managed-repositoriesGrid',pageLinksId:'managed-repositoriesPagination'">
+                         data-bind="simpleGrid: gridViewModel,simpleGridTemplate:'ko_managed-repositoriesGrid',pageLinksId:'managed-repositoriesPagination',data:'managedRepositories'">
                   </table>
                   <div id="managed-repositoriesPagination"></div>
               </div>
               <div id="managed-repository-edit" data-bind='template: {name:"managed-repository-edit-tmpl"}'>
-
               </div>
             </div>
     	</div>

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout-debug.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout-debug.js?rev=1233120&r1=1233119&r2=1233120&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout-debug.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout-debug.js Wed Jan 18 23:29:49 2012
@@ -2743,6 +2743,7 @@ ko.exportSymbol('templateRewriting.apply
     }
 
     function executeTemplate(targetNodeOrNodeArray, renderMode, template, bindingContext, options) {
+
         options = options || {};
         var templateEngineToUse = (options['templateEngine'] || _templateEngine);
         ko.templateRewriting.ensureTemplateIsRewritten(template, templateEngineToUse);
@@ -2797,7 +2798,6 @@ ko.exportSymbol('templateRewriting.apply
 
                     // Support selecting template as a function of the data being rendered
                     var templateName = typeof(template) == 'function' ? template(bindingContext['$data']) : template; 
-
                     var renderedNodesArray = executeTemplate(targetNodeOrNodeArray, renderMode, templateName, bindingContext, options);
                     if (renderMode == "replaceNode") {
                         targetNodeOrNodeArray = renderedNodesArray;

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout.simpleGrid.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout.simpleGrid.js?rev=1233120&r1=1233119&r2=1233120&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout.simpleGrid.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout.simpleGrid.js Wed Jan 18 23:29:49 2012
@@ -15,7 +15,7 @@
     ko.simpleGrid = {
       // Defines a view model class you can use to populate a grid
       viewModel: function (configuration) {
-        this.data = configuration.data;
+        this.data = ko.observableArray(configuration.data);
         this.currentPageIndex = ko.observable(0);
         this.pageSize = configuration.pageSize || 5;
         this.columns = configuration.columns;
@@ -31,6 +31,8 @@
         this.i18n=function(key){
           return $.i18n.prop(key);
         };
+        this.gridUpdateCallBack = configuration.gridUpdateCallBack;
+        this.pageLinksUpdateCallBack = configuration.pageLinksUpdateCallBack;
       }
     };
 
@@ -54,11 +56,13 @@
 
           // Render the main grid
           var gridContainer = element.appendChild(document.createElement("DIV"));
-          ko.renderTemplate(gridTemplateName, viewModel, { templateEngine: templateEngine }, gridContainer, "replaceNode");
+          ko.renderTemplate(gridTemplateName, viewModel, { templateEngine: templateEngine }, gridContainer, "replaceNode")
+              .subscribe(viewModel.gridUpdateCallBack?viewModel.gridUpdateCallBack:function(){});
 
           // Render the page links
           var pageLinksContainer = $("#"+allBindings.pageLinksId).get(0);
-          ko.renderTemplate(pageLinksTemplateName, viewModel, { templateEngine: templateEngine }, pageLinksContainer, "replaceNode");
+          ko.renderTemplate(pageLinksTemplateName, viewModel, { templateEngine: templateEngine }, pageLinksContainer, "replaceNode")
+              .subscribe(viewModel.pageLinksUpdateCallBack?viewModel.pageLinksUpdateCallBack:function(){});
         }
     };
 })();
\ No newline at end of file