Fix static/dashboard url's.

Dashboard and Static url's can move around. Don't hard code things.

Change-Id: I9743403d92df8560c50d86549a6727bfe7107296
This commit is contained in:
Kevin Fox 2015-09-08 17:00:49 -07:00
parent 4671ddb4f9
commit a8815695e7
6 changed files with 51 additions and 36 deletions

View File

@ -39,7 +39,7 @@
<td>{$ dep.name $}</td>
<td ng-switch="dep.asset.installed">
<a ng-switch-default class="btn btn-default btn-sm disabled ajax-modal" href="/}">Checking</a>
<a ng-switch-when="false" class="btn btn-default btn-sm ajax-modal" href="/project/images/create/?name={$ dep.asset.name | encodeURIComponent $}&source_type=url&image_url={$ dep.asset.attributes.url | encodeURIComponent $}&disk_format={$ dep.asset.service.disk_format $}&architecture={$ dep.asset.service.architecture $}&minimum_disk={$ dep.asset.service.min_disk $}&minimum_ram={$ dep.asset.service.min_ram $}&description={$ dep.asset.description $}">Install</a>
<a ng-switch-when="false" class="btn btn-default btn-sm ajax-modal" href="{$ WEBROOT $}project/images/create/?name={$ dep.asset.name | encodeURIComponent $}&source_type=url&image_url={$ dep.asset.attributes.url | encodeURIComponent $}&disk_format={$ dep.asset.service.disk_format $}&architecture={$ dep.asset.service.architecture $}&minimum_disk={$ dep.asset.service.min_disk $}&minimum_ram={$ dep.asset.service.min_ram $}&description={$ dep.asset.description $}">Install</a>
<a ng-switch-when="true" class="btn ntn-default btn-sm disbled">Installed</a>
</td>
</tr>

View File

