(function () { function FrontPageController(devices) { var ctrl = this; ctrl.devices = devices.data.devices; } function DeviceController(device) { var ctrl = this; ctrl.device = device.data.device; } function PropertyController($route, device, values) { var ctrl = this; ctrl.device = device.data.device; ctrl.property = _.find(ctrl.device.properties, {id: $route.current.params.propertyId}); ctrl.values = values.data.values; } function config($routeProvider, $locationProvider) { $routeProvider .when('/', { controller: FrontPageController, controllerAs: 'ctrl', templateUrl: '/app/templates/front-page.html', resolve: { devices: DillerRpcResolve.getDevices } }) .when('/device/:deviceId', { controller: DeviceController, controllerAs: 'ctrl', templateUrl: '/app/templates/device.html', resolve: { device: DillerRpcResolve.getDevice } }) .when('/device/:deviceId/property/:propertyId', { controller: PropertyController, controllerAs: 'ctrl', templateUrl: '/app/templates/property.html', resolve: { device: DillerRpcResolve.getDevice, values: DillerRpcResolve.getValues } }) .otherwise({ redirectTo: '/' }); //$locationProvider.html5Mode(true); } angular .module('Diller', ['ngRoute']) .config(config) .service('DillerRpc', DillerRpc); })();