From 36a9d59503d9af98d6622b12c60a9174ecf2bbe0 Mon Sep 17 00:00:00 2001 From: goutham-M Date: Tue, 3 Sep 2013 16:34:52 +0530 Subject: [PATCH] list/view datatable feature is added --- global-translations/locale-en.json | 16 +++++++++ html/administration/system.html | 2 +- html/administration/system/datatables.html | 22 ++++++++++++ html/administration/system/viewdatatable.html | 34 +++++++++++++++++++ html/products/loanproducts.html | 1 + js/controllers/DataTableController.js | 14 ++++++++ js/controllers/ViewDataTableController.js | 28 +++++++++++++++ js/mifosXComponents.js | 2 ++ js/routes.js | 6 ++++ 9 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 html/administration/system/datatables.html create mode 100644 html/administration/system/viewdatatable.html create mode 100644 js/controllers/DataTableController.js create mode 100644 js/controllers/ViewDataTableController.js diff --git a/global-translations/locale-en.json b/global-translations/locale-en.json index 84395a33..c035aa8e 100644 --- a/global-translations/locale-en.json +++ b/global-translations/locale-en.json @@ -56,6 +56,22 @@ "label.name":"Name:", "label.filename":"File name:", + "#common button name":"", + "button.edit":"Edit", + + "#datatable":"", + "table.heading.datatablename":"Data Table Name", + "table.heading.associatedwith":"Associated With", + "button.createdatatable":"Create Datatable", + + "#view datatable":"", + "table.heading.fieldname":"Field Name", + "table.heading.type":"Type", + "table.heading.length":"Length", + "table.heading.code":"Code", + "table.heading.mandatory":"Mandatory", + "label.associatedwith":"Associated with:", + "#employee table":"....", "table.heading.isLoanOfficer":"Is Loan Officer?", "link.create.new.employee":"Create Employee", diff --git a/html/administration/system.html b/html/administration/system.html index d5862534..f04aed54 100644 --- a/html/administration/system.html +++ b/html/administration/system.html @@ -1,7 +1,7 @@
- +

  Manage Data Table

Add new extra feilds to any entity in the form of data table.

diff --git a/html/administration/system/datatables.html b/html/administration/system/datatables.html new file mode 100644 index 00000000..624b4c8c --- /dev/null +++ b/html/administration/system/datatables.html @@ -0,0 +1,22 @@ + +
+ + + + + + + + + + + + + +
{{'table.heading.datatablename' | translate}}{{'table.heading.associatedwith' | translate}}
{{datatable.registeredTableName}}{{datatable.applicationTableName}}
+
diff --git a/html/administration/system/viewdatatable.html b/html/administration/system/viewdatatable.html new file mode 100644 index 00000000..2c7e06a0 --- /dev/null +++ b/html/administration/system/viewdatatable.html @@ -0,0 +1,34 @@ +
+ + +
+ {{datatable.registeredTableName}} + {{'label.associatedwith' | translate}}  {{datatable.applicationTableName}} + + + + + + + + + + + + + + + + + + + +
{{'table.heading.fieldname' | translate}}{{'table.heading.type' | translate}}{{'table.heading.length' | translate}}{{'table.heading.code' | translate}}{{'table.heading.mandatory' | translate}}
{{column.columnName}}{{column.columnType}}{{column.columnLength}}{{column.code}}{{column.isColumnNullable}}
+
diff --git a/html/products/loanproducts.html b/html/products/loanproducts.html index 5bdf7638..6cb4b6ba 100644 --- a/html/products/loanproducts.html +++ b/html/products/loanproducts.html @@ -1,3 +1,4 @@ +
diff --git a/js/controllers/DataTableController.js b/js/controllers/DataTableController.js new file mode 100644 index 00000000..4bf7f319 --- /dev/null +++ b/js/controllers/DataTableController.js @@ -0,0 +1,14 @@ +(function(module) { + mifosX.controllers = _.extend(module, { + DataTableController: function(scope, resourceFactory) { + + resourceFactory.DataTablesResource.getAllDataTables(function(data) { + scope.datatables = data; + }); + + } + }); + mifosX.ng.application.controller('DataTableController', ['$scope', 'ResourceFactory', mifosX.controllers.DataTableController]).run(function($log) { + $log.info("DataTableController initialized"); + }); +}(mifosX.controllers || {})); diff --git a/js/controllers/ViewDataTableController.js b/js/controllers/ViewDataTableController.js new file mode 100644 index 00000000..5fafbed5 --- /dev/null +++ b/js/controllers/ViewDataTableController.js @@ -0,0 +1,28 @@ +(function(module) { + mifosX.controllers = _.extend(module, { + ViewDataTableController: function(scope, routeParams , resourceFactory ) { + resourceFactory.DataTablesResource.getTableDetails({datatablename: routeParams.tableName} , function(data) { + + var temp=[]; + if(data.columnHeaderData[0].columnName == "id") { + data.columnHeaderData.splice(0,1); + } + if(data.columnHeaderData[0].columnName == "client_id") { + data.columnHeaderData.splice(0,1); + } + + for(var i=0; i< data.columnHeaderData.length; i++) { + if(data.columnHeaderData[i].columnName.indexOf("_cd_") > 0) { + temp = data.columnHeaderData[i].columnName.split("_cd_"); + data.columnHeaderData[i].columnName = temp[1]; + data.columnHeaderData[i].code = temp[0]; + } + } + scope.datatable = data; + }); + } + }); + mifosX.ng.application.controller('ViewDataTableController', ['$scope', '$routeParams','ResourceFactory', mifosX.controllers.ViewDataTableController]).run(function($log) { + $log.info("ViewDataTableController initialized"); + }); +}(mifosX.controllers || {})); diff --git a/js/mifosXComponents.js b/js/mifosXComponents.js index ce414393..9dc6c732 100644 --- a/js/mifosXComponents.js +++ b/js/mifosXComponents.js @@ -25,6 +25,8 @@ define(['underscore', 'mifosX'], function() { 'ViewClientController', 'CreateClientController', 'TaskController', + 'DataTableController', + 'ViewDataTableController', 'CurrencyConfigController', 'SearchController', 'ViewLoanProductController', diff --git a/js/routes.js b/js/routes.js index f2568104..8952208f 100644 --- a/js/routes.js +++ b/js/routes.js @@ -37,6 +37,12 @@ .when('/system', { templateUrl: 'html/administration/system.html' }) + .when('/datatables', { + templateUrl: 'html/administration/system/datatables.html' + }) + .when('/viewdatatable/:tableName', { + templateUrl: 'html/administration/system/viewdatatable.html' + }) .when('/loanproducts', { templateUrl: 'html/products/loanproducts.html' })