Commit 72700504 authored by Evren Kutar's avatar Evren Kutar

Merge branch 'crudview_works'

parents 12e3097e 5e87049c
...@@ -38,12 +38,14 @@ crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $htt ...@@ -38,12 +38,14 @@ crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $htt
if (form.$valid) { if (form.$valid) {
Generator.submit($scope) Generator.submit($scope)
.success(function (data) { .success(function (data) {
$location.path('/crud/' + $scope.form_params.model).search(data); $location.path('/crud/' + $scope.form_params.model + '/' + $scope.form_params.param + '/' + $scope.form_params.id).search(data);
}) })
.error(function (data) { .error(function (data) {
$scope.message = data.title; $scope.message = data.title;
}); });
} }
}; };
}); });
...@@ -83,10 +85,9 @@ crud.controller('CRUDShowCtrl', function ($scope, $rootScope, $location, Generat ...@@ -83,10 +85,9 @@ crud.controller('CRUDShowCtrl', function ($scope, $rootScope, $location, Generat
}; };
// call generator's get_single_item func // call generator's get_single_item func
Generator.get_single_item($scope).then(function (res) { Generator.get_single_item($scope).then(function (res) {
console.log(res.data.nobjects);
// if no data to show redirect to add/edit view // if no data to show redirect to add/edit view
//if (res.data.nobjects[0] === "-1") { //if (res.data.nobjects[0] === "-1") {
// $location.path('crud/' + $scope.form_params.model + '/' + $scope.form_params.param + '/' + $scope.form_params.object_id + '/edit'); // $location.path('crud/' + $scope.form_params.model + '/' + $scope.form_params.param + '/' + $scope.form_params.id + '/edit');
//} //}
$scope.listobjects = {}; $scope.listobjects = {};
$scope.object = res.data.object; $scope.object = res.data.object;
...@@ -96,7 +97,7 @@ crud.controller('CRUDShowCtrl', function ($scope, $rootScope, $location, Generat ...@@ -96,7 +97,7 @@ crud.controller('CRUDShowCtrl', function ($scope, $rootScope, $location, Generat
$scope.listobjects[key] = value; $scope.listobjects[key] = value;
delete $scope.object[key]; delete $scope.object[key];
} }
}); debugger; });
$scope.model = $routeParams.model; $scope.model = $routeParams.model;
......
...@@ -56,7 +56,7 @@ app.directive('headerNotification', function ($http, $rootScope, $interval, REST ...@@ -56,7 +56,7 @@ app.directive('headerNotification', function ($http, $rootScope, $interval, REST
// when clicked mark as read notification // when clicked mark as read notification
// it can be list of notifications // it can be list of notifications
$scope.markAsRead = function (items) { $scope.markAsRead = function (items) {
$http.post(RESTURL.url+"notify", {ignoreLoadingBar: true, read: items}) $http.post(RESTURL.url+"notify", {ignoreLoadingBar: true, read: [items]})
.success(function (data) { .success(function (data) {
console.log(data); console.log(data);
}); });
......
...@@ -52,11 +52,17 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL, Form ...@@ -52,11 +52,17 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL, Form
* prepareforms checks input types and convert if necessary * prepareforms checks input types and convert if necessary
*/ */
angular.forEach(scope.schema.properties, function (v, k) { angular.forEach(scope.schema.properties, function (v, k) {
// check if type is date and if type date found change it to string
// generically change _id fields model value
if (k == scope.form_params.param) {
scope.model[k] = scope.form_params.id;
scope.form.splice(scope.form.indexOf(k), 1);
return;
}
if (v.type === 'submit' || v.type === 'button') { if (v.type === 'submit' || v.type === 'button') {
//k.type = 'button';
debugger;
scope.form[scope.form.indexOf(k)] = { scope.form[scope.form.indexOf(k)] = {
type: v.type, type: v.type,
title: v.title, title: v.title,
...@@ -64,6 +70,8 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL, Form ...@@ -64,6 +70,8 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL, Form
}; };
} }
// check if type is date and if type date found change it to string
if (v.type === 'date') { if (v.type === 'date') {
v.type = 'string'; v.type = 'string';
scope.model[k] = generator.dateformatter(scope.model[k]); scope.model[k] = generator.dateformatter(scope.model[k]);
...@@ -98,7 +106,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL, Form ...@@ -98,7 +106,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL, Form
if (v.type === 'model') { if (v.type === 'model') {
var formitem = scope.form[scope.form.indexOf(k)]; var formitem = scope.form[scope.form.indexOf(k)];
var modelscope = {"url": scope.url, "form_params": {model: v.model_name, param: scope.form_params.param, id: scope.form_params.id}}; var modelscope = {"url": scope.url, "form_params": {model: v.model_name}};
formitem = { formitem = {
type: "template", type: "template",
...@@ -183,16 +191,10 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL, Form ...@@ -183,16 +191,10 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL, Form
} }
// generically change _id fields model value
if (k == scope.form_params.param) { debugger;
scope.model[k] = scope.form_params.id;
scope.form.splice(scope.form.indexOf(k), 1);
}
}); });
console.log(scope.form);
return scope; return scope;
}; };
generator.dateformatter = function (formObject) { generator.dateformatter = function (formObject) {
...@@ -261,7 +263,6 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL, Form ...@@ -261,7 +263,6 @@ form_generator.factory('Generator', function ($http, $q, $timeout, RESTURL, Form
}; };
// custom form submit for custom submit buttons // custom form submit for custom submit buttons
generator.genericSubmit = function ($scope, data) { generator.genericSubmit = function ($scope, data) {
debugger;
return $http.post(generator.makePostUrl($scope), data); return $http.post(generator.makePostUrl($scope), data);
}; };
generator.submit = function ($scope) { generator.submit = function ($scope) {
...@@ -393,7 +394,7 @@ form_generator.directive('modalForNodes', function ($modal) { ...@@ -393,7 +394,7 @@ form_generator.directive('modalForNodes', function ($modal) {
* @return: openmodal directive * @return: openmodal directive
*/ */
form_generator.directive('addModalForLinkedModel', function ($modal, Generator) { form_generator.directive('addModalForLinkedModel', function ($modal, $route, Generator) {
return { return {
link: function (scope, element) { link: function (scope, element) {
element.on('click', function () { element.on('click', function () {
...@@ -405,7 +406,7 @@ form_generator.directive('addModalForLinkedModel', function ($modal, Generator) ...@@ -405,7 +406,7 @@ form_generator.directive('addModalForLinkedModel', function ($modal, Generator)
resolve: { resolve: {
items: function () { items: function () {
return Generator.get_form({ return Generator.get_form({
url: 'crud', url: 'crud/',
form_params: {'model': scope.form.model_name, "cmd": "add"} form_params: {'model': scope.form.model_name, "cmd": "add"}
}); });
} }
...@@ -414,6 +415,7 @@ form_generator.directive('addModalForLinkedModel', function ($modal, Generator) ...@@ -414,6 +415,7 @@ form_generator.directive('addModalForLinkedModel', function ($modal, Generator)
modalInstance.result.then(function (childmodel, key) { modalInstance.result.then(function (childmodel, key) {
Generator.submit(childmodel); Generator.submit(childmodel);
$route.reload();
}); });
}); });
} }
...@@ -440,7 +442,7 @@ form_generator.directive('editModalForLinkedModel', function ($modal, Generator) ...@@ -440,7 +442,7 @@ form_generator.directive('editModalForLinkedModel', function ($modal, Generator)
resolve: { resolve: {
items: function () { items: function () {
return Generator.get_form({ return Generator.get_form({
url: 'crud', url: 'crud/',
form_params: {'model': scope.form.title, "cmd": "add"} form_params: {'model': scope.form.title, "cmd": "add"}
}); });
} }
......
/*! ulakbus-ui 2015-09-30 */ /*! ulakbus-ui 2015-11-04 */
"use strict";var app=angular.module("ulakbus",["ui.bootstrap","angular-loading-bar","ngRoute","ngSanitize","ngCookies","general","formService","ulakbus.dashboard","ulakbus.auth","ulakbus.crud","ulakbus.version","schemaForm","gettext","templates-prod"]).constant("RESTURL",function(){var backendurl="http://api.ulakbus.net/";if(document.cookie.indexOf("backendurl")>-1){var cookiearray=document.cookie.split(";");angular.forEach(cookiearray,function(item){item.indexOf("backendurl")>-1&&(backendurl=item.split("=")[1])})}if(location.href.indexOf("backendurl")>-1){var urlfromqstr=location.href.split("?")[1].split("=")[1];backendurl=decodeURIComponent(urlfromqstr.replace(/\+/g," ")),document.cookie="backendurl="+backendurl}return{url:backendurl}}()).constant("USER_ROLES",{all:"*",admin:"admin",student:"student",staff:"staff",dean:"dean"}).constant("AUTH_EVENTS",{loginSuccess:"auth-login-success",loginFailed:"auth-login-failed",logoutSuccess:"auth-logout-success",sessionTimeout:"auth-session-timeout",notAuthenticated:"auth-not-authenticated",notAuthorized:"auth-not-authorized"});app.config(["$routeProvider",function($routeProvider){$routeProvider.when("/login",{templateUrl:"components/auth/login.html",controller:"LoginCtrl"}).when("/dashboard",{templateUrl:"components/dashboard/dashboard.html",controller:"DashCtrl"}).when("/:model/add",{templateUrl:"components/crud/templates/add.html",controller:"CRUDAddEditCtrl"}).when("/:model/edit/:id",{templateUrl:"components/crud/templates/add.html",controller:"CRUDAddEditCtrl"}).when("/:model",{templateUrl:"components/crud/templates/list.html",controller:"CRUDListCtrl"}).when("/:model/:id",{templateUrl:"components/crud/templates/show.html",controller:"CRUDShowCtrl"}).when("/staff/add",{templateUrl:"components/staff/templates/add.html",controller:"StaffAddEditCtrl"}).when("/staff/edit/:id",{templateUrl:"components/staff/templates/edit.html",controller:"StaffAddEditCtrl"}).when("/staffs",{templateUrl:"components/staff/templates/list.html",controller:"StaffListCtrl"}).when("/staff/:id",{templateUrl:"components/staff/templates/show.html",controller:"StaffShowCtrl"}).otherwise({redirectTo:"/dashboard"})}]).run(function($rootScope){$rootScope.loggedInUser=!0,$rootScope.$on("$routeChangeStart",function(event,next,current){})}).config(["$httpProvider",function($httpProvider){$httpProvider.defaults.withCredentials=!0}]).run(function(gettextCatalog){gettextCatalog.setCurrentLanguage("tr"),gettextCatalog.debug=!0}).config(["cfpLoadingBarProvider",function(cfpLoadingBarProvider){cfpLoadingBarProvider.includeBar=!1,cfpLoadingBarProvider.parentSelector="loaderdiv",cfpLoadingBarProvider.spinnerTemplate='<div class="loader">Loading...</div>'}]),app.config(["$httpProvider",function($httpProvider){$httpProvider.interceptors.push(function($q,$rootScope,$location){return{request:function(config){return"POST"==config.method&&(config.headers["Content-Type"]="text/plain"),config},response:function(response){return 0==response.data.is_login&&($rootScope.loggedInUser=response.data.is_login,$location.path("/login")),1==response.data.is_login&&($rootScope.loggedInUser=!0,"/login"===$location.path()&&$location.path("/dashboard")),response.data.client_cmd,response},responseError:function(rejection){return 400===rejection.status&&$location.reload(),401===rejection.status&&("/login"===$location.path()?console.log("show errors on login form"):$location.path("/login")),403===rejection.status&&1==rejection.data.is_login&&($rootScope.loggedInUser=!0,console.log("user logged in"),"/login"===$location.path()&&$location.path("/dashboard")),$q.reject(rejection)}}})}]);var general=angular.module("general",[]);general.factory("FormDiff",function(){var formDiff={};return formDiff.get_diff=function(obj1,obj2){var result={};for(key in obj1)obj2[key]!=obj1[key]&&(result[key]=obj1[key]),"array"==typeof obj2[key]&&"array"==typeof obj1[key]&&(result[key]=arguments.callee(obj1[key],obj2[key])),"object"==typeof obj2[key]&&"object"==typeof obj1[key]&&(result[key]=arguments.callee(obj1[key],obj2[key]));return result},formDiff});var form_generator=angular.module("formService",["general"]);form_generator.factory("Generator",function($http,$q,$log,$location,$modal,$timeout,RESTURL,FormDiff,$rootScope){var generator={};return generator.makeUrl=function(url){return RESTURL.url+url},generator.generate=function(scope,data){return data.forms?(angular.forEach(data.forms,function(value,key){scope[key]=data.forms[key]}),scope.token=data.token,scope.initialModel=angular.copy(scope.model),generator.prepareFormItems(scope),scope.object_id=scope.form_params.object_id,$rootScope.showSaveButton=!0,scope):scope},generator.group=function(formObject){return formObject},generator.prepareFormItems=function(scope){return angular.forEach(scope.schema.properties,function(k,v){if("date"==k.type&&(k.type="string",scope.model[v]=generator.dateformatter(scope.model[v]),$timeout(function(){jQuery("#"+v).datepicker({changeMonth:!0,changeYear:!0,dateFormat:"dd.mm.yy",onSelect:function(date){scope.model[v]=date}})})),("int"==k.type||"float"==k.type)&&(k.type="number"),"model"==k.type){var formitem=scope.form[scope.form.indexOf(v)],modelscope={url:scope.url,form_params:{model:k.model_name}};formitem={type:"template",templateUrl:"shared/templates/foreignKey.html",title:k.title,model_name:k.model_name,titleMap:generator.get_list(modelscope).then(function(res){formitem.titleMap=[],angular.forEach(res.data.objects,function(item){formitem.titleMap.push({value:item.key,name:item.data.name?item.data.name:item.data.username})})}),onChange:function(modelValue,form){scope.model[v]=modelValue}},scope.form[scope.form.indexOf(v)]=formitem}("ListNode"==k.type||"Node"==k.type)&&(scope[k.type]=scope[k.type]?scope[k.type]:{},scope[k.type][v]={title:k.title,form:[],schema:{properties:{},required:[],title:k.title,type:"object",formType:k.type,model_name:v},url:scope.url},null==scope.model[v]?scope[k.type][v].model="Node"==k.type?{}:[]:scope[k.type][v].model=scope.model[v],angular.forEach(k.schema,function(item){scope[k.type][v].schema.properties[item.name]=item,1==item.required&&"idx"!=item.name&&scope[k.type][v].schema.required.push(item.name),"idx"==item.name?scope[k.type][v].form.push({type:"string",key:item.name,htmlClass:"hidden"}):scope[k.type][v].form.push(item.name)}),scope[k.type][v].lengthModels=scope.model[v]?1:0)}),scope},generator.dateformatter=function(formObject){var ndate=new Date(formObject);if("Invalid Date"==ndate)return"";var newdatearray=[ndate.getDate(),ndate.getMonth(),ndate.getFullYear()];return newdatearray.join(".")},generator.get_form=function(scope){return $http.post(generator.makeUrl(scope.url),scope.form_params).then(function(res){return generator.generate(scope,res.data)})},generator.get_list=function(scope){return $http.post(generator.makeUrl(scope.url),scope.form_params).then(function(res){return res})},generator.get_single_item=function(scope){return $http.post(generator.makeUrl(scope.url),scope.form_params).then(function(res){return res})},generator.isValidEmail=function(email){var re=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;return re.test(email)},generator.isValidTCNo=function(tcno){var re=/^([1-9]{1}[0-9]{9}[0,2,4,6,8]{1})$/i;return re.test(tcno)},generator.asyncValidators={emailNotValid:function(value){var deferred=$q.defer();return $timeout(function(){generator.isValidEmail(value)?deferred.resolve():deferred.reject()},500),deferred.promise},tcNoNotValid:function(value){var deferred=$q.defer();return $timeout(function(){generator.isValidTCNo(value)?deferred.resolve():deferred.reject()},500),deferred.promise}},generator.submit=function($scope){angular.forEach($scope.ListNode,function(value,key){$scope.model[key]=value.model}),angular.forEach($scope.Node,function(value,key){$scope.model[key]=value.model});var data={form:$scope.model,cmd:$scope.form_params.cmd,subcmd:"do_list",model:$scope.form_params.model,token:$scope.token};return $scope.object_id&&(data.object_id=$scope.object_id),$http.post(generator.makeUrl($scope.url),data)},generator}),form_generator.controller("ModalCtrl",function($scope,$modalInstance,Generator,$route,items){angular.forEach(items,function(value,key){$scope[key]=items[key]}),Generator.prepareFormItems($scope),$scope.onSubmit=function(form){$scope.$broadcast("schemaFormValidate"),console.log(form.$valid),$modalInstance.close($scope)},$scope.cancel=function(){$modalInstance.dismiss("cancel")}}),form_generator.directive("modalForNodes",function($modal){return{link:function(scope,element,attributes){element.on("click",function(){var modalInstance=$modal.open({animation:!1,templateUrl:"shared/templates/listnodeModalContent.html",controller:"ModalCtrl",size:"lg",resolve:{items:function(){var attribs=attributes.modalForNodes.split(","),node=angular.copy(scope.$parent[attribs[1]][attribs[0]]);return"add"==attribs[2]&&(node.model={}),attribs[3]&&(node.model=node.model[attribs[3]]),node.edit=attribs[3],node}}});modalInstance.result.then(function(childmodel,key){"Node"==childmodel.schema.formType&&(scope.$parent[childmodel.schema.formType][childmodel.schema.model_name].model=childmodel.model),"ListNode"==childmodel.schema.formType&&(childmodel.edit?scope.$parent[childmodel.schema.formType][childmodel.schema.model_name].model[childmodel.edit]=childmodel.model:scope.$parent[childmodel.schema.formType][childmodel.schema.model_name].model.push(childmodel.model)),scope.$parent[childmodel.schema.formType][childmodel.schema.model_name].lengthModels+=1})})}}}),form_generator.directive("addModalForLinkedModel",function($modal,Generator){return{link:function(scope,element){element.on("click",function(){var modalInstance=$modal.open({animation:!1,templateUrl:"shared/templates/linkedModelModalContent.html",controller:"ModalCtrl",size:"lg",resolve:{items:function(){return Generator.get_form({url:"crud",form_params:{model:scope.form.model_name,cmd:"add"}})}}});modalInstance.result.then(function(childmodel,key){Generator.submit(childmodel)})})}}}),form_generator.directive("editModalForLinkedModel",function($modal,Generator){return{link:function(scope,element){element.on("click",function(){var modalInstance=$modal.open({animation:!1,templateUrl:"shared/templates/linkedModelModalContent.html",controller:"ModalCtrl",size:"lg",resolve:{items:function(){return Generator.get_form({url:"crud",form_params:{model:scope.form.title,cmd:"add"}})}}});modalInstance.result.then(function(childmodel,key){Generator.submit(childmodel)})})}}}),app.directive("logout",function($http,$location,RESTURL){return{link:function($scope,$element,$rootScope){$element.on("click",function(){$http.post(RESTURL.url+"logout",{}).then(function(){$rootScope.loggedInUser=!1,console.log($rootScope.loggedInUser),$location.path("/login")})})}}}),app.directive("headerNotification",function(){return{templateUrl:"shared/templates/directives/header-notification.html",restrict:"E",replace:!0}}),app.directive("headerSubMenu",function(){return{templateUrl:"shared/templates/directives/header-sub-menu.html",restrict:"E",controller:"CRUDAddEditCtrl",replace:!0,link:function($scope){$scope.triggerSubmit=function(){angular.element($("#submitbutton")).triggerHandler("click"),angular.element($("#submitbutton")).triggerHandler("click")}}}}),app.directive("headerBreadcrumb",function(){return{templateUrl:"shared/templates/directives/header-breadcrumb.html",restrict:"E",replace:!0}}),app.directive("sidebar",["$location",function(){return{templateUrl:"shared/templates/directives/sidebar.html",restrict:"E",replace:!0,scope:{},controller:function($scope,$rootScope,$http,RESTURL,$location,$timeout){$http.post(RESTURL.url+"crud/").success(function(data){$scope.allMenuItems=data.app_models,$scope.menuItems=[],angular.forEach(data.app_models,function(value,key){angular.forEach(value[1],function(v,k){v[1]==$location.path().split("/")[1]?($rootScope.breadcrumblinks=[value[0],v[0]],$scope.menuItems=[$scope.allMenuItems[key]]):$rootScope.breadcrumblinks=["Panel"]})})}),$rootScope.$watch(function($rootScope){return $rootScope.section},function(newindex,oldindex){newindex>-1&&($scope.menuItems=[$scope.allMenuItems[newindex]],$scope.collapseVar=1,$timeout(function(){$("#side-menu").metisMenu()}))}),$scope.selectedMenu=$location.path(),$scope.collapseVar=0,$scope.multiCollapseVar=0,$scope.check=function(x){x==$scope.collapseVar?$scope.collapseVar=0:$scope.collapseVar=x},$scope.breadcrumb=function(itemlist){$rootScope.breadcrumblinks=itemlist,$rootScope.showSaveButton=!1},$scope.multiCheck=function(y){y==$scope.multiCollapseVar?$scope.multiCollapseVar=0:$scope.multiCollapseVar=y}}}}]),app.directive("stats",function(){return{templateUrl:"shared/templates/directives/stats.html",restrict:"E",replace:!0,scope:{model:"=",comments:"@",number:"@",name:"@",colour:"@",details:"@",type:"@","goto":"@"}}}),app.directive("notifications",function(){return{templateUrl:"shared/templates/directives/notifications.html",restrict:"E",replace:!0}}),app.directive("sidebarSearch",function(){return{templateUrl:"shared/templates/directives/sidebar-search.html",restrict:"E",replace:!0,scope:{},controller:function($scope){$scope.selectedMenu="home"}}}),app.directive("timeline",function(){return{templateUrl:"shared/templates/directives/timeline.html",restrict:"E",replace:!0}}),app.directive("chat",function(){return{templateUrl:"shared/templates/directives/chat.html",restrict:"E",replace:!0}});var auth=angular.module("ulakbus.auth",["ngRoute","schemaForm","ngCookies","general"]);auth.controller("LoginCtrl",function($scope,$q,$timeout,$routeParams,Generator,LoginService){$scope.url="login",$scope.form_params={},$scope.form_params.clear_wf=1,Generator.get_form($scope).then(function(data){$scope.form=[{key:"username",type:"string",title:"Kullanıcı Adı"},{key:"password",type:"password",title:"Şifre"},{type:"submit",title:"Giriş Yap"}]}),$scope.onSubmit=function(form){$scope.$broadcast("schemaFormValidate"),form.$valid?LoginService.login($scope.url,$scope.model).error(function(data){$scope.message=data.title}):console.log("not valid")}}),auth.factory("LoginService",function($http,$rootScope,$location,$log,$cookies,$window,Session,RESTURL){var loginService={};return loginService.login=function(url,credentials){return credentials={login_crd:credentials,cmd:"do"},$http.post(RESTURL.url+url,credentials).success(function(data,status,headers,config){}).error(function(data,status,headers,config){return data})},loginService.logout=function(){$http.post(RESTURL.url+"logout",{}).then(function(){$rootScope.loggedInUser=!1,$location.path("/login")})},loginService.isAuthenticated=function(){return!!Session.userId},loginService.isAuthorized=function(authorizedRoles){return angular.isArray(authorizedRoles)||(authorizedRoles=[authorizedRoles]),loginService.isAuthenticated()&&-1!==loginService.indexOf(Session.userRole)},loginService.isValidEmail=function(email){var re=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;return re.test(email)},loginService}),auth.service("Session",function(){this.create=function(sessionId,userId,userRole){this.id=sessionId,this.userId=userId,this.userRole=userRole},this.destroy=function(){this.id=null,this.userId=null,this.userRole=null}}),auth.factory("LoginService",function($http,$rootScope,$location,$log,$cookies,$window,Session,RESTURL){var loginService={};return loginService.login=function(url,credentials){return credentials.cmd="do",$http.post(RESTURL.url+url,credentials).success(function(data,status,headers,config){$rootScope.loggedInUser=!0}).error(function(data,status,headers,config){return data})},loginService.logout=function(){console.log("logout"),$http.post(RESTURL.url+"logout",{}).then(function(){$rootScope.loggedInUser=!1,$location.path("/login")}),console.log("loggedout")},loginService.isAuthenticated=function(){return!!Session.userId},loginService.isAuthorized=function(authorizedRoles){return angular.isArray(authorizedRoles)||(authorizedRoles=[authorizedRoles]),loginService.isAuthenticated()&&-1!==loginService.indexOf(Session.userRole)},loginService.isValidEmail=function(email){var re=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;return re.test(email)},loginService}),auth.service("Session",function(){this.create=function(sessionId,userId,userRole){this.id=sessionId,this.userId=userId,this.userRole=userRole},this.destroy=function(){this.id=null,this.userId=null,this.userRole=null}}),angular.module("ulakbus.dashboard",["ngRoute"]).controller("DashCtrl",function($scope,$rootScope,$location){$scope.section=function(section_index){$rootScope.section=section_index}});var crud=angular.module("ulakbus.crud",["ngRoute","schemaForm","formService","ui.bootstrap"]);crud.controller("CRUDAddEditCtrl",function($scope,$rootScope,$location,$http,$log,$modal,$timeout,Generator,$routeParams){$scope.url="crud",$scope.form_params={model:$routeParams.model},$routeParams.id?($scope.form_params.object_id=$routeParams.id,$scope.form_params.cmd="edit"):$scope.form_params.cmd="add",$routeParams.model&&Generator.get_form($scope),$scope.onSubmit=function(form){$scope.$broadcast("schemaFormValidate"),form.$valid&&Generator.submit($scope).success(function(data){$location.path($scope.form_params.model).search(data)}).error(function(data){$scope.message=data.title})}}),crud.controller("CRUDListCtrl",function($scope,$rootScope,Generator,$routeParams){$scope.url="crud",$scope.form_params={model:$routeParams.model},$routeParams.nobjects?($scope.nobjects=$routeParams.nobjects,$scope.model=$routeParams.model):Generator.get_list($scope).then(function(res){$scope.nobjects=res.data.nobjects,$scope.model=$routeParams.model})}),crud.controller("CRUDShowCtrl",function($scope,$rootScope,Generator,$routeParams){$scope.url="crud",$scope.form_params={object_id:$routeParams.id,cmd:"show",model:$routeParams.model},Generator.get_single_item($scope).then(function(res){$scope.listobjects={},$scope.object=res.data.object,angular.forEach($scope.object,function(value,key){"object"==typeof value&&($scope.listobjects[key]=value,delete $scope.object[key])}),$scope.model=$routeParams.model})}),angular.module("ulakbus.version",["ulakbus.version.interpolate-filter","ulakbus.version.version-directive"]).value("version","0.3.0"),angular.module("ulakbus.version.interpolate-filter",[]).filter("interpolate",["version",function(version){return function(text){return String(text).replace(/\%VERSION\%/gm,version)}}]),angular.module("ulakbus.version.version-directive",[]).directive("appVersion",["version",function(version){return function(scope,elm,attrs){elm.text(version)}}]); "use strict";var app=angular.module("ulakbus",["ui.bootstrap","angular-loading-bar","ngRoute","ngSanitize","ngCookies","general","formService","ulakbus.dashboard","ulakbus.auth","ulakbus.error_pages","ulakbus.crud","ulakbus.wf","ulakbus.version","gettext","templates-prod"]).constant("RESTURL",function(){var backendurl="http://api.ulakbus.net/";if(document.cookie.indexOf("backendurl")>-1){var cookiearray=document.cookie.split(";");angular.forEach(cookiearray,function(item){item.indexOf("backendurl")>-1&&(backendurl=item.split("=")[1])})}if(location.href.indexOf("backendurl")>-1){var urlfromqstr=location.href.split("?")[1].split("=")[1];backendurl=decodeURIComponent(urlfromqstr.replace(/\+/g," ")),document.cookie="backendurl="+backendurl,window.location.href=window.location.href.split("?")[0]}return{url:backendurl}}()).constant("USER_ROLES",{all:"*",admin:"admin",student:"student",staff:"staff",dean:"dean"}).constant("AUTH_EVENTS",{loginSuccess:"auth-login-success",loginFailed:"auth-login-failed",logoutSuccess:"auth-logout-success",sessionTimeout:"auth-session-timeout",notAuthenticated:"auth-not-authenticated",notAuthorized:"auth-not-authorized"});app.config(["$routeProvider",function($routeProvider,$route){$routeProvider.when("/login",{templateUrl:"components/auth/login.html",controller:"LoginCtrl"}).when("/dashboard",{templateUrl:"components/dashboard/dashboard.html",controller:"DashCtrl"}).when("/crud/add/:model/:param/:id",{templateUrl:"components/crud/templates/add.html",controller:"CRUDAddEditCtrl"}).when("/crud/edit/:model/:param/:id/:key",{templateUrl:"components/crud/templates/add.html",controller:"CRUDAddEditCtrl"}).when("/crud/:model/:param/:id",{templateUrl:"components/crud/templates/list.html",controller:"CRUDListCtrl"}).when("/crud/detail/:model/:param/:id/:key",{templateUrl:"components/crud/templates/show.html",controller:"CRUDShowCtrl"}).when("/:model/",{templateUrl:"components/wf/templates/add.html",controller:"WFAddEditCtrl"}).otherwise({redirectTo:"/dashboard"})}]).run(function($rootScope){$rootScope.loggedInUser=!0,$rootScope.$on("$routeChangeStart",function(event,next,current){})}).config(["$httpProvider",function($httpProvider){$httpProvider.defaults.withCredentials=!0}]).run(function(gettextCatalog){gettextCatalog.setCurrentLanguage("tr"),gettextCatalog.debug=!0}).config(["cfpLoadingBarProvider",function(cfpLoadingBarProvider){cfpLoadingBarProvider.includeBar=!1,cfpLoadingBarProvider.parentSelector="loaderdiv",cfpLoadingBarProvider.spinnerTemplate='<div class="loader">Loading...</div>'}]),app.config(["$httpProvider",function($httpProvider){$httpProvider.interceptors.push(function($q,$rootScope,$location,$timeout){return{request:function(config){return"POST"===config.method&&(config.headers["Content-Type"]="text/plain"),config},response:function(response){return response.data.is_login===!1&&($rootScope.loggedInUser=response.data.is_login,$location.path("/login")),response.data.is_login===!0&&($rootScope.loggedInUser=!0,"/login"===$location.path()&&$location.path("/dashboard")),response},responseError:function(rejection){return 400===rejection.status&&$location.reload(),401===rejection.status&&($location.path("/login"),"/login"===$location.path()&&console.log("show errors on login form")),403===rejection.status&&rejection.data.is_login===!0&&($rootScope.loggedInUser=!0,"/login"===$location.path()&&$location.path("/dashboard")),404===rejection.status&&(console.log(404),$location.path("/error/404")),500===rejection.status&&($('<div class="modal"><div class="modal-dialog" style="width:1024px;" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button><h4 class="modal-title" id="exampleModalLabel">500 Server Error</h4></div><div class="modal-body"><p><pre>'+rejection.data.error+'</pre></p></div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Close</button></div></div></div></div>').modal(),$location.path("/error/500")),$q.reject(rejection)}}})}]);var general=angular.module("general",[]);general.factory("FormDiff",function(){var formDiff={};return formDiff.get_diff=function(obj1,obj2){var result={};for(key in obj1)obj2[key]!=obj1[key]&&(result[key]=obj1[key]),"array"==typeof obj2[key]&&"array"==typeof obj1[key]&&(result[key]=arguments.callee(obj1[key],obj2[key])),"object"==typeof obj2[key]&&"object"==typeof obj1[key]&&(result[key]=arguments.callee(obj1[key],obj2[key]));return result},formDiff});var form_generator=angular.module("formService",["general"]);form_generator.factory("Generator",function($http,$q,$timeout,RESTURL,FormDiff,$rootScope){var generator={};return generator.makeUrl=function(scope){var getparams=scope.form_params.param?"?"+scope.form_params.param+"="+scope.form_params.id:"";return RESTURL.url+scope.url+(scope.form_params.model||"")+getparams},generator.generate=function(scope,data){return data.forms?(angular.forEach(data.forms,function(value,key){scope[key]=data.forms[key]}),scope.token=data.token,scope.initialModel=angular.copy(scope.model),generator.prepareFormItems(scope),scope.object_id=scope.form_params.object_id,$rootScope.showSaveButton=!0,scope):scope},generator.group=function(formObject){return formObject},generator.prepareFormItems=function(scope){return angular.forEach(scope.schema.properties,function(v,k){if(k==scope.form_params.param)return scope.model[k]=scope.form_params.id,void scope.form.splice(scope.form.indexOf(k),1);if(("submit"===v.type||"button"===v.type)&&(scope.form[scope.form.indexOf(k)]={type:v.type,title:v.title,onClick:function(){scope.model[v]=1,generator.submit(scope)}}),"date"===v.type&&(v.type="string",scope.model[k]=generator.dateformatter(scope.model[k]),$timeout(function(){jQuery("#"+k).datepicker({changeMonth:!0,changeYear:!0,dateFormat:"dd.mm.yy",onSelect:function(date){scope.model[k]=date}})})),("int"===v.type||"float"===v.type)&&(v.type="number",scope.model[k]=parseInt(scope.model[k])),"text_general"===v.type&&(v.type="string",v["x-schema-form"]={type:"textarea"}),"model"===v.type){var formitem=scope.form[scope.form.indexOf(k)],modelscope={url:scope.url,form_params:{model:v.model_name}};formitem={type:"template",templateUrl:"shared/templates/foreignKey.html",title:v.title,name:v.model_name,model_name:v.model_name,titleMap:generator.get_list(modelscope).then(function(res){formitem.titleMap=[],angular.forEach(res.data.nobjects,function(item){item!==res.data.nobjects[0]&&formitem.titleMap.push({value:item[0],name:item[1]+" "+(item[2]?item[2]:"")+"..."})})}),onSelect:function(item){scope.model[k]=item.value},onDropdownSelect:function(item,inputname){scope.model[k]=item.value,jQuery("input[name="+inputname+"]").val(item.name)}},scope.form[scope.form.indexOf(k)]=formitem}("ListNode"===v.type||"Node"===v.type)&&(scope[v.type]=scope[v.type]||{},scope[v.type][k]={title:v.title,form:[],schema:{properties:{},required:[],title:v.title,type:"object",formType:v.type,model_name:k},url:scope.url},null===scope.model[k]?scope[v.type][k].model="Node"===v.type?{}:[]:scope[v.type][k].model=scope.model[k],angular.forEach(v.schema,function(item){scope[v.type][k].schema.properties[item.name]=item,item.required===!0&&"idx"!==item.name&&scope[v.type][k].schema.required.push(item.name),"idx"===item.name?scope[v.type][k].form.push({type:"string",key:item.name,htmlClass:"hidden"}):scope[v.type][k].form.push(item.name)}),scope[v.type][k].lengthModels=scope.model[k]?1:0)}),console.log(scope.form),scope},generator.dateformatter=function(formObject){var ndate=new Date(formObject);if("Invalid Date"==ndate)return"";var newdatearray=[ndate.getDate(),ndate.getMonth(),ndate.getFullYear()];return newdatearray.join(".")},generator.get_form=function(scope){return $http.post(generator.makeUrl(scope),scope.form_params).then(function(res){return generator.generate(scope,res.data)})},generator.get_list=function(scope){return $http.get(generator.makeUrl(scope)).then(function(res){return res})},generator.get_single_item=function(scope){return $http.post(generator.makeUrl(scope),scope.form_params).then(function(res){return res})},generator.isValidEmail=function(email){var re=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;return re.test(email)},generator.isValidTCNo=function(tcno){var re=/^([1-9]{1}[0-9]{9}[0,2,4,6,8]{1})$/i;return re.test(tcno)},generator.asyncValidators={emailNotValid:function(value){var deferred=$q.defer();return $timeout(function(){generator.isValidEmail(value)?deferred.resolve():deferred.reject()},500),deferred.promise},tcNoNotValid:function(value){var deferred=$q.defer();return $timeout(function(){generator.isValidTCNo(value)?deferred.resolve():deferred.reject()},500),deferred.promise}},generator.genericSubmit=function($scope,data){return $http.post(generator.makePostUrl($scope),data)},generator.submit=function($scope){angular.forEach($scope.ListNode,function(value,key){$scope.model[key]=value.model}),angular.forEach($scope.Node,function(value,key){$scope.model[key]=value.model});var data={form:$scope.model,cmd:$scope.form_params.cmd,subcmd:"do_list",model:$scope.form_params.model,token:$scope.token};return $scope.object_id&&(data.object_id=$scope.object_id),$http.post(generator.makeUrl($scope),data).success(function(data){data.forms&&(generator.generate($scope,data),$scope.$broadcast("schemaFormRedraw"))})},generator}),form_generator.controller("ModalCtrl",function($scope,$modalInstance,Generator,items){angular.forEach(items,function(value,key){$scope[key]=items[key]}),Generator.prepareFormItems($scope),$scope.onSubmit=function(form){$scope.$broadcast("schemaFormValidate"),console.log(form.$valid),$modalInstance.close($scope)},$scope.cancel=function(){$modalInstance.dismiss("cancel")}}),form_generator.directive("modalForNodes",function($modal){return{link:function(scope,element,attributes){element.on("click",function(){var modalInstance=$modal.open({animation:!1,templateUrl:"shared/templates/listnodeModalContent.html",controller:"ModalCtrl",size:"lg",resolve:{items:function(){var attribs=attributes.modalForNodes.split(","),node=angular.copy(scope.$parent[attribs[1]][attribs[0]]);return"add"===attribs[2]&&(node.model={}),attribs[3]&&(node.model=node.model[attribs[3]]),node.edit=attribs[3],node}}});modalInstance.result.then(function(childmodel,key){"Node"===childmodel.schema.formType&&(scope.$parent[childmodel.schema.formType][childmodel.schema.model_name].model=childmodel.model),"ListNode"===childmodel.schema.formType&&(childmodel.edit?scope.$parent[childmodel.schema.formType][childmodel.schema.model_name].model[childmodel.edit]=childmodel.model:scope.$parent[childmodel.schema.formType][childmodel.schema.model_name].model.push(childmodel.model)),scope.$parent[childmodel.schema.formType][childmodel.schema.model_name].lengthModels+=1})})}}}),form_generator.directive("addModalForLinkedModel",function($modal,$route,Generator){return{link:function(scope,element){element.on("click",function(){var modalInstance=$modal.open({animation:!1,templateUrl:"shared/templates/linkedModelModalContent.html",controller:"ModalCtrl",size:"lg",resolve:{items:function(){return Generator.get_form({url:"crud/",form_params:{model:scope.form.model_name,cmd:"add"}})}}});modalInstance.result.then(function(childmodel,key){Generator.submit(childmodel),$route.reload()})})}}}),form_generator.directive("editModalForLinkedModel",function($modal,Generator){return{link:function(scope,element){element.on("click",function(){var modalInstance=$modal.open({animation:!1,templateUrl:"shared/templates/linkedModelModalContent.html",controller:"ModalCtrl",size:"lg",resolve:{items:function(){return Generator.get_form({url:"crud/",form_params:{model:scope.form.title,cmd:"add"}})}}});modalInstance.result.then(function(childmodel,key){Generator.submit(childmodel)})})}}}),app.directive("logout",function($http,$location,RESTURL){return{link:function($scope,$element,$rootScope){$element.on("click",function(){$http.post(RESTURL.url+"logout",{}).then(function(){$rootScope.loggedInUser=!1,$location.path("/login")})})}}}),app.directive("headerNotification",function($http,$rootScope,$interval,RESTURL){return{templateUrl:"shared/templates/directives/header-notification.html",restrict:"E",replace:!0,link:function($scope){$scope.getNotifications=function(){$http.get(RESTURL.url+"notify",{ignoreLoadingBar:!0}).success(function(data){$scope.notifications={1:[],2:[],3:[],4:[]},angular.forEach(data.notifications,function(value,key){$scope.notifications[value.type].push(value)}),$rootScope.$broadcast("notifications",$scope.notifications)})},$scope.getNotifications(),$interval(function(){$scope.getNotifications()},5e3),$scope.markAsRead=function(items){$http.post(RESTURL.url+"notify",{ignoreLoadingBar:!0,read:[items]}).success(function(data){console.log(data)})},$scope.$on("markasread",function(event,data){$scope.markAsRead(data)})}}}),app.directive("collapseMenu",function($timeout){return{templateUrl:"shared/templates/directives/menuCollapse.html",restrict:"E",replace:!0,scope:{},controller:function($scope,$rootScope){$rootScope.collapsed=!1,$rootScope.sidebarPinned=!1,$scope.collapseToggle=function(){$rootScope.collapsed===!1?(jQuery(".sidebar").css("width","62px"),jQuery(".manager-view").css("width","calc(100% - 62px)"),$rootScope.collapsed=!0,$rootScope.sidebarPinned=!1):(jQuery("span.menu-text, span.arrow, .sidebar footer").fadeIn(400),jQuery(".sidebar").css("width","250px"),jQuery(".manager-view").css("width","calc(100% - 250px)"),$rootScope.collapsed=!1,$rootScope.sidebarPinned=!0)},$timeout(function(){$scope.collapseToggle()})}}}),app.directive("headerSubMenu",function(){return{templateUrl:"shared/templates/directives/header-sub-menu.html",restrict:"E",controller:"CRUDAddEditCtrl",replace:!0,link:function($scope){$scope.triggerSubmit=function(){angular.element($("#submitbutton")).triggerHandler("click"),angular.element($("#submitbutton")).triggerHandler("click")}}}}),app.directive("headerBreadcrumb",function(){return{templateUrl:"shared/templates/directives/header-breadcrumb.html",restrict:"E",replace:!0}}),app.directive("selectedUser",function(){return{templateUrl:"shared/templates/directives/selected-user.html",restrict:"E",replace:!1,link:function($scope,$rootScope){$scope.selectedUser=$rootScope.selectedUser}}}),app.directive("sidebar",["$location",function(){return{templateUrl:"shared/templates/directives/sidebar.html",restrict:"E",replace:!0,scope:{},controller:function($scope,$rootScope,$cookies,$route,$http,RESTURL,$location,$timeout){var sidebarmenu=$("#side-menu");sidebarmenu.metisMenu(),$http.get(RESTURL.url+"menu/").success(function(data){$scope.allMenuItems=angular.copy(data),$rootScope.$broadcast("authz",data),$scope.menuItems={other:$scope.allMenuItems.other},$timeout(function(){sidebarmenu.metisMenu()})}),$scope.$on("menuitems",function(event,data){$scope.menuItems[data]=$scope.allMenuItems[data],$scope.menuItems.other=$scope.allMenuItems.other,$timeout(function(){sidebarmenu.metisMenu()})}),$scope.openSidebar=function(){$rootScope.sidebarPinned===!1&&(jQuery("span.menu-text, span.arrow, .sidebar footer, #side-menu").fadeIn(400),jQuery(".sidebar").css("width","250px"),jQuery(".manager-view").css("width","calc(100% - 250px)"),$rootScope.collapsed=!1)},$scope.closeSidebar=function(){$rootScope.sidebarPinned===!1&&(jQuery(".sidebar").css("width","62px"),jQuery(".manager-view").css("width","calc(100% - 62px)"),$rootScope.collapsed=!0)},$rootScope.$watch(function($rootScope){return $rootScope.section},function(newindex,oldindex){newindex>-1&&($scope.menuItems=[$scope.allMenuItems[newindex]],$scope.collapseVar=1)}),$scope.selectedMenu=$location.path(),$scope.collapseVar=0,$scope.multiCollapseVar=0,$scope.check=function(x){x===$scope.collapseVar?$scope.collapseVar=0:$scope.collapseVar=x},$scope.breadcrumb=function(itemlist,$event){$rootScope.breadcrumblinks=itemlist,$rootScope.showSaveButton=!1},$scope.multiCheck=function(y){y===$scope.multiCollapseVar?$scope.multiCollapseVar=0:$scope.multiCollapseVar=y}}}}]),app.directive("stats",function(){return{templateUrl:"shared/templates/directives/stats.html",restrict:"E",replace:!0,scope:{model:"=",comments:"@",number:"@",name:"@",colour:"@",details:"@",type:"@","goto":"@"}}}),app.directive("notifications",function(){return{templateUrl:"shared/templates/directives/notifications.html",restrict:"E",replace:!0}}),app.directive("sidebarSearch",function(){return{templateUrl:"shared/templates/directives/sidebar-search.html",restrict:"E",replace:!0,scope:{},controller:function($scope){$scope.selectedMenu="home"}}});var auth=angular.module("ulakbus.auth",["ngRoute","schemaForm","ngCookies","general"]);auth.controller("LoginCtrl",function($scope,$q,$timeout,$routeParams,Generator,LoginService){$scope.url="login",$scope.form_params={},$scope.form_params.clear_wf=1,Generator.get_form($scope).then(function(data){$scope.form=[{key:"username",type:"string",title:"Kullanıcı Adı"},{key:"password",type:"password",title:"Şifre"},{type:"submit",title:"Giriş Yap"}]}),$scope.onSubmit=function(form){$scope.$broadcast("schemaFormValidate"),form.$valid?LoginService.login($scope.url,$scope.model).error(function(data){$scope.message=data.title}):console.log("not valid")}}),auth.factory("LoginService",function($http,$rootScope,$location,$log,Session,RESTURL){var loginService={};return loginService.login=function(url,credentials){return credentials.cmd="do",$http.post(RESTURL.url+url,credentials).success(function(data,status,headers,config){$rootScope.loggedInUser=!0}).error(function(data,status,headers,config){return data})},loginService.logout=function(){return $log.info("logout"),$http.post(RESTURL.url+"logout",{}).success(function(data){$rootScope.loggedInUser=!1,$location.path("/login")})},loginService.isAuthenticated=function(){return!!Session.userId},loginService.isAuthorized=function(authorizedRoles){return angular.isArray(authorizedRoles)||(authorizedRoles=[authorizedRoles]),loginService.isAuthenticated()&&-1!==loginService.indexOf(Session.userRole)},loginService.isValidEmail=function(email){var re=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;return re.test(email)},loginService}),auth.service("Session",function(){this.create=function(sessionId,userId,userRole){this.id=sessionId,this.userId=userId,this.userRole=userRole},this.destroy=function(){this.id=null,this.userId=null,this.userRole=null}}),angular.module("ulakbus.dashboard",["ngRoute"]).controller("DashCtrl",function($scope,$rootScope,$timeout,$http,$cookies,RESTURL){$scope.section=function(section_index){$rootScope.section=section_index},$scope.$on("authz",function(event,data){$scope.menuitems=data}),$scope.student_kw="",$scope.staff_kw="",$scope.students=[],$scope.staffs=[],$scope.search=function(where){$timeout(function(){"personel"===where&&$scope.staff_kw.length>2&&$scope.getItems(where,$scope.staff_kw).success(function(data){$scope.staffs=data.results}),"ogrenci"===where&&$scope.student_kw.length>2&&$scope.getItems(where,$scope.student_kw).success(function(data){$scope.students=data.results})})},$scope.getItems=function(where,what){return $http.get(RESTURL.url+"ara/"+where+"/"+what)},$scope.select=function(who,type){$rootScope.selectedUser={name:who[0],tcno:who[1],key:who[2]},$rootScope.$broadcast("menuitems",type)},$scope.$on("notifications",function(event,data){$scope.notifications=data}),$scope.markAsRead=function(items){$rootScope.$broadcast("markasread",items)}}).directive("sidebarNotifications",function(){return{templateUrl:"shared/templates/directives/sidebar-notification.html",restrict:"E",replace:!0,link:function($scope){}}});var crud=angular.module("ulakbus.crud",["ui.bootstrap","schemaForm","formService"]);crud.controller("CRUDAddEditCtrl",function($scope,$rootScope,$location,$http,$log,$modal,$timeout,Generator,$routeParams){$scope.url="crud/",$scope.form_params={model:$routeParams.model,param:$routeParams.param,id:$routeParams.id},$routeParams.key?($scope.form_params.object_id=$routeParams.key,$scope.form_params.cmd="edit"):$scope.form_params.cmd="add",$routeParams.model&&Generator.get_form($scope),$scope.onSubmit=function(form){$scope.$broadcast("schemaFormValidate"),form.$valid&&Generator.submit($scope).success(function(data){$location.path("/crud/"+$scope.form_params.model+"/"+$scope.form_params.param+"/"+$scope.form_params.id).search(data)}).error(function(data){$scope.message=data.title})}}),crud.controller("CRUDListCtrl",function($scope,$rootScope,Generator,$routeParams){$scope.url="crud/",$scope.form_params=$routeParams,$routeParams.nobjects?($scope.nobjects=$routeParams.nobjects,$scope.model=$routeParams.model):Generator.get_list($scope).then(function(res){$scope.nobjects=res.data.nobjects,$scope.model=$routeParams.model})}),crud.controller("CRUDShowCtrl",function($scope,$rootScope,$location,Generator,$routeParams){$scope.url="crud/",$scope.form_params={id:$routeParams.id,object_id:$routeParams.key,cmd:"show",param:$routeParams.param,model:$routeParams.model},Generator.get_single_item($scope).then(function(res){$scope.listobjects={},$scope.object=res.data.object,angular.forEach($scope.object,function(value,key){"object"==typeof value&&($scope.listobjects[key]=value,delete $scope.object[key])}),$scope.model=$routeParams.model})}),angular.module("ulakbus.version",["ulakbus.version.interpolate-filter","ulakbus.version.version-directive"]).value("version","0.1.0"),angular.module("ulakbus.version.interpolate-filter",[]).filter("interpolate",["version",function(version){return function(text){return String(text).replace(/\%VERSION\%/gm,version)}}]),angular.module("ulakbus.version.version-directive",[]).directive("appVersion",["version",function(version){return function(scope,elm,attrs){elm.text(version)}}]);
\ No newline at end of file \ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -31,6 +31,22 @@ body { ...@@ -31,6 +31,22 @@ body {
background-color:#999; background-color:#999;
} }
.badge {
border-radius: 100%;
width: 22px;
height: 22px;
padding: 0;
position: absolute;
z-index: 1;
line-height: 19px;
top: 4px;
left: 2px;
background-color: rgba(220, 112, 0, 1);
border: 2px solid #a61229;
font-family: 'robotomedium';
font-weight: normal;
}
.form-control { .form-control {
box-shadow:none; box-shadow:none;
border-radius:0; border-radius:0;
...@@ -52,6 +68,11 @@ body { ...@@ -52,6 +68,11 @@ body {
a { a {
color:#a61229; color:#a61229;
-webkit-transition: all .1s;
-moz-transition: all .1s;
-ms-transition: all .1s;
-o-transition: all .1s;
transition: all .1s;
} }
a:hover { a:hover {
...@@ -63,6 +84,7 @@ a:hover { ...@@ -63,6 +84,7 @@ a:hover {
padding:0; padding:0;
font-size:18px; font-size:18px;
float:left; float:left;
margin-bottom: 0;
} }
/** BRAND **/ /** BRAND **/
...@@ -148,7 +170,6 @@ button.brand-bg:hover { ...@@ -148,7 +170,6 @@ button.brand-bg:hover {
/** END OF LOADER **/ /** END OF LOADER **/
/* Everything but the jumbotron gets side spacing for mobile first views */ /* Everything but the jumbotron gets side spacing for mobile first views */
.header, .header,
.marketing, .marketing,
...@@ -301,6 +322,11 @@ select { ...@@ -301,6 +322,11 @@ select {
position: absolute; position: absolute;
right: 0; right: 0;
background-color:#f5f5f5; background-color:#f5f5f5;
-webkit-transition: all .2s;
-moz-transition: all .2s;
-ms-transition: all .2s;
-o-transition: all .2s;
transition: all .2s;
} }
.manager-view-inner { .manager-view-inner {
...@@ -314,15 +340,16 @@ select { ...@@ -314,15 +340,16 @@ select {
} }
.manager-view-header { .manager-view-header {
width:100%; /*width:100%;*/
padding:10px 15px; width: calc(100% - 300px);
padding:10px;
background-color:#fff; background-color:#fff;
border-bottom:1px solid #ccc; border-bottom:1px solid #ccc;
-webkit-flex-shrink: 0; -webkit-flex-shrink: 0;
flex-shrink: 0; flex-shrink: 0;
position:relative; position:relative;
z-index:1; z-index:1;
height: 98px; height: 43px;
} }
.manager-view-content { .manager-view-content {
...@@ -415,6 +442,20 @@ select { ...@@ -415,6 +442,20 @@ select {
.sidebar { .sidebar {
background-color:#fff; background-color:#fff;
border-right: 1px solid #ccc; border-right: 1px solid #ccc;
-webkit-transition: all .2s;
-moz-transition: all .2s;
-ms-transition: all .2s;
-o-transition: all .2s;
transition: all .2s;
}
.sidebar .fa {
font-size:18px;
margin-right:10px;
}
.sidebar span.menu-text {
display:inline-block;
} }
.sidebar .sidebar-nav.navbar-collapse { .sidebar .sidebar-nav.navbar-collapse {
...@@ -432,6 +473,11 @@ select { ...@@ -432,6 +473,11 @@ select {
border-bottom: 1px solid #DCDCDC; border-bottom: 1px solid #DCDCDC;
} }
.sidebar ul li a {
height:40px;
overflow:hidden;
}
.sidebar ul li a.active { .sidebar ul li a.active {
background-color: #eee; background-color: #eee;
} }
...@@ -461,6 +507,145 @@ select { ...@@ -461,6 +507,145 @@ select {
padding-left: 52px; padding-left: 52px;
} }
.sidebar-person-info {
overflow-x: visible;
overflow-y: auto;
position: absolute;
width: 100%;
max-height: calc(85% - 139px);
background: #fff;
/*display:none;*/ /** angular template will hndle this */
}
.sidebar-person-info .identity {
color:#555;
padding:15px;
padding-bottom: 0px;
}
.sidebar-person-info .identity-header {
border-bottom: 1px solid #ECECEC;
}
.sidebar-person-info .identity-info {
margin-top:10px;
color: #6D6D6D;
border-bottom: 1px solid #ECECEC;
}
.sidebar-person-info .identity-info div {
margin-bottom:4px;
}
.sidebar-person-info .identity-info div div {
float:left;
width:80%;
}
.sidebar-person-info .identity-info span {
float:left;
width:27px;
margin-top: 3px;
}
.sidebar-person-info .identity img {
width:50px;
height:50px;
border-radius:100%;
margin:10px auto;
float:left;
margin-right:10px;
}
.sidebar-person-info .identity p.identity-name {
font-family:'robotomedium';
font-size:16px;
margin-bottom: 0;
margin-top:13px;
}
.sidebar-person-info .identity p.identity-surname {
font-family:'robotomedium';
font-size:16px;
margin-bottom: 0;
text-transform:uppercase;
}
.sidebar-person-info .identity p.identity-email {
float:left;
}
.sidebar-person-info .identity ul {
margin:0;
padding:0;
}
.sidebar-person-info .identity ul li {
list-style:none;
border:none;
}
.sidebar-person-info .person-actions {
}
.sidebar-person-info .person-actions ul {
margin:0;
padding:0;
}
.sidebar-person-info .person-actions ul li {
list-style:none;
border:none;
}
.sidebar-person-info .person-actions ul li a {
text-decoration:none;
color:#555;
display:block;
padding:10px 15px;
font-family: 'robotobold';
}
.sidebar-person-info .person-actions ul li a:hover {
background-color:#f5f5f5;
}
.sidebar-person-info .person-actions ul li a span {
margin-right:13px;
}
.sidebar-person-info .close-sidebar-person-info {
width: 45%;
margin-left: auto;
margin-right: auto;
margin-top: 11px;
border-radius: 5px;
padding: 8px 10px;
text-align: center;
cursor: pointer;
-webkit-transition: all .2s;
-moz-transition: all .2s;
-ms-transition: all .2s;
-o-transition: all .2s;
transition: all .2s;
background-color: #B93939;
color: #fff;
display:block;
}
.sidebar-person-info .close-sidebar-person-info:hover {
background-color:#9A1026;
}
.sidebar-person-info .close-sidebar-person-info span {
font-size: 12px;
color: #555;
margin-right: 6px;
position: relative;
top: -1px;
}
.btn-outline { .btn-outline {
color: inherit; color: inherit;
background-color: transparent; background-color: transparent;
...@@ -843,6 +1028,236 @@ table.dataTable thead .sorting:after { ...@@ -843,6 +1028,236 @@ table.dataTable thead .sorting:after {
color:#fff; color:#fff;
} }
.dashboard-main-search {
width: calc(100% - 300px);
}
.dashboard-main-search .dashboard-student-search h3,
.dashboard-main-search .dashboard-personnel-search h3 {
font-family: 'robotoblack';
color: #5A5A5A;
letter-spacing: 1px;
}
.dashboard-main-search input {
width: 70%;
border-radius: 3px;
border: 1px solid #e0e0e0;
padding: 7px;
outline: none;
border-right: none;
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.dashboard-main-search .fa {
padding: 10px 15px;
border: 1px solid #e0e0e0;
border-bottom-right-radius: 3px;
border-top-right-radius: 3px;
background-color: #FBF9F9;
cursor:pointer;
color:#5A5A5A;
}
.dashboard-student-search {
float: left;
width: 50%;
border-right: 1px solid #e8e8e8;
}
.dashboard-personnel-search {
float: left;
width: 50%;
}
.dashboard-search-results {
width: 80%;
margin-left: auto;
margin-right: auto;
margin-top: 25px;
}
.dashboard-search-results ul {
max-height: 600px;
overflow-y: auto;
padding:0;
webkit-box-shadow: 0 0 4px rgba(0,0,0,0.15);
-moz-box-shadow: 0 0 4px rgba(0,0,0,0.15);
box-shadow: 0 0 4px rgba(0,0,0,0.15);
background-color: #fff;
border-radius: 3px;
}
.dashboard-search-results ul li {
list-style:none;
border-bottom: 1px solid #F3F3F3;
}
.dashboard-search-results ul li:last-child {
border:none;
}
.dashboard-search-results ul li a {
color:#666;
padding: 10px 25px;
display:block;
text-decoration:none;
}
.dashboard-search-results ul li a:hover {
background-color:#f5f5f5;
}
.dashboard-search-results ul li:first-child a:hover {
border-top-left-radius:3px;
border-top-right-radius:3px;
}
.dashboard-search-results ul li:last-child a:hover {
border-bottom-left-radius:3px;
border-bottom-right-radius:3px;
}
.right-sidebar {
width: 300px;
background-color: #FFFFFF;
border-left: 1px solid #ccc;
/*height: calc(100% - 140px);*/
height: calc(100% - 40px);
position: absolute;
top: 0px;
right: 0px;
overflow-y: auto;
}
.right-sidebar-box {
border-bottom: 1px solid #D0D0D0;
}
.right-sidebar-title {
border-bottom: 1px solid #D0D0D0;
padding: 10px;
background-color: #F3F3F3;
}
.right-sidebar-title h3 {
float: left;
margin: 0;
font-size: 16px;
color: #666;
font-weight: bold;
font-family: 'robotobold';
text-transform: uppercase;
line-height:normal;
}
.right-sidebar-title span a {
float: right;
color: #A61229;
text-decoration:none;
}
.right-sidebar-message-block {
border-bottom: 1px solid #F3F3F3;
}
.right-sidebar-message-block:last-child {
border-bottom:none;
}
.right-sidebar-message-block a {
padding: 10px 15px;
display: block;
color: #555;
}
.right-sidebar-message-block a:hover{
background-color:#f5f5f5;
}
.right-sidebar-message-block a img {
width: 30px;
height: 30px;
border-radius: 100%;
float: left;
}
.right-sidebar-message-content {
float: left;
margin-left: 15px;
position:relative;
width: calc(100% - 50px);
}
.right-sidebar-message-content div:nth-child(1) {
width: 180px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
font-family: 'robotomedium';
font-size: 15px;
margin-top: -5px;
}
.right-sidebar-message-content div:nth-child(2) {
width: 180px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
margin-top: -5px;
}
.right-sidebar-message-content div:nth-child(3) {
color: #8C8C8C;
position: absolute;
right: 0;
top: 5px;
}
.right-sidebar-task-block a {
padding: 10px 25px;
display: block;
color: #555;
text-decoration:none;
}
.right-sidebar-task-block a:hover {
background-color:#f5f5f5;
}
.right-sidebar-task-block .task-type {
padding: 5px 10px;
font-size: 15px;
font-family: 'robotomedium';
color: #666;
}
.right-sidebar-task-block .progress {
margin-top: 5px;
margin-bottom: 0;
}
.right-sidebar-task-block .progress .progress-bar {
background-color: #A61229;
}
.right-sidebar-announcement-block a,
.right-sidebar-last-action-block a {
width: 100%;
display: block;
padding: 7px 15px;
color:#555;
text-decoration:none;
border-bottom: 1px solid #f3f3f3;
}
.right-sidebar-announcement-block a:hover,
.right-sidebar-last-action-block a:hover {
background-color:#f5f5f5;
}
/* END OF DASHBOARD */ /* END OF DASHBOARD */
...@@ -863,7 +1278,6 @@ table.dataTable thead .sorting:after { ...@@ -863,7 +1278,6 @@ table.dataTable thead .sorting:after {
-webkit-box-shadow: 0 0 3px rgba(0,0,0,0.1); -webkit-box-shadow: 0 0 3px rgba(0,0,0,0.1);
-moz-box-shadow: 0 0 3px rgba(0,0,0,0.1); -moz-box-shadow: 0 0 3px rgba(0,0,0,0.1);
box-shadow: 0 0 3px rgba(0,0,0,0.1); box-shadow: 0 0 3px rgba(0,0,0,0.1);
background-color:#fff;
position:relative; position:relative;
} }
...@@ -960,6 +1374,31 @@ table.dataTable thead .sorting:after { ...@@ -960,6 +1374,31 @@ table.dataTable thead .sorting:after {
/* END OF PERSONNEL INFO */ /* END OF PERSONNEL INFO */
/* SIDEBAR COLLAPSE */
.sidebar-collapse-button {
width: 62px;
height: 41px;
float: left;
padding: 8px 16px;
cursor:pointer;
}
.sidebar-collapse-button:hover {
background-color:#9A1026;
}
.sidebar-collapse-button div {
width: 30px;
height: 2px;
background-color: #fff;
margin-top:5px;
border-radius:5px;
}
/* END OF SIDEBAR COLLAPSE */
/* Responsive: Portrait tablets and up */ /* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) { @media screen and (min-width: 768px) {
...@@ -1004,11 +1443,10 @@ table.dataTable thead .sorting:after { ...@@ -1004,11 +1443,10 @@ table.dataTable thead .sorting:after {
.sidebar .sidebar-nav.navbar-collapse { .sidebar .sidebar-nav.navbar-collapse {
overflow-x: visible; overflow-x: visible;
overflow-y: scroll; overflow-y: auto;
position: absolute; position: absolute;
width: 100%; width: 100%;
max-height: calc(85% - 139px); max-height: calc(85% - 139px);
border-bottom: 2px solid #ccc;
} }
footer { footer {
...@@ -1088,6 +1526,10 @@ table.dataTable thead .sorting:after { ...@@ -1088,6 +1526,10 @@ table.dataTable thead .sorting:after {
color: #A7A7A7; color: #A7A7A7;
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
} }
.sidebar-collapse-button {
display:none;
}
} }
...@@ -1165,6 +1607,7 @@ table.dataTable thead .sorting:after { ...@@ -1165,6 +1607,7 @@ table.dataTable thead .sorting:after {
top:auto; top:auto;
} }
/* loading bar */ /* loading bar */
.loadingbarfullsize{ .loadingbarfullsize{
...@@ -1178,6 +1621,36 @@ table.dataTable thead .sorting:after { ...@@ -1178,6 +1621,36 @@ table.dataTable thead .sorting:after {
background-size: 100px 100px; background-size: 100px 100px;
} }
/* page transitions */
.slide {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.slide.ng-enter,
.slide.ng-leave {
-webkit-transition: all 1s ease;
transition: all 1s ease;
}
.slide.ng-enter {
left: 100%;
}
.slide.ng-enter-active {
left: 0;
}
.slide.ng-leave {
left: 0;
}
.slide.ng-leave-active {
left: -100%;
}
/* end page transitions */
/* /*
* metismenu - v1.1.3 * metismenu - v1.1.3
* Easy menu jQuery plugin for Twitter Bootstrap 3 * Easy menu jQuery plugin for Twitter Bootstrap 3
...@@ -1189,14 +1662,7 @@ table.dataTable thead .sorting:after { ...@@ -1189,14 +1662,7 @@ table.dataTable thead .sorting:after {
.arrow{float:right;line-height:1.42857}.glyphicon.arrow:before{content:"\e079"}.active>a>.glyphicon.arrow:before{content:"\e114"}.fa.arrow:before{content:"\f104"}.active>a>.fa.arrow:before{content:"\f107"}.plus-times{float:right}.fa.plus-times:before{content:"\f067"}.active>a>.fa.plus-times{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.plus-minus{float:right}.fa.plus-minus:before{content:"\f067"}.active>a>.fa.plus-minus:before{content:"\f068"} .arrow{float:right;line-height:1.42857}.glyphicon.arrow:before{content:"\e079"}.active>a>.glyphicon.arrow:before{content:"\e114"}.fa.arrow:before{content:"\f104"}.active>a>.fa.arrow:before{content:"\f107"}.plus-times{float:right}.fa.plus-times:before{content:"\f067"}.active>a>.fa.plus-times{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.plus-minus{float:right}.fa.plus-minus:before{content:"\f067"}.active>a>.fa.plus-minus:before{content:"\f068"}
/*! #loading-bar,#loading-bar-spinner{pointer-events:none;-webkit-pointer-events:none;-webkit-transition:350ms linear all;-moz-transition:350ms linear all;-o-transition:350ms linear all;transition:350ms linear all}#loading-bar-spinner.ng-enter,#loading-bar-spinner.ng-leave.ng-leave-active,#loading-bar.ng-enter,#loading-bar.ng-leave.ng-leave-active{opacity:0}#loading-bar-spinner.ng-enter.ng-enter-active,#loading-bar-spinner.ng-leave,#loading-bar.ng-enter.ng-enter-active,#loading-bar.ng-leave{opacity:1}#loading-bar .bar{-webkit-transition:width 350ms;-moz-transition:width 350ms;-o-transition:width 350ms;transition:width 350ms;background:#29d;position:fixed;z-index:10002;top:0;left:0;width:100%;height:2px;border-bottom-right-radius:1px;border-top-right-radius:1px}#loading-bar .peg{position:absolute;width:70px;right:0;top:0;height:2px;opacity:.45;-moz-box-shadow:#29d 1px 0 6px 1px;-ms-box-shadow:#29d 1px 0 6px 1px;-webkit-box-shadow:#29d 1px 0 6px 1px;box-shadow:#29d 1px 0 6px 1px;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%}#loading-bar-spinner{display:block;position:fixed;z-index:10002;top:10px;left:10px}#loading-bar-spinner .spinner-icon{width:14px;height:14px;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:loading-bar-spinner 400ms linear infinite;-moz-animation:loading-bar-spinner 400ms linear infinite;-ms-animation:loading-bar-spinner 400ms linear infinite;-o-animation:loading-bar-spinner 400ms linear infinite;animation:loading-bar-spinner 400ms linear infinite}@-webkit-keyframes loading-bar-spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-bar-spinner{0%{-moz-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loading-bar-spinner{0%{-o-transform:rotate(0);transform:rotate(0)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes loading-bar-spinner{0%{-ms-transform:rotate(0);transform:rotate(0)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-bar-spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
* angular-loading-bar v0.7.1
* https://chieffancypants.github.io/angular-loading-bar
* Copyright (c) 2015 Wes Cruver
* License: MIT
*/
#loading-bar,#loading-bar-spinner{pointer-events:none;-webkit-pointer-events:none;-webkit-transition:350ms linear all;-moz-transition:350ms linear all;-o-transition:350ms linear all;transition:350ms linear all}#loading-bar.ng-enter,#loading-bar.ng-leave.ng-leave-active,#loading-bar-spinner.ng-enter,#loading-bar-spinner.ng-leave.ng-leave-active{opacity:0}#loading-bar.ng-enter.ng-enter-active,#loading-bar.ng-leave,#loading-bar-spinner.ng-enter.ng-enter-active,#loading-bar-spinner.ng-leave{opacity:1}#loading-bar .bar{-webkit-transition:width 350ms;-moz-transition:width 350ms;-o-transition:width 350ms;transition:width 350ms;background:#29d;position:fixed;z-index:10002;top:0;left:0;width:100%;height:2px;border-bottom-right-radius:1px;border-top-right-radius:1px}#loading-bar .peg{position:absolute;width:70px;right:0;top:0;height:2px;opacity:.45;-moz-box-shadow:#29d 1px 0 6px 1px;-ms-box-shadow:#29d 1px 0 6px 1px;-webkit-box-shadow:#29d 1px 0 6px 1px;box-shadow:#29d 1px 0 6px 1px;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%}#loading-bar-spinner{display:block;position:fixed;z-index:10002;top:10px;left:10px}#loading-bar-spinner .spinner-icon{width:14px;height:14px;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:10px;-webkit-animation:loading-bar-spinner 400ms linear infinite;-moz-animation:loading-bar-spinner 400ms linear infinite;-ms-animation:loading-bar-spinner 400ms linear infinite;-o-animation:loading-bar-spinner 400ms linear infinite;animation:loading-bar-spinner 400ms linear infinite}@-webkit-keyframes loading-bar-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-bar-spinner{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loading-bar-spinner{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes loading-bar-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-bar-spinner{0%{transform:rotate(0deg);transform:rotate(0deg)}100%{transform:rotate(360deg);transform:rotate(360deg)}}
/*! /*!
* Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
<title>ULAKBUS</title> <title>ULAKBUS</title>
<meta name="description" content=""> <meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" href="/img/favicon.ico">
<link rel="stylesheet" href="css/app.css"> <link rel="stylesheet" href="css/app.css">
<link rel="stylesheet" href="css/roboto/roboto.css"> <link rel="stylesheet" href="css/roboto/roboto.css">
...@@ -21,6 +22,7 @@ ...@@ -21,6 +22,7 @@
<body> <body>
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0" ng-if="$root.loggedInUser"> <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0" ng-if="$root.loggedInUser">
<collapse-menu></collapse-menu>
<ul class="header-menu"> <ul class="header-menu">
<li><a href="">Mesajlar</a></li> <li><a href="">Mesajlar</a></li>
<li><a href="">Görevler</a></li> <li><a href="">Görevler</a></li>
...@@ -59,7 +61,7 @@ ...@@ -59,7 +61,7 @@
<script src="bower_components/jquery.min.js"></script> <script src="bower_components/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.18/angular.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.20/angular.min.js"></script>
<script src="bower_components/components.js"></script> <script src="bower_components/components.js"></script>
<script src="shared/translations.js"></script> <script src="shared/translations.js"></script>
<script src="templates.js"></script> <script src="templates.js"></script>
......
angular.module('templates-prod', ['components/auth/login.html', 'components/crud/templates/add.html', 'components/crud/templates/edit.html', 'components/crud/templates/list.html', 'components/crud/templates/show.html', 'components/dashboard/dashboard.html', 'components/personelinfo/personelinfo.html', 'components/staff/templates/add.html', 'components/staff/templates/edit.html', 'components/staff/templates/list.html', 'components/staff/templates/show.html', 'components/student/student_add_template.html', 'components/student/student_list_template.html', 'components/types/types_template.html', 'shared/templates/add.html', 'shared/templates/datefield.html', 'shared/templates/directives/chat.html', 'shared/templates/directives/header-breadcrumb.html', 'shared/templates/directives/header-notification.html', 'shared/templates/directives/header-sub-menu.html', 'shared/templates/directives/notifications.html', 'shared/templates/directives/sidebar-search.html', 'shared/templates/directives/sidebar.html', 'shared/templates/directives/stats.html', 'shared/templates/directives/timeline.html', 'shared/templates/fieldset.html', 'shared/templates/foreignKey.html', 'shared/templates/linkedModelModalContent.html', 'shared/templates/listnodeModalContent.html', 'shared/templates/modalContent.html', 'shared/templates/nodeTable.html']); angular.module('templates-prod', ['components/auth/login.html', 'components/crud/templates/add.html', 'components/crud/templates/edit.html', 'components/crud/templates/list.html', 'components/crud/templates/show.html', 'components/dashboard/dashboard.html', 'components/error_pages/404.html', 'components/error_pages/500.html', 'components/uitemplates/404.html', 'components/uitemplates/500.html', 'components/wf/templates/add.html', 'components/wf/templates/edit.html', 'components/wf/templates/list.html', 'components/wf/templates/show.html', 'shared/templates/add.html', 'shared/templates/datefield.html', 'shared/templates/directives/chat.html', 'shared/templates/directives/header-breadcrumb.html', 'shared/templates/directives/header-notification.html', 'shared/templates/directives/header-sub-menu.html', 'shared/templates/directives/menuCollapse.html', 'shared/templates/directives/notifications.html', 'shared/templates/directives/selected-user.html', 'shared/templates/directives/sidebar-notification.html', 'shared/templates/directives/sidebar-search.html', 'shared/templates/directives/sidebar.html', 'shared/templates/directives/stats.html', 'shared/templates/directives/timeline.html', 'shared/templates/fieldset.html', 'shared/templates/foreignKey.html', 'shared/templates/linkedModelModalContent.html', 'shared/templates/listnodeModalContent.html', 'shared/templates/modalContent.html', 'shared/templates/nodeTable.html']);
angular.module("components/auth/login.html", []).run(["$templateCache", function($templateCache) { angular.module("components/auth/login.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/auth/login.html", $templateCache.put("components/auth/login.html",
...@@ -22,7 +22,7 @@ angular.module("components/auth/login.html", []).run(["$templateCache", function ...@@ -22,7 +22,7 @@ angular.module("components/auth/login.html", []).run(["$templateCache", function
angular.module("components/crud/templates/add.html", []).run(["$templateCache", function($templateCache) { angular.module("components/crud/templates/add.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/crud/templates/add.html", $templateCache.put("components/crud/templates/add.html",
"<h1>{{ schema.title }}</h1>\n" + "<h1>{{ schema.title }}</h1>\n" +
"<form id=\"formgenerated\" name=\"formgenerated\" sf-schema=\"schema\" sf-form=\"form\" sf-model=\"model\"></form>\n" + "<form id=\"formgenerated\" name=\"formgenerated\" sf-schema=\"schema\" sf-form=\"form\" sf-model=\"model\" ng-submit=\"onSubmit(formgenerated)\"></form>\n" +
"\n" + "\n" +
"<div ng-repeat=\"node in Node\">\n" + "<div ng-repeat=\"node in Node\">\n" +
" <h3>{{ node.title }}\n" + " <h3>{{ node.title }}\n" +
...@@ -69,8 +69,17 @@ angular.module("components/crud/templates/edit.html", []).run(["$templateCache", ...@@ -69,8 +69,17 @@ angular.module("components/crud/templates/edit.html", []).run(["$templateCache",
angular.module("components/crud/templates/list.html", []).run(["$templateCache", function($templateCache) { angular.module("components/crud/templates/list.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/crud/templates/list.html", $templateCache.put("components/crud/templates/list.html",
"<div class=\"starter-template\">\n" + "<div class=\"starter-template\">\n" +
" <h1>{{model}} <a href=\"#/{{model}}/add\"><button type=\"button\" class=\"btn btn-primary\">Ekle</button></a></h1>\n" + " <h1>{{model}}\n" +
" <div class=\"tablescroll\">\n" + " <a href=\"#/crud/add/{{model}}/{{form_params.param}}/{{form_params.id}}\">\n" +
" <button type=\"button\" class=\"btn btn-primary\">Ekle</button>\n" +
" </a>\n" +
" </h1>\n" +
" <div class=\"row\" ng-if=\"!nobjects[1]\">\n" +
" <div class=\"col-md-12\">\n" +
" <p class=\"no-content\">Listelenecek içerik yok.</p>\n" +
" </div>\n" +
" </div>\n" +
" <div class=\"tablescroll\" ng-if=\"nobjects[1]\">\n" +
" <table class=\"table table-bordered\" style=\"background-color:#fff;\">\n" + " <table class=\"table table-bordered\" style=\"background-color:#fff;\">\n" +
" <thead>\n" + " <thead>\n" +
" <tr>\n" + " <tr>\n" +
...@@ -93,16 +102,18 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache", ...@@ -93,16 +102,18 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache",
" </label>\n" + " </label>\n" +
" </td>\n" + " </td>\n" +
" <th scope=\"row\" style=\"text-align:center\">{{$index}}</th>\n" + " <th scope=\"row\" style=\"text-align:center\">{{$index}}</th>\n" +
" <td ng-repeat=\"k in object\" ng-if=\"nobjects[0]=='-1' && $index>0\">\n" + " <td ng-repeat=\"k in object track by $index\" ng-if=\"nobjects[0]=='-1' && $index>0\">\n" +
" <a ng-href=\"#/{{model}}/{{object[0]}}\">{{object[1]}}</a>\n" + " <a ng-href=\"#/crud/detail/{{model}}/{{form_params.param}}/{{form_params.id}}/{{object[0]}}\">{{object[1]}}</a>\n" +
" </td>\n" + " </td>\n" +
"\n" + "\n" +
" <td ng-repeat=\"(key,value) in object\" ng-if=\"nobjects[0]!='-1' && $index>0\">\n" + " <td ng-repeat=\"(key,value) in object track by $index\" ng-if=\"nobjects[0]!='-1' && $index>0\">\n" +
" <a ng-href=\"#/{{model}}/{{object[0]}}\" ng-if=\"$index==1\">{{value}}</a>\n" + " <a ng-href=\"#/crud/detail/{{model}}/{{form_params.param}}/{{form_params.id}}/{{object[0]}}\"\n" +
" <span ng-if=\"$index!=1\">{{value}}</span>\n" + " ng-if=\"$index==1\">{{object[key]}}</a>\n" +
" <span ng-if=\"$index!=1\">{{object[key]}}</span>\n" +
" </td>\n" + " </td>\n" +
" <td>\n" + " <td>\n" +
" <a ng-href=\"#/{{model}}/edit/{{object[0]}}\">Edit</a><br>\n" + " <a ng-href=\"#/crud/edit/{{model}}/{{form_params.param}}/{{form_params.id}}/{{object[0]}}\">Edit</a>\n" +
" <br>\n" +
" </td>\n" + " </td>\n" +
" </tr>\n" + " </tr>\n" +
" </tbody>\n" + " </tbody>\n" +
...@@ -111,7 +122,7 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache", ...@@ -111,7 +122,7 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache",
" <br/>\n" + " <br/>\n" +
" <hr/>\n" + " <hr/>\n" +
"\n" + "\n" +
" <div class=\"btn-group\">\n" + " <div class=\"btn-group\" ng-if=\"nobjects[1]\">\n" +
" <button type=\"button\" class=\"btn btn-default dropdown-toggle\" data-toggle=\"dropdown\" aria-haspopup=\"true\"\n" + " <button type=\"button\" class=\"btn btn-default dropdown-toggle\" data-toggle=\"dropdown\" aria-haspopup=\"true\"\n" +
" aria-expanded=\"false\">\n" + " aria-expanded=\"false\">\n" +
" İşlemler <span class=\"caret\"></span>\n" + " İşlemler <span class=\"caret\"></span>\n" +
...@@ -197,6 +208,7 @@ angular.module("components/dashboard/dashboard.html", []).run(["$templateCache", ...@@ -197,6 +208,7 @@ angular.module("components/dashboard/dashboard.html", []).run(["$templateCache",
"<div ng-app=\"ulakbus.dashboard\" class=\"dashboard\">\n" + "<div ng-app=\"ulakbus.dashboard\" class=\"dashboard\">\n" +
" <div class=\"starter-template\">\n" + " <div class=\"starter-template\">\n" +
"\n" + "\n" +
" <!-- \n" +
" <div class=\"row\">\n" + " <div class=\"row\">\n" +
" <div class=\"major-buttons\">\n" + " <div class=\"major-buttons\">\n" +
" <div class=\"col-md-4\">\n" + " <div class=\"col-md-4\">\n" +
...@@ -213,224 +225,265 @@ angular.module("components/dashboard/dashboard.html", []).run(["$templateCache", ...@@ -213,224 +225,265 @@ angular.module("components/dashboard/dashboard.html", []).run(["$templateCache",
" </div>\n" + " </div>\n" +
" </div>\n" + " </div>\n" +
" </div>\n" + " </div>\n" +
"\n" + " -->\n" +
" </div>\n" +
"</div>");
}]);
angular.module("components/personelinfo/personelinfo.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/personelinfo/personelinfo.html",
"<div ng-app=\"ulakbus.personelinfo\">\n" +
" <div class=\"starter-template\">\n" +
" \n" + " \n" +
" <div class=\"personnel-info-container\">\n" + " <div class=\"dashboard-main-search clearfix\">\n" +
" <div class=\"personnel-info-left\">\n" + " <div class=\"dashboard-student-search\">\n" +
" <div class=\"generic-profile-picture\">\n" + " <center>\n" +
" <img src=\"../../img/sample-profile-pic.jpg\" />\n" + " <h3>ÖĞRENCİ</h3>\n" +
" </div>\n" + " <input type=\"text\" placeholder=\"Öğrenci ara\" ng-model=\"student_kw\" ng-keyup=\"search('ogrenci')\">\n" +
" <ul>\n" + " <span class=\"fa fa-search\" ng-click=\"search('ogrenci')\"></span>\n" +
" <li>Gökhan Boranalp</li>\n" + " </center>\n" +
" <li>Pozisyon</li>\n" + " <div class=\"dashboard-search-results\">\n" +
" <li><i class=\"fa fa-phone\"></i> (+90) 123 456 7890</li>\n" + " <ul ng-if=\"students.length > 0\">\n" +
" <li><i class=\"fa fa-envelope\"></i> samplemail@mail.com</li>\n" + " <li ng-repeat=\"student in students\">\n" +
" <li><i class=\"fa fa-map-marker\"></i> Gülbahçe Mah. İzmir Teknoloji Geliştirme Bölgesi A9 Blok 215/A IYTE Campus, URLA/IZMIR</li></li>\n" + " <a href=\"javascript:void(0)\" ng-click=\"select(student, 'ogrenci')\">{{student}}</a>\n" +
" </ul>\n" + " </li>\n" +
" </ul>\n" +
" </div>\n" +
" <!-- end of dashboard-student-search-results -->\n" +
" </div>\n" + " </div>\n" +
" <!-- end of personnel-info-left -->\n" + " <!-- end of dashboard-student-search -->\n" +
" <div class=\"personnel-info-right\">\n" + " <div class=\"dashboard-personnel-search\">\n" +
" <div class=\"info-block\">\n" + " <center>\n" +
" <div class=\"info-block-header\">\n" + " <h3>PERSONEL</h3>\n" +
" <h2>Kişisel Bilgiler</h2>\n" + " <input type=\"text\" placeholder=\"Personel ara\" ng-model=\"staff_kw\" ng-keyup=\"search('personel')\">\n" +
" <span class=\"fa fa-search\" ng-click=\"search('personel')\"></span>\n" +
" </center>\n" +
" <div class=\"dashboard-search-results\">\n" +
" <ul ng-if=\"staffs.length > 0\">\n" +
" <li ng-repeat=\"staff in staffs\">\n" +
" <a href=\"javascript:void(0)\" ng-click=\"select(staff, 'personel')\">{{staff[0]}}</a>\n" +
" </li>\n" +
" </ul>\n" +
" </div>\n" +
" <!-- end of dashboard-personnel-search-results -->\n" +
" </div>\n" +
" <!-- end of dashboard-personnel-search -->\n" +
" </div>\n" +
" <!-- end of dashboard-main-search -->\n" +
" \n" +
" <div class=\"right-sidebar\">\n" +
"\n" +
" <div class=\"right-sidebar-box\">\n" +
" <div class=\"right-sidebar-messages\">\n" +
"\n" +
" <div class=\"right-sidebar-title clearfix\">\n" +
" <h3>Mesajlar</h3>\n" +
" <span><a href=\"javascript:void(0)\">Tüm Mesajlar</a></span>\n" +
" </div>\n" + " </div>\n" +
" <!-- end of info-block-header -->\n" + " <!-- end of right-sidebar-title -->\n" +
" <div class=\"info-block-body\">\n" + "\n" +
" <dl class=\"dl-horizontal\">\n" + " <div class=\"right-sidebar-message-block\" ng-repeat=\"notify in notifications[2] | limitTo:5\">\n" +
" <dt>Ad Soyad</dt>\n" + " <a class=\"clearfix\" href=\"javascript:void(0)\" ng-click=\"markAsRead(notify)\">\n" +
" <dd>Gökhan Boranalp</dd>\n" + " <img src=\"../../../img/sample-profile-pic.jpg\">\n" +
" </dl>\n" + " <div class=\"right-sidebar-message-content\">\n" +
" <dl class=\"dl-horizontal\">\n" + " <div>{{notify.title}}</div>\n" +
" <dt>Cinsiyet</dt>\n" + " <div>{{notify.body}}</div>\n" +
" <dd>Erkek</dd>\n" + " <div>16:05</div>\n" +
" </dl>\n" + " </div>\n" +
" <dl class=\"dl-horizontal\">\n" + " <!-- end of right-sidebar-message-content -->\n" +
" <dt>Doğum Tarihi</dt>\n" + " </a>\n" +
" <dd>23/06/1970</dd>\n" +
" </dl>\n" +
" <dl class=\"dl-horizontal\">\n" +
" <dt>İkamet Adresi</dt>\n" +
" <dd>Gülbahçe Mah. İzmir Teknoloji Geliştirme Bölgesi A9 Blok 215/A IYTE Campus, URLA/IZMIR</dd>\n" +
" </dl>\n" +
" </div>\n" + " </div>\n" +
" <!-- end of info-block-body -->\n" + " <!-- end of right-sidebar-message-block -->\n" +
"\n" +
" </div>\n" + " </div>\n" +
" <!-- end of info block -->\n" + " <!-- end of right-sidebar-messages -->\n" +
" \n" + " </div>\n" +
" <div class=\"info-block\">\n" + " <!-- end of right-sidebar-box -->\n" +
" <div class=\"info-block-header\">\n" + "\n" +
" <h2>İletişim Bilgileri</h2>\n" + "\n" +
" <div class=\"right-sidebar-box\">\n" +
" <div class=\"right-sidebar-tasks\">\n" +
"\n" +
" <div class=\"right-sidebar-title clearfix\">\n" +
" <h3>Görevler</h3>\n" +
" <span><a href=\"javascript:void(0)\">Tüm Görevler</a></span>\n" +
" </div>\n" + " </div>\n" +
" <!-- end of info-block-header -->\n" + " <!-- end of right-sidebar-title -->\n" +
" <div class=\"info-block-body\">\n" + "\n" +
" <dl class=\"dl-horizontal\">\n" + " <!--<div class=\"right-sidebar-task-block\">-->\n" +
" <dt>Ev Telefonu</dt>\n" + " <!--<div class=\"task-type\">Devam Eden Görevler</div>-->\n" +
" <dd>-</dd>\n" + " <!--<a href=\"javascript:void(0)\">-->\n" +
" </dl>\n" + " <!--<div class=\"task-title\">Öğrenci Kayıt</div>-->\n" +
" <dl class=\"dl-horizontal\">\n" + " <!--<div class=\"progress\">-->\n" +
" <dt>Cep Telefonu</dt>\n" + " <!--<div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"25\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"min-width: 2em; width:25%;\">-->\n" +
" <dd>(+90) 123 456 7890</dd>\n" + " <!--25%-->\n" +
" </dl>\n" + " <!--</div>-->\n" +
" <dl class=\"dl-horizontal\">\n" + " <!--</div>-->\n" +
" <dt>Mail Adresi</dt>\n" + " <!--&lt;!&ndash; end of progress &ndash;&gt;-->\n" +
" <dd>gokhan@zetaops.io</dd>\n" + " <!--</a>-->\n" +
" </dl>\n" + " <!--</div>-->\n" +
" <dl class=\"dl-horizontal\">\n" + " <!-- end of right-sidebar-task-block -->\n" +
" <dt>Diğer Mail Adresi</dt>\n" + "\n" +
" <dd>-</dd>\n" + " <div class=\"right-sidebar-task-block\">\n" +
" </dl>\n" + " <!--<div class=\"task-type\">Onay Bekleyen Görevler</div>-->\n" +
" <a href=\"javascript:void(0)\" ng-click=\"markAsRead(notify)\" ng-repeat=\"notify in notifications[1] | limitTo:5\">\n" +
" <div class=\"task-title\">{{notify.title}}</div>\n" +
" </a>\n" +
" </div>\n" + " </div>\n" +
" <!-- end of info-block-body -->\n" + " <!-- end of right-sidebar-task-block -->\n" +
" </div>\n" + "\n" +
" <!-- end of info block -->\n" +
" </div>\n" +
" <!-- personnel-info-left -->\n" +
" </div>\n" +
" <!-- end of personnel-info-container -->\n" +
" \n" +
" <div class=\"personnel-info-container personnel-info-edit\">\n" +
" <div class=\"personnel-info-left\">\n" +
" <div class=\"generic-profile-picture\">\n" +
" <img src=\"../../img/sample-profile-pic.jpg\" />\n" +
" </div>\n" +
" <div style=\"margin-top:10px; text-align:center;\">\n" +
" <button type=\"button\" class=\"btn btn-primary\">Değiştir</button>\n" +
" <button type=\"button\" class=\"btn btn-danger\">Sil</button>\n" +
" </div>\n" + " </div>\n" +
" <!-- end of right-sidebar-tasks -->\n" +
" </div>\n" + " </div>\n" +
" <!-- end of personnel-info-left -->\n" + " <!-- end of right-sidebar-box -->\n" +
" <div class=\"personnel-info-right\">\n" + "\n" +
" <div class=\"info-block\">\n" + "\n" +
" <div class=\"info-block-header\">\n" + " <div class=\"right-sidebar-box\">\n" +
" <h2>Kişisel Bilgiler</h2>\n" + " <div class=\"right-sidebar-announcements\">\n" +
"\n" +
" <div class=\"right-sidebar-title clearfix\">\n" +
" <h3>Duyurular</h3>\n" +
" <span><a href=\"javascript:void(0)\">Tüm Duyurular</a></span>\n" +
" </div>\n" + " </div>\n" +
" <!-- end of info-block-header -->\n" + " <!-- end of right-sidebar-title -->\n" +
" <div class=\"info-block-body\">\n" + "\n" +
" <dl class=\"dl-horizontal\">\n" + " <div class=\"right-sidebar-announcement-block\">\n" +
" <dt>Ad Soyad</dt>\n" + " <a href=\"javascript:void(0)\" ng-click=\"markAsRead(notify)\"\n" +
" <dd><input type=\"text\" class=\"form-control\" placeholder=\"Gökhan Boranalp\"></dd>\n" + " ng-repeat=\"notify in notifications[3] | limitTo:5\">{{notify\n" +
" </dl>\n" + " .body}}</a>\n" +
" <dl class=\"dl-horizontal\">\n" +
" <dt>Pozisyon</dt>\n" +
" <dd><input type=\"text\" class=\"form-control\" placeholder=\"Pozisyon\"></dd>\n" +
" </dl>\n" +
" <dl class=\"dl-horizontal\">\n" +
" <dt>Cinsiyet</dt>\n" +
" <dd>\n" +
" <select class=\"form-control\">\n" +
" <option value=\"male\">Erkek</option>\n" +
" <option value=\"female\">Kadın</option>\n" +
" </select>\n" +
" </dd>\n" +
" </dl>\n" +
" <dl class=\"dl-horizontal\">\n" +
" <dt>Doğum Tarihi</dt>\n" +
" <dd>\n" +
" <input type=\"text\" class=\"form-control\" placeholder=\"Angular JS - Bootstrap Date Picker Eklenecek\">\n" +
" </dd>\n" +
" </dl>\n" +
" <dl class=\"dl-horizontal\">\n" +
" <dt>İkamet Adresi</dt>\n" +
" <dd><input type=\"text\" class=\"form-control\" placeholder=\"Gülbahçe Mah. İzmir Teknoloji Geliştirme Bölgesi A9 Blok 215/A IYTE Campus, URLA/IZMIR\"></dd>\n" +
" </dl>\n" +
" </div>\n" + " </div>\n" +
" <!-- end of info-block-body -->\n" + " <!-- end of right-sidebar-status-block -->\n" +
"\n" +
" </div>\n" + " </div>\n" +
" <!-- end of info block -->\n" + " <!-- end of right-sidebar-status -->\n" +
" \n" + " </div>\n" +
" <div class=\"info-block\">\n" + " <!-- end of right-sidebar-box -->\n" +
" <div class=\"info-block-header\">\n" + "\n" +
" <h2>İletişim Bilgileri</h2>\n" + "\n" +
" </div>\n" + " <div class=\"right-sidebar-box\">\n" +
" <!-- end of info-block-header -->\n" + " <div class=\"right-sidebar-last-actions\">\n" +
" <div class=\"info-block-body\">\n" + "\n" +
" <dl class=\"dl-horizontal\">\n" + " <div class=\"right-sidebar-title clearfix\">\n" +
" <dt>Ev Telefonu</dt>\n" + " <h3>Son İşlemler</h3>\n" +
" <dd><input type=\"text\" class=\"form-control\" placeholder=\"\"></dd>\n" + " <span><a href=\"javascript:void(0)\">Tüm İşlemler</a></span>\n" +
" </dl>\n" +
" <dl class=\"dl-horizontal\">\n" +
" <dt>Cep Telefonu</dt>\n" +
" <dd><input type=\"text\" class=\"form-control\" placeholder=\"(+90) 123 456 7890 (Phone number mask uygulanacak)\"></dd>\n" +
" </dl>\n" +
" <dl class=\"dl-horizontal\">\n" +
" <dt>Mail Adresi</dt>\n" +
" <dd><input type=\"text\" class=\"form-control\" placeholder=\"gokhan@zetaops.io\"></dd>\n" +
" </dl>\n" +
" <dl class=\"dl-horizontal\">\n" +
" <dt>Diğer Mail Adresi</dt>\n" +
" <dd><input type=\"text\" class=\"form-control\" placeholder=\"\"></dd>\n" +
" </dl>\n" +
" </div>\n" + " </div>\n" +
" <!-- end of info-block-body -->\n" + " <!-- end of right-sidebar-title -->\n" +
"\n" +
" <!--<div class=\"right-sidebar-last-action-block\">-->\n" +
" <!--<a href=\"javascript:void(0)\">Birinci dönem bitimine 10 gün kaldı.</a>-->\n" +
" <!--<a href=\"javascript:void(0)\">Ders seçimi işlemleri xx tarihinde başlayacaktır.</a>-->\n" +
" <!--</div>-->\n" +
" <!-- end of right-sidebar-status-block -->\n" +
"\n" +
" </div>\n" + " </div>\n" +
" <!-- end of info block -->\n" + " <!-- end of right-sidebar-status -->\n" +
" </div>\n" + " </div>\n" +
" <!-- personnel-info-left -->\n" + " <!-- end of right-sidebar-box -->\n" +
"\n" +
" </div>\n" + " </div>\n" +
" <!-- end of personnel-info-container -->\n" + " <!-- end of right-sidebar -->\n" +
" \n" +
" </div>\n" +
"</div>");
}]);
angular.module("components/error_pages/404.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/error_pages/404.html",
"<div ng-app=\"ulakbus.error_pages\" class=\"error-page\">\n" +
" <div class=\"starter-template\">\n" +
"\n" + "\n" +
" <div class=\"row\">\n" +
" <div class=\"error-block\">\n" +
" <p>404</p>\n" +
" <p>Dosya Bulunamıyor</p>\n" +
" <a href=\"#/dashboard\"><button class=\"btn btn-warning\">Panel Sayfasına Dön</button></a>\n" +
" </div>\n" +
" </div>\n" +
"\n" + "\n" +
" </div>\n" + " </div>\n" +
"</div>"); "</div>");
}]); }]);
angular.module("components/staff/templates/add.html", []).run(["$templateCache", function($templateCache) { angular.module("components/error_pages/500.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/staff/templates/add.html", $templateCache.put("components/error_pages/500.html",
"<div ng-app=\"ulakbus.staff\">\n" + "<div ng-app=\"ulakbus.error_pages\" class=\"error-page\">\n" +
" <ng-include src=\"'shared/templates/add.html'\"></ng-include>\n" + " <div class=\"starter-template\">\n" +
"\n" +
" <div class=\"row\">\n" +
" <div class=\"error-block\">\n" +
" <p>500</p>\n" +
" <p>Sunucu Hatası</p>\n" +
" <a href=\"#/dashboard\"><button class=\"btn btn-warning\">Panel Sayfasına Dön</button></a>\n" +
" </div>\n" +
" </div>\n" +
"\n" +
" </div>\n" +
"</div>"); "</div>");
}]); }]);
angular.module("components/staff/templates/edit.html", []).run(["$templateCache", function($templateCache) { angular.module("components/uitemplates/404.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/staff/templates/edit.html", $templateCache.put("components/uitemplates/404.html",
"<div ng-app=\"ulakbus.staff\">\n" + "<div ng-app=\"ulakbus.uitemplates\" class=\"dashboard\">\n" +
" <div class=\"col-md-6\">\n" + " <div class=\"starter-template\">\n" +
" <h1>{{ schema.title }}</h1>\n" + "\n" +
" <form name=\"formgenerated\" sf-schema=\"schema\" sf-form=\"form\" sf-model=\"model\" ng-submit=\"onSubmit(formgenerated)\"></form>\n" + " <div class=\"row\">\n" +
" <div>\n" +
" 404.html\n" +
" </div>\n" +
" </div>\n" +
"\n" +
" </div>\n" + " </div>\n" +
"</div>"); "</div>");
}]); }]);
angular.module("components/staff/templates/list.html", []).run(["$templateCache", function($templateCache) { angular.module("components/uitemplates/500.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/staff/templates/list.html", $templateCache.put("components/uitemplates/500.html",
"<table class=\"table table-bordered table-responsive\">\n" + "<div ng-app=\"ulakbus.uitemplates\" class=\"dashboard\">\n" +
" <thead>\n" + " <div class=\"starter-template\">\n" +
" <tr>\n" + "\n" +
" <!--<th>{{ staffs[0].key }}</th>-->\n" + " <div class=\"row\">\n" +
" <th ng-repeat=\"(key,value) in staffs[0].data\">{{ key }}</th>\n" + " <div>500.html</div>\n" +
" <th>action</th>\n" + " </div>\n" +
" </tr>\n" + "\n" +
" </thead>\n" + " </div>\n" +
" <tbody>\n" + "</div>");
" <tr ng-repeat=\"staff in staffs\">\n" +
" <!--<td><a ng-href=\"#/staff/{{staff.id}}\">{{staff.name}}</a></td>-->\n" +
" <td ng-repeat=\"(key,value) in staff.data\">{{value}}</td>\n" +
" <td>\n" +
" <a ng-href=\"#/staff/edit/{{staff.key}}\">Edit</a><br>\n" +
" <a ng-href=\"#/staff/{{staff.key}}\">Show</a>\n" +
" </td>\n" +
" </tr>\n" +
" </tbody>\n" +
"</table>");
}]); }]);
angular.module("components/staff/templates/show.html", []).run(["$templateCache", function($templateCache) { angular.module("components/wf/templates/add.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/staff/templates/show.html", $templateCache.put("components/wf/templates/add.html",
"<p ng-repeat=\"(key, value) in staff\"><span class=\"col-md-3\">{{ key }}:</span>{{\n" + "<h1>{{ schema.title }}</h1>\n" +
" value}}</p>"); "<form id=\"formgenerated\" name=\"formgenerated\" sf-schema=\"schema\" sf-form=\"form\" sf-model=\"model\"\n" +
" ng-submit=\"onSubmit(formgenerated)\"></form>\n" +
"\n" +
"<div ng-repeat=\"node in Node\">\n" +
" <h3>{{ node.title }}\n" +
" <span ng-if=\"node.lengthModels < 1\">\n" +
" <a href=\"javascript:void(0);\" modal-for-nodes=\"{{node.schema.model_name}},Node\">\n" +
" <i class=\"fa fa-plus-circle fa-fw\"></i>\n" +
" </a>\n" +
" </span>\n" +
" </h3>\n" +
"\n" +
" <div class=\"node-table\">\n" +
" <ng-include src=\"'shared/templates/nodeTable.html'\"></ng-include>\n" +
" </div>\n" +
" <hr>\n" +
"</div>\n" +
"<div ng-repeat=\"node in ListNode\">\n" +
" <h3>{{ node.title }}\n" +
" <span>\n" +
" <a href=\"javascript:void(0);\" modal-for-nodes=\"{{node.schema.model_name}},ListNode,add\">\n" +
" <i class=\"fa fa-plus-circle fa-fw\"></i>\n" +
" </a>\n" +
" </span>\n" +
" </h3>\n" +
"\n" +
" <div class=\"list-node-table\">\n" +
" <ng-include src=\"'shared/templates/nodeTable.html'\"></ng-include>\n" +
" </div>\n" +
" <hr>\n" +
"</div>\n" +
"\n" +
"<!--<button id=\"submitbutton\" type=\"button\" class=\"btn btn-primary\" ng-click=\"onSubmit(formgenerated)\">Kaydet</button>-->\n" +
"<!-- <button type=\"button\" class=\"btn btn-warning\">Düzenle</button> todo: make it conditional -->\n" +
"<!-- <button type=\"button\" class=\"btn btn-danger\">İptal</button> todo: turn back to previous page -->");
}]); }]);
angular.module("components/student/student_add_template.html", []).run(["$templateCache", function($templateCache) { angular.module("components/wf/templates/edit.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/student/student_add_template.html", $templateCache.put("components/wf/templates/edit.html",
"<div ng-app=\"ulakbus.student\">\n" + "<div ng-app=\"ulakbus.crud\">\n" +
" <div class=\"col-md-6\">\n" + " <div class=\"col-md-6\">\n" +
" <h1>{{ schema.title }}</h1>\n" + " <h1>{{ schema.title }}</h1>\n" +
" <form name=\"formgenerated\" sf-schema=\"schema\" sf-form=\"form\" sf-model=\"model\" ng-submit=\"onSubmit(formgenerated)\"></form>\n" + " <form name=\"formgenerated\" sf-schema=\"schema\" sf-form=\"form\" sf-model=\"model\" ng-submit=\"onSubmit(formgenerated)\"></form>\n" +
...@@ -438,33 +491,137 @@ angular.module("components/student/student_add_template.html", []).run(["$templa ...@@ -438,33 +491,137 @@ angular.module("components/student/student_add_template.html", []).run(["$templa
"</div>"); "</div>");
}]); }]);
angular.module("components/student/student_list_template.html", []).run(["$templateCache", function($templateCache) { angular.module("components/wf/templates/list.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/student/student_list_template.html", $templateCache.put("components/wf/templates/list.html",
"<table class=\"table table-bordered\">\n" + "<div class=\"starter-template\">\n" +
" <thead>\n" + " <h1>{{model}} <a href=\"#/crud/{{model}}/add\"><button type=\"button\" class=\"btn btn-primary\">Ekle</button></a></h1>\n" +
" <tr>\n" + " <div class=\"row\" ng-if=\"!nobjects[1]\">\n" +
" <th ng-repeat=\"(key,value) in students[0]\">{{ key }}</th>\n" + " <div class=\"col-md-12\">\n" +
" </tr>\n" + " <p class=\"no-content\">Listelenecek içerik yok.</p>\n" +
" </thead>\n" + " </div>\n" +
" <tbody>\n" + " </div>\n" +
" <tr ng-repeat=\"student in students\">\n" + " <div class=\"tablescroll\" ng-if=\"nobjects[1]\">\n" +
" <td ng-repeat=\"(key,value) in student\">{{value}}</td>\n" + " <table class=\"table table-bordered\" style=\"background-color:#fff;\">\n" +
" <td><a ng-href=\"#/s/edit/{{student.id}}\">Edit</a></td>\n" + " <thead>\n" +
" </tr>\n" + " <tr>\n" +
" </tbody>\n" + " <th colspan=\"2\">\n" +
"</table>"); " <label>\n" +
}]); " <input type=\"checkbox\" style=\"zoom:1.5; margin:5px 0 0 8px;\">\n" +
" Hepsini Seç\n" +
angular.module("components/types/types_template.html", []).run(["$templateCache", function($templateCache) { " </label>\n" +
$templateCache.put("components/types/types_template.html", " </th>\n" +
"<div ng-app=\"ulakbus.types\">\n" + " <th ng-repeat=\"value in nobjects[0]\" ng-if=\"nobjects[0]!='-1'\">{{ value }}</th>\n" +
" <div class=\"col-md-6\">\n" + " <th ng-if=\"nobjects[0]=='-1'\">{{ model }}</th>\n" +
" <h1>{{ schema.title }}</h1>\n" + " <th>action</th>\n" +
" <form name=\"formgenerated\" sf-schema=\"schema\" sf-form=\"form\" sf-model=\"model\" ng-submit=\"onSubmit(formgenerated)\"></form>\n" + " </tr>\n" +
" </thead>\n" +
" <tbody>\n" +
" <tr ng-repeat=\"object in nobjects\" ng-if=\"$index>0\">\n" +
" <td width=\"60\">\n" +
" <label>\n" +
" <input type=\"checkbox\" style=\"zoom:1.5; margin:5px 0 0 8px;\">\n" +
" </label>\n" +
" </td>\n" +
" <th scope=\"row\" style=\"text-align:center\">{{$index}}</th>\n" +
" <td ng-repeat=\"k in object track by $index\" ng-if=\"nobjects[0]=='-1' && $index>0\">\n" +
" <a ng-href=\"#/crud/{{model}}/{{object[0]}}\">{{object[1]}}</a>\n" +
" </td>\n" +
"\n" +
" <td ng-repeat=\"(key,value) in object track by $index\" ng-if=\"nobjects[0]!='-1' && $index>0\">\n" +
" <a ng-href=\"#/crud/{{model}}/{{object[0]}}\" ng-if=\"$index==1\">{{object[key]}}</a>\n" +
" <span ng-if=\"$index!=1\">{{object[key]}}</span>\n" +
" </td>\n" +
" <td>\n" +
" <a ng-href=\"#/crud/{{model}}/edit/{{object[0]}}\">Edit</a><br>\n" +
" </td>\n" +
" </tr>\n" +
" </tbody>\n" +
" </table>\n" +
" </div>\n" + " </div>\n" +
" <br/>\n" +
" <hr/>\n" +
"\n" +
" <div class=\"btn-group\" ng-if=\"nobjects[1]\">\n" +
" <button type=\"button\" class=\"btn btn-default dropdown-toggle\" data-toggle=\"dropdown\" aria-haspopup=\"true\"\n" +
" aria-expanded=\"false\">\n" +
" İşlemler <span class=\"caret\"></span>\n" +
" </button>\n" +
" <ul class=\"dropdown-menu\">\n" +
" <li><a href=\"\">İşlem 1</a></li>\n" +
" <li><a href=\"\">İşlem 2</a></li>\n" +
" <li><a href=\"\">İşlem 3</a></li>\n" +
" <li role=\"separator\" class=\"divider\"></li>\n" +
" <li><a href=\"\">İşlem 4</a></li>\n" +
" </ul>\n" +
" </div>\n" +
"\n" +
" <hr>\n" +
"\n" +
"</div>"); "</div>");
}]); }]);
angular.module("components/wf/templates/show.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("components/wf/templates/show.html",
"<!--<div class=\"starter-template\">-->\n" +
" <!--<h1>{{model}}</h1>-->\n" +
"\n" +
" <!--<p ng-repeat=\"(key, value) in object\"><span class=\"col-md-3\">{{ key }}:</span>{{value}}</p>-->\n" +
"<!--</div>-->\n" +
"\n" +
"\n" +
" <div class=\"starter-template\">\n" +
"\n" +
" <div class=\"personnel-info-container\">\n" +
" <div class=\"personnel-info-left\">\n" +
"\n" +
" <!--<div class=\"generic-profile-picture\">-->\n" +
" <!--<img src=\"../../img/sample-profile-pic.jpg\" />-->\n" +
" <!--</div>-->\n" +
" <div class=\"info-block\">\n" +
" <div class=\"info-block-header\">\n" +
" <h1>{{model}}</h1>\n" +
" </div>\n" +
" <!-- end of info-block-header -->\n" +
" <div class=\"info-block-body\" ng-repeat=\"(key, value) in object\">\n" +
" <dl class=\"dl-horizontal\">\n" +
" <dt>{{ key }}</dt>\n" +
" <dd>{{value}}</dd>\n" +
" </dl>\n" +
" </div>\n" +
" <!-- end of info-block-body -->\n" +
" </div>\n" +
" <!--<ul>-->\n" +
" <!--<li ng-repeat=\"(key, value) in object\"><span class=\"col-md-3\">{{ key }}:</span>{{value}}</li>-->\n" +
" <!--<li>Pozisyon</li>-->\n" +
" <!--<li><i class=\"fa fa-phone\"></i> (+90) 123 456 7890</li>-->\n" +
" <!--<li><i class=\"fa fa-envelope\"></i> samplemail@mail.com</li>-->\n" +
" <!--<li><i class=\"fa fa-map-marker\"></i> Gülbahçe Mah. İzmir Teknoloji Geliştirme Bölgesi A9 Blok 215/A IYTE Campus, URLA/IZMIR</li></li>-->\n" +
" <!--</ul>-->\n" +
" </div>\n" +
" <!-- end of personnel-info-left -->\n" +
" <div class=\"personnel-info-right\">\n" +
" <div class=\"info-block\" ng-repeat=\"(key, value) in listobjects\">\n" +
" <div class=\"info-block-header\">\n" +
" <h2>{{key}}</h2>\n" +
" </div>\n" +
" <!-- end of info-block-header -->\n" +
" <div class=\"info-block-body\" ng-repeat=\"(k, v) in value\">\n" +
" <dl class=\"dl-horizontal\">\n" +
" <dt>{{k}}</dt>\n" +
" <dd>{{v}}</dd>\n" +
" </dl>\n" +
" </div>\n" +
" <!-- end of info-block-body -->\n" +
" </div>\n" +
" <!-- end of info block -->\n" +
" <!-- end of info block -->\n" +
" </div>\n" +
" <!-- personnel-info-left -->\n" +
" </div>\n" +
" <!-- end of personnel-info-container -->\n" +
" </div>");
}]);
angular.module("shared/templates/add.html", []).run(["$templateCache", function($templateCache) { angular.module("shared/templates/add.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("shared/templates/add.html", $templateCache.put("shared/templates/add.html",
"<!-- todo: remove this template -->\n" + "<!-- todo: remove this template -->\n" +
...@@ -726,119 +883,81 @@ angular.module("shared/templates/directives/header-notification.html", []).run([ ...@@ -726,119 +883,81 @@ angular.module("shared/templates/directives/header-notification.html", []).run([
"<ul class=\"nav navbar-top-links navbar-right\">\n" + "<ul class=\"nav navbar-top-links navbar-right\">\n" +
" <li class=\"dropdown\">\n" + " <li class=\"dropdown\">\n" +
" <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n" + " <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n" +
" <div class=\"badge\" ng-if=\"notifications[2].length > 0\">{{notifications[2].length}}</div>\n" +
" <i class=\"fa fa-envelope fa-fw\"></i> <i class=\"fa fa-caret-down\"></i>\n" + " <i class=\"fa fa-envelope fa-fw\"></i> <i class=\"fa fa-caret-down\"></i>\n" +
" </a>\n" + " </a>\n" +
" <!--<ul class=\"dropdown-menu dropdown-messages\">-->\n" + " <ul class=\"dropdown-menu dropdown-messages\" ng-if=\"notifications[2].length > 0\">\n" +
" <!--<li>-->\n" + " <li ng-repeat=\"notify in notifications[2] | limitTo: '8'\">\n" +
" <!--<a href=\"#\">-->\n" + " <a href=\"javascript:void(0)\" ng-click=\"markAsRead(notify)\">\n" +
" <!--<div>-->\n" + " <div>\n" +
" <!--<strong>John Smith</strong>-->\n" + " <strong>{{notify.title}}</strong>\n" +
" <!--<span class=\"pull-right text-muted\">-->\n" + " <span class=\"pull-right text-muted\">\n" +
" <!--<em>Yesterday</em>-->\n" + " <em>22 Ekim 2015</em>\n" +
" <!--</span>-->\n" + " </span>\n" +
" <!--</div>-->\n" + " </div>\n" +
" <!--<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...</div>-->\n" + " <div>{{notify.body}}...</div>\n" +
" <!--</a>-->\n" + " </a>\n" +
" <!--</li>-->\n" + " </li>\n" +
" <!--<li class=\"divider\"></li>-->\n" + " <li class=\"divider\"></li>\n" +
" <!--<li>-->\n" + " <li>\n" +
" <!--<a class=\"text-center\" href=\"#\">-->\n" + " <a class=\"text-center\" href=\"javascript:void(0)\">\n" +
" <!--<strong>Read All Messages</strong>-->\n" + " <strong>Read All Messages</strong>\n" +
" <!--<i class=\"fa fa-angle-right\"></i>-->\n" + " <i class=\"fa fa-angle-right\"></i>\n" +
" <!--</a>-->\n" + " </a>\n" +
" <!--</li>-->\n" + " </li>\n" +
" <!--</ul>-->\n" + " </ul>\n" +
" <!-- /.dropdown-messages -->\n" + " <!-- /.dropdown-messages -->\n" +
" </li>\n" + " </li>\n" +
" <!-- /.dropdown -->\n" + " <!-- /.dropdown -->\n" +
" <li class=\"dropdown\">\n" + " <li class=\"dropdown\">\n" +
" <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n" + " <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n" +
" <div class=\"badge\" ng-if=\"notifications[1].length > 0\">{{notifications[1].length}}</div>\n" +
" <i class=\"fa fa-tasks fa-fw\"></i> <i class=\"fa fa-caret-down\"></i>\n" + " <i class=\"fa fa-tasks fa-fw\"></i> <i class=\"fa fa-caret-down\"></i>\n" +
" </a>\n" + " </a>\n" +
" <!--<ul class=\"dropdown-menu dropdown-tasks\">-->\n" + " <ul class=\"dropdown-menu dropdown-tasks\" ng-if=\"notifications[1].length > 0\">\n" +
" <!--<li>-->\n" + " <li ng-repeat=\"notify in notifications[1] | limitTo: '8'\">\n" +
" <!--<a href=\"#\">-->\n" + " <a href=\"javascript:void(0)\" ng-click=\"markAsRead(notify)\">\n" +
" <!--<div>-->\n" + " <div>\n" +
" <!--<p>-->\n" + " <p>\n" +
" <!--<strong>Task 1</strong>-->\n" + " <strong>{{notify.title}}</strong>\n" +
" <!--<span class=\"pull-right text-muted\">40% Complete</span>-->\n" + " <span class=\"pull-right text-muted\">{{notify.body}}</span>\n" +
" <!--</p>-->\n" + " </p>\n" +
" <!-- todo: progress bar will be used in future developments-->\n" +
" <!--<div class=\"progress progress-striped active\">-->\n" + " <!--<div class=\"progress progress-striped active\">-->\n" +
" <!--<div class=\"progress-bar progress-bar-success\" role=\"progressbar\" aria-valuenow=\"40\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 40%\">-->\n" + " <!--<div class=\"progress-bar progress-bar-success\" role=\"progressbar\" aria-valuenow=\"40\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 40%\">-->\n" +
" <!--<span class=\"sr-only\">40% Complete (success)</span>-->\n" + " <!--<span class=\"sr-only\">40% Complete (success)</span>-->\n" +
" <!--</div>-->\n" + " <!--</div>-->\n" +
" <!--</div>-->\n" + " <!--</div>-->\n" +
" <!--</div>-->\n" + "\n" +
" <!--</a>-->\n" + " </div>\n" +
" <!--</li>-->\n" + " </a>\n" +
" <!--<li class=\"divider\"></li>-->\n" + " </li>\n" +
" <!--<li>-->\n" + " <li class=\"divider\"></li>\n" +
" <!--<a class=\"text-center\" href=\"#\">-->\n" + " <li>\n" +
" <!--<strong>See All Tasks</strong>-->\n" + " <a class=\"text-center\" href=\"javascript:void(0)\">\n" +
" <!--<i class=\"fa fa-angle-right\"></i>-->\n" + " <strong>See All Tasks</strong>\n" +
" <!--</a>-->\n" + " <i class=\"fa fa-angle-right\"></i>\n" +
" <!--</li>-->\n" + " </a>\n" +
" <!--</ul>-->\n" + " </li>\n" +
" </ul>\n" +
" <!-- /.dropdown-tasks -->\n" + " <!-- /.dropdown-tasks -->\n" +
" </li>\n" + " </li>\n" +
" <!-- /.dropdown -->\n" + " <!-- /.dropdown -->\n" +
" <li class=\"dropdown\">\n" + " <li class=\"dropdown\">\n" +
" <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n" + " <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n" +
" <div class=\"badge\" ng-if=\"notifications[3].length > 0\">{{notifications[3].length}}</div>\n" +
" <i class=\"fa fa-bell fa-fw\"></i> <i class=\"fa fa-caret-down\"></i>\n" + " <i class=\"fa fa-bell fa-fw\"></i> <i class=\"fa fa-caret-down\"></i>\n" +
" </a>\n" + " </a>\n" +
" <!--<ul class=\"dropdown-menu dropdown-alerts\">-->\n" + " <ul class=\"dropdown-menu dropdown-alerts\" ng-if=\"notifications[3].length > 0\">\n" +
" <!--<li>-->\n" + " <li>\n" +
" <!--<a href=\"#\">-->\n" + " <a href=\"javascript:void(0)\">\n" +
" <!--<div>-->\n" + " <div>\n" +
" <!--<i class=\"fa fa-comment fa-fw\"></i> New Comment-->\n" + " <i class=\"fa fa-comment fa-fw\"></i> New Comment\n" +
" <!--<span class=\"pull-right text-muted small\">4 minutes ago</span>-->\n" + " <span class=\"pull-right text-muted small\">4 minutes ago</span>\n" +
" <!--</div>-->\n" + " </div>\n" +
" <!--</a>-->\n" + " </a>\n" +
" <!--</li>-->\n" + " </li>\n" +
" <!--<li class=\"divider\"></li>-->\n" + " </ul>\n" +
" <!--<li>-->\n" +
" <!--<a href=\"#\">-->\n" +
" <!--<div>-->\n" +
" <!--<i class=\"fa fa-twitter fa-fw\"></i> 3 New Followers-->\n" +
" <!--<span class=\"pull-right text-muted small\">12 minutes ago</span>-->\n" +
" <!--</div>-->\n" +
" <!--</a>-->\n" +
" <!--</li>-->\n" +
" <!--<li class=\"divider\"></li>-->\n" +
" <!--<li>-->\n" +
" <!--<a href=\"#\">-->\n" +
" <!--<div>-->\n" +
" <!--<i class=\"fa fa-envelope fa-fw\"></i> Message Sent-->\n" +
" <!--<span class=\"pull-right text-muted small\">4 minutes ago</span>-->\n" +
" <!--</div>-->\n" +
" <!--</a>-->\n" +
" <!--</li>-->\n" +
" <!--<li class=\"divider\"></li>-->\n" +
" <!--<li>-->\n" +
" <!--<a href=\"#\">-->\n" +
" <!--<div>-->\n" +
" <!--<i class=\"fa fa-tasks fa-fw\"></i> New Task-->\n" +
" <!--<span class=\"pull-right text-muted small\">4 minutes ago</span>-->\n" +
" <!--</div>-->\n" +
" <!--</a>-->\n" +
" <!--</li>-->\n" +
" <!--<li class=\"divider\"></li>-->\n" +
" <!--<li>-->\n" +
" <!--<a href=\"#\">-->\n" +
" <!--<div>-->\n" +
" <!--<i class=\"fa fa-upload fa-fw\"></i> Server Rebooted-->\n" +
" <!--<span class=\"pull-right text-muted small\">4 minutes ago</span>-->\n" +
" <!--</div>-->\n" +
" <!--</a>-->\n" +
" <!--</li>-->\n" +
" <!--<li class=\"divider\"></li>-->\n" +
" <!--<li>-->\n" +
" <!--<a class=\"text-center\" href=\"#\">-->\n" +
" <!--<strong>See All Alerts</strong>-->\n" +
" <!--<i class=\"fa fa-angle-right\"></i>-->\n" +
" <!--</a>-->\n" +
" <!--</li>-->\n" +
" <!--</ul>-->\n" +
" <!-- /.dropdown-alerts -->\n" + " <!-- /.dropdown-alerts -->\n" +
" </li>\n" + " </li>\n" +
" <!-- /.dropdown -->\n" + " <!-- /.dropdown -->\n" +
...@@ -847,9 +966,9 @@ angular.module("shared/templates/directives/header-notification.html", []).run([ ...@@ -847,9 +966,9 @@ angular.module("shared/templates/directives/header-notification.html", []).run([
" <i class=\"fa fa-user fa-fw\"></i> <i class=\"fa fa-caret-down\"></i>\n" + " <i class=\"fa fa-user fa-fw\"></i> <i class=\"fa fa-caret-down\"></i>\n" +
" </a>\n" + " </a>\n" +
" <ul class=\"dropdown-menu dropdown-user\">\n" + " <ul class=\"dropdown-menu dropdown-user\">\n" +
" <li><a href=\"#\"><i class=\"fa fa-user fa-fw\"></i> Profil</a>\n" + " <li><a href=\"javascript:void(0)\"><i class=\"fa fa-user fa-fw\"></i> Profil</a>\n" +
" </li>\n" + " </li>\n" +
" <li><a href=\"#\"><i class=\"fa fa-gear fa-fw\"></i> Ayarlar</a>\n" + " <li><a href=\"javascript:void(0)\"><i class=\"fa fa-gear fa-fw\"></i> Ayarlar</a>\n" +
" </li>\n" + " </li>\n" +
" <li class=\"divider\"></li>\n" + " <li class=\"divider\"></li>\n" +
" <li><a ui-sref=\"login\" href=\"javascript:void(0);\" logout><i class=\"fa fa-sign-out fa-fw\"></i> Çıkış</a>\n" + " <li><a ui-sref=\"login\" href=\"javascript:void(0);\" logout><i class=\"fa fa-sign-out fa-fw\"></i> Çıkış</a>\n" +
...@@ -865,17 +984,27 @@ angular.module("shared/templates/directives/header-notification.html", []).run([ ...@@ -865,17 +984,27 @@ angular.module("shared/templates/directives/header-notification.html", []).run([
angular.module("shared/templates/directives/header-sub-menu.html", []).run(["$templateCache", function($templateCache) { angular.module("shared/templates/directives/header-sub-menu.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("shared/templates/directives/header-sub-menu.html", $templateCache.put("shared/templates/directives/header-sub-menu.html",
"<div class=\"manager-view-header container-fluid\" ng-class=\"{hidden: $root.loggedInUser != true}\">\n" + "<div class=\"manager-view-header\">\n" +
" <div class=\"clearfix\">\n" + " <div class=\"clearfix\">\n" +
" <header-breadcrumb></header-breadcrumb>\n" + " <header-breadcrumb></header-breadcrumb>\n" +
" <loaderdiv><div></div></loaderdiv>\n" + " <loaderdiv><div></div></loaderdiv>\n" +
" <!--<div class=\"loader\">Loading...</div>-->\n" + " <!--<div class=\"loader\">Loading...</div>-->\n" +
" <selected-user class=\"pull-right\"></selected-user>\n" +
" </div>\n" + " </div>\n" +
" <div id=\"header-buttons\" ng-class=\"{hidden: $root.showSaveButton != true}\">\n" + " <!--<div id=\"header-buttons\" ng-class=\"{hidden: $root.showSaveButton != true}\">-->\n" +
" <button type=\"button\" class=\"btn btn-primary\" ng-click=\"triggerSubmit()\">Kaydet</button>\n" + " <!--<button type=\"button\" class=\"btn btn-primary\" ng-click=\"triggerSubmit()\">Kaydet</button>-->\n" +
" <!--<button type=\"button\" class=\"btn btn-warning\">Düzenle</button>-->\n" + " <!--&lt;!&ndash;<button type=\"button\" class=\"btn btn-warning\">Düzenle</button>&ndash;&gt;-->\n" +
" <!--<button type=\"button\" class=\"btn btn-danger\">İptal</button>-->\n" + " <!--&lt;!&ndash;<button type=\"button\" class=\"btn btn-danger\">İptal</button>&ndash;&gt;-->\n" +
" </div>\n" + " <!--</div>-->\n" +
"</div>");
}]);
angular.module("shared/templates/directives/menuCollapse.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("shared/templates/directives/menuCollapse.html",
"<div class=\"sidebar-collapse-button\" ng-click=\"collapseToggle()\">\n" +
" <div></div>\n" +
" <div></div>\n" +
" <div></div>\n" +
"</div>"); "</div>");
}]); }]);
...@@ -934,6 +1063,164 @@ angular.module("shared/templates/directives/notifications.html", []).run(["$temp ...@@ -934,6 +1063,164 @@ angular.module("shared/templates/directives/notifications.html", []).run(["$temp
"</div>"); "</div>");
}]); }]);
angular.module("shared/templates/directives/selected-user.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("shared/templates/directives/selected-user.html",
"<a href=\"#\" data-toggle=\"tooltip\" data-placement=\"bottom\" title=\"Tooltip on left\">İşlem: {{$root.selectedUser.name}}</a>\n" +
"\n" +
"<!-- sidebar-person-info -->\n" +
"<!--<div class=\"tooltip\" role=\"tooltip\">-->\n" +
" <!--&lt;!&ndash;<button class=\"btn btn-primary close-sidebar-person-info\">Profili Kapat</button>&ndash;&gt;-->\n" +
" <!--<div class=\"identity\">-->\n" +
" <!--<div class=\"identity-header clearfix\">-->\n" +
" <!--<img src=\"../../../img/sample-profile-pic.jpg\">-->\n" +
" <!--<div class=\"pull-left\">-->\n" +
" <!--<p class=\"identity-name\">{{$root.selectedUser.name}}</p>-->\n" +
" <!--&lt;!&ndash;<p class=\"identity-surname\">Öğümsöğütlü</p>&ndash;&gt;-->\n" +
" <!--</div>-->\n" +
" <!--</div>-->\n" +
" <!--&lt;!&ndash; end of identity-header &ndash;&gt;-->\n" +
" <!--<div class=\"identity-info\">-->\n" +
" <!--<div class=\"clearfix\">-->\n" +
" <!--<span class=\"fa fa-phone\"></span> <div>539 241 65 08</div>-->\n" +
" <!--</div>-->\n" +
" <!--<div class=\"clearfix\">-->\n" +
" <!--<span class=\"fa fa-envelope\"></span>-->\n" +
" <!--<div>erkanogum@gmail.com</div>-->\n" +
" <!--</div>-->\n" +
" <!--<div class=\"clearfix\">-->\n" +
" <!--<span class=\"fa fa-home\"></span>-->\n" +
" <!--<div>İşçi Blokları Mah. 1524. sokak B Blok 6. Kat A Kanat 27 numara</div>-->\n" +
" <!--</div>-->\n" +
" <!--</div>-->\n" +
" <!--</div>-->\n" +
" <!--&lt;!&ndash; end of identity &ndash;&gt;-->\n" +
" <!--<div class=\"person-actions\">-->\n" +
" <!--<ul>-->\n" +
" <!--<li><a href=\"#\"><span class=\"fa fa-trash\"></span> Action 1</a></li>-->\n" +
" <!--<li><a href=\"#\"><span class=\"fa fa-trash\"></span> Action 2</a></li>-->\n" +
" <!--<li><a href=\"#\"><span class=\"fa fa-trash\"></span> Action 3</a></li>-->\n" +
" <!--<li><a href=\"#\"><span class=\"fa fa-trash\"></span> Action 4</a></li>-->\n" +
" <!--<li><a href=\"#\"><span class=\"fa fa-trash\"></span> Action 5</a></li>-->\n" +
" <!--</ul>-->\n" +
" <!--</div>-->\n" +
" <!--&lt;!&ndash; end of person-actions &ndash;&gt;-->\n" +
"<!--</div>-->\n" +
"<!-- end of sidebar-person-info -->");
}]);
angular.module("shared/templates/directives/sidebar-notification.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("shared/templates/directives/sidebar-notification.html",
"<div class=\"right-sidebar\">\n" +
"\n" +
" <div class=\"right-sidebar-box\">\n" +
" <div class=\"right-sidebar-messages\">\n" +
"\n" +
" <div class=\"right-sidebar-title clearfix\">\n" +
" <h3>Mesajlar</h3>\n" +
" <span><a href=\"javascript:void(0)\">Tüm Mesajlar</a></span>\n" +
" </div>\n" +
" <!-- end of right-sidebar-title -->\n" +
"\n" +
" <div class=\"right-sidebar-message-block\" ng-repeat=\"notify in notifications[2] | limitTo:5\">\n" +
" <a class=\"clearfix\" href=\"javascript:void(0)\">\n" +
" <img src=\"../../../img/sample-profile-pic.jpg\">\n" +
" <div class=\"right-sidebar-message-content\">\n" +
" <div>{{notify.title}}</div>\n" +
" <div>{{notify.body}}</div>\n" +
" <div>16:05</div>\n" +
" </div>\n" +
" <!-- end of right-sidebar-message-content -->\n" +
" </a>\n" +
" </div>\n" +
" <!-- end of right-sidebar-message-block -->\n" +
"\n" +
" </div>\n" +
" <!-- end of right-sidebar-messages -->\n" +
" </div>\n" +
" <!-- end of right-sidebar-box -->\n" +
"\n" +
"\n" +
" <div class=\"right-sidebar-box\">\n" +
" <div class=\"right-sidebar-tasks\">\n" +
"\n" +
" <div class=\"right-sidebar-title clearfix\">\n" +
" <h3>Görevler</h3>\n" +
" <span><a href=\"javascript:void(0)\">Tüm Görevler</a></span>\n" +
" </div>\n" +
" <!-- end of right-sidebar-title -->\n" +
"\n" +
" <!--<div class=\"right-sidebar-task-block\">-->\n" +
" <!--<div class=\"task-type\">Devam Eden Görevler</div>-->\n" +
" <!--<a href=\"javascript:void(0)\">-->\n" +
" <!--<div class=\"task-title\">Öğrenci Kayıt</div>-->\n" +
" <!--<div class=\"progress\">-->\n" +
" <!--<div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"25\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"min-width: 2em; width:25%;\">-->\n" +
" <!--25%-->\n" +
" <!--</div>-->\n" +
" <!--</div>-->\n" +
" <!--&lt;!&ndash; end of progress &ndash;&gt;-->\n" +
" <!--</a>-->\n" +
" <!--</div>-->\n" +
" <!-- end of right-sidebar-task-block -->\n" +
"\n" +
" <div class=\"right-sidebar-task-block\">\n" +
" <div class=\"task-type\">Onay Bekleyen Görevler</div>\n" +
" <a href=\"javascript:void(0)\" ng-repeat=\"notify in notifications[1] | limitTo:5\">\n" +
" <div class=\"task-title\">{{notify.title}}</div>\n" +
" </a>\n" +
" </div>\n" +
" <!-- end of right-sidebar-task-block -->\n" +
"\n" +
" </div>\n" +
" <!-- end of right-sidebar-tasks -->\n" +
" </div>\n" +
" <!-- end of right-sidebar-box -->\n" +
"\n" +
"\n" +
" <div class=\"right-sidebar-box\">\n" +
" <div class=\"right-sidebar-announcements\">\n" +
"\n" +
" <div class=\"right-sidebar-title clearfix\">\n" +
" <h3>Duyurular</h3>\n" +
" <span><a href=\"javascript:void(0)\">Tüm Duyurular</a></span>\n" +
" </div>\n" +
" <!-- end of right-sidebar-title -->\n" +
"\n" +
" <div class=\"right-sidebar-announcement-block\">\n" +
" <a href=\"javascript:void(0)\" ng-repeat=\"notify in notifications[3] | limitTo:5\">{{notify.body}}</a>\n" +
" </div>\n" +
" <!-- end of right-sidebar-status-block -->\n" +
"\n" +
" </div>\n" +
" <!-- end of right-sidebar-status -->\n" +
" </div>\n" +
" <!-- end of right-sidebar-box -->\n" +
"\n" +
"\n" +
" <div class=\"right-sidebar-box\">\n" +
" <div class=\"right-sidebar-last-actions\">\n" +
"\n" +
" <div class=\"right-sidebar-title clearfix\">\n" +
" <h3>Son İşlemler</h3>\n" +
" <span><a href=\"javascript:void(0)\">Tüm İşlemler</a></span>\n" +
" </div>\n" +
" <!-- end of right-sidebar-title -->\n" +
"\n" +
" <div class=\"right-sidebar-last-action-block\">\n" +
" <a href=\"javascript:void(0)\">Birinci dönem bitimine 10 gün kaldı.</a>\n" +
" <a href=\"javascript:void(0)\">Ders seçimi işlemleri xx tarihinde başlayacaktır.</a>\n" +
" </div>\n" +
" <!-- end of right-sidebar-status-block -->\n" +
"\n" +
" </div>\n" +
" <!-- end of right-sidebar-status -->\n" +
" </div>\n" +
" <!-- end of right-sidebar-box -->\n" +
"\n" +
"</div>\n" +
"<!-- end of right-sidebar -->");
}]);
angular.module("shared/templates/directives/sidebar-search.html", []).run(["$templateCache", function($templateCache) { angular.module("shared/templates/directives/sidebar-search.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("shared/templates/directives/sidebar-search.html", $templateCache.put("shared/templates/directives/sidebar-search.html",
""); "");
...@@ -941,29 +1228,48 @@ angular.module("shared/templates/directives/sidebar-search.html", []).run(["$tem ...@@ -941,29 +1228,48 @@ angular.module("shared/templates/directives/sidebar-search.html", []).run(["$tem
angular.module("shared/templates/directives/sidebar.html", []).run(["$templateCache", function($templateCache) { angular.module("shared/templates/directives/sidebar.html", []).run(["$templateCache", function($templateCache) {
$templateCache.put("shared/templates/directives/sidebar.html", $templateCache.put("shared/templates/directives/sidebar.html",
"<div class=\"navbar-default sidebar\" role=\"navigation\">\n" + "<div class=\"navbar-default sidebar\" role=\"navigation\" ng-mouseenter=\"openSidebar()\" ng-mouseleave=\"closeSidebar()\">\n" +
" <div class=\"brand\">\n" + " <div class=\"brand\">\n" +
" <a href=\"\" class=\"logo\"><img src=\"/img/brand-logo.png\" /></a>\n" + " <a href=\"\" class=\"logo\"><img src=\"/img/brand-logo.png\" /></a>\n" +
" </div>\n" + " </div>\n" +
"\n" +
" <div class=\"sidebar-nav navbar-collapse\">\n" + " <div class=\"sidebar-nav navbar-collapse\">\n" +
" <ul class=\"nav in\" id=\"side-menu\" ng-class=\"{hidden: $root.loggedInUser != true}\">\n" + " <ul class=\"nav in\" id=\"side-menu\" ng-class=\"{hidden: $root.loggedInUser != true}\">\n" +
" <!--<sidebar-search></sidebar-search>-->\n" + " <!--<sidebar-search></sidebar-search>-->\n" +
" <li ui-sref-active=\"active\">\n" + " <li ui-sref-active=\"active\">\n" +
" <a href=\"#/dashboard\" ng-click=\"breadcrumb(['Panel'])\"><i class=\"fa fa-dashboard fa-fw\"></i>\n" + " <a href=\"#/dashboard\" ng-click=\"breadcrumb(['Panel'])\"><i class=\"fa fa-dashboard fa-fw\"></i>\n" +
" Panel</a>\n" + " <span class=\"menu-text\" ng-class=\"{hidden: $root.collapsed}\">Panel</span>\n" +
" </a>\n" +
" </li>\n" + " </li>\n" +
" \n" +
" <li ng-repeat=\"(key, item) in menuItems\" ng-class=\"{active: collapseVar == $index+1}\">{{dropDown}}\n" + " <li ng-repeat=\"(key, item) in menuItems\" ng-class=\"{active: collapseVar == $index+1}\">{{dropDown}}\n" +
" <a href=\"\" ng-click=\"check($index+1)\"><i class=\"fa fa-wrench fa-fw\"></i> {{ item[0] }}<span\n" + " <a href=\"\" ng-click=\"check($index+1)\">\n" +
" class=\"fa arrow\"></span></a>\n" + " <i class=\"fa fa-fw fa-cogs\"\n" +
" <ul class=\"nav nav-second-level\">\n" + " ng-class=\"{\n" +
" <li ng-repeat=\"(k, v) in item[1]\"><a href=\"#/{{v[1]}}\" ng-click=\"breadcrumb([item[0], v[0]])\">{{v[0]}}</a></li>\n" + " 'other': 'fa fa-fw fa-wrench',\n" +
" 'ogrenci': 'fa fa-fw fa-university',\n" +
" 'personel': 'fa fa-fw fa-users'}[key]\"></i>\n" +
" <span class=\"menu-text\" ng-class=\"{hidden: $root.collapsed}\">{{ key }}</span>\n" +
" <span class=\"fa arrow\" ng-class=\"{hidden: $root.collapsed}\"></span>\n" +
" </a>\n" +
" <ul class=\"nav nav-second-level\" ng-class=\"{hidden: $root.collapsed}\">\n" +
" <li ng-repeat=\"v in item\">\n" +
" <a ng-if=\"key == 'other'\" ng-href=\"#{{v.url}}/{{$root.selectedUser.key}}\"\n" +
" ng-click=\"breadcrumb([key, v.text], $event)\">{{v.text}}</a>\n" +
" <a ng-if=\"key == 'ogrenci' || key == 'personel'\"\n" +
" ng-href=\"#{{v.url}}/{{v.param}}/{{$root.selectedUser.key}}\"\n" +
" ng-click=\"breadcrumb([key, v.text], $event)\">{{v.text}}</a>\n" +
" </li>\n" +
" </ul>\n" + " </ul>\n" +
" <!-- /.nav-second-level -->\n" + " <!-- /.nav-second-level -->\n" +
" </li>\n" + " </li>\n" +
" </ul>\n" + " </ul>\n" +
" </div>\n" + " </div>\n" +
" <!-- /.sidebar-collapse -->\n" + " <!-- /.sidebar-collapse -->\n" +
" <footer>\n" + "\n" +
"\n" +
" \n" +
" <footer ng-class=\"{hidden: $root.collapsed}\">\n" +
" <span>v <app-version></app-version> &copy; ZetaOps</span>\n" + " <span>v <app-version></app-version> &copy; ZetaOps</span>\n" +
" </footer>\n" + " </footer>\n" +
"</div>\n" + "</div>\n" +
...@@ -1127,16 +1433,41 @@ angular.module("shared/templates/foreignKey.html", []).run(["$templateCache", fu ...@@ -1127,16 +1433,41 @@ angular.module("shared/templates/foreignKey.html", []).run(["$templateCache", fu
" {{form.title}}\n" + " {{form.title}}\n" +
" </label>\n" + " </label>\n" +
"\n" + "\n" +
" <select ng-model=\"$$value$$\"\n" + " <div class=\"form-group input-group\">\n" +
" value=\"$$value$$\"\n" + " <span class=\"input-group-btn\">\n" +
" ng-model-options=\"form.ngModelOptions\"\n" + " <button class=\"btn btn-default dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\">\n" +
" ng-disabled=\"form.readonly\"\n" + " <span class=\"caret\"></span>\n" +
" sf-changed=\"form\"\n" + " </button>\n" +
" class=\"form-control {{form.fieldHtmlClass}}\"\n" + " <ul class=\"dropdown-menu\">\n" +
" schema-validate=\"form\"\n" + " <li ng-repeat=\"item in form.titleMap\">\n" +
" ng-options=\"item.value as item.name for item in form.titleMap\"\n" + " <a href=\"javascript:void(0)\" ng-click=\"form.onDropdownSelect(item, form.model_name)\">{{item\n" +
" name=\"{{form.key.slice(-1)[0]}}\">\n" + " .name}}</a>\n" +
" </select>\n" + " </li>\n" +
" </ul>\n" +
" </span>\n" +
" <input type=\"text\"\n" +
" ng-model=\"$$value$$\"\n" +
" typeahead=\"item.name for item in form.titleMap\"\n" +
" typeahead-on-select=\"form.onSelect($item)\"\n" +
" placeholder=\"{{form.title}}\"\n" +
" ng-model-options=\"form.ngModelOptions\"\n" +
" ng-disabled=\"form.readonly\"\n" +
" sf-changed=\"form\"\n" +
" class=\"form-control {{form.fieldHtmlClass}}\"\n" +
" schema-validate=\"form\"\n" +
" name=\"{{form.model_name}}\"/>\n" +
" </div>\n" +
"\n" +
" <!--<select ng-model=\"$$value$$\"-->\n" +
" <!--value=\"$$value$$\"-->\n" +
" <!--ng-model-options=\"form.ngModelOptions\"-->\n" +
" <!--ng-disabled=\"form.readonly\"-->\n" +
" <!--sf-changed=\"form\"-->\n" +
" <!--class=\"form-control {{form.fieldHtmlClass}}\"-->\n" +
" <!--schema-validate=\"form\"-->\n" +
" <!--ng-options=\"item.value as item.name for item in form.titleMap\"-->\n" +
" <!--name=\"{{form.key.slice(-1)[0]}}\">-->\n" +
" <!--</select>-->\n" +
"\n" + "\n" +
" <div class=\"help-block\" sf-message=\"form.description\"></div>\n" + " <div class=\"help-block\" sf-message=\"form.description\"></div>\n" +
" </div>\n" + " </div>\n" +
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment