diff --git a/lib/roles/app.js b/lib/roles/app.js index ee8c1c1b..6ad52ed6 100644 --- a/lib/roles/app.js +++ b/lib/roles/app.js @@ -54,19 +54,27 @@ module.exports = function(options) { resolve: { modulesDirectories: [pathutil.resource('lib'), 'web_modules', './../../node_modules'], alias: { - angular: 'angular/angular' + 'socket.io': 'socket.io-client/dist/socket.io' } }, module: { loaders: [ { test: /\.css$/, loader: 'style!css' }, - { test: /\.coffee$/, loader: 'coffee' }, - { test: /angular\/angular/, loader: 'exports?angular'} + { test: /angular\.js/, loader: 'exports?angular'}, + { test: /angular-route\.js/, loader: 'imports?angular=angular'} ], noParse: [ pathutil.resource('lib') ] - } + }, + plugins: [ + new webpack.ResolverPlugin( + new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('bower.json', ['main']) + ), + new webpack.ResolverPlugin( + new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('.bower.json', ['main']) + ) + ] }), { noInfo: false, quiet: false, diff --git a/res/app/components/device-control/index.js b/res/app/components/device-control/index.js new file mode 100644 index 00000000..e69de29b diff --git a/res/app/components/device-list/DeviceListCtrl.js b/res/app/components/device-list/DeviceListCtrl.js new file mode 100644 index 00000000..0213a437 --- /dev/null +++ b/res/app/components/device-list/DeviceListCtrl.js @@ -0,0 +1,20 @@ +module.exports = function DeviceListCtrl($scope, deviceService, groupService) { + + $scope.devices = deviceService.devices + + $scope.invite = function (device) { + groupService.invite({ + serial: { + value: device.serial, match: 'exact' + } + }) + } + + $scope.kick = function (device) { + groupService.kick({ + serial: { + value: device.serial, match: 'exact' + } + }) + } +} diff --git a/res/app/components/device-list/device-list.jade b/res/app/components/device-list/device-list.jade new file mode 100644 index 00000000..5931787f --- /dev/null +++ b/res/app/components/device-list/device-list.jade @@ -0,0 +1,8 @@ +h1 Devices + ul + li(ng-repeat='device in devices track by device.serial') + span {{ device.serial }} {{ device.present ? 'present' : 'absent' }} {{ device.owner.email }} + a(href='#!/devices/{{ device.serial }}') Linky + button(ng-click="invite(device)") invite + button(ng-click="kick(device)") kick + \ No newline at end of file diff --git a/res/app/components/device-list/index.js b/res/app/components/device-list/index.js new file mode 100644 index 00000000..4d0f6706 --- /dev/null +++ b/res/app/components/device-list/index.js @@ -0,0 +1,6 @@ +var angular = require('angular'); + +module.exports = angular.module('device-list', []) + .constant('template', require('./device-list.jade')) + .directive('demoComponent', require('./DemoDirective')) + .controller('DeviceListCtrl', require('./DeviceListCtrl')); diff --git a/res/app/components/device-screen/index.js b/res/app/components/device-screen/index.js new file mode 100644 index 00000000..7ec795a2 --- /dev/null +++ b/res/app/components/device-screen/index.js @@ -0,0 +1,3 @@ +/** + * Created by A12907 on 2/14/14. + */ diff --git a/res/app/scripts/app.js b/res/app/scripts/app.js index 87e46f7f..f64d2b67 100644 --- a/res/app/scripts/app.js +++ b/res/app/scripts/app.js @@ -1,13 +1,15 @@ -define([ - 'angular' - , './controllers/_index' - , './services/_index' - ] -, function(ng) { - return ng.module('app', [ - 'ngRoute' - , 'app.controllers' - , 'app.services' - ]) - } -) +require('angular') + +var routes = require('./routes') +var controllers = require('./controllers') +var services = require('./services') + +var app = angular.module('app', [ + 'ngRoute', + 'app.controllers', + 'app.services' +]) + .config(routes) + + +module.exports = app diff --git a/res/app/scripts/controllers/_index.js b/res/app/scripts/controllers/_index.js deleted file mode 100644 index f541f004..00000000 --- a/res/app/scripts/controllers/_index.js +++ /dev/null @@ -1,8 +0,0 @@ -define([ - './DeviceListCtrl' - , './DeviceControlCtrl' - , './DeviceScreenCtrl' - ] -, function() { - } -) diff --git a/res/app/scripts/controllers/index.js b/res/app/scripts/controllers/index.js new file mode 100644 index 00000000..06fd7c6b --- /dev/null +++ b/res/app/scripts/controllers/index.js @@ -0,0 +1,3 @@ +require('./DeviceListCtrl') +require('./DeviceControlCtrl') +require('./DeviceScreenCtrl') \ No newline at end of file diff --git a/res/app/scripts/entry.js b/res/app/scripts/entry.js index d3c13518..8634b7ba 100644 --- a/res/app/scripts/entry.js +++ b/res/app/scripts/entry.js @@ -1,5 +1,4 @@ -var angular2 = require('angular') - -console.log('An entry') -console.dir(angular2) -console.dir(window.angular) +require('angular') +require('angular-route') +require('./app') +require('./routes') diff --git a/res/app/scripts/routes.js b/res/app/scripts/routes.js index 6b084fdb..fe39db4d 100644 --- a/res/app/scripts/routes.js +++ b/res/app/scripts/routes.js @@ -1,21 +1,21 @@ -define(['./app'], function(app) { - return app.config([ - '$routeProvider' - , '$locationProvider' - , function($routeProvider, $locationProvider) { - $locationProvider.hashPrefix('!') - $routeProvider - .when('/devices', { - templateUrl: 'partials/devices/index' - , controller: 'DeviceListCtrl' - }) - .when('/devices/:serial', { - templateUrl: 'partials/devices/control' - , controller: 'DeviceControlCtrl' - }) - .otherwise({ - redirectTo: '/devices' - }) - } - ]) -}) +require('angular') +require('angular-route') + +var app = require('./app') + +app.config([ + '$routeProvider', '$locationProvider' + , function ($routeProvider, $locationProvider) { + $locationProvider.hashPrefix('!') + $routeProvider + .when('/devices', { + templateUrl: 'partials/devices/index', controller: 'DeviceListCtrl' + }) + .when('/devices/:serial', { + templateUrl: 'partials/devices/control', controller: 'DeviceControlCtrl' + }) + .otherwise({ + redirectTo: '/devices' + }) + } +]); diff --git a/res/app/scripts/services/_index.js b/res/app/scripts/services/index.js similarity index 100% rename from res/app/scripts/services/_index.js rename to res/app/scripts/services/index.js