Create a Angular Modules for Admin Dashboard

This enables admin angular plugins to be developed. It will be needed
for 3rd party integrators to create out of tree angular panel plugins.
It also is needed for in tree plugins like admin images, system
information, defaults, and flavors panel. Without this patch, all of
these panels require a common parent dependency.

Change-Id: I5a8232a1f1f3075f65ee742df84223aed7af3d92
Partially-Implements: blueprint ng-defaults-panel
Partially implements: blueprint angularize-images-table
Partially implements: blueprint plugin-sanity
This commit is contained in:
Rajat Vig 2015-09-01 10:22:01 -07:00
parent 0f40f7c9c6
commit a894ce9350
4 changed files with 94 additions and 1 deletions

View File

@ -0,0 +1,45 @@
/**
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
(function() {
'use strict';
/**
* @ngdoc horizon.dashboard.admin
* @ngModule
*
* @description
* Dashboard module to host various admin panels.
*/
angular
.module('horizon.dashboard.admin', [
])
.config(config);
config.$inject = [
'$provide',
'$windowProvider'
];
/**
* @name horizon.dashboard.admin.basePath
* @description Base path for the admin dashboard
*/
function config($provide, $windowProvider) {
var path = $windowProvider.$get().STATIC_URL + 'dashboard/admin/';
$provide.constant('horizon.dashboard.admin.basePath', path);
}
})();

View File

@ -0,0 +1,38 @@
/**
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
(function() {
'use strict';
describe('horizon.dashboard.admin', function() {
var staticUrl, basePath;
beforeEach(module('horizon.dashboard.admin'));
beforeEach(inject(function($injector) {
staticUrl = $injector.get('$window').STATIC_URL;
basePath = $injector.get('horizon.dashboard.admin.basePath');
}));
it('should exist', function() {
expect(angular.module('horizon.dashboard.admin')).toBeDefined();
});
it('should set path properly', function () {
expect(basePath).toEqual(staticUrl + 'dashboard/admin/');
});
});
})();

View File

@ -0,0 +1,3 @@
// Custom Theme Variables
@import "/custom/variables";
@import "/dashboard/scss/variables";

View File

@ -20,5 +20,12 @@ ADD_INSTALLED_APPS = [
'openstack_dashboard.dashboards.admin',
]
ADD_JS_FILES = [
ADD_ANGULAR_MODULES = [
'horizon.dashboard.admin',
]
AUTO_DISCOVER_STATIC_FILES = True
ADD_SCSS_FILES = [
'dashboard/admin/admin.scss'
]