Free cookie consent management tool by TermsFeed Policy Generator

source: stable/HeuristicLab.Services.WebApp/3.3/Configs/BundleConfig.cs @ 12934

Last change on this file since 12934 was 12685, checked in by ascheibe, 9 years ago

#2413 merged r12583 and r12666 into stable

File size: 4.7 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
22using System.Collections.Generic;
23using System.IO;
24using System.Web.Optimization;
25
26namespace HeuristicLab.Services.WebApp.Configs {
27  public class BundleConfig {
28
29    public static void RegisterBundles(BundleCollection bundles) {
30      bundles.IgnoreList.Clear();
31
32      // IESupport
33      bundles.Add(new ScriptBundle("~/Bundles/IESupport").Include(
34        "~/WebApp/libs/misc/html5shiv.min.js",
35        "~/WebApp/libs/misc/respond.min.js"
36      ));
37
38      // Vendors
39      bundles.Add(new StyleBundle("~/Bundles/Vendors/css").Include(
40        "~/WebApp/libs/bootstrap/css/bootstrap.min.css",
41        "~/WebApp/libs/bootstrap/css/bootstrap-theme.min.css",
42        "~/WebApp/libs/font-aweseome/font-aweseome.min.css",
43        "~/WebApp/libs/angularjs/loading-bar/loading-bar.css",
44        "~/WebApp/libs/angularjs/angular-tablesort/tablesort.css"
45      ));
46
47      bundles.Add(new ScriptBundle("~/Bundles/Vendors/js").Include(
48        // jquery
49        "~/WebApp/libs/jquery/jquery-2.1.4.min.js",
50        "~/WebApp/libs/jquery/jquery-ui/jquery-ui-1.11.4.min.js",
51        "~/WebApp/libs/jquery/jquery-knob/jquery.knob.min.js",
52        "~/WebApp/libs/jquery/jquery-flot/excanvas.min.js",
53        "~/WebApp/libs/jquery/jquery-flot/jquery.flot.min.js",
54        "~/WebApp/libs/jquery/jquery-flot/jquery.flot.time.min.js",
55        "~/WebApp/libs/jquery/jquery-flot/jquery.flot.selection.min.js",
56        "~/WebApp/libs/jquery/jquery-flot/jquery.flot.navigate.min.js",
57        "~/WebApp/libs/jquery/jquery-flot/jquery.flot.resize.min.js",
58        "~/WebApp/libs/jquery/jquery-flot/jquery.flot.stack.min.js",
59        // bootstrap
60        "~/WebApp/libs/bootstrap/js/bootstrap.min.js",
61        // crypto js
62        "~/WebApp/libs/cryptojs/aes.js",
63        // angular js
64        "~/WebApp/libs/angularjs/angular.min.js",
65        "~/WebApp/libs/angularjs/angular-route.min.js",
66        "~/WebApp/libs/angularjs/angular-aria.min.js",
67        "~/WebApp/libs/angularjs/angular-cookies.min.js",
68        "~/WebApp/libs/angularjs/angular-loader.min.js",
69        "~/WebApp/libs/angularjs/angular-messages.min.js",
70        "~/WebApp/libs/angularjs/angular-resource.min.js",
71        "~/WebApp/libs/angularjs/angular-sanitize.min.js",
72        "~/WebApp/libs/angularjs/angular-touch.min.js",
73        "~/WebApp/libs/angularjs/angular-ui-router.min.js",
74        "~/WebApp/libs/angularjs/angular-knob/angular-knob.js",
75        "~/WebApp/libs/angularjs/angular-tablesort/angular-tablesort.js",
76        "~/WebApp/libs/angularjs/angular-ui/ui-bootstrap-tpls-0.13.0.min.js",
77        "~/WebApp/libs/angularjs/loading-bar/loading-bar.js",
78        "~/WebApp/libs/angularjs/ocLazyLoad/ocLazyLoad.min.js",
79        // smoothScroll
80        "~/WebApp/libs/smoothScroll/smoothScroll.js"
81      ));
82
83      // Application
84      bundles.Add(new StyleBundle("~/Bundles/WebApp/css").Include(
85        "~/WebApp/app.css"
86      ));
87
88      bundles.Add(new ScriptBundle("~/Bundles/WebApp/Main").Include(
89        "~/WebApp/main.js"
90      ));
91
92      bundles.Add(new ScriptBundle("~/Bundles/WebApp/Shared")
93        .IncludeDirectory("~/WebApp/shared/services", "*.js", true)
94        .IncludeDirectory("~/WebApp/shared/directives", "*.js", true)
95        .IncludeDirectory("~/WebApp/shared/filter", "*.js", true)
96        .IncludeDirectory("~/WebApp/shared/menu", "*.js", true)
97      );
98    }
99
100    public static IEnumerable<string> GetWebAppScripts() {
101      var jsFiles = new List<string> {
102        "WebApp/helper.js",
103        "WebApp/app.js"
104      };
105      PluginManager pluginManager = PluginManager.Instance;
106      foreach (var plugin in pluginManager.Plugins) {
107        if (File.Exists(string.Format(@"{0}\{1}\{1}.js", PluginManager.PluginsDirectory, plugin.Name))) {
108          jsFiles.Add(string.Format("WebApp/plugins/{0}/{0}.js", plugin.Name));
109        }
110      }
111      jsFiles.Add("WebApp/main.js");
112      return jsFiles;
113    }
114  }
115}
Note: See TracBrowser for help on using the repository browser.