Skip to content

Commit

Permalink
Merge pull request #88 from TopCS/master
Browse files Browse the repository at this point in the history
(feat): removed jQuery dependency. Compatibility IE9+.
  • Loading branch information
esvit committed Oct 16, 2013
2 parents 178d6ac + 07afe32 commit b569b3e
Show file tree
Hide file tree
Showing 21 changed files with 29 additions and 46 deletions.
4 changes: 4 additions & 0 deletions .bowerrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"directory": "bower_components",
"json": "bower.json"
}
3 changes: 1 addition & 2 deletions bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
"src"
],
"dependencies": {
"angular": ">=1.2.0-rc.2",
"jquery": ">=1.10.2"
"angular": ">=1.2.0-rc.2"
},
"devDependencies": {
"angular-mocks": "1.2.0-rc.2"
Expand Down
1 change: 0 additions & 1 deletion examples/demo1.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.src.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
1 change: 0 additions & 1 deletion examples/demo10.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<meta name="viewport" content="width=device-width">

<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
1 change: 0 additions & 1 deletion examples/demo11.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.src.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
1 change: 0 additions & 1 deletion examples/demo12.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.src.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
1 change: 0 additions & 1 deletion examples/demo13.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.src.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
1 change: 0 additions & 1 deletion examples/demo2.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
5 changes: 2 additions & 3 deletions examples/demo3.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@

<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.js"></script>
<script src="../ng-table.src.js"></script>
<link rel="stylesheet" href="../ng-table.css">
</head>
<body ng-app="main">
Expand Down Expand Up @@ -81,4 +80,4 @@ <h1>Table with sorting</h1>


</body>
</html>
</html>
1 change: 0 additions & 1 deletion examples/demo4.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<meta name="viewport" content="width=device-width">

<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
1 change: 0 additions & 1 deletion examples/demo5.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
1 change: 0 additions & 1 deletion examples/demo6.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<meta name="viewport" content="width=device-width">

<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="js/angular-resource.min.js"></script>
<script src="js/angular-mocks.js"></script>
Expand Down
1 change: 0 additions & 1 deletion examples/demo7.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<meta name="viewport" content="width=device-width">

<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
1 change: 0 additions & 1 deletion examples/demo8.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<meta name="viewport" content="width=device-width">

<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
1 change: 0 additions & 1 deletion examples/demo9.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<meta name="viewport" content="width=device-width">

<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="../ng-table.js"></script>
<link rel="stylesheet" href="../ng-table.css">
Expand Down
3 changes: 1 addition & 2 deletions karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ module.exports = function(config) {
// list of files / patterns to load in the browser
files: [
// libraries
'bower_components/jquery/jquery.js',
'bower_components/angular/angular.js',
'bower_components/angular-mocks/angular-mocks.js',

Expand All @@ -36,4 +35,4 @@ module.exports = function(config) {
dir : 'out/coverage'
}
});
};
};
2 changes: 1 addition & 1 deletion ng-table.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion ng-table.map

Large diffs are not rendered by default.

