Commit bbba33088188129d4d637d565c3c738752f6383a
1 parent
4fc1728b4a
Exists in
master
and in
1 other branch
Added addclass stuff with autocomplete prototype
Showing 7 changed files with 87 additions and 29 deletions Inline Diff
config.js
View file @
bbba330
angular.module('flashy', [ | 1 | 1 | angular.module('flashy', [ | |
'flashy.LogoutController', | 2 | 2 | 'flashy.LogoutController', | |
'flashy.LoginController', | 3 | 3 | 'flashy.LoginController', | |
'flashy.HomeController', | 4 | 4 | 'flashy.HomeController', | |
'flashy.FeedController', | 5 | 5 | 'flashy.FeedController', | |
'flashy.DeckController', | 6 | 6 | 'flashy.DeckController', | |
'flashy.RequestResetController', | 7 | 7 | 'flashy.ClassAddController', | |
8 | 'flashy.RequestResetController', | |||
'ngCookies']). | 8 | 9 | 'ngCookies']). | |
config(['$stateProvider', '$urlRouterProvider', '$httpProvider', | 9 | 10 | config(['$stateProvider', '$urlRouterProvider', '$httpProvider', | |
'$locationProvider', | 10 | 11 | '$locationProvider', | |
function($stateProvider, $urlRouterProvider, $httpProvider, $locationProvider) { | 11 | 12 | function ($stateProvider, $urlRouterProvider, $httpProvider, $locationProvider) { | |
'use strict'; | 12 | 13 | 'use strict'; | |
$httpProvider.defaults.withCredentials = true; | 13 | 14 | $httpProvider.defaults.withCredentials = true; | |
$httpProvider.defaults.xsrfCookieName = 'csrftoken'; | 14 | 15 | $httpProvider.defaults.xsrfCookieName = 'csrftoken'; | |
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken'; | 15 | 16 | $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken'; | |
$locationProvider.html5Mode(true); | 16 | 17 | $locationProvider.html5Mode(true); | |
$urlRouterProvider.otherwise('/home'); | 17 | 18 | $urlRouterProvider.otherwise('/home'); | |
$stateProvider. | 18 | 19 | $stateProvider. | |
state('home', { | 19 | 20 | state('home', { | |
url: '/home', | 20 | 21 | url: '/home', | |
templateUrl: 'home.html', | 21 | 22 | templateUrl: 'home.html', | |
controller: 'HomeController' | 22 | 23 | controller: 'HomeController' | |
}). | 23 | 24 | }). | |
state('login', { | 24 | 25 | state('login', { | |
url: '/login', | 25 | 26 | url: '/login', | |
templateUrl: 'templates/login.html', | 26 | 27 | templateUrl: 'templates/login.html', | |
controller: 'LoginController' | 27 | 28 | controller: 'LoginController' | |
}). | 28 | 29 | }). | |
state('logout', { | 29 | 30 | state('logout', { | |
url: '/logout', | 30 | 31 | url: '/logout', | |
templateUrl: 'templates/logout.html', | 31 | 32 | templateUrl: 'templates/logout.html', | |
controller: 'LogoutController' | 32 | 33 | controller: 'LogoutController' | |
}). | 33 | 34 | }). | |
state('dashboard', { | 34 | 35 | state('dashboard', { | |
url: '/dashboard', | 35 | 36 | url: '/dashboard', | |
templateUrl: 'templates/dashboard.html', | 36 | 37 | templateUrl: 'templates/dashboard.html', | |
controller: 'DashboardController' | 37 | 38 | controller: 'DashboardController' | |
}). | 38 | 39 | }). | |
state('feed', { | 39 | 40 | state('feed', { | |
url: '/feed', | 40 | 41 | url: '/feed', | |
templateUrl: 'templates/feed.html', | 41 | 42 | templateUrl: 'templates/feed.html', | |
controller: 'FeedController' | 42 | 43 | controller: 'FeedController' | |
}). | 43 | 44 | }). | |
45 | state('addclass', { | |||
46 | url: '/classes/add', | |||
47 | templateUrl: 'templates/addclass.html', | |||
48 | controller: 'ClassAddController' | |||
49 | }). | |||
state('deck', { | 44 | 50 | state('deck', { | |
url: '/deck', | 45 | 51 | url: '/deck', | |
templateUrl: 'templates/deck.html', | 46 | 52 | templateUrl: 'templates/deck.html', | |
controller: 'DeckController' | 47 | 53 | controller: 'DeckController' | |
}). | 48 | 54 | }). | |
state('requestpasswordreset', { | 49 | 55 | state('requestpasswordreset', { | |
url: '/requestpasswordreset', | 50 | 56 | url: '/requestpasswordreset', | |
templateUrl: 'templates/requestpasswordreset.html', | 51 | 57 | templateUrl: 'templates/requestpasswordreset.html', | |
controller: 'RequestResetController' | 52 | 58 | controller: 'RequestResetController' | |
}); | 53 | 59 | }); | |
54 | 60 | |||
}]); | 55 | 61 | }]); | |
56 | 62 | |||
flashy.css
View file @
bbba330
#loginform input { | 1 | 1 | #loginform input { | |
2 | 2 | |||
} | 3 | 3 | } | |
4 | 4 | |||
5 | 5 | |||
#sidebar { | 6 | 6 | #sidebar { | |
position:absolute; | 7 | 7 | position:absolute; | |
top:100px; | 8 | 8 | top:100px; | |
left:0px; | 9 | 9 | left:0px; | |
} | 10 | 10 | } | |
11 | 11 | |||
.diclaimer { | 12 | 12 | .diclaimer { | |
color:#00AFD8; | 13 | 13 | color:#00AFD8; | |
} | 14 | 14 | } | |
15 | 15 | |||
.form-section { | 16 | 16 | .form-section { | |
width: 330px; | 17 | 17 | width: 330px; | |
top: 50%; | 18 | 18 | top: 50%; | |
position: relative; | 19 | 19 | position: relative; | |
} | 20 | 20 | } | |
21 | 21 | |||
.form-inputs { | 22 | 22 | .form-inputs { | |
margin-top: 0px; | 23 | 23 | margin-top: 0px; | |
border: 0px none; | 24 | 24 | border: 0px none; | |
font: 16px/1.4 "Helvetica Neue","HelveticaNeue",Helvetica,Arial; | 25 | 25 | font: 16px/1.4 "Helvetica Neue","HelveticaNeue",Helvetica,Arial; | |
padding: 5px 10px 11px 13px; | 26 | 26 | padding: 5px 10px 11px 13px; | |
width: 100%; | 27 | 27 | width: 100%; | |
box-sizing: border-box; | 28 | 28 | box-sizing: border-box; | |
} | 29 | 29 | } | |
30 | 30 | |||
.form-buttons { | 31 | 31 | .form-buttons { | |
margin-top: 10px; | 32 | 32 | margin-top: 10px; | |
width: 100%; | 33 | 33 | width: 100%; | |
font-size: 16px; | 34 | 34 | font-size: 16px; | |
} | 35 | 35 | } | |
36 | 36 | |||
.form-buttons .last-button { | 37 | 37 | .form-buttons .last-button { | |
float: right; | 38 | 38 | float: right; | |
} | 39 | 39 | } | |
40 | 40 | |||
.container { | 41 | 41 | .container { | |
position: relative; | 42 | 42 | position: relative; | |
width: 400px; | 43 | 43 | width: 600px; | |
height: 80px; | 44 | 44 | height: 80px; | |
45 | } | |||
46 | ||||
47 | .angucomplete-dropdown { | |||
48 | border-color: #ececec; | |||
49 | border-width: 1px; | |||
50 | border-style: solid; | |||
51 | border-radius: 2px; | |||
52 | /*width: 250px;*/ | |||
53 | padding: 6px; | |||
54 | cursor: pointer; | |||
55 | z-index: 9999; | |||
56 | position: absolute; | |||
57 | /*top: 32px; | |||
58 | left: 0px; | |||
59 | */ | |||
60 | margin-top: -6px; | |||
61 | background-color: #ffffff; | |||
62 | } | |||
63 | ||||
64 | .angucomplete-description { | |||
65 | font-size: 14px; |
gjslint.conf
View file @
bbba330
--strict | 1 | |||
--summary | 2 | 1 | --summary |
home.html
View file @
bbba330
<!DOCTYPE html> | 1 | 1 | <!DOCTYPE html> | |
<html ng-app="flashy"> | 2 | 2 | <html ng-app="flashy"> | |
<base href="/app/"> | 3 | 3 | <base href="/app/"> | |
<head> | 4 | 4 | <head> | |
<link rel="stylesheet" href="styles/bootstrap-3.3.4-dist/css/bootstrap.css"/> | 5 | 5 | <link rel="stylesheet" href="styles/bootstrap-3.3.4-dist/css/bootstrap.css"/> | |
<link rel="stylesheet" href="flashy.css"/> | 6 | 6 | <link rel="stylesheet" href="flashy.css"/> | |
</head> | 7 | 7 | </head> | |
8 | 8 | |||
<body ng-controller="HomeController"> | 9 | 9 | <body ng-controller="HomeController"> | |
10 | 10 | |||
<!-- MENU BAR --> | 11 | 11 | <!-- MENU BAR --> | |
<nav class="navbar navbar-default"> | 12 | 12 | <nav class="navbar navbar-default"> | |
<div class="container-fluid"> | 13 | 13 | <div class="container-fluid"> | |
<a class="navbar-brand" ui-sref="dashboard">Flashy</a> | 14 | 14 | <a class="navbar-brand" ui-sref="dashboard">Flashy</a> | |
<a class="navbar-brand navbar-right" ui-sref="logout">Logout</a> | 15 | 15 | <a class="navbar-brand navbar-right" ui-sref="logout">Logout</a> | |
</div> | 16 | 16 | </div> | |
</nav> | 17 | 17 | </nav> | |
<div class="container" ui-view></div> | 18 | 18 | <div class="container" ui-view></div> | |
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js"></script> | 19 | 19 | <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js"></script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.14/angular-ui-router.js"></script> | 20 | 20 | <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.14/angular-ui-router.js"></script> | |
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-cookies.js"></script> | 21 | 21 | <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-cookies.js"></script> | |
22 | <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> | |||
23 | <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script> | |||
22 | 24 | |||
<script src="config.js"></script> | 23 | 25 | <script src="config.js"></script> | |
24 | 26 | |||
<script src="scripts/FeedController.js"></script> | 25 | 27 | <script src="scripts/FeedController.js"></script> | |
<script src="scripts/HomeController.js"></script> | 26 | 28 | <script src="scripts/HomeController.js"></script> | |
<script src="scripts/LoginController.js"></script> | 27 | 29 | <script src="scripts/LoginController.js"></script> | |
<script src="scripts/LogoutController.js"></script> | 28 | 30 | <script src="scripts/LogoutController.js"></script> | |
<script src="scripts/DeckController.js"></script> | 29 | 31 | <script src="scripts/DeckController.js"></script> | |
<script src="scripts/RequestResetController.js"></script> | 30 | 32 | <script src="scripts/RequestResetController.js"></script> | |
31 | 33 | <script src="scripts/ClassAddController.js"></script> | ||
32 | 34 | <script src="http://ghiden.github.io/angucomplete-alt/js/libs/angucomplete-alt.js"></script> | ||
33 |
scripts/ClassAddController.js
View file @
bbba330
File was created | 1 | angular.module('flashy.ClassAddController', ['ui.router', 'angucomplete-alt']). | ||
2 | ||||
3 | controller('ClassAddController', ['$scope', '$state', function ($scope, $state) { | |||
4 | ||||
5 | $scope.remoteUrlRequestFn = function (str) { | |||
6 | return {q: str}; |
scripts/FeedController.js
View file @
bbba330
angular.module('flashy.FeedController', ['ui.router']). | 1 | 1 | angular.module('flashy.FeedController', ['ui.router']). | |
2 | 2 | |||
controller('FeedController', ['$scope', '$state', function($scope, $state) { | 3 | 3 | controller('FeedController', ['$scope', '$state', function ($scope, $state) { | |
console.log('Hello from feed'); | 4 | 4 | console.log('Hello from feed'); | |
5 | 5 | |||
6 | $scope.createCard = function () { | |||
6 | 7 | |||
$scope.createCard = function () { | 7 | 8 | $(document).ready(function () { | |
9 | $("#createCardModal").modal('show'); | |||
10 | }); | |||
11 | } | |||
8 | 12 | |||
$(document).ready(function () { | 9 | 13 | $scope.viewDeck = function () { | |
$("#createCardModal").modal('show'); | 10 | 14 | $state.go('deck'); | |
}); | 11 | 15 | console.log("go to deck"); | |
} | 12 | 16 | } | |
13 | 17 | |||
14 | 18 | }]); | ||
15 | ||||
$scope.viewDeck = function () { | 16 | |||
$state.go('deck'); | 17 | |||
console.log("go to deck"); | 18 | |||
} | 19 | |||
20 | ||||
}]); | 21 |
templates/addclass.html
View file @
bbba330
File was created | 1 | <div angucomplete-alt id="classes" | ||
2 | placeholder="Search classes" | |||
3 | pause="100" | |||
4 | selected-object="selectedClass" | |||
5 | remote-url="/api/sections/search/" | |||
6 | remote-url-request-formatter="remoteUrlRequestFn" , | |||
7 | remote-url-data-field="" , | |||
8 | title-field="short_name" , | |||
9 | description-field="long_name", | |||
10 | minlength="2", | |||
11 | pause="0", | |||
12 | input-class="form-control"/> | |||
13 | <div class="result"> | |||
14 | <div class="" ng-show="selectedCountry6"> | |||
15 | You selected <span class="bold-span">{{selectedClass.course_num}}</span> | |||
16 | which | |||
17 | has a country code of <span | |||
18 | class="bold-span">{{selectedClass.instructor}}</span> | |||
19 | </div> | |||
20 | </div> |