<!--

  Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="/img/favicon.ico">

    <title>Griffin - Data Quality Service</title>

    <!-- Bootstrap Core CSS -->
    <link href="bower_components/bootswatch/cyborg/bootstrap.css" rel="stylesheet">
    <!-- Custom Fonts -->
    <link href="bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">

    <link href="bower_components/AngularJS-Toaster/toaster.css" rel="stylesheet">

    <link href="css/main.css" rel="stylesheet">
    <link href="css/treeview.css" rel="stylesheet">
    <link href="css/treeview-check.css" rel="stylesheet">
    <link href="css/sidebar.css" rel="stylesheet">
    <link href="pages/measures/measure.css" rel="stylesheet">
    <link href="pages/metrics/metrics.css" rel="stylesheet">
    <link href="pages/template/bigchart.css" rel="stylesheet">
    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->

</head>


<body>
<toaster-container toaster-options="{'time-out': 3000, 'close-button':true, 'animation-class': 'toast-center-right'}"></toaster-container>

<nav class="navbar navbar-default navbar-fixed-top" ng-controller="NavCtrl">
    <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a href="#!/" class="navbar-brand" style="padding-top:5px;padding-bottom:0;"><img src="/img/logo.gif" title="Data Quality Service" style="max-height:40px;"/></a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="navbar-collapse">
            <ul class="nav navbar-nav">
                <li ng-class="{active:isActive('/health')}"><a href="#!/health"><i class="icon-home icon-white"></i> Health</a></li>
                <li ng-class="{active:isActive('/measures') || isActive('/createrule')}"><a href="#!/measures"><i class="icon-folder-open icon-white"></i> Measures</a></li>
                <!-- <li><a href="#/undercons"><i class="icon-calendar icon-white"></i> Data Profiling</a></li> -->
                <li ng-class="{active:isActive('/jobs') || isActive('/jobs')}"><a href="#!/jobs"><i class="icon-calendar icon-white"></i> Jobs</a></li>

                <li ng-class="{active:isActive('/mydashboard') || isActive('/subscribemodel')}"><a href="#!/mydashboard"><i class="icon-calendar icon-white"></i> My Dashboard</a></li>
            </ul>

            <ul class="nav navbar-nav navbar-right">
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{fullName}} <i class="fa fa-user fa-fw"></i><span class="caret"></span></a>
                    <ul class="dropdown-menu dropdown-user">
                        <li><a href="#!/undercons"><i class="fa fa-user fa-fw"></i> User Profile</a></li>
                        <li><a href="#!/undercons"><i class="fa fa-gear fa-fw"></i> Settings</a></li>
                        <li class="divider"></li>
                        <li><a href="/apidocs/index.html" target="_blank"><i class="fa fa-book fa-fw"></i> API DOCs</a></li>
                        <li><a href="https://github.com/eBay/griffin/blob/master/griffin-doc/userguide.md" target="_blank"><i class="fa fa-question-circle fa-fw"></i> User Guide</a></li>
                        <li><a href="mailto://ebay-griffin-devs@googlegroups.com" ><i class="fa fa-envelope fa-fw"></i> Contact us</a></li>
                        <li class="divider"></li>
                        <li><a href="" ng-click="logout()"><i class="fa fa-sign-out fa-fw"></i> Logout</a>
                        </li>
                    </ul>
                </li>
            </ul>

            <form class="navbar-search navbar-right nav navbar-nav" >

                <input id="searchBox" type="text" class="search-query" placeholder="Search..." ng-disabled="!isActive('/measures')&&!isActive('/dataassets')">
            </form>
            <!-- <form class="navbar-form navbar-right" role="search" style="padding-right:150px;">
              <div class="form-group">
                <input type="text" class="form-control search-query" id="searchBox" ng-disabled="!isActive('/measures')&&!isActive('/dataassets')" placeholder="Search.." style="border-radius:19px;">
              </div>
            </form> -->
        </div><!-- /.navbar-collapse -->
    </div><!-- /.container-fluid -->
</nav>


<div class="container-fluid"  us-spinner="{color:'#ffffff', lines:13, width:14, length:28, radius:42, shadow:true, hwaccel:true, speed:0.8}" spinner-on="false" style="padding-top:56px;padding-bottom:90px;height:100%;padding-right:0;" id="mainContent">


    <div class="col-md-9 col-xs-12" >
        <!-- <button type="button" class="btn btn-default btn-circle btn-lg" style="position: absolute; top: 0px; right: 10px; "><i class="fa fa-arrow-left"></i></button> -->
        <button type="button" class="btn btn-primary btn-circle" style="position: absolute; top: 0px; right: 10px; z-index:99" onclick="history.back();"><span style="margin-bottom:20px;">Back</span></button>
        <!-- main content goes here-->
        <div id="mainWindow" class="row" ng-view style="overflow-y: auto;overflow-x:hidden; padding-right: 10px;" ng-controller="MainCtrl">

        </div>
    </div>

    <div class="col-xs-12 col-md-3" style="padding-right:0;">
        <!-- <div id="rightbar" ng-controller="SideBarCtrl" class="" style="background-color:#262626;"> -->
        <ng-include src="'/sidebar.html'"/>
        <!-- </div> -->

    </div>

    <div id="footerwrap" class="navbar-fixed-bottom" ng-controller="FooterCtrl">
        <!-- <footer class="clearfix"></footer> -->
        <div class="container-fluid">
            <div class="row ">
                <p ng-show="!notifications">{{timestamp|date:'short'}} - Welcome <label>{{fullName}}</label>!</p>
                <p ng-repeat="r in notifications">
                    {{r.timestamp|date:'short'}} - <label>{{r.owner}}</label> {{r.operation}}d a {{r.target}} named
                    <a ng-if="r.target=='model'" href="#!/viewrule/{{r.name}}">{{r.name}}</a>
                    <label ng-if="r.target=='dataasset'">"{{r.name}}"</label>
                </p>
            </div><!-- /row -->
        </div><!-- /container -->
    </div><!-- /footerwrap -->

</div>

<!-- <div id="bigChartContainer"  class="big-chart-container" style="display:none;" ng-controller="BigChartCtrl">
    <div id="bigChartShow" class="big-chart-content">
        <div class="container-fluid">
            <div class="pull-right" style="position:fixed;right:20px;top:10px;z-index:1050;">
                <button type="button" id="bigChartClose" class="bark-close thick" aria-label="Close" ng-click="closeBigChart()">
                </button>
            </div>

            <div class="pull-right" style="position:fixed;right:150px;top:10px;z-index:1050;">
                <a href ng-click="downloadSample()" style="font-size:15px;color:#d48265;"><u>Download Sample</u></a>
            </div>

            <div class="row">
                <div id="bigChartDiv"></div>
            </div>
        </div>
    </div>
</div> -->

<div class="modal fade" id="download-sample" role="dialog" ng-controller="DownloadSampleCtrl">
    <div class="modal-dialog modal-xg modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">{{selectedModelName}}</h4>
            </div>
            <div class="modal-body">
                <ng-include src="'/pages/metrics/download-sample.html'"/>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

<script data-main="js/main" src="bower_components/requirejs/require.js"></script>

</body>

</html>
