diff --git a/bower.json b/bower.json
index a99dc30..88c322a 100644
--- a/bower.json
+++ b/bower.json
@@ -51,7 +51,8 @@
"ionrangeslider": "~2.1.2",
"angular-bootstrap": "~0.14.3",
"angular-animate": "~1.4.8",
- "textAngular": "~1.4.6"
+ "textAngular": "~1.4.6",
+ "angular-xeditable": "~0.1.9"
},
"overrides": {
"amcharts": {
diff --git a/src/app/app.js b/src/app/app.js
index 6197801..ae76807 100644
--- a/src/app/app.js
+++ b/src/app/app.js
@@ -8,6 +8,7 @@ angular.module('BlurAdmin', [
'ngTouch',
'toastr',
'smart-table',
+ "xeditable",
'ui.slimscroll',
'BlurAdmin.theme',
diff --git a/src/app/pages/form/inputs/widgets/select/selectpicker.directive.js b/src/app/pages/form/inputs/widgets/select/selectpicker.directive.js
index 83af8dc..d66ed55 100644
--- a/src/app/pages/form/inputs/widgets/select/selectpicker.directive.js
+++ b/src/app/pages/form/inputs/widgets/select/selectpicker.directive.js
@@ -17,4 +17,6 @@
}
};
}
+
+
})();
\ No newline at end of file
diff --git a/src/app/pages/tables/TablesPageCtrl.js b/src/app/pages/tables/TablesPageCtrl.js
index 6c884bb..7d69d41 100644
--- a/src/app/pages/tables/TablesPageCtrl.js
+++ b/src/app/pages/tables/TablesPageCtrl.js
@@ -9,7 +9,10 @@
.controller('TablesPageCtrl', TablesPageCtrl);
/** @ngInject */
- function TablesPageCtrl($scope) {
+ function TablesPageCtrl($scope, $filter) {
+
+ $scope.smartTablePageSize = 12;
+
$scope.smartTableData = [
{
id: 1,
@@ -130,9 +133,371 @@
username: '@krikor',
email: 'krikor@yandex.ru',
age: '32'
+ },
+ {
+ "id": 16,
+ "firstName": "Francisca",
+ "lastName": "Brady",
+ "username": "@Gibson",
+ "email": "franciscagibson@comtours.com",
+ "age": 11
+ },
+ {
+ "id": 17,
+ "firstName": "Tillman",
+ "lastName": "Figueroa",
+ "username": "@Snow",
+ "email": "tillmansnow@comtours.com",
+ "age": 34
+ },
+ {
+ "id": 18,
+ "firstName": "Jimenez",
+ "lastName": "Morris",
+ "username": "@Bryant",
+ "email": "jimenezbryant@comtours.com",
+ "age": 45
+ },
+ {
+ "id": 19,
+ "firstName": "Sandoval",
+ "lastName": "Jacobson",
+ "username": "@Mcbride",
+ "email": "sandovalmcbride@comtours.com",
+ "age": 32
+ },
+ {
+ "id": 20,
+ "firstName": "Griffin",
+ "lastName": "Torres",
+ "username": "@Charles",
+ "email": "griffincharles@comtours.com",
+ "age": 19
+ },
+ {
+ "id": 21,
+ "firstName": "Cora",
+ "lastName": "Parker",
+ "username": "@Caldwell",
+ "email": "coracaldwell@comtours.com",
+ "age": 27
+ },
+ {
+ "id": 22,
+ "firstName": "Cindy",
+ "lastName": "Bond",
+ "username": "@Velez",
+ "email": "cindyvelez@comtours.com",
+ "age": 24
+ },
+ {
+ "id": 23,
+ "firstName": "Frieda",
+ "lastName": "Tyson",
+ "username": "@Craig",
+ "email": "friedacraig@comtours.com",
+ "age": 45
+ },
+ {
+ "id": 24,
+ "firstName": "Cote",
+ "lastName": "Holcomb",
+ "username": "@Rowe",
+ "email": "coterowe@comtours.com",
+ "age": 20
+ },
+ {
+ "id": 25,
+ "firstName": "Trujillo",
+ "lastName": "Mejia",
+ "username": "@Valenzuela",
+ "email": "trujillovalenzuela@comtours.com",
+ "age": 16
+ },
+ {
+ "id": 26,
+ "firstName": "Pruitt",
+ "lastName": "Shepard",
+ "username": "@Sloan",
+ "email": "pruittsloan@comtours.com",
+ "age": 44
+ },
+ {
+ "id": 27,
+ "firstName": "Sutton",
+ "lastName": "Ortega",
+ "username": "@Black",
+ "email": "suttonblack@comtours.com",
+ "age": 42
+ },
+ {
+ "id": 28,
+ "firstName": "Marion",
+ "lastName": "Heath",
+ "username": "@Espinoza",
+ "email": "marionespinoza@comtours.com",
+ "age": 47
+ },
+ {
+ "id": 29,
+ "firstName": "Newman",
+ "lastName": "Hicks",
+ "username": "@Keith",
+ "email": "newmankeith@comtours.com",
+ "age": 15
+ },
+ {
+ "id": 30,
+ "firstName": "Boyle",
+ "lastName": "Larson",
+ "username": "@Summers",
+ "email": "boylesummers@comtours.com",
+ "age": 32
+ },
+ {
+ "id": 31,
+ "firstName": "Haynes",
+ "lastName": "Vinson",
+ "username": "@Mckenzie",
+ "email": "haynesmckenzie@comtours.com",
+ "age": 15
+ },
+ {
+ "id": 32,
+ "firstName": "Miller",
+ "lastName": "Acosta",
+ "username": "@Young",
+ "email": "milleryoung@comtours.com",
+ "age": 55
+ },
+ {
+ "id": 33,
+ "firstName": "Johnston",
+ "lastName": "Brown",
+ "username": "@Knight",
+ "email": "johnstonknight@comtours.com",
+ "age": 29
+ },
+ {
+ "id": 34,
+ "firstName": "Lena",
+ "lastName": "Pitts",
+ "username": "@Forbes",
+ "email": "lenaforbes@comtours.com",
+ "age": 25
+ },
+ {
+ "id": 35,
+ "firstName": "Terrie",
+ "lastName": "Kennedy",
+ "username": "@Branch",
+ "email": "terriebranch@comtours.com",
+ "age": 37
+ },
+ {
+ "id": 36,
+ "firstName": "Louise",
+ "lastName": "Aguirre",
+ "username": "@Kirby",
+ "email": "louisekirby@comtours.com",
+ "age": 44
+ },
+ {
+ "id": 37,
+ "firstName": "David",
+ "lastName": "Patton",
+ "username": "@Sanders",
+ "email": "davidsanders@comtours.com",
+ "age": 26
+ },
+ {
+ "id": 38,
+ "firstName": "Holden",
+ "lastName": "Barlow",
+ "username": "@Mckinney",
+ "email": "holdenmckinney@comtours.com",
+ "age": 11
+ },
+ {
+ "id": 39,
+ "firstName": "Baker",
+ "lastName": "Rivera",
+ "username": "@Montoya",
+ "email": "bakermontoya@comtours.com",
+ "age": 47
+ },
+ {
+ "id": 40,
+ "firstName": "Belinda",
+ "lastName": "Lloyd",
+ "username": "@Calderon",
+ "email": "belindacalderon@comtours.com",
+ "age": 21
+ },
+ {
+ "id": 41,
+ "firstName": "Pearson",
+ "lastName": "Patrick",
+ "username": "@Clements",
+ "email": "pearsonclements@comtours.com",
+ "age": 42
+ },
+ {
+ "id": 42,
+ "firstName": "Alyce",
+ "lastName": "Mckee",
+ "username": "@Daugherty",
+ "email": "alycedaugherty@comtours.com",
+ "age": 55
+ },
+ {
+ "id": 43,
+ "firstName": "Valencia",
+ "lastName": "Spence",
+ "username": "@Olsen",
+ "email": "valenciaolsen@comtours.com",
+ "age": 20
+ },
+ {
+ "id": 44,
+ "firstName": "Leach",
+ "lastName": "Holcomb",
+ "username": "@Humphrey",
+ "email": "leachhumphrey@comtours.com",
+ "age": 28
+ },
+ {
+ "id": 45,
+ "firstName": "Moss",
+ "lastName": "Baxter",
+ "username": "@Fitzpatrick",
+ "email": "mossfitzpatrick@comtours.com",
+ "age": 51
+ },
+ {
+ "id": 46,
+ "firstName": "Jeanne",
+ "lastName": "Cooke",
+ "username": "@Ward",
+ "email": "jeanneward@comtours.com",
+ "age": 59
+ },
+ {
+ "id": 47,
+ "firstName": "Wilma",
+ "lastName": "Briggs",
+ "username": "@Kidd",
+ "email": "wilmakidd@comtours.com",
+ "age": 53
+ },
+ {
+ "id": 48,
+ "firstName": "Beatrice",
+ "lastName": "Perry",
+ "username": "@Gilbert",
+ "email": "beatricegilbert@comtours.com",
+ "age": 39
+ },
+ {
+ "id": 49,
+ "firstName": "Whitaker",
+ "lastName": "Hyde",
+ "username": "@Mcdonald",
+ "email": "whitakermcdonald@comtours.com",
+ "age": 35
+ },
+ {
+ "id": 50,
+ "firstName": "Rebekah",
+ "lastName": "Duran",
+ "username": "@Gross",
+ "email": "rebekahgross@comtours.com",
+ "age": 40
+ },
+ {
+ "id": 51,
+ "firstName": "Earline",
+ "lastName": "Mayer",
+ "username": "@Woodward",
+ "email": "earlinewoodward@comtours.com",
+ "age": 52
+ },
+ {
+ "id": 52,
+ "firstName": "Moran",
+ "lastName": "Baxter",
+ "username": "@Johns",
+ "email": "moranjohns@comtours.com",
+ "age": 20
+ },
+ {
+ "id": 53,
+ "firstName": "Nanette",
+ "lastName": "Hubbard",
+ "username": "@Cooke",
+ "email": "nanettecooke@comtours.com",
+ "age": 55
+ },
+ {
+ "id": 54,
+ "firstName": "Dalton",
+ "lastName": "Walker",
+ "username": "@Hendricks",
+ "email": "daltonhendricks@comtours.com",
+ "age": 25
+ },
+ {
+ "id": 55,
+ "firstName": "Bennett",
+ "lastName": "Blake",
+ "username": "@Pena",
+ "email": "bennettpena@comtours.com",
+ "age": 13
+ },
+ {
+ "id": 56,
+ "firstName": "Kellie",
+ "lastName": "Horton",
+ "username": "@Weiss",
+ "email": "kellieweiss@comtours.com",
+ "age": 48
+ },
+ {
+ "id": 57,
+ "firstName": "Hobbs",
+ "lastName": "Talley",
+ "username": "@Sanford",
+ "email": "hobbssanford@comtours.com",
+ "age": 28
+ },
+ {
+ "id": 58,
+ "firstName": "Mcguire",
+ "lastName": "Donaldson",
+ "username": "@Roman",
+ "email": "mcguireroman@comtours.com",
+ "age": 38
+ },
+ {
+ "id": 59,
+ "firstName": "Rodriquez",
+ "lastName": "Saunders",
+ "username": "@Harper",
+ "email": "rodriquezharper@comtours.com",
+ "age": 20
+ },
+ {
+ "id": 60,
+ "firstName": "Lou",
+ "lastName": "Conner",
+ "username": "@Sanchez",
+ "email": "lousanchez@comtours.com",
+ "age": 16
}
];
+ $scope.editableTableData = $scope.smartTableData.slice(0, 36);
+
$scope.peopleTableData = [
{
id: 1,
@@ -228,6 +593,82 @@
isPercentUp: false
}
];
+
+ $scope.users = [
+ {
+ "id": 1,
+ "name": "Esther Vang",
+ "status": 4,
+ "group": 3
+ },
+ {
+ "id": 2,
+ "name": "Leah Freeman",
+ "status": 3,
+ "group": 1
+ },
+ {
+ "id": 3,
+ "name": "Mathews Simpson",
+ "status": 3,
+ "group": 2
+ },
+ {
+ "id": 4,
+ "name": "Buckley Hopkins",
+ "group": 4
+ },
+ {
+ "id": 5,
+ "name": "Cheryl Schwartz",
+ "status": 4,
+ "group": 2
+ }
+ ];
+
+ $scope.statuses = [
+ {value: 1, text: 'Good'},
+ {value: 2, text: 'Awesome'},
+ {value: 3, text: 'Excellent'},
+ ];
+
+ $scope.groups = [
+ {id: 1, text: 'user'},
+ {id: 2, text: 'customer'},
+ {id: 3, text: 'vip'},
+ {id: 4, text: 'admin'}
+ ];
+
+ $scope.showGroup = function(user) {
+ if(user.group && $scope.groups.length) {
+ var selected = $filter('filter')($scope.groups, {id: user.group});
+ return selected.length ? selected[0].text : 'Not set';
+ } else return 'Not set'
+ };
+
+ $scope.showStatus = function(user) {
+ var selected = [];
+ if(user.status) {
+ selected = $filter('filter')($scope.statuses, {value: user.status});
+ }
+ return selected.length ? selected[0].text : 'Not set';
+ };
+
+
+ $scope.removeUser = function(index) {
+ $scope.users.splice(index, 1);
+ };
+
+ $scope.addUser = function() {
+ $scope.inserted = {
+ id: $scope.users.length+1,
+ name: '',
+ status: null,
+ group: null
+ };
+ $scope.users.push($scope.inserted);
+ };
+
}
})();
diff --git a/src/app/pages/tables/basic/tables.html b/src/app/pages/tables/basic/tables.html
new file mode 100644
index 0000000..28d167c
--- /dev/null
+++ b/src/app/pages/tables/basic/tables.html
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/src/app/pages/tables/smart/tables.html b/src/app/pages/tables/smart/tables.html
new file mode 100644
index 0000000..e05f3f4
--- /dev/null
+++ b/src/app/pages/tables/smart/tables.html
@@ -0,0 +1,27 @@
+
\ No newline at end of file
diff --git a/src/app/pages/tables/tables.module.js b/src/app/pages/tables/tables.module.js
index 634a20d..5bccca7 100644
--- a/src/app/pages/tables/tables.module.js
+++ b/src/app/pages/tables/tables.module.js
@@ -6,16 +6,24 @@
'use strict';
angular.module('BlurAdmin.pages.tables', [])
- .config(routeConfig);
+ .config(routeConfig);
/** @ngInject */
- function routeConfig($stateProvider) {
+ function routeConfig($stateProvider, $urlRouterProvider) {
$stateProvider
- .state('tables', {
- url: '/tables',
- templateUrl: 'app/pages/tables/tables.html',
- controller: 'TablesPageCtrl'
- });
+ .state('tables', {
+ url: '/tables',
+ template : ' ',
+ abstract: true,
+ controller: 'TablesPageCtrl'
+ }).state('tables.basic', {
+ url: '/basic',
+ templateUrl: 'app/pages/tables/basic/tables.html'
+ }).state('tables.smart', {
+ url: '/smart',
+ templateUrl: 'app/pages/tables/smart/tables.html'
+ });
+ $urlRouterProvider.when('/tables','/tables/basic');
}
})();
diff --git a/src/app/pages/tables/widgets/contextualTable.html b/src/app/pages/tables/widgets/contextualTable.html
new file mode 100644
index 0000000..680f79e
--- /dev/null
+++ b/src/app/pages/tables/widgets/contextualTable.html
@@ -0,0 +1,51 @@
+
\ No newline at end of file
diff --git a/src/app/pages/tables/widgets/editableRowTable.html b/src/app/pages/tables/widgets/editableRowTable.html
new file mode 100644
index 0000000..0ab9a82
--- /dev/null
+++ b/src/app/pages/tables/widgets/editableRowTable.html
@@ -0,0 +1,45 @@
+
+ Add row
+
+
+
+ Name
+ Status
+ Group
+ Edit
+
+
+
+
+ {{ user.name || 'empty' }}
+
+
+
+
+ {{ showStatus(user) }}
+
+
+
+
+ {{ showGroup(user) }}
+
+
+
+
+
+ Edit
+ Delete
+
+
+
+
diff --git a/src/app/pages/tables/widgets/editableTable.html b/src/app/pages/tables/widgets/editableTable.html
new file mode 100644
index 0000000..767fcdd
--- /dev/null
+++ b/src/app/pages/tables/widgets/editableTable.html
@@ -0,0 +1,27 @@
+
\ No newline at end of file
diff --git a/src/app/pages/tables/widgets/responsiveTable.html b/src/app/pages/tables/widgets/responsiveTable.html
new file mode 100644
index 0000000..729074e
--- /dev/null
+++ b/src/app/pages/tables/widgets/responsiveTable.html
@@ -0,0 +1,53 @@
+
\ No newline at end of file
diff --git a/src/app/pages/tables/widgets/smartTable.html b/src/app/pages/tables/widgets/smartTable.html
index 806ce30..fe6cd2e 100644
--- a/src/app/pages/tables/widgets/smartTable.html
+++ b/src/app/pages/tables/widgets/smartTable.html
@@ -1,8 +1,17 @@