@ -3,14 +3,14 @@
<a ng-switch-default ng-class="extraclasses" class="btn btn-default disabled ajax-modal" href="/}">Checking</a>
<a ng-switch-when="error" ng-class="extraclasses" class="btn btn-default disabled ajax-modal" href="/">Error</a>
<a ng-switch-when="unsupported" ng-class="extraclasses" class="btn btn-default disabled ajax-modal" href="/">Unsupported</a>
<a ng-switch-when="true" ng-class="extraclasses" class="btn btn-success btn-default ajax-modal" href="/project/stacks/select_template?template_source=url&template_url={$ asset.attributes.url | encodeURIComponent $}">Launch</a>
<a ng-switch-when="true" ng-class="extraclasses" class="btn btn-success btn-default ajax-modal" href="{$ WEBROOT $}project/stacks/select_template?template_source=url&template_url={$ asset.attributes.url | encodeURIComponent $}">Launch</a>
</div>
<div ng-switch-when="glance" ng-switch="asset.attributes.indirect_url || '_undefined_'">
<a ng-switch-default ng-class="extraclasses" class="btn btn-primary btn-default" target="_blank" href="{$ asset.attributes.indirect_url $}">Install Instructions</a>
<div ng-switch-when="_undefined_" ng-switch="asset.installed">
<a ng-switch-default ng-class="extraclasses" class="btn btn-default disabled ajax-modal" href="/">Checking</a>
<a ng-switch-when="false" ng-class="extraclasses" class="btn btn-primary btn-default ajax-modal" href="/project/images/create/?name={$ asset.name | encodeURIComponent $}&source_type=url&image_url={$ asset.attributes.url | encodeURIComponent $}&disk_format={$ asset.service.disk_format $}&architecture={$ asset.service.architecture $}&minimum_disk={$ asset.service.min_disk $}&minimum_ram={$ asset.service.min_ram $}&description={$ asset.description $}">Install</a>
<a ng-switch-when="true" ng-class="extraclasses" class="btn btn-success btn-default ajax-modal" href="/project/instances/launch?source_type=image_id&source_id={$ asset.installed_id $}">Launch</a>
<a ng-switch-when="false" ng-class="extraclasses" class="btn btn-primary btn-default ajax-modal" href="{$ WEBROOT $}project/images/create/?name={$ asset.name | encodeURIComponent $}&source_type=url&image_url={$ asset.attributes.url | encodeURIComponent $}&disk_format={$ asset.service.disk_format $}&architecture={$ asset.service.architecture $}&minimum_disk={$ asset.service.min_disk $}&minimum_ram={$ asset.service.min_ram $}&description={$ asset.description $}">Install</a>
<a ng-switch-when="true" ng-class="extraclasses" class="btn btn-success btn-default ajax-modal" href="{$ WEBROOT $}project/instances/launch?source_type=image_id&source_id={$ asset.installed_id $}">Launch</a>
</a>
</div>
</div>
@ -18,8 +18,8 @@
<a ng-switch-when="false" ng-class="extraclasses" class="btn btn-default disabled ajax-modal" href="/">Unsupported</a>
<div ng-switch-when="true" ng-switch="asset.installed">
<a ng-switch-default ng-class="extraclasses" class="btn btn-default disabled ajax-modal" href="/">Checking</a>
<a ng-switch-when="false" ng-class="extraclasses" class="btn btn-primary btn-default ajax-modal" href="/murano/packages/upload?repo_name={$ asset.service.package_name | encodeURIComponent $}&import_type=by_name">Install</a>
<a ng-switch-when="true" ng-class="extraclasses" class="btn btn-success btn-default ajax-modal" href="/murano/catalog/quick-add/{$ asset.service.murano_id $}">Launch</a>
<a ng-switch-when="false" ng-class="extraclasses" class="btn btn-primary btn-default ajax-modal" href="{$ WEBROOT $}murano/packages/upload?repo_name={$ asset.service.package_name | encodeURIComponent $}&import_type=by_name">Install</a>
<a ng-switch-when="true" ng-class="extraclasses" class="btn btn-success btn-default ajax-modal" href="{$ WEBROOT $}murano/catalog/quick-add/{$ asset.service.murano_id $}">Launch</a>
</div>
</div>
<div ng-switch-when="bundle" ng-switch="asset.service.murano_package_name || '_undefined_'">
@ -27,7 +27,7 @@
<div ng-switch-default ng-switch="asset.has_murano">
<a ng-switch-when="false" ng-class="extraclasses" class="btn btn-default disabled ajax-modal" href="/">Unsupported</a>
<div ng-switch-when="true" ng-switch="asset.installed || '_undefined_'">
<a ng-switch-default ng-class="extraclasses" class="btn btn-primary btn-default ajax-modal" href="/murano/packages/import_bundle?name={$ asset.service.murano_package_name | encodeURIComponent $}&import_type=by_repo">Install</a>
<a ng-switch-default ng-class="extraclasses" class="btn btn-primary btn-default ajax-modal" href="{$ WEBROOT $}murano/packages/import_bundle?name={$ asset.service.murano_package_name | encodeURIComponent $}&import_type=by_repo">Install</a>
<a ng-switch-when="true" ng-class="extraclasses" class="btn btn-default disabled ajax-modal" href="/">Installed</a>
</div>
</div>

View File

@ -25,10 +25,12 @@
}).directive('appAction', function () {
return {
restrict: 'EA',
//FIXME static
templateUrl: '/static/dashboard/project/app_catalog/action.html'
templateUrl: STATIC_URL + 'dashboard/project/app_catalog/action.html'
};
}).controller('appCatalogTableCtrl', [
}).directive('appCatalogMagicSearch', [
'horizon.framework.widgets.basePath',
appCatalogMagicSearchBar
]).controller('appCatalogTableCtrl', [
'$scope',
'$http',
'$timeout',
@ -321,8 +323,9 @@
singleton: true
}];
}
function common_init($scope, $modal, toast, appCatalogModel) {
$scope.WEBROOT = WEBROOT;
$scope.STATIC_URL = STATIC_URL;
$scope.toggle_service_filter = appCatalogModel.toggle_service_filter;
$scope.service_filters = appCatalogModel.service_filters;
$scope.service_filters_selections = appCatalogModel.service_filters_selections;
@ -333,7 +336,7 @@
var retired = function(){
var newscope = $scope.$new();
var modal = $modal.open({
templateUrl: "/static/dashboard/project/app_catalog/retired_panel.html",
templateUrl: STATIC_URL + "dashboard/project/app_catalog/retired_panel.html",
scope: newscope
});
newscope.cancel = function() {
@ -367,6 +370,23 @@
appCatalogModel.update_selected_facets(selected_facets);
});
}
function appCatalogMagicSearchBar(basePath) {
var directive = {
compile: function (element, attrs) {
/**
* Need to set template here since MagicSearch template
* attribute is not interpolated. Can't hardcode the
* template location and need to use basePath.
*/
var templateUrl = basePath + 'magic-search/magic-search.html';
element.find('magic-search').attr('template', templateUrl);
element.addClass('hz-magic-search-bar');
},
restrict: 'E',
templateUrl: STATIC_URL + "dashboard/project/app_catalog/magic_search.html",
};
return directive;
}
function appCatalogTableCtrl($scope, $http, $timeout, $modal, toast, appCatalogModel) {
$scope.assets = []
@ -389,8 +409,7 @@
var newscope = $scope.$new();
newscope.asset = asset;
var modal = $modal.open({
//FIXME static from where?
templateUrl: "/static/dashboard/project/app_catalog/details_panel.html",
templateUrl: STATIC_URL + "dashboard/project/app_catalog/details_panel.html",
scope: newscope
});
newscope.cancel = function() {

View File

@ -3,8 +3,7 @@
<h3 class="modal-title">Details</h3>
</div>
<div class="modal-body">
<!--FIXME static -->
<ng-include src="'/static/dashboard/project/app_catalog/_details_panel.html'" onload="appaction=true"></ng-include>
<ng-include src="STATIC_URL + 'dashboard/project/app_catalog/_details_panel.html'" onload="appaction=true"></ng-include>
</div>
<div class="modal-footer">
<button class="btn btn-default" ng-click="cancel()">Close</button>

View File

@ -0,0 +1,12 @@
<div class="magic-search-bar">
<div class="input-group input-group-sm">
<span class="input-group-addon">
<span class="fa fa-search"></span>
</span>
<magic-search
template="/static/framework/widgets/magic-search/magic-search.html"
strings="asset_filter_strings"
facets="{$ asset_filter_facets $}">
</magic-search>
</div>
</div>

View File

@ -11,28 +11,14 @@
</label>
<span ng-switch="switcher.pannel" style="float:right">
<span ng-switch-when="app" style="float: right" class="toggleView btn-group">
<!--FIXME path?-->
<img class="btn btn-default" ng-class="{active: (switcher.active == 'grid')}" src="/static/dashboard/project/app_catalog/1439233859_grid.png" ng-click="changeActivePanel('grid')"/>
<img class="btn btn-default" ng-class="{active: (switcher.active == 'list')}" src="/static/dashboard/project/app_catalog/1439233889_list.png" ng-click="changeActivePanel('list')"/>
<img class="btn btn-default" ng-class="{active: (switcher.active == 'grid')}" ng-src="{$ STATIC_URL $}dashboard/project/app_catalog/1439233859_grid.png" ng-click="changeActivePanel('grid')"/>
<img class="btn btn-default" ng-class="{active: (switcher.active == 'list')}" ng-src="{$ STATIC_URL $}dashboard/project/app_catalog/1439233889_list.png" ng-click="changeActivePanel('list')"/>
</span>
</span>
</div>
<div ng-switch="switcher.active">
<div class="form-group has-feedback hz-magic-search-bar">
<div class="magic-search-bar">
<div class="input-group input-group-sm">
<span class="input-group-addon">
<span class="fa fa-search"></span>
</span>
<magic-search
template="/static/framework/widgets/magic-search/magic-search.html"
strings="asset_filter_strings"
facets="{$ asset_filter_facets $}">
</magic-search>
</div>
</div>
</div>
<app-catalog-magic-search></app-catalog-magic-search>
<div ng-switch-when="grid" style="
background-color:#f9f9f9;
overflow: auto;
@ -67,7 +53,7 @@
" src="{$ asset.icon.url $}">
</div>
<!--FIXME Share images locally to the plugin.-->
<span style="
max-height: 100%;
width: 23px;
@ -153,8 +139,7 @@
<tr ng-repeat-end class="detail-row">
<td class="detail" colspan="4">
<!--FIXME static-->
<ng-include src="'/static/dashboard/project/app_catalog/_details_panel.html'"></ng-include>
<ng-include src="STATIC_URL + 'dashboard/project/app_catalog/_details_panel.html'"></ng-include>
</td>
</tr>