/**
 * @ngdoc directive
 * @name patternfly.notification.component:pfInlineNotification
 * @restrict E
 * @scope
 *
 * @param {expression=} pfNotificationType The type of the notification message. Allowed value is one of these: 'success','info','danger', 'warning'.
 * @param {expression=} pfNotificationMessage The main text message of the notification.
 * @param {expression=} pfNotificationHeader The header text of the notification.
 * @param {expression=} pfNotificationPersistent The notification won't disappear after delay timeout, but has to be closed manually with the close button.
 * @param {expression=} pfNotificationRemove The function to remove the notification (called by the close button when clicked).
 *
 * @description
 * The main visual element of the notification message.
 *
 * @example
 <example module="patternfly.notification">

   <file name="index.html">
     <div ng-controller="NotificationDemoCtrl">

       <pf-inline-notification pf-notification-type="notification.type"
                        pf-notification-header="notification.header"
                        pf-notification-message="notification.message"
                        pf-notification-persistent="notification.isPersistent"
                        pf-notification-remove="removeNotification()">
       </pf-inline-notification>

       <form class="form-horizontal">
         <div class="form-group">
           <label class="col-sm-2 control-label" for="header">Header:</label>
           <div class="col-sm-10">
            <input type="text" class="form-control" ng-model="notification.header" id="header"/>
           </div>
         </div>
         <div class="form-group">
           <label class="col-sm-2 control-label" for="message">Message:</label>
           <div class="col-sm-10">
            <input type="text" class="form-control" ng-model="notification.message" id="message"/>
           </div>
         </div>
         <div class="form-group">
           <label class="col-sm-2 control-label" for="type">Type:</label>
           <div class="col-sm-10">
             <div class="btn-group" uib-dropdown>
               <button type="button" uib-dropdown-toggle class="btn btn-default">
                 {{notification.type}}
                 <span class="caret"></span>
               </button>
               <ul uib-dropdown-menu class="dropdown-menu-right" role="menu">
                 <li ng-repeat="item in types" ng-class="{'selected': item === notification.type}">
                 <a role="menuitem" tabindex="-1" ng-click="updateType(item)">
                   {{item}}
                 </a>
                 </li>
               </ul>
             </div>
           </div>
         </div>
         <div class="form-group">
           <label class="col-sm-2 control-label" for="type">Persistent:</label>
           <div class="col-sm-10">
            <input type="checkbox" ng-model="notification.isPersistent"></input>
           </div>
         </div>
       </form>
     </div>
   </file>

   <file name="script.js">
     angular.module( 'patternfly.notification' ).controller( 'NotificationDemoCtrl', function( $scope, Notifications, $rootScope ) {
       $scope.types = ['success','info','danger', 'warning'];
       $scope.notifications = $rootScope.notifications;
       $scope.notification = {
          type: $scope.types[0],
          isPersistent: false,
          header: 'Default Header.',
          message: 'Default Message.'
       }

       $scope.updateType = function(item) {
         $scope.notification.type = item;
       };

       $scope.removeNotification = function () {
         $scope.notification = null;
       };
     });
   </file>

 </example>
 */
angular.module( 'patternfly.notification' ).component('pfInlineNotification', {
  bindings: {
    'pfNotificationType': '=',
    'pfNotificationMessage': '=',
    'pfNotificationHeader': '=',
    'pfNotificationPersistent': '=',
    'pfNotificationIndex': '=',
    'pfNotificationRemove': '&?'
  },
  templateUrl: 'notification/inline-notification.html'
});

@@ -3146,33 +3146,16 @@
 pe, 
-Notifications, $rootScope
+$timeout
  ) %7B
@@ -3217,16 +3217,17 @@
 ning'%5D;%0A
+%0A
        $
@@ -3236,49 +3236,90 @@
 ope.
-notifications = $rootScope.notifications;
+updateType = function(item) %7B%0A         $scope.notification.type = item;%0A       %7D;%0A
 %0A   
@@ -3321,33 +3321,39 @@
 %0A%0A       $scope.
-n
+removeN
 otification = %7B%0A
@@ -3354,73 +3354,115 @@
 n = 
-%7B%0A          type: $scope.types%5B0%5D,%0A          isPersistent: false,
+function () %7B%0A         $scope.notification = undefined;%0A         // Add notification back for demo purposes
 %0A   
@@ -3471,73 +3471,81 @@
     
- header: 'Default Header.',%0A          message: 'Default Message.'
+$timeout(function() %7B%0A           createNotification();%0A         %7D, 1000);
 %0A   
@@ -3549,16 +3549,17 @@
        %7D
+;
 %0A%0A      
@@ -3559,33 +3559,38 @@
 %0A       
-$scope.updateType
+var createNotification
  = funct
@@ -3584,37 +3584,34 @@
 ation = function
+ 
 (
-item
 ) %7B%0A         $sc
@@ -3630,127 +3630,205 @@
 tion
-.type = item;%0A       %7D;%0A%0A       $scope.removeNotification = function () %7B%0A         $scope.notification = null;%0A       %7D
+ = %7B%0A           type: $scope.types%5B0%5D,%0A           isPersistent: false,%0A           header: 'Default Header.',%0A           message: 'Default Message.'%0A         %7D;%0A       %7D;%0A       createNotification()
 ;%0A  

Modify demo to re-add notification after it has been dismissed.