13 changes: 5 additions & 8 deletions ng-table.src.js
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,7 @@ app.directive('ngTable', ['$compile', '$q', '$parse',
compile: function (element) {
var columns = [], i = 0;

angular.forEach(element.find('tr:not(.ng-table-group)').eq(0).find('td'), function (item) {
angular.forEach(angular.element(element[0].querySelector('tr:not(.ng-table-group)')).find('td'), function (item) {
var el = angular.element(item);
if (el.attr('ignore-cell') && 'true' === el.attr('ignore-cell')) {
return;
Expand Down Expand Up @@ -577,15 +577,11 @@ app.directive('ngTable', ['$compile', '$q', '$parse',
header: (attrs.templateHeader ? attrs.templateHeader : 'ng-table/header.html'),
pagination: (attrs.templatePagination ? attrs.templatePagination : 'ng-table/pager.html')
};
var headerTemplate = angular.element('<thead ng-include="templates.header"></thead>');
var paginationTemplate = angular.element('<div ng-include="templates.pagination"></div>');
var headerTemplate = angular.element(document.createElement('thead')).attr('ng-include', 'templates.header');
var paginationTemplate = angular.element(document.createElement('div')).attr('ng-include', 'templates.pagination');
element.find('thead').remove();
var tbody = element.find('tbody');
if (tbody[0]) {
angular.element(tbody[0]).before(headerTemplate);
} else {
element.prepend(headerTemplate);
}
element.prepend(headerTemplate);
$compile(headerTemplate)(scope);
$compile(paginationTemplate)(scope);
element.addClass('ng-table');
Expand All @@ -596,6 +592,7 @@ app.directive('ngTable', ['$compile', '$q', '$parse',
}
}
]);

angular.module('ngTable').run(['$templateCache', function ($templateCache) {
$templateCache.put('ng-table/filters/select.html', '<select ng-options="data.id as data.title for data in column.data" ng-model="params.filter()[name]" ng-show="filter==\'select\'" class="filter filter-select form-control"> </select>');
$templateCache.put('ng-table/filters/text.html', '<input type="text" ng-model="params.filter()[name]" ng-if="filter==\'text\'" class="input-filter form-control"/>');
Expand Down
14 changes: 5 additions & 9 deletions src/scripts/05-directive.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ app.directive('ngTable', ['$compile', '$q', '$parse',
compile: function (element) {
var columns = [], i = 0;

angular.forEach(element.find('tr:not(.ng-table-group)').eq(0).find('td'), function (item) {
angular.forEach(angular.element(element[0].querySelector('tr:not(.ng-table-group)')).find('td'), function (item) {
var el = angular.element(item);
if (el.attr('ignore-cell') && 'true' === el.attr('ignore-cell')) {
return;
Expand Down Expand Up @@ -110,15 +110,11 @@ app.directive('ngTable', ['$compile', '$q', '$parse',
header: (attrs.templateHeader ? attrs.templateHeader : 'ng-table/header.html'),
pagination: (attrs.templatePagination ? attrs.templatePagination : 'ng-table/pager.html')
};
var headerTemplate = angular.element('<thead ng-include="templates.header"></thead>');
var paginationTemplate = angular.element('<div ng-include="templates.pagination"></div>');
var headerTemplate = angular.element(document.createElement('thead')).attr('ng-include', 'templates.header');
var paginationTemplate = angular.element(document.createElement('div')).attr('ng-include', 'templates.pagination');
element.find('thead').remove();
var tbody = element.find('tbody');
if (tbody[0]) {
angular.element(tbody[0]).before(headerTemplate);
} else {
element.prepend(headerTemplate);
}
element.prepend(headerTemplate);
$compile(headerTemplate)(scope);
$compile(paginationTemplate)(scope);
element.addClass('ng-table');
Expand All @@ -128,4 +124,4 @@ app.directive('ngTable', ['$compile', '$q', '$parse',
}
}
}
]);
]);
17 changes: 9 additions & 8 deletions test/tableSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,25 +57,26 @@ describe('ng-table', function () {
}));

it('should create table header', inject(function ($compile, $rootScope) {
var thead = elm.find('table thead');
var thead = elm.find('thead');
expect(thead.length).toBe(1);

var rows = thead.find('tr');
expect(rows.length).toBe(2);

var titles = rows.eq(0).find('th');
var titles = angular.element(rows[0]).find('th');

expect(titles.length).toBe(3);
expect($.trim(titles.eq(0).text())).toBe('Name of person');
expect($.trim(titles.eq(1).text())).toBe('Age');
expect($.trim(titles.eq(2).text())).toBe('Money');
expect(angular.element(titles[0]).text().trim()).toBe('Name of person');
expect(angular.element(titles[1]).text().trim()).toBe('Age');
expect(angular.element(titles[2]).text().trim()).toBe('Money');

var filters = rows.eq(1).find('th');
var filters = angular.element(rows[1]).find('th');
expect(filters.length).toBe(3);
}));

it('should show scope data', inject(function ($compile, $rootScope, ngTableParams) {
var tbody = elm.find('table tbody');
debugger;
var tbody = elm.find('tbody');
expect(tbody.length).toBe(1);

var rows = tbody.find('tr');
Expand Down Expand Up @@ -109,4 +110,4 @@ describe('ng-table', function () {
expect(rows.length).toBe(7);
}));

});
});

0 comments on commit b569b3e

Please sign in to comment.