22 |
23 |
24 |
25 | First Name
26 | Last Name
27 | Country
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Authentication/Scripts/index.js:
--------------------------------------------------------------------------------
1 | // When the document is loaded, the DOMContentLoaded event occurs
2 | // We execute all our other logic after this occurs.
3 | document.addEventListener("DOMContentLoaded", function () {
4 | console.log("DOM loaded and ready to go!");
5 | loadStudents();
6 | });
7 |
8 | // Used to load the student data - can actually do without this function
9 | // if you are not doing anything else in the load.
10 | function loadStudents() {
11 | StudentModule.getStudents(setupStudentsTable);
12 | }
13 |
14 | // This is the function we pass into StudentModule as the callback
15 | // It takes the data returned from the API call (studenList) and an input
16 | function setupStudentsTable(studentsList) {
17 |
18 | // Get a reference to the table body so we can add our rows in
19 | var studentTable = document.getElementById("studentList");
20 |
21 | // Loop through all the student/name objects
22 | for (var i = 0; i < studentsList.length; i++) {
23 | //Create a new row element
24 | var row = document.createElement("tr");
25 |
26 | //Create our data cells and append to row
27 | var firstNameCol = document.createElement("td");
28 | firstNameCol.innerHTML = studentsList[i].name;
29 | row.appendChild(firstNameCol);
30 |
31 | var lastNameCol = document.createElement("td");
32 | lastNameCol.innerHTML = studentsList[i].surname;
33 | row.appendChild(lastNameCol);
34 |
35 | var country = document.createElement("td");
36 | country.innerHTML = studentsList[i].country;
37 | row.appendChild(country);
38 |
39 | // Append our rows to the table
40 | studentTable.appendChild(row);
41 |
42 |
43 | }
44 |
45 | }
--------------------------------------------------------------------------------
/Auckland/Day 3/Authentication/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Authentication/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Auckland/Day 3/Authentication/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Authentication/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Auckland/Day 3/Authentication/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Authentication/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Auckland/Day 3/Authentication/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Authentication/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Auckland/Day 3/Authentication/scripts/studentmodule.js:
--------------------------------------------------------------------------------
1 | // We're using the module pattern here to make it easier to reuse
2 | // this bit of code and seperate out our namespaces.
3 | var StudentModule = (function () {
4 |
5 | // If you want to declare things that are private to the module,
6 | // simply declare them here without returning them
7 | var privatethingy = 10;
8 |
9 | // Only things that are returned from this closure is exposed
10 | return {
11 | getStudents: function (callback) {
12 |
13 | // $ means that the function is being called from JQuery
14 | // We pass the parameters for the api as an object
15 | // The success function is called when the data is recieved
16 | // The callback allows us to pass this data back out main js file.
17 | $.ajax({
18 | type: "GET",
19 | dataType: "jsonp",
20 | url: "http://api.uinames.com/?amount=25",
21 | success: function (data) {
22 | callback(data);
23 | }
24 | });
25 | }
26 | }
27 | }());
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Cross Platform Development.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Cross Platform/Cross Platform Development.pptx
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "www/lib"
3 | }
4 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | end_of_line = lf
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
12 | [*.md]
13 | insert_final_newline = false
14 | trim_trailing_whitespace = false
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/.gitignore:
--------------------------------------------------------------------------------
1 | # Specifies intentionally untracked files to ignore when using Git
2 | # http://git-scm.com/docs/gitignore
3 |
4 | node_modules/
5 | platforms/
6 | plugins/
7 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "HelloIonic",
3 | "private": "true",
4 | "devDependencies": {
5 | "ionic": "driftyco/ionic-bower#1.1.1"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | MSAUniversity
4 |
5 | An Ionic Framework and Cordova project.
6 |
7 |
8 | Ionic Framework Team
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/gulpfile.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var gutil = require('gulp-util');
3 | var bower = require('bower');
4 | var concat = require('gulp-concat');
5 | var sass = require('gulp-sass');
6 | var minifyCss = require('gulp-minify-css');
7 | var rename = require('gulp-rename');
8 | var sh = require('shelljs');
9 |
10 | var paths = {
11 | sass: ['./scss/**/*.scss']
12 | };
13 |
14 | gulp.task('default', ['sass']);
15 |
16 | gulp.task('sass', function(done) {
17 | gulp.src('./scss/ionic.app.scss')
18 | .pipe(sass())
19 | .on('error', sass.logError)
20 | .pipe(gulp.dest('./www/css/'))
21 | .pipe(minifyCss({
22 | keepSpecialComments: 0
23 | }))
24 | .pipe(rename({ extname: '.min.css' }))
25 | .pipe(gulp.dest('./www/css/'))
26 | .on('end', done);
27 | });
28 |
29 | gulp.task('watch', function() {
30 | gulp.watch(paths.sass, ['sass']);
31 | });
32 |
33 | gulp.task('install', ['git-check'], function() {
34 | return bower.commands.install()
35 | .on('log', function(data) {
36 | gutil.log('bower', gutil.colors.cyan(data.id), data.message);
37 | });
38 | });
39 |
40 | gulp.task('git-check', function(done) {
41 | if (!sh.which('git')) {
42 | console.log(
43 | ' ' + gutil.colors.red('Git is not installed.'),
44 | '\n Git, the version control system, is required to download Ionic.',
45 | '\n Download git here:', gutil.colors.cyan('http://git-scm.com/downloads') + '.',
46 | '\n Once git is installed, run \'' + gutil.colors.cyan('gulp install') + '\' again.'
47 | );
48 | process.exit(1);
49 | }
50 | done();
51 | });
52 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/ionic.project:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MSAUniversity",
3 | "app_id": ""
4 | }
5 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "msauniversity",
3 | "version": "1.1.1",
4 | "description": "MSAUniversity: An Ionic project",
5 | "dependencies": {
6 | "gulp": "^3.5.6",
7 | "gulp-sass": "^2.0.4",
8 | "gulp-concat": "^2.2.0",
9 | "gulp-minify-css": "^0.3.0",
10 | "gulp-rename": "^1.2.0"
11 | },
12 | "devDependencies": {
13 | "bower": "^1.3.3",
14 | "gulp-util": "^2.2.14",
15 | "shelljs": "^0.3.0"
16 | },
17 | "cordovaPlugins": [
18 | "cordova-plugin-device",
19 | "cordova-plugin-console",
20 | "cordova-plugin-whitelist",
21 | "cordova-plugin-splashscreen",
22 | "cordova-plugin-statusbar",
23 | "ionic-plugin-keyboard"
24 | ],
25 | "cordovaPlatforms": [
26 | "ios"
27 | ]
28 | }
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/scss/ionic.app.scss:
--------------------------------------------------------------------------------
1 | /*
2 | To customize the look and feel of Ionic, you can override the variables
3 | in ionic's _variables.scss file.
4 |
5 | For example, you might change some of the default colors:
6 |
7 | $light: #fff !default;
8 | $stable: #f8f8f8 !default;
9 | $positive: #387ef5 !default;
10 | $calm: #11c1f3 !default;
11 | $balanced: #33cd5f !default;
12 | $energized: #ffc900 !default;
13 | $assertive: #ef473a !default;
14 | $royal: #886aea !default;
15 | $dark: #444 !default;
16 | */
17 |
18 | // The path for our ionicons font files, relative to the built CSS in www/css
19 | $ionicons-font-path: "../lib/ionic/fonts" !default;
20 |
21 | // Include all of Ionic
22 | @import "www/lib/ionic/scss/ionic";
23 |
24 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/css/style.css:
--------------------------------------------------------------------------------
1 | /* Empty. Add your own CSS if you like */
2 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/img/ionic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/img/ionic.png
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/js/app.js:
--------------------------------------------------------------------------------
1 | // Ionic Starter App
2 |
3 | // angular.module is a global place for creating, registering and retrieving Angular modules
4 | // 'starter' is the name of this angular module example (also set in a attribute in index.html)
5 | // the 2nd parameter is an array of 'requires'
6 | // 'starter.controllers' is found in controllers.js
7 | angular.module('starter', ['ionic', 'starter.controllers'])
8 |
9 | .run(function($ionicPlatform) {
10 | $ionicPlatform.ready(function() {
11 | // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
12 | // for form inputs)
13 | if (window.cordova && window.cordova.plugins.Keyboard) {
14 | cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
15 | cordova.plugins.Keyboard.disableScroll(true);
16 |
17 | }
18 | if (window.StatusBar) {
19 | // org.apache.cordova.statusbar required
20 | StatusBar.styleDefault();
21 | }
22 | });
23 | })
24 |
25 | .config(function($stateProvider, $urlRouterProvider) {
26 | $stateProvider
27 |
28 | .state('app', {
29 | url: '/app',
30 | abstract: true,
31 | templateUrl: 'templates/menu.html',
32 | controller: 'AppCtrl'
33 | })
34 |
35 | .state('app.search', {
36 | url: '/search',
37 | views: {
38 | 'menuContent': {
39 | templateUrl: 'templates/search.html'
40 | }
41 | }
42 | })
43 |
44 | .state('app.browse', {
45 | url: '/browse',
46 | views: {
47 | 'menuContent': {
48 | templateUrl: 'templates/browse.html'
49 | }
50 | }
51 | })
52 | .state('app.playlists', {
53 | url: '/playlists',
54 | views: {
55 | 'menuContent': {
56 | templateUrl: 'templates/playlists.html',
57 | controller: 'PlaylistsCtrl'
58 | }
59 | }
60 | })
61 |
62 | .state('app.single', {
63 | url: '/playlists/:student',
64 | views: {
65 | 'menuContent': {
66 | templateUrl: 'templates/playlist.html',
67 | controller: 'PlaylistCtrl'
68 | }
69 | }
70 | });
71 | // if none of the above states are matched, use this as the fallback
72 | $urlRouterProvider.otherwise('/app/playlists');
73 | });
74 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/js/controllers.js:
--------------------------------------------------------------------------------
1 | angular.module('starter.controllers', [])
2 |
3 | .controller('AppCtrl', function($scope, $ionicModal, $timeout) {
4 |
5 | // With the new view caching in Ionic, Controllers are only called
6 | // when they are recreated or on app start, instead of every page change.
7 | // To listen for when this page is active (for example, to refresh data),
8 | // listen for the $ionicView.enter event:
9 | //$scope.$on('$ionicView.enter', function(e) {
10 | //});
11 |
12 | // Form data for the login modal
13 | $scope.loginData = {};
14 |
15 | // Create the login modal that we will use later
16 | $ionicModal.fromTemplateUrl('templates/login.html', {
17 | scope: $scope
18 | }).then(function(modal) {
19 | $scope.modal = modal;
20 | });
21 |
22 | // Triggered in the login modal to close it
23 | $scope.closeLogin = function() {
24 | $scope.modal.hide();
25 | };
26 |
27 | // Open the login modal
28 | $scope.login = function() {
29 | $scope.modal.show();
30 | };
31 |
32 | // Perform the login action when the user submits the login form
33 | $scope.doLogin = function() {
34 | console.log('Doing login', $scope.loginData);
35 |
36 | // Simulate a login delay. Remove this and replace with your login
37 | // code if using a login system
38 | $timeout(function() {
39 | $scope.closeLogin();
40 | }, 1000);
41 | };
42 | })
43 |
44 | .controller('PlaylistsCtrl', function($scope, $http) {
45 | // Get students
46 | $scope.students = [];
47 | $http.get('http://msauniversity.azurewebsites.net/api/Students').then(function (resp) {
48 | console.log('Success', resp);
49 | // For JSON responses, resp.data contains the result
50 | $scope.students = resp.data;
51 | }, function (err) {
52 | console.error('ERR', err.statusText);
53 | // err.status will contain the status code
54 | });
55 |
56 | })
57 |
58 | .controller('PlaylistCtrl', function($scope, $http, $stateParams) {
59 | // Parse JSON string passed by list
60 | var student = JSON.parse($stateParams.student);
61 | console.log('Opened ' + student.FirstMidName)
62 |
63 | $scope.student = student;
64 | });
65 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/fonts/ionicons.eot
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/fonts/ionicons.woff
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_animations.scss:
--------------------------------------------------------------------------------
1 |
2 | // Slide up from the bottom, used for modals
3 | // -------------------------------
4 |
5 | .slide-in-up {
6 | @include translate3d(0, 100%, 0);
7 | }
8 | .slide-in-up.ng-enter,
9 | .slide-in-up > .ng-enter {
10 | @include transition(all cubic-bezier(.1, .7, .1, 1) 400ms);
11 | }
12 | .slide-in-up.ng-enter-active,
13 | .slide-in-up > .ng-enter-active {
14 | @include translate3d(0, 0, 0);
15 | }
16 |
17 | .slide-in-up.ng-leave,
18 | .slide-in-up > .ng-leave {
19 | @include transition(all ease-in-out 250ms);
20 | }
21 |
22 |
23 | // Scale Out
24 | // Scale from hero (1 in this case) to zero
25 | // -------------------------------
26 |
27 | @-webkit-keyframes scaleOut {
28 | from { -webkit-transform: scale(1); opacity: 1; }
29 | to { -webkit-transform: scale(0.8); opacity: 0; }
30 | }
31 | @keyframes scaleOut {
32 | from { transform: scale(1); opacity: 1; }
33 | to { transform: scale(0.8); opacity: 0; }
34 | }
35 |
36 |
37 | // Super Scale In
38 | // Scale from super (1.x) to duper (1 in this case)
39 | // -------------------------------
40 |
41 | @-webkit-keyframes superScaleIn {
42 | from { -webkit-transform: scale(1.2); opacity: 0; }
43 | to { -webkit-transform: scale(1); opacity: 1 }
44 | }
45 | @keyframes superScaleIn {
46 | from { transform: scale(1.2); opacity: 0; }
47 | to { transform: scale(1); opacity: 1; }
48 | }
49 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_backdrop.scss:
--------------------------------------------------------------------------------
1 |
2 | .backdrop {
3 | position: fixed;
4 | top: 0;
5 | left: 0;
6 | z-index: $z-index-backdrop;
7 |
8 | width: 100%;
9 | height: 100%;
10 |
11 | background-color: $loading-backdrop-bg-color;
12 |
13 | visibility: hidden;
14 | opacity: 0;
15 |
16 | &.visible {
17 | visibility: visible;
18 | }
19 | &.active {
20 | opacity: 1;
21 | }
22 |
23 | @include transition($loading-backdrop-fadein-duration opacity linear);
24 | }
25 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_badge.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Badges
4 | * --------------------------------------------------
5 | */
6 |
7 | .badge {
8 | @include badge-style($badge-default-bg, $badge-default-text);
9 | z-index: $z-index-badge;
10 | display: inline-block;
11 | padding: 3px 8px;
12 | min-width: 10px;
13 | border-radius: $badge-border-radius;
14 | vertical-align: baseline;
15 | text-align: center;
16 | white-space: nowrap;
17 | font-weight: $badge-font-weight;
18 | font-size: $badge-font-size;
19 | line-height: $badge-line-height;
20 |
21 | &:empty {
22 | display: none;
23 | }
24 | }
25 |
26 | //Be sure to override specificity of rule that 'badge color matches tab color by default'
27 | .tabs .tab-item .badge,
28 | .badge {
29 | &.badge-light {
30 | @include badge-style($badge-light-bg, $badge-light-text);
31 | }
32 | &.badge-stable {
33 | @include badge-style($badge-stable-bg, $badge-stable-text);
34 | }
35 | &.badge-positive {
36 | @include badge-style($badge-positive-bg, $badge-positive-text);
37 | }
38 | &.badge-calm {
39 | @include badge-style($badge-calm-bg, $badge-calm-text);
40 | }
41 | &.badge-assertive {
42 | @include badge-style($badge-assertive-bg, $badge-assertive-text);
43 | }
44 | &.badge-balanced {
45 | @include badge-style($badge-balanced-bg, $badge-balanced-text);
46 | }
47 | &.badge-energized {
48 | @include badge-style($badge-energized-bg, $badge-energized-text);
49 | }
50 | &.badge-royal {
51 | @include badge-style($badge-royal-bg, $badge-royal-text);
52 | }
53 | &.badge-dark {
54 | @include badge-style($badge-dark-bg, $badge-dark-text);
55 | }
56 | }
57 |
58 | // Quick fix for labels/badges in buttons
59 | .button .badge {
60 | position: relative;
61 | top: -1px;
62 | }
63 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_button-bar.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Button Bar
4 | * --------------------------------------------------
5 | */
6 |
7 | .button-bar {
8 | @include display-flex();
9 | @include flex(1);
10 | width: 100%;
11 |
12 | &.button-bar-inline {
13 | display: block;
14 | width: auto;
15 |
16 | @include clearfix();
17 |
18 | > .button {
19 | width: auto;
20 | display: inline-block;
21 | float: left;
22 | }
23 | }
24 | }
25 |
26 | .button-bar > .button {
27 | @include flex(1);
28 | display: block;
29 |
30 | overflow: hidden;
31 |
32 | padding: 0 16px;
33 |
34 | width: 0;
35 |
36 | border-width: 1px 0px 1px 1px;
37 | border-radius: 0;
38 | text-align: center;
39 | text-overflow: ellipsis;
40 | white-space: nowrap;
41 |
42 | &:before,
43 | .icon:before {
44 | line-height: 44px;
45 | }
46 |
47 | &:first-child {
48 | border-radius: $button-border-radius 0px 0px $button-border-radius;
49 | }
50 | &:last-child {
51 | border-right-width: 1px;
52 | border-radius: 0px $button-border-radius $button-border-radius 0px;
53 | }
54 | }
55 |
56 | .button-bar > .button-small {
57 | &:before,
58 | .icon:before {
59 | line-height: 28px;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_loading.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Loading
4 | * --------------------------------------------------
5 | */
6 |
7 | .loading-container {
8 | position: absolute;
9 | left: 0;
10 | top: 0;
11 | right: 0;
12 | bottom: 0;
13 |
14 | z-index: $z-index-loading;
15 |
16 | @include display-flex();
17 | @include justify-content(center);
18 | @include align-items(center);
19 |
20 | @include transition(0.2s opacity linear);
21 | visibility: hidden;
22 | opacity: 0;
23 |
24 | &:not(.visible) .icon,
25 | &:not(.visible) .spinner{
26 | display: none;
27 | }
28 | &.visible {
29 | visibility: visible;
30 | }
31 | &.active {
32 | opacity: 1;
33 | }
34 |
35 | .loading {
36 | padding: $loading-padding;
37 |
38 | border-radius: $loading-border-radius;
39 | background-color: $loading-bg-color;
40 |
41 | color: $loading-text-color;
42 |
43 | text-align: center;
44 | text-overflow: ellipsis;
45 | font-size: $loading-font-size;
46 |
47 | h1, h2, h3, h4, h5, h6 {
48 | color: $loading-text-color;
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_menu.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Menus
4 | * --------------------------------------------------
5 | * Side panel structure
6 | */
7 |
8 | .menu {
9 | position: absolute;
10 | top: 0;
11 | bottom: 0;
12 | z-index: $z-index-menu;
13 | overflow: hidden;
14 |
15 | min-height: 100%;
16 | max-height: 100%;
17 | width: $menu-width;
18 |
19 | background-color: $menu-bg;
20 |
21 | .scroll-content {
22 | z-index: $z-index-menu-scroll-content;
23 | }
24 |
25 | .bar-header {
26 | z-index: $z-index-menu-bar-header;
27 | }
28 | }
29 |
30 | .menu-content {
31 | @include transform(none);
32 | box-shadow: $menu-side-shadow;
33 | }
34 |
35 | .menu-open .menu-content .pane,
36 | .menu-open .menu-content .scroll-content {
37 | pointer-events: none;
38 | overflow: hidden;
39 | }
40 |
41 | .grade-b .menu-content,
42 | .grade-c .menu-content {
43 | @include box-sizing(content-box);
44 | right: -1px;
45 | left: -1px;
46 | border-right: 1px solid #ccc;
47 | border-left: 1px solid #ccc;
48 | box-shadow: none;
49 | }
50 |
51 | .menu-left {
52 | left: 0;
53 | }
54 |
55 | .menu-right {
56 | right: 0;
57 | }
58 |
59 | .aside-open.aside-resizing .menu-right {
60 | display: none;
61 | }
62 |
63 | .menu-animated {
64 | @include transition-transform($menu-animation-speed ease);
65 | }
66 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_modal.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Modals
4 | * --------------------------------------------------
5 | * Modals are independent windows that slide in from off-screen.
6 | */
7 |
8 | .modal-backdrop,
9 | .modal-backdrop-bg {
10 | position: fixed;
11 | top: 0;
12 | left: 0;
13 | z-index: $z-index-modal;
14 | width: 100%;
15 | height: 100%;
16 | }
17 |
18 | .modal-backdrop-bg {
19 | pointer-events: none;
20 | }
21 |
22 | .modal {
23 | display: block;
24 | position: absolute;
25 | top: 0;
26 | z-index: $z-index-modal;
27 | overflow: hidden;
28 | min-height: 100%;
29 | width: 100%;
30 | background-color: $modal-bg-color;
31 | }
32 |
33 | @media (min-width: $modal-inset-mode-break-point) {
34 | // inset mode is when the modal doesn't fill the entire
35 | // display but instead is centered within a large display
36 | .modal {
37 | top: $modal-inset-mode-top;
38 | right: $modal-inset-mode-right;
39 | bottom: $modal-inset-mode-bottom;
40 | left: $modal-inset-mode-left;
41 | min-height: $modal-inset-mode-min-height;
42 | width: (100% - $modal-inset-mode-left - $modal-inset-mode-right);
43 | }
44 |
45 | .modal.ng-leave-active {
46 | bottom: 0;
47 | }
48 |
49 | // remove ios header padding from inset header
50 | .platform-ios.platform-cordova .modal-wrapper .modal {
51 | .bar-header:not(.bar-subheader) {
52 | height: $bar-height;
53 | > * {
54 | margin-top: 0;
55 | }
56 | }
57 | .tabs-top > .tabs,
58 | .tabs.tabs-top {
59 | top: $bar-height;
60 | }
61 | .has-header,
62 | .bar-subheader {
63 | top: $bar-height;
64 | }
65 | .has-subheader {
66 | top: $bar-height + $bar-subheader-height;
67 | }
68 | .has-header.has-tabs-top {
69 | top: $bar-height + $tabs-height;
70 | }
71 | .has-header.has-subheader.has-tabs-top {
72 | top: $bar-height + $bar-subheader-height + $tabs-height;
73 | }
74 | }
75 |
76 | .modal-backdrop-bg {
77 | @include transition(opacity 300ms ease-in-out);
78 | background-color: $modal-backdrop-bg-active;
79 | opacity: 0;
80 | }
81 |
82 | .active .modal-backdrop-bg {
83 | opacity: 0.5;
84 | }
85 | }
86 |
87 | // disable clicks on all but the modal
88 | .modal-open {
89 | pointer-events: none;
90 |
91 | .modal,
92 | .modal-backdrop {
93 | pointer-events: auto;
94 | }
95 | // prevent clicks on modal when loading overlay is active though
96 | &.loading-active {
97 | .modal,
98 | .modal-backdrop {
99 | pointer-events: none;
100 | }
101 | }
102 | }
103 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_platform.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Platform
4 | * --------------------------------------------------
5 | * Platform specific tweaks
6 | */
7 |
8 | .platform-ios.platform-cordova {
9 | // iOS has a status bar which sits on top of the header.
10 | // Bump down everything to make room for it. However, if
11 | // if its in Cordova, and set to fullscreen, then disregard the bump.
12 | &:not(.fullscreen) {
13 | .bar-header:not(.bar-subheader) {
14 | height: $bar-height + $ios-statusbar-height;
15 |
16 | &.item-input-inset .item-input-wrapper {
17 | margin-top: 19px !important;
18 | }
19 |
20 | > * {
21 | margin-top: $ios-statusbar-height;
22 | }
23 | }
24 | .tabs-top > .tabs,
25 | .tabs.tabs-top {
26 | top: $bar-height + $ios-statusbar-height;
27 | }
28 |
29 | .has-header,
30 | .bar-subheader {
31 | top: $bar-height + $ios-statusbar-height;
32 | }
33 | .has-subheader {
34 | top: $bar-height + $bar-subheader-height + $ios-statusbar-height;
35 | }
36 | .has-header.has-tabs-top {
37 | top: $bar-height + $tabs-height + $ios-statusbar-height;
38 | }
39 | .has-header.has-subheader.has-tabs-top {
40 | top: $bar-height + $bar-subheader-height + $tabs-height + $ios-statusbar-height;
41 | }
42 | }
43 | .popover{
44 | .bar-header:not(.bar-subheader) {
45 | height: $bar-height;
46 | &.item-input-inset .item-input-wrapper {
47 | margin-top: -1px;
48 | }
49 | > * {
50 | margin-top: 0;
51 | }
52 | }
53 | .has-header,
54 | .bar-subheader {
55 | top: $bar-height;
56 | }
57 | .has-subheader {
58 | top: $bar-height + $bar-subheader-height;
59 | }
60 | }
61 | &.status-bar-hide {
62 | // Cordova doesn't adjust the body height correctly, this makes up for it
63 | margin-bottom: 20px;
64 | }
65 | }
66 |
67 | @media (orientation:landscape) {
68 | .platform-ios.platform-browser.platform-ipad {
69 | position: fixed; // required for iPad 7 Safari
70 | }
71 | }
72 |
73 | .platform-c:not(.enable-transitions) * {
74 | // disable transitions on grade-c devices (Android 2)
75 | -webkit-transition: none !important;
76 | transition: none !important;
77 | }
78 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_popup.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Popups
4 | * --------------------------------------------------
5 | */
6 |
7 | .popup-container {
8 | position: absolute;
9 | top: 0;
10 | left: 0;
11 | bottom: 0;
12 | right: 0;
13 | background: rgba(0,0,0,0);
14 |
15 | @include display-flex();
16 | @include justify-content(center);
17 | @include align-items(center);
18 |
19 | z-index: $z-index-popup;
20 |
21 | // Start hidden
22 | visibility: hidden;
23 | &.popup-showing {
24 | visibility: visible;
25 | }
26 |
27 | &.popup-hidden .popup {
28 | @include animation-name(scaleOut);
29 | @include animation-duration($popup-leave-animation-duration);
30 | @include animation-timing-function(ease-in-out);
31 | @include animation-fill-mode(both);
32 | }
33 |
34 | &.active .popup {
35 | @include animation-name(superScaleIn);
36 | @include animation-duration($popup-enter-animation-duration);
37 | @include animation-timing-function(ease-in-out);
38 | @include animation-fill-mode(both);
39 | }
40 |
41 | .popup {
42 | width: $popup-width;
43 | max-width: 100%;
44 | max-height: 90%;
45 |
46 | border-radius: $popup-border-radius;
47 | background-color: $popup-background-color;
48 |
49 | @include display-flex();
50 | @include flex-direction(column);
51 | }
52 |
53 | input,
54 | textarea {
55 | width: 100%;
56 | }
57 | }
58 |
59 | .popup-head {
60 | padding: 15px 10px;
61 | border-bottom: 1px solid #eee;
62 | text-align: center;
63 | }
64 | .popup-title {
65 | margin: 0;
66 | padding: 0;
67 | font-size: 15px;
68 | }
69 | .popup-sub-title {
70 | margin: 5px 0 0 0;
71 | padding: 0;
72 | font-weight: normal;
73 | font-size: 11px;
74 | }
75 | .popup-body {
76 | padding: 10px;
77 | overflow: auto;
78 | }
79 |
80 | .popup-buttons {
81 | @include display-flex();
82 | @include flex-direction(row);
83 | padding: 10px;
84 | min-height: $popup-button-min-height + 20;
85 |
86 | .button {
87 | @include flex(1);
88 | display: block;
89 | min-height: $popup-button-min-height;
90 | border-radius: $popup-button-border-radius;
91 | line-height: $popup-button-line-height;
92 |
93 | margin-right: 5px;
94 | &:last-child {
95 | margin-right: 0px;
96 | }
97 | }
98 | }
99 |
100 | .popup-open {
101 | pointer-events: none;
102 |
103 | &.modal-open .modal {
104 | pointer-events: none;
105 | }
106 |
107 | .popup-backdrop, .popup {
108 | pointer-events: auto;
109 | }
110 | }
111 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_progress.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Progress
4 | * --------------------------------------------------
5 | */
6 |
7 | progress {
8 | display: block;
9 | margin: $progress-margin;
10 | width: $progress-width;
11 | }
12 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_radio.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Radio Button Inputs
4 | * --------------------------------------------------
5 | */
6 |
7 | .item-radio {
8 | padding: 0;
9 |
10 | &:hover {
11 | cursor: pointer;
12 | }
13 | }
14 |
15 | .item-radio .item-content {
16 | /* give some room to the right for the checkmark icon */
17 | padding-right: $item-padding * 4;
18 | }
19 |
20 | .item-radio .radio-icon {
21 | /* checkmark icon will be hidden by default */
22 | position: absolute;
23 | top: 0;
24 | right: 0;
25 | z-index: $z-index-item-radio;
26 | visibility: hidden;
27 | padding: $item-padding - 2;
28 | height: 100%;
29 | font-size: 24px;
30 | }
31 |
32 | .item-radio input {
33 | /* hide any radio button inputs elements (the ugly circles) */
34 | position: absolute;
35 | left: -9999px;
36 |
37 | &:checked + .radio-content .item-content {
38 | /* style the item content when its checked */
39 | background: #f7f7f7;
40 | }
41 |
42 | &:checked + .radio-content .radio-icon {
43 | /* show the checkmark icon when its checked */
44 | visibility: visible;
45 | }
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_slide-box.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Slide Box
4 | * --------------------------------------------------
5 | */
6 |
7 | .slider {
8 | position: relative;
9 | visibility: hidden;
10 | // Make sure items don't scroll over ever
11 | overflow: hidden;
12 | }
13 |
14 | .slider-slides {
15 | position: relative;
16 | height: 100%;
17 | }
18 |
19 | .slider-slide {
20 | position: relative;
21 | display: block;
22 | float: left;
23 | width: 100%;
24 | height: 100%;
25 | vertical-align: top;
26 | }
27 |
28 | .slider-slide-image {
29 | > img {
30 | width: 100%;
31 | }
32 | }
33 |
34 | .slider-pager {
35 | position: absolute;
36 | bottom: 20px;
37 | z-index: $z-index-slider-pager;
38 | width: 100%;
39 | height: 15px;
40 | text-align: center;
41 |
42 | .slider-pager-page {
43 | display: inline-block;
44 | margin: 0px 3px;
45 | width: 15px;
46 | color: #000;
47 | text-decoration: none;
48 |
49 | opacity: 0.3;
50 |
51 | &.active {
52 | @include transition(opacity 0.4s ease-in);
53 | opacity: 1;
54 | }
55 | }
56 | }
57 |
58 | //Disable animate service animations
59 | .slider-slide,
60 | .slider-pager-page {
61 | &.ng-enter,
62 | &.ng-leave,
63 | &.ng-animate {
64 | -webkit-transition: none !important;
65 | transition: none !important;
66 | }
67 | &.ng-animate {
68 | -webkit-animation: none 0s;
69 | animation: none 0s;
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/_spinner.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Spinners
3 | * --------------------------------------------------
4 | */
5 |
6 | .spinner {
7 | svg {
8 | width: $spinner-width;
9 | height: $spinner-height;
10 | }
11 |
12 | stroke: $spinner-default-stroke;
13 | fill: $spinner-default-fill;
14 |
15 | &.spinner-light {
16 | stroke: $spinner-light-stroke;
17 | fill: $spinner-light-fill;
18 | }
19 | &.spinner-stable {
20 | stroke: $spinner-stable-stroke;
21 | fill: $spinner-stable-fill;
22 | }
23 | &.spinner-positive {
24 | stroke: $spinner-positive-stroke;
25 | fill: $spinner-positive-fill;
26 | }
27 | &.spinner-calm {
28 | stroke: $spinner-calm-stroke;
29 | fill: $spinner-calm-fill;
30 | }
31 | &.spinner-balanced {
32 | stroke: $spinner-balanced-stroke;
33 | fill: $spinner-balanced-fill;
34 | }
35 | &.spinner-assertive {
36 | stroke: $spinner-assertive-stroke;
37 | fill: $spinner-assertive-fill;
38 | }
39 | &.spinner-energized {
40 | stroke: $spinner-energized-stroke;
41 | fill: $spinner-energized-fill;
42 | }
43 | &.spinner-royal {
44 | stroke: $spinner-royal-stroke;
45 | fill: $spinner-royal-fill;
46 | }
47 | &.spinner-dark {
48 | stroke: $spinner-dark-stroke;
49 | fill: $spinner-dark-fill;
50 | }
51 | }
52 |
53 | .spinner-android {
54 | stroke: #4b8bf4;
55 | }
56 |
57 | .spinner-ios,
58 | .spinner-ios-small {
59 | stroke: #69717d;
60 | }
61 |
62 | .spinner-spiral {
63 | .stop1 {
64 | stop-color: $spinner-light-fill;
65 | stop-opacity: 0;
66 | }
67 |
68 | &.spinner-light {
69 | .stop1 {
70 | stop-color: $spinner-default-fill;
71 | }
72 | .stop2 {
73 | stop-color: $spinner-light-fill;
74 | }
75 | }
76 | &.spinner-stable .stop2 {
77 | stop-color: $spinner-stable-fill;
78 | }
79 | &.spinner-positive .stop2 {
80 | stop-color: $spinner-positive-fill;
81 | }
82 | &.spinner-calm .stop2 {
83 | stop-color: $spinner-calm-fill;
84 | }
85 | &.spinner-balanced .stop2 {
86 | stop-color: $spinner-balanced-fill;
87 | }
88 | &.spinner-assertive .stop2 {
89 | stop-color: $spinner-assertive-fill;
90 | }
91 | &.spinner-energized .stop2 {
92 | stop-color: $spinner-energized-fill;
93 | }
94 | &.spinner-royal .stop2 {
95 | stop-color: $spinner-royal-fill;
96 | }
97 | &.spinner-dark .stop2 {
98 | stop-color: $spinner-dark-fill;
99 | }
100 | }
101 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/ionic.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | @import
4 | // Ionicons
5 | "ionicons/ionicons.scss",
6 |
7 | // Variables
8 | "mixins",
9 | "variables",
10 |
11 | // Base
12 | "reset",
13 | "scaffolding",
14 | "type",
15 |
16 | // Components
17 | "action-sheet",
18 | "backdrop",
19 | "bar",
20 | "tabs",
21 | "menu",
22 | "modal",
23 | "popover",
24 | "popup",
25 | "loading",
26 | "items",
27 | "list",
28 | "badge",
29 | "slide-box",
30 | "refresher",
31 | "spinner",
32 |
33 | // Forms
34 | "form",
35 | "checkbox",
36 | "toggle",
37 | "radio",
38 | "range",
39 | "select",
40 | "progress",
41 |
42 | // Buttons
43 | "button",
44 | "button-bar",
45 |
46 | // Util
47 | "grid",
48 | "util",
49 | "platform",
50 |
51 | // Animations
52 | "animations",
53 | "transitions";
54 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/ionicons/_ionicons-font.scss:
--------------------------------------------------------------------------------
1 | // Ionicons Font Path
2 | // --------------------------
3 |
4 | @font-face {
5 | font-family: $ionicons-font-family;
6 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}");
7 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}#iefix") format("embedded-opentype"),
8 | url("#{$ionicons-font-path}/ionicons.ttf?v=#{$ionicons-version}") format("truetype"),
9 | url("#{$ionicons-font-path}/ionicons.woff?v=#{$ionicons-version}") format("woff"),
10 | url("#{$ionicons-font-path}/ionicons.woff") format("woff"), /* for WP8 */
11 | url("#{$ionicons-font-path}/ionicons.svg?v=#{$ionicons-version}#Ionicons") format("svg");
12 | font-weight: normal;
13 | font-style: normal;
14 | }
15 |
16 | .ion {
17 | display: inline-block;
18 | font-family: $ionicons-font-family;
19 | speak: none;
20 | font-style: normal;
21 | font-weight: normal;
22 | font-variant: normal;
23 | text-transform: none;
24 | text-rendering: auto;
25 | line-height: 1;
26 | -webkit-font-smoothing: antialiased;
27 | -moz-osx-font-smoothing: grayscale;
28 | }
29 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/scss/ionicons/ionicons.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 | @import "ionicons-variables";
3 | /*!
4 | Ionicons, v2.0.1
5 | Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
6 | https://twitter.com/benjsperry https://twitter.com/ionicframework
7 | MIT License: https://github.com/driftyco/ionicons
8 |
9 | Android-style icons originally built by Google’s
10 | Material Design Icons: https://github.com/google/material-design-icons
11 | used under CC BY http://creativecommons.org/licenses/by/4.0/
12 | Modified icons to fit ionicon’s grid from original.
13 | */
14 |
15 | @import "ionicons-font";
16 | @import "ionicons-icons";
17 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/lib/ionic/version.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.1.1",
3 | "codename": "yttrium-yeti",
4 | "date": "2015-11-05",
5 | "time": "21:31:24"
6 | }
7 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/templates/browse.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Browse
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/templates/login.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Login
4 |
5 | Close
6 |
7 |
8 |
9 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/templates/menu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | Left
18 |
19 |
20 |
21 |
22 | Login
23 |
24 |
25 | Search
26 |
27 |
28 | Browse
29 |
30 |
31 | Playlists
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/templates/playlist.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{student.FirstMidName}} {{student.LastName}}
4 | Enrolment Date: {{student.EnrollmentDate | date : fullDate}}
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/templates/playlists.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{student.FirstMidName}} {{student.LastName}}
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Ionic Project/MSAUniversity/www/templates/search.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Search
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Cross Platform/Readme.md:
--------------------------------------------------------------------------------
1 | *Learn Ionic
2 | Ionic Tutorial: http://ionicframework.com/docs/guide/preface.html
3 |
4 | *Development Tools
5 | Visual Studio Code: https://code.visualstudio.com
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/About.xaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/About.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Windows.UI.Xaml;
9 | using Windows.UI.Xaml.Controls;
10 | using Windows.UI.Xaml.Controls.Primitives;
11 | using Windows.UI.Xaml.Data;
12 | using Windows.UI.Xaml.Input;
13 | using Windows.UI.Xaml.Media;
14 | using Windows.UI.Xaml.Navigation;
15 |
16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
17 |
18 | namespace MSA_Weather
19 | {
20 | ///
21 | /// An empty page that can be used on its own or navigated to within a Frame.
22 | ///
23 | public sealed partial class About : Page
24 | {
25 | public About()
26 | {
27 | this.InitializeComponent();
28 | }
29 |
30 | private void goBack_Click(object sender, RoutedEventArgs e)
31 | {
32 | // Go back to the main page.
33 | this.Frame.Navigate(typeof(MainPage));
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/Assets/Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Native App/MSA Weather/Assets/Logo.scale-100.png
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/Assets/SmallLogo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Native App/MSA Weather/Assets/SmallLogo.scale-100.png
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/Assets/SplashScreen.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Native App/MSA Weather/Assets/SplashScreen.scale-100.png
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/Assets/StoreLogo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Native App/MSA Weather/Assets/StoreLogo.scale-100.png
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | MSA Weather
6 | Ming
7 | Assets\StoreLogo.png
8 |
9 |
10 | 6.3.0
11 | 6.3.0
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("MSA Weather")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("MSA Weather")]
13 | [assembly: AssemblyCopyright("Copyright © 2015")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Version information for an assembly consists of the following four values:
18 | //
19 | // Major Version
20 | // Minor Version
21 | // Build Number
22 | // Revision
23 | //
24 | // You can specify all the values or you can default the Build and Revision Numbers
25 | // by using the '*' as shown below:
26 | // [assembly: AssemblyVersion("1.0.*")]
27 | [assembly: AssemblyVersion("1.0.0.0")]
28 | [assembly: AssemblyFileVersion("1.0.0.0")]
29 | [assembly: ComVisible(false)]
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/WeatherObject.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace MSA_Weather
8 | {
9 | public class WeatherObject
10 | {
11 | public int ID { get; set; }
12 | public string LastName { get; set; }
13 | public string FirstMidName { get; set; }
14 | public string EnrollmentDate { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Native App/MSA Weather/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Auckland/Day 3/Push Notification/Push Notification.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/Push Notification/Push Notification.pptx
--------------------------------------------------------------------------------
/Auckland/Day 3/SignalR/SingalRChat.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.23107.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SingalRChat", "SingalRChat\SingalRChat.csproj", "{FF2590E4-F294-4CC5-8608-20AFC90B5CB9}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {FF2590E4-F294-4CC5-8608-20AFC90B5CB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {FF2590E4-F294-4CC5-8608-20AFC90B5CB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {FF2590E4-F294-4CC5-8608-20AFC90B5CB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {FF2590E4-F294-4CC5-8608-20AFC90B5CB9}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/Auckland/Day 3/SignalR/SingalRChat/ChatHub.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Web;
5 | using Microsoft.AspNet.SignalR;
6 |
7 | namespace SingalRChat
8 | {
9 | public class ChatHub : Hub
10 | {
11 | public void Send(string name, string message)
12 | {
13 | Clients.All.broadcastMessage(name, message);
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/Auckland/Day 3/SignalR/SingalRChat/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SingalRChat")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("SingalRChat")]
13 | [assembly: AssemblyCopyright("Copyright © 2015")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("ff2590e4-f294-4cc5-8608-20afc90b5cb9")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Revision and Build Numbers
33 | // by using the '*' as shown below:
34 | [assembly: AssemblyVersion("1.0.0.0")]
35 | [assembly: AssemblyFileVersion("1.0.0.0")]
36 |
--------------------------------------------------------------------------------
/Auckland/Day 3/SignalR/SingalRChat/Startup.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 | using Microsoft.Owin;
4 | using Owin;
5 |
6 | [assembly: OwinStartup(typeof(SingalRChat.Startup))]
7 |
8 | namespace SingalRChat
9 | {
10 | public class Startup
11 | {
12 | public void Configuration(IAppBuilder app)
13 | {
14 | // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
15 | app.MapSignalR();
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Auckland/Day 3/SignalR/SingalRChat/Web.Debug.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
17 |
18 |
29 |
30 |
--------------------------------------------------------------------------------
/Auckland/Day 3/SignalR/SingalRChat/Web.Release.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
17 |
18 |
19 |
30 |
31 |
--------------------------------------------------------------------------------
/Auckland/Day 3/SignalR/SingalRChat/Web.config:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Auckland/Day 3/SignalR/SingalRChat/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
SignalR Simple Chat
5 |
13 |
14 |
15 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
57 |
58 |
--------------------------------------------------------------------------------
/Auckland/Day 3/SignalR/SingalRChat/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Auckland/Day 3/jQuery Plugins/jQuery Plugins.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Auckland/Day 3/jQuery Plugins/jQuery Plugins.pptx
--------------------------------------------------------------------------------
/Auckland/Day 3/jQuery Plugins/jQueryPluginDemo/Web.Debug.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
17 |
18 |
19 |
30 |
31 |
--------------------------------------------------------------------------------
/Auckland/Day 3/jQuery Plugins/jQueryPluginDemo/Web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Auckland/Day 3/jQuery Plugins/jQueryPluginDemo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
jQuery Plugin Demo
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
Log out
14 |
15 |
16 |
17 |
18 |
19 |
20 |
29 |
30 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/Auckland/Day 3/jQuery Plugins/jQueryPluginDemo/js/fakeLoader.min.js:
--------------------------------------------------------------------------------
1 | !function (i) { function s() { var s = i(window).width(), c = i(window).height(), d = i(".fl").outerWidth(), e = i(".fl").outerHeight(); i(".fl").css({ position: "absolute", left: s / 2 - d / 2, top: c / 2 - e / 2 }) } i.fn.fakeLoader = function (c) { var d = i.extend({ timeToHide: 1200, pos: "fixed", top: "0px", left: "0px", width: "100%", height: "100%", zIndex: "999", bgColor: "#2ecc71", spinner: "spinner7", imagePath: "" }, c), e = '
', l = '
', n = '
', v = '
', a = '
', r = '
', t = '
', o = i(this), h = { position: d.pos, width: d.width, height: d.height, top: d.top, left: d.left }; return o.css(h), o.each(function () { var i = d.spinner; switch (i) { case "spinner1": o.html(e); break; case "spinner2": o.html(l); break; case "spinner3": o.html(n); break; case "spinner4": o.html(v); break; case "spinner5": o.html(a); break; case "spinner6": o.html(r); break; case "spinner7": o.html(t); break; default: o.html(e) } "" != d.imagePath && o.html('
'), s() }), setTimeout(function () { i(o).fadeOut() }, d.timeToHide), this.css({ backgroundColor: d.bgColor, zIndex: d.zIndex }) }, i(window).load(function () { s(), i(window).resize(function () { s() }) }) }(jQuery);
--------------------------------------------------------------------------------
/Auckland/Pre Day 2/Readme.md:
--------------------------------------------------------------------------------
1 | #Pre day 2 requirements
2 |
3 | Please read through all of this and make sure you have satisfied the requirements
4 |
5 | ## 1. Update Microsoft SQL Server
6 |
7 | Go to Tools > Extensions and Updates. Click on "Updates" (down the left hand side) and update the one to do with Microsoft SQL Server. Here's what it looks like, yours may be different:
8 |
9 | 
10 |
11 | ## 2. Create an Empty ASP.NET Web Application with Web API
12 |
13 | We found that quite a few people were unable to do this on day 1. Make sure you are able to create an Empty ASP.NET Web Application with Web API ticked, like this:
14 |
15 | 
16 |
17 | After selecting the above, this should appear:
18 |
19 | 
20 |
21 | If you can do this, then you are all ready to go for day 2. However, if the second image does not show up for you, open up control panel and go to Programs and Features. Click on "Microsoft Visual Studio xxxx" (whatever version yours is, it should ideally be 2015) and click on "Change". Once that is loaded, click on "Modify". Search for "Microsoft Web Developer Tools", and *make sure that box is ticked*!
22 |
23 | 
24 |
25 | Then, click on Update. After the update is done, restart your computer and try to create a new empty project with Web API ticked, like the images above.
26 |
27 | If the second image still does not show up for you even after doing that (you're probably on an earlier VS version), try the method suggested here https://msdn.microsoft.com/en-us/library/ff521558(v=vs.110).aspx
28 |
--------------------------------------------------------------------------------
/Auckland/Readme.md:
--------------------------------------------------------------------------------
1 | # Auckland Training Events
2 |
3 | Auckland training is divided into three days:
4 |
5 | ## 1. Day 1
6 |
7 | Day 1 will focus on introducing the students to MSA Phase 2, talking about the assessments and assessment scenarios. We will then dive into writing a Web App in Visual Studio.
8 |
9 | ## 2. Day 2
10 |
11 | You'll be making your very own web API on day 2, connected to a database that's hosted online with MySQL. We will then connect the front end you made on day 1 to your web API. Navigate to the Day 2 folder to have a look at what's covered.
12 |
13 | ## 3. Day 3
14 |
--------------------------------------------------------------------------------
/Christchurch/Day 1 Complete/css/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | /*padding-top: 60px;*/
3 | }
4 | /*@media (max-width: 979px) {
5 | body {
6 | padding-top: 0px;
7 | }
8 | }*/
9 |
10 | .spaced-table>thead>tr>th{
11 | padding:20px 20px;
12 | }
13 |
14 | .spaced-table>tbody>tr>td{
15 | padding: 40px 20px;
16 | vertical-align:middle; /*when you add button it gets weird so need this*/
17 | }
18 |
19 | .spaced-table>tbody>tr{
20 | cursor:pointer;
21 | }
22 |
23 | #loadingscreen{
24 | height:100vh;
25 | background-color:#5c2d91;
26 | /*display:none;*/
27 | text-align:center;
28 | position:absolute;
29 |
30 | -webkit-transform-style: preserve-3d;
31 | transform-style: preserve-3d;
32 | }
33 |
34 | #loadinganim{
35 | color:#fff;
36 | font-size:larger;
37 | margin: 0 auto;
38 | position: relative;
39 | top: 50%;
40 | transform: translateY(-50%);
41 | }
42 |
--------------------------------------------------------------------------------
/Christchurch/Day 1 Complete/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Students
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | Last Name
31 | First Name
32 | Country
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/Christchurch/Day 1 Complete/scripts/StudentModule.js:
--------------------------------------------------------------------------------
1 | // We've sepearated out all the functions related to making the AJAX calls to the API
2 | // Just keeps things tidy, allows us to keep some things private
3 | var StudentModule = (function () {
4 |
5 | // Return anything that you want to expose outside the closure
6 | return {
7 | getStudents: function (callback) {
8 |
9 | $.ajax({
10 | type: "GET",
11 | dataType: "jsonp",
12 | url: "http://api.uinames.com/?amount=25",
13 | success: function(data){
14 | console.log(data);
15 | callback(data);
16 | }
17 | });
18 |
19 | }
20 | };
21 | }());
--------------------------------------------------------------------------------
/Christchurch/Day 1 Complete/scripts/index.js:
--------------------------------------------------------------------------------
1 | // This event triggers on page load
2 | document.addEventListener("DOMContentLoaded", function () {
3 | console.log("This works!");
4 | loadStudents();
5 | });
6 |
7 | function loadStudents(){
8 |
9 | // We need a reference to the div/table that we are going to chuck our data into
10 | var studentsTable = document.getElementById("tblstudentcontent");
11 |
12 | StudentModule.getStudents(function (studentsList) {
13 | setupStudentsTable(studentsList);
14 | });
15 |
16 | // This is the callback for when the data comes back in the studentmodule
17 | function setupStudentsTable(students) {
18 | console.log(students);
19 | for (i = 0; i < students.length; i++) {
20 |
21 | // Create row
22 | var row = document.createElement('tr');
23 |
24 | // Add the columns in the row (td / data cells)
25 | var lastnamecol = document.createElement('td');
26 | lastnamecol.innerHTML = students[i].surname;
27 | row.appendChild(lastnamecol);
28 |
29 | var firstnamecol = document.createElement('td');
30 | firstnamecol.innerHTML = students[i].name;
31 | row.appendChild(firstnamecol);
32 |
33 | var enrollmentdatecol = document.createElement('td');
34 | enrollmentdatecol.innerHTML = students[i].country;
35 | row.appendChild(enrollmentdatecol);
36 |
37 | // Append the row to the end of the table
38 | studentsTable.appendChild(row);
39 |
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.23107.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSAUniApp", "MSAUniApp\MSAUniApp.csproj", "{8FBA1F48-552B-427F-BDA5-05EAADD64447}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {8FBA1F48-552B-427F-BDA5-05EAADD64447}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {8FBA1F48-552B-427F-BDA5-05EAADD64447}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {8FBA1F48-552B-427F-BDA5-05EAADD64447}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {8FBA1F48-552B-427F-BDA5-05EAADD64447}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/App_Start/WebApiConfig.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Web.Http;
5 | using System.Web.Http.Cors;
6 |
7 | namespace MSAUniApp
8 | {
9 | public static class WebApiConfig
10 | {
11 | public static void Register(HttpConfiguration config)
12 | {
13 | // Web API configuration and services
14 |
15 | // The below 2 lines states that any origin can access our API
16 | // For more info:
17 | var cors = new EnableCorsAttribute("*", "*", "*");
18 | config.EnableCors(cors);
19 |
20 | // Web API routes
21 | config.MapHttpAttributeRoutes();
22 |
23 | config.Routes.MapHttpRoute(
24 | name: "DefaultApi",
25 | routeTemplate: "api/{controller}/{id}",
26 | defaults: new { id = RouteParameter.Optional }
27 | );
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Content/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | /*padding-top: 60px;*/
3 | }
4 | /*@media (max-width: 979px) {
5 | body {
6 | padding-top: 0px;
7 | }
8 | }*/
9 |
10 | .spaced-table>thead>tr>th{
11 | padding:20px 20px;
12 | }
13 |
14 | .spaced-table>tbody>tr>td{
15 | padding: 40px 20px;
16 | vertical-align:middle; /*when you add button it gets weird so need this*/
17 | }
18 |
19 | .spaced-table>tbody>tr{
20 | cursor:pointer;
21 | }
22 |
23 | #loadingscreen{
24 | height:100vh;
25 | background-color:#5c2d91;
26 | /*display:none;*/
27 | text-align:center;
28 | position:absolute;
29 |
30 | -webkit-transform-style: preserve-3d;
31 | transform-style: preserve-3d;
32 | }
33 |
34 | #loadinganim{
35 | color:#fff;
36 | font-size:larger;
37 | margin: 0 auto;
38 | position: relative;
39 | top: 50%;
40 | transform: translateY(-50%);
41 | }
42 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Create.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Create student
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
32 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Detail.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Student details
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
32 |
33 |
Back to home
34 |
Student details loading...
35 |
Student details
36 |
Student last name:
37 |
38 |
Student first name:
39 |
40 |
Student enrollment date:
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Edit.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Edit student
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
32 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Global.asax:
--------------------------------------------------------------------------------
1 | <%@ Application Codebehind="Global.asax.cs" Inherits="MSAUniApp.WebApiApplication" Language="C#" %>
2 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Global.asax.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Web;
5 | using System.Web.Http;
6 | using System.Web.Routing;
7 |
8 | namespace MSAUniApp
9 | {
10 | public class WebApiApplication : System.Web.HttpApplication
11 | {
12 | protected void Application_Start()
13 | {
14 | GlobalConfiguration.Configure(WebApiConfig.Register);
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Students
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
33 |
34 |
+ Create a student
35 |
36 |
37 |
38 |
39 | Last Name
40 | First Name
41 | Enrollment Date
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
Students table loading...
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Models/Course.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.ComponentModel.DataAnnotations.Schema;
5 | using System.Linq;
6 | using System.Web;
7 |
8 | namespace MSAUniApp.Models
9 | {
10 | public class Course
11 | {
12 | [DatabaseGenerated(DatabaseGeneratedOption.None)]
13 | public int CourseID { get; set; }
14 | public string Title { get; set; }
15 | public int Credits { get; set; }
16 |
17 | [JsonIgnore]
18 | public virtual ICollection
Enrollments { get; set; }
19 | }
20 | }
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Models/Enrollment.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Web;
6 |
7 | namespace MSAUniApp.Models
8 | {
9 | public enum Grade
10 | {
11 | A, B, C, D, F
12 | }
13 |
14 | public class Enrollment
15 | {
16 | public int EnrollmentID { get; set; }
17 | public int CourseID { get; set; }
18 | public int StudentID { get; set; }
19 |
20 | public Grade? Grade { get; set; }
21 |
22 | [JsonIgnore]
23 | public virtual Course Course { get; set; }
24 | [JsonIgnore]
25 | public virtual Student Student { get; set; }
26 | }
27 | }
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Models/Student.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Web;
6 |
7 | namespace MSAUniApp.Models
8 | {
9 | public class Student
10 | {
11 | public int ID { get; set; }
12 | public string LastName { get; set; }
13 | public string FirstMidName { get; set; }
14 | public DateTime EnrollmentDate { get; set; }
15 |
16 | [JsonIgnore]
17 | public virtual ICollection Enrollments { get; set; }
18 | }
19 | }
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("MSAUniApp")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("MSAUniApp")]
13 | [assembly: AssemblyCopyright("Copyright © 2015")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("8fba1f48-552b-427f-bda5-05eaadd64447")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Revision and Build Numbers
33 | // by using the '*' as shown below:
34 | [assembly: AssemblyVersion("1.0.0.0")]
35 | [assembly: AssemblyFileVersion("1.0.0.0")]
36 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Scripts/createpages.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function () {
2 | setupStudentSubmit();
3 | setupReturn();
4 | });
5 |
6 | function setupStudentSubmit() {
7 |
8 | //Creating student from form parameters
9 |
10 | var form = document.forms.create;
11 | // Need to add our own custom event for form submission
12 | form.onsubmit = function (e) {
13 | // ... and prevent the default action from occuring
14 | e.preventDefault();
15 |
16 | //Creating student from form parameters
17 | var newStudent = {
18 | // Access the data in the fields with .value
19 | lastname: document.getElementById("LastNameinput").value,
20 | firstmidname: document.getElementById("FirstNameinput").value,
21 | enrollmentdate: document.getElementById("EnrollmentDateinput").value
22 | }
23 |
24 | // Take me back home when done!
25 | StudentModule.addStudent(newStudent, function () {
26 | window.location.href = "index.html";
27 | });
28 | }
29 |
30 | };
31 |
32 | // Add event listener, cancel button will take you back to home page
33 | function setupReturn() {
34 | document.getElementById('btncancel').addEventListener('click', function () {
35 | window.location.href = "index.html";
36 | });
37 | }
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Scripts/detailpages.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function () {
2 |
3 | var id = getUrlParameters("id", "", true);
4 |
5 | StudentModule.getStudentById(id, function (student) {
6 | document.getElementById("loadingmsg").style.display = "none";
7 | showDetails(student);
8 | });
9 | });
10 |
11 | function showDetails(obj) {
12 | // Load details
13 | for (var key in obj) {
14 | if (key.toLowerCase() !== "id") {
15 | var infoelement = document.getElementById(key);
16 | infoelement.innerHTML = obj[key];
17 | }
18 | }
19 | }
20 |
21 | function getUrlParameters(parameter, staticURL, decode) {
22 | /*
23 | Function: getUrlParameters
24 | Description: Get the value of URL parameters either from
25 | current URL or static URL
26 | Author: Tirumal
27 | URL: www.code-tricks.com
28 | */
29 | var currLocation = (staticURL.length) ? staticURL : window.location.search,
30 | parArr = currLocation.split("?")[1].split("&"),
31 | returnBool = true;
32 |
33 | for (var i = 0; i < parArr.length; i++) {
34 | parr = parArr[i].split("=");
35 | if (parr[0] == parameter) {
36 | return (decode) ? decodeURIComponent(parr[1]) : parr[1];
37 | returnBool = true;
38 | } else {
39 | returnBool = false;
40 | }
41 | }
42 |
43 | if (!returnBool) return false;
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Scripts/editpages.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function () {
2 |
3 | var id = getUrlParameters("id", "", true);
4 |
5 | StudentModule.getStudentById(id, function (student) {
6 | loadForm(student);
7 | });
8 |
9 | //Setup submit button
10 | setupStudentSubmit(id);
11 | //Setup cancel buttons
12 | setupReturn();
13 |
14 | });
15 |
16 | function getUrlParameters(parameter, staticURL, decode) {
17 | /*
18 | Function: getUrlParameters
19 | Description: Get the value of URL parameters either from
20 | current URL or static URL
21 | Author: Tirumal
22 | URL: www.code-tricks.com
23 | */
24 | var currLocation = (staticURL.length) ? staticURL : window.location.search,
25 | parArr = currLocation.split("?")[1].split("&"),
26 | returnBool = true;
27 |
28 | for (var i = 0; i < parArr.length; i++) {
29 | parr = parArr[i].split("=");
30 | if (parr[0] == parameter) {
31 | return (decode) ? decodeURIComponent(parr[1]) : parr[1];
32 | returnBool = true;
33 | } else {
34 | returnBool = false;
35 | }
36 | }
37 |
38 | if (!returnBool) return false;
39 | };
40 |
41 | function loadForm(obj) {
42 |
43 | // Prefill form with details
44 | for (var key in obj) {
45 | if (key.toLowerCase() !== "id") {
46 | var forminput = document.getElementById(key + 'input');
47 | forminput.value = obj[key];
48 | }
49 | }
50 |
51 | //show form after loaded
52 | document.forms.edit.classList.remove("hidden");
53 | };
54 |
55 | function setupStudentSubmit(id) {
56 |
57 | //Creating student from form and update db
58 | var form = document.forms.edit;
59 | form.onsubmit = function (e) {
60 | e.preventDefault();
61 | var newStudent = {
62 | id: id,
63 | lastname: document.getElementById("LastNameinput").value,
64 | firstmidname: document.getElementById("FirstMidNameinput").value,
65 | enrollmentdate: document.getElementById("EnrollmentDateinput").value
66 | }
67 |
68 | StudentModule.updateStudent(id, newStudent, function () {
69 | window.location.href = "index.html";
70 | });
71 | }
72 | };
73 |
74 | //Go back to home without saving changes
75 | function setupReturn() {
76 | document.getElementById('btncancel').addEventListener('click', function () {
77 | window.location.href = "index.html";
78 | });
79 | }
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Scripts/studentmodule.js:
--------------------------------------------------------------------------------
1 | var StudentModule = (function () {
2 |
3 | return {
4 | getStudents: function (callback) {
5 | $.ajax({
6 | type: "GET",
7 | dataType: "json",
8 | // API url here
9 | url: "http://msauniapp.azurewebsites.net/api/Students",
10 | success: function(data){
11 | console.log(data);
12 | callback(data);
13 | }
14 | });
15 | },
16 |
17 | getStudentById: function (id, callback){
18 |
19 | $.ajax({
20 | type: "GET",
21 | dataType: "json",
22 | url: "http://msauniapp.azurewebsites.net/api/Students/" + id,
23 | success: function(data){
24 | console.log(data);
25 | callback(data);
26 | }
27 | });
28 |
29 | },
30 |
31 | addStudent: function (student, callback) {
32 |
33 | $.ajax({
34 | url : "http://msauniapp.azurewebsites.net/api/Students/",
35 | type: "POST",
36 | data : student,
37 | success: function(data, textStatus, jqXHR)
38 | {
39 | callback();
40 | }
41 | });
42 |
43 | },
44 |
45 | updateStudent: function (studentid, student, callback){
46 |
47 | $.ajax({
48 | url : "http://msauniapp.azurewebsites.net/api/Students/" + studentid,
49 | type: "PUT",
50 | data : student,
51 | success: function(data, textStatus, jqXHR)
52 | {
53 | callback();
54 | }
55 | });
56 | },
57 |
58 | deleteStudent: function (studentid, callback) {
59 |
60 | $.ajax({
61 | type: "DELETE",
62 | dataType: "json",
63 | url: "http://msauniapp.azurewebsites.net/api/Students/" + studentid,
64 | success: function(data){
65 | callback();
66 | }
67 | });
68 | }
69 | };
70 |
71 | }());
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Web.Debug.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
17 |
18 |
29 |
30 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/Web.Release.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
17 |
18 |
19 |
30 |
31 |
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Christchurch/Full App/MSAUniApp/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Christchurch/Full App/MSAUniApp/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Christchurch/Full App/MSAUniApp/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Christchurch/Full App/MSAUniApp/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Christchurch/Full App/MSAUniApp/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Christchurch/Whats in server side.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Christchurch/Whats in server side.pptx
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Vishesh Oberoi
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/Others/Front End Demo/Final Source Code/css/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | /*padding-top: 60px;*/
3 | }
4 | /*@media (max-width: 979px) {
5 | body {
6 | padding-top: 0px;
7 | }
8 | }*/
9 |
10 | .spaced-table>thead>tr>th{
11 | padding:20px 20px;
12 | }
13 |
14 | .spaced-table>tbody>tr>td{
15 | padding: 40px 20px;
16 | vertical-align:middle; /*when you add button it gets weird so need this*/
17 | }
18 |
19 | .spaced-table>tbody>tr{
20 | cursor:pointer;
21 | }
22 |
23 | #loadingscreen{
24 | height:100vh;
25 | background-color:#5c2d91;
26 | /*display:none;*/
27 | text-align:center;
28 | position:absolute;
29 |
30 | -webkit-transform-style: preserve-3d;
31 | transform-style: preserve-3d;
32 | }
33 |
34 | #loadinganim{
35 | color:#fff;
36 | font-size:larger;
37 | margin: 0 auto;
38 | position: relative;
39 | top: 50%;
40 | transform: translateY(-50%);
41 | }
42 |
--------------------------------------------------------------------------------
/Others/Front End Demo/Final Source Code/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Students
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | Last Name
31 | First Name
32 | Country
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/Others/Front End Demo/Final Source Code/scripts/StudentModule.js:
--------------------------------------------------------------------------------
1 | // We've sepearated out all the functions related to making the AJAX calls to the API
2 | // Just keeps things tidy, allows us to keep some things private
3 | var StudentModule = (function () {
4 |
5 | // Return anything that you want to expose outside the closure
6 | return {
7 | getStudents: function (callback) {
8 |
9 | $.ajax({
10 | type: "GET",
11 | dataType: "jsonp",
12 | url: "http://api.uinames.com/?amount=25",
13 | success: function(data){
14 | console.log(data);
15 | callback(data);
16 | }
17 | });
18 |
19 | }
20 | };
21 | }());
--------------------------------------------------------------------------------
/Others/Front End Demo/Final Source Code/scripts/index.js:
--------------------------------------------------------------------------------
1 | // This event triggers on page load
2 | document.addEventListener("DOMContentLoaded", function () {
3 | console.log("This works!");
4 | loadStudents();
5 | });
6 |
7 | function loadStudents(){
8 |
9 | // We need a reference to the div/table that we are going to chuck our data into
10 | var studentsTable = document.getElementById("tblstudentcontent");
11 |
12 | StudentModule.getStudents(function (studentsList) {
13 | setupStudentsTable(studentsList);
14 | });
15 |
16 | // This is the callback for when the data comes back in the studentmodule
17 | function setupStudentsTable(students) {
18 | console.log(students);
19 | for (i = 0; i < students.length; i++) {
20 |
21 | // Create row
22 | var row = document.createElement('tr');
23 |
24 | // Add the columns in the row (td / data cells)
25 | var lastnamecol = document.createElement('td');
26 | lastnamecol.innerHTML = students[i].surname;
27 | row.appendChild(lastnamecol);
28 |
29 | var firstnamecol = document.createElement('td');
30 | firstnamecol.innerHTML = students[i].name;
31 | row.appendChild(firstnamecol);
32 |
33 | var enrollmentdatecol = document.createElement('td');
34 | enrollmentdatecol.innerHTML = students[i].country;
35 | row.appendChild(enrollmentdatecol);
36 |
37 | // Append the row to the end of the table
38 | studentsTable.appendChild(row);
39 |
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/Others/Front End Demo/Initial Source Code/css/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | /*padding-top: 60px;*/
3 | }
4 | /*@media (max-width: 979px) {
5 | body {
6 | padding-top: 0px;
7 | }
8 | }*/
9 |
10 | .spaced-table>thead>tr>th{
11 | padding:20px 20px;
12 | }
13 |
14 | .spaced-table>tbody>tr>td{
15 | padding: 40px 20px;
16 | vertical-align:middle; /*when you add button it gets weird so need this*/
17 | }
18 |
19 | .spaced-table>tbody>tr{
20 | cursor:pointer;
21 | }
22 |
23 | #loadingscreen{
24 | height:100vh;
25 | background-color:#5c2d91;
26 | /*display:none;*/
27 | text-align:center;
28 | position:absolute;
29 |
30 | -webkit-transform-style: preserve-3d;
31 | transform-style: preserve-3d;
32 | }
33 |
34 | #loadinganim{
35 | color:#fff;
36 | font-size:larger;
37 | margin: 0 auto;
38 | position: relative;
39 | top: 50%;
40 | transform: translateY(-50%);
41 | }
42 |
--------------------------------------------------------------------------------
/Others/Front End Demo/Initial Source Code/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Students
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | Last Name
28 | First Name
29 | Country
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Others/Front End Full/Create.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Create student
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
32 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/Others/Front End Full/Detail.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Student details
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
32 |
33 |
Back to home
34 |
Student details loading...
35 |
Student details
36 |
Student last name:
37 |
38 |
Student first name:
39 |
40 |
Student enrollment date:
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/Others/Front End Full/Edit.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Edit student
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
32 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/Others/Front End Full/Index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Students
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
33 |
34 |
+ Create a student
35 |
36 |
37 |
38 |
39 | Last Name
40 | First Name
41 | Enrollment Date
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
Students table loading...
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/Others/Front End Full/css/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | /*padding-top: 60px;*/
3 | }
4 | /*@media (max-width: 979px) {
5 | body {
6 | padding-top: 0px;
7 | }
8 | }*/
9 |
10 | .spaced-table>thead>tr>th{
11 | padding:20px 20px;
12 | }
13 |
14 | .spaced-table>tbody>tr>td{
15 | padding: 40px 20px;
16 | vertical-align:middle; /*when you add button it gets weird so need this*/
17 | }
18 |
19 | .spaced-table>tbody>tr{
20 | cursor:pointer;
21 | }
22 |
23 | #loadingscreen{
24 | height:100vh;
25 | background-color:#5c2d91;
26 | /*display:none;*/
27 | text-align:center;
28 | position:absolute;
29 |
30 | -webkit-transform-style: preserve-3d;
31 | transform-style: preserve-3d;
32 | }
33 |
34 | #loadinganim{
35 | color:#fff;
36 | font-size:larger;
37 | margin: 0 auto;
38 | position: relative;
39 | top: 50%;
40 | transform: translateY(-50%);
41 | }
42 |
--------------------------------------------------------------------------------
/Others/Front End Full/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/Front End Full/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Others/Front End Full/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/Front End Full/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Others/Front End Full/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/Front End Full/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Others/Front End Full/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/Front End Full/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Others/Front End Full/scripts/createpages.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function () {
2 | setupStudentSubmit();
3 | setupReturn();
4 | });
5 |
6 | function setupStudentSubmit() {
7 |
8 | //Creating student from form parameters
9 |
10 | var form = document.forms.create;
11 | // Need to add our own custom event for form submission
12 | form.onsubmit = function (e) {
13 | // ... and prevent the default action from occuring
14 | e.preventDefault();
15 |
16 | //Creating student from form parameters
17 | var newStudent = {
18 | // Access the data in the fields with .value
19 | lastname: document.getElementById("LastNameinput").value,
20 | firstmidname: document.getElementById("FirstNameinput").value,
21 | enrollmentdate: document.getElementById("EnrollmentDateinput").value
22 | }
23 |
24 | // Take me back home when done!
25 | StudentModule.addStudent(newStudent, function () {
26 | window.location.href = "index.html";
27 | });
28 | }
29 |
30 | };
31 |
32 | // Add event listener, cancel button will take you back to home page
33 | function setupReturn() {
34 | document.getElementById('btncancel').addEventListener('click', function () {
35 | window.location.href = "index.html";
36 | });
37 | }
--------------------------------------------------------------------------------
/Others/Front End Full/scripts/detailpages.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function () {
2 | var controller = getUrlParameters("type", "", true);
3 | var id = getUrlParameters("id", "", true);
4 |
5 | if (controller === "courses") {
6 | // Unused (for now)
7 | } else if (controller === "students") {
8 | StudentModule.getStudentById(id, function (student) {
9 | document.getElementById("loadingmsg").style.display = "none";
10 | showDetails(student);
11 | });
12 | }
13 |
14 | });
15 |
16 | function showDetails(obj) {
17 | // Load details
18 | for (var key in obj) {
19 | if (key.toLowerCase() !== "id") {
20 | var infoelement = document.getElementById(key);
21 | infoelement.innerHTML = obj[key];
22 | }
23 | }
24 | }
25 |
26 | function getUrlParameters(parameter, staticURL, decode) {
27 | /*
28 | Function: getUrlParameters
29 | Description: Get the value of URL parameters either from
30 | current URL or static URL
31 | Author: Tirumal
32 | URL: www.code-tricks.com
33 | */
34 | var currLocation = (staticURL.length) ? staticURL : window.location.search,
35 | parArr = currLocation.split("?")[1].split("&"),
36 | returnBool = true;
37 |
38 | for (var i = 0; i < parArr.length; i++) {
39 | parr = parArr[i].split("=");
40 | if (parr[0] == parameter) {
41 | return (decode) ? decodeURIComponent(parr[1]) : parr[1];
42 | returnBool = true;
43 | } else {
44 | returnBool = false;
45 | }
46 | }
47 |
48 | if (!returnBool) return false;
49 | }
50 |
51 |
--------------------------------------------------------------------------------
/Others/Front End Full/scripts/editpages.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function () {
2 | var controller = getUrlParameters("type", "", true);
3 | var id = getUrlParameters("id", "", true);
4 |
5 | if (controller === "courses") {
6 |
7 | // Not using this (for now)
8 |
9 | } else if (controller === "students") {
10 |
11 | StudentModule.getStudentById(id, function (student) {
12 | loadForm(student);
13 | });
14 |
15 | setupStudentSubmit(id);
16 | }
17 |
18 | setupReturn();
19 |
20 | });
21 |
22 | function getUrlParameters(parameter, staticURL, decode) {
23 | /*
24 | Function: getUrlParameters
25 | Description: Get the value of URL parameters either from
26 | current URL or static URL
27 | Author: Tirumal
28 | URL: www.code-tricks.com
29 | */
30 | var currLocation = (staticURL.length) ? staticURL : window.location.search,
31 | parArr = currLocation.split("?")[1].split("&"),
32 | returnBool = true;
33 |
34 | for (var i = 0; i < parArr.length; i++) {
35 | parr = parArr[i].split("=");
36 | if (parr[0] == parameter) {
37 | return (decode) ? decodeURIComponent(parr[1]) : parr[1];
38 | returnBool = true;
39 | } else {
40 | returnBool = false;
41 | }
42 | }
43 |
44 | if (!returnBool) return false;
45 | };
46 |
47 | function loadForm(obj) {
48 |
49 | // Prefill form with details
50 | for (var key in obj) {
51 | if (key.toLowerCase() !== "id") {
52 | var forminput = document.getElementById(key + 'input');
53 | forminput.value = obj[key];
54 | }
55 | }
56 |
57 | //show form after loaded
58 | document.forms.edit.classList.remove("hidden");
59 | };
60 |
61 | function setupStudentSubmit(id) {
62 |
63 | //Creating student from form and update db
64 | var form = document.forms.edit;
65 | form.onsubmit = function (e) {
66 | e.preventDefault();
67 | var newStudent = {
68 | id: id,
69 | lastname: document.getElementById("LastNameinput").value,
70 | firstmidname: document.getElementById("FirstMidNameinput").value,
71 | enrollmentdate: document.getElementById("EnrollmentDateinput").value
72 | }
73 |
74 | StudentModule.updateStudent(id, newStudent, function () {
75 | window.location.href = "index.html";
76 | });
77 | }
78 | };
79 |
80 | //Go back to home without saving changes
81 | function setupReturn() {
82 | document.getElementById('btncancel').addEventListener('click', function () {
83 | window.location.href = "index.html";
84 | });
85 | }
--------------------------------------------------------------------------------
/Others/JaySimpleSite/Web.Debug.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
17 |
18 |
19 |
30 |
31 |
--------------------------------------------------------------------------------
/Others/JaySimpleSite/Web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Others/JaySimpleSite/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Jays simple demo site
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Last Name
14 | First Name
15 | Enrol Date
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Others/JaySimpleSite/js/internet.js:
--------------------------------------------------------------------------------
1 | var Internet = (function () {
2 | return {
3 | getStudents: function (callback) {
4 | var xhttp = new XMLHttpRequest();
5 |
6 | //This gets triggered when the state of the xhttp object changes
7 | xhttp.onreadystatechange = function () {
8 | // 4 - repsonse is ready, 200 success code
9 | if (xhttp.readyState == 4 && xhttp.status == 200) {
10 | loadedStudents();
11 | }
12 | }
13 |
14 | // Build up our request and send it - true for async
15 | xhttp.open("GET", "http://msauniversity.azurewebsites.net/api/Students", true);
16 | xhttp.setRequestHeader("Content-type", "application/json");
17 | xhttp.send(null);
18 |
19 | // Parse and send the studentlist data back to index.js
20 | function loadedStudents() {
21 | var studentsList = JSON.parse(xhttp.responseText);
22 | callback(studentsList);
23 | return studentsList;
24 | }
25 | }
26 | }
27 | }
28 |
29 | ()
30 |
31 | );
--------------------------------------------------------------------------------
/Others/JaySimpleSite/js/loader.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function()
2 | {
3 | var controller = document.body.getAttribute("data-controller");
4 | if(controller === "students")
5 | {
6 | // this stuff is working
7 | loadStudentTable(controller);
8 | }
9 | });
10 |
11 | // This starts loading the table
12 | function loadStudentTable(controller)
13 | {
14 | Internet.getStudents(function (studentsList)
15 | {
16 | setupStudentTable(studentsList);
17 | });
18 | }
19 |
20 | // parameter students is a list
21 | function setupStudentTable(students)
22 | {
23 | var studentTable = document.getElementById("studentTable");
24 |
25 | for(i=0; i < students.length; i++)
26 | {
27 | var row = document.createElement("tr");
28 |
29 | var col_lastname = document.createElement("td");
30 | var col_firstname = document.createElement("td");
31 | var col_enrol = document.createElement("td");
32 |
33 | col_lastname.innerHTML = students[i].LastName;
34 | col_firstname.innerHTML = students[i].FirstMidName;
35 | col_enrol.innerHTML = students[i].EnrollmentDate;
36 |
37 | row.appendChild(col_lastname);
38 | row.appendChild(col_firstname);
39 | row.appendChild(col_enrol);
40 |
41 |
42 | studentTable.appendChild(row);
43 |
44 | }
45 | }
--------------------------------------------------------------------------------
/Others/JaySimpleSite/readme.md:
--------------------------------------------------------------------------------
1 | This is a simplified version of the Full/Complete code.
2 |
3 | This site only contains 3 main parts:
4 |
5 | index.html - basic HTMl interface with tables and IDs setup
6 | loader.js - The javascript file that generates the table
7 | internet.js - The javascript file that communicates with the internet (back end API)
8 |
--------------------------------------------------------------------------------
/Others/_images/API I/1-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API I/1-1.PNG
--------------------------------------------------------------------------------
/Others/_images/API I/1-2.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API I/1-2.PNG
--------------------------------------------------------------------------------
/Others/_images/API I/1-3.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API I/1-3.PNG
--------------------------------------------------------------------------------
/Others/_images/API I/2-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API I/2-1.PNG
--------------------------------------------------------------------------------
/Others/_images/API I/3-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API I/3-1.PNG
--------------------------------------------------------------------------------
/Others/_images/API I/3-2.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API I/3-2.PNG
--------------------------------------------------------------------------------
/Others/_images/API I/5-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API I/5-1.PNG
--------------------------------------------------------------------------------
/Others/_images/API I/5-2.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API I/5-2.PNG
--------------------------------------------------------------------------------
/Others/_images/API I/5-3.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API I/5-3.PNG
--------------------------------------------------------------------------------
/Others/_images/API II/2-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API II/2-1.PNG
--------------------------------------------------------------------------------
/Others/_images/API II/2-2.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API II/2-2.PNG
--------------------------------------------------------------------------------
/Others/_images/API II/2-3.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/API II/2-3.PNG
--------------------------------------------------------------------------------
/Others/_images/Authentication/Step 1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Authentication/Step 1.PNG
--------------------------------------------------------------------------------
/Others/_images/Authentication/Step 2.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Authentication/Step 2.PNG
--------------------------------------------------------------------------------
/Others/_images/Authentication/Step 3.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Authentication/Step 3.PNG
--------------------------------------------------------------------------------
/Others/_images/Authentication/Step 4.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Authentication/Step 4.PNG
--------------------------------------------------------------------------------
/Others/_images/Authentication/Step 5.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Authentication/Step 5.PNG
--------------------------------------------------------------------------------
/Others/_images/Authentication/Step 6.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Authentication/Step 6.PNG
--------------------------------------------------------------------------------
/Others/_images/Authentication/Step 7.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Authentication/Step 7.PNG
--------------------------------------------------------------------------------
/Others/_images/Authentication/Step 8.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Authentication/Step 8.PNG
--------------------------------------------------------------------------------
/Others/_images/Pre day 2/1-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Pre day 2/1-1.PNG
--------------------------------------------------------------------------------
/Others/_images/Pre day 2/2-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Pre day 2/2-1.PNG
--------------------------------------------------------------------------------
/Others/_images/Pre day 2/2-2.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Pre day 2/2-2.PNG
--------------------------------------------------------------------------------
/Others/_images/Pre day 2/2-3.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Pre day 2/2-3.PNG
--------------------------------------------------------------------------------
/Others/_images/Web II/3.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Web II/3.PNG
--------------------------------------------------------------------------------
/Others/_images/Web II/4-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Web II/4-1.PNG
--------------------------------------------------------------------------------
/Others/_images/Web II/4-2a.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Web II/4-2a.PNG
--------------------------------------------------------------------------------
/Others/_images/Web II/4-2b.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Web II/4-2b.PNG
--------------------------------------------------------------------------------
/Others/_images/Web II/4-3a.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Web II/4-3a.PNG
--------------------------------------------------------------------------------
/Others/_images/Web II/4-3b.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Web II/4-3b.PNG
--------------------------------------------------------------------------------
/Others/_images/Web II/4-4.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Web II/4-4.PNG
--------------------------------------------------------------------------------
/Others/_images/Web II/4-5.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Web II/4-5.PNG
--------------------------------------------------------------------------------
/Others/_images/Web II/4-6.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/Web II/4-6.PNG
--------------------------------------------------------------------------------
/Others/_images/git/2a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/git/2a.png
--------------------------------------------------------------------------------
/Others/_images/git/2b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/git/2b.png
--------------------------------------------------------------------------------
/Others/_images/git/3a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/git/3a.png
--------------------------------------------------------------------------------
/Others/_images/git/3b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/git/3b.png
--------------------------------------------------------------------------------
/Others/_images/git/5a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/git/5a.png
--------------------------------------------------------------------------------
/Others/_images/git/5b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/git/5b.png
--------------------------------------------------------------------------------
/Others/_images/jQuery Plugins/1-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/jQuery Plugins/1-1.PNG
--------------------------------------------------------------------------------
/Others/_images/jQuery Plugins/1-2.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/jQuery Plugins/1-2.PNG
--------------------------------------------------------------------------------
/Others/_images/jQuery Plugins/2-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/jQuery Plugins/2-1.PNG
--------------------------------------------------------------------------------
/Others/_images/jQuery Plugins/3-1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ovishesh/MSA-2015-16/965d6945818f8f963e5fa9161c3628676a8aa4bb/Others/_images/jQuery Plugins/3-1.PNG
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MSA-2015-16
2 |
3 | Please refer to the [Assessment and FAQ](/Assessment and FAQ/) section for any questions.
--------------------------------------------------------------------------------