@@ -10100,6 +10100,7 @@ angular.module('patternfly.navigation').component('pfApplicationLauncher', {
1010010100 * @param {boolean} drawerExpanded Flag if the drawer is expanded (only valid if allowExpand is true). Optional, default: false
1010110101 * @param {string} drawerTitle Title to display for the drawer (leaving this blank will remove the provided expand capability)
1010210102 * @param {object} notificationGroups Collection notification groups to add to the drawer. Alternatively, a single group object can be given if categorization is not used.
10103+ * @param {string} notificationTrackField Optional field from the notifications to use to track by in the notifications listing ($index used otherwise).
1010310104 * @param {function} onClose function() Callback for the close button. Close button is shown if this callback is supplied. Callback should set drawerHidden to true to close the drawer.
1010410105 * @param {boolean} showMarkAllRead Flag if the mark all read button should be shown, optional, default is false
1010510106 * @param {function} onMarkAllRead function(notificationGroup) Callback method for the mark all read button (Optional)
@@ -10141,7 +10142,7 @@ angular.module('patternfly.navigation').component('pfApplicationLauncher', {
1014110142 show-mark-all-read="true" on-mark-all-read="markAllRead"
1014210143 show-clear-all="true" on-clear-all="clearAll"
1014310144 heading-include="heading.html" subheading-include="subheading.html" notification-body-include="notification-body.html"
10144- notification-footer-include="notification-footer.html" custom-scope="customScope">
10145+ notification-footer-include="notification-footer.html" custom-scope="customScope" notification-track-field="uid" >
1014510146 </pf-notification-drawer>
1014610147 </div>
1014710148 </div>
@@ -10249,62 +10250,71 @@ angular.module('patternfly.navigation').component('pfApplicationLauncher', {
1024910250 subHeading: "5 New Events",
1025010251 notifications: [
1025110252 {
10253+ uid: 1,
1025210254 unread: true,
1025310255 message: "A New Event! Huzzah! Bold.",
1025410256 status: 'info',
1025510257 actions: menuActions,
1025610258 timeStamp: currentTime - (1 * 60 * 60 * 1000)
1025710259 },
1025810260 {
10261+ uid: 2,
1025910262 unread: true,
1026010263 message: "Another Event Notification",
1026110264 status: 'ok',
1026210265 actions: menuActions,
1026310266 timeStamp: currentTime - (2 * 60 * 60 * 1000)
1026410267 },
1026510268 {
10269+ uid: 3,
1026610270 unread: false,
1026710271 message: "Another Event Notification",
1026810272 status: 'warning',
1026910273 actions: menuActions,
1027010274 timeStamp: currentTime - (10 * 60 * 60 * 1000)
1027110275 },
1027210276 {
10277+ uid: 4,
1027310278 unread: false,
1027410279 message: "Another Event Notification",
1027510280 status: 'error',
1027610281 actions: menuActions,
1027710282 timeStamp: currentTime - (12 * 60 * 60 * 1000)
1027810283 },
1027910284 {
10285+ uid: 5,
1028010286 unread: true,
1028110287 message: "A New Event! Huzzah! Bold",
1028210288 status: 'info',
1028310289 actions: menuActions,
1028410290 timeStamp: currentTime - (1 * 60 * 60 * 1000)
1028510291 },
1028610292 {
10293+ uid: 6,
1028710294 unread: true,
1028810295 message: "Another Event Notification",
1028910296 status: 'error',
1029010297 actions: menuActions,
1029110298 timeStamp: currentTime - (2 * 60 * 60 * 1000)
1029210299 },
1029310300 {
10301+ uid: 7,
1029410302 unread: false,
1029510303 message: "Another Event Notification",
1029610304 status: 'ok',
1029710305 actions: menuActions,
1029810306 timeStamp: currentTime - (10 * 60 * 60 * 1000)
1029910307 },
1030010308 {
10309+ uid: 8,
1030110310 unread: false,
1030210311 message: "Another Event Notification",
1030310312 status: 'warning',
1030410313 actions: menuActions,
1030510314 timeStamp: currentTime - (12 * 60 * 60 * 1000)
1030610315 },
1030710316 {
10317+ uid: 9,
1030810318 unread: true,
1030910319 message: "Another Event Notification",
1031010320 status: 'info',
@@ -10319,34 +10329,39 @@ angular.module('patternfly.navigation').component('pfApplicationLauncher', {
1031910329 subHeading: "3 New Events",
1032010330 notifications: [
1032110331 {
10332+ uid: 10,
1032210333 unread: true,
1032310334 message: "A New Event! Huzzah! Bold",
1032410335 status: 'info',
1032510336 actions: menuActions,
1032610337 timeStamp: currentTime - (1 * 60 * 60 * 1000)
1032710338 },
1032810339 {
10340+ uid: 11,
1032910341 unread: true,
1033010342 message: "Another Event Notification",
1033110343 status: 'error',
1033210344 actions: menuActions,
1033310345 timeStamp: currentTime - (2 * 60 * 60 * 1000)
1033410346 },
1033510347 {
10348+ uid: 12,
1033610349 unread: false,
1033710350 message: "Another Event Notification",
1033810351 status: 'warning',
1033910352 actions: menuActions,
1034010353 timeStamp: currentTime - (10 * 60 * 60 * 1000)
1034110354 },
1034210355 {
10356+ uid: 13,
1034310357 unread: false,
1034410358 message: "Another Event Notification",
1034510359 status: 'ok',
1034610360 actions: menuActions,
1034710361 timeStamp: currentTime - (12 * 60 * 60 * 1000)
1034810362 },
1034910363 {
10364+ uid: 14,
1035010365 unread: true,
1035110366 message: "Another Event Notification",
1035210367 status: 'warning',
@@ -10366,34 +10381,39 @@ angular.module('patternfly.navigation').component('pfApplicationLauncher', {
1036610381 subHeading: "3 New Events",
1036710382 notifications: [
1036810383 {
10384+ uid: 15,
1036910385 unread: true,
1037010386 message: "A New Event! Huzzah! Bold",
1037110387 status: 'warning',
1037210388 actions: menuActions,
1037310389 timeStamp: currentTime - (1 * 60 * 60 * 1000)
1037410390 },
1037510391 {
10392+ uid: 16,
1037610393 unread: true,
1037710394 message: "Another Event Notification",
1037810395 status: 'ok',
1037910396 actions: menuActions,
1038010397 timeStamp: currentTime - (2 * 60 * 60 * 1000)
1038110398 },
1038210399 {
10400+ uid: 17,
1038310401 unread: false,
1038410402 message: "Another Event Notification",
1038510403 status: 'ok',
1038610404 actions: menuActions,
1038710405 timeStamp: currentTime - (10 * 60 * 60 * 1000)
1038810406 },
1038910407 {
10408+ uid: 18,
1039010409 unread: false,
1039110410 message: "Another Event Notification",
1039210411 status: 'error',
1039310412 actions: menuActions,
1039410413 timeStamp: currentTime - (12 * 60 * 60 * 1000)
1039510414 },
1039610415 {
10416+ uid: 19,
1039710417 unread: true,
1039810418 message: "Another Event Notification",
1039910419 status: 'info',
@@ -10407,34 +10427,39 @@ angular.module('patternfly.navigation').component('pfApplicationLauncher', {
1040710427 subHeading: "3 New Events",
1040810428 notifications: [
1040910429 {
10430+ uid: 20,
1041010431 unread: true,
1041110432 message: "A New Event! Huzzah! Bold",
1041210433 status: 'error',
1041310434 actions: menuActions,
1041410435 timeStamp: currentTime - (1 * 60 * 60 * 1000)
1041510436 },
1041610437 {
10438+ uid: 21,
1041710439 unread: true,
1041810440 message: "Another Event Notification",
1041910441 status: 'error',
1042010442 actions: menuActions,
1042110443 timeStamp: currentTime - (2 * 60 * 60 * 1000)
1042210444 },
1042310445 {
10446+ uid: 22,
1042410447 unread: false,
1042510448 message: "Another Event Notification",
1042610449 status: 'warning',
1042710450 actions: menuActions,
1042810451 timeStamp: currentTime - (10 * 60 * 60 * 1000)
1042910452 },
1043010453 {
10454+ uid: 23,
1043110455 unread: false,
1043210456 message: "Another Event Notification",
1043310457 status: 'warning',
1043410458 actions: menuActions,
1043510459 timeStamp: currentTime - (12 * 60 * 60 * 1000)
1043610460 },
1043710461 {
10462+ uid: 24,
1043810463 unread: true,
1043910464 message: "Another Event Notification",
1044010465 status: 'error',
@@ -10637,6 +10662,7 @@ angular.module( 'patternfly.notification' ).component('pfInlineNotification', {
1063710662 drawerExpanded: '=?',
1063810663 drawerTitle: '@',
1063910664 notificationGroups: '<',
10665+ notificationTrackField: '@',
1064010666 onClose: '=?',
1064110667 showMarkAllRead: '<?',
1064210668 onMarkAllRead: '=?',
@@ -18182,7 +18208,7 @@ angular.module('patternfly.wizard').component('pfWizard', {
1818218208
1818318209
1818418210 $templateCache.put('notification/notification-drawer.html',
18185- "<div class=drawer-pf ng-class=\"{'hide': $ctrl.drawerHidden, 'drawer-pf-expanded': $ctrl.drawerExpanded}\"><div ng-if=$ctrl.drawerTitle class=drawer-pf-title><a ng-if=$ctrl.allowExpand class=\"drawer-pf-toggle-expand fa fa-angle-double-left\" ng-click=$ctrl.toggleExpandDrawer()></a> <a ng-if=$ctrl.onClose class=\"drawer-pf-close pficon pficon-close\" ng-click=$ctrl.onClose()></a><h3 class=text-center>{{$ctrl.drawerTitle}}</h3></div><div ng-if=$ctrl.titleInclude class=drawer-pf-title ng-include src=$ctrl.titleInclude></div><div ng-if=!$ctrl.notificationGroups class=apf-blank-notification-groups><pf-empty-state config=$ctrl.emptyStateConfig></pf-empty-state></div><div ng-if=$ctrl.notificationGroups pf-fixed-accordion scroll-selector=.panel-body><div class=panel-group><div class=\"panel panel-default\" ng-repeat=\"notificationGroup in $ctrl.notificationGroups track by $index\"><div class=panel-heading><h4 class=panel-title><a ng-if=!$ctrl.singleGroup ng-click=$ctrl.toggleCollapse(notificationGroup) ng-class=\"{collapsed: !notificationGroup.open}\" ng-include src=$ctrl.headingInclude></a> <span ng-if=$ctrl.singleGroup ng-include src=$ctrl.headingInclude></span></h4><span class=panel-counter ng-include src=$ctrl.subheadingInclude></span></div><div class=\"panel-collapse collapse\" ng-class=\"{in: notificationGroup.open || $ctrl.notificationGroups.length === 1}\"><div ng-if=$ctrl.hasNotifications(notificationGroup) class=panel-body><div class=drawer-pf-notification ng-class=\"{unread: notification.unread, 'expanded-notification': $ctrl.drawerExpanded}\" ng-repeat=\"notification in notificationGroup.notifications\" ng-include src=$ctrl.notificationBodyInclude></div><div ng-if=notificationGroup.isLoading class=\"drawer-pf-loading text-center\"><span class=\"spinner spinner-xs spinner-inline\"></span> Loading More</div></div><div ng-if=\"($ctrl.showClearAll || $ctrl.showMarkAllRead) && $ctrl.hasNotifications(notificationGroup)\" class=drawer-pf-action><span class=drawer-pf-action-link ng-if=\"$ctrl.showMarkAllRead && $ctrl.hasUnread(notificationGroup)\"><button class=\"btn btn-link\" ng-click=$ctrl.onMarkAllRead(notificationGroup)>Mark All Read</button></span> <span class=drawer-pf-action-link><button class=\"btn btn-link\" ng-if=$ctrl.showClearAll ng-click=$ctrl.onClearAll(notificationGroup)><span class=\"pficon pficon-close\"></span> Clear All</button></span></div><div ng-if=\"$ctrl.actionButtonTitle && $ctrl.hasNotifications(notificationGroup)\" class=drawer-pf-action><a class=\"btn btn-link btn-block\" ng-click=$ctrl.actionButtonCallback(notificationGroup)>{{$ctrl.actionButtonTitle}}</a></div><div ng-if=!$ctrl.hasNotifications(notificationGroup)><div class=panel-body><pf-empty-state config=notificationGroup.emptyStateConfig></pf-empty-state></div></div><div ng-if=$ctrl.notificationFooterInclude ng-include src=$ctrl.notificationFooterInclude></div></div></div></div></div></div>"
18211+ "<div class=drawer-pf ng-class=\"{'hide': $ctrl.drawerHidden, 'drawer-pf-expanded': $ctrl.drawerExpanded}\"><div ng-if=$ctrl.drawerTitle class=drawer-pf-title><a ng-if=$ctrl.allowExpand class=\"drawer-pf-toggle-expand fa fa-angle-double-left\" ng-click=$ctrl.toggleExpandDrawer()></a> <a ng-if=$ctrl.onClose class=\"drawer-pf-close pficon pficon-close\" ng-click=$ctrl.onClose()></a><h3 class=text-center>{{$ctrl.drawerTitle}}</h3></div><div ng-if=$ctrl.titleInclude class=drawer-pf-title ng-include src=$ctrl.titleInclude></div><div ng-if=!$ctrl.notificationGroups class=apf-blank-notification-groups><pf-empty-state config=$ctrl.emptyStateConfig></pf-empty-state></div><div ng-if=$ctrl.notificationGroups pf-fixed-accordion scroll-selector=.panel-body><div class=panel-group><div class=\"panel panel-default\" ng-repeat=\"notificationGroup in $ctrl.notificationGroups track by $index\"><div class=panel-heading><h4 class=panel-title><a ng-if=!$ctrl.singleGroup ng-click=$ctrl.toggleCollapse(notificationGroup) ng-class=\"{collapsed: !notificationGroup.open}\" ng-include src=$ctrl.headingInclude></a> <span ng-if=$ctrl.singleGroup ng-include src=$ctrl.headingInclude></span></h4><span class=panel-counter ng-include src=$ctrl.subheadingInclude></span></div><div class=\"panel-collapse collapse\" ng-class=\"{in: notificationGroup.open || $ctrl.notificationGroups.length === 1}\"><div ng-if=$ctrl.hasNotifications(notificationGroup) class=panel-body><div class=drawer-pf-notification ng-class=\"{unread: notification.unread, 'expanded-notification': $ctrl.drawerExpanded}\" ng-repeat=\"notification in notificationGroup.notifications track by $ctrl.notificationTrackField ? notification[$ctrl.notificationTrackField] || $index : $index\" ng-include src=$ctrl.notificationBodyInclude></div><div ng-if=notificationGroup.isLoading class=\"drawer-pf-loading text-center\"><span class=\"spinner spinner-xs spinner-inline\"></span> Loading More</div></div><div ng-if=\"($ctrl.showClearAll || $ctrl.showMarkAllRead) && $ctrl.hasNotifications(notificationGroup)\" class=drawer-pf-action><span class=drawer-pf-action-link ng-if=\"$ctrl.showMarkAllRead && $ctrl.hasUnread(notificationGroup)\"><button class=\"btn btn-link\" ng-click=$ctrl.onMarkAllRead(notificationGroup)>Mark All Read</button></span> <span class=drawer-pf-action-link><button class=\"btn btn-link\" ng-if=$ctrl.showClearAll ng-click=$ctrl.onClearAll(notificationGroup)><span class=\"pficon pficon-close\"></span> Clear All</button></span></div><div ng-if=\"$ctrl.actionButtonTitle && $ctrl.hasNotifications(notificationGroup)\" class=drawer-pf-action><a class=\"btn btn-link btn-block\" ng-click=$ctrl.actionButtonCallback(notificationGroup)>{{$ctrl.actionButtonTitle}}</a></div><div ng-if=!$ctrl.hasNotifications(notificationGroup)><div class=panel-body><pf-empty-state config=notificationGroup.emptyStateConfig></pf-empty-state></div></div><div ng-if=$ctrl.notificationFooterInclude ng-include src=$ctrl.notificationFooterInclude></div></div></div></div></div></div>"
1818618212 );
1818718213
1818818214
0 commit comments