Commit 158de2cb authored by Evren Kutar's avatar Evren Kutar

v0.0.3 sidebar copyright sign fix

buttons show hide / on header depending on page
loading spinner fix
parent 79d5fd59
...@@ -73,6 +73,7 @@ module.exports = function (grunt) { ...@@ -73,6 +73,7 @@ module.exports = function (grunt) {
files: [ files: [
{expand: true, cwd: 'app/bower_components/font-awesome/fonts/', src: '*', dest: 'dist/fonts/', flatten: true, filter: 'isFile'}, {expand: true, cwd: 'app/bower_components/font-awesome/fonts/', src: '*', dest: 'dist/fonts/', flatten: true, filter: 'isFile'},
{expand: true, cwd: 'app/img/', src: 'brand-logo.png', dest: 'dist/img/', flatten: true, filter: 'isFile'}, {expand: true, cwd: 'app/img/', src: 'brand-logo.png', dest: 'dist/img/', flatten: true, filter: 'isFile'},
{expand: true, cwd: 'app/img/', src: 'loading_spinner.gif', dest: 'dist/img/', flatten: true, filter: 'isFile'},
{expand: true, cwd: 'app/styles/roboto/', src: '**/*', dest: 'dist/css/roboto/', flatten: false}, {expand: true, cwd: 'app/styles/roboto/', src: '**/*', dest: 'dist/css/roboto/', flatten: false},
{expand: true, cwd: 'app/styles/', src: 'jquery-ui.min.css', dest: 'dist/css/', flatten: true}, {expand: true, cwd: 'app/styles/', src: 'jquery-ui.min.css', dest: 'dist/css/', flatten: true},
{expand: true, cwd: 'app/styles/images/', src: '*', dest: 'dist/css/images/', flatten: true}, {expand: true, cwd: 'app/styles/images/', src: '*', dest: 'dist/css/images/', flatten: true},
......
...@@ -258,6 +258,7 @@ select { ...@@ -258,6 +258,7 @@ select {
flex-shrink: 0; flex-shrink: 0;
position:relative; position:relative;
z-index:1; z-index:1;
height: 98px;
} }
.manager-view-content { .manager-view-content {
...@@ -1100,5 +1101,6 @@ table.dataTable thead .sorting:after { ...@@ -1100,5 +1101,6 @@ table.dataTable thead .sorting:after {
height:100%; height:100%;
top: 0; top: 0;
left: 0; left: 0;
background: rgba(0, 0, 2, 0.2); background: url('/img/loading_spinner.gif') rgba(0, 0, 3, 0.2) no-repeat center center;
background-size: 100px 100px;
} }
\ No newline at end of file
...@@ -5,4 +5,4 @@ angular.module('ulakbus.version', [ ...@@ -5,4 +5,4 @@ angular.module('ulakbus.version', [
'ulakbus.version.version-directive' 'ulakbus.version.version-directive'
]) ])
.value('version', '0.3'); .value('version', '0.3.0');
...@@ -88,7 +88,7 @@ app.directive('sidebar', ['$location', function () { ...@@ -88,7 +88,7 @@ app.directive('sidebar', ['$location', function () {
}, 2000); }, 2000);
$scope.selectedMenu = $location.path(); $scope.selectedMenu = $location.path();
$scope.collapseVar = 1; $scope.collapseVar = 0;
$scope.multiCollapseVar = 0; $scope.multiCollapseVar = 0;
$scope.check = function (x) { $scope.check = function (x) {
...@@ -103,6 +103,8 @@ app.directive('sidebar', ['$location', function () { ...@@ -103,6 +103,8 @@ app.directive('sidebar', ['$location', function () {
// breadcrumb function changes breadcrumb items and itemlist must be list // breadcrumb function changes breadcrumb items and itemlist must be list
$scope.breadcrumb = function(itemlist){ $scope.breadcrumb = function(itemlist){
$rootScope.breadcrumblinks = itemlist; $rootScope.breadcrumblinks = itemlist;
// showSaveButton is used for to show or not to show save button on top of the page
$rootScope.showSaveButton = false;
}; };
$scope.multiCheck = function (y) { $scope.multiCheck = function (y) {
......
<div class="manager-view-header container-fluid" ng-class="{hidden: $root.loggedInUser != true}"> <div class="manager-view-header container-fluid" ng-class="{hidden: $root.loggedInUser != true}">
<header-breadcrumb></header-breadcrumb> <header-breadcrumb></header-breadcrumb>
<div id="header-buttons"> <div id="header-buttons" ng-class="{hidden: $root.showSaveButton != true}">
<button type="button" class="btn btn-primary" ng-click="triggerSubmit()">Kaydet</button> <button type="button" class="btn btn-primary" ng-click="triggerSubmit()">Kaydet</button>
<!--<button type="button" class="btn btn-warning">Düzenle</button>--> <!--<button type="button" class="btn btn-warning">Düzenle</button>-->
<!--<button type="button" class="btn btn-danger">İptal</button>--> <!--<button type="button" class="btn btn-danger">İptal</button>-->
......
...@@ -21,6 +21,6 @@ ...@@ -21,6 +21,6 @@
</div> </div>
<!-- /.sidebar-collapse --> <!-- /.sidebar-collapse -->
<footer> <footer>
<span>v <app-version></app-version> ® ZetaOps</span> <span>v <app-version></app-version> &copy; ZetaOps</span>
</footer> </footer>
</div> </div>
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
var form_generator = angular.module('formService', ['general']); var form_generator = angular.module('formService', ['general']);
form_generator.factory('Generator', function ($http, $q, $log, $location, $modal, $timeout, RESTURL, FormDiff) { form_generator.factory('Generator', function ($http, $q, $log, $location, $modal, $timeout, RESTURL, FormDiff, $rootScope) {
var generator = {}; var generator = {};
generator.makeUrl = function (url) { generator.makeUrl = function (url) {
return RESTURL.url + url; return RESTURL.url + url;
...@@ -37,6 +37,10 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -37,6 +37,10 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
scope.object_id = scope.form_params['object_id']; scope.object_id = scope.form_params['object_id'];
// showSaveButton is used for to show or not to show save button on top of the page
// here change to true because the view retrieves form from api
$rootScope.showSaveButton = true;
return generator.group(scope); return generator.group(scope);
}; };
generator.group = function (formObject) { generator.group = function (formObject) {
...@@ -195,6 +199,10 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -195,6 +199,10 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
return re.test(email); 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 = { generator.asyncValidators = {
emailNotValid: function (value) { emailNotValid: function (value) {
var deferred = $q.defer(); var deferred = $q.defer();
...@@ -206,6 +214,17 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -206,6 +214,17 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
} }
}, 500); }, 500);
return deferred.promise; return deferred.promise;
},
tcNoNotValid: function (value) {
var deferred = $q.defer();
$timeout(function () {
if (generator.isValidTCNo(value)) {
deferred.resolve();
} else {
deferred.reject();
}
}, 500);
return deferred.promise;
} }
}; };
generator.submit = function ($scope) { generator.submit = function ($scope) {
......
...@@ -135,5 +135,58 @@ describe('form service module', function () { ...@@ -135,5 +135,58 @@ describe('form service module', function () {
}) })
); );
it('should validate email',
inject(function(Generator){
var validEmails = [
'test@test.com',
'test@test.co.uk',
'test734ltylytkliytkryety9ef@jb-fe.com'
];
var invalidEmails = [
'test@testcom',
'test@ test.co.uk',
'ghgf@fe.com.co.',
'tes@t@test.com',
''
];
for (var i in validEmails) {
var valid = Generator.isValidEmail(validEmails[i]);
expect(valid).toBeTruthy();
}
for (var i in invalidEmails) {
var valid = Generator.isValidEmail(invalidEmails[i]);
expect(valid).toBeFalsy();
}
})
);
it('should validate tcNo',
inject(function(Generator){
var validTCNos = [
'12345678902',
'18307990654'
];
var invalidTCNos = [
'00000000000',
'00000000002',
'12345678901',
'1234567892',
''
];
for (var i in validTCNos) {
var valid = Generator.isValidTCNo(validTCNos[i]);
expect(valid).toBeTruthy();
}
for (var i in invalidTCNos) {
var valid = Generator.isValidTCNo(invalidTCNos[i]);
expect(valid).toBeFalsy();
}
})
);
}); });
}); });
\ No newline at end of file
This diff is collapsed.
...@@ -271,6 +271,7 @@ select { ...@@ -271,6 +271,7 @@ select {
flex-shrink: 0; flex-shrink: 0;
position:relative; position:relative;
z-index:1; z-index:1;
height: 98px;
} }
.manager-view-content { .manager-view-content {
...@@ -1113,7 +1114,8 @@ table.dataTable thead .sorting:after { ...@@ -1113,7 +1114,8 @@ table.dataTable thead .sorting:after {
height:100%; height:100%;
top: 0; top: 0;
left: 0; left: 0;
background: rgba(0, 0, 2, 0.2); background: url('/img/loading_spinner.gif') rgba(0, 0, 3, 0.2) no-repeat center center;
background-size: 100px 100px;
} }
/* /*
......
...@@ -864,7 +864,7 @@ angular.module("shared/templates/directives/header-sub-menu.html", []).run(["$te ...@@ -864,7 +864,7 @@ angular.module("shared/templates/directives/header-sub-menu.html", []).run(["$te
$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 container-fluid\" ng-class=\"{hidden: $root.loggedInUser != true}\">\n" +
" <header-breadcrumb></header-breadcrumb>\n" + " <header-breadcrumb></header-breadcrumb>\n" +
" <div id=\"header-buttons\">\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" + " <!--<button type=\"button\" class=\"btn btn-warning\">Düzenle</button>-->\n" +
" <!--<button type=\"button\" class=\"btn btn-danger\">İptal</button>-->\n" + " <!--<button type=\"button\" class=\"btn btn-danger\">İptal</button>-->\n" +
...@@ -957,7 +957,7 @@ angular.module("shared/templates/directives/sidebar.html", []).run(["$templateCa ...@@ -957,7 +957,7 @@ angular.module("shared/templates/directives/sidebar.html", []).run(["$templateCa
" </div>\n" + " </div>\n" +
" <!-- /.sidebar-collapse -->\n" + " <!-- /.sidebar-collapse -->\n" +
" <footer>\n" + " <footer>\n" +
" <span>v <app-version></app-version> ® ZetaOps</span>\n" + " <span>v <app-version></app-version> &copy; ZetaOps</span>\n" +
" </footer>\n" + " </footer>\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