Skip to content

Commit f89abb4

Browse files
committed
added row directive
1 parent 5aa7e49 commit f89abb4

File tree

3 files changed

+45
-4
lines changed

3 files changed

+45
-4
lines changed

directive/generic-table/generic-table.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
</tr>
1010
</thead>
1111
<tbody>
12-
<tr ng-repeat="row in gtDisplayData | limitTo: displayRows" gt-event ng-class="::gtRowTransition ? 'fade-in animate':''">
13-
<td ng-repeat="field in ::gtFields | orderBy:'columnOrder' track by field.objectKey" ng-show=":gtRefresh:gtSettings | getProperty:field.objectKey:'visible'" ng-class="::[(gtFields | getProperty:field.objectKey:'classNames'), (field.objectKey | camelToDash) + '-column']"><span ng-class="::field.click ? 'gt-click-enabled':''" ng-bind-html="::gtFields | gtRender:row:field.objectKey" ng-click="::!field.click || field.click(row)"></span></td>
12+
<tr generic-row ng-repeat="row in gtDisplayData | limitTo: displayRows" gt-event ng-class="::gtRowTransition ? 'fade-in animate':''">
13+
<td ng-repeat="field in ::gtFields | orderBy:'columnOrder' track by field.objectKey" ng-show=":gtRefresh:gtSettings | getProperty:field.objectKey:'visible'" ng-class="::[(gtFields | getProperty:field.objectKey:'classNames'), (field.objectKey | camelToDash) + '-column']"><span ng-class="::field.click ? 'gt-click-enabled':''" ng-bind-html="::gtFields | gtRender:row:field.objectKey" ng-click=":gtRefresh:!field.click || field.click(row);!field.expand || toggleRow(field.expand,(gtSettings | filter:{'visible':true}:true).length,row,field.objectKey);"></span></td>
1414
</tr>
1515
</tbody>
1616
<tr ng-if="pagination === false"><td class="gt-no-data" colspan="{{:gtRefresh:(gtSettings | filter:{'visible':true}:true).length}}">{{::gtNoDataTxt}}</td></t></tr>

directive/generic-table/generic-table.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,37 @@ angular.module('generic.table').directive('genericTable', function() {
345345

346346
};
347347

348+
}).directive('genericRow', function($compile) {
349+
return {
350+
restrict: 'A',
351+
scope:false,
352+
link: function(scope, element, attrs, fn) {
353+
var isOpen;
354+
scope.toggleRow = function(content,columns,row,key){
355+
console.log(isOpen,columns);
356+
if(!isOpen){
357+
var row = $compile('<tr><td colspan="'+columns+'">'+content(row,key)+'</td></tr>')(scope);
358+
element.after(row);
359+
isOpen = true;
360+
} else {
361+
element.next().remove();
362+
isOpen = false;
363+
}
364+
//isOpen != isOpen;
365+
console.log(isOpen);
366+
};
367+
scope.openRow = function(){
368+
var row = '<tr><td colspan="4">Test</td></tr>';
369+
element.after(row);
370+
};
371+
scope.closeRow = function(){
372+
element.next().remove();
373+
};
374+
scope.$on('gt-open-row',function(){
375+
console.log('open row');
376+
});
377+
}
378+
};
348379
}).directive('gtEvent', function() {
349380
return {
350381
restrict: 'A',

partial/examples/examples.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,8 @@ angular.module('generic.table').controller('DocumentationController',function($s
411411
objectKey:'age',
412412
classNames:"text-right",
413413
render: function(row){return moment().diff(moment.unix(row.birthday),'years')},
414-
value: function(row){return moment().diff(moment.unix(row.birthday),'years')}
414+
value: function(row){return moment().diff(moment.unix(row.birthday),'years')},
415+
expand:function(row){return'<custom-dir>'+ row.age +'</custom-dir>'}
415416
}
416417
],
417418
data:[]
@@ -444,4 +445,13 @@ angular.module('generic.table').controller('DocumentationController',function($s
444445
return {
445446
"getJsonData":getJsonData
446447
};
447-
});
448+
}).directive('customDir', function() {
449+
return {
450+
replace:true,
451+
template:'<div>something</div>',
452+
restrict: 'E',
453+
link: function(scope, element, attrs, fn) {
454+
console.log('custom');
455+
}
456+
};
457+
})

0 commit comments

Comments
 (0)