Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wrr-cat
apollo
提交
5e8881f9
apollo
项目概览
wrr-cat
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5e8881f9
编写于
5月 10, 2016
作者:
Y
Yiming Liu
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #182 from lepdou/namespace
navbar search app
上级
cf0ab2f2
0d55b812
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
211 addition
and
19 deletion
+211
-19
apollo-portal/src/main/resources/static/app.html
apollo-portal/src/main/resources/static/app.html
+3
-2
apollo-portal/src/main/resources/static/config.html
apollo-portal/src/main/resources/static/config.html
+5
-1
apollo-portal/src/main/resources/static/config/sync.html
apollo-portal/src/main/resources/static/config/sync.html
+3
-1
apollo-portal/src/main/resources/static/img/logo.png
apollo-portal/src/main/resources/static/img/logo.png
+0
-0
apollo-portal/src/main/resources/static/img/sync.png
apollo-portal/src/main/resources/static/img/sync.png
+0
-0
apollo-portal/src/main/resources/static/namespace.html
apollo-portal/src/main/resources/static/namespace.html
+6
-2
apollo-portal/src/main/resources/static/scripts/app.js
apollo-portal/src/main/resources/static/scripts/app.js
+8
-3
apollo-portal/src/main/resources/static/scripts/controller/CreateAppController.js
...esources/static/scripts/controller/CreateAppController.js
+1
-1
apollo-portal/src/main/resources/static/scripts/controller/NamespaceController.js
...esources/static/scripts/controller/NamespaceController.js
+1
-1
apollo-portal/src/main/resources/static/scripts/directive.js
apollo-portal/src/main/resources/static/scripts/directive.js
+115
-0
apollo-portal/src/main/resources/static/styles/common-style.css
...-portal/src/main/resources/static/styles/common-style.css
+53
-2
apollo-portal/src/main/resources/static/views/common/nav.html
...lo-portal/src/main/resources/static/views/common/nav.html
+16
-6
未找到文件。
apollo-portal/src/main/resources/static/app.html
浏览文件 @
5e8881f9
...
@@ -12,8 +12,7 @@
...
@@ -12,8 +12,7 @@
<body>
<body>
<div
ng-include=
"'views/common/nav.html'"
></div>
<apollonav></apollonav>
<div
class=
"container-fluid apollo-container"
>
<div
class=
"container-fluid apollo-container"
>
<div
class=
"row"
>
<div
class=
"row"
>
...
@@ -81,7 +80,9 @@
...
@@ -81,7 +80,9 @@
<script
type=
"application/javascript"
src=
"scripts/app.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/app.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/AppService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/AppService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/EnvService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/AppUtils.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/AppUtils.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/directive.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/controller/CreateAppController.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/controller/CreateAppController.js"
></script>
</body>
</body>
...
...
apollo-portal/src/main/resources/static/config.html
浏览文件 @
5e8881f9
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
<body>
<body>
<
div
ng-include=
"'views/common/nav.html'"
></di
v>
<
apollonav></apollona
v>
<div
class=
"container-fluid apollo-container"
>
<div
class=
"container-fluid apollo-container"
>
<div
class=
"app"
>
<div
class=
"app"
>
...
@@ -413,9 +413,13 @@
...
@@ -413,9 +413,13 @@
<!--service-->
<!--service-->
<script
type=
"application/javascript"
src=
"scripts/services/AppService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/AppService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/EnvService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/ConfigService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/ConfigService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/AppUtils.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/AppUtils.js"
></script>
<!--directive-->
<script
type=
"application/javascript"
src=
"scripts/directive.js"
></script>
<!--controller-->
<!--controller-->
<script
type=
"application/javascript"
src=
"scripts/controller/app/ConfigNamespaceController.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/controller/app/ConfigNamespaceController.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/controller/app/ConfigBaseInfoController.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/controller/app/ConfigBaseInfoController.js"
></script>
...
...
apollo-portal/src/main/resources/static/config/sync.html
浏览文件 @
5e8881f9
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
<body>
<body>
<
div
ng-include=
"'../views/common/nav.html'"
></di
v>
<
apollonav></apollona
v>
<div
class=
"container-fluid apollo-container"
ng-controller=
"SyncItemController"
>
<div
class=
"container-fluid apollo-container"
ng-controller=
"SyncItemController"
>
<section
class=
"panel col-md-offset-1 col-md-10"
>
<section
class=
"panel col-md-offset-1 col-md-10"
>
...
@@ -196,10 +196,12 @@
...
@@ -196,10 +196,12 @@
<!--biz-->
<!--biz-->
<script
type=
"application/javascript"
src=
"../scripts/app.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/app.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/services/AppService.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/services/AppService.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/services/EnvService.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/services/ConfigService.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/services/ConfigService.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/AppUtils.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/AppUtils.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/controller/app/SyncConfigController.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/controller/app/SyncConfigController.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/PageCommon.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/PageCommon.js"
></script>
<script
type=
"application/javascript"
src=
"../scripts/directive.js"
></script>
</body>
</body>
</html>
</html>
apollo-portal/src/main/resources/static/img/logo.png
0 → 100644
浏览文件 @
5e8881f9
32.1 KB
apollo-portal/src/main/resources/static/img/sync.png
已删除
100644 → 0
浏览文件 @
cf0ab2f2
2.9 KB
apollo-portal/src/main/resources/static/namespace.html
浏览文件 @
5e8881f9
<!doctype html>
<!doctype html>
<html
ng-app=
"
application
"
>
<html
ng-app=
"
namespace
"
>
<head>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<!-- styles -->
<!-- styles -->
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
<body>
<body>
<
div
ng-include=
"'views/common/nav.html'"
></di
v>
<
apollonav></apollona
v>
<div
class=
"container-fluid apollo-container"
ng-controller=
"LinkNamespaceController"
>
<div
class=
"container-fluid apollo-container"
ng-controller=
"LinkNamespaceController"
>
...
@@ -121,9 +121,13 @@
...
@@ -121,9 +121,13 @@
<script
type=
"application/javascript"
src=
"scripts/app.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/app.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/AppService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/AppService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/EnvService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/NamespaceService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/services/NamespaceService.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/AppUtils.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/AppUtils.js"
></script>
<!--directive-->
<script
type=
"application/javascript"
src=
"scripts/directive.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/controller/NamespaceController.js"
></script>
<script
type=
"application/javascript"
src=
"scripts/controller/NamespaceController.js"
></script>
...
...
apollo-portal/src/main/resources/static/scripts/app.js
浏览文件 @
5e8881f9
...
@@ -4,15 +4,20 @@ var appService = angular.module('app.service', ['ngResource']);
...
@@ -4,15 +4,20 @@ var appService = angular.module('app.service', ['ngResource']);
/**utils*/
/**utils*/
var
appUtil
=
angular
.
module
(
'
app.util
'
,
[]);
var
appUtil
=
angular
.
module
(
'
app.util
'
,
[]);
/** directive */
var
directive_module
=
angular
.
module
(
'
apollo.directive
'
,
[
'
app.service
'
]);
/** page module 定义*/
/** page module 定义*/
// 首页
// 首页
var
index_module
=
angular
.
module
(
'
index
'
,
[
'
toastr
'
,
'
app.service
'
,
'
app.util
'
,
'
angular-loading-bar
'
]);
var
index_module
=
angular
.
module
(
'
index
'
,
[
'
toastr
'
,
'
app.service
'
,
'
app.util
'
,
'
angular-loading-bar
'
]);
//项目主页
//项目主页
var
application_module
=
angular
.
module
(
'
application
'
,
[
'
app.service
'
,
'
app.util
'
,
'
toastr
'
,
'
angular-loading-bar
'
]);
var
application_module
=
angular
.
module
(
'
application
'
,
[
'
app.service
'
,
'
ap
ollo.directive
'
,
'
ap
p.util
'
,
'
toastr
'
,
'
angular-loading-bar
'
]);
//创建项目页面
//创建项目页面
var
create_app_module
=
angular
.
module
(
'
create_app
'
,
[
'
ngResource
'
,
'
toastr
'
,
'
app.service
'
,
'
app.util
'
,
'
angular-loading-bar
'
]);
var
create_app_module
=
angular
.
module
(
'
create_app
'
,
[
'
ngResource
'
,
'
apollo.directive
'
,
'
toastr
'
,
'
app.service
'
,
'
app.util
'
,
'
angular-loading-bar
'
]);
//配置同步页面
//配置同步页面
var
sync_item_module
=
angular
.
module
(
'
sync_item
'
,
[
'
app.service
'
,
'
app.util
'
,
'
toastr
'
,
'
angular-loading-bar
'
]);
var
sync_item_module
=
angular
.
module
(
'
sync_item
'
,
[
'
app.service
'
,
'
apollo.directive
'
,
'
app.util
'
,
'
toastr
'
,
'
angular-loading-bar
'
]);
//namespace
var
namespace_module
=
angular
.
module
(
'
namespace
'
,
[
'
app.service
'
,
'
apollo.directive
'
,
'
app.util
'
,
'
toastr
'
,
'
angular-loading-bar
'
]);
...
...
apollo-portal/src/main/resources/static/scripts/controller/CreateAppController.js
浏览文件 @
5e8881f9
...
@@ -5,7 +5,7 @@ create_app_module.controller('CreateAppController', ['$scope', '$window', 'toast
...
@@ -5,7 +5,7 @@ create_app_module.controller('CreateAppController', ['$scope', '$window', 'toast
AppService
.
create
(
'
ALL
'
,
$scope
.
app
).
then
(
function
(
result
)
{
AppService
.
create
(
'
ALL
'
,
$scope
.
app
).
then
(
function
(
result
)
{
toastr
.
success
(
'
添加成功!
'
);
toastr
.
success
(
'
添加成功!
'
);
setInterval
(
function
()
{
setInterval
(
function
()
{
$window
.
location
.
href
=
'
/
views/
config.html?#appid=
'
+
result
.
appId
;
$window
.
location
.
href
=
'
/config.html?#appid=
'
+
result
.
appId
;
},
1000
);
},
1000
);
},
function
(
result
)
{
},
function
(
result
)
{
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
'
添加失败!
'
);
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
'
添加失败!
'
);
...
...
apollo-portal/src/main/resources/static/scripts/controller/NamespaceController.js
浏览文件 @
5e8881f9
application
_module
.
controller
(
"
LinkNamespaceController
"
,
namespace
_module
.
controller
(
"
LinkNamespaceController
"
,
[
'
$scope
'
,
'
$location
'
,
'
$window
'
,
'
toastr
'
,
'
AppService
'
,
'
AppUtil
'
,
'
NamespaceService
'
,
[
'
$scope
'
,
'
$location
'
,
'
$window
'
,
'
toastr
'
,
'
AppService
'
,
'
AppUtil
'
,
'
NamespaceService
'
,
function
(
$scope
,
$location
,
$window
,
toastr
,
AppService
,
AppUtil
,
NamespaceService
)
{
function
(
$scope
,
$location
,
$window
,
toastr
,
AppService
,
AppUtil
,
NamespaceService
)
{
...
...
apollo-portal/src/main/resources/static/scripts/directive.js
0 → 100644
浏览文件 @
5e8881f9
directive_module
.
directive
(
'
apollonav
'
,
function
(
$compile
,
$window
,
AppService
,
EnvService
)
{
return
{
restrict
:
'
E
'
,
templateUrl
:
'
../views/common/nav.html
'
,
transclude
:
true
,
replace
:
true
,
link
:
function
(
scope
,
element
,
attrs
)
{
scope
.
sourceApps
=
[];
scope
.
copyedApps
=
[];
EnvService
.
find_all_envs
().
then
(
function
(
result
)
{
//default select first env
AppService
.
find_all_app
(
result
[
0
]).
then
(
function
(
result
)
{
result
.
forEach
(
function
(
app
)
{
app
.
selected
=
false
;
scope
.
sourceApps
.
push
(
app
);
});
scope
.
copyedApps
=
angular
.
copy
(
scope
.
sourceApps
);
},
function
(
result
)
{
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
"
load apps error
"
);
});
},
function
(
result
)
{
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
"
load env error
"
);
});
scope
.
searchKey
=
''
;
scope
.
shouldShowAppList
=
false
;
var
selectedApp
=
{};
scope
.
selectApp
=
function
(
app
)
{
select
(
app
);
};
scope
.
changeSearchKey
=
function
()
{
scope
.
copyedApps
=
[];
scope
.
sourceApps
.
forEach
(
function
(
app
)
{
if
(
app
.
name
.
indexOf
(
scope
.
searchKey
)
>
-
1
||
app
.
appId
.
indexOf
(
scope
.
searchKey
)
>
-
1
)
{
scope
.
copyedApps
.
push
(
app
);
}
});
scope
.
shouldShowAppList
=
true
;
};
scope
.
jumpToConfigPage
=
function
()
{
if
(
selectedApp
.
appId
){
var
needReloadPage
=
false
;
if
(
$window
.
location
.
href
.
indexOf
(
"
config.html
"
)
>
-
1
){
needReloadPage
=
true
;
}
$window
.
location
.
href
=
'
/config.html?#appid=
'
+
selectedApp
.
appId
;
if
(
needReloadPage
){
$window
.
location
.
reload
();
}
}
};
//up:38 down:40 enter:13
var
selectedAppIdx
=
-
1
;
element
.
bind
(
"
keydown keypress
"
,
function
(
event
)
{
if
(
event
.
keyCode
==
40
)
{
if
(
selectedAppIdx
<
scope
.
copyedApps
.
length
-
1
)
{
clearAppsSelectedStatus
();
scope
.
copyedApps
[
++
selectedAppIdx
].
selected
=
true
;
}
}
else
if
(
event
.
keyCode
==
38
)
{
if
(
selectedAppIdx
>=
1
)
{
clearAppsSelectedStatus
();
scope
.
copyedApps
[
--
selectedAppIdx
].
selected
=
true
;
}
}
else
if
(
event
.
keyCode
==
13
)
{
if
(
scope
.
shouldShowAppList
){
select
(
scope
.
copyedApps
[
selectedAppIdx
]);
event
.
preventDefault
();
}
else
{
scope
.
jumpToConfigPage
();
}
}
//强制刷新
scope
.
$apply
(
function
()
{
scope
.
copyedApps
=
scope
.
copyedApps
;
});
});
$
(
"
.search-input
"
).
on
(
"
click
"
,
function
(
event
)
{
event
.
stopPropagation
();
});
$
(
document
).
on
(
'
click
'
,
function
()
{
scope
.
$apply
(
function
()
{
scope
.
shouldShowAppList
=
false
;
});
});
function
clearAppsSelectedStatus
()
{
scope
.
copyedApps
.
forEach
(
function
(
app
)
{
app
.
selected
=
false
;
})
}
function
select
(
app
)
{
selectedApp
=
app
;
scope
.
searchKey
=
app
.
name
;
scope
.
shouldShowAppList
=
false
;
clearAppsSelectedStatus
();
selectedAppIdx
=
-
1
;
}
}
}
});
apollo-portal/src/main/resources/static/styles/common-style.css
浏览文件 @
5e8881f9
...
@@ -15,6 +15,12 @@ a {
...
@@ -15,6 +15,12 @@ a {
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.logo
{
width
:
150px
;
height
:
50px
;
background
:
url('../img/logo.png')
no-repeat
}
.i-20
{
.i-20
{
height
:
20px
;
height
:
20px
;
width
:
20px
;
width
:
20px
;
...
@@ -109,9 +115,10 @@ table th {
...
@@ -109,9 +115,10 @@ table th {
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.node-treeview
{
.node-treeview
{
color
:
#797979
;
color
:
#797979
;
}
}
.apps
.apps-description
{
.apps
.apps-description
{
color
:
gray
;
color
:
gray
;
font-family
:
"Apple Color Emoji"
;
font-family
:
"Apple Color Emoji"
;
...
@@ -184,9 +191,10 @@ table th {
...
@@ -184,9 +191,10 @@ table th {
padding-top
:
19px
;
padding-top
:
19px
;
}
}
.config-item-container
.panel
{
.config-item-container
.panel
{
border-radius
:
0px
;
border-radius
:
0px
;
}
}
.config-item-container
.panel-heading
b
{
.config-item-container
.panel-heading
b
{
font-size
:
18px
;
font-size
:
18px
;
}
}
...
@@ -285,3 +293,46 @@ table th {
...
@@ -285,3 +293,46 @@ table th {
font-size
:
16px
;
font-size
:
16px
;
}
}
/*搜索框*/
::-webkit-scrollbar
{
width
:
0
;
height
:
0
;
background
:
rgba
(
255
,
255
,
255
,
0
);
}
::-webkit-scrollbar-thumb:vertical
{
background
:
rgba
(
255
,
255
,
255
,
0
);
border-radius
:
10px
;
}
::-webkit-scrollbar-thumb:vertical:hover
{
background
:
rgba
(
255
,
255
,
255
,
0
);
}
.app-list
{
width
:
350px
;
height
:
200px
;
position
:
absolute
;
margin-left
:
0px
;
background
:
#ffffff
;
border
:
1px
solid
#ddd
;
overflow-y
:
scroll
;
z-index
:
1000
;
}
.app-list
.app-item
{
font-size
:
medium
;
padding
:
5px
10px
;
}
.app-list
.app-item
:hover
{
color
:
#ffffff
;
background
:
#C3C3C3
;
}
.app-list
.app-selected
{
color
:
#ffffff
;
background
:
#c3c3c3
;
}
apollo-portal/src/main/resources/static/views/common/nav.html
浏览文件 @
5e8881f9
<nav
class=
"navbar navbar-default"
>
<nav
class=
"navbar navbar-default"
>
<div
class=
"container-fluid"
>
<div
class=
"container-fluid"
>
<!-- Brand and toggle get grouped for better mobile display -->
<div
class=
"navbar-header"
>
<div
class=
"navbar-header"
>
<a
class=
"navbar-brand"
href=
"/"
>
Apollo
</a>
<a
class=
"navbar-brand logo"
href=
"/"
></a>
</div>
</div>
<style>
<
!-- Collect the nav links, forms, and other content for toggling --
>
<
/style
>
<div
class=
"collapse navbar-collapse"
id=
"bs-example-navbar-collapse-1"
>
<div
class=
"collapse navbar-collapse"
id=
"bs-example-navbar-collapse-1"
>
<form
class=
"navbar-form navbar-left"
role=
"search"
>
<form
class=
"navbar-form navbar-left
form-inline
"
role=
"search"
>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<input
type=
"text"
class=
"form-control"
placeholder=
"应用ID/应用名"
>
<input
type=
"text"
class=
"form-control search-input"
placeholder=
"应用ID/应用名"
style=
"width: 350px"
ng-model=
"searchKey"
ng-change=
"changeSearchKey()"
ng-focus=
"changeSearchKey()"
ng-click=
"xx()"
>
<div
class=
"row app-list"
ng-show=
"shouldShowAppList"
>
<div
ng-repeat=
"app in copyedApps"
class=
"app-item"
ng-class=
"{'app-selected':app.selected}"
ng-click=
"selectApp(app)"
>
{{app.appId}} / {{app.name}}
</div>
</div>
</div>
</div>
<button
type=
"submit"
class=
"btn btn-default"
>
Go
</button>
<button
type=
"submit"
class=
"btn btn-default"
ng-click=
"jumpToConfigPage()"
>
Go
</button>
</form>
</form>
<ul
class=
"nav navbar-nav navbar-right"
>
<ul
class=
"nav navbar-nav navbar-right"
>
<li
class=
"dropdown"
>
<li
class=
"dropdown"
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录