Changeset 12962 for stable/HeuristicLab.Services.WebApp
- Timestamp:
- 09/21/15 16:28:38 (9 years ago)
- Location:
- stable
- Files:
-
- 1 deleted
- 15 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
stable
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Services.WebApp/3.3
- Property svn:ignore
-
old new 1 1 Bin 2 HeuristicLab.Services.WebApp-3.3.csproj.user
-
- Property svn:ignore
-
stable/HeuristicLab.Services.WebApp/3.3/Configs/BundleConfig.cs
r12685 r12962 59 59 // bootstrap 60 60 "~/WebApp/libs/bootstrap/js/bootstrap.min.js", 61 // crypto 61 // cryptojs 62 62 "~/WebApp/libs/cryptojs/aes.js", 63 63 // angular js … … 77 77 "~/WebApp/libs/angularjs/loading-bar/loading-bar.js", 78 78 "~/WebApp/libs/angularjs/ocLazyLoad/ocLazyLoad.min.js", 79 "~/WebApp/libs/angularjs/fittext/ng-FitText.js", 79 80 // smoothScroll 80 81 "~/WebApp/libs/smoothScroll/smoothScroll.js" … … 105 106 PluginManager pluginManager = PluginManager.Instance; 106 107 foreach (var plugin in pluginManager.Plugins) { 107 if (File.Exists(string.Format(@"{0}\{1}\{1}.js", PluginManager.PluginsDirectory, plugin.Name))) { 108 var path = Path.Combine(PluginManager.PluginsDirectory, plugin.Name, string.Concat(plugin.Name, ".js")); 109 if (File.Exists(path)) { 108 110 jsFiles.Add(string.Format("WebApp/plugins/{0}/{0}.js", plugin.Name)); 109 111 } -
stable/HeuristicLab.Services.WebApp/3.3/Controllers/AppController.cs
r12563 r12962 20 20 #endregion 21 21 22 using System.Web; 22 23 using System.Web.Mvc; 23 24 … … 30 31 return RedirectPermanent(Request.Url + "/"); 31 32 } 33 Response.Cache.SetCacheability(HttpCacheability.NoCache); 32 34 return View("~/WebApp/shared/layout/layout.cshtml"); 33 35 } … … 38 40 39 41 public ActionResult LoadSharedView(string directory, string view, string dateTime) { 40 // dateTime is optional to avoid browser caching 42 Response.Cache.SetCacheability(HttpCacheability.NoCache); 43 // dateTime is optional to definitly avoid browser caching 41 44 return View(string.Format("~/WebApp/shared/{0}/{1}", directory, view)); 42 45 } 43 46 44 47 public ActionResult LoadPluginView(string plugin, string view, string dateTime) { 45 // dateTime is optional to avoid browser caching 48 Response.Cache.SetCacheability(HttpCacheability.NoCache); 49 // dateTime is optional to definitly avoid browser caching 46 50 return View(string.Format("~/WebApp/plugins/{0}/{1}", plugin, view)); 47 51 } -
stable/HeuristicLab.Services.WebApp/3.3/HeuristicLab.Services.WebApp-3.3.csproj
r12563 r12962 13 13 <AppDesignerFolder>Properties</AppDesignerFolder> 14 14 <RootNamespace>HeuristicLab.Services.WebApp</RootNamespace> 15 <AssemblyName>HeuristicLab.Services.WebApp </AssemblyName>15 <AssemblyName>HeuristicLab.Services.WebApp-3.3</AssemblyName> 16 16 <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 17 17 <MvcBuildViews>false</MvcBuildViews> … … 118 118 <Reference Include="System.Net.Http.WebRequest"> 119 119 </Reference> 120 <Reference Include="WebGrease, Version=1.6.5135.21930, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 121 <SpecificVersion>False</SpecificVersion> 120 <Reference Include="WebGrease"> 122 121 <HintPath>..\..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath> 123 122 </Reference> … … 146 145 <Content Include="WebApp\libs\angularjs\angular-tablesort\angular-tablesort.js" /> 147 146 <Content Include="WebApp\libs\angularjs\angular-tablesort\tablesort.css" /> 147 <Content Include="WebApp\libs\angularjs\fittext\ng-FitText.js" /> 148 <Content Include="WebApp\libs\cryptojs\aes.js" /> 148 149 <Content Include="WebApp\main.js" /> 149 150 <Content Include="WebApp\helper.js" /> … … 172 173 <Content Include="WebApp\plugins\about\about.js" /> 173 174 <Content Include="WebApp\plugins\about\aboutCtrl.js" /> 174 <Content Include="WebApp\plugins\login\login.css" /> 175 <Content Include="WebApp\plugins\login\login.js" /> 176 <Content Include="WebApp\plugins\login\loginCtrl.js" /> 177 <Content Include="WebApp\plugins\plugins\pluginsExceptionCtrl.js" /> 178 <Content Include="WebApp\plugins\plugins\plugins.js" /> 179 <Content Include="WebApp\plugins\plugins\pluginsCtrl.js" /> 175 <Content Include="WebApp\plugins\login\login.css"> 176 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 177 </Content> 178 <Content Include="WebApp\plugins\login\login.js"> 179 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 180 </Content> 181 <Content Include="WebApp\plugins\login\loginCtrl.js"> 182 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 183 </Content> 184 <Content Include="WebApp\plugins\plugins\pluginsExceptionCtrl.js"> 185 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 186 </Content> 187 <Content Include="WebApp\plugins\plugins\plugins.js"> 188 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 189 </Content> 190 <Content Include="WebApp\plugins\plugins\pluginsCtrl.js"> 191 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 192 </Content> 180 193 <Content Include="WebApp\plugins\plugins\pluginsService.js" /> 181 194 <Content Include="WebApp\shared\directives\flot.js" /> … … 208 221 <Content Include="HeuristicLab.snk" /> 209 222 <Content Include="Properties\AssemblyInfo.cs.frame" /> 210 <Content Include="Web.config" /> 223 <Content Include="Web.config"> 224 <SubType>Designer</SubType> 225 </Content> 211 226 <Content Include="Web.Debug.config"> 212 227 <DependentUpon>Web.config</DependentUpon> … … 219 234 <Content Include="WebApp\libs\bootstrap\fonts\glyphicons-halflings-regular.woff" /> 220 235 <Content Include="WebApp\libs\bootstrap\fonts\glyphicons-halflings-regular.woff2" /> 236 <Content Include="WebApp\shared\directives\scrollToTop.js" /> 221 237 <Content Include="WebApp\shared\filter\filters.js" /> 222 238 <Content Include="WebApp\shared\images\HeuristicLab-Logo.png" /> … … 249 265 </ItemGroup> 250 266 <ItemGroup> 267 <None Include="Properties\PublishProfiles\WebApp.pubxml" /> 251 268 <Content Include="WebApp\plugins\about\about.cshtml" /> 252 269 </ItemGroup> -
stable/HeuristicLab.Services.WebApp/3.3/Plugin.cs
r12563 r12962 77 77 if (!assemblies.Any()) 78 78 return; 79 79 80 var assemblyPath = assemblies.First(); 80 81 AssemblyName = Path.GetFileName(assemblyPath); -
stable/HeuristicLab.Services.WebApp/3.3/PluginManager.cs
r12563 r12962 43 43 44 44 public static string PluginsDirectory { 45 get { return string.Format(@"{0}WebApp\plugins", HttpRuntime.AppDomainAppPath); } 45 get { 46 return Path.Combine(HttpRuntime.AppDomainAppPath, "WebApp", "plugins"); 47 } 46 48 } 47 49 … … 60 62 private void OnFilesChanged(object sender, FileSystemEventArgs args) { 61 63 string path = args.FullPath.Remove(0, PluginsDirectory.Length + 1); 62 var pathParts = path.Split(Path. PathSeparator);64 var pathParts = path.Split(Path.DirectorySeparatorChar); 63 65 string pluginName = pathParts[0]; 64 if (pathParts.Length == 1) {66 if (pathParts.Length <= 2) { 65 67 switch (args.ChangeType) { 66 68 case WatcherChangeTypes.Created: … … 75 77 RenamedEventArgs renamedArgs = (RenamedEventArgs)args; 76 78 string oldPath = renamedArgs.OldFullPath.Remove(0, PluginsDirectory.Length + 1); 77 var oldPathParts = oldPath.Split(Path. PathSeparator);79 var oldPathParts = oldPath.Split(Path.DirectorySeparatorChar); 78 80 string oldPluginName = oldPathParts[0]; 79 81 plugins.Remove(oldPluginName); … … 94 96 Plugin plugin = LookupPlugin(name); 95 97 if (plugin == null) { 96 string directory = string.Format(@"{0}\{1}",PluginsDirectory, name);98 string directory = Path.Combine(PluginsDirectory, name); 97 99 if (Directory.Exists(directory)) { 98 100 plugin = new Plugin(name, directory, Configuration); -
stable/HeuristicLab.Services.WebApp/3.3/WebApp/app.css
r12563 r12962 352 352 } 353 353 354 [ng-click],355 [data-ng-click],356 [x-ng-click] {357 cursor: pointer;358 }359 354 360 355 .navbar-default .navbar-brand { … … 419 414 .default-view-container { 420 415 padding: 30px; 416 min-height: 300px; 417 } 418 419 .default-view-header { 420 padding: 30px; 421 background: #F5F5F5; 422 border-bottom: 1px solid #D3D3D3; 421 423 } 422 424 … … 434 436 text-decoration: none; 435 437 } 438 439 /*remove button gradient*/ 440 .btn { 441 background-image: none; 442 filter: none; 443 -webkit-box-shadow: none !important; 444 -moz-box-shadow: none !important; 445 -o-box-shadow: none !important; 446 box-shadow: none !important; 447 } 448 449 .btn-default { 450 background-image: none; 451 filter: none; 452 -webkit-box-shadow: none !important; 453 -moz-box-shadow: none !important; 454 -o-box-shadow: none !important; 455 box-shadow: none !important; 456 } 457 458 .btn .btn-default { 459 background-image: none; 460 filter: none; 461 -webkit-box-shadow: none !important; 462 -moz-box-shadow: none !important; 463 -o-box-shadow: none !important; 464 box-shadow: none !important; 465 } 466 467 .btn-default.active, .btn-default:active{ 468 border-color: #adadad; 469 } 470 471 472 473 .modal-dialog-center { 474 margin: 0; 475 position: absolute; 476 top: 50%; 477 left: 50%; 478 } 479 480 .modal-header { 481 background: #fafafa; 482 } 483 484 .modal-body { 485 overflow-y: auto; 486 } 487 .modal-footer { 488 margin-top: 0; 489 } 490 491 @media (max-width: 767px) { 492 .modal-dialog-center { 493 width: 100%; 494 } 495 } 496 497 body.modal-open { 498 overflow: visible; 499 } 500 501 .table .progress { 502 margin-bottom: 0px; 503 } 504 505 .default-filter-header { 506 padding: 30px; 507 background: #F5F5F5; 508 border-top: 1px solid #D3D3D3; 509 border-bottom: 1px solid #D3D3D3; 510 } 511 512 .default-tab-filter-header { 513 padding: 30px; 514 background: #F5F5F5; 515 border-bottom: 1px solid #D3D3D3; 516 } 517 518 .cursor-pointer:hover { 519 cursor: pointer 520 } 521 522 .app-modal-window .modal-dialog { 523 top: 15%; 524 z-index: 1050; 525 } 526 527 .pagination>li>a, 528 .pagination>li>span { 529 border-color: #ccc; 530 } 531 532 .pagination>.active>a, 533 .pagination>.active>a:focus, 534 .pagination>.active>span, 535 .pagination>.active>span:focus { 536 color: black; 537 background: #e0e0e0; 538 border-color: #adadad; 539 } 540 541 .pagination>.active>a:hover, 542 .pagination>.active>span:hover { 543 color: black; 544 border-color: #ccc; 545 background: #eeeeee; 546 } -
stable/HeuristicLab.Services.WebApp/3.3/WebApp/app.js
r12428 r12962 2 2 var appName = 'app'; 3 3 var appPath = 'WebApp'; 4 var defaultPageUpdateInterval = 60000; 4 5 5 6 // route, plugin, menu, section and main app -
stable/HeuristicLab.Services.WebApp/3.3/WebApp/helper.js
r12685 r12962 7 7 Number.prototype.zeropad = function (n) { 8 8 return (new Array(n + 1).join("0") + this).slice(-n); 9 }; 10 11 Number.prototype.toHHMMSS = function() { 12 d = this; 13 d = Number(d); 14 var years = Math.floor(d / 31536000); 15 var days = Math.floor(d / 86400 % 365); 16 var h = Math.floor(d / 3600 % 24); 17 var m = Math.floor(d % 3600 / 60); 18 var s = Math.floor(d % 3600 % 60); 19 var timeStr = ""; 20 if (years > 0) { 21 timeStr = years + "y "; 22 } 23 if (days > 0) { 24 timeStr = timeStr + days + "d "; 25 } 26 return timeStr + h.zeropad(2) + ":" + m.zeropad(2) + ":" + s.zeropad(2); 9 27 }; 10 28 … … 33 51 }; 34 52 35 36 53 var CSharpDateToString = function (datetime) { 37 54 var date = new Date(Date.parse(datetime)); -
stable/HeuristicLab.Services.WebApp/3.3/WebApp/plugins/about/about.cshtml
r12685 r12962 28 28 <div class="panel-body"> 29 29 <p><strong>Support</strong>: <a href="App/RedirectUrl?url=http://groups.google.com/group/heuristiclab">HeuristicLab Google Group</a></p> 30 <p><strong>Inquiries</strong>: <a ng-click="mailToSupport()">support(at)heuristiclab.com</a></p>30 <p><strong>Inquiries</strong>: <a class="cursor-pointer" ng-click="mailToSupport()">support(at)heuristiclab.com</a></p> 31 31 <p><strong>Heuristic and Evolutionary Algorithms Laboratory (HEAL)</strong>: <a href="App/RedirectUrl?url=http://heal.heuristiclab.com">http://heal.heuristiclab.com</a></p> 32 32 <p><strong>HeuristicLab development site</strong>: <a href="App/RedirectUrl?url=http://dev.heuristiclab.com">http://dev.heuristiclab.com</a></p> … … 36 36 <span class="glyphicon glyphicon-phone-alt"></span> +43 50804 22030<br /> 37 37 <span class="glyphicon glyphicon-print"></span> +43 50804 21599<br /> 38 <span class="glyphicon glyphicon-envelope"></span> <a ng-click="mailToStefanWagner()">stefan.wagner(at)heuristiclab.com</a><br />38 <span class="glyphicon glyphicon-envelope"></span> <a class="cursor-pointer" ng-click="mailToStefanWagner()">stefan.wagner(at)heuristiclab.com</a><br /> 39 39 </p> 40 40 </div> -
stable/HeuristicLab.Services.WebApp/3.3/WebApp/plugins/login/login.cshtml
r12428 r12962 14 14 <div class="input-group"> 15 15 <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span> 16 <input type="text" class="form-control" name="Username" placeholder="User "16 <input type="text" class="form-control" name="Username" placeholder="Username" 17 17 ng-model="user.Username"> 18 18 </div> -
stable/HeuristicLab.Services.WebApp/3.3/WebApp/plugins/plugins/plugins.cshtml
r12563 r12962 21 21 <th>#</th> 22 22 <th ts-criteria="Name">Name</th> 23 <th ts-criteria 23 <th ts-criteria="AssemblyName">Assembly</th> 24 24 <th ts-criteria="LastReload">Last reload</th> 25 <th >Status</th>25 <th class="text-center">Status</th> 26 26 <th></th> 27 27 </tr> … … 33 33 <td>{{plugin.AssemblyName}}</td> 34 34 <td>{{plugin.LastReload}}</td> 35 <td >35 <td class="text-center"> 36 36 <span ng-hide="plugin.Exception" class="glyphicon glyphicon glyphicon-ok" style="color: green"></span> 37 37 <span ng-show="plugin.Exception" class="glyphicon glyphicon glyphicon-remove" style="color: darkred" … … 39 39 </td> 40 40 <td> 41 <a ng-href="" data-ng-click="reloadPlugin(plugin.Name)">Reload</a>41 <a ng-href="" class="cursor-pointer" data-ng-click="reloadPlugin(plugin.Name)">Reload</a> 42 42 </td> 43 43 </tr> -
stable/HeuristicLab.Services.WebApp/3.3/WebApp/shared/filter/filters.js
r12546 r12962 1 (function 1 (function() { 2 2 var module = appMainPlugin.getAngularModule(); 3 3 module.filter('kbToGB', function () { -
stable/HeuristicLab.Services.WebApp/3.3/WebApp/shared/layout/layout.cshtml
r12563 r12962 24 24 <meta charset="utf-8" /> 25 25 <meta name="viewport" content="width=device-width, initial-scale=1"> 26 <meta http-equiv="pragma" content="no-cache" /> 26 27 <title>HeuristicLab Hive</title> 27 28 <link href="~/WebApp/HeuristicLab.ico" rel="shortcut icon" type="image/x-icon" /> 28 29 @Styles.Render("~/Bundles/Vendors/css") 29 30 @Styles.Render("~/Bundles/WebApp/css") 30 <link rel="stylesheet" type="text/css" href=" http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">31 <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700"> 31 32 <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> 32 33 <!--[if lt IE 9]> … … 63 64 <div class="navbar-content"> 64 65 <ul class="nav navbar-nav navbar-right"> 65 @if (Request.IsAuthenticated) 66 { 66 @if (Request.IsAuthenticated) { 67 67 <li> 68 68 <span class="navbar-text">Hello @User.Identity.Name!</span> 69 69 </li> 70 70 <li> 71 <a ng-href=" " data-ng-click="logout()">Logout</a>71 <a ng-href="#" data-ng-click="logout()">Logout</a> 72 72 </li> 73 } 74 else 75 { 73 } else { 76 74 <li> 77 75 <a ng-href="#/login" data-ng-click="hideMenu()">Login</a> … … 97 95 </div> 98 96 <script type="text/javascript"> 99 $('.navbar-collapse').on('click', 'li a', function () {100 $('.navbar-collapse').collapse('hide');101 });97 $('.navbar-collapse').on('click', 'li a', function () { 98 $('.navbar-collapse').collapse('hide'); 99 }); 102 100 </script> 103 101 </body>
Note: See TracChangeset
for help on using the changeset viewer.