Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
apollo
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
Administrator
apollo
Commits
59d92f6b
Commit
59d92f6b
authored
Oct 04, 2019
by
Jason Song
Committed by
Jason Song
Oct 09, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
polish translations and fix some bugs introduced
parent
aee511ba
Changes
43
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
43 changed files
with
650 additions
and
635 deletions
+650
-635
apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/WebMvcConfig.java
...trip/framework/apollo/common/controller/WebMvcConfig.java
+1
-0
apollo-common/src/main/java/com/ctrip/framework/apollo/common/dto/AppDTO.java
...in/java/com/ctrip/framework/apollo/common/dto/AppDTO.java
+1
-1
apollo-common/src/main/java/com/ctrip/framework/apollo/common/dto/ClusterDTO.java
...ava/com/ctrip/framework/apollo/common/dto/ClusterDTO.java
+1
-1
apollo-common/src/main/java/com/ctrip/framework/apollo/common/dto/NamespaceDTO.java
...a/com/ctrip/framework/apollo/common/dto/NamespaceDTO.java
+1
-1
apollo-common/src/main/java/com/ctrip/framework/apollo/common/entity/AppNamespace.java
...om/ctrip/framework/apollo/common/entity/AppNamespace.java
+1
-1
apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/InputValidator.java
...m/ctrip/framework/apollo/common/utils/InputValidator.java
+2
-2
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/v1/controller/ClusterController.java
...ework/apollo/openapi/v1/controller/ClusterController.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/v1/controller/NamespaceController.java
...ork/apollo/openapi/v1/controller/NamespaceController.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java
...amework/apollo/portal/controller/NamespaceController.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/PermissionController.java
...mework/apollo/portal/controller/PermissionController.java
+3
-3
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/model/AppModel.java
.../ctrip/framework/apollo/portal/entity/model/AppModel.java
+1
-1
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/util/RelativeDateFormat.java
...trip/framework/apollo/portal/util/RelativeDateFormat.java
+7
-7
apollo-portal/src/main/resources/static/app.html
apollo-portal/src/main/resources/static/app.html
+1
-1
apollo-portal/src/main/resources/static/app/setting.html
apollo-portal/src/main/resources/static/app/setting.html
+1
-1
apollo-portal/src/main/resources/static/cluster.html
apollo-portal/src/main/resources/static/cluster.html
+1
-1
apollo-portal/src/main/resources/static/config.html
apollo-portal/src/main/resources/static/config.html
+1
-1
apollo-portal/src/main/resources/static/config/history.html
apollo-portal/src/main/resources/static/config/history.html
+6
-6
apollo-portal/src/main/resources/static/i18n/en.json
apollo-portal/src/main/resources/static/i18n/en.json
+407
-402
apollo-portal/src/main/resources/static/i18n/zh-CN.json
apollo-portal/src/main/resources/static/i18n/zh-CN.json
+65
-60
apollo-portal/src/main/resources/static/index.html
apollo-portal/src/main/resources/static/index.html
+3
-7
apollo-portal/src/main/resources/static/namespace.html
apollo-portal/src/main/resources/static/namespace.html
+5
-5
apollo-portal/src/main/resources/static/namespace/role.html
apollo-portal/src/main/resources/static/namespace/role.html
+3
-3
apollo-portal/src/main/resources/static/scripts/AppUtils.js
apollo-portal/src/main/resources/static/scripts/AppUtils.js
+2
-2
apollo-portal/src/main/resources/static/scripts/app.js
apollo-portal/src/main/resources/static/scripts/app.js
+8
-4
apollo-portal/src/main/resources/static/scripts/controller/AppController.js
...main/resources/static/scripts/controller/AppController.js
+3
-3
apollo-portal/src/main/resources/static/scripts/controller/DeleteAppClusterNamespaceController.js
...scripts/controller/DeleteAppClusterNamespaceController.js
+3
-3
apollo-portal/src/main/resources/static/scripts/controller/LoginController.js
...in/resources/static/scripts/controller/LoginController.js
+4
-2
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/controller/ServerConfigController.js
...urces/static/scripts/controller/ServerConfigController.js
+5
-5
apollo-portal/src/main/resources/static/scripts/controller/SettingController.js
.../resources/static/scripts/controller/SettingController.js
+4
-4
apollo-portal/src/main/resources/static/scripts/controller/config/ConfigBaseInfoController.js
...tic/scripts/controller/config/ConfigBaseInfoController.js
+2
-2
apollo-portal/src/main/resources/static/scripts/controller/open/OpenManageController.js
...es/static/scripts/controller/open/OpenManageController.js
+3
-3
apollo-portal/src/main/resources/static/scripts/directive/directive.js
.../src/main/resources/static/scripts/directive/directive.js
+39
-37
apollo-portal/src/main/resources/static/scripts/directive/item-modal-directive.js
...esources/static/scripts/directive/item-modal-directive.js
+1
-1
apollo-portal/src/main/resources/static/scripts/directive/namespace-panel-directive.js
...ces/static/scripts/directive/namespace-panel-directive.js
+2
-2
apollo-portal/src/main/resources/static/server_config.html
apollo-portal/src/main/resources/static/server_config.html
+7
-7
apollo-portal/src/main/resources/static/styles/common-style.css
...-portal/src/main/resources/static/styles/common-style.css
+2
-2
apollo-portal/src/main/resources/static/views/common/nav.html
...lo-portal/src/main/resources/static/views/common/nav.html
+1
-1
apollo-portal/src/main/resources/static/views/component/env-selector.html
...c/main/resources/static/views/component/env-selector.html
+1
-1
apollo-portal/src/main/resources/static/views/component/namespace-panel-branch-tab.html
...es/static/views/component/namespace-panel-branch-tab.html
+15
-15
apollo-portal/src/main/resources/static/views/component/namespace-panel-master-tab.html
...es/static/views/component/namespace-panel-master-tab.html
+29
-29
apollo-portal/src/main/resources/static/views/component/release-modal.html
.../main/resources/static/views/component/release-modal.html
+1
-1
apollo-portal/src/main/resources/static/views/component/rollback-modal.html
...main/resources/static/views/component/rollback-modal.html
+3
-3
No files found.
apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/WebMvcConfig.java
View file @
59d92f6b
...
...
@@ -45,6 +45,7 @@ public class WebMvcConfig implements WebMvcConfigurer, WebServerFactoryCustomize
addCacheControl
(
registry
,
"scripts"
,
86400
);
addCacheControl
(
registry
,
"styles"
,
86400
);
addCacheControl
(
registry
,
"views"
,
86400
);
addCacheControl
(
registry
,
"i18n"
,
86400
);
}
private
void
addCacheControl
(
ResourceHandlerRegistry
registry
,
String
folder
,
int
cachePeriod
)
{
...
...
apollo-common/src/main/java/com/ctrip/framework/apollo/common/dto/AppDTO.java
View file @
59d92f6b
...
...
@@ -11,7 +11,7 @@ public class AppDTO extends BaseDTO{
@Pattern
(
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
message
=
"
AppId格式错误
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
message
=
"
Invalid AppId format
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
)
private
String
appId
;
...
...
apollo-common/src/main/java/com/ctrip/framework/apollo/common/dto/ClusterDTO.java
View file @
59d92f6b
...
...
@@ -11,7 +11,7 @@ public class ClusterDTO extends BaseDTO{
@NotBlank
(
message
=
"cluster name cannot be blank"
)
@Pattern
(
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
message
=
"
Cluster格式错误
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
message
=
"
Invalid Cluster format
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
)
private
String
name
;
...
...
apollo-common/src/main/java/com/ctrip/framework/apollo/common/dto/NamespaceDTO.java
View file @
59d92f6b
...
...
@@ -12,7 +12,7 @@ public class NamespaceDTO extends BaseDTO{
@Pattern
(
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
message
=
"
Namespace格式错误
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
message
=
"
Invalid Namespace format
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
)
private
String
namespaceName
;
...
...
apollo-common/src/main/java/com/ctrip/framework/apollo/common/entity/AppNamespace.java
View file @
59d92f6b
...
...
@@ -22,7 +22,7 @@ public class AppNamespace extends BaseEntity {
@NotBlank
(
message
=
"AppNamespace Name cannot be blank"
)
@Pattern
(
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
message
=
"
Namespace格式错误
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
+
" & "
+
InputValidator
.
INVALID_NAMESPACE_NAMESPACE_MESSAGE
message
=
"
Invalid Namespace format
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
+
" & "
+
InputValidator
.
INVALID_NAMESPACE_NAMESPACE_MESSAGE
)
@Column
(
name
=
"Name"
,
nullable
=
false
)
private
String
name
;
...
...
apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/InputValidator.java
View file @
59d92f6b
...
...
@@ -8,8 +8,8 @@ import java.util.regex.Pattern;
* @author Jason Song(song_s@ctrip.com)
*/
public
class
InputValidator
{
public
static
final
String
INVALID_CLUSTER_NAMESPACE_MESSAGE
=
"
只允许输入数字,字母和符号 - _ .
"
;
public
static
final
String
INVALID_NAMESPACE_NAMESPACE_MESSAGE
=
"
不允许以.json, .yml, .yaml, .xml, .properties结尾
"
;
public
static
final
String
INVALID_CLUSTER_NAMESPACE_MESSAGE
=
"
Only digits, alphabets and symbol - _ . are allowed
"
;
public
static
final
String
INVALID_NAMESPACE_NAMESPACE_MESSAGE
=
"
not allowed to end with .json, .yml, .yaml, .xml, .properties
"
;
public
static
final
String
CLUSTER_NAMESPACE_VALIDATOR
=
"[0-9a-zA-Z_.-]+"
;
private
static
final
String
APP_NAMESPACE_VALIDATOR
=
"[a-zA-Z0-9._-]+(?<!\\.(json|yml|yaml|xml|properties))$"
;
private
static
final
Pattern
CLUSTER_NAMESPACE_PATTERN
=
Pattern
.
compile
(
CLUSTER_NAMESPACE_VALIDATOR
);
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/v1/controller/ClusterController.java
View file @
59d92f6b
...
...
@@ -59,7 +59,7 @@ public class ClusterController {
if
(!
InputValidator
.
isValidClusterNamespace
(
clusterName
))
{
throw
new
BadRequestException
(
String
.
format
(
"
Cluster Name 格式错误
: %s"
,
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
));
String
.
format
(
"
Invalid ClusterName format
: %s"
,
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
));
}
if
(
userService
.
findByUserId
(
operator
)
==
null
)
{
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/v1/controller/NamespaceController.java
View file @
59d92f6b
...
...
@@ -68,7 +68,7 @@ public class NamespaceController {
appNamespaceDTO
.
getFormat
(),
appNamespaceDTO
.
getDataChangeCreatedBy
());
if
(!
InputValidator
.
isValidAppNamespace
(
appNamespaceDTO
.
getName
()))
{
throw
new
BadRequestException
(
String
.
format
(
"
Namespace格式错误
: %s"
,
throw
new
BadRequestException
(
String
.
format
(
"
Invalid Namespace format
: %s"
,
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
+
" & "
+
InputValidator
.
INVALID_NAMESPACE_NAMESPACE_MESSAGE
));
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java
View file @
59d92f6b
...
...
@@ -193,7 +193,7 @@ public class NamespaceController {
@RequestParam
(
defaultValue
=
"true"
)
boolean
appendNamespacePrefix
,
@Valid
@RequestBody
AppNamespace
appNamespace
)
{
if
(!
InputValidator
.
isValidAppNamespace
(
appNamespace
.
getName
()))
{
throw
new
BadRequestException
(
String
.
format
(
"
Namespace格式错误
: %s"
,
throw
new
BadRequestException
(
String
.
format
(
"
Invalid Namespace format
: %s"
,
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
+
" & "
+
InputValidator
.
INVALID_NAMESPACE_NAMESPACE_MESSAGE
));
}
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/PermissionController.java
View file @
59d92f6b
...
...
@@ -154,7 +154,7 @@ public class PermissionController {
Set
<
String
>
assignedUser
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildNamespaceRoleName
(
appId
,
namespaceName
,
roleType
,
env
),
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
if
(
CollectionUtils
.
isEmpty
(
assignedUser
))
{
throw
new
BadRequestException
(
user
+
"
已授权
"
);
throw
new
BadRequestException
(
user
+
"
already authorized
"
);
}
return
ResponseEntity
.
ok
().
build
();
...
...
@@ -209,7 +209,7 @@ public class PermissionController {
Set
<
String
>
assignedUser
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildNamespaceRoleName
(
appId
,
namespaceName
,
roleType
),
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
if
(
CollectionUtils
.
isEmpty
(
assignedUser
))
{
throw
new
BadRequestException
(
user
+
"
已授权
"
);
throw
new
BadRequestException
(
user
+
"
already authorized
"
);
}
return
ResponseEntity
.
ok
().
build
();
...
...
@@ -253,7 +253,7 @@ public class PermissionController {
Set
<
String
>
assignedUsers
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildAppRoleName
(
appId
,
roleType
),
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
if
(
CollectionUtils
.
isEmpty
(
assignedUsers
))
{
throw
new
BadRequestException
(
user
+
"
已授权
"
);
throw
new
BadRequestException
(
user
+
"
already authorized
"
);
}
return
ResponseEntity
.
ok
().
build
();
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/entity/model/AppModel.java
View file @
59d92f6b
...
...
@@ -14,7 +14,7 @@ public class AppModel {
@NotBlank
(
message
=
"appId cannot be blank"
)
@Pattern
(
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
message
=
"
AppId格式错误
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
message
=
"
Invalid AppId format
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
)
private
String
appId
;
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/util/RelativeDateFormat.java
View file @
59d92f6b
...
...
@@ -12,11 +12,11 @@ public class RelativeDateFormat {
private
static
final
long
ONE_HOUR
=
3600000L
;
private
static
final
long
ONE_DAY
=
86400000L
;
private
static
final
String
ONE_SECOND_AGO
=
"
秒前
"
;
private
static
final
String
ONE_MINUTE_AGO
=
"
分钟前
"
;
private
static
final
String
ONE_HOUR_AGO
=
"
小时前
"
;
private
static
final
String
ONE_DAY_AGO
=
"
天前
"
;
private
static
final
String
ONE_MONTH_AGO
=
"
月前
"
;
private
static
final
String
ONE_SECOND_AGO
=
"
seconds ago
"
;
private
static
final
String
ONE_MINUTE_AGO
=
"
minutes ago
"
;
private
static
final
String
ONE_HOUR_AGO
=
"
hours ago
"
;
private
static
final
String
ONE_DAY_AGO
=
"
days ago
"
;
private
static
final
String
ONE_MONTH_AGO
=
"
months ago
"
;
public
static
String
format
(
Date
date
)
{
if
(
date
.
after
(
new
Date
()))
{
...
...
@@ -39,11 +39,11 @@ public class RelativeDateFormat {
Date
lastDayBeginTime
=
getDateOffset
(-
1
);
if
(
date
.
after
(
lastDayBeginTime
))
{
return
"
昨天
"
;
return
"
yesterday
"
;
}
Date
lastTwoDaysBeginTime
=
getDateOffset
(-
2
);
if
(
date
.
after
(
lastTwoDaysBeginTime
))
{
return
"
前天
"
;
return
"
the day before yesterday
"
;
}
if
(
delta
<
30L
*
ONE_DAY
)
{
long
days
=
toDays
(
delta
);
...
...
apollo-portal/src/main/resources/static/app.html
View file @
59d92f6b
...
...
@@ -61,7 +61,7 @@
<div
class=
"form-group"
>
<label
class=
"col-sm-3 control-label"
>
<apollorequiredfield></apollorequiredfield>
{{'Common.AppOwner' | translate }}
</label>
{{'Common.AppOwner
Long
' | translate }}
</label>
<div
class=
"col-sm-6 J_ownerSelectorPanel"
>
<apollouserselector
apollo-id=
"'ownerSelector'"
disabled=
"isOpenManageAppMasterRoleLimit"
></apollouserselector>
<small
style=
"color: maroon"
ng-if=
"isOpenManageAppMasterRoleLimit"
>
{{'App.AppOwnerTips' | translate }}
</small>
...
...
apollo-portal/src/main/resources/static/app/setting.html
View file @
59d92f6b
...
...
@@ -147,7 +147,7 @@
<section
class=
"context"
ng-show=
"!hasAssignUserPermission"
>
<div
class=
"panel-body text-center"
>
<h4
translate=
"App.Setting.NoPermissonTips"
translate-value-users=
"{{admins.join(',')}}"
></h4>
<h4
translate=
"App.Setting.NoPermiss
i
onTips"
translate-value-users=
"{{admins.join(',')}}"
></h4>
</div>
</section>
</div>
...
...
apollo-portal/src/main/resources/static/cluster.html
View file @
59d92f6b
...
...
@@ -61,7 +61,7 @@
{{'Common.ClusterName' | translate }}
</label>
<div
class=
"col-sm-6"
>
<input
type=
"text"
class=
"form-control"
name=
"clusterName"
ng-model=
"clusterName"
>
<small>
{{'Cluster.Create
r
NameTips' | translate }}
</small>
<small>
{{'Cluster.CreateNameTips' | translate }}
</small>
</div>
</div>
<div
class=
"form-group"
>
...
...
apollo-portal/src/main/resources/static/config.html
View file @
59d92f6b
...
...
@@ -181,7 +181,7 @@
<!--default cluster tip -->
<div
ng-show=
"pageContext.clusterName == 'default'"
>
<strong>
{{'Config.Note' | translate }}:
</strong>
<span
translate=
"Config.ClusterIsDef
ua
ltTipContent"
<span
translate=
"Config.ClusterIsDef
au
ltTipContent"
translate-value-name=
"{{envMapClusters[pageContext.env]}}"
></span>
</div>
...
...
apollo-portal/src/main/resources/static/config/history.html
View file @
59d92f6b
...
...
@@ -25,10 +25,10 @@
<div
class=
"operation-caption release-operation-normal text-center"
style=
"left:0;"
>
<small>
{{'Config.History.MasterVersionPublish' | translate }}
</small>
</div>
<div
class=
"operation-caption release-operation-rollback text-center"
style=
"left:
8
0px;"
>
<div
class=
"operation-caption release-operation-rollback text-center"
style=
"left:
11
0px;"
>
<small>
{{'Config.History.MasterVersionRollback' | translate }}
</small>
</div>
<div
class=
"operation-caption release-operation-gray text-center"
style=
"left:
16
0px;"
>
<div
class=
"operation-caption release-operation-gray text-center"
style=
"left:
22
0px;"
>
<small>
{{'Config.History.GrayscaleOperator' | translate }}
</small>
</div>
</div>
...
...
@@ -94,7 +94,7 @@
<div
class=
"load-more media panel-heading text-center hover"
ng-show=
"!hasLoadAll"
ng-click=
"findReleaseHistory()"
>
{{'Config.History.Load
ing
More' | translate }}
{{'Config.History.LoadMore' | translate }}
</div>
</div>
...
...
@@ -114,12 +114,12 @@
<div
class=
"btn-group"
>
<button
type=
"button"
class=
"btn btn-default btn-sm"
ng-class=
"{'active':history.viewType == 'diff'}"
data-tooltip=
"tooltip"
data-placement=
"bottom"
title=
"
查看此次发布与上次版本的变更
"
data-placement=
"bottom"
title=
"
{{'Config.History.ChangedItemTips' | translate }}
"
ng-click=
"switchConfigViewType(history, 'diff')"
>
{{'Config.History.ChangedItem' | translate }}
</button>
<button
type=
"button"
class=
"btn btn-default btn-sm"
ng-class=
"{'active':history.viewType == 'all'}"
data-tooltip=
"tooltip"
data-placement=
"bottom"
title=
"
查看此次发布的所有配置信息
"
data-placement=
"bottom"
title=
"
{{'Config.History.AllItemTips' | translate }}
"
ng-click=
"switchConfigViewType(history, 'all')"
>
{{'Config.History.AllItem' | translate }}
</button>
</div>
...
...
@@ -249,7 +249,7 @@
<div
class=
"panel-body"
ng-show=
"isConfigHidden || !releaseHistories || releaseHistories.length == 0"
>
<h4
class=
"text-center empty-container"
ng-show=
"isConfigHidden"
>
{{'Config.History.NoPermissonTips' | translate }}
</h4>
{{'Config.History.NoPermiss
i
onTips' | translate }}
</h4>
<h4
class=
"text-center empty-container"
ng-show=
"!isConfigHidden"
>
{{'Config.History.NoPublishHistory' | translate }}
</h4>
</div>
...
...
apollo-portal/src/main/resources/static/i18n/en.json
View file @
59d92f6b
This diff is collapsed.
Click to expand it.
apollo-portal/src/main/resources/static/i18n/zh-
cn
.json
→
apollo-portal/src/main/resources/static/i18n/zh-
CN
.json
View file @
59d92f6b
This diff is collapsed.
Click to expand it.
apollo-portal/src/main/resources/static/index.html
View file @
59d92f6b
...
...
@@ -44,7 +44,7 @@
ng-click=
"getUserCreatedApps()"
>
<div
href=
"#"
class=
"thumbnail hover cursor-pointer"
>
<img
class=
"more-img"
src=
"img/more.png"
/>
<h5>
{{'Index.Load
ing
More' | translate }}
</h5>
<h5>
{{'Index.LoadMore' | translate }}
</h5>
</div>
</div>
</aside>
...
...
@@ -77,7 +77,7 @@
<div
class=
"col-md-2 text-center"
ng-show=
"hasMoreFavorites"
ng-click=
"getUserFavorites()"
>
<div
href=
"#"
class=
"thumbnail hover cursor-pointer"
>
<img
class=
"more-img"
src=
"img/more.png"
/>
<h5>
{{'Index.Load
ing
More' | translate }}
</h5>
<h5>
{{'Index.LoadMore' | translate }}
</h5>
</div>
</div>
<div
class=
"no-favorites text-center"
ng-show=
"!favorites || favorites.length == 0"
>
...
...
@@ -89,7 +89,7 @@
<section
class=
"media visit-app-list"
ng-show=
"visitedApps && visitedApps.length"
>
<aside
class=
"media-left text-center"
>
<h5>
{{'Index.RecentyViewedItems' | translate }}
</h5>
<h5>
{{'Index.Recent
l
yViewedItems' | translate }}
</h5>
</aside>
<aside
class=
"media-body"
>
<div
class=
"app-panel col-md-2 text-center"
ng-repeat=
"app in visitedApps"
...
...
@@ -117,10 +117,6 @@
<script
src=
"vendor/angular/angular-translate.2.18.1/angular-translate-loader-static-files.min.js"
></script>
<script
src=
"vendor/angular/angular-translate.2.18.1/angular-translate-storage-cookie.min.js"
></script>
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-translate/2.18.1/angular-translate.min.js"></script>-->
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-translate/2.18.1/angular-translate-storage-cookie/angular-translate-storage-cookie.min.js"></script>-->
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-translate/2.18.1/angular-translate-loader-static-files/angular-translate-loader-static-files.min.js"></script>-->
<!-- jquery.js -->
<script
src=
"vendor/jquery.min.js"
type=
"text/javascript"
></script>
<script
src=
"vendor/select2/select2.min.js"
type=
"text/javascript"
></script>
...
...
apollo-portal/src/main/resources/static/namespace.html
View file @
59d92f6b
...
...
@@ -62,10 +62,10 @@
<div
class=
"row text-right"
style=
"padding-right: 20px;"
>
<div
class=
"btn-group btn-group-sm"
role=
"group"
aria-label=
"..."
>
<button
type=
"button"
class=
"btn btn-default"
ng-class=
"{active:type=='link'}"
ng-click=
"switchType('link')"
>
{{'Namespace.AssociationPublicNamesp
ca
e' | translate }}
ng-click=
"switchType('link')"
>
{{'Namespace.AssociationPublicNamesp
ac
e' | translate }}
</button>
<button
type=
"button"
class=
"btn btn-default"
ng-class=
"{active:type=='create'}"
ng-click=
"switchType('create')"
>
{{'Namespace.CreateNamesp
ca
e' | translate }}
ng-click=
"switchType('create')"
>
{{'Namespace.CreateNamesp
ac
e' | translate }}
</button>
</div>
</div>
...
...
@@ -142,16 +142,16 @@
ng-show=
"type == 'create' && (pageSetting.canAppAdminCreatePrivateNamespace || hasRootPermission)"
>
<label
class=
"col-sm-3 control-label"
>
<apollorequiredfield></apollorequiredfield>
{{'Namespace.Namesp
ca
eType' | translate }}
{{'Namespace.Namesp
ac
eType' | translate }}
</label>
<div
class=
"col-sm-4"
valdr-form-group
>
<label
class=
"radio-inline"
>
<input
type=
"radio"
name=
"namespaceType"
value=
"true"
ng-value=
"true"
ng-model=
"appNamespace.isPublic"
>
{{'Namespace.Namesp
ca
eType.Public' | translate }}
ng-model=
"appNamespace.isPublic"
>
{{'Namespace.Namesp
ac
eType.Public' | translate }}
</label>
<label
class=
"radio-inline"
>
<input
type=
"radio"
name=
"namespaceType"
value=
"false"
ng-value=
"false"
ng-model=
"appNamespace.isPublic"
>
{{'Namespace.Namesp
ca
eType.Private' | translate }}
ng-model=
"appNamespace.isPublic"
>
{{'Namespace.Namesp
ac
eType.Private' | translate }}
</label>
</div>
</div>
...
...
apollo-portal/src/main/resources/static/namespace/role.html
View file @
59d92f6b
...
...
@@ -40,7 +40,7 @@
<div
class=
"form-horizontal"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
{{'Namespace.Role.GrantModifyTo' | translate }}
<br><small>
{{'Namespace.Role.GrantModifyT2' | translate }}
</small></label>
class=
"col-sm-2 control-label"
>
{{'Namespace.Role.GrantModifyTo' | translate }}
<br><small>
{{'Namespace.Role.GrantModifyT
o
2' | translate }}
</small></label>
<div
class=
"col-sm-8"
>
<form
class=
"form-inline"
ng-submit=
"assignRoleToUser('ModifyNamespace')"
>
<div
class=
"form-group"
>
...
...
@@ -88,7 +88,7 @@
<div
class=
"form-horizontal"
>
<div
class=
"col-sm-2 text-right"
>
<label
class=
"control-label"
>
{{'Namespace.Role.GrantPub
ishTo' | translate }}
<br><small>
{{'Namespace.Role.GrantPub
ishTo2' | translate }}
</small></label>
class=
"control-label"
>
{{'Namespace.Role.GrantPub
lishTo' | translate }}
<br><small>
{{'Namespace.Role.GrantPubl
ishTo2' | translate }}
</small></label>
</div>
<div
class=
"col-sm-8"
>
<form
class=
"form-inline"
ng-submit=
"assignRoleToUser('ReleaseNamespace')"
>
...
...
@@ -138,7 +138,7 @@
</div>
<div
class=
"panel-body text-center"
ng-show=
"!hasAssignUserPermission"
>
<h2>
{{'Namespace.Role.NoPermisson' | translate }}
</h2>
<h2>
{{'Namespace.Role.NoPermiss
i
on' | translate }}
</h2>
</div>
</section>
...
...
apollo-portal/src/main/resources/static/scripts/AppUtils.js
View file @
59d92f6b
...
...
@@ -2,7 +2,7 @@ appUtil.service('AppUtil', ['toastr', '$window', '$q', '$translate', function (t
function
parseErrorMsg
(
response
)
{
if
(
response
.
status
==
-
1
)
{
return
$translate
.
instant
(
'
Common.LoginExp
rie
Tips
'
);
return
$translate
.
instant
(
'
Common.LoginExp
ired
Tips
'
);
}
var
msg
=
"
Code:
"
+
response
.
status
;
if
(
response
.
data
.
message
!=
null
)
{
...
...
@@ -13,7 +13,7 @@ appUtil.service('AppUtil', ['toastr', '$window', '$q', '$translate', function (t
function
parsePureErrorMsg
(
response
)
{
if
(
response
.
status
==
-
1
)
{
return
$translate
.
instant
(
'
Common.LoginExp
rie
Tips
'
);
return
$translate
.
instant
(
'
Common.LoginExp
ired
Tips
'
);
}
if
(
response
.
data
.
message
!=
null
)
{
return
response
.
data
.
message
;
...
...
apollo-portal/src/main/resources/static/scripts/app.js
View file @
59d92f6b
...
...
@@ -2,15 +2,19 @@
var
appUtil
=
angular
.
module
(
'
app.util
'
,
[
'
toastr
'
,
'
ngCookies
'
,
'
pascalprecht.translate
'
])
.
config
([
'
$translateProvider
'
,
function
(
$translateProvider
)
{
// $translateProvider.useMissingTranslationHandlerLog();
$translateProvider
.
useSanitizeValueStrategy
(
null
);
// disable sanitization by default
$translateProvider
.
useCookieStorage
();
$translateProvider
.
useStaticFilesLoader
({
prefix
:
'
/i18n/
'
,
suffix
:
'
.json
'
});
$translateProvider
.
preferredLanguage
(
'
en
'
);
$translateProvider
.
fallbackLanguage
(
'
zh-cn
'
);
$translateProvider
.
registerAvailableLanguageKeys
([
'
en
'
,
'
zh-CN
'
],
{
'
zh-*
'
:
'
zh-CN
'
,
'
zh
'
:
'
zh-CN
'
,
'
en-*
'
:
'
en
'
,
"
*
"
:
"
en
"
})
$translateProvider
.
uniformLanguageTag
(
'
bcp47
'
).
determinePreferredLanguage
();
}]);
/**service module 定义*/
var
appService
=
angular
.
module
(
'
app.service
'
,
[
'
ngResource
'
,
'
app.util
'
])
...
...
apollo-portal/src/main/resources/static/scripts/controller/AppController.js
View file @
59d92f6b
...
...
@@ -27,7 +27,7 @@ function createAppController($scope, $window, $translate, toastr, AppService, Ap
organizations
.
push
(
org
);
});
$
(
'
#organization
'
).
select2
({
placeholder
:
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
),
placeholder
:
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
),
width
:
'
100%
'
,
data
:
organizations
});
...
...
@@ -60,7 +60,7 @@ function createAppController($scope, $window, $translate, toastr, AppService, Ap
var
selectedOrg
=
$
(
'
#organization
'
).
select2
(
'
data
'
)[
0
];
if
(
!
selectedOrg
.
id
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
));
$scope
.
submitBtnDisabled
=
false
;
return
;
}
...
...
@@ -74,7 +74,7 @@ function createAppController($scope, $window, $translate, toastr, AppService, Ap
owner
=
{
id
:
$scope
.
currentUser
.
userId
};
}
if
(
!
owner
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseOwner
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseOwner
'
));
$scope
.
submitBtnDisabled
=
false
;
return
;
}
...
...
apollo-portal/src/main/resources/static/scripts/controller/DeleteAppClusterNamespaceController.js
View file @
59d92f6b
...
...
@@ -62,7 +62,7 @@ function DeleteAppClusterNamespaceController($scope, $translate, toastr, AppUtil
toastr
.
warning
(
$translate
.
instant
(
'
Delete.PleaseEnterAppId
'
));
return
;
}
if
(
confirm
(
$translate
.
instant
(
'
Delete.
PleaseEnter
AppId
'
,
{
appId
:
$scope
.
app
.
appId
})))
{
if
(
confirm
(
$translate
.
instant
(
'
Delete.
ConfirmDelete
AppId
'
,
{
appId
:
$scope
.
app
.
appId
})))
{
AppService
.
delete_app
(
$scope
.
app
.
appId
).
then
(
function
(
result
)
{
toastr
.
success
(
$translate
.
instant
(
'
Delete.Deleted
'
));
$scope
.
deleteAppBtnDisabled
=
true
;
...
...
@@ -99,9 +99,9 @@ function DeleteAppClusterNamespaceController($scope, $translate, toastr, AppUtil
return
;
}
var
confirmTip
=
$translate
.
instant
(
'
Delete.ConfirmDeleteCluster
'
,
{
appId
:
result
.
appId
,
appId
:
$scope
.
cluster
.
appId
,
env
:
$scope
.
cluster
.
env
,
clusterName
:
result
.
name
clusterName
:
$scope
.
cluster
.
name
});
if
(
confirm
(
confirmTip
))
{
...
...
apollo-portal/src/main/resources/static/scripts/controller/LoginController.js
View file @
59d92f6b
...
...
@@ -8,10 +8,12 @@ function LoginController($scope, $window, $location, $translate, toastr, AppUtil
if
(
params
.
error
)
{
$translate
(
'
Login.UserNameOrPasswordIncorrect
'
).
then
(
function
(
result
)
{
$scope
.
info
=
result
;
})
})
;
}
if
(
params
.
logout
)
{
$scope
.
info
=
$translate
.
instant
(
'
Login.LogoutSuccessfully
'
);
$translate
(
'
Login.LogoutSuccessfully
'
).
then
(
function
(
result
)
{
$scope
.
info
=
result
;
});
}
}
...
...
apollo-portal/src/main/resources/static/scripts/controller/NamespaceController.js
View file @
59d92f6b
...
...
@@ -118,7 +118,7 @@ namespace_module.controller("LinkNamespaceController",
var
namespaceNameLength
=
$scope
.
concatNamespace
().
length
;
if
(
namespaceNameLength
>
32
)
{
var
errorTip
=
$translate
.
instant
(
'
Namespace.Check
n
amespaceNameLengthTip
'
,
{
var
errorTip
=
$translate
.
instant
(
'
Namespace.Check
N
amespaceNameLengthTip
'
,
{
departmentLength
:
namespaceNameLength
-
$scope
.
appNamespace
.
name
.
length
,
namespaceLength
:
$scope
.
appNamespace
.
name
.
length
});
...
...
apollo-portal/src/main/resources/static/scripts/controller/ServerConfigController.js
View file @
59d92f6b
...
...
@@ -7,17 +7,17 @@ server_config_module.controller('ServerConfigController',
$scope
.
create
=
function
()
{
ServerConfigService
.
create
(
$scope
.
serverConfig
).
then
(
function
(
result
)
{
toastr
.
success
(
$translate
.
instant
(
'
SericeConfig.Saved
'
));
toastr
.
success
(
$translate
.
instant
(
'
Ser
v
iceConfig.Saved
'
));
$scope
.
saveBtnDisabled
=
true
;
$scope
.
serverConfig
=
result
;
},
function
(
result
)
{
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
$translate
.
instant
(
'
SericeConfig.SaveFailed
'
));
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
$translate
.
instant
(
'
Ser
v
iceConfig.SaveFailed
'
));
});
};
$scope
.
getServerConfigInfo
=
function
()
{
if
(
!
$scope
.
serverConfig
.
key
)
{
toastr
.
warning
(
$translate
.
instant
(
'
SericeConfig.PleaseEnterKey
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Ser
v
iceConfig.PleaseEnterKey
'
));
return
;
}
...
...
@@ -25,11 +25,11 @@ server_config_module.controller('ServerConfigController',
$scope
.
saveBtnDisabled
=
false
;
if
(
!
result
.
key
)
{
toastr
.
info
(
$translate
.
instant
(
'
SericeConfig.KeyNotExistsAndCreateTip
'
,
{
key
:
$scope
.
serverConfig
.
key
}));
toastr
.
info
(
$translate
.
instant
(
'
Ser
v
iceConfig.KeyNotExistsAndCreateTip
'
,
{
key
:
$scope
.
serverConfig
.
key
}));
return
;
}
toastr
.
info
(
$translate
.
instant
(
'
SericeConfig.KeyExistsAndSaveTip
'
,
{
key
:
$scope
.
serverConfig
.
key
}));
toastr
.
info
(
$translate
.
instant
(
'
Ser
v
iceConfig.KeyExistsAndSaveTip
'
,
{
key
:
$scope
.
serverConfig
.
key
}));
$scope
.
serverConfig
=
result
;
},
function
(
result
)
{
AppUtil
.
showErrorMsg
(
result
);
...
...
apollo-portal/src/main/resources/static/scripts/controller/SettingController.js
View file @
59d92f6b
...
...
@@ -49,7 +49,7 @@ function SettingController($scope, $location, $translate, toastr,
organizations
.
push
(
org
);
});
$orgWidget
.
select2
({
placeholder
:
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
),
placeholder
:
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
),
width
:
'
100%
'
,
data
:
organizations
});
...
...
@@ -177,7 +177,7 @@ function SettingController($scope, $location, $translate, toastr,
var
selectedOrg
=
$orgWidget
.
select2
(
'
data
'
)[
0
];
if
(
!
selectedOrg
.
id
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
));
return
;
}
...
...
@@ -187,13 +187,13 @@ function SettingController($scope, $location, $translate, toastr,
// owner
var
owner
=
$
(
'
.ownerSelector
'
).
select2
(
'
data
'
)[
0
];
if
(
!
owner
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseOwner
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseOwner
'
));
return
;
}
app
.
ownerName
=
owner
.
id
;
AppService
.
update
(
app
).
then
(
function
(
app
)
{
toastr
.
success
(
$translate
.
instant
(
'
Common.Modif
ed
'
));
toastr
.
success
(
$translate
.
instant
(
'
App.Setting.Modifi
ed
'
));
initApplication
();
$scope
.
display
.
app
.
edit
=
false
;
$scope
.
submitBtnDisabled
=
false
;
...
...
apollo-portal/src/main/resources/static/scripts/controller/config/ConfigBaseInfoController.js
View file @
59d92f6b
...
...
@@ -45,7 +45,7 @@ function ConfigBaseInfoController($rootScope, $scope, $window, $location, $trans
loadAppInfo
();
handleFavorite
();
},
function
(
result
)
{
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
$translate
.
instant
(
'
Config.Get
r
UserInfoFailed
'
));
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
$translate
.
instant
(
'
Config.GetUserInfoFailed
'
));
});
handlePermission
();
...
...
@@ -326,7 +326,7 @@ function ConfigBaseInfoController($rootScope, $scope, $window, $location, $trans
$scope
.
favoriteId
=
0
;
toastr
.
success
(
$translate
.
instant
(
'
Config.CancelledFavorite
'
));
},
function
(
result
)
{
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
$translate
.
instant
(
'
Config.CanceFavoriteFailed
'
));
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
$translate
.
instant
(
'
Config.Cance
l
FavoriteFailed
'
));
})
};
}
...
...
apollo-portal/src/main/resources/static/scripts/controller/open/OpenManageController.js
View file @
59d92f6b
...
...
@@ -35,7 +35,7 @@ function OpenManageController($scope, $translate, toastr, AppUtil, OrganizationS
organizations
.
push
(
org
);
});
$orgWidget
.
select2
({
placeholder
:
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
),
placeholder
:
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
),
width
:
'
100%
'
,
data
:
organizations
});
...
...
@@ -103,7 +103,7 @@ function OpenManageController($scope, $translate, toastr, AppUtil, OrganizationS
var
selectedOrg
=
$orgWidget
.
select2
(
'
data
'
)[
0
];
if
(
!
selectedOrg
.
id
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
));
return
;
}
...
...
@@ -113,7 +113,7 @@ function OpenManageController($scope, $translate, toastr, AppUtil, OrganizationS
// owner
var
owner
=
$
(
'
.ownerSelector
'
).
select2
(
'
data
'
)[
0
];
if
(
!
owner
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseOwner
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseOwner
'
));
return
;
}
$scope
.
consumer
.
ownerName
=
owner
.
id
;
...
...
apollo-portal/src/main/resources/static/scripts/directive/directive.js
View file @
59d92f6b
...
...
@@ -18,8 +18,9 @@ directive_module.directive('apollonav',
scope
.
$apply
(
function
()
{});
});
$translate
(
'
ApolloConfirmDialog.SearchPlaceHolder
'
).
then
(
function
(
placeholderLabel
)
{
$
(
'
#app-search-list
'
).
select2
({
placeholder
:
$translate
.
instant
(
'
ApolloConfirmDialog.SearchPlaceHolder
'
)
,
placeholder
:
placeholderLabel
,
ajax
:
{
url
:
"
/apps/search
"
,
dataType
:
'
json
'
,
...
...
@@ -67,6 +68,7 @@ directive_module.directive('apollonav',
jumpToConfigPage
(
selected
[
0
].
id
)
}
});
});
function
jumpToConfigPage
(
selectedAppId
)
{
if
(
$window
.
location
.
href
.
indexOf
(
"
config.html
"
)
>
-
1
)
{
...
...
apollo-portal/src/main/resources/static/scripts/directive/item-modal-directive.js
View file @
59d92f6b
...
...
@@ -124,7 +124,7 @@ function itemModalDirective($translate, toastr, $sce, AppUtil, EventManager, Con
AppUtil
.
hideModal
(
'
#itemModal
'
);
toastr
.
success
(
$translate
.
instant
(
'
ItemModal.ModifedTips
'
));
toastr
.
success
(
$translate
.
instant
(
'
ItemModal.Modif
i
edTips
'
));
},
function
(
result
)
{
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
$translate
.
instant
(
'
ItemModal.ModifyFailed
'
));
});
...
...
apollo-portal/src/main/resources/static/scripts/directive/namespace-panel-directive.js
View file @
59d92f6b
...
...
@@ -659,7 +659,7 @@ function directive($window, $translate, toastr, AppUtil, EventManager, Permissio
branch
.
rules
)
.
then
(
function
(
result
)
{
toastr
.
success
(
$translate
.
instant
(
'
ApolloNsPanel.GrayscaleModifed
'
));
toastr
.
success
(
$translate
.
instant
(
'
ApolloNsPanel.GrayscaleModif
i
ed
'
));
//show tips if branch has not release configs
if
(
branch
.
itemModifiedCnt
)
{
...
...
@@ -729,7 +729,7 @@ function directive($window, $translate, toastr, AppUtil, EventManager, Permissio
namespace
.
baseInfo
.
namespaceName
,
model
).
then
(
function
(
result
)
{
toastr
.
success
(
$translate
.
instant
(
'
ApolloNsPanel.ModifedTips
'
));
toastr
.
success
(
$translate
.
instant
(
'
ApolloNsPanel.Modif
i
edTips
'
));
//refresh all namespace items
EventManager
.
emit
(
EventManager
.
EventType
.
REFRESH_NAMESPACE
,
{
...
...
apollo-portal/src/main/resources/static/server_config.html
View file @
59d92f6b
...
...
@@ -10,7 +10,7 @@
<link
rel=
"stylesheet"
type=
"text/css"
href=
"vendor/select2/select2.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
media=
'all'
href=
"vendor/angular/loading-bar.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"styles/common-style.css"
>
<title>
{{'SericeConfig.Title' | translate }}
</title>
<title>
{{'Ser
v
iceConfig.Title' | translate }}
</title>
</head>
<body>
...
...
@@ -22,8 +22,8 @@
<div
class=
"col-md-8 col-md-offset-2"
>
<div
class=
"panel"
>
<header
class=
"panel-heading"
>
{{'SericeConfig.Title' | translate }}
<small>
{{'SericeConfig.Tips' | translate }}
</small>
{{'Ser
v
iceConfig.Title' | translate }}
<small>
{{'Ser
v
iceConfig.Tips' | translate }}
</small>
</header>
<div
class=
"panel-body"
>
...
...
@@ -31,12 +31,12 @@
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
<apollorequiredfield></apollorequiredfield>
{{'SericeConfig.Key' | translate }}
{{'Ser
v
iceConfig.Key' | translate }}
</label>
<div
class=
"col-sm-8"
>
<input
type=
"text"
class=
"form-control"
name=
"key"
ng-model=
"serverConfig.key"
required
>
<small>
{{'SericeConfig.KeyTips' | translate }}
</small>
<small>
{{'Ser
v
iceConfig.KeyTips' | translate }}
</small>
</div>
<div
class=
"col-sm-1"
>
<button
class=
"btn btn-info"
...
...
@@ -46,7 +46,7 @@
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
<apollorequiredfield></apollorequiredfield>
{{'SericeConfig.Value' | translate }}
{{'Ser
v
iceConfig.Value' | translate }}
</label>
<div
class=
"col-sm-9"
>
<textarea
class=
"form-control"
rows=
"4"
name=
"value"
...
...
@@ -55,7 +55,7 @@
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
{{'SericeConfig.Comment' | translate }}
</label>
{{'Ser
v
iceConfig.Comment' | translate }}
</label>
<div
class=
"col-sm-9"
>
<textarea
class=
"form-control"
rows=
"4"
name=
"comment"
ng-model=
"serverConfig.comment"
></textarea>
...
...
apollo-portal/src/main/resources/static/styles/common-style.css
View file @
59d92f6b
...
...
@@ -297,7 +297,7 @@ table th {
.project-info
th
{
text-align
:
right
;
padding
:
4px
6
px
;
padding
:
4px
2
px
;
width
:
5em
;
}
...
...
@@ -654,7 +654,7 @@ table th {
.release-history
.operation-caption
{
position
:
absolute
;
top
:
45px
;
width
:
75
px
;
width
:
100
px
;
height
:
18px
;
color
:
#fff
;
font-size
:
12px
;
...
...
apollo-portal/src/main/resources/static/views/common/nav.html
View file @
59d92f6b
...
...
@@ -31,7 +31,7 @@
<ul
class=
"dropdown-menu"
>
<li
value=
"en"
><a
href=
"javascript:void(0)"
ng-click=
"changeLanguage('en')"
>
English
</a></li>
<li
value=
"zh-
cn"
><a
href=
"javascript:void(0)"
ng-click=
"changeLanguage('zh-cn
')"
>
简体中文
</a></li>
<li
value=
"zh-
CN"
><a
href=
"javascript:void(0)"
ng-click=
"changeLanguage('zh-CN
')"
>
简体中文
</a></li>
</ul>
</li>
<li
class=
"dropdown"
ng-if=
"hasRootPermission"
>
...
...
apollo-portal/src/main/resources/static/views/component/env-selector.html
View file @
59d92f6b
<table
class=
"table table-hover"
style=
"width:
25
0px"
>
<table
class=
"table table-hover"
style=
"width:
30
0px"
>
<thead>
<tr>
<td><input
type=
"checkbox"
ng-checked=
"envAllSelected"
ng-click=
"toggleEnvsCheckedStatus()"
></td>
...
...
apollo-portal/src/main/resources/static/views/component/namespace-panel-branch-tab.html
View file @
59d92f6b
...
...
@@ -159,7 +159,7 @@
title=
"{{'Component.Namespace.Branch.Body.DeletedItem' | translate }}"
>
{{'Component.Namespace.Branch.Body.Delete' | translate }}
</span>
<span
class=
"label label-info"
ng-if=
"!config.isDeleted && config.masterItemExists"
data-tooltip=
"tooltip"
data-placement=
"bottom"
title=
"{{'Component.Namespace.Branch.Body.ChangedF
or
mMaster' | translate }}"
>
{{'Component.Namespace.Branch.Body.Modify' | translate }}
</span>
title=
"{{'Component.Namespace.Branch.Body.ChangedF
ro
mMaster' | translate }}"
>
{{'Component.Namespace.Branch.Body.Modify' | translate }}
</span>
<span
class=
"label label-success"
ng-if=
"!config.isDeleted && !config.masterItemExists"
data-tooltip=
"tooltip"
data-placement=
"bottom"
...
...
@@ -268,7 +268,7 @@
<span
class=
"label label-info"
ng-if=
"config.isModified && config.oldValue && !config.isDeleted"
data-tooltip=
"tooltip"
data-placement=
"bottom"
title=
"{{'Component.Namespace.Branch.Body.ModifedItem' | translate }}"
>
{{'Component.Namespace.Branch.Body.Modify' | translate }}
</span>
title=
"{{'Component.Namespace.Branch.Body.Modif
i
edItem' | translate }}"
>
{{'Component.Namespace.Branch.Body.Modify' | translate }}
</span>
<span
class=
"label label-danger"
ng-if=
"config.isDeleted"
data-tooltip=
"tooltip"
data-placement=
"bottom"
title=
"{{'Component.Namespace.Branch.Body.DeletedItem' | translate }}"
>
{{'Component.Namespace.Branch.Body.Delete' | translate }}
</span>
...
...
@@ -307,7 +307,7 @@
<div
class=
"alert alert-warning no-radius"
ng-show=
"!namespace.hasModifyPermission && !namespace.hasReleasePermission"
>
<strong>
Tips:
</strong>
{{'Component.Namespace.Branch.GrayScaleRule.NoPermissonTips' | translate }}
{{'Component.Namespace.Branch.GrayScaleRule.NoPermiss
i
onTips' | translate }}
</div>
<table
class=
"table table-bordered table-hover"
>
...
...
@@ -397,7 +397,7 @@
<div
class=
"row text-center"
ng-show=
"namespace.branch.latestReleaseInstances.content.length < namespace.branch.latestReleaseInstances.total"
>
<button
class=
"btn btn-default"
ng-click=
"loadInstanceInfo(namespace.branch)"
>
{{'Component.Namespace.Branch.Instance.Load
ing
More' | translate }}
</button>
ng-click=
"loadInstanceInfo(namespace.branch)"
>
{{'Component.Namespace.Branch.Instance.LoadMore' | translate }}
</button>
</div>
</div>
...
...
@@ -450,7 +450,7 @@
<!--兼容老数据,不显示item类型为空行和注释的item-->
<tr
ng-repeat=
"item in commits.changeSets.createItems"
ng-show=
"item.key"
>
<td
width=
"
2
%"
>
<td
width=
"
6
%"
>
{{'Component.Namespace.Branch.History.NewAdded' | translate }}
</td>
<td
width=
"20%"
title=
"{{item.key}}"
>
...
...
@@ -458,9 +458,9 @@
<span
ng-bind=
"item.key | limitTo: 250"
></span>
<span
ng-bind=
"item.key.length > 250 ? '...' :''"
></span>
</td>
<td
width=
"
30
%"
>
<td
width=
"
28
%"
>
</td>
<td
width=
"
30
%"
class=
"cursor-pointer"
title=
"{{item.value}}"
<td
width=
"
28
%"
class=
"cursor-pointer"
title=
"{{item.value}}"
ng-click=
"showText(item.value)"
>
<span
ng-bind=
"item.value | limitTo: 250"
></span>
<span
ng-bind=
"item.value.length > 250 ? '...': ''"
></span>
...
...
@@ -471,19 +471,19 @@
</td>
</tr>
<tr
ng-repeat=
"item in commits.changeSets.updateItems"
>
<td
width=
"
2
%"
>
{{'Component.Namespace.Branch.History.Modifed' | translate }}
<td
width=
"
6
%"
>
{{'Component.Namespace.Branch.History.Modif
i
ed' | translate }}
</td>
<td
width=
"20%"
title=
"{{item.newItem.key}}"
>
<span
ng-bind=
"item.newItem.key | limitTo: 250"
></span>
<span
ng-bind=
"item.newItem.key.length > 250 ? '...' :''"
></span>
</td>
<td
width=
"
30
%"
class=
"cursor-pointer"
title=
"{{item.oldItem.value}}"
<td
width=
"
28
%"
class=
"cursor-pointer"
title=
"{{item.oldItem.value}}"
ng-click=
"showText(item.oldItem.value)"
>
<span
ng-bind=
"item.oldItem.value | limitTo: 250"
></span>
<span
ng-bind=
"item.oldItem.value.length > 250 ? '...': ''"
></span>
</td>
<td
width=
"
30
%"
class=
"cursor-pointer"
title=
"{{item.newItem.value}}"
<td
width=
"
28
%"
class=
"cursor-pointer"
title=
"{{item.newItem.value}}"
ng-click=
"showText(item.newItem.value)"
>
<span
ng-bind=
"item.newItem.value | limitTo: 250"
></span>
<span
ng-bind=
"item.newItem.value.length > 250 ? '...': ''"
></span>
...
...
@@ -495,18 +495,18 @@
</tr>
<tr
ng-repeat=
"item in commits.changeSets.deleteItems"
ng-show=
"item.key || item.comment"
>
<td
width=
"
2
%"
>
<td
width=
"
6
%"
>
{{'Component.Namespace.Branch.History.Deleted' | translate }}
</td>
<td
width=
"20%"
title=
"{{item.key}}"
>
<span
ng-bind=
"item.key | limitTo: 250"
></span>
<span
ng-bind=
"item.key.length > 250 ? '...' :''"
></span>
</td>
<td
width=
"
30
%"
title=
"{{item.value}}"
>
<td
width=
"
28
%"
title=
"{{item.value}}"
>
<span
ng-bind=
"item.value | limitTo: 250"
></span>
<span
ng-bind=
"item.value.length > 250 ? '...': ''"
></span>
</td>
<td
width=
"
30
%"
>
<td
width=
"
28
%"
>
</td>
<td
width=
"18%"
title=
"{{item.comment}}"
>
<span
ng-bind=
"item.comment | limitTo: 250"
></span>
...
...
@@ -537,7 +537,7 @@
</div>
<div
class=
"text-center"
>
<button
type=
"button"
class=
"btn btn-default"
ng-show=
"!namespace.branch.hasLoadAllCommit"
ng-click=
"loadCommitHistory(namespace.branch)"
>
{{'Component.Namespace.Branch.History.Load
ing
More' | translate }}
ng-click=
"loadCommitHistory(namespace.branch)"
>
{{'Component.Namespace.Branch.History.LoadMore' | translate }}
<span
class=
"glyphicon glyphicon-menu-down"
></span></button>
</div>
<div
class=
"empty-container text-center"
...
...
apollo-portal/src/main/resources/static/views/component/namespace-panel-master-tab.html
View file @
59d92f6b
This diff is collapsed.
Click to expand it.
apollo-portal/src/main/resources/static/views/component/release-modal.html
View file @
59d92f6b
...
...
@@ -80,7 +80,7 @@
<span
class=
"label label-info"
ng-if=
"config.isModified && config.oldValue && !config.isDeleted"
data-tooltip=
"tooltip"
data-placement=
"bottom"
title=
"{{'Component.Publish.Modif
edTips' | translate }}"
>
{{'Component.Publish.Modif
ed' | translate }}
</span>
title=
"{{'Component.Publish.Modif
iedTips' | translate }}"
>
{{'Component.Publish.Modifi
ed' | translate }}
</span>
<span
class=
"label label-danger"
ng-if=
"config.isDeleted"
data-tooltip=
"tooltip"
data-placement=
"bottom"
title=
"{{'Component.Publish.DeletedTips' | translate }}"
>
{{'Component.Publish.Deleted' | translate }}
</span>
...
...
apollo-portal/src/main/resources/static/views/component/rollback-modal.html
View file @
59d92f6b
...
...
@@ -6,7 +6,7 @@
aria-hidden=
"true"
>
×
</span></button>
<div
class=
"modal-title text-center"
>
<span
style=
"font-size: 18px;"
ng-bind=
"toRollbackNamespace.firstRelease.name"
></span>
<span
style=
"font-size: 18px;"
>
{{'Component.Rollback.
Got
o' | translate }}
</span>
<span
style=
"font-size: 18px;"
>
{{'Component.Rollback.
T
o' | translate }}
</span>
<span
style=
"font-size: 18px;"
ng-bind=
"toRollbackNamespace.secondRelease.name"
></span>
</div>
</div>
...
...
@@ -14,7 +14,7 @@
<div
class=
"alert alert-warning"
role=
"alert"
>
{{'Component.Rollback.Tips' | translate }}
<a
target=
"_blank"
href=
"/config/history.html?#/appid={{appId}}&env={{env}}&clusterName={{toRollbackNamespace.baseInfo.clusterName}}&namespaceName={{toRollbackNamespace.baseInfo.namespaceName}}"
>
点击查看
</a>
href=
"/config/history.html?#/appid={{appId}}&env={{env}}&clusterName={{toRollbackNamespace.baseInfo.clusterName}}&namespaceName={{toRollbackNamespace.baseInfo.namespaceName}}"
>
{{'Component.Rollback.ClickToView' | translate }}
</a>
</div>
<div
class=
"form-group"
style=
"margin-top: 15px;"
>
...
...
@@ -46,7 +46,7 @@
<span
ng-show=
"change.type == 'ADDED'"
>
{{'Component.Rollback.Added' | translate }}
</span>
<span
ng-show=
"change.type == 'MODIFIED'"
>
{{'Component.Rollback.Modifed' | translate }}
</span>
ng-show=
"change.type == 'MODIFIED'"
>
{{'Component.Rollback.Modif
i
ed' | translate }}
</span>
<span
ng-show=
"change.type == 'DELETED'"
>
{{'Component.Rollback.Deleted' | translate }}
</span>
</td>
...
...
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