blob: f1b63230b4d45e66f480f546bc7bd3ee694f6863 [file] [log] [blame]
Matteo Scandolo5461a7c2017-08-08 13:05:24 -07001
2/*
3 * Copyright 2017-present Open Networking Foundation
4
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8
9 * http://www.apache.org/licenses/LICENSE-2.0
10
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18
Matteo Scandolofc4b37b2017-02-02 12:18:47 -080019/// <reference path="../typings/index.d.ts" />
20import * as angular from 'angular';
21
22import 'angular-ui-router';
23import 'angular-resource';
24import 'angular-cookies';
25import routesConfig from './routes';
26import {xosDemoComponent} from './app/components/demo';
27import {xosDashboardExtensionComponent} from './app/components/dashboard-extension';
28
29
30
31angular.module('xos-sample-gui-extension', [
32 'ui.router',
Matteo Scandoloda6c4ed2017-07-13 11:50:59 -070033 'app'
Matteo Scandolofc4b37b2017-02-02 12:18:47 -080034 ])
35 .config(routesConfig)
36 .component('demo', xosDemoComponent)
37 .component('dashboardExtension', xosDashboardExtensionComponent)
38 .run(function(
39 $log: ng.ILogService,
40 $state: ng.ui.IStateService,
Matteo Scandoloa120cfd2017-02-06 16:03:36 -080041 XosNavigationService: any,
Matteo Scandolofc4b37b2017-02-02 12:18:47 -080042 XosComponentInjector: any,
43 XosKeyboardShortcut: any) {
44 $log.info('[xos-sample-gui-extension] App is running');
45
Matteo Scandoloa120cfd2017-02-06 16:03:36 -080046 XosNavigationService.add({
Matteo Scandolofc4b37b2017-02-02 12:18:47 -080047 label: 'Example Extension',
48 state: 'xos.xos-sample-gui-extension.example-route',
49 });
50
51 XosComponentInjector.injectComponent(
52 '#dashboard-component-container',
53 'dashboardExtension',
54 {},
55 '',
56 false
57 );
58
59 XosKeyboardShortcut.registerKeyBinding({
Max Chu438cdd72017-08-16 16:00:54 -070060 key: 'p',
Matteo Scandolofc4b37b2017-02-02 12:18:47 -080061 description: 'Alert popup',
62 cb: () => {
63 alert('This binding is provided by the "xos-sample-gui-extension"');
64 },
65 }, 'global');
66 });