Merge pull request #10 from gconsidine/ui/fix/style-duplication

Fix duplicate and non-deterministic style imports
This commit is contained in:
Greg Considine 2017-07-25 09:56:02 -04:00 committed by GitHub
commit c7c9d0780e
99 changed files with 402 additions and 295 deletions

3
.gitignore vendored
View File

@ -12,10 +12,7 @@ awx/job_output
awx/public/media
awx/public/static
awx/ui/tests/test-results.xml
awx/ui/static/js/awx.min.js
awx/ui/static/js/local_settings.json
awx/ui/client/src/local_settings.json
awx/ui/static/css/awx.min.css
awx/main/fixtures
awx/*.log
tower/tower_warnings.log

View File

@ -30,20 +30,25 @@ module.exports = function(grunt) {
'clean:tmp',
'clean:static',
'concurrent:dev',
'sync',
'concat:css',
'webpack:dev',
'sync'
]);
grunt.registerTask('devNoSync', [
'clean:tmp',
'clean:static',
'concurrent:devNoSync',
'concat:css'
]);
grunt.registerTask('release', [
'clean:tmp',
'clean:static',
'webpack:prod',
'concurrent:prod',
'webpack:prod',
'concat:css',
'cssmin:vendor',
'cssmin:source'
]);
};

View File

@ -608,7 +608,7 @@ button.ui-button::-moz-focus-inner {
height: 100%;
}
.ui-progressbar .ui-progressbar-overlay {
background: url("images/animated-overlay.gif");
background: url("/static/images/animated-overlay.gif");
height: 100%;
filter: alpha(opacity=25);
opacity: 0.25;
@ -806,7 +806,7 @@ body .ui-tooltip {
}
.ui-widget-content {
border: 1px solid #a6c9e2;
background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x;
background: #fcfdfd url(/static/images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x;
color: #36454F;
font-weight: normal;
}
@ -815,7 +815,7 @@ body .ui-tooltip {
}
.ui-widget-header {
border: 1px solid #a6c9e2;
background: #ffffff url(images/ui-bg_flat_50_ffffff_40x100.png) 50% 50% repeat-x;
background: #ffffff url(/static/images/ui-bg_flat_50_ffffff_40x100.png) 50% 50% repeat-x;
color: #36454F;
font-weight: bold;
}
@ -829,7 +829,7 @@ body .ui-tooltip {
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
border: 1px solid #a6c9e2;
background: #ffffff url(images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x;
background: #ffffff url(/static/images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x;
font-weight: bold;
color: #0088cc;
}
@ -846,7 +846,7 @@ body .ui-tooltip {
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
border: 1px solid #e3e3e3;
background: #e5e3e3 url(images/ui-bg_flat_75_e5e3e3_40x100.png) 50% 50% repeat-x;
background: #e5e3e3 url(/static/images/ui-bg_flat_75_e5e3e3_40x100.png) 50% 50% repeat-x;
font-weight: bold;
color: #005580;
}
@ -861,7 +861,7 @@ body .ui-tooltip {
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
border: 1px solid #e3e3e3;
background: #f5f5f5 url(images/ui-bg_inset-hard_100_f5f5f5_1x100.png) 50% 50% repeat-x;
background: #f5f5f5 url(/static/images/ui-bg_inset-hard_100_f5f5f5_1x100.png) 50% 50% repeat-x;
font-weight: bold;
color: #36454F;
}
@ -878,7 +878,7 @@ body .ui-tooltip {
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #fad42e;
background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x;
background: #fbec88 url(/static/images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x;
color: #363636;
}
.ui-state-highlight a,
@ -890,7 +890,7 @@ body .ui-tooltip {
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
border: 1px solid #cd0a0a;
background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
background: #fef1ec url(/static/images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
color: #cd0a0a;
}
.ui-state-error a,
@ -936,27 +936,27 @@ body .ui-tooltip {
}
.ui-icon,
.ui-widget-content .ui-icon {
background-image: url(images/ui-icons_469bdd_256x240.png);
background-image: url(/static/images/ui-icons_469bdd_256x240.png);
}
.ui-widget-header .ui-icon {
background-image: url(images/ui-icons_36454F_256x240.png);
background-image: url(/static/images/ui-icons_36454F_256x240.png);
}
.ui-state-default .ui-icon {
background-image: url(images/ui-icons_0088cc_256x240.png);
background-image: url(/static/images/ui-icons_0088cc_256x240.png);
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
background-image: url(images/ui-icons_217bc0_256x240.png);
background-image: url(/static/images/ui-icons_217bc0_256x240.png);
}
.ui-state-active .ui-icon {
background-image: url(images/ui-icons_36454F_256x240.png);
background-image: url(/static/images/ui-icons_36454F_256x240.png);
}
.ui-state-highlight .ui-icon {
background-image: url(images/ui-icons_2e83ff_256x240.png);
background-image: url(/static/images/ui-icons_2e83ff_256x240.png);
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
background-image: url(images/ui-icons_cd0a0a_256x240.png);
background-image: url(/static/images/ui-icons_cd0a0a_256x240.png);
}
/* positioning */
@ -1169,14 +1169,14 @@ body .ui-tooltip {
/* Overlays */
.ui-widget-overlay {
background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
background: #aaaaaa url(/static/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
opacity: .3;
filter: Alpha(Opacity=30);
}
.ui-widget-shadow {
margin: -8px 0 0 -8px;
padding: 8px;
background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
background: #aaaaaa url(/static/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
opacity: .3;
filter: Alpha(Opacity=30);
border-radius: 8px;

View File

@ -111,7 +111,7 @@ input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;pa
.ui-menu .ui-menu-icon{position:static;float:right;}
.ui-progressbar{height:2em;text-align:left;overflow:hidden;}
.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%;}
.ui-progressbar .ui-progressbar-overlay{background:url("images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25;}
.ui-progressbar .ui-progressbar-overlay{background:url("/static/images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25;}
.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none;}
.ui-slider{position:relative;text-align:left;}
.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;}
@ -148,19 +148,19 @@ body .ui-tooltip{border-width:2px;}
.ui-widget{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;}
.ui-widget .ui-widget{font-size:1em;}
.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{}
.ui-widget-content{border:1px solid #a6c9e2;background:#fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x;color:#36454F;font-weight:normal;}
.ui-widget-content{border:1px solid #a6c9e2;background:#fcfdfd url(/static/images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x;color:#36454F;font-weight:normal;}
.ui-widget-content a{color:#0088cc;}
.ui-widget-header{border:1px solid #a6c9e2;background:#ffffff url(images/ui-bg_flat_50_ffffff_40x100.png) 50% 50% repeat-x;color:#36454F;font-weight:bold;}
.ui-widget-header{border:1px solid #a6c9e2;background:#ffffff url(/static/images/ui-bg_flat_50_ffffff_40x100.png) 50% 50% repeat-x;color:#36454F;font-weight:bold;}
.ui-widget-header a{color:#36454F;}
.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #a6c9e2;background:#ffffff url(images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x;font-weight:bold;color:#0088cc;}
.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #a6c9e2;background:#ffffff url(/static/images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x;font-weight:bold;color:#0088cc;}
.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#0088cc;text-decoration:none;}
.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #e3e3e3;background:#e5e3e3 url(images/ui-bg_flat_75_e5e3e3_40x100.png) 50% 50% repeat-x;font-weight:bold;color:#005580;}
.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #e3e3e3;background:#e5e3e3 url(/static/images/ui-bg_flat_75_e5e3e3_40x100.png) 50% 50% repeat-x;font-weight:bold;color:#005580;}
.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#005580;text-decoration:none;}
.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #e3e3e3;background:#f5f5f5 url(images/ui-bg_inset-hard_100_f5f5f5_1x100.png) 50% 50% repeat-x;font-weight:bold;color:#36454F;}
.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #e3e3e3;background:#f5f5f5 url(/static/images/ui-bg_inset-hard_100_f5f5f5_1x100.png) 50% 50% repeat-x;font-weight:bold;color:#36454F;}
.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#36454F;text-decoration:none;}
.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fad42e;background:#fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x;color:#363636;}
.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fad42e;background:#fbec88 url(/static/images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x;color:#363636;}
.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636;}
.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a;}
.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(/static/images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a;}
.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a;}
.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a;}
.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:normal;}
@ -168,13 +168,13 @@ body .ui-tooltip{border-width:2px;}
.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:alpha(opacity=35);background-image:none;}
.ui-state-disabled .ui-icon{filter:alpha(opacity=35);}
.ui-icon{width:16px;height:16px;}
.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_469bdd_256x240.png);}
.ui-widget-header .ui-icon{background-image:url(images/ui-icons_36454F_256x240.png);}
.ui-state-default .ui-icon{background-image:url(images/ui-icons_0088cc_256x240.png);}
.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_217bc0_256x240.png);}
.ui-state-active .ui-icon{background-image:url(images/ui-icons_36454F_256x240.png);}
.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png);}
.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png);}
.ui-icon,.ui-widget-content .ui-icon{background-image:url(/static/images/ui-icons_469bdd_256x240.png);}
.ui-widget-header .ui-icon{background-image:url(/static/images/ui-icons_36454F_256x240.png);}
.ui-state-default .ui-icon{background-image:url(/static/images/ui-icons_0088cc_256x240.png);}
.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(/static/images/ui-icons_217bc0_256x240.png);}
.ui-state-active .ui-icon{background-image:url(/static/images/ui-icons_36454F_256x240.png);}
.ui-state-highlight .ui-icon{background-image:url(/static/images/ui-icons_2e83ff_256x240.png);}
.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(/static/images/ui-icons_cd0a0a_256x240.png);}
.ui-icon-blank{background-position:16px 16px;}
.ui-icon-carat-1-n{background-position:0 0;}
.ui-icon-carat-1-ne{background-position:-16px 0;}
@ -354,5 +354,5 @@ body .ui-tooltip{border-width:2px;}
.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:5px;}
.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:5px;}
.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:5px;}
.ui-widget-overlay{background:#aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:alpha(opacity=30);}
.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:alpha(opacity=30);border-radius:8px;}
.ui-widget-overlay{background:#aaaaaa url(/static/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:alpha(opacity=30);}
.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaaaaa url(/static/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:alpha(opacity=30);border-radius:8px;}

View File

@ -4,11 +4,11 @@
@font-face {
font-family: "fontcustom";
src: url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.eot");
src: url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.eot?#iefix") format("embedded-opentype"),
url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.woff") format("woff"),
url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.ttf") format("truetype"),
url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.svg#fontcustom") format("svg");
src: url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.eot");
src: url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.eot?#iefix") format("embedded-opentype"),
url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.woff") format("woff"),
url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.ttf") format("truetype"),
url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.svg#fontcustom") format("svg");
font-weight: normal;
font-style: normal;
}
@ -16,7 +16,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: "fontcustom";
src: url("./fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.svg#fontcustom") format("svg");
src: url("/static/fonts/fontcustom_3dfbafd778b214fc5df2a64fe14fbfb3.svg#fontcustom") format("svg");
}
}

View File

@ -9,8 +9,6 @@
#schedules-form-container -inventory group add/edit dialog
*/
@import './client/src/shared/branding/colors.less';
#schedules-tab {
position: relative;
top: 0;

View File

@ -21,31 +21,6 @@
src: url(/static/assets/OpenSans-Bold.ttf);
}
@import "./client/src/shared/branding/colors.less";
@import "fonts.less";
@import "main-layout.less";
@import "animations.less";
@import "jquery-ui-overrides.less";
@import "codemirror.less";
@import "angular-scheduler.less";
@import "log-viewer.less";
@import "event-viewer.less";
@import "job-details.less";
@import "jobs.less";
@import "inventory-edit.less";
@import "breadcrumbs.less";
@import "stdout.less";
@import "lists.less";
@import "forms.less";
@import "dashboard.less";
@import "jPushMenu.less";
@import "survey-maker.less";
@import "text-label.less";
@import "./bootstrap-datepicker.less";
@import "./client/src/shared/branding/colors.default.less";
@import "./client/assets/variables.less";
// Bootstrap default overrides
@import "./client/src/shared/bootstrap-settings.less";
/* Bootstrap fix that's causing a right margin to appear
whenver a modal is opened */
body.modal-open {

View File

@ -9,8 +9,6 @@
*
*/
@import "./client/src/shared/branding/colors.less";
.ansible-breadcrumb {
list-style: none;
overflow: hidden;

View File

@ -5,8 +5,6 @@
*
*/
@import "./client/src/shared/branding/colors.default.less";
.CodeMirror {
height: auto;
overflow-x: auto;

View File

@ -7,9 +7,6 @@
*
*/
@import "./client/src/shared/branding/colors.less";
.graph-wrapper {
width: 100%;
}

View File

@ -7,8 +7,6 @@
*
*/
@import "./client/src/shared/branding/colors.default.less";
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Chrome/Safari/Opera */

View File

@ -7,8 +7,6 @@
*
*/
@import "./client/src/shared/branding/colors.less";
.cbp-spmenu {
background: #E8E8E8;
position: fixed;

View File

@ -7,8 +7,6 @@
*
*/
@import "./client/src/shared/branding/colors.less";
@failed-hosts-color: @red;
@successful-hosts-color: @green;

View File

@ -7,9 +7,6 @@
*
*/
@import "./client/src/shared/branding/colors.less";
#jobs-page {
.jobs-list-container {

View File

@ -7,10 +7,6 @@
* look closer to Twitter Bootstrap
*
*/
@import "./client/src/shared/branding/colors.less";
@import "./client/src/shared/branding/colors.default.less";
table.ui-datepicker-calendar {
background-color: @well;
}

View File

@ -7,9 +7,6 @@
*
*/
@import "./client/src/shared/branding/colors.default.less";
table, tbody {
border-collapse: collapse;
}

View File

@ -7,9 +7,6 @@
*
*/
@import "./client/src/shared/branding/colors.less";
@import "./client/src/shared/branding/colors.default.less";
html { height: 100%; }
body {

View File

@ -5,9 +5,6 @@
*
*/
@import "./client/src/shared/branding/colors.default.less";
@import "./client/src/shared/branding/colors.less";
#jobs-stdout {
margin-bottom: 0px;

View File

@ -1,5 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.host-disabled-label {
&:after {
display: inline-block;

View File

@ -1,16 +1,179 @@
// App-wide styles
// Dependency Variables
@import '../../../node_modules/components-font-awesome/less/variables';
// App-specific Legacy Variables
@import '../../src/shared/branding/colors.default.less';
@import '../../src/shared/branding/colors';
/**
* Override Variables
*
* NOTE: Used in conditional build scenarios and will need to persist after any refactoring effort.
*/
@import '../../assets/variables';
/**
* Legacy Styles
*
* NOTE: Styles below are a mix of 3rd-party dependencies and in-house code. For the 3rd-party
* stuff, we'd be better off managing them via npm where possible.
*/
@import '../../legacy-styles/fonts';
@import '../../legacy-styles/main-layout';
@import '../../legacy-styles/animations';
@import '../../legacy-styles/jquery-ui-overrides';
@import '../../legacy-styles/codemirror';
@import '../../legacy-styles/angular-scheduler';
@import '../../legacy-styles/log-viewer';
@import '../../legacy-styles/event-viewer';
@import '../../legacy-styles/job-details';
@import '../../legacy-styles/jobs';
@import '../../legacy-styles/inventory-edit';
@import '../../legacy-styles/breadcrumbs';
@import '../../legacy-styles/stdout';
@import '../../legacy-styles/lists';
@import '../../legacy-styles/forms';
@import '../../legacy-styles/dashboard';
@import '../../legacy-styles/jPushMenu';
@import '../../legacy-styles/survey-maker';
@import '../../legacy-styles/text-label';
@import '../../legacy-styles/bootstrap-datepicker';
@import '../../legacy-styles/ansible-ui';
// Dependency Style Overrides
@import '../../src/shared/bootstrap-settings';
// Legacy Utilities
@import '../../src/shared/utilities/alerts';
@import '../../src/shared/utilities/hidden';
@import '../../src/shared/utilities/icons';
@import '../../src/shared/utilities/layer';
@import '../../src/shared/utilities/truncated-text';
@import '../../src/shared/utilities/unbold';
@import '../../src/shared/utilities/wordwrap';
// Legacy Layout
@import '../../src/shared/layouts/one-plus-one';
@import '../../src/shared/layouts/one-plus-two';
/**
* Legacy Features
*
* NOTE: "dot" namespacing interferes with Less' ability to infer the .less suffix, so it's
* explicitly added to the import statements below.
*/
@import '../../src/about/about.block.less';
@import '../../src/access/rbac-role-column/roleList.block.less';
@import '../../src/access/add-rbac.block.less';
@import '../../src/activity-stream/streamDetailModal/streamDetailModal.block.less';
@import '../../src/activity-stream/activitystream.block.less';
@import '../../src/bread-crumb/bread-crumb.block.less';
@import '../../src/configuration/configuration.block.less';
@import '../../src/credentials/ownerList.block.less';
@import '../../src/footer/footer.block.less';
@import '../../src/home/dashboard/counts/dashboard-counts.block.less';
@import '../../src/home/dashboard/graphs/dashboard-graphs.block.less';
@import '../../src/home/dashboard/lists/dashboard-list.block.less';
@import '../../src/home/dashboard/dashboard.block.less';
@import '../../src/instance-groups/capacity-bar/capacity-bar.block.less';
@import '../../src/instance-groups/instance-group.block.less';
@import '../../src/inventories-hosts/inventories/insights/insights.block.less';
@import '../../src/inventories-hosts/inventories/list/host-summary-popover/host-summary-popover.block.less';
@import '../../src/inventories-hosts/inventories/related/hosts/related-groups-labels/relatedGroupsLabelsList.block.less';
@import '../../src/inventories-hosts/inventories/smart-inventory/smart-inventory-host-filter/host-filter-modal/host-filter-modal.block.less';
@import '../../src/inventories-hosts/inventories/inventories.block.less';
@import '../../src/inventories-hosts/shared/associate-groups/associate-groups.block.less';
@import '../../src/inventories-hosts/shared/associate-hosts/associate-hosts.block.less';
@import '../../src/job-results/host-event/host-event.block.less';
@import '../../src/job-results/host-status-bar/host-status-bar.block.less';
@import '../../src/job-results/job-results-stdout/job-results-stdout.block.less';
@import '../../src/job-results/job-results.block.less';
@import '../../src/job-submission/job-submission.block.less';
@import '../../src/license/license.block.less';
@import '../../src/login/loginModal/thirdPartySignOn/thirdPartySignOn.block.less';
@import '../../src/login/loginModal/loginModal.block.less';
@import '../../src/login/loginModal/loginModalNotice.block.less';
@import '../../src/main-menu/main-menu.block.less';
@import '../../src/management-jobs/card/mgmtcards.block.less';
@import '../../src/notifications/notifications.block.less';
@import '../../src/organizations/linkout/addUsers/addUsers.block.less';
@import '../../src/organizations/orgcards.block.less';
@import '../../src/portal-mode/portal-mode.block.less';
@import '../../src/scheduler/repeatFrequencyOptions.block.less';
@import '../../src/scheduler/schedulerForm.block.less';
@import '../../src/scheduler/schedulerFormDetail.block.less';
@import '../../src/scheduler/schedulertime.block.less';
@import '../../src/scheduler/scheduleToggle.block.less';
@import '../../src/scheduler/spinnerInput.block.less';
@import '../../src/setup-menu/hover-icon.block.less';
@import '../../src/setup-menu/setup-extra.block.less';
@import '../../src/setup-menu/setup-item.block.less';
@import '../../src/setup-menu/setup-menu.block.less';
@import '../../src/shared/container/container.block.less';
@import '../../src/shared/detail-nav/detail-nav.block.less';
@import '../../src/shared/icon/icon.block.less';
@import '../../src/shared/instance-groups-multiselect/instance-groups.block.less';
@import '../../src/shared/lookup/lookup-modal.block.less';
@import '../../src/shared/modal/modal';
@import '../../src/shared/multi-select-preview/multi-select-preview.block.less';
@import '../../src/shared/paginate/paginate.block.less';
@import '../../src/shared/prompt/prompt';
@import '../../src/shared/smart-search/smart-search.block.less';
@import '../../src/shared/button.block.less';
@import '../../src/shared/download-standard-out.block.less';
@import '../../src/shared/media-object.block.less';
@import '../../src/shared/text-label';
@import '../../src/smart-status/smart-status.block.less';
@import '../../src/standard-out/standard-out.block.less';
@import '../../src/system-tracking/date-picker/date-picker.block.less';
@import '../../src/system-tracking/fact-data-table/fact-data-table.block.less';
@import '../../src/system-tracking/fact-module-filter.block.less';
@import '../../src/system-tracking/fact-module-pickers.block.less';
@import '../../src/system-tracking/system-tracking-container.block.less';
@import '../../src/templates/job_templates/multi-credential/multi-credential.block.less';
@import '../../src/templates/labels/labelsList.block.less';
@import '../../src/templates/survey-maker/survey-maker.block.less';
@import '../../src/templates/survey-maker/survey-maker.block.less';
@import '../../src/templates/survey-maker/shared/survey-controls.block.less';
@import '../../src/templates/survey-maker/survey-maker.block.less';
@import '../../src/templates/workflows/workflow-chart/workflow-chart.block.less';
@import '../../src/templates/workflows/workflow-controls/workflow-controls.block.less';
@import '../../src/templates/workflows/workflow-maker/workflow-maker.block.less';
@import '../../src/tooltip/tooltip.block.less';
@import '../../src/workflow-results/workflow-status-bar/workflow-status-bar.block.less';
@import '../../src/workflow-results/workflow-results.block.less';
/**
* App-wide style
*
* NOTE: Variables, mixins, and classes below are useful in more than one place across the
* application. When working with Less, if the need for a variable, mixin, class, etc exists in
* more than one location, take a moment to move it to this more general location for easy reuse
* and to avoid duplication.
*/
@import '_base-variables';
@import '_contextual-variables';
@import '_variables';
@import '_mixins';
@import '_utility';
@import '_global';
// Aggregated component and feature specific styles
/**
* Component and Feature style
*
* NOTE: These index files are aggregation points for components and features. To view the more
* granular imports, view the contents of these files. Variables, classes, etc defined within
* these specific files ought to have no use elsewhere. As we shift to leverage components, very
* few feature-specific styles will exist.
*/
@import '../components/_index';
@import '../../features/_index';
/*
* Temporary overrides used only during the transition away from old style
* structure to new style structure. Overrides unwanted/uneeded rules.
* Resets
*
* NOTE: In some cases, the legacy classes override dependency styles explicitly. In those cases,
* it's necessary to override the overrides. This particular file will only be relevant during
* the transition.
*/
@import '_temporary-overrides';
@import '_resets';

View File

@ -1,7 +1,4 @@
/** @define About */
@import "./client/src/shared/branding/colors.default.less";
@import "./client/assets/variables.less";
.About-ansibleVersion,
.About-cowsayCode {
font-family: Monaco, Menlo, Consolas, "Courier New", monospace;

View File

@ -1,5 +1,3 @@
@import "../shared/branding/colors.default.less";
/** @define AddPermissions */
.AddPermissions-backDrop {

View File

@ -1,5 +1,4 @@
/** @define RoleList */
@import "../../shared/branding/colors.default.less";
.RoleList {
display: flex;

View File

@ -1,5 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.StreamDetail-actionButton {
padding: 4px 25px!important;
}

View File

@ -1,5 +1,3 @@
@import "../shared/branding/colors.default.less";
/** @define BreadCrumb */
.BreadCrumb {

View File

@ -1,6 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
@import "../shared/branding/colors.less";
.Form-resetValue, .Form-resetAll {
text-transform: uppercase;
font-weight: normal;

View File

@ -1,6 +1,3 @@
/** @define OwnerList */
@import "./client/src/shared/branding/colors.default.less";
.OwnerList {
display: flex;
flex-wrap: wrap;

View File

@ -1,5 +1,4 @@
/** @define DashboardCounts */
@import "./client/src/shared/branding/colors.default.less";
.Footer {
height: 40px;

View File

@ -1,5 +1,3 @@
@import "../../../shared/branding/colors.default.less";
/** @define DashboardCounts */
.DashboardCounts {

View File

@ -1,5 +1,4 @@
/** @define Dashboard */
@import "../../shared/branding/colors.default.less";
.Dashboard {
display: flex;

View File

@ -1,7 +1,5 @@
/** @define DashboardGraphs */
@import "../../../shared/branding/colors.default.less";
.DashboardGraphs {
margin-top: 20px;
border: solid 1px @db-panel-border;

View File

@ -1,7 +1,5 @@
/** @define DashboardList */
@import "../../../shared/branding/colors.default.less";
.DashboardList {
flex: 1;
}

View File

@ -1,5 +1,3 @@
@import "../../shared/branding/colors.default.less";
capacity-bar {
width: 50%;
@ -25,4 +23,4 @@ capacity-bar {
.CapacityBar-consumed {
flex: 0 0 auto;
}
}
}

View File

@ -1,5 +1,3 @@
@import "../shared/branding/colors.default.less";
.InstanceGroups {
.BreadCrumb-menuLinkImage:hover {
@ -53,4 +51,4 @@
.List-tableRow .List-titleBadge {
margin: 0 0 0 5px;
}
}
}

View File

@ -1,5 +1,3 @@
@import "../../../shared/branding/colors.default.less";
.InsightsLastCheck{
display: flex;
justify-content: flex-end;

View File

@ -1,5 +1,3 @@
@import "../../../../../shared/branding/colors.default.less";
.HostFilterModal-tableRow:hover {
background-color: @default-bg;
}

View File

@ -1,5 +1,3 @@
@import "../../../shared/branding/colors.default.less";
.AssociateGroups-modalBody {
padding-top: 0px;
}

View File

@ -1,5 +1,3 @@
@import "../../../shared/branding/colors.default.less";
.AssociateHosts-modalBody {
padding-top: 0px;
}

View File

@ -43,7 +43,7 @@ export default ['Rest', 'Wait',
organization: $scope.organization,
script: $scope.script
})
.success(function(data) {
.success(function() {
$state.go('inventoryScripts', null, { reload: true });
Wait('stop');
})

View File

@ -1,7 +1,3 @@
@import "./client/src/shared/branding/colors.less";
@import "./client/src/shared/branding/colors.default.less";
@import "./client/src/shared/layouts/one-plus-two.less";
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Chrome/Safari/Opera */

View File

@ -1,5 +1,3 @@
@import '../../shared/branding/colors.default.less';
.HostStatusBar {
display: flex;
flex: 0 0 auto;

View File

@ -1,5 +1,3 @@
@import '../../shared/branding/colors.default.less';
@breakpoint-md: 1200px;
.JobResultsStdOut {

View File

@ -1,7 +1,3 @@
@import '../shared/branding/colors.less';
@import '../shared/branding/colors.default.less';
@import '../shared/layouts/one-plus-two.less';
@breakpoint-md: 1200px;
.JobResults {

View File

@ -1,6 +1,3 @@
@import '../shared/branding/colors.less';
@import '../shared/branding/colors.default.less';
.JobSubmission {
padding: 20px!important;
display: none;

View File

@ -3,9 +3,6 @@
* .ModuleName-component-subComponent
* Naming describes components of the view
*/
@import "./client/src/shared/branding/colors.default.less";
@import "./client/src/shared/layouts/one-plus-two.less";
.License-container{
.OnePlusTwo-container;
}

View File

@ -1,6 +1,3 @@
@import "../../shared/branding/colors.default.less";
@import "./client/assets/variables.less";
/** @define LoginModal */
.LoginModal-backDrop {
width: 100vw;

View File

@ -1,5 +1,3 @@
@import "../../shared/branding/colors.default.less";
/** @define LoginModalNotice */
.LoginModalNotice {
font-size: 12px;

View File

@ -1,5 +1,3 @@
@import "../../../shared/branding/colors.default.less";
/** @define ThirdPartySignOn */
.ThirdPartySignOn {

View File

@ -1,6 +1,3 @@
@import "../shared/branding/colors.default.less";
@import "./client/assets/variables.less";
/** @define MainMenu */
.MainMenu {

View File

@ -1,6 +1,3 @@
/** @define MgmtCards */
@import './client/src/shared/branding/colors.default.less';
.MgmtCards {
display: flex;
flex-flow: row wrap;

View File

@ -1,5 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.NotificationsForm-typeSelect{
flex: none;
}

View File

@ -1,5 +1,3 @@
@import "../../../shared/branding/colors.default.less";
/** @define AddUsers */
.AddUsers-backDrop {

View File

@ -1,5 +1,4 @@
/** @define OrgCards */
@import '../shared/branding/colors.default.less';
.OrgCards {
display: flex;

View File

@ -1,5 +1,3 @@
@import "./client/src/shared/layouts/one-plus-one.less";
.PortalMode-container{
display: flex;
flex-direction: row;

View File

@ -1,7 +1,5 @@
/** @define RepeatFrequencyOptions */
@import "./client/src/shared/branding/colors.default.less";
.RepeatFrequencyOptions {
width: ~"calc(100% + 21px)";
padding: 20px;

View File

@ -1,7 +1,5 @@
/** @define ScheduleToggle */
@import "./client/src/shared/branding/colors.default.less";
.ScheduleToggle {
border-radius: 5px;
border: 1px solid @default-link;

View File

@ -1,7 +1,5 @@
/** @define SchedulerForm */
@import "./client/src/shared/branding/colors.default.less";
.SchedulerForm-formGroup {
padding-right: 0px;
}

View File

@ -1,7 +1,5 @@
/** @define SchedulerFormDetail */
@import "./client/src/shared/branding/colors.default.less";
.SchedulerFormDetail-container {
padding: 15px;
border: 1px solid @default-border;

View File

@ -1,7 +1,5 @@
/** @define SchedulerTime */
@import "./client/src/shared/branding/colors.default.less";
.SchedulerTime {
display: flex;
flex-wrap: wrap;

View File

@ -1,7 +1,5 @@
/** @define SpinnerInput */
@import "./client/src/shared/branding/colors.default.less";
.SpinnerInput {
width: ~"calc(100% - 26px)";
}

View File

@ -1,7 +1,5 @@
/** @define HoverIcon */
@import '../shared/branding/colors.less';
.HoverIcon {
@media screen and (max-width: 571px) {
&--onlyLarge {

View File

@ -1,8 +1,5 @@
/** @define SetupItem */
@import '../shared/branding/colors.less';
@import '../shared/branding/colors.default.less';
.SetupItem {
background-color: @panel-bg;
border-radius: 5px;

View File

@ -1,6 +1,5 @@
/** @define SetupMenu */
@import "../shared/branding/colors.less";
@menu-breakpoint: 710px;
.SetupMenu {

View File

@ -1,4 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.btn-success{
background: @default-succ;
border-color: transparent;

View File

@ -1,5 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
@active-color: #EDF2F2; // #c6e5e5;
@black: #171717;
@blue: #1778c3; /* logo blue */

View File

@ -1,7 +1,5 @@
/** @define Button */
@import '../shared/branding/colors.less';
.Button {
&--pseudo {
// Make pseudo button

View File

@ -1,5 +1,4 @@
/** @define DownloadStandardOut */
@import "./client/src/shared/branding/colors.default.less";
.DownloadStandardOut {
color: @default-bg !important;

View File

@ -1,5 +1,3 @@
@import "../../shared/branding/colors.default.less";
#instance-groups-panel {
table {
overflow: hidden;

View File

@ -1,5 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.Modal-content {
display:flex;
flex-wrap:wrap;

View File

@ -1,5 +1,3 @@
@import '../branding/colors.default.less';
.MultiSelectPreview {
display: flex;
flex: 1 0 auto;

View File

@ -1,8 +1,5 @@
@import "./client/src/shared/branding/colors.default.less";
@import "./client/src/shared/branding/colors.less";
// @todo cleanup these messy overrides for styles in ansible-ui.min.css
.Paginate-controls--first a,
.Paginate-controls--previous a{
border-radius: 4px 0 0 4px;

View File

@ -1,5 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.Prompt-bodyQuery {
margin-bottom: 20px;
color: @default-interface-txt;

View File

@ -1,5 +1,3 @@
@import "./node_modules/components-font-awesome/less/variables.less";
/* not bem */
.icon(@icon-var) {

View File

@ -1,6 +1,4 @@
/** @define SmartStatus */
@import "./client/legacy-styles/animations.less";
@import "./client/src/shared/branding/colors.default.less";
.SmartStatus-container{
max-width: 165px;

View File

@ -1,6 +1,3 @@
@import "../shared/branding/colors.default.less";
@import "../shared/layouts/one-plus-one.less";
/** @define StandardOut */
@breakpoint-md: 1180px;

View File

@ -1,6 +1,3 @@
/** @define DatePicker */
@import "./client/src/shared/branding/colors.default.less";
.DatePicker {
flex: 1 0 auto;
display: flex;

View File

@ -1,5 +1,4 @@
/** @define FactDataTable */
@import "../../shared/branding/colors.default.less";
.FactDataTable {
&-row, &-headingRow, &-groupHeadingRow {

View File

@ -1,9 +1,5 @@
/** @define FactModuleFilter */
@import "./client/src/shared/branding/colors.less";
@import "./client/src/shared/branding/colors.default.less";
.FactModuleFilter {
width: 100%;
display: flex;

View File

@ -1,5 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.FactModulePickers-label {
padding-right: 0;
text-align: right;

View File

@ -1,4 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.SystemTrackingContainer {
display: flex;
flex-direction: column;

View File

@ -1,5 +1,3 @@
@import "../../../shared/branding/colors.default.less";
.MultiCredential-selectedBar {
display: flex;
padding: 5px 10px;

View File

@ -1,5 +1,4 @@
/** @define LabelList */
@import "./client/src/shared/branding/colors.default.less";
.LabelList {
display: flex;

View File

@ -1,5 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.link circle, .link .linkCross, .node .addCircle, .node .removeCircle, .node .WorkflowChart-hoverPath {
opacity: 0;
}

View File

@ -1,5 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.WorkflowControls {
display: flex;
}

View File

@ -1,6 +1,3 @@
@import "./client/src/shared/branding/colors.default.less";
.WorkflowMaker-dialog {
padding: 0px;
margin-bottom: 20px;
@ -9,6 +6,7 @@
display:none;
}
}
.WorkflowMaker-header {
display: flex;
height: 34px;

View File

@ -1,6 +1,5 @@
/** @define Tooltip */
@import "../shared/branding/colors.less";
.Tooltip-inner {
white-space: pre-wrap;
word-break: break-word;

View File

@ -1,7 +1,3 @@
@import '../shared/branding/colors.less';
@import '../shared/branding/colors.default.less';
@import '../shared/layouts/one-plus-two.less';
@breakpoint-md: 1200px;
@breakpoint-sm: 623px;

View File

@ -1,5 +1,3 @@
@import '../../shared/branding/colors.default.less';
.WorkflowStatusBar {
display: flex;
flex: 0 0 auto;

View File

@ -0,0 +1,17 @@
module.exports = {
css: {
src: [
'static/assets/custom-theme/jquery-ui-1.10.3.custom.min.css',
'static/assets/ansible-bootstrap.min.css',
'static/assets/fontcustom/fontcustom.css',
'static/lib/components-font-awesome/css/font-awesome.min.css',
'static/lib/select2/dist/css/select2.css',
'static/lib/codemirror/lib/codemirror.css',
'static/lib/codemirror/theme/elegant.css',
'static/lib/codemirror/addon/lint/lint.css',
'static/lib/nvd3/build/nv.d3.css',
'static/lib/ng-toast/dist/ngToast.min.css'
],
dest: 'static/css/app.vendor.css'
}
};

View File

@ -1,18 +1,61 @@
module.exports = {
dev: {
tasks: ['copy:vendor', 'copy:assets', 'copy:partials', 'copy:views', 'copy:languages', 'copy:config', 'less:dev'],
tasks: [
'copy:vendor',
'copy:assets',
'copy:icons',
'copy:fonts',
'copy:images',
'copy:partials',
'copy:views',
'copy:languages',
'copy:config',
'less:dev'
]
},
// This concurrent target is intended for development ui builds that do not require raising browser-sync or filesystem polling
devNoSync: {
tasks: ['copy:vendor', 'copy:assets', 'copy:partials', 'copy:views', 'copy:languages', 'copy:config', 'less:dev', 'webpack:dev'],
tasks: [
'copy:vendor',
'copy:assets',
'copy:icons',
'copy:fonts',
'copy:images',
'copy:partials',
'copy:views',
'copy:languages',
'copy:config',
'less:dev',
'webpack:dev'
]
},
prod: {
tasks: ['newer:copy:vendor', 'newer:copy:assets', 'newer:copy:partials', 'newer:copy:views', 'newer:copy:languages', 'newer:copy:config', 'newer:less:prod']
tasks: [
'newer:copy:vendor',
'newer:copy:assets',
'newer:copy:icons',
'newer:copy:fonts',
'newer:copy:images',
'newer:copy:partials',
'newer:copy:views',
'newer:copy:languages',
'newer:copy:config',
'newer:less:prod'
]
},
watch: {
tasks: ['watch:css', 'watch:partials', 'watch:views', 'watch:assets', ['webpack:dev', 'watch:config']],
tasks: [
'watch:css',
'watch:partials',
'watch:views',
'watch:assets',
[
'watch:config'
]
],
options: {
logConcurrentOutput: true
}
}
};

View File

@ -14,6 +14,36 @@ var staticFiles = ['angular-tz-extensions/tz/data/*',
];
module.exports = {
fonts: {
files: [{
cwd: 'client/',
expand: true,
flatten: true,
filter: 'isFile',
src: 'assets/fontcustom/**/*',
dest: 'static/fonts/'
}]
},
icons: {
files: [{
cwd: 'node_modules/',
expand: true,
flatten: true,
filter: 'isFile',
src: 'components-font-awesome/fonts/*',
dest: 'static/fonts/'
}]
},
images: {
files: [{
cwd: 'client/',
expand: true,
flatten: true,
filter: 'isFile',
src: 'assets/custom-theme/images.new/*',
dest: 'static/images/'
}]
},
assets: {
files: [{
cwd: 'client/',

View File

@ -0,0 +1,22 @@
module.exports = {
vendor: {
files: [
{
expand: true,
src: 'static/css/app.vendor.css',
dest: '.',
ext: '.vendor.css'
}
]
},
source: {
files: [
{
expand: true,
src: 'static/css/app.css',
dest: '.',
ext: '.css'
}
]
}
};

View File

@ -1,32 +1,27 @@
var AutoPrefixer = require('less-plugin-autoprefix');
var autoPrefixer = new AutoPrefixer({
browsers: [ 'last 2 versions' ]
});
module.exports = {
options: {
options : {
plugins : [ new (require('less-plugin-autoprefix'))({browsers : [ "last 2 versions" ]}) ]
}
},
dev: {
files: [{
dest: 'static/tower.min.css',
src: [
'client/legacy-styles/*.less',
'client/src/**/*.less',
'client/lib/theme/index.less'
]
}],
files: {
'static/css/app.css': 'client/lib/theme/index.less'
},
options: {
sourceMap: true
sourceMap: true,
plugins: [ autoPrefixer ]
}
},
prod: {
files: {
'static/tower.min.css': [
'client/legacy-styles/*.less',
'client/src/**/*.less',
'client/lib/theme/index.less'
]
'static/css/app.css': 'client/lib/theme/index.less'
},
options: {
compress: true,
sourceMap: false,
plugins: [ autoPrefixer ]
}
}
};

View File

@ -1141,6 +1141,20 @@
"resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz",
"dev": true
},
"clean-css": {
"version": "4.1.7",
"from": "clean-css@>=4.1.1 <4.2.0",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.7.tgz",
"dev": true,
"dependencies": {
"source-map": {
"version": "0.5.6",
"from": "source-map@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
"dev": true
}
}
},
"cli": {
"version": "1.0.1",
"from": "cli@>=1.0.0 <1.1.0",
@ -1575,6 +1589,12 @@
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz",
"dev": true
},
"duplexer": {
"version": "0.1.1",
"from": "duplexer@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"dev": true
},
"duplexify": {
"version": "3.5.0",
"from": "duplexify@>=3.1.2 <4.0.0",
@ -2524,6 +2544,12 @@
"resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",
"dev": true
},
"grunt-contrib-cssmin": {
"version": "2.2.0",
"from": "grunt-contrib-cssmin@latest",
"resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-2.2.0.tgz",
"dev": true
},
"grunt-contrib-jshint": {
"version": "1.1.0",
"from": "grunt-contrib-jshint@>=1.0.0 <2.0.0",
@ -2638,6 +2664,12 @@
}
}
},
"gzip-size": {
"version": "3.0.0",
"from": "gzip-size@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz",
"dev": true
},
"handlebars": {
"version": "4.0.10",
"from": "handlebars@>=4.0.0 <4.1.0",
@ -3950,6 +3982,12 @@
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"dev": true
},
"maxmin": {
"version": "2.1.0",
"from": "maxmin@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz",
"dev": true
},
"media-typer": {
"version": "0.3.0",
"from": "media-typer@0.3.0",
@ -4494,6 +4532,12 @@
"from": "preserve@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz"
},
"pretty-bytes": {
"version": "3.0.1",
"from": "pretty-bytes@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz",
"dev": true
},
"pretty-ms": {
"version": "2.1.0",
"from": "pretty-ms@>=2.1.0 <3.0.0",

View File

@ -53,6 +53,7 @@
"grunt-contrib-clean": "^1.0.0",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-cssmin": "^2.2.0",
"grunt-contrib-jshint": "^1.0.0",
"grunt-contrib-less": "^1.3.0",
"grunt-extract-sourcemap": "^0.1.18",

View File

@ -7,23 +7,14 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title ng-bind="tabTitle"></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="{{ STATIC_URL }}assets/custom-theme/jquery-ui-1.10.3.custom.min.css" />
<link rel="stylesheet" href="{{ STATIC_URL }}assets/ansible-bootstrap.min.css" />
<link rel="stylesheet" href="{{ STATIC_URL }}assets/fontcustom/fontcustom.css" type="text/css">
<link rel="stylesheet" href="{{ STATIC_URL }}lib/components-font-awesome/css/font-awesome.min.css" />
<link rel="stylesheet" href="{{ STATIC_URL }}lib/select2/dist/css/select2.css" />
<link rel="stylesheet" href="{{ STATIC_URL }}lib/codemirror/lib/codemirror.css" />
<link rel="stylesheet" href="{{ STATIC_URL }}lib/codemirror/theme/elegant.css" />
<link rel="stylesheet" href="{{ STATIC_URL }}lib/codemirror/addon/lint/lint.css" />
<link rel="stylesheet" href="{{ STATIC_URL }}lib/nvd3/build/nv.d3.css" type="text/css">
<link rel="stylesheet" href="{{ STATIC_URL }}lib/ng-toast/dist/ngToast.min.css" type="text/css">
<link rel="stylesheet" href="{{ STATIC_URL }}tower.min.css?v={{version}}" type="text/css">
<link rel="stylesheet" href="{{ STATIC_URL }}css/app.vendor.css?v={{version}}" type="text/css">
<link rel="stylesheet" href="{{ STATIC_URL }}css/app.css?v={{version}}" type="text/css">
<link rel="shortcut icon" href="{{ STATIC_URL }}assets/favicon.ico?v={{version}}" />
<script>
var $basePath = "{{ STATIC_URL }}";
</script>
<script src="{{ STATIC_URL }}tower.vendor.js?v={{version}}"></script>
<script src="{{ STATIC_URL }}tower.js?v={{version}}"></script>
<script src="{{ STATIC_URL }}app.vendor.js?v={{version}}"></script>
<script src="{{ STATIC_URL }}app.js?v={{version}}"></script>
</head>
<body data-user-agent="{{userAgent}}">

View File

@ -52,7 +52,7 @@ var baseConfig = function() {
},
output: {
path: './static/',
filename: 'tower.js'
filename: 'app.js'
},
plugins: [
// vendor shims:
@ -66,7 +66,7 @@ var baseConfig = function() {
'jsyaml': 'js-yaml',
'jsonlint': 'codemirror.jsonlint'
}),
new webpack.optimize.CommonsChunkPlugin('vendor', 'tower.vendor.js')
new webpack.optimize.CommonsChunkPlugin('vendor', 'app.vendor.js')
],
module: {
loaders: [