Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
ulakbus-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ulakbus
ulakbus-ui
Commits
5c4f12cc
Commit
5c4f12cc
authored
Apr 01, 2016
by
Evren Kutar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
menu rename to dashboard and get it with socket
parent
d7aeee26
Changes
17
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
290 additions
and
162 deletions
+290
-162
app.css
app/app.css
+9
-0
app_routes.js
app/app_routes.js
+1
-1
auth_service.js
app/components/auth/auth_service.js
+22
-4
crud_controller.js
app/components/crud/crud_controller.js
+54
-22
list.html
app/components/crud/templates/list.html
+6
-6
dashboard_controller.js
app/components/dashboard/dashboard_controller.js
+3
-0
index.html
app/index.html
+14
-7
main.html
app/main.html
+14
-7
directives.js
app/shared/directives.js
+89
-75
sidebar.html
app/shared/templates/directives/sidebar.html
+2
-2
action_service.js
app/zetalib/action_service.js
+6
-0
socket.js
app/zetalib/socket.js
+35
-19
app.js
dist/app.js
+3
-3
components.js
dist/bower_components/components.js
+1
-1
app.css
dist/css/app.css
+9
-0
index.html
dist/index.html
+14
-7
templates.js
dist/templates.js
+8
-8
No files found.
app/app.css
View file @
5c4f12cc
...
@@ -2191,3 +2191,12 @@ table.dataTable thead .sorting:after {
...
@@ -2191,3 +2191,12 @@ table.dataTable thead .sorting:after {
top
:
43px
;
left
:
0
;
top
:
43px
;
left
:
0
;
z-index
:
1000
;
z-index
:
1000
;
}
}
.body-mask
{
width
:
100%
;
height
:
100%
;
background
:
#fff
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
1099
;
}
\ No newline at end of file
app/app_routes.js
View file @
5c4f12cc
...
@@ -59,7 +59,7 @@ angular.module('ulakbus')
...
@@ -59,7 +59,7 @@ angular.module('ulakbus')
}])
}])
.
run
(
function
(
$rootScope
)
{
.
run
(
function
(
$rootScope
)
{
$rootScope
.
loggedInUser
=
tru
e
;
$rootScope
.
loggedInUser
=
fals
e
;
$rootScope
.
loginAttempt
=
0
;
$rootScope
.
loginAttempt
=
0
;
$rootScope
.
websocketIsOpen
=
false
;
$rootScope
.
websocketIsOpen
=
false
;
$rootScope
.
current_user
=
true
;
$rootScope
.
current_user
=
true
;
...
...
app/components/auth/auth_service.js
View file @
5c4f12cc
...
@@ -21,8 +21,18 @@ angular.module('ulakbus.auth')
...
@@ -21,8 +21,18 @@ angular.module('ulakbus.auth')
authService
.
get_form
=
function
(
scope
)
{
authService
.
get_form
=
function
(
scope
)
{
return
$http
return
$http
.
post
(
Generator
.
makeUrl
(
scope
),
scope
.
form_params
)
.
post
(
Generator
.
makeUrl
(
scope
),
scope
.
form_params
)
.
then
(
function
(
res
)
{
.
success
(
function
(
data
,
status
,
headers
,
config
)
{
return
Generator
.
generate
(
scope
,
res
.
data
);
if
(
data
.
cmd
===
'upgrade'
)
{
$rootScope
.
loggedInUser
=
true
;
$rootScope
.
$broadcast
(
"user_ready"
);
$rootScope
.
$broadcast
(
"ws_turn_on"
);
return
$location
.
path
(
'/dashboard'
);
}
else
{
if
(
angular
.
isDefined
(
data
.
forms
)
&&
$location
.
path
()
!==
'/login'
){
$location
.
path
(
'/login'
);
}
return
Generator
.
generate
(
scope
,
data
);
}
});
});
};
};
...
@@ -44,9 +54,12 @@ angular.module('ulakbus.auth')
...
@@ -44,9 +54,12 @@ angular.module('ulakbus.auth')
.
success
(
function
(
data
,
status
,
headers
,
config
)
{
.
success
(
function
(
data
,
status
,
headers
,
config
)
{
//$window.sessionStorage.token = data.token;
//$window.sessionStorage.token = data.token;
Generator
.
button_switch
(
true
);
Generator
.
button_switch
(
true
);
if
(
data
.
status_code
!==
403
)
{
if
(
data
.
cmd
===
'upgrade'
)
{
$rootScope
.
loggedInUser
=
true
;
$rootScope
.
loggedInUser
=
true
;
$rootScope
.
$broadcast
(
"regenerate_menu"
);
// $rootScope.$broadcast("regenerate_menu");
// to display main view without flickering
$rootScope
.
$broadcast
(
"user_ready"
);
$rootScope
.
$broadcast
(
"ws_turn_on"
);
$location
.
path
(
'/dashboard'
);
$location
.
path
(
'/dashboard'
);
}
}
if
(
data
.
status_code
===
403
)
{
if
(
data
.
status_code
===
403
)
{
...
@@ -80,5 +93,10 @@ angular.module('ulakbus.auth')
...
@@ -80,5 +93,10 @@ angular.module('ulakbus.auth')
});
});
};
};
authService
.
check_auth
=
function
()
{
var
post_data
=
{
url
:
'login'
,
form_params
:{}};
return
authService
.
get_form
(
post_data
);
};
return
authService
;
return
authService
;
});
});
\ No newline at end of file
app/components/crud/crud_controller.js
View file @
5c4f12cc
...
@@ -92,6 +92,37 @@ angular.module('ulakbus.crud', ['schemaForm', 'ui.bootstrap', 'ulakbus.formServi
...
@@ -92,6 +92,37 @@ angular.module('ulakbus.crud', ['schemaForm', 'ui.bootstrap', 'ulakbus.formServi
angular
.
forEach
(
pageData
,
function
(
value
,
key
)
{
angular
.
forEach
(
pageData
,
function
(
value
,
key
)
{
scope
[
key
]
=
value
;
scope
[
key
]
=
value
;
});
});
if
(
scope
.
meta
[
'selective_listing'
]
===
true
)
{
angular
.
forEach
(
scope
.
objects
,
function
(
_v
,
_k
)
{
angular
.
forEach
(
_v
.
objects
,
function
(
value
,
key
)
{
if
(
key
>
0
)
{
var
linkIndexes
=
{};
angular
.
forEach
(
value
.
actions
,
function
(
v
,
k
)
{
if
(
v
.
show_as
===
'link'
)
{
linkIndexes
=
v
}
});
angular
.
forEach
(
value
.
fields
,
function
(
v
,
k
)
{
try
{
if
(
value
.
actions
.
length
>
0
&&
linkIndexes
.
fields
){
scope
.
objects
[
_k
][
key
].
fields
[
k
]
=
{
type
:
linkIndexes
.
fields
.
indexOf
(
k
)
>
-
1
?
'link'
:
'str'
,
content
:
v
,
cmd
:
linkIndexes
.
cmd
,
mode
:
linkIndexes
.
mode
};
}
else
{
scope
.
objects
[
_k
][
'objects'
][
key
].
fields
[
k
]
=
{
type
:
'str'
,
content
:
v
};
}
}
catch
(
e
)
{
$log
.
error
(
e
);
scope
.
objects
[
_k
][
'objects'
][
key
].
fields
[
k
]
=
{
type
:
'str'
,
content
:
v
};
}
});
}
});
});
}
else
{
angular
.
forEach
(
scope
.
objects
,
function
(
value
,
key
)
{
angular
.
forEach
(
scope
.
objects
,
function
(
value
,
key
)
{
if
(
key
>
0
)
{
if
(
key
>
0
)
{
var
linkIndexes
=
{};
var
linkIndexes
=
{};
...
@@ -113,6 +144,8 @@ angular.module('ulakbus.crud', ['schemaForm', 'ui.bootstrap', 'ulakbus.formServi
...
@@ -113,6 +144,8 @@ angular.module('ulakbus.crud', ['schemaForm', 'ui.bootstrap', 'ulakbus.formServi
});
});
}
}
});
});
}
$log
.
debug
(
scope
.
objects
);
$log
.
debug
(
scope
.
objects
);
}
}
}
}
...
@@ -262,9 +295,8 @@ angular.module('ulakbus.crud', ['schemaForm', 'ui.bootstrap', 'ulakbus.formServi
...
@@ -262,9 +295,8 @@ angular.module('ulakbus.crud', ['schemaForm', 'ui.bootstrap', 'ulakbus.formServi
};
};
// selective listing for list page todo: add to documentation
// selective listing for list page todo: add to documentation
$scope
.
selective_list_key
=
0
;
$scope
.
update_selective_list
=
function
(
key
)
{
$scope
.
update_selective_list
=
function
()
{
$scope
.
objects
=
$scope
.
all_objects
[
key
][
"objects"
];
$scope
.
objects
=
$scope
.
all_objects
[
$scope
.
selective_list_key
][
"objects"
];
};
};
// end of selective listing
// end of selective listing
$scope
.
listFormCmd
=
function
()
{
$scope
.
listFormCmd
=
function
()
{
...
...
app/components/crud/templates/list.html
View file @
5c4f12cc
...
@@ -9,17 +9,17 @@
...
@@ -9,17 +9,17 @@
</div>
</div>
</div>
</div>
<!-- todo: add `selective_list` to documentation -->
<!-- todo: add `selective_list` to documentation -->
<div
ng-if=
"meta.selective_listing === true"
>
<div
ng-if=
"meta.selective_listing === true"
class=
"row"
style=
"margin-bottom: 25px;"
>
<label
for=
"selective_list"
>
{{meta.selective_listing_label || "Sayfa içinde filtrelemek için seçim yapınız."}}
</label>
<label
for=
"selective_list"
>
{{meta.selective_listing_label || "Sayfa içinde filtrelemek için seçim yapınız."}}
</label>
<select
name=
"selective_list"
id=
"selective_list"
<select
name=
"selective_list"
id=
"selective_list"
ng-change=
"update_selective_list()"
ng-change=
"update_selective_list(
selective_list_key
)"
ng-model=
"selective_list_key"
ng-model=
"selective_list_key"
class=
"form-control"
>
class=
"form-control"
>
<option
ng-repeat=
"item in all_objects"
value=
"{{$index}}"
>
{{item.key}}
</option>
<option
ng-repeat=
"item in all_objects"
value=
"{{$index}}"
ng-selected=
"selective_list_key"
>
{{item.key}}
</option>
</select>
</select>
</div>
</div>
<div
class=
"tablescroll"
ng-if=
"objects[1]"
>
<div
class=
"tablescroll"
ng-if=
"objects[1]"
>
<table
class=
"table table-bordered"
style=
"background-color:#fff;"
>
<table
class=
"table table-bordered
table-striped
"
style=
"background-color:#fff;"
>
<thead>
<thead>
<tr>
<tr>
<td
ng-if=
"meta.allow_selection === true"
>
<td
ng-if=
"meta.allow_selection === true"
>
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
</td>
</td>
<td
ng-repeat=
"value in objects[0] track by $index"
ng-if=
"objects[0]!='-1'"
>
{{value}}
</td>
<td
ng-repeat=
"value in objects[0] track by $index"
ng-if=
"objects[0]!='-1'"
>
{{value}}
</td>
<td
ng-if=
"objects[0]=='-1'"
>
{{ schema.title||model}}
</td>
<td
ng-if=
"objects[0]=='-1'"
>
{{ schema.title||model}}
</td>
<td>
İşlem
</td>
<td
ng-if=
"meta.allow_actions !== false"
>
İşlem
</td>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
...
@@ -51,7 +51,7 @@
...
@@ -51,7 +51,7 @@
<!--<span ng-if="field.type==='str'">{{trustashtml(field.content) | markdown}}</span>-->
<!--<span ng-if="field.type==='str'">{{trustashtml(field.content) | markdown}}</span>-->
</td>
</td>
<td>
<td
ng-if=
"meta.allow_actions !== false"
>
<button
class=
"btn btn-info"
style=
"margin-right: 5px;"
ng-repeat=
"action in object.actions track by $index"
<button
class=
"btn btn-info"
style=
"margin-right: 5px;"
ng-repeat=
"action in object.actions track by $index"
ng-if=
"action.show_as==='button'"
ng-if=
"action.show_as==='button'"
ng-click=
"do_action(object.key, action)"
>
{{action
ng-click=
"do_action(object.key, action)"
>
{{action
...
...
app/components/dashboard/dashboard_controller.js
View file @
5c4f12cc
...
@@ -22,6 +22,9 @@ angular.module('ulakbus.dashboard', [])
...
@@ -22,6 +22,9 @@ angular.module('ulakbus.dashboard', [])
})
})
.
controller
(
'DashController'
,
function
(
$scope
,
$rootScope
,
$routeParams
,
$route
,
$timeout
,
$http
,
$cookies
,
RESTURL
,
Generator
,
WSOps
)
{
.
controller
(
'DashController'
,
function
(
$scope
,
$rootScope
,
$routeParams
,
$route
,
$timeout
,
$http
,
$cookies
,
RESTURL
,
Generator
,
WSOps
)
{
// first generate_dashboard broadcasted to get menu and dashboard items
// sidebar directive listens for "generate_dashboard"
$rootScope
.
$broadcast
(
"generate_dashboard"
);
$scope
.
section
=
function
(
section_index
)
{
$scope
.
section
=
function
(
section_index
)
{
$rootScope
.
section
=
section_index
;
$rootScope
.
section
=
section_index
;
...
...
app/index.html
View file @
5c4f12cc
...
@@ -30,7 +30,14 @@
...
@@ -30,7 +30,14 @@
</head>
</head>
<body
ng-controller=
"KeyListenController"
ng-keydown=
"down($event)"
>
<body
ng-controller=
"KeyListenController"
ng-keydown=
"down($event)"
>
<nav
class=
"navbar navbar-default navbar-static-top"
role=
"navigation"
style=
"margin-bottom: 0"
ng-if=
"$root.current_user"
>
<div
ng-show=
"user_ready === false"
class=
"body-mask"
>
<div
class=
"text-center"
>
<span
class=
"loader"
></span>
</div>
</div>
<nav
class=
"navbar navbar-default navbar-static-top"
role=
"navigation"
style=
"margin-bottom: 0"
ng-show=
"user_ready === true"
>
<collapse-menu></collapse-menu>
<collapse-menu></collapse-menu>
<!--<ul class="header-menu">-->
<!--<ul class="header-menu">-->
<!--<li><a href="">Mesajlar</a></li>-->
<!--<li><a href="">Mesajlar</a></li>-->
...
@@ -40,7 +47,7 @@
...
@@ -40,7 +47,7 @@
<!--</ul>-->
<!--</ul>-->
<div
class=
"navbar-header"
>
<div
class=
"navbar-header"
>
<div
class=
"brand"
>
<div
class=
"brand"
>
<a
href=
"#/dashboard"
class=
"logo"
><img
src=
"/img/brand-logo.png"
/></a>
<a
href=
"#/dashboard"
class=
"logo"
><img
src=
"/img/brand-logo.png"
/></a>
</div>
</div>
<button
type=
"button"
class=
"navbar-toggle"
data-toggle=
"collapse"
data-target=
".navbar-collapse"
>
<button
type=
"button"
class=
"navbar-toggle"
data-toggle=
"collapse"
data-target=
".navbar-collapse"
>
<span
class=
"sr-only"
>
Toggle navigation
</span>
<span
class=
"sr-only"
>
Toggle navigation
</span>
...
@@ -53,7 +60,7 @@
...
@@ -53,7 +60,7 @@
<header-notification></header-notification>
<header-notification></header-notification>
</nav>
</nav>
<sidebar
ng-
if=
"$root.current_user
"
></sidebar>
<sidebar
ng-
show=
"user_ready === true
"
></sidebar>
<div
class=
"manager-view"
>
<div
class=
"manager-view"
>
<div
class=
"manager-view-inner"
>
<div
class=
"manager-view-inner"
>
...
...
app/main.html
View file @
5c4f12cc
...
@@ -37,7 +37,14 @@
...
@@ -37,7 +37,14 @@
</head>
</head>
<body
ng-controller=
"KeyListenController"
ng-keydown=
"down($event)"
>
<body
ng-controller=
"KeyListenController"
ng-keydown=
"down($event)"
>
<nav
class=
"navbar navbar-default navbar-static-top"
role=
"navigation"
style=
"margin-bottom: 0"
ng-if=
"$root.current_user"
>
<div
ng-show=
"user_ready === false"
class=
"body-mask"
>
<div
class=
"text-center"
>
<span
class=
"loader"
></span>
</div>
</div>
<nav
class=
"navbar navbar-default navbar-static-top"
role=
"navigation"
style=
"margin-bottom: 0"
ng-show=
"user_ready === true"
>
<collapse-menu></collapse-menu>
<collapse-menu></collapse-menu>
<!--<ul class="header-menu">-->
<!--<ul class="header-menu">-->
<!--<li><a href="">Mesajlar</a></li>-->
<!--<li><a href="">Mesajlar</a></li>-->
...
@@ -47,7 +54,7 @@
...
@@ -47,7 +54,7 @@
<!--</ul>-->
<!--</ul>-->
<div
class=
"navbar-header"
>
<div
class=
"navbar-header"
>
<div
class=
"brand"
>
<div
class=
"brand"
>
<a
href=
"#/dashboard"
class=
"logo"
><img
src=
"/img/brand-logo.png"
/></a>
<a
href=
"#/dashboard"
class=
"logo"
><img
src=
"/img/brand-logo.png"
/></a>
</div>
</div>
<button
type=
"button"
class=
"navbar-toggle"
data-toggle=
"collapse"
data-target=
".navbar-collapse"
>
<button
type=
"button"
class=
"navbar-toggle"
data-toggle=
"collapse"
data-target=
".navbar-collapse"
>
<span
class=
"sr-only"
>
Toggle navigation
</span>
<span
class=
"sr-only"
>
Toggle navigation
</span>
...
@@ -60,7 +67,7 @@
...
@@ -60,7 +67,7 @@
<header-notification></header-notification>
<header-notification></header-notification>
</nav>
</nav>
<sidebar
ng-
if=
"$root.current_user
"
></sidebar>
<sidebar
ng-
show=
"user_ready === true
"
></sidebar>
<div
class=
"manager-view"
>
<div
class=
"manager-view"
>
<div
class=
"manager-view-inner"
>
<div
class=
"manager-view-inner"
>
...
...
app/shared/directives.js
View file @
5c4f12cc
...
@@ -74,8 +74,8 @@ angular.module('ulakbus')
...
@@ -74,8 +74,8 @@ angular.module('ulakbus')
* @todo: do it in detail page of notification
* @todo: do it in detail page of notification
*/
*/
$scope
.
markAsRead
=
function
(
item
,
group
,
index
)
{
$scope
.
markAsRead
=
function
(
item
,
group
,
index
)
{
WSOps
.
doSend
(
angular
.
toJson
({
data
:
{
view
:
'notify'
,
id
:
item
.
id
}}));
WSOps
.
doSend
(
angular
.
toJson
({
data
:
{
view
:
'notify'
,
id
:
item
.
id
}}));
$scope
.
notifications
[
group
].
splice
(
index
,
1
);
$scope
.
notifications
[
group
].
splice
(
index
,
1
);
};
};
// if markasread triggered outside the directive
// if markasread triggered outside the directive
...
@@ -285,7 +285,7 @@ angular.module('ulakbus')
...
@@ -285,7 +285,7 @@ angular.module('ulakbus')
restrict
:
'E'
,
restrict
:
'E'
,
replace
:
true
,
replace
:
true
,
scope
:
{},
scope
:
{},
controller
:
function
(
$scope
,
$rootScope
,
$cookies
,
$route
,
$http
,
RESTURL
,
DESIGN
,
$log
,
$location
,
$window
,
$timeout
)
{
controller
:
function
(
$scope
,
$rootScope
,
$cookies
,
$route
,
AuthService
,
WSOps
,
RESTURL
,
DESIGN
,
$log
,
$location
,
$window
,
$timeout
)
{
$scope
.
prepareMenu
=
function
(
menuItems
)
{
$scope
.
prepareMenu
=
function
(
menuItems
)
{
var
newMenuItems
=
{};
var
newMenuItems
=
{};
angular
.
forEach
(
menuItems
,
function
(
value
,
key
)
{
angular
.
forEach
(
menuItems
,
function
(
value
,
key
)
{
...
@@ -296,11 +296,18 @@ angular.module('ulakbus')
...
@@ -296,11 +296,18 @@ angular.module('ulakbus')
return
newMenuItems
;
return
newMenuItems
;
};
};
var
generate_menu
=
function
()
{
// check login status
AuthService
.
check_auth
();
var
generate_dashboard
=
function
()
{
if
(
$rootScope
.
current_user
!==
true
){
return
;
}
if
(
$rootScope
.
websocketIsOpen
)
{
var
sidebarmenu
=
$
(
'#side-menu'
);
var
sidebarmenu
=
$
(
'#side-menu'
);
sidebarmenu
.
metisMenu
();
sidebarmenu
.
metisMenu
();
$http
.
get
(
RESTURL
.
url
+
'menu'
,
{
ignoreLoadingBar
:
true
})
WSOps
.
request
({
view
:
'dashboard'
})
.
success
(
function
(
data
)
{
.
then
(
function
(
data
)
{
$scope
.
allMenuItems
=
angular
.
copy
(
data
);
$scope
.
allMenuItems
=
angular
.
copy
(
data
);
// regroup menu items based on their category
// regroup menu items based on their category
...
@@ -333,7 +340,9 @@ angular.module('ulakbus')
...
@@ -333,7 +340,9 @@ angular.module('ulakbus')
$rootScope
.
searchInputs
=
data
;
$rootScope
.
searchInputs
=
data
;
if
(
data
.
current_user
)
{
if
(
data
.
current_user
)
{
$rootScope
.
$broadcast
(
"ws_turn_on"
);
// $rootScope.$broadcast("ws_turn_on");
// to display main view without flickering
// $rootScope.$broadcast("user_ready");
}
}
$rootScope
.
current_user
=
data
.
current_user
;
$rootScope
.
current_user
=
data
.
current_user
;
...
@@ -347,19 +356,24 @@ angular.module('ulakbus')
...
@@ -347,19 +356,24 @@ angular.module('ulakbus')
$timeout
(
function
()
{
$timeout
(
function
()
{
sidebarmenu
.
metisMenu
();
sidebarmenu
.
metisMenu
();
});
});
})
.
error
(
function
(
data
,
status
,
headers
,
config
)
{
$log
.
error
(
'menu not retrieved'
,
data
);
$log
.
info
(
'design switch'
,
DESIGN
.
switch
);
if
(
!
DESIGN
.
switch
)
{
$location
.
path
(
'/login'
);
}
});
});
// .error(function (data, status, headers, config) {
// $log.error('menu not retrieved', data);
// $log.info('design switch', DESIGN.switch);
// if (!DESIGN.switch) {
// $location.path('/login');
// }
// });
}
else
{
$timeout
(
function
()
{
generate_dashboard
();
},
500
);
}
};
};
$scope
.
$on
(
"
regenerate_menu
"
,
function
()
{
$scope
.
$on
(
"
generate_dashboard
"
,
function
()
{
generate_
menu
();
generate_
dashboard
();
});
});
generate_menu
();
//
generate_menu();
// changing menu items by listening for broadcast
// changing menu items by listening for broadcast
$scope
.
$on
(
"menuitems"
,
function
(
event
,
data
)
{
$scope
.
$on
(
"menuitems"
,
function
(
event
,
data
)
{
...
@@ -377,26 +391,26 @@ angular.module('ulakbus')
...
@@ -377,26 +391,26 @@ angular.module('ulakbus')
delete
$scope
.
selectedMenuItems
;
delete
$scope
.
selectedMenuItems
;
};
};
$scope
.
openSidebar
=
function
()
{
//
$scope.openSidebar = function () {
if
(
$window
.
innerWidth
>
'768'
)
{
//
if ($window.innerWidth > '768') {
if
(
$rootScope
.
sidebarPinned
===
0
)
{
//
if ($rootScope.sidebarPinned === 0) {
jQuery
(
"span.menu-text, span.arrow, .sidebar footer, #side-menu"
).
fadeIn
(
400
);
//
jQuery("span.menu-text, span.arrow, .sidebar footer, #side-menu").fadeIn(400);
jQuery
(
".sidebar"
).
css
(
"width"
,
"250px"
);
//
jQuery(".sidebar").css("width", "250px");
jQuery
(
".manager-view"
).
css
(
"width"
,
"calc(100% - 250px)"
);
//
jQuery(".manager-view").css("width", "calc(100% - 250px)");
$rootScope
.
collapsed
=
false
;
//
$rootScope.collapsed = false;
}
//
}
}
//
}
};
//
};
//
$scope
.
closeSidebar
=
function
()
{
//
$scope.closeSidebar = function () {
if
(
$window
.
innerWidth
>
'768'
)
{
//
if ($window.innerWidth > '768') {
if
(
$rootScope
.
sidebarPinned
===
0
)
{
//
if ($rootScope.sidebarPinned === 0) {
jQuery
(
".sidebar"
).
css
(
"width"
,
"62px"
);
//
jQuery(".sidebar").css("width", "62px");
jQuery
(
".manager-view"
).
css
(
"width"
,
"calc(100% - 62px)"
);
//
jQuery(".manager-view").css("width", "calc(100% - 62px)");
$rootScope
.
collapsed
=
true
;
//
$rootScope.collapsed = true;
}
//
}
}
//
}
};
//
};
$rootScope
.
$watch
(
function
(
$rootScope
)
{
$rootScope
.
$watch
(
function
(
$rootScope
)
{
return
$rootScope
.
section
;
return
$rootScope
.
section
;
...
...
app/shared/templates/directives/sidebar.html
View file @
5c4f12cc
<div
class=
"navbar-default sidebar"
role=
"navigation"
ng-mouseenter=
"openSidebar()"
ng-mouseleave=
"closeSidebar()"
>
<div
class=
"navbar-default sidebar"
role=
"navigation"
>
<div
class=
"sidebar-container"
>
<div
class=
"sidebar-container"
>
<div
class=
"sidebar-nav navbar-collapse"
>
<div
class=
"sidebar-nav navbar-collapse"
>
<ul
class=
"nav in"
id=
"side-menu"
ng-class=
"{hidden: $root.loggedInUser != true}"
data-step=
"1"
<ul
class=
"nav in"
id=
"side-menu"
data-step=
"1"
data-intro=
"Genel menüler yer almaktadır. yapılacak işlemi buradan seçebilirsiniz."
>
data-intro=
"Genel menüler yer almaktadır. yapılacak işlemi buradan seçebilirsiniz."
>
<!--<sidebar-search></sidebar-search>-->
<!--<sidebar-search></sidebar-search>-->
<li
ui-sref-active=
"active"
>
<li
ui-sref-active=
"active"
>
...
...
app/zetalib/action_service.js
View file @
5c4f12cc
...
@@ -19,6 +19,12 @@ angular.module('ulakbus')
...
@@ -19,6 +19,12 @@ angular.module('ulakbus')
$scope
.
keylog
.
shift
();
$scope
.
keylog
.
shift
();
$scope
.
keylog
.
push
(
e
.
keyCode
);
$scope
.
keylog
.
push
(
e
.
keyCode
);
};
};
// when user_ready broadcasted then change value of user_ready=true to display view
$scope
.
$on
(
'user_ready'
,
function
()
{
$scope
.
user_ready
=
true
;
});
$scope
.
user_ready
=
false
;
})
})
.
factory
(
'action_service'
,
function
(
$uibModal
,
$log
)
{
.
factory
(
'action_service'
,
function
(
$uibModal
,
$log
)
{
var
actions
=
{};
var
actions
=
{};
...
...
app/zetalib/socket.js
View file @
5c4f12cc
...
@@ -31,6 +31,7 @@ angular.module('ulakbus')
...
@@ -31,6 +31,7 @@ angular.module('ulakbus')
});
});
var
websocket
;
var
websocket
;
var
ws_is_generated
;
var
refresh_count
=
0
;
var
refresh_count
=
0
;
var
refresh_websocket
=
refresh_count
<
5
?
1000
:
5000
;
var
refresh_websocket
=
refresh_count
<
5
?
1000
:
5000
;
var
isSupported
=
function
()
{
var
isSupported
=
function
()
{
...
@@ -47,10 +48,10 @@ angular.module('ulakbus')
...
@@ -47,10 +48,10 @@ angular.module('ulakbus')
websocket
.
onclose
=
function
(
evt
)
{
websocket
.
onclose
=
function
(
evt
)
{
wsOps
.
onClose
(
evt
);
wsOps
.
onClose
(
evt
);
if
(
wsOps
.
loggedOut
===
true
)
{
return
;}
if
(
wsOps
.
loggedOut
===
true
)
{
return
;}
$timeout
(
function
()
{
//
$timeout(function () {
generate_ws
();
//
generate_ws();
refresh_count
+=
1
;
//
refresh_count += 1;
},
refresh_websocket
);
//
}, refresh_websocket);
};
};
websocket
.
onmessage
=
function
(
evt
)
{
websocket
.
onmessage
=
function
(
evt
)
{
wsOps
.
onMessage
(
evt
)
wsOps
.
onMessage
(
evt
)
...
@@ -58,6 +59,7 @@ angular.module('ulakbus')
...
@@ -58,6 +59,7 @@ angular.module('ulakbus')
websocket
.
onerror
=
function
(
evt
)
{
websocket
.
onerror
=
function
(
evt
)
{
wsOps
.
onError
(
evt
)
wsOps
.
onError
(
evt
)
};
};
ws_is_generated
=
true
;
}
else
{
}
else
{
var
error
=
{
var
error
=
{
error
:
"Tarayıcınız websocket desteklememektedir. Lütfen güncel bir tarayıcı kullanınız."
,
error
:
"Tarayıcınız websocket desteklememektedir. Lütfen güncel bir tarayıcı kullanınız."
,
...
@@ -101,6 +103,11 @@ angular.module('ulakbus')
...
@@ -101,6 +103,11 @@ angular.module('ulakbus')
},
},
notification
:
function
()
{
notification
:
function
()
{
$rootScope
.
$broadcast
(
'notifications'
,
msg_data
[
"notifications"
]);
$rootScope
.
$broadcast
(
'notifications'
,
msg_data
[
"notifications"
]);
},
dashboard
:
function
()
{
var
callback
=
wsOps
.
callbacks
[
msg_data
.
callbackID
];
delete
wsOps
.
callbacks
[
msg_data
.
callbackID
];
callback
.
resolve
(
msg_data
);
}
}
};
};
// do_action is the dispatcher function for incoming events
// do_action is the dispatcher function for incoming events
...
@@ -115,7 +122,8 @@ angular.module('ulakbus')
...
@@ -115,7 +122,8 @@ angular.module('ulakbus')
return
msg_methods
[
action
](
args
[
0
]);
return
msg_methods
[
action
](
args
[
0
]);
};
};
var
msg_data
=
angular
.
fromJson
(
event
.
data
);
var
msg_data
=
angular
.
fromJson
(
event
.
data
);
do_action
(
msg_data
,
msg_data
.
cmd
||
'error'
);
if
(
msg_data
.
error
)
{
msg_data
.
cmd
=
'error'
;}
do_action
(
msg_data
,
msg_data
.
cmd
);
$log
.
info
(
"MESSAGE:"
,
event
,
"Data:"
,
JSON
.
parse
(
event
.
data
));
$log
.
info
(
"MESSAGE:"
,
event
,
"Data:"
,
JSON
.
parse
(
event
.
data
));
};
};
...
@@ -128,6 +136,7 @@ angular.module('ulakbus')
...
@@ -128,6 +136,7 @@ angular.module('ulakbus')
};
};
// reactor with promise
// reactor with promise
wsOps
.
request
=
function
(
data
)
{
wsOps
.
request
=
function
(
data
)
{
if
(
ws_is_generated
)
{
var
request
=
{
var
request
=
{
callbackID
:
Math
.
random
().
toString
(
36
).
substring
(
7
),
callbackID
:
Math
.
random
().
toString
(
36
).
substring
(
7
),
data
:
data
data
:
data
...
@@ -136,11 +145,18 @@ angular.module('ulakbus')
...
@@ -136,11 +145,18 @@ angular.module('ulakbus')
wsOps
.
callbacks
[
request
.
callbackID
]
=
deferred
;
wsOps
.
callbacks
[
request
.
callbackID
]
=
deferred
;
websocket
.
send
(
angular
.
toJson
(
request
));
websocket
.
send
(
angular
.
toJson
(
request
));
$log
.
info
(
'SENT:'
,
data
);
$log
.
info
(
'SENT:'
,
data
);
// todo: add success & error promises
return
deferred
.
promise
.
then
(
function
(
response
)
{
return
deferred
.
promise
.
then
(
function
(
response
)
{
request
.
response
=
response
;
request
.
response
=
response
;
return
response
;
return
response
;
}
}
);
);
}
else
{
// is ws_is_generated is not true try again in one second
$timeout
(
function
()
{
wsOps
.
request
(
data
);
},
1000
);
}
};
};
wsOps
.
close
=
function
()
{
wsOps
.
close
=
function
()
{
...
@@ -148,7 +164,7 @@ angular.module('ulakbus')
...
@@ -148,7 +164,7 @@ angular.module('ulakbus')
websocket
.
close
();
websocket
.
close
();
$log
.
info
(
"CLOSED"
);
$log
.
info
(
"CLOSED"
);
delete
websocket
;
delete
websocket
;
}
}
;
return
wsOps
;
return
wsOps
;
});
});
\ No newline at end of file
dist/app.js
View file @
5c4f12cc
This source diff could not be displayed because it is too large. You can
view the blob
instead.
dist/bower_components/components.js
View file @
5c4f12cc
This diff is collapsed.
Click to expand it.
dist/css/app.css
View file @
5c4f12cc
...
@@ -2206,6 +2206,15 @@ table.dataTable thead .sorting:after {
...
@@ -2206,6 +2206,15 @@ table.dataTable thead .sorting:after {
z-index
:
1000
;
z-index
:
1000
;
}
}
.body-mask
{
width
:
100%
;
height
:
100%
;
background
:
#fff
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
1099
;
}
/*
/*
* metismenu - v1.1.3
* metismenu - v1.1.3
* Easy menu jQuery plugin for Twitter Bootstrap 3
* Easy menu jQuery plugin for Twitter Bootstrap 3
...
...
dist/index.html
View file @
5c4f12cc
...
@@ -21,7 +21,14 @@
...
@@ -21,7 +21,14 @@
</head>
</head>
<body
ng-controller=
"KeyListenController"
ng-keydown=
"down($event)"
>
<body
ng-controller=
"KeyListenController"
ng-keydown=
"down($event)"
>
<nav
class=
"navbar navbar-default navbar-static-top"
role=
"navigation"
style=
"margin-bottom: 0"
ng-if=
"$root.current_user"
>
<div
ng-show=
"user_ready === false"
class=
"body-mask"
>
<div
class=
"text-center"
>
<span
class=
"loader"
></span>
</div>
</div>
<nav
class=
"navbar navbar-default navbar-static-top"
role=
"navigation"
style=
"margin-bottom: 0"
ng-show=
"user_ready === true"
>
<collapse-menu></collapse-menu>
<collapse-menu></collapse-menu>
<!--<ul class="header-menu">-->
<!--<ul class="header-menu">-->
<!--<li><a href="">Mesajlar</a></li>-->
<!--<li><a href="">Mesajlar</a></li>-->
...
@@ -31,7 +38,7 @@
...
@@ -31,7 +38,7 @@
<!--</ul>-->
<!--</ul>-->
<div
class=
"navbar-header"
>
<div
class=
"navbar-header"
>
<div
class=
"brand"
>
<div
class=
"brand"
>
<a
href=
"#/dashboard"
class=
"logo"
><img
src=
"/img/brand-logo.png"
/></a>
<a
href=
"#/dashboard"
class=
"logo"
><img
src=
"/img/brand-logo.png"
/></a>
</div>
</div>
<button
type=
"button"
class=
"navbar-toggle"
data-toggle=
"collapse"
data-target=
".navbar-collapse"
>
<button
type=
"button"
class=
"navbar-toggle"
data-toggle=
"collapse"
data-target=
".navbar-collapse"
>
<span
class=
"sr-only"
>
Toggle navigation
</span>
<span
class=
"sr-only"
>
Toggle navigation
</span>
...
@@ -44,7 +51,7 @@
...
@@ -44,7 +51,7 @@
<header-notification></header-notification>
<header-notification></header-notification>
</nav>
</nav>
<sidebar
ng-
if=
"$root.current_user
"
></sidebar>
<sidebar
ng-
show=
"user_ready === true
"
></sidebar>
<div
class=
"manager-view"
>
<div
class=
"manager-view"
>
<div
class=
"manager-view-inner"
>
<div
class=
"manager-view-inner"
>
...
...
dist/templates.js
View file @
5c4f12cc
...
@@ -261,17 +261,17 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache",
...
@@ -261,17 +261,17 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache",
" </div>
\n
"
+
" </div>
\n
"
+
" </div>
\n
"
+
" </div>
\n
"
+
" <!-- todo: add `selective_list` to documentation -->
\n
"
+
" <!-- todo: add `selective_list` to documentation -->
\n
"
+
" <div ng-if=
\"
meta.selective_listing === true
\"
>
\n
"
+
" <div ng-if=
\"
meta.selective_listing === true
\"
class=
\"
row
\"
style=
\"
margin-bottom: 25px;
\"
>
\n
"
+
" <label for=
\"
selective_list
\"
>{{meta.selective_listing_label ||
\"
Sayfa içinde filtrelemek için seçim yapınız.
\"
}}</label>
\n
"
+
" <label for=
\"
selective_list
\"
>{{meta.selective_listing_label ||
\"
Sayfa içinde filtrelemek için seçim yapınız.
\"
}}</label>
\n
"
+
" <select name=
\"
selective_list
\"
id=
\"
selective_list
\"\n
"
+
" <select name=
\"
selective_list
\"
id=
\"
selective_list
\"\n
"
+
" ng-change=
\"
update_selective_list()
\"\n
"
+
" ng-change=
\"
update_selective_list(
selective_list_key
)
\"\n
"
+
" ng-model=
\"
selective_list_key
\"\n
"
+
" ng-model=
\"
selective_list_key
\"\n
"
+
" class=
\"
form-control
\"
>
\n
"
+
" class=
\"
form-control
\"
>
\n
"
+
" <option ng-repeat=
\"
item in all_objects
\"
value=
\"
{{$index}}
\"
>{{item.key}}</option>
\n
"
+
" <option ng-repeat=
\"
item in all_objects
\"
value=
\"
{{$index}}
\"
ng-selected=
\"
selective_list_key
\"
>{{item.key}}</option>
\n
"
+
" </select>
\n
"
+
" </select>
\n
"
+
" </div>
\n
"
+
" </div>
\n
"
+
" <div class=
\"
tablescroll
\"
ng-if=
\"
objects[1]
\"
>
\n
"
+
" <div class=
\"
tablescroll
\"
ng-if=
\"
objects[1]
\"
>
\n
"
+
" <table class=
\"
table table-bordered
\"
style=
\"
background-color:#fff;
\"
>
\n
"
+
" <table class=
\"
table table-bordered
table-striped
\"
style=
\"
background-color:#fff;
\"
>
\n
"
+
" <thead>
\n
"
+
" <thead>
\n
"
+
" <tr>
\n
"
+
" <tr>
\n
"
+
" <td ng-if=
\"
meta.allow_selection === true
\"
>
\n
"
+
" <td ng-if=
\"
meta.allow_selection === true
\"
>
\n
"
+
...
@@ -282,7 +282,7 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache",
...
@@ -282,7 +282,7 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache",
" </td>
\n
"
+
" </td>
\n
"
+
" <td ng-repeat=
\"
value in objects[0] track by $index
\"
ng-if=
\"
objects[0]!='-1'
\"
>{{value}}</td>
\n
"
+
" <td ng-repeat=
\"
value in objects[0] track by $index
\"
ng-if=
\"
objects[0]!='-1'
\"
>{{value}}</td>
\n
"
+
" <td ng-if=
\"
objects[0]=='-1'
\"
>{{ schema.title||model}}</td>
\n
"
+
" <td ng-if=
\"
objects[0]=='-1'
\"
>{{ schema.title||model}}</td>
\n
"
+
" <td>İşlem</td>
\n
"
+
" <td
ng-if=
\"
meta.allow_actions !== false
\"
>İşlem</td>
\n
"
+
" </tr>
\n
"
+
" </tr>
\n
"
+
" </thead>
\n
"
+
" </thead>
\n
"
+
" <tbody>
\n
"
+
" <tbody>
\n
"
+
...
@@ -303,7 +303,7 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache",
...
@@ -303,7 +303,7 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache",
" <!--<span ng-if=
\"
field.type==='str'
\"
>{{trustashtml(field.content) | markdown}}</span>-->
\n
"
+
" <!--<span ng-if=
\"
field.type==='str'
\"
>{{trustashtml(field.content) | markdown}}</span>-->
\n
"
+
" </td>
\n
"
+
" </td>
\n
"
+
"
\n
"
+
"
\n
"
+
" <td>
\n
"
+
" <td
ng-if=
\"
meta.allow_actions !== false
\"
>
\n
"
+
" <button class=
\"
btn btn-info
\"
style=
\"
margin-right: 5px;
\"
ng-repeat=
\"
action in object.actions track by $index
\"\n
"
+
" <button class=
\"
btn btn-info
\"
style=
\"
margin-right: 5px;
\"
ng-repeat=
\"
action in object.actions track by $index
\"\n
"
+
" ng-if=
\"
action.show_as==='button'
\"\n
"
+
" ng-if=
\"
action.show_as==='button'
\"\n
"
+
" ng-click=
\"
do_action(object.key, action)
\"
>{{action
\n
"
+
" ng-click=
\"
do_action(object.key, action)
\"
>{{action
\n
"
+
...
@@ -2313,11 +2313,11 @@ angular.module("shared/templates/directives/sidebar-search.html", []).run(["$tem
...
@@ -2313,11 +2313,11 @@ 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
\"
ng-mouseenter=
\"
openSidebar()
\"
ng-mouseleave=
\"
closeSidebar()
\"
>
\n
"
+
"<div class=
\"
navbar-default sidebar
\"
role=
\"
navigation
\"
>
\n
"
+
"
\n
"
+
"
\n
"
+
" <div class=
\"
sidebar-container
\"
>
\n
"
+
" <div class=
\"
sidebar-container
\"
>
\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}
\"
data-step=
\"
1
\"\n
"
+
" <ul class=
\"
nav in
\"
id=
\"
side-menu
\"
data-step=
\"
1
\"\n
"
+
" data-intro=
\"
Genel menüler yer almaktadır. yapılacak işlemi buradan seçebilirsiniz.
\"
>
\n
"
+
" data-intro=
\"
Genel menüler yer almaktadır. yapılacak işlemi buradan seçebilirsiniz.
\"
>
\n
"
+
" <!--<sidebar-search></sidebar-search>-->
\n
"
+
" <!--<sidebar-search></sidebar-search>-->
\n
"
+
" <li ui-sref-active=
\"
active
\"
>
\n
"
+
" <li ui-sref-active=
\"
active
\"
>
\n
"
+
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment