apollodec/Apollo/assets/js/config.router.js
2017-12-01 15:50:01 +05:30

359 lines
15 KiB
JavaScript

'use strict';
/**
* Config for the router
*/
app.config(['$stateProvider', '$urlRouterProvider', '$controllerProvider', '$compileProvider', '$filterProvider', '$provide', '$ocLazyLoadProvider', 'JS_REQUIRES',
function ($stateProvider, $urlRouterProvider, $controllerProvider, $compileProvider, $filterProvider, $provide, $ocLazyLoadProvider, jsRequires) {
app.controller = $controllerProvider.register;
app.directive = $compileProvider.directive;
app.filter = $filterProvider.register;
app.factory = $provide.factory;
app.service = $provide.service;
app.constant = $provide.constant;
app.value = $provide.value;
// LAZY MODULES
$ocLazyLoadProvider.config({
debug: false,
events: true,
modules: jsRequires.modules
});
// APPLICATION ROUTES
// -----------------------------------
$urlRouterProvider.otherwise("/login/signin");
//
// Set up the states
$stateProvider
// Login routes
.state('login', {
url: '/login',
template: '<div ui-view class="fade-in-right-big smooth"></div>',
resolve: loadSequence('modernizr', 'moment', 'angularMoment', 'uiSwitch', 'perfect-scrollbar-plugin', 'toaster', 'ngAside', 'vAccordion', 'sweet-alert', 'chartjs', 'tc.chartjs', 'oitozero.ngSweetAlert', 'chatCtrl'),
abstract: true
}).state('login.signin', {
url: '/signin',
templateUrl: "assets/views/login_login.html",
resolve: loadSequence('loginCtrl')
}).state('login.forgot', {
url: '/forgot',
templateUrl: "assets/views/login_forgot.html",
resolve: loadSequence('forgetCtrl')
}).state('login.registration', {
url: '/registration',
templateUrl: "assets/views/login_registration.html"
}).state('login.lockscreen', {
url: '/lock',
templateUrl: "assets/views/login_lock_screen.html"
})
.state('app', {
url: "/app",
templateUrl: "assets/views/app.html",
resolve: loadSequence('sessionCtrl', 'modernizr', 'moment', 'angularMoment', 'uiSwitch', 'perfect-scrollbar-plugin', 'toaster', 'ngAside', 'vAccordion', 'sweet-alert', 'chartjs', 'tc.chartjs', 'oitozero.ngSweetAlert', 'chatCtrl'),
abstract: true
}).state('app.dashboard', {
url: "/dashboard",
templateUrl: "assets/views/dashboard.html",
resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'dashboardCtrl','ngTable'),
title: 'Dashboard',
ncyBreadcrumb: {
label: 'Dashboard'
}
}).state('app.changePassword', {
url: "/changePassword",
templateUrl: "assets/views/changePassword.html",
resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'ngTable', 'changePasswordCtrl'),
title: "Change Password",
ncyBreadcrumb: {
label: 'Change Password'
}
}).state('app.master', {
url: '/master',
template: '<div ui-view class="fade-in-up"></div>',
title: 'Master Details',
ncyBreadcrumb: {
label: 'Master Details'
}
}).state('app.master.branch', {
url: '/branch',
templateUrl: "assets/views/branchDetails.html",
title: 'Branch',
resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'branchCtrl','ngTable'),
icon: 'ti-layout-media-left-alt',
ncyBreadcrumb: {
label: 'Branch'
}
})
.state('app.master.employee', {
url: '/employee',
templateUrl: "assets/views/employeeDetails.html",
title: 'Employee',
resolve: loadSequence('ui.select','spin', 'ui.mask', 'ladda', 'angular-ladda', 'employeeCtrl', 'ngTable'),
ncyBreadcrumb: {
label: 'Employee'
}
}).state('app.master.staff', {
url: '/staff',
templateUrl: "assets/views/ui_buttons.html",
title: 'Staff',
resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'laddaCtrl'),
ncyBreadcrumb: {
label: 'Staff'
}
}).state('app.master.batch', {
url: '/batch',
templateUrl: "assets/views/batch.html",
title: 'Batch',
resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'batchCtrl','ngTable'),
ncyBreadcrumb: {
label: 'Batch'
}
}).state('app.master.university', {
url: '/university',
templateUrl: "assets/views/university.html",
title: 'University',
resolve: loadSequence('ui.select','spin', 'ui.mask', 'ladda', 'angular-ladda', 'universityCtrl', 'ngTable'),
ncyBreadcrumb: {
label: 'University'
},
//resolve: loadSequence('iconsCtrl')
}).state('app.master.course', {
url: '/course',
templateUrl: "assets/views/courseDetails.html",
title: 'Course',
resolve: loadSequence('ui.select','spin', 'ui.mask', 'ladda', 'angular-ladda', 'courseCtrl', 'ngTable'),
ncyBreadcrumb: {
label: 'Course'
},
// resolve: loadSequence('iconsCtrl')
}).state('app.master.activity', {
url: '/activity',
templateUrl: "assets/views/activity.html",
resolve: loadSequence('activityCtrl','ngTable', 'ladda', 'angular-ladda'),
title: 'Activity',
ncyBreadcrumb: {
label: 'Activity'
},
// resolve: loadSequence('iconsCtrl')
}).state('app.master.announcement', {
url: '/announcement',
templateUrl: "assets/views/announcement/Announcement.html",
resolve: loadSequence('ckeditor-plugin', 'ckeditor', 'announcementCtrl','ladda', 'angular-ladda','ngTable'),
title: 'Announcement',
ncyBreadcrumb: {
label: 'Announcement'
},
}).state('app.student', {
url: '/student',
template: '<div ui-view class="fade-in-up"> <div style="margin: auto; width: 50%;padding: 10px;"> STUDENT DETAILS </div> </div>',
title: 'Student',
ncyBreadcrumb: {
label: 'Student'
}
}).state('app.student.listing', {
url: '/basic',
templateUrl: "assets/views/table_basic.html",
title: 'Basic Tables',
ncyBreadcrumb: {
label: 'Basic'
}
}).state('app.student.studentDetails', {
url: '/studentDetails',
templateUrl: "assets/views/student/student_details.html",
resolve: loadSequence('ui.select','spin', 'ui.mask', 'ladda', 'angular-ladda', 'studentCtrl', 'ngTable'),
title: 'Student Details',
ncyBreadcrumb: {
label: 'Student Details'
}
}).state('app.status', {
url: '/status',
template: '<div ui-view class="fade-in-up"></div>',
title: 'status',
ncyBreadcrumb: {
label: 'status'
}
}).state('app.status.application', {
url: '/application',
templateUrl: "assets/views/form_elements.html",
title: 'application',
ncyBreadcrumb: {
label: 'application'
},
// resolve: loadSequence('ui.select', 'monospaced.elastic', 'ui.mask', 'touchspin-plugin', 'selectCtrl')
}).state('app.status.fees', {
url: '/fees',
templateUrl: "assets/views/form_xeditable.html",
title: 'fees',
ncyBreadcrumb: {
label: 'fees'
},
// resolve: loadSequence('xeditable', 'checklist-model', 'xeditableCtrl')
}).state('app.status.answerbooklet', {
url: '/answerbooklet',
templateUrl: "assets/views/form_text_editor.html",
title: 'answerbooklet',
ncyBreadcrumb: {
label: 'answerbooklet'
},
// resolve: loadSequence('ckeditor-plugin', 'ckeditor', 'ckeditorCtrl')
}).state('app.status.studymaterial', {
url: '/studymaterial',
templateUrl: "assets/views/form_wizard.html",
title: 'studymaterial',
ncyBreadcrumb: {
label: 'studymaterial'
},
// resolve: loadSequence('wizardCtrl')
}).state('app.status.certificate', {
url: '/certificate',
templateUrl: "assets/views/form_validation.html",
title: 'certificate',
ncyBreadcrumb: {
label: 'certificate'
},
// resolve: loadSequence('validationCtrl')
}).state('app.tracking', {
url: '/tracking',
templateUrl: "assets/views/callTrackingDetails.html",
title: 'tracking',
resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'callTrackingCtrl','ngTable'),
ncyBreadcrumb: {
label: 'tracking'
}
}).state('app.trackingFollowup', {
url: '/tracking_followup',
templateUrl: "assets/views/callTrackingFollowup.html",
title: 'tracking followup',
resolve: loadSequence('spin', 'ladda', 'angular-ladda', 'callTrackingCtrl','ngTable'),
ncyBreadcrumb: {
label: 'tracking followup'
}
}).state('app.daybook', {
url: '/daybook',
template: '<div ui-view class="fade-in-up"></div>',
title: 'daybook',
ncyBreadcrumb: {
label: 'daybook'
}
}).state('app.daybook.income', {
url: '/income',
templateUrl: "assets/views/utility_search_result.html",
title: 'income Results',
ncyBreadcrumb: {
label: 'income Results'
}
}).state('app.daybook.expense', {
url: '/expense',
templateUrl: "assets/views/utility_pricing_table.html",
title: 'expense Table',
ncyBreadcrumb: {
label: 'expense Table'
}
}).state('app.daybook.daybook', {
url: '/daybook',
templateUrl: "assets/views/utility_pricing_table.html",
title: 'daybook Table',
ncyBreadcrumb: {
label: 'daybook Table'
}
}).state('app.mydetails', {
url: "/mydetails",
templateUrl: "assets/views/maps.html",
resolve: loadSequence('ngMap', 'mapsCtrl'),
title: "mydetails",
ncyBreadcrumb: {
label: 'mydetails'
}
}).state('app.announcement', {
url: '/announcement',
template: '<div ui-view class="fade-in-up"></div>',
title: 'announcement',
ncyBreadcrumb: {
label: 'announcement'
}
}).state('app.announcement.listing', {
url: '/listing',
templateUrl: "assets/views/utility_search_result.html",
title: 'listing Results',
ncyBreadcrumb: {
label: 'listing Results'
}
}).state('app.announcementannouncement.addannouncement', {
url: '/addannouncement',
templateUrl: "assets/views/utility_pricing_table.html",
title: 'addannouncement Table',
ncyBreadcrumb: {
label: 'addannouncement Table'
}
}).state('app.charts', {
url: "/charts",
templateUrl: "assets/views/charts.html",
resolve: loadSequence('chartjs', 'tc.chartjs', 'chartsCtrl'),
title: "Charts",
ncyBreadcrumb: {
label: 'Charts'
}
}).state('app.documentation', {
url: "/documentation",
templateUrl: "assets/views/documentation.html",
title: "Documentation",
ncyBreadcrumb: {
label: 'Documentation'
}
}).state('error', {
url: '/error',
template: '<div ui-view class="fade-in-up"></div>'
}).state('error.404', {
url: '/404',
templateUrl: "assets/views/utility_404.html",
}).state('error.500', {
url: '/500',
templateUrl: "assets/views/utility_500.html",
});
// Generates a resolve object previously configured in constant.JS_REQUIRES (config.constant.js)
function loadSequence() {
var _args = arguments;
return {
deps: ['$ocLazyLoad', '$q',
function ($ocLL, $q) {
var promise = $q.when(1);
for (var i = 0, len = _args.length; i < len; i++) {
promise = promiseThen(_args[i]);
}
return promise;
function promiseThen(_arg) {
if (typeof _arg == 'function')
return promise.then(_arg);
else
return promise.then(function () {
var nowLoad = requiredData(_arg);
if (!nowLoad)
return $.error('Route resolve: Bad resource name [' + _arg + ']');
return $ocLL.load(nowLoad);
});
}
function requiredData(name) {
if (jsRequires.modules)
for (var m in jsRequires.modules)
if (jsRequires.modules[m].name && jsRequires.modules[m].name === name)
return jsRequires.modules[m];
return jsRequires.scripts && jsRequires.scripts[name];
}
}]
};
}
}]);