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/03/27 01:05:09 UTC
svn commit: r1305660 - in
/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp:
index.html js/archiva/main.js js/knockout.simpleGrid.js js/redback/redback.js
Author: olamy
Date: Mon Mar 26 23:05:09 2012
New Revision: 1305660
URL: http://svn.apache.org/viewvc?rev=1305660&view=rev
Log:
load knockout grid binding as a require js module
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout.simpleGrid.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/redback.js
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html?rev=1305660&r1=1305659&r2=1305660&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html Mon Mar 26 23:05:09 2012
@@ -85,8 +85,8 @@
"choosen": "chosen.jquery-0.9.7",
"jquery_validate": "jquery.validate-1.9.0",
"jquery_json": "jquery.json-2.3.min",
- "knockout.simpleGrid": "knockout.simpleGrid",
"knockout": "knockout-2.0.0.debug",
+ "knockout.simpleGrid": "knockout.simpleGrid",
"knockout.sortable": "knockout-sortable",
"redback": "redback/redback",
"general-admin":"archiva/general-admin",
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js?rev=1305660&r1=1305659&r2=1305660&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js Mon Mar 26 23:05:09 2012
@@ -18,7 +18,8 @@
*/
define("main",["order!jquery","jquery_ui","jquery_cookie","bootstrap","order!archiva/search",
"jquery_validate","jquery_json","order!knockout","order!redback-templates","order!main-templates","order!roles",
- "order!redback","general-admin","repositories","network-proxies","proxy-connectors","repository-groups"],
+ "order!redback","general-admin","repositories","network-proxies","proxy-connectors","repository-groups",
+ "order!knockout.simpleGrid"],
function() {
/**
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=1305660&r1=1305659&r2=1305660&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 Mon Mar 26 23:05:09 2012
@@ -9,64 +9,68 @@
// * Creating some API to fetch table data using Ajax requests
// ... etc
-(function () {
+define("knockout.simpleGrid",["jquery","order!utils","i18n","order!knockout"], function() {
+ (function () {
- ko.simpleGrid = {
- // Defines a view model class you can use to populate a grid
- viewModel: function (configuration) {
- this.data = configuration.data;
- this.currentPageIndex = ko.observable(0);
- this.pageSize = configuration.pageSize || 5;
- this.columns = configuration.columns;
-
- this.itemsOnCurrentPage = ko.computed(function () {
- var startIndex = this.pageSize * this.currentPageIndex();
- return this.data.slice(startIndex, startIndex + this.pageSize);
- }, this);
-
- this.maxPageIndex = ko.computed(function () {
- return Math.ceil(ko.utils.unwrapObservable(this.data).length / this.pageSize);
- }, this);
- this.i18n=function(key){
- return $.i18n.prop(key);
- };
- this.gridUpdateCallBack = configuration.gridUpdateCallBack;
- this.pageLinksUpdateCallBack = configuration.pageLinksUpdateCallBack;
- }
- };
-
- // Templates used to render the grid
- var templateEngine = new ko.jqueryTmplTemplateEngine();
-
-
- // The "simpleGrid" binding
- ko.bindingHandlers.simpleGrid = {
- // This method is called to initialize the node, and will also be called again if you change what the grid is bound to
- update: function (element, viewModelAccessor, allBindingsAccessor) {
- var viewModel = viewModelAccessor(), allBindings = allBindingsAccessor();
-
- // Empty the element
- while(element.firstChild) {
- ko.removeNode(element.firstChild);
- }
- // Allow the default templates to be overridden
- var gridTemplateName = allBindings.simpleGridTemplate || "ko_usersGrid_grid",
- pageLinksTemplateName = allBindings.simpleGridPagerTemplate || "ko_simpleGrid_pageLinks";
-
- // Render the main grid
- var gridContainer = element.appendChild(document.createElement("DIV"));
- ko.renderTemplate(gridTemplateName, viewModel, { templateEngine: templateEngine }, gridContainer, "replaceNode")
- .subscribe(viewModel.gridUpdateCallBack?viewModel.gridUpdateCallBack:function(){});
-
- if (viewModel.gridUpdateCallBack) viewModel.gridUpdateCallBack();
-
- // Render the page links
- var pageLinksContainer = $("#"+allBindings.pageLinksId).get(0);
- ko.renderTemplate(pageLinksTemplateName, viewModel, { templateEngine: templateEngine }, pageLinksContainer, "replaceNode")
- .subscribe(viewModel.pageLinksUpdateCallBack?viewModel.pageLinksUpdateCallBack:function(){});
- if (viewModel.pageLinksUpdateCallBack) viewModel.pageLinksUpdateCallBack();
+ ko.simpleGrid = {
+ // Defines a view model class you can use to populate a grid
+ viewModel: function (configuration) {
+ this.data = configuration.data;
+ this.currentPageIndex = ko.observable(0);
+ this.pageSize = configuration.pageSize || 5;
+ this.columns = configuration.columns;
+
+ this.itemsOnCurrentPage = ko.computed(function () {
+ var startIndex = this.pageSize * this.currentPageIndex();
+ return this.data.slice(startIndex, startIndex + this.pageSize);
+ }, this);
+
+ this.maxPageIndex = ko.computed(function () {
+ return Math.ceil(ko.utils.unwrapObservable(this.data).length / this.pageSize);
+ }, this);
+ this.i18n=function(key){
+ return $.i18n.prop(key);
+ };
+ this.gridUpdateCallBack = configuration.gridUpdateCallBack;
+ this.pageLinksUpdateCallBack = configuration.pageLinksUpdateCallBack;
}
- };
-})();
\ No newline at end of file
+ };
+
+ // Templates used to render the grid
+ var templateEngine = new ko.jqueryTmplTemplateEngine();
+
+
+ // The "simpleGrid" binding
+ ko.bindingHandlers.simpleGrid = {
+ // This method is called to initialize the node, and will also be called again if you change what the grid is bound to
+ update: function (element, viewModelAccessor, allBindingsAccessor) {
+ var viewModel = viewModelAccessor(), allBindings = allBindingsAccessor();
+
+ // Empty the element
+ while(element.firstChild) {
+ ko.removeNode(element.firstChild);
+ }
+
+ // Allow the default templates to be overridden
+ var gridTemplateName = allBindings.simpleGridTemplate || "ko_usersGrid_grid",
+ pageLinksTemplateName = allBindings.simpleGridPagerTemplate || "ko_simpleGrid_pageLinks";
+
+ // Render the main grid
+ var gridContainer = element.appendChild(document.createElement("DIV"));
+ ko.renderTemplate(gridTemplateName, viewModel, { templateEngine: templateEngine }, gridContainer, "replaceNode")
+ .subscribe(viewModel.gridUpdateCallBack?viewModel.gridUpdateCallBack:function(){});
+
+ if (viewModel.gridUpdateCallBack) viewModel.gridUpdateCallBack();
+
+ // Render the page links
+ var pageLinksContainer = $("#"+allBindings.pageLinksId).get(0);
+ ko.renderTemplate(pageLinksTemplateName, viewModel, { templateEngine: templateEngine }, pageLinksContainer, "replaceNode")
+ .subscribe(viewModel.pageLinksUpdateCallBack?viewModel.pageLinksUpdateCallBack:function(){});
+ if (viewModel.pageLinksUpdateCallBack) viewModel.pageLinksUpdateCallBack();
+ }
+ };
+ })();
+
+})
\ No newline at end of file
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/redback.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/redback.js?rev=1305660&r1=1305659&r2=1305660&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/redback.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/redback.js Mon Mar 26 23:05:09 2012
@@ -16,7 +16,8 @@
* specific language governing permissions and limitations
* under the License.
*/
-define("redback",["jquery","order!utils","jquery_validate","jquery_json","roles","user","users"], function() {
+define("redback",["jquery","order!utils","jquery_validate","jquery_json","order!knockout",
+ "order!knockout.simpleGrid","roles","user","users"], function() {
// define a container object with various datas
window.redbackModel = {userOperationNames:null,key:null,i18n:$.i18n.map};