blob: f1b63230b4d45e66f480f546bc7bd3ee694f6863 [file] [log] [blame]
/*
* Copyright 2017-present Open Networking Foundation
* 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.
*/
/// <reference path="../typings/index.d.ts" />
import * as angular from 'angular';
import 'angular-ui-router';
import 'angular-resource';
import 'angular-cookies';
import routesConfig from './routes';
import {xosDemoComponent} from './app/components/demo';
import {xosDashboardExtensionComponent} from './app/components/dashboard-extension';
angular.module('xos-sample-gui-extension', [
'ui.router',
'app'
])
.config(routesConfig)
.component('demo', xosDemoComponent)
.component('dashboardExtension', xosDashboardExtensionComponent)
.run(function(
$log: ng.ILogService,
$state: ng.ui.IStateService,
XosNavigationService: any,
XosComponentInjector: any,
XosKeyboardShortcut: any) {
$log.info('[xos-sample-gui-extension] App is running');
XosNavigationService.add({
label: 'Example Extension',
state: 'xos.xos-sample-gui-extension.example-route',
});
XosComponentInjector.injectComponent(
'#dashboard-component-container',
'dashboardExtension',
{},
'',
false
);
XosKeyboardShortcut.registerKeyBinding({
key: 'p',
description: 'Alert popup',
cb: () => {
alert('This binding is provided by the "xos-sample-gui-extension"');
},
}, 'global');
});