Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/24/16 17:19:13 (8 years ago)
Author:
jlodewyc
Message:

#2582 Last fixes Job Manager

Location:
branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job
Files:
2 added
13 edited

Legend:

Unmodified
Added
Removed
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/Index.cshtml

    r13719 r13733  
    1 @model HeuristicLab.Clients.Hive.WebJobManager.ViewModels.JobViewModel
     1@using HeuristicLab.Clients.Hive.WebJobManager.ViewModels
     2@model JobViewModel
    23
    34<div>
     5    @Html.Partial("Navbar", new NavbarViewModel("Job"))
    46
    5     <ul class="nav nav-tabs">
    6         <li role="presentation" class="active"><a asp-controller="Job" asp-action="Index">Jobs <span class="badge">@Model.userJobs.Count</span></a></li>
    7         <li role="presentation"><a asp-controller="User" asp-action="Index">User management</a></li>
    8         <li role="presentation"><a asp-controller="Resource" asp-action="Index">Resources</a></li>
     7    <ul class="nav nav-pills nav-justified">
     8        <li role="presentation"
     9            class="active">
     10            <a asp-controller="Job"
     11               asp-action="Index">
     12                Jobs
     13            </a>
     14        </li>
     15        <li role="presentation"
     16            class="">
     17            <a asp-controller="Job"
     18               asp-action="Uploads">
     19                Uploads
     20            </a>
     21        </li>
    922    </ul>
    10     <div class="row" style="text-align:center">
     23
     24    <div class="row"
     25         style="text-align:center">
    1126        @Model.message
    1227    </div>
    13     <div class="row" style="margin:10px">
    14         <a class="btn btn-info btn-lg btn-block"
    15            asp-controller="Job"
    16            asp-action="Uploads">
    17             Uploads
    18         </a>
     28    <div class="row"
     29         style="margin:10px">
     30
    1931    </div>
    20     <div class="row" style="padding:10px; margin-right:0px!important">
     32    <div class="row"
     33         style="padding:10px; margin-right:0px!important">
    2134        @if (Model.userJobs.Count == 0)
    22         {
     35            {
    2336            <div>
    24                 <p style="text-align:center">No jobs found</p>
     37                <p style="text-align:center">
     38                    No jobs found
     39                </p>
    2540            </div>
    2641
     
    2944            <div class="col-sm-4">
    3045                <div class="btn-group-vertical btn-block">
     46                    <a class="btn btn-info btn-lg btn-block disabled"
     47                       style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     48                            text-shadow:2px 2px black;">
     49                        <i class="fa fa-cog"></i> Hive jobs
     50                    </a>
    3151                    @foreach (var job in Model.userJobs)
    3252                {
    33                         <a class="btn  btn-default @(Model.selectedJob != null && job.Id == Model.selectedJob.Id ? "active" : "" )"
     53                        <a class="btn btn-default
     54                           @(Model.selectedJob != null && job.Id == Model.selectedJob.Id ? "active" : "" )
     55                           "
    3456                           asp-controller="Job"
    3557                           asp-action="Selected"
    3658                           asp-route-id="@job.Id"
     59                           style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     60                                text-align:left;"
    3761                           onclick="showLoader()">
    3862                            @job.Job.Name - @job.Job.DateCreated
    39                             <span class="badge">@job.Job.JobCount</span>
     63                            <span class="label
     64                                   @(job.Job.FinishedCount == @job.Job.JobCount ? "label-success" : "label-default")
     65                                   label-as-badge pull-right">
     66                                <strong>@job.Job.FinishedCount / @job.Job.JobCount</strong>
     67                            </span>
    4068                        </a>
    4169                    }
     
    4876                </i>
    4977            </p>
    50             @if (Model.selectedJob != null)
    51             {
    52                 <div class="col-sm-8" id="content" style="padding:5px; padding-left:10px;">
    53                     <div class="row">
    54                         <h2 style="padding-left:20px">
    55                             @Model.selectedJob.Job.Name
    56                             <a onclick="popUpDelete()"
    57                                style="margin-bottom:10px;"
    58                                class='btn btn-danger'>
    59                                 <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
    60                             </a>
    61                             <a style="display:none"
    62                                asp-action="Delete"
    63                                asp-route-id="@Model.selectedJob.Id"
    64                                asp-controller="Job" id="del"
    65                                onclick="showDeleter()"></a>
    6678
    67                             <script type="text/javascript">
    68                                 function popUpDelete() {
    69                                     if (confirm("Are you sure you want to delete this job?") == true) {
    70                                         document.getElementById("del").click();
    71                                     }
     79                <div class="col-sm-8"
     80                     id="content"
     81                     style="padding:5px; padding-left:10px;">
     82                    @if (Model.selectedJob != null)
     83                {
     84                        <div class="panel panel-default"
     85                             style="border-width:2px!important;padding:17px;
     86                        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);">
     87                            <div class="row">
     88                                <h2 style="padding-left:20px">
     89                                    @Model.selectedJob.Job.Name
     90                                    <a onclick="popUpDelete()"
     91                                       style="margin-bottom:10px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     92                                    text-shadow:2px 2px black;"
     93                                       class='btn btn-danger'>
     94                                        <span class="glyphicon glyphicon-trash"
     95                                              aria-hidden="true"></span>
     96                                        Delete job
     97                                    </a>
     98                                    <a style="display:none; "
     99                                       asp-action="Delete"
     100                                       asp-route-id="@Model.selectedJob.Id"
     101                                       asp-controller="Job" id="del"
     102                                       onclick="showDeleter()"></a>
     103
     104                                    <script type="text/javascript">
     105                                        function popUpDelete() {
     106                                            if (confirm("Are you sure you want to delete this job?") == true) {
     107                                                document.getElementById("del").click();
     108                                            }
     109
     110                                        }
     111                                    </script>
     112
     113                                </h2>
     114                                <div class="col-sm-6" style="padding-left:30px">
     115                                    <p>Description: @Model.selectedJob.Job.Description</p>
     116                                    <p>Resources: @Model.selectedJob.Job.ResourceNames</p>
     117                                    <p>Created: @Model.selectedJob.Job.DateCreated</p>
     118                                    <p>Owned by: @Model.selectedJob.Job.OwnerUsername</p>
     119
     120                                </div>
     121                                <div class="col-sm-6" style="padding-left:30px">
     122                                    <p id="jobcalculating">
     123                                        Calculating: @Model.selectedJob.Job.CalculatingCount
     124                                    </p>
     125                                    <p id="jobfinished">
     126                                        Finished: @Model.selectedJob.Job.FinishedCount
     127                                    </p>
     128                                    <p>
     129                                        Automatic refresh:
     130                                        <input type="checkbox"
     131                                               checked
     132                                               data-toggle="toggle"
     133                                               data-onstyle="success"
     134                                               id="refreshtogg"
     135                                               onchange="autoRefresh()" />
     136                                    </p>
     137                                </div>
     138
     139                            </div>
     140
     141                            <script src="~/js/scripts/graphs/graphdatacollector.js"></script>
     142                            <script src="~/js/scripts/graphs/graphhubber.js"></script>
     143                            <div class="row" style="text-align:center">
     144
     145                                <div id="graphMain" style="width:100%;height:0px">
     146
     147                                </div>
     148                                <div class="btn btn-lg btn-info"
     149                                     onclick="redrawMain()"
     150                                     style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     151                            text-shadow:2px 2px black;">Refresh main graph</div>
     152                            </div>
     153                            <div class="row">
     154                                <h3 style="padding-left:20px; ">
     155                                    @Model.selectedJob.Job.JobCount Tasks
     156                                </h3>
     157                                @foreach (var task in Model.selectedJob.HiveTasks)
     158                                {
     159                                    @Html.Partial("SelectedJobPartials/_TaskPartial",
     160                           new HeuristicLab.Clients.Hive.WebJobManager.Models.HiveTaskContainer(task))
    72161
    73162                                }
    74                             </script>
     163                            </div>
     164                        </div>
     165                    }
     166                </div>
    75167
    76                         </h2>
    77                         <div class="col-sm-6" style="padding-left:30px">
    78                             <p>Description: @Model.selectedJob.Job.Description</p>
    79                             <p>Resources: @Model.selectedJob.Job.ResourceNames</p>
    80                             <p>Created: @Model.selectedJob.Job.DateCreated</p>
    81                             <p>Owned by: @Model.selectedJob.Job.OwnerUsername</p>
    82 
    83                         </div>
    84                         <div class="col-sm-6" style="padding-left:30px">
    85                             <p>Calculating: @Model.selectedJob.Job.CalculatingCount</p>
    86                             <p>Finished: @Model.selectedJob.Job.FinishedCount</p>
    87                         </div>
    88 
    89                     </div>
    90 
    91                     <script src="~/js/scripts/graphs/graphdatacollector.js"></script>
    92                     <script src="~/js/scripts/graphs/graphhubber.js"></script>
    93                     <div class="row">
    94                         <div class="btn btn-lg btn-info" onclick="redrawMain()">Refresh main graph</div>
    95                         <div id="graphMain" style="width:100%;height:400px">
    96 
    97                         </div>
    98                     </div>
    99                     <div class="row" >
    100                         <h3 style="padding-left:20px; ">Tasks</h3>
    101                         @foreach (var task in Model.selectedJob.HiveTasks)
    102                         {
    103                             @Html.Partial("SelectedJobPartials/_TaskPartial",
    104                            new HeuristicLab.Clients.Hive.WebJobManager.Models.HiveTaskContainer(task))
    105 
    106                         }
    107                     </div>
    108                 </div>
    109             }
    110168        }
    111169        <script type="text/javascript">
    112170            function showLoader() {
     171                document.getElementById("content").style.display = "none";
    113172                document.getElementById("loader").style.display = "";
    114                 document.getElementById("content").style.display = "none";
     173
    115174            }
    116175            function showDeleter() {
     176                document.getElementById("content").style.display = "none";
    117177                document.getElementById("loader").style.display = "";
    118                 document.getElementById("content").style.display = "none";
     178
    119179                document.getElementById("spinner").className = "fa fa-trash-o fa-spin fa-5x";
    120180            }
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/OpenFile.cshtml

    r13689 r13733  
    11@model HeuristicLab.Clients.Hive.WebJobManager.ViewModels.FileOpeningViewModel
    22
    3 <div>
    4 
    5     <ul class="nav nav-tabs">
    6         <li role="presentation" class="active"><a asp-controller="Job" asp-action="Uploads">Jobs -> Uploads -> @Model.SelectedTask.ItemTask.Name</a></li>
    7         <li role="presentation"><a asp-controller="User" asp-action="Index">User management</a></li>
    8         <li role="presentation"><a asp-controller="Resource" asp-action="Index">Resources</a></li>
     3
     4<body class="row"
     5      data-spy="scroll"
     6      data-target="#scrolly"
     7      data-offset-top="500"
     8      onscroll="showScrolly()"
     9      style="margin-bottom:500px;margin-left:1px;margin-right:1px;">
     10
     11    @Html.Partial("Navbar", new HeuristicLab.Clients.Hive.WebJobManager.ViewModels.NavbarViewModel("Job"))
     12
     13    <ul class="nav nav-pills nav-justified">
     14        <li role="presentation"
     15            class="">
     16            <a asp-controller="Job"
     17               asp-action="Index">
     18                Jobs
     19            </a>
     20        </li>
     21        <li role="presentation"
     22            class="active">
     23            <a asp-controller="Job"
     24               asp-action="Uploads">
     25                Uploads
     26            </a>
     27        </li>
    928    </ul>
    10     @if (Model.SelectedAlgorithm != null)
    11     {
    12         @Html.Partial("OpenFilePartials/_Algorithm", Model);
    13 
    14     }
    15     else if(Model.SelectedBatchRun != null)
    16     {
    17         @Html.Partial("OpenFilePartials/_BatchRun", Model);
    18 
    19     }
    20     else if(Model.SelectedExperiment != null)
    21     {
    22         @Html.Partial("OpenFilePartials/_Experiment", Model);
    23 
    24     }
    25 
     29    <div class="row"
     30         style="margin-left:20px">
     31        <a class="btn btn-default"
     32           asp-controller="Job"
     33           asp-action="Uploads">
     34            <i class="fa fa-angle-double-left"></i> Back to uploads
     35        </a>
     36    </div>
     37
     38    <div class="col-md-9">
     39        @if (Model.SelectedAlgorithm != null)
     40        {
     41            @Html.Partial("OpenFilePartials/_Algorithm", Model);
     42
     43        }
     44        else if (Model.SelectedBatchRun != null)
     45        {
     46            @Html.Partial("OpenFilePartials/_BatchRun", Model);
     47
     48        }
     49        else if (Model.SelectedExperiment != null)
     50        {
     51            @Html.Partial("OpenFilePartials/_Experiment", Model);
     52
     53        }
     54
     55        <hr style="border-color:gray; margin-top:50px" />
     56        <div id="finish"
     57             style="text-align:center">
     58            <h2>
     59                Hive job information
     60            </h2>
     61            <div class="row"
     62                 style="margin-bottom:20px">
     63
     64                <div class="col-sm-6"
     65                     style="text-align:right">
     66                    <h5>Job name</h5>
     67                </div>
     68                <div class="col-sm-6"
     69                     style="text-align:left">
     70                    <div class="form-group">
     71                        <div class="input-group">
     72                            <input type="text"
     73                                   class="form-control"
     74                                   name="jname"
     75                                   id="jname"
     76                                   placeholder="Job name">
     77                        </div>
     78                    </div>
     79                </div>
     80            </div>
     81            <div class="row"
     82                 style="margin-bottom:20px">
     83                <div class="col-sm-6"
     84                     style="text-align:right">
     85                    <h5>
     86                        Resource
     87                    </h5>
     88                </div>
     89                <div class="col-sm-6"
     90                     style="text-align:left">
     91                    <div class="form-group">
     92                        <div class="input-group">
     93                            <div class="input-group-addon">
     94                                HEAL/
     95                            </div>
     96                            <input type="text"
     97                                   class="form-control"
     98                                   name="resource"
     99                                   id="resource"
     100                                   placeholder="Resource (default: HEAL)">
     101                        </div>
     102                    </div>
     103                </div>
     104            </div>
     105
     106            <div class="row">
     107                <h5 class="col-sm-6"
     108                    style="text-align:right;margin-top:20px">
     109                    Set global job priority
     110                </h5>
     111                <div class="col-sm-6">
     112                    <div class="btn-group pull-left"
     113                         style="margin:10px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     114                            text-shadow:2px 2px black;">
     115                        <button type="button"
     116                                id="prior"
     117                                class="btn btn-info dropdown-toggle"
     118                                data-toggle="dropdown"
     119                                aria-haspopup="true" aria-expanded="false">
     120                            Normal <span class="caret"></span>
     121                        </button>
     122                        <ul class="dropdown-menu"
     123                            style="text-shadow:none">
     124                            <li><a onclick="changePriority([],0,'')">Low</a></li>
     125                            <li><a onclick="changePriority([],1,'')">Normal</a></li>
     126                            <li><a onclick="changePriority([],2,'')">Urgent</a></li>
     127                            <li><a onclick="changePriority([],3,'')">Critical</a></li>
     128                        </ul>
     129                    </div>
     130                </div>
     131            </div>
     132
     133
     134            <a class="btn btn-lg btn-success"
     135               id="fakehiveadd"
     136               onclick="addtoHive()"
     137               style="margin:10px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     138                            text-shadow:2px 2px black;">
     139                Add this job to Hive
     140            </a>
     141
     142
     143
     144            <a class="btn btn-success " id="realhiveadd" asp-controller="Job" asp-action="AddToHive" style="display:none"></a>
     145            <h4 id="result" style="display:none">Start uploading experiment...</h4>
     146            <div class="progress" id="progdiv" style="display:none">
     147
     148                <div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar"
     149                     id="progress"
     150                     aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width:10%">
     151
     152                </div>
     153            </div>
     154        </div>
     155
     156
     157
     158
     159    </div>
     160    <nav style="margin-top:50px; "
     161         class="col-md-2" id="scrolly">
     162        <ul class="nav nav-pills nav-stacked"
     163            data-spy="affix"
     164            data-offset-top="0">
     165
     166            <li><a href="#top">Top</a></li>
     167            @if (Model.SelectedAlgorithm != null)
     168            {
     169                <li><a href="#algorithm">Algorithm parameters</a></li>
     170                <li><a href="#problem">Problem parameters</a></li>
     171            }
     172            else
     173            {
     174                <li><a href="#tasks">Child tasks</a></li>
     175
     176            }
     177            <li><a href="#finish">Job info and upload</a></li>
     178        </ul>
     179    </nav>
    26180    <script src="~/js/scripts/hubber.js"></script>
    27 </div>
     181    <script>
     182        showScrolly = function () {
     183            document.getElementById("scrolly").style.display = "";
     184
     185        }
     186        $(function () {
     187            $('nav > ul > li > a').click(function () {
     188                if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
     189                    var target = $(this.hash);
     190                    target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
     191                    if (target.length) {
     192                        $('html, body').animate({
     193                            scrollTop: target.offset().top
     194                        }, 1000);
     195                        return false;
     196                    }
     197                }
     198            });
     199        });
     200    </script>
     201</body>
     202
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/OpenFilePartials/_Algorithm.cshtml

    r13712 r13733  
    88        @Model.message
    99    </div>
    10     <div class="row" style="text-align:left">
    11         <h1 data-toggle="tooltip" title="@Model.SelectedTask.ItemTask.ItemName
     10    <div class="row" style="text-align:center">
     11        <h1 id="top" data-toggle="tooltip" title="@Model.SelectedTask.ItemTask.ItemName
    1212            @Model.SelectedTask.ItemTask.Description">
    1313            <span class="label label-primary">Algorithm: @Model.SelectedTask.ItemTask.Name</span>
    1414        </h1>
    15         <a class="btn btn-success" id="fakehiveadd" onclick="addtoHive()">Add to Hive</a>
    16 
    17         <div class="btn-group">
    18             <button
    19                     type="button"
    20                     id="prior@(randy)"
    21                     class="btn btn-info dropdown-toggle"
    22                     data-toggle="dropdown"
    23                     aria-haspopup="true" aria-expanded="false">
    24                 Normal <span class="caret"></span>
    25             </button>
    26             <ul class="dropdown-menu">
    27                 <li><a onclick="changePriority([],0,@randy)">Low</a></li>
    28                 <li><a onclick="changePriority([],1,@randy)">Normal</a></li>
    29                 <li><a onclick="changePriority([],2,@randy)">Urgent</a></li>
    30                 <li><a onclick="changePriority([],3,@randy)">Critical</a></li>
    31             </ul>
    32         </div>
    33 
    34 
    35         <a class="btn btn-success" id="realhiveadd" asp-controller="Job" asp-action="AddToHive" style="display:none"></a>
    36         <h4 id="result" style="display:none">Start uploading algorithm...</h4>
    37         <div class="progress" id="progdiv" style="display:none">
    38            
    39             <div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar"
    40                  id="progress"
    41                  aria-valuenow="00" aria-valuemin="0" aria-valuemax="100" style="width:10%">
    42                 40%
    43             </div>
    44         </div>
     15       
    4516    </div>
    4617
    47     <div class="row">
    48         <div class="btn-group-justified">
    49             <a class="btn btn-default active" id="btnprob" onclick="setProb()">Problems</a>
    50             <a class="btn btn-default" id="btnalg" onclick="setAlgo()">Algorithm</a>
    51         </div>
    52     </div>
    53     <div class="row" id="problem">
    54         <div class="col">
    55             <table class="table table-condensed">
    56                 <thead>
    57                     <tr>
    58                         <th>Parameter</th>
    59                         <th>Value</th>
    60                     </tr>
    61                 </thead>
    62                 <tbody>
    63                     @foreach (var prob in Model.SelectedAlgorithm.Problem.Parameters.OrderBy(x => x.Name))
    64                     {
    65                         <tr>
    66                             <td>@prob.Name</td>
    67 
    68                             <td>@prob.ActualValue</td>
    69                         </tr>
    70 
    71                     }
    72                 </tbody>
    73             </table>
    74         </div>
    75     </div>
    76     <div class="row" id="algorithm" style="display:none">
     18    <div class="row" id="algorithm">
    7719
    7820        <div class="col">
    79             <table class="table table-condensed">
     21            <h4>Algorithm parameters</h4>
     22            <table class="table table-condensed"
     23                   style="table-layout:fixed;overflow-wrap:break-word">
    8024                <thead>
    8125                    <tr>
     
    9943
    10044    </div>
     45    <hr style="border-color:gray" />
     46
     47    <div class="row" id="problem">
     48        <div class="col">
     49            <h4>Problem parameters</h4>
     50            <table class="table table-condensed"
     51                   style="table-layout:fixed;overflow-wrap:break-word">
     52                <thead>
     53                    <tr>
     54                        <th>Parameter</th>
     55                        <th>Value</th>
     56                    </tr>
     57                </thead>
     58                <tbody>
     59                    @foreach (var prob in Model.SelectedAlgorithm.Problem.Parameters.OrderBy(x => x.Name))
     60                    {
     61                        <tr>
     62                            <td>@prob.Name</td>
     63
     64                            <td>@prob.ActualValue</td>
     65                        </tr>
     66
     67                    }
     68                </tbody>
     69            </table>
     70        </div>
     71    </div>
     72   
     73   
    10174    <script type="text/javascript">
    102        
    103         function setProb() {
    104             resetAll();
    105             document.getElementById("problem").style.display = "";
    106             document.getElementById("btnprob").className += " active";
    107 
    108         }
    109         function setAlgo() {
    110             resetAll();
    111             document.getElementById("algorithm").style.display = "";
    112             document.getElementById("btnalg").className += " active";
    113         }
    114 
    115 
    116         function resetAll() {
    117             document.getElementById("problem").style.display = "none";
    118             document.getElementById("algorithm").style.display = "none";
    119             document.getElementById("btnprob").className = document.getElementById("btnprob").className.replace(/(?:^|\s)active(?!\S)/g, '');
    120             document.getElementById("btnalg").className = document.getElementById("btnalg").className.replace(/(?:^|\s)active(?!\S)/g, '');
    121         }
    12275        $(document).ready(function () {
    12376            $('[data-toggle="tooltip"]').tooltip();
    12477        });
    12578    </script>
     79
    12680</div>
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/OpenFilePartials/_AlgorithmSmall.cshtml

    r13714 r13733  
    1313       href="#collapseExample@(randomal)"
    1414       aria-expanded="false"
    15        aria-controls="collapseExample@(randomal)">
     15       aria-controls="collapseExample@(randomal)"
     16       style="margin:10px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     17                            text-shadow:2px 2px black;">
    1618        @Model.algo.Name
    1719    </a>
    18    
     20
    1921</p>
    20 <div class="collapse" id="collapseExample@(randomal)" style="margin-left:10px;margin-right:10px;margin-top:-10px">
     22<div class="collapse"
     23     id="collapseExample@(randomal)"
     24     style="margin-left:10px;margin-right:10px;margin-top:-10px">
     25
    2126    <img src="~/img/accoladealg.png" style="width:100%;" />
    22     <div class="panel panel-primary" style="border-width:2px!important;
    23 box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    24 text-shadow:none">
     27
     28    <div class="panel panel-primary"
     29         style="border-width:2px!important;
     30        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     31        text-shadow:none">
    2532        <div class="panel-heading panel-primary text-center">
    2633            <p>@Model.algo.Description</p>
    2734
    28             <div class="btn-group">
     35            <div class="btn-group"
     36                 style="text-shadow:none">
    2937                <button type="button"
    3038                        id="prior@(randomal)"
     
    4250            </div>
    4351        </div>
    44         <table class="table table-responsive card-block" style="table-layout:fixed;overflow-wrap:break-word">
     52        <h4>Algorithm parameters</h4>
     53        <table class="table table-condensed"
     54               style="table-layout:fixed;overflow-wrap:break-word">
     55            <thead>
     56                <tr>
     57                    <th>Parameter</th>
     58                    <th>Value</th>
     59                </tr>
     60            </thead>
     61            <tbody>
     62                @foreach (var par in Model.algo.Parameters.OrderBy(x => x.Name))
     63                {
     64                    <tr>
     65                        <td>@par.Name</td>
     66
     67                        <td>@par.ActualValue</td>
     68                    </tr>
     69
     70                }
     71            </tbody>
     72        </table>
     73        <hr style="border-color:gray" />
     74        <h4>Problem parameters</h4>
     75        <table class="table table-responsive card-block"
     76               style="table-layout:fixed;overflow-wrap:break-word">
    4577            <thead>
    4678                <tr>
     
    6193            </tbody>
    6294        </table>
    63         <table class="table table-condensed" style="table-layout:fixed;overflow-wrap:break-word">
    64             <thead>
    65                 <tr>
    66                     <th>Parameter</th>
    67                     <th>Value</th>
    68                 </tr>
    69             </thead>
    70             <tbody>
    71                 @foreach (var par in Model.algo.Parameters.OrderBy(x => x.Name))
    72                 {
    73                     <tr>
    74                         <td>@par.Name</td>
    7595
    76                         <td>@par.ActualValue</td>
    77                     </tr>
    7896
    79                 }
    80             </tbody>
    81         </table>
    8297    </div>
    8398</div>
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/OpenFilePartials/_BatchRun.cshtml

    r13712 r13733  
    66        @Model.message
    77    </div>
    8     <div class="row" style="text-align:left">
    9         <h1 data-toggle="tooltip" title="@Model.SelectedTask.ItemTask.ItemName
     8    <div class="row"
     9         style="text-align:center">
     10        <h1 id="top"
     11            data-toggle="tooltip"
     12            title="@Model.SelectedTask.ItemTask.ItemName
    1013            @Model.SelectedTask.ItemTask.Description ">
    11             <span class="label label-warning ">Batch: @Model.SelectedBatchRun.Name</span>
     14            <span class="label label-warning "
     15                  style="text-shadow:2px 2px black;">
     16                Batch: @Model.SelectedBatchRun.Name
     17            </span>
    1218        </h1>
    13         <a class="btn btn-success" id="fakehiveadd" onclick="addtoHive()">Add to Hive</a>
    14 
    15         <div class="btn-group">
    16             <button type="button"
    17                     id="prior@(randy)"
    18                     class="btn btn-info dropdown-toggle"
    19                     data-toggle="dropdown"
    20                     aria-haspopup="true" aria-expanded="false">
    21                 Normal <span class="caret"></span>
    22             </button>
    23             <ul class="dropdown-menu">
    24                 <li><a onclick="changePriority([],0,@randy)">Low</a></li>
    25                 <li><a onclick="changePriority([],1,@randy)">Normal</a></li>
    26                 <li><a onclick="changePriority([],2,@randy)">Urgent</a></li>
    27                 <li><a onclick="changePriority([],3,@randy)">Critical</a></li>
    28             </ul>
    29         </div>
    30 
    31         <a class="btn btn-success" id="realhiveadd" asp-controller="Job" asp-action="AddToHive" style="display:none"></a>
    32         <h4 id="result" style="display:none">Start uploading batch run...</h4>
    33         <div class="progress" id="progdiv" style="display:none">
    34 
    35             <div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar"
    36                  id="progress"
    37                  aria-valuenow="00" aria-valuemin="0" aria-valuemax="100" style="width:10%">
    38                 40%
    39             </div>
    40         </div>
    4119    </div>
    42     <h4>
     20    <h4 id="tasks">
    4321        Repeats: @Model.SelectedBatchRun.Repetitions x
    4422
    4523    </h4>
    4624    <p class="text-center">
    47         <input type="checkbox" checked data-toggle="toggle" data-onstyle="warning"
     25        <input type="checkbox"
     26               checked
     27               data-toggle="toggle"
     28               data-onstyle="warning"
    4829               onchange="toggleChild([], @randy)" />
    4930        Distribute child tasks
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/OpenFilePartials/_BatchRunSmall.cshtml

    r13714 r13733  
    1616       href="#collapseExample@(randombr)"
    1717       aria-expanded="false"
    18        aria-controls="collapseExample@(randombr)">
     18       aria-controls="collapseExample@(randombr)"
     19        style="margin:10px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     20                            text-shadow:2px 2px black;">
    1921        @Model.batch.Name
    2022    </a>
     
    2628     
    2729     >
    28     <img src="~/img/accoladebatch.png" style="width:100%" />
     30    <img src="~/img/accoladebatch.png"
     31         style="width:100%" />
     32
    2933    <div class="panel panel-warning"
    3034         style="border-color:#f6cd94!important; border-width:2px!important;
    31 box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    32 text-shadow:2px 2px black">
     35            box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     36            text-shadow:2px 2px black">
    3337        <div class="panel-heading  text-center">
    3438            <p class="panel-title">
     
    3842
    3943
    40                 <input type="checkbox" checked data-toggle="toggle" data-onstyle="warning"
     44                <input type="checkbox"
     45                       checked
     46                       data-toggle="toggle"
     47                       data-onstyle="warning"
    4148                       onchange="toggleChild(@builder, @randombr)" />
    4249                Distribute child tasks
    4350
    4451            </p>
    45             <div class="btn-group">
     52            <div class="btn-group"
     53                 style="text-shadow:none">
     54
    4655                <button type="button"
    4756                        id="prior@(randombr)"
    4857                        class="btn btn-info dropdown-toggle"
    4958                        data-toggle="dropdown"
    50                         aria-haspopup="true" aria-expanded="false">
     59                        aria-haspopup="true"
     60                        aria-expanded="false">
    5161                    Normal <span class="caret"></span>
    5262                </button>
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/OpenFilePartials/_Experiment.cshtml

    r13712 r13733  
    22@{System.Random randomizer = new Random();
    33    int randy = randomizer.Next(5000); }
    4 <div style="margin-left:20px;margin-right:20px">
     4
     5
     6<div style="margin-left:20px;margin-right:20px; ">
    57    <div class="row" style="text-align:center">
    68        @Model.message
    79    </div>
    8     <div class="row" style="text-align:left">
    9         <h1 data-toggle="tooltip" title=" @Model.SelectedTask.ItemTask.ItemName
     10    <div class="row" style="text-align:center">
     11        <h1 id="top"
     12            data-toggle="tooltip"
     13            title=" @Model.SelectedTask.ItemTask.ItemName
    1014            @Model.SelectedTask.ItemTask.Description ">
    11             <span class="label label-danger">Experiment: @Model.SelectedTask.ItemTask.Name</span>
     15            <span class="label label-danger"
     16                  style="text-shadow:2px 2px black;">
     17                Experiment: @Model.SelectedTask.ItemTask.Name
     18            </span>
    1219        </h1>
    13         <a class="btn btn-success" id="fakehiveadd" onclick="addtoHive()">Add to Hive</a>
    1420
    15 
    16         <div class="btn-group">
    17             <button type="button"
    18                     id="prior@(randy)"
    19                     class="btn btn-info dropdown-toggle"
    20                     data-toggle="dropdown"
    21                     aria-haspopup="true" aria-expanded="false">
    22                 Normal <span class="caret"></span>
    23             </button>
    24             <ul class="dropdown-menu">
    25                 <li><a onclick="changePriority([],0,@randy)">Low</a></li>
    26                 <li><a onclick="changePriority([],1,@randy)">Normal</a></li>
    27                 <li><a onclick="changePriority([],2,@randy)">Urgent</a></li>
    28                 <li><a onclick="changePriority([],3,@randy)">Critical</a></li>
    29             </ul>
    30         </div>
    31         <a class="btn btn-success" id="realhiveadd" asp-controller="Job" asp-action="AddToHive" style="display:none"></a>
    32         <h4 id="result" style="display:none">Start uploading experiment...</h4>
    33         <div class="progress" id="progdiv" style="display:none">
    34 
    35             <div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar"
    36                  id="progress"
    37                  aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width:10%">
    38 
    39             </div>
    40         </div>
    4121    </div>
    42     <h4>
     22    <h4 id="tasks">
    4323        Children: @Model.SelectedExperiment.Optimizers.Count
    4424    </h4>
     
    8464        }
    8565    </div>
     66
    8667    <script type="text/javascript">
    8768
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/OpenFilePartials/_ExperimentSmall.cshtml

    r13714 r13733  
    1313       href="#collapseExample@(randomex)"
    1414       aria-expanded="false"
    15        aria-controls="collapseExample@(randomex)">
     15       aria-controls="collapseExample@(randomex)"
     16       style="margin:10px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     17                            text-shadow:2px 2px black;">
    1618        @Model.exp.Name
    1719    </a>
    1820
    1921</p>
    20 <div class="collapse" id="collapseExample@(randomex)" style="margin-left:10px;margin-right:10px;margin-top:-10px">
    21     <img src="~/img/accoladeexp.png" style="width:100%" />
    22     <div class="panel panel-danger" style="border-color:#c12e2a!important; border-width:2px!important;
    23 box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    24 text-shadow:2px 2px black">
     22<div class="collapse"
     23     id="collapseExample@(randomex)"
     24     style="margin-left:10px;margin-right:10px;margin-top:-10px">
     25
     26    <img src="~/img/accoladeexp.png"
     27         style="width:100%" />
     28
     29    <div class="panel panel-danger"
     30         style="border-color:#c12e2a!important; border-width:2px!important;
     31        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     32        text-shadow:2px 2px black">
     33
    2534        <div class="panel-heading panel-danger text-center">
    26             <p class="panel-title">Children: @Model.exp.Optimizers.Count</p>
     35            <p class="panel-title">
     36                Children: @Model.exp.Optimizers.Count
     37            </p>
    2738            <p>
    2839                <label>
    2940
    30                     <input type="checkbox" checked data-toggle="toggle" data-onstyle="danger"
     41                    <input type="checkbox"
     42                           checked
     43                           data-toggle="toggle"
     44                           data-onstyle="danger"
    3145                           onchange="toggleChild(@builder, @randomex)" />
    3246                    Distribute child tasks
    3347                </label>
    3448            </p>
    35             <div class="btn-group">
     49            <div class="btn-group"
     50                 style="text-shadow:none">
    3651                <button type="button"
    3752                        id="prior@(randomex)"
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/SelectedJobPartials/_AlgTask.cshtml

    r13719 r13733  
    55box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    66text-shadow:2px 2px black">
     7
     8    <script type="text/javascript">//Has to be up front to ensure right order of javascript array
     9        initSaveData("@(Model.hiveTask.Task.Id)",
     10            @Html.Raw(JsonConvert.SerializeObject(Model.hiveTask.Task.StateLog)), "@(Model.hiveTask.ItemTask.Name)");
     11
     12    </script>
     13
     14
    715    <div class="panel-heading"
    816         data-toggle="collapse"
     
    5563                </tr>
    5664                <tr>
    57                     <td></td>
     65                    <td style="word-break:break-all" id="exceptionpar@(Model.hiveTask.Task.Id)">
     66                        <i class="fa fa-cog fa-spin fa-2x" id="spinner"></i>
     67                    </td>
    5868                    <td id="statechangespar@(Model.hiveTask.Task.Id)">
    5969                        <i class="fa fa-cog fa-spin fa-2x" id="spinner"></i>
     70                    </td>
     71                </tr>
     72                <tr style="display:none" id="restarter@(Model.hiveTask.Task.Id)">
     73                    <td><input style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     74                            text-shadow:2px 2px black;"
     75                               id="restarterbtn@(Model.hiveTask.Task.Id)"
     76                               class="btn btn-success"
     77                               type="button"
     78                               onclick="restart('@(Model.hiveTask.Task.Id)');event.cancelBubble=true;"
     79                               value="Restart task"/>
    6080                    </td>
    6181                </tr>
     
    6989                   type="checkbox"
    7090                   data-toggle="toggle"
    71                    data-on="Line"
     91                   data-on="Bar"
    7292                   data-off="Pie"
    7393                   onchange="redrawGraph('@(Model.hiveTask.Task.Id)')" />
     
    7898        </div>
    7999    </div>
    80     <script type="text/javascript">
    81         initSaveData("@(Model.hiveTask.Task.Id)",
    82             @Html.Raw(JsonConvert.SerializeObject(Model.hiveTask.Task.StateLog)));
    83 
    84         document.getElementById("graph@(Model.hiveTask.Task.Id)").style = "width: 100%; height: 400px;";
    85 
    86         Plotly.newPlot('graph@(Model.hiveTask.Task.Id)',
    87             getDataPie("@Model.hiveTask.Task.Id"));
    88     </script>
     100   
    89101</div>
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/SelectedJobPartials/_BatchTask.cshtml

    r13719 r13733  
    44box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    55text-shadow:2px 2px black">
     6
     7    <script type="text/javascript">        //Has to be up front to ensure right order of javascript array
     8        initSaveData("@(Model.hiveTask.Task.Id)",
     9            @Html.Raw(JsonConvert.SerializeObject(Model.hiveTask.Task.StateLog)), "@(Model.hiveTask.ItemTask.Name)");
     10
     11    </script>
     12
     13
    614    <div class="panel-heading"
    715         data-toggle="collapse"
     
    1422                <tr>
    1523                    <th>Batch run: @Model.hiveTask.ItemTask.Name</th>
    16                     <th style="font-size:large">
     24                    <th style="font-size:large; ">
    1725                        @if (Model.hiveTask.Task.Priority == 0)
    1826                        {
     
    6573                        <i class="fa fa-cog fa-spin fa-2x" id="spinner"></i>
    6674                    </td>
     75                   
     76                </tr>
     77                <tr>
     78                    <td style="word-break:break-all" id="exceptionpar@(Model.hiveTask.Task.Id)">
     79                        <i class="fa fa-cog fa-spin fa-2x" id="spinner"></i>
     80                    </td>
     81                </tr>
     82                <tr style="display:none" id="restarter@(Model.hiveTask.Task.Id)">
     83                    <td>
     84                        <input style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     85                            text-shadow:2px 2px black;"
     86                               id="restarterbtn@(Model.hiveTask.Task.Id)"
     87                               class="btn btn-success"
     88                               type="button"
     89                               onclick="restart('@(Model.hiveTask.Task.Id)');event.cancelBubble=true;"
     90                               value="Restart task"/>
     91                    </td>
    6792                </tr>
    6893            </tbody>
     
    7499                   type="checkbox"
    75100                   data-toggle="toggle"
    76                    data-on="Line"
     101                   data-on="Bar"
    77102                   data-off="Pie"
    78103                   onchange="redrawGraph('@(Model.hiveTask.Task.Id)')">
     
    94119        </div>
    95120    }
    96     <script type="text/javascript">
    97         initSaveData("@(Model.hiveTask.Task.Id)",
    98             @Html.Raw(JsonConvert.SerializeObject(Model.hiveTask.Task.StateLog)));
    99 
    100         document.getElementById("graph@(Model.hiveTask.Task.Id)").style = "width: 100%; height: 400px;";
    101 
    102         Plotly.newPlot('graph@(Model.hiveTask.Task.Id)',
    103             getData("@Model.hiveTask.Task.Id"));
    104 
    105     </script>
     121   
    106122</div>
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/SelectedJobPartials/_ExpTask.cshtml

    r13719 r13733  
    77text-shadow:2px 2px black"
    88     >
     9
     10   
     11    <script type="text/javascript">//Has to be up front to ensure right order of javascript array
     12        initSaveData("@(Model.hiveTask.Task.Id)",
     13            @Html.Raw(JsonConvert.SerializeObject(Model.hiveTask.Task.StateLog)), "@(Model.hiveTask.ItemTask.Name)");
     14
     15    </script>
     16
     17
    918    <div class="panel-heading"
    1019         data-toggle="collapse"
     
    6877                    </td>
    6978                </tr>
     79                <tr >
     80                    <td style="display:none" id="restarter@(Model.hiveTask.Task.Id)">
     81                        <input style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     82                            text-shadow:2px 2px black;"
     83                               id="restarterbtn@(Model.hiveTask.Task.Id)"
     84                               class="btn btn-success"
     85                               type="button"
     86                               onclick="restart('@(Model.hiveTask.Task.Id)');event.cancelBubble=true;"
     87                               value="Restart task" />
     88                    </td>
     89                    <td style="word-break:break-all" id="exceptionpar@(Model.hiveTask.Task.Id)">
     90                        <i class="fa fa-cog fa-spin fa-2x" id="spinner"></i>
     91                    </td>
     92                </tr>
    7093            </tbody>
    7194        </table>
     
    77100                   data-toggle="toggle"
    78101                   
    79                    data-on="Line"
     102                   data-on="Bar"
    80103                   data-off="Pie"
    81104                   onchange="redrawGraph('@(Model.hiveTask.Task.Id)')">
     
    97120        </div>
    98121    }
    99     <script type="text/javascript">
    100         initSaveData("@(Model.hiveTask.Task.Id)",
    101             @Html.Raw(JsonConvert.SerializeObject(Model.hiveTask.Task.StateLog)));
    102 
    103         document.getElementById("graph@(Model.hiveTask.Task.Id)").style = "width: 100%!important; height: 400px;";
    104 
    105         Plotly.newPlot('graph@(Model.hiveTask.Task.Id)',
    106             getData("@Model.hiveTask.Task.Id"));
    107     </script>
     122   
    108123</div>
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/Upload.cshtml

    r13656 r13733  
    33<div>
    44
    5     <ul class="nav nav-tabs">
    6         <li role="presentation" class="active"><a asp-controller="Job" asp-action="Index">Jobs <span class="badge"></span></a></li>
    7         <li role="presentation"><a asp-controller="User" asp-action="Index">User management</a></li>
    8         <li role="presentation"><a asp-controller="Resource" asp-action="Index">Resources</a></li>
    9     </ul>
     5    @Html.Partial("Navbar", new HeuristicLab.Clients.Hive.WebJobManager.ViewModels.NavbarViewModel("Job"))
     6
     7
    108    <div style="margin:10px">
    11         <form method="post" asp-action="Upload" asp-controller="Job" enctype="multipart/form-data">
    12             <input onchange="printFiles()" type="file" id="files" name="files" multiple accept=".hl" style="display:none" />
    13             <div onclick="firefilebutton()" class="btn btn-info btn-lg btn-block  ">Choose file(s)</div>
    14             <div class="row" style="margin:10px">
     9
     10        <form method="post"
     11              asp-action="Upload"
     12              asp-controller="Job"
     13              enctype="multipart/form-data">
     14            <input onchange="printFiles()"
     15                   type="file"
     16                   id="files"
     17                   name="files"
     18                   multiple
     19                   accept=".hl"
     20                   style="display:none" />
     21
     22            <div onclick="firefilebutton()"
     23                 class="btn btn-info btn-lg btn-block  ">
     24                Choose file(s)
     25            </div>
     26
     27            <div class="row"
     28                 style="margin:10px">
    1529                <div id="selectedfiles"></div>
    16                    <div style="visibility:hidden;  margin-bottom:10px;" id="del" class='btn btn-danger' onclick='deletefiles()'>
    17                     <span class='glyphicon glyphicon-trash' aria-hidden='true'></span>  Remove files
     30                <div style="visibility:hidden;  margin-bottom:10px;"
     31                     id="del"
     32                     class='btn btn-danger'
     33                     onclick='deletefiles()'>
     34                    <span class='glyphicon glyphicon-trash'
     35                          aria-hidden='true'></span>  Remove files
    1836                </div>
    19                 <input style="visibility:hidden;" id="upl" class="btn btn-lg btn-block btn-success" type="submit" value="Check contents" />
     37                <input style="visibility:hidden;"
     38                       id="upl"
     39                       class="btn btn-lg btn-block btn-success"
     40                       type="submit"
     41                       value="Check contents" />
    2042            </div>
    2143
     
    3759                        "</p>";
    3860                }
    39                
     61
    4062            }
    41             else{
     63            else {
    4264                document.getElementById("upl").style.visibility = "hidden";
    4365                document.getElementById("del").style.visibility = "hidden";
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Job/Uploads.cshtml

    r13689 r13733  
    33<div>
    44
    5     <ul class="nav nav-tabs">
    6         <li role="presentation" class="active"><a asp-controller="Job" asp-action="Index">Jobs -> Uploads</a></li>
    7         <li role="presentation"><a asp-controller="User" asp-action="Index">User management</a></li>
    8         <li role="presentation"><a asp-controller="Resource" asp-action="Index">Resources</a></li>
     5    @Html.Partial("Navbar", new HeuristicLab.Clients.Hive.WebJobManager.ViewModels.NavbarViewModel("Job"))
     6
     7    <ul class="nav nav-pills nav-justified">
     8        <li role="presentation"
     9            class="">
     10            <a asp-controller="Job"
     11               asp-action="Index">
     12                Jobs
     13            </a>
     14        </li>
     15        <li role="presentation"
     16            class="active">
     17            <a asp-controller="Job"
     18               asp-action="Uploads">
     19                Uploads
     20            </a>
     21        </li>
    922    </ul>
    10     <div class="row" style="text-align:center">
    11         @Model.message
    12     </div>
    1323    <div class="row" style="margin:10px">
    14         <a class="btn btn-success btn-lg btn-block"
    15            asp-controller="Job"
    16            asp-action="Uploader">
    17             Upload new file(s)
    18         </a>
     24        <div style="text-align:center">@Model.message</div>
     25
    1926    </div>
    2027    <div class="row" style="padding:10px">
     
    2229        {
    2330            <div>
    24                 <p style="text-align:center">No files uploaded</p>
     31                <p style="text-align:center">
     32                    No files uploaded
     33                </p>
     34                <a class="btn btn-success btn-lg btn-block"
     35                   asp-controller="Job"
     36                   asp-action="Uploader"
     37                   style="margin:10px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     38                            text-shadow:2px 2px black;">
     39                    <i class="fa fa-cloud-upload"></i> Upload new file(s)
     40                </a>
    2541            </div>
    2642
     
    2945            <div class="col-sm-4">
    3046                <div class="btn-group-vertical btn-block">
     47                    <a class="btn btn-success btn-lg btn-block
     48                       @(Model.SelectedIndex == -1 ? "active" : "")
     49                       "
     50                       asp-controller="Job"
     51                       asp-action="UploadDir"
     52                       asp-route-index="-1"
     53                       onclick="showUploader()"
     54                       style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     55                            text-shadow:2px 2px black;">
     56                        <i class="fa fa-cloud-upload"></i> Upload new file(s)
     57                    </a>
    3158                    @for (int i = 0; i < Model.DisplayDatePaths.Count; i++)
    3259                    {
    3360                        <a class="btn  btn-default @(i == Model.SelectedIndex ? "active" : "" )"
     61                           style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);"
    3462                           asp-controller="Job"
    3563                           asp-action="UploadDir"
    36                            asp-route-index="@(i)">
     64                           asp-route-index="@(i)"
     65                           onclick="showDownloader()">
    3766                            @Model.DisplayDatePaths[i]
    3867                        </a>
     
    4170                </div>
    4271            </div>
    43             @if (Model.SelectedIndex != -1)
    44             {
    45                 <div class="col-sm-8">
     72            <p style="display:none"
     73               id="downloader"
     74               class="text-center">
     75                <br /><br /><br /><br /><br /><br /><br />
     76                <i class="fa fa-cloud-download fa-spin fa-5x" id="spinner">
     77                </i>
     78            </p>
     79            <p style="display:none"
     80               id="uploader"
     81               class="text-center">
     82                <br /><br /><br /><br /><br /><br /><br />
     83                <i class="fa fa-cloud-upload fa-spin fa-5x" id="spinner">
     84                </i>
     85            </p>
     86            <p style="display:none"
     87               id="deleter"
     88               class="text-center">
     89                <br /><br /><br /><br /><br /><br /><br />
     90                <i class="fa fa-trash-o fa-spin fa-5x" id="spinner">
     91                </i>
     92            </p>
     93            <div id="content">
     94                @if (Model.SelectedIndex != -1)
     95                {
     96                    <div class="col-sm-8">
    4697
    47                     @for (int i = 0; i < Model.DisplayFilesPaths.Count; i++)
     98                        @for (int i = 0; i < Model.DisplayFilesPaths.Count; i++)
    4899                    {
    49                         <div class="btn-group-justified btn-block">
     100                            <div class="btn-group-justified btn-block">
    50101
    51                             <a class="btn btn-default @(Model.DisplayFilesPaths[i].EndsWith(".hl") ? "" : "disabled" )"
    52                                asp-controller="Job"
    53                                asp-action="OpenFile"
    54                                asp-route-index="@(Model.SelectedIndex)"
    55                                asp-route-filedex="@i"
    56                                style="width:6%">
    57                                 @Model.DisplayFilesPaths[i]
    58                             </a>
    59                             <a id="del"
    60                                class='btn btn-group btn-danger'
    61                                asp-controller="Job"
    62                                asp-action="DeleteFile"
    63                                asp-route-index="@(Model.SelectedIndex)"
    64                                asp-route-filedex="@i" >
    65                                 <span class='glyphicon glyphicon-trash' aria-hidden='true'></span>
    66                             </a>
    67                         </div>
    68                     }
     102                                <a class="btn btn-default @(Model.DisplayFilesPaths[i].EndsWith(".hl") ? "" : "disabled" )"
     103                                   asp-controller="Job"
     104                                   asp-action="OpenFile"
     105                                   asp-route-index="@(Model.SelectedIndex)"
     106                                   asp-route-filedex="@i"
     107                                   style="width:6%;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);">
     108                                    @Model.DisplayFilesPaths[i]
     109                                </a>
     110                                <a id="del"
     111                                   style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
     112                            text-shadow:2px 2px black;"
     113                                   class='btn btn-group btn-danger'
     114                                   asp-controller="Job"
     115                                   asp-action="DeleteFile"
     116                                   asp-route-index="@(Model.SelectedIndex)"
     117                                   asp-route-filedex="@i"
     118                                   onclick="showDeleter()">
     119                                    <span class='glyphicon glyphicon-trash' aria-hidden='true'></span>
     120                                </a>
     121                            </div>
     122                        }
    69123
    70124
    71                 </div>
     125                    </div>
    72126
    73             }
     127                }
     128                else
     129                {
     130                    <div class="col-sm-8">
     131
     132                        @Html.Partial("UploaderPartial/_UploaderPartial")
     133                    </div>
     134                }
     135            </div>
    74136
    75137        }
    76138    </div>
     139    <script type="text/javascript">
     140        function showDownloader() {
     141            document.getElementById("content").style.display = "none";
     142            document.getElementById("downloader").style.display = "";
     143
     144        }
     145        function showUploader() {
     146            document.getElementById("content").style.display = "none";
     147            document.getElementById("uploader").style.display = "";
     148
     149        }
     150        function showDeleter() {
     151            document.getElementById("content").style.display = "none";
     152            document.getElementById("deleter").style.display = "";
     153        }
     154    </script>
    77155</div>
Note: See TracChangeset for help on using the changeset viewer.