<!DOCTYPE html>
<html ng-app="app" lang="ja">

  <head>
    <meta charset="UTF-8" />
    <link data-require="bootstrap-css@3.x" data-semver="3.1.1" rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" />
    <script data-require="jquery@2.0.3" data-semver="2.0.3" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
    <script data-require="angular.js@*" data-semver="1.2.13" src="http://code.angularjs.org/1.2.13/angular.js"></script>
    <script data-require="ui-bootstrap@0.10.0" data-semver="0.10.0" src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.10.0.js"></script>
    <script data-require="angular-animate@*" data-semver="1.2.13" src="http://code.angularjs.org/1.2.13/angular-animate.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body>
    <section ng-controller="AgemonPageCtr" class="page">
      <h1 class="selected-label-hader" >
        <span>I love {{agemonoName}}.</span>
        <span 
          class="glyphicon glyphicon-thumbs-up"
          wao-wao="agemonoName" ></span>
      </h1>
      <div class="btn-group" ng-repeat="agemon in agemonList">
        <button class="btn btn-default" ng-click="onSelect(agemon)">
          {{agemon.name}}
        </button>
      </div>
    </section>
  </body>

</html>
// app というmodule名前空間を作成
angular.module("app", []);

// app moduleにdirectiveを追加
angular.module("app").
  directive( "waoWao", function( $timeout){
    return {
      restrict:"A",
      scope: { value: "=waoWao" },
      template: '<div class="my-pop" style="display:none;" >' +
                '{{value}}イイヨ!</div>',
      link:  function(scope, element, attrs){
        var $myPop = element.find('.my-pop');
        element.on("click",function(){
          $myPop.show();
          console.log("myPop:" + $myPop);
          $timeout(function () {
            $myPop.hide();
          }, 1000);
        });
      }
    }
  });

// app moduleにcontrollerを追加
angular.module("app").
  controller("AgemonPageCtr",function($scope){
    $scope.agemonoName = "none..";
    $scope.agemonList = [
      { "name":"くしかつ" },
      { "name":"とんかつ" },
      { "name":"からあげ" },
      ];
    $scope.onSelect = function(agemon){
      $scope.agemonoName = agemon.name;
    }
  });
/* Styles go here */
body{
  font-size:14px;
  background-color: rgb( 248, 250, 244);
}
.page{
  padding:16px;
}

.selected-label-hader{
  margin: 24px 0;
  padding: 4px 8px;
  border-bottom: solid 1px rgba( 0, 0, 0, 0.2);
}

.my-pop{
  position:absolute;
  /* left:0; right:0; */
  width: 400px;
  height:100px;
  z-index:10;
  color:white;
  text-align:center;
  line-height:100px;
  background-color:rgba( 0, 0, 0, 0.5);
}