App now loaded via requirejs.

This commit is contained in:
Clinton Alexander 2016-07-08 11:36:29 +01:00
parent ef4273e0d0
commit dc0658f56e
5 changed files with 192 additions and 146 deletions

View File

@ -18,6 +18,7 @@
"angular-route": "^1.5.7",
"lodash": "^4.13.1",
"angular-fcsa-number": "^1.5.3",
"jquery.maskedinput": "^1.4.1"
"jquery.maskedinput": "^1.4.1",
"requirejs": "^2.2.0"
}
}

View File

@ -10,14 +10,7 @@
<title>IRS Demo Viewer</title>
<link rel="stylesheet" type="text/css" href="semantic/semantic.css">
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/lodash/lodash.js"></script>
<script src="semantic/semantic.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-fcsa-number/src/fcsaNumber.js"></script>
<script src="bower_components/jquery.maskedinput/dist/jquery.maskedinput.js"></script>
<script src="js/app.js"></script>
<script data-main="js/require-config" src="bower_components/requirejs/require.js"></script>
</head>
<body ng-controller="HomeController">
<div class="ui inverted menu">

View File

@ -0,0 +1,9 @@
"use strict"
function test() {
console.log("TESTING");
}
define([], () => {
return test;
})

View File

@ -174,7 +174,18 @@ let Deal = function(dealViewModel) {
};
};
let irsViewer = angular.module('irsViewer', ['ngRoute', 'fcsa-number'])
define([
'angular',
'angularRoute',
'jquery',
'fcsaNumber',
'semantic',
'maskedInput',
'lodash',
'js/Deal'
],
(angular, angularRoute, $, fcsaNumber, semantic, maskedInput, _, Deal) => {
let irsViewer = angular.module('irsViewer', ['ngRoute', 'fcsa-number'])
.config(($routeProvider, $locationProvider) => {
$routeProvider
.when('/', {
@ -193,9 +204,9 @@ let irsViewer = angular.module('irsViewer', ['ngRoute', 'fcsa-number'])
templateUrl: 'view/create-deal.html'
})
.otherwise({redirectTo: '/'});
})
});
let nodeService = irsViewer.factory('nodeService', ($http) => {
let nodeService = irsViewer.factory('nodeService', ($http) => {
return new (function() {
let date = new Date(2016, 0, 1, 0, 0, 0);
let curLoading = {};
@ -289,14 +300,14 @@ let nodeService = irsViewer.factory('nodeService', ($http) => {
})
}
});
});
});
function initSemanticUi() {
function initSemanticUi() {
$('.ui.accordion').accordion();
$('.ui.dropdown').dropdown();
}
}
irsViewer.controller('HomeController', function HomeController($http, $scope, nodeService) {
irsViewer.controller('HomeController', function HomeController($http, $scope, nodeService) {
let handleHttpFail = (resp) => {
console.log(resp.data)
$scope.httpError = resp.data
@ -310,18 +321,18 @@ irsViewer.controller('HomeController', function HomeController($http, $scope, no
nodeService.getDate().then((date) => $scope.date = date);
nodeService.getDeals().then((deals) => $scope.deals = deals);
});
});
irsViewer.controller('DealController', function DealController($http, $scope, $routeParams, nodeService) {
irsViewer.controller('DealController', function DealController($http, $scope, $routeParams, nodeService) {
initSemanticUi();
$scope.isLoading = nodeService.isLoading;
nodeService.getDeal($routeParams.dealId).then((deal) => $scope.deal = deal);
});
});
irsViewer.controller('CreateDealController', function CreateDealController($http, $scope, $location, nodeService) {
irsViewer.controller('CreateDealController', function CreateDealController($http, $scope, $location, nodeService) {
initSemanticUi();
$scope.isLoading = nodeService.isLoading;
@ -333,4 +344,6 @@ irsViewer.controller('CreateDealController', function CreateDealController($http
});
};
$('input.percent').mask("9.999999%", {placeholder: "", autoclear: false});
});
});

View File

@ -0,0 +1,30 @@
'use strict';
require.config({
paths: {
angular: 'bower_components/angular/angular',
angularRoute: 'bower_components/angular-route/angular-route',
fcsaNumber: 'bower_components/angular-fcsa-number/src/fcsaNumber',
jquery: 'bower_components/jquery/dist/jquery',
semantic: 'semantic/semantic',
lodash: 'bower_components/lodash/lodash',
maskedInput: 'bower_components/jquery.maskedinput/dist/jquery.maskedinput'
},
shim: {
'angular' : {'exports' : 'angular'},
'angularRoute': ['angular'],
'fcsaNumber': ['angular'],
'semantic': ['jquery'],
'maskedInput': ['jquery']
},
priority: [
"angular"
],
deps: [],
callback: null,
baseUrl: '',
});
require(['angular', 'js/app'], (angular, app) => {
var $html = angular.element(document.getElementsByTagName('html')[0])
});