Skip to content

Commit 112b65f

Browse files
author
Walden Raines
committed
Merge pull request #106 from dtaylor113/cardUpdates
Fix for #103 - pfCard directive should not show heading area if no t…
2 parents 4d5e9d8 + 69f6a88 commit 112b65f

File tree

5 files changed

+25
-4
lines changed

5 files changed

+25
-4
lines changed

dist/angular-patternfly.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,10 @@ angular.module('patternfly.card').directive('pfCard', function () {
400400
}
401401
};
402402

403+
$scope.showHeader = function () {
404+
return ($scope.headTitle || $scope.showFilterInHeader());
405+
};
406+
403407
$scope.showFilterInHeader = function () {
404408
return ($scope.filter && $scope.filter.filters && $scope.filter.position && $scope.filter.position === 'header');
405409
};
@@ -4675,7 +4679,7 @@ angular.module('patternfly.views').directive('pfDataToolbar',
46754679

46764680

46774681
$templateCache.put('card/basic/card.html',
4678-
"<div ng-class=\"showTopBorder === 'true' ? 'card-pf card-pf-accented' : 'card-pf'\"><div ng-class=\"!showTitlesSeparator || showTitlesSeparator === 'true' ? 'card-pf-heading' : 'card-pf-heading-no-bottom'\"><div class=card-pf-table><div class=card-pf-cell><h2 class=card-pf-title ng-class=\"{'card-pf-filter-header': showFilterInHeader()}\">{{headTitle}}</h2></div><div class=\"card-pf-cell text-right\" ng-if=showFilterInHeader()><div class=\"dropdown btn-group\"><div ng-include=\"'card/basic/card-filter.html'\"></div></div></div></div></div><span ng-if=subTitle class=card-pf-subtitle>{{subTitle}}</span><div class=card-pf-body><div ng-transclude></div></div><div class=card-pf-footer ng-if=footer><div class=card-pf-table><div class=card-pf-cell><a href={{footer.href}} ng-if=footer.href><span class=\"{{footer.iconClass}} card-pf-footer-text\" ng-if=footer.iconClass></span> <span class=card-pf-footer-text ng-if=footer.text>{{footer.text}}</span></a> <a ng-if=\"footer.callBackFn && !footer.href\" ng-click=footerCallBackFn()><span class=\"{{footer.iconClass}} card-pf-footer-text\" ng-if=footer.iconClass></span> <span class=card-pf-footer-text ng-if=footer.text>{{footer.text}}</span></a> <span ng-if=\"!footer.href && !footer.callBackFn\"><span class=\"{{footer.iconClass}} card-pf-footer-text\" ng-if=footer.iconClass></span> <span class=card-pf-footer-text ng-if=footer.text>{{footer.text}}</span></span></div><div class=\"card-pf-cell text-right\" ng-if=\"filter && filter.filters && (!filter.position || filter.position === 'footer')\"><div class=\"dropdown btn-group\"><div ng-include=\"'card/basic/card-filter.html'\"></div></div></div></div></div></div>"
4682+
"<div ng-class=\"showTopBorder === 'true' ? 'card-pf card-pf-accented' : 'card-pf'\"><div ng-if=showHeader() ng-class=\"!showTitlesSeparator || showTitlesSeparator === 'true' ? 'card-pf-heading' : 'card-pf-heading-no-bottom'\"><div class=card-pf-table><div class=card-pf-cell><h2 class=card-pf-title ng-class=\"{'card-pf-filter-header': showFilterInHeader()}\">{{headTitle}}</h2></div><div class=\"card-pf-cell text-right\" ng-if=showFilterInHeader()><div class=\"dropdown btn-group\"><div ng-include=\"'card/basic/card-filter.html'\"></div></div></div></div></div><span ng-if=subTitle class=card-pf-subtitle>{{subTitle}}</span><div class=card-pf-body><div ng-transclude></div></div><div class=card-pf-footer ng-if=footer><div class=card-pf-table><div class=card-pf-cell><a href={{footer.href}} ng-if=footer.href><span class=\"{{footer.iconClass}} card-pf-footer-text\" ng-if=footer.iconClass></span> <span class=card-pf-footer-text ng-if=footer.text>{{footer.text}}</span></a> <a ng-if=\"footer.callBackFn && !footer.href\" ng-click=footerCallBackFn()><span class=\"{{footer.iconClass}} card-pf-footer-text\" ng-if=footer.iconClass></span> <span class=card-pf-footer-text ng-if=footer.text>{{footer.text}}</span></a> <span ng-if=\"!footer.href && !footer.callBackFn\"><span class=\"{{footer.iconClass}} card-pf-footer-text\" ng-if=footer.iconClass></span> <span class=card-pf-footer-text ng-if=footer.text>{{footer.text}}</span></span></div><div class=\"card-pf-cell text-right\" ng-if=\"filter && filter.filters && (!filter.position || filter.position === 'footer')\"><div class=\"dropdown btn-group\"><div ng-include=\"'card/basic/card-filter.html'\"></div></div></div></div></div></div>"
46794683
);
46804684

46814685
}]);

dist/angular-patternfly.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/card/basic/card.directive.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,10 @@ angular.module('patternfly.card').directive('pfCard', function () {
176176
}
177177
};
178178

179+
$scope.showHeader = function () {
180+
return ($scope.headTitle || $scope.showFilterInHeader());
181+
};
182+
179183
$scope.showFilterInHeader = function () {
180184
return ($scope.filter && $scope.filter.filters && $scope.filter.position && $scope.filter.position === 'header');
181185
};

src/card/basic/card.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<div ng-class="showTopBorder === 'true' ? 'card-pf card-pf-accented' : 'card-pf'">
2-
<div ng-class="!showTitlesSeparator || showTitlesSeparator === 'true' ? 'card-pf-heading' : 'card-pf-heading-no-bottom'">
2+
<div ng-if="showHeader()"
3+
ng-class="!showTitlesSeparator || showTitlesSeparator === 'true' ? 'card-pf-heading' : 'card-pf-heading-no-bottom'">
34
<div class="card-pf-table">
45
<div class="card-pf-cell">
56
<h2 class="card-pf-title" ng-class="{'card-pf-filter-header': showFilterInHeader()}">{{headTitle}}</h2>

test/card/basic/card.spec.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,18 @@ describe('Directive: pfCard', function() {
215215
expect(filterItem.html()).toContain('Last 30 Days');
216216
});
217217

218+
it("should not show the header if no title or filter specified", function() {
219+
220+
element = compileCard('<div pf-card>Inner content</div>', $scope);
221+
222+
// should NOT find any header artifacts
223+
cardClass = angular.element(element).find('.card-pf-heading');
224+
expect(cardClass.size()).toBe(0);
225+
226+
// should find filters in the header
227+
cardClass = angular.element(element).find('.card-pf-heading-no-bottom');
228+
expect(cardClass.size()).toBe(0);
229+
});
218230
});
219231

220232
});

0 commit comments

Comments
 (0)