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
...
@@ -45,6 +45,7 @@ public class WebMvcConfig implements WebMvcConfigurer, WebServerFactoryCustomize
addCacheControl
(
registry
,
"scripts"
,
86400
);
addCacheControl
(
registry
,
"scripts"
,
86400
);
addCacheControl
(
registry
,
"styles"
,
86400
);
addCacheControl
(
registry
,
"styles"
,
86400
);
addCacheControl
(
registry
,
"views"
,
86400
);
addCacheControl
(
registry
,
"views"
,
86400
);
addCacheControl
(
registry
,
"i18n"
,
86400
);
}
}
private
void
addCacheControl
(
ResourceHandlerRegistry
registry
,
String
folder
,
int
cachePeriod
)
{
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{
...
@@ -11,7 +11,7 @@ public class AppDTO extends BaseDTO{
@Pattern
(
@Pattern
(
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
message
=
"
AppId格式错误
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
message
=
"
Invalid AppId format
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
)
)
private
String
appId
;
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{
...
@@ -11,7 +11,7 @@ public class ClusterDTO extends BaseDTO{
@NotBlank
(
message
=
"cluster name cannot be blank"
)
@NotBlank
(
message
=
"cluster name cannot be blank"
)
@Pattern
(
@Pattern
(
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
message
=
"
Cluster格式错误
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
message
=
"
Invalid Cluster format
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
)
)
private
String
name
;
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{
...
@@ -12,7 +12,7 @@ public class NamespaceDTO extends BaseDTO{
@Pattern
(
@Pattern
(
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
message
=
"
Namespace格式错误
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
message
=
"
Invalid Namespace format
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
)
)
private
String
namespaceName
;
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 {
...
@@ -22,7 +22,7 @@ public class AppNamespace extends BaseEntity {
@NotBlank
(
message
=
"AppNamespace Name cannot be blank"
)
@NotBlank
(
message
=
"AppNamespace Name cannot be blank"
)
@Pattern
(
@Pattern
(
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
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
)
@Column
(
name
=
"Name"
,
nullable
=
false
)
private
String
name
;
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;
...
@@ -8,8 +8,8 @@ import java.util.regex.Pattern;
* @author Jason Song(song_s@ctrip.com)
* @author Jason Song(song_s@ctrip.com)
*/
*/
public
class
InputValidator
{
public
class
InputValidator
{
public
static
final
String
INVALID_CLUSTER_NAMESPACE_MESSAGE
=
"
只允许输入数字,字母和符号 - _ .
"
;
public
static
final
String
INVALID_CLUSTER_NAMESPACE_MESSAGE
=
"
Only digits, alphabets and symbol - _ . are allowed
"
;
public
static
final
String
INVALID_NAMESPACE_NAMESPACE_MESSAGE
=
"
不允许以.json, .yml, .yaml, .xml, .properties结尾
"
;
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_.-]+"
;
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
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
);
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 {
...
@@ -59,7 +59,7 @@ public class ClusterController {
if
(!
InputValidator
.
isValidClusterNamespace
(
clusterName
))
{
if
(!
InputValidator
.
isValidClusterNamespace
(
clusterName
))
{
throw
new
BadRequestException
(
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
)
{
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 {
...
@@ -68,7 +68,7 @@ public class NamespaceController {
appNamespaceDTO
.
getFormat
(),
appNamespaceDTO
.
getDataChangeCreatedBy
());
appNamespaceDTO
.
getFormat
(),
appNamespaceDTO
.
getDataChangeCreatedBy
());
if
(!
InputValidator
.
isValidAppNamespace
(
appNamespaceDTO
.
getName
()))
{
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_CLUSTER_NAMESPACE_MESSAGE
+
" & "
+
InputValidator
.
INVALID_NAMESPACE_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 {
...
@@ -193,7 +193,7 @@ public class NamespaceController {
@RequestParam
(
defaultValue
=
"true"
)
boolean
appendNamespacePrefix
,
@RequestParam
(
defaultValue
=
"true"
)
boolean
appendNamespacePrefix
,
@Valid
@RequestBody
AppNamespace
appNamespace
)
{
@Valid
@RequestBody
AppNamespace
appNamespace
)
{
if
(!
InputValidator
.
isValidAppNamespace
(
appNamespace
.
getName
()))
{
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
));
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 {
...
@@ -154,7 +154,7 @@ public class PermissionController {
Set
<
String
>
assignedUser
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildNamespaceRoleName
(
appId
,
namespaceName
,
roleType
,
env
),
Set
<
String
>
assignedUser
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildNamespaceRoleName
(
appId
,
namespaceName
,
roleType
,
env
),
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
if
(
CollectionUtils
.
isEmpty
(
assignedUser
))
{
if
(
CollectionUtils
.
isEmpty
(
assignedUser
))
{
throw
new
BadRequestException
(
user
+
"
已授权
"
);
throw
new
BadRequestException
(
user
+
"
already authorized
"
);
}
}
return
ResponseEntity
.
ok
().
build
();
return
ResponseEntity
.
ok
().
build
();
...
@@ -209,7 +209,7 @@ public class PermissionController {
...
@@ -209,7 +209,7 @@ public class PermissionController {
Set
<
String
>
assignedUser
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildNamespaceRoleName
(
appId
,
namespaceName
,
roleType
),
Set
<
String
>
assignedUser
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildNamespaceRoleName
(
appId
,
namespaceName
,
roleType
),
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
if
(
CollectionUtils
.
isEmpty
(
assignedUser
))
{
if
(
CollectionUtils
.
isEmpty
(
assignedUser
))
{
throw
new
BadRequestException
(
user
+
"
已授权
"
);
throw
new
BadRequestException
(
user
+
"
already authorized
"
);
}
}
return
ResponseEntity
.
ok
().
build
();
return
ResponseEntity
.
ok
().
build
();
...
@@ -253,7 +253,7 @@ public class PermissionController {
...
@@ -253,7 +253,7 @@ public class PermissionController {
Set
<
String
>
assignedUsers
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildAppRoleName
(
appId
,
roleType
),
Set
<
String
>
assignedUsers
=
rolePermissionService
.
assignRoleToUsers
(
RoleUtils
.
buildAppRoleName
(
appId
,
roleType
),
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
Sets
.
newHashSet
(
user
),
userInfoHolder
.
getUser
().
getUserId
());
if
(
CollectionUtils
.
isEmpty
(
assignedUsers
))
{
if
(
CollectionUtils
.
isEmpty
(
assignedUsers
))
{
throw
new
BadRequestException
(
user
+
"
已授权
"
);
throw
new
BadRequestException
(
user
+
"
already authorized
"
);
}
}
return
ResponseEntity
.
ok
().
build
();
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 {
...
@@ -14,7 +14,7 @@ public class AppModel {
@NotBlank
(
message
=
"appId cannot be blank"
)
@NotBlank
(
message
=
"appId cannot be blank"
)
@Pattern
(
@Pattern
(
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
regexp
=
InputValidator
.
CLUSTER_NAMESPACE_VALIDATOR
,
message
=
"
AppId格式错误
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
message
=
"
Invalid AppId format
: "
+
InputValidator
.
INVALID_CLUSTER_NAMESPACE_MESSAGE
)
)
private
String
appId
;
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 {
...
@@ -12,11 +12,11 @@ public class RelativeDateFormat {
private
static
final
long
ONE_HOUR
=
3600000L
;
private
static
final
long
ONE_HOUR
=
3600000L
;
private
static
final
long
ONE_DAY
=
86400000L
;
private
static
final
long
ONE_DAY
=
86400000L
;
private
static
final
String
ONE_SECOND_AGO
=
"
秒前
"
;
private
static
final
String
ONE_SECOND_AGO
=
"
seconds ago
"
;
private
static
final
String
ONE_MINUTE_AGO
=
"
分钟前
"
;
private
static
final
String
ONE_MINUTE_AGO
=
"
minutes ago
"
;
private
static
final
String
ONE_HOUR_AGO
=
"
小时前
"
;
private
static
final
String
ONE_HOUR_AGO
=
"
hours ago
"
;
private
static
final
String
ONE_DAY_AGO
=
"
天前
"
;
private
static
final
String
ONE_DAY_AGO
=
"
days ago
"
;
private
static
final
String
ONE_MONTH_AGO
=
"
月前
"
;
private
static
final
String
ONE_MONTH_AGO
=
"
months ago
"
;
public
static
String
format
(
Date
date
)
{
public
static
String
format
(
Date
date
)
{
if
(
date
.
after
(
new
Date
()))
{
if
(
date
.
after
(
new
Date
()))
{
...
@@ -39,11 +39,11 @@ public class RelativeDateFormat {
...
@@ -39,11 +39,11 @@ public class RelativeDateFormat {
Date
lastDayBeginTime
=
getDateOffset
(-
1
);
Date
lastDayBeginTime
=
getDateOffset
(-
1
);
if
(
date
.
after
(
lastDayBeginTime
))
{
if
(
date
.
after
(
lastDayBeginTime
))
{
return
"
昨天
"
;
return
"
yesterday
"
;
}
}
Date
lastTwoDaysBeginTime
=
getDateOffset
(-
2
);
Date
lastTwoDaysBeginTime
=
getDateOffset
(-
2
);
if
(
date
.
after
(
lastTwoDaysBeginTime
))
{
if
(
date
.
after
(
lastTwoDaysBeginTime
))
{
return
"
前天
"
;
return
"
the day before yesterday
"
;
}
}
if
(
delta
<
30L
*
ONE_DAY
)
{
if
(
delta
<
30L
*
ONE_DAY
)
{
long
days
=
toDays
(
delta
);
long
days
=
toDays
(
delta
);
...
...
apollo-portal/src/main/resources/static/app.html
View file @
59d92f6b
...
@@ -61,7 +61,7 @@
...
@@ -61,7 +61,7 @@
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-3 control-label"
>
<label
class=
"col-sm-3 control-label"
>
<apollorequiredfield></apollorequiredfield>
<apollorequiredfield></apollorequiredfield>
{{'Common.AppOwner' | translate }}
</label>
{{'Common.AppOwner
Long
' | translate }}
</label>
<div
class=
"col-sm-6 J_ownerSelectorPanel"
>
<div
class=
"col-sm-6 J_ownerSelectorPanel"
>
<apollouserselector
apollo-id=
"'ownerSelector'"
disabled=
"isOpenManageAppMasterRoleLimit"
></apollouserselector>
<apollouserselector
apollo-id=
"'ownerSelector'"
disabled=
"isOpenManageAppMasterRoleLimit"
></apollouserselector>
<small
style=
"color: maroon"
ng-if=
"isOpenManageAppMasterRoleLimit"
>
{{'App.AppOwnerTips' | translate }}
</small>
<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 @@
...
@@ -147,7 +147,7 @@
<section
class=
"context"
ng-show=
"!hasAssignUserPermission"
>
<section
class=
"context"
ng-show=
"!hasAssignUserPermission"
>
<div
class=
"panel-body text-center"
>
<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>
</div>
</section>
</section>
</div>
</div>
...
...
apollo-portal/src/main/resources/static/cluster.html
View file @
59d92f6b
...
@@ -61,7 +61,7 @@
...
@@ -61,7 +61,7 @@
{{'Common.ClusterName' | translate }}
</label>
{{'Common.ClusterName' | translate }}
</label>
<div
class=
"col-sm-6"
>
<div
class=
"col-sm-6"
>
<input
type=
"text"
class=
"form-control"
name=
"clusterName"
ng-model=
"clusterName"
>
<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>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
...
...
apollo-portal/src/main/resources/static/config.html
View file @
59d92f6b
...
@@ -181,7 +181,7 @@
...
@@ -181,7 +181,7 @@
<!--default cluster tip -->
<!--default cluster tip -->
<div
ng-show=
"pageContext.clusterName == 'default'"
>
<div
ng-show=
"pageContext.clusterName == 'default'"
>
<strong>
{{'Config.Note' | translate }}:
</strong>
<strong>
{{'Config.Note' | translate }}:
</strong>
<span
translate=
"Config.ClusterIsDef
ua
ltTipContent"
<span
translate=
"Config.ClusterIsDef
au
ltTipContent"
translate-value-name=
"{{envMapClusters[pageContext.env]}}"
></span>
translate-value-name=
"{{envMapClusters[pageContext.env]}}"
></span>
</div>
</div>
...
...
apollo-portal/src/main/resources/static/config/history.html
View file @
59d92f6b
...
@@ -25,10 +25,10 @@
...
@@ -25,10 +25,10 @@
<div
class=
"operation-caption release-operation-normal text-center"
style=
"left:0;"
>
<div
class=
"operation-caption release-operation-normal text-center"
style=
"left:0;"
>
<small>
{{'Config.History.MasterVersionPublish' | translate }}
</small>
<small>
{{'Config.History.MasterVersionPublish' | translate }}
</small>
</div>
</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>
<small>
{{'Config.History.MasterVersionRollback' | translate }}
</small>
</div>
</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>
<small>
{{'Config.History.GrayscaleOperator' | translate }}
</small>
</div>
</div>
</div>
</div>
...
@@ -94,7 +94,7 @@
...
@@ -94,7 +94,7 @@
<div
class=
"load-more media panel-heading text-center hover"
ng-show=
"!hasLoadAll"
<div
class=
"load-more media panel-heading text-center hover"
ng-show=
"!hasLoadAll"
ng-click=
"findReleaseHistory()"
>
ng-click=
"findReleaseHistory()"
>
{{'Config.History.Load
ing
More' | translate }}
{{'Config.History.LoadMore' | translate }}
</div>
</div>
</div>
</div>
...
@@ -114,12 +114,12 @@
...
@@ -114,12 +114,12 @@
<div
class=
"btn-group"
>
<div
class=
"btn-group"
>
<button
type=
"button"
class=
"btn btn-default btn-sm"
<button
type=
"button"
class=
"btn btn-default btn-sm"
ng-class=
"{'active':history.viewType == 'diff'}"
data-tooltip=
"tooltip"
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 }}
ng-click=
"switchConfigViewType(history, 'diff')"
>
{{'Config.History.ChangedItem' | translate }}
</button>
</button>
<button
type=
"button"
class=
"btn btn-default btn-sm"
<button
type=
"button"
class=
"btn btn-default btn-sm"
ng-class=
"{'active':history.viewType == 'all'}"
data-tooltip=
"tooltip"
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 }}
ng-click=
"switchConfigViewType(history, 'all')"
>
{{'Config.History.AllItem' | translate }}
</button>
</button>
</div>
</div>
...
@@ -249,7 +249,7 @@
...
@@ -249,7 +249,7 @@
<div
class=
"panel-body"
ng-show=
"isConfigHidden || !releaseHistories || releaseHistories.length == 0"
>
<div
class=
"panel-body"
ng-show=
"isConfigHidden || !releaseHistories || releaseHistories.length == 0"
>
<h4
class=
"text-center empty-container"
ng-show=
"isConfigHidden"
>
<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"
>
<h4
class=
"text-center empty-container"
ng-show=
"!isConfigHidden"
>
{{'Config.History.NoPublishHistory' | translate }}
</h4>
{{'Config.History.NoPublishHistory' | translate }}
</h4>
</div>
</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 @@
...
@@ -44,7 +44,7 @@
ng-click=
"getUserCreatedApps()"
>
ng-click=
"getUserCreatedApps()"
>
<div
href=
"#"
class=
"thumbnail hover cursor-pointer"
>
<div
href=
"#"
class=
"thumbnail hover cursor-pointer"
>
<img
class=
"more-img"
src=
"img/more.png"
/>
<img
class=
"more-img"
src=
"img/more.png"
/>
<h5>
{{'Index.Load
ing
More' | translate }}
</h5>
<h5>
{{'Index.LoadMore' | translate }}
</h5>
</div>
</div>
</div>
</div>
</aside>
</aside>
...
@@ -77,7 +77,7 @@
...
@@ -77,7 +77,7 @@
<div
class=
"col-md-2 text-center"
ng-show=
"hasMoreFavorites"
ng-click=
"getUserFavorites()"
>
<div
class=
"col-md-2 text-center"
ng-show=
"hasMoreFavorites"
ng-click=
"getUserFavorites()"
>
<div
href=
"#"
class=
"thumbnail hover cursor-pointer"
>
<div
href=
"#"
class=
"thumbnail hover cursor-pointer"
>
<img
class=
"more-img"
src=
"img/more.png"
/>
<img
class=
"more-img"
src=
"img/more.png"
/>
<h5>
{{'Index.Load
ing
More' | translate }}
</h5>
<h5>
{{'Index.LoadMore' | translate }}
</h5>
</div>
</div>
</div>
</div>
<div
class=
"no-favorites text-center"
ng-show=
"!favorites || favorites.length == 0"
>
<div
class=
"no-favorites text-center"
ng-show=
"!favorites || favorites.length == 0"
>
...
@@ -89,7 +89,7 @@
...
@@ -89,7 +89,7 @@
<section
class=
"media visit-app-list"
ng-show=
"visitedApps && visitedApps.length"
>
<section
class=
"media visit-app-list"
ng-show=
"visitedApps && visitedApps.length"
>
<aside
class=
"media-left text-center"
>
<aside
class=
"media-left text-center"
>
<h5>
{{'Index.RecentyViewedItems' | translate }}
</h5>
<h5>
{{'Index.Recent
l
yViewedItems' | translate }}
</h5>
</aside>
</aside>
<aside
class=
"media-body"
>
<aside
class=
"media-body"
>
<div
class=
"app-panel col-md-2 text-center"
ng-repeat=
"app in visitedApps"
<div
class=
"app-panel col-md-2 text-center"
ng-repeat=
"app in visitedApps"
...
@@ -117,10 +117,6 @@
...
@@ -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-loader-static-files.min.js"
></script>
<script
src=
"vendor/angular/angular-translate.2.18.1/angular-translate-storage-cookie.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 -->
<!-- jquery.js -->
<script
src=
"vendor/jquery.min.js"
type=
"text/javascript"
></script>
<script
src=
"vendor/jquery.min.js"
type=
"text/javascript"
></script>
<script
src=
"vendor/select2/select2.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 @@
...
@@ -62,10 +62,10 @@
<div
class=
"row text-right"
style=
"padding-right: 20px;"
>
<div
class=
"row text-right"
style=
"padding-right: 20px;"
>
<div
class=
"btn-group btn-group-sm"
role=
"group"
aria-label=
"..."
>
<div
class=
"btn-group btn-group-sm"
role=
"group"
aria-label=
"..."
>
<button
type=
"button"
class=
"btn btn-default"
ng-class=
"{active:type=='link'}"
<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>
<button
type=
"button"
class=
"btn btn-default"
ng-class=
"{active:type=='create'}"
<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>
</button>
</div>
</div>
</div>
</div>
...
@@ -142,16 +142,16 @@
...
@@ -142,16 +142,16 @@
ng-show=
"type == 'create' && (pageSetting.canAppAdminCreatePrivateNamespace || hasRootPermission)"
>
ng-show=
"type == 'create' && (pageSetting.canAppAdminCreatePrivateNamespace || hasRootPermission)"
>
<label
class=
"col-sm-3 control-label"
>
<label
class=
"col-sm-3 control-label"
>
<apollorequiredfield></apollorequiredfield>
<apollorequiredfield></apollorequiredfield>
{{'Namespace.Namesp
ca
eType' | translate }}
{{'Namespace.Namesp
ac
eType' | translate }}
</label>
</label>
<div
class=
"col-sm-4"
valdr-form-group
>
<div
class=
"col-sm-4"
valdr-form-group
>
<label
class=
"radio-inline"
>
<label
class=
"radio-inline"
>
<input
type=
"radio"
name=
"namespaceType"
value=
"true"
ng-value=
"true"
<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>
<label
class=
"radio-inline"
>
<label
class=
"radio-inline"
>
<input
type=
"radio"
name=
"namespaceType"
value=
"false"
ng-value=
"false"
<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>
</label>
</div>
</div>
</div>
</div>
...
...
apollo-portal/src/main/resources/static/namespace/role.html
View file @
59d92f6b
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
<div
class=
"form-horizontal"
>
<div
class=
"form-horizontal"
>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
<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"
>
<div
class=
"col-sm-8"
>
<form
class=
"form-inline"
ng-submit=
"assignRoleToUser('ModifyNamespace')"
>
<form
class=
"form-inline"
ng-submit=
"assignRoleToUser('ModifyNamespace')"
>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
...
@@ -88,7 +88,7 @@
...
@@ -88,7 +88,7 @@
<div
class=
"form-horizontal"
>
<div
class=
"form-horizontal"
>
<div
class=
"col-sm-2 text-right"
>
<div
class=
"col-sm-2 text-right"
>
<label
<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>
<div
class=
"col-sm-8"
>
<div
class=
"col-sm-8"
>
<form
class=
"form-inline"
ng-submit=
"assignRoleToUser('ReleaseNamespace')"
>
<form
class=
"form-inline"
ng-submit=
"assignRoleToUser('ReleaseNamespace')"
>
...
@@ -138,7 +138,7 @@
...
@@ -138,7 +138,7 @@
</div>
</div>
<div
class=
"panel-body text-center"
ng-show=
"!hasAssignUserPermission"
>
<div
class=
"panel-body text-center"
ng-show=
"!hasAssignUserPermission"
>
<h2>
{{'Namespace.Role.NoPermisson' | translate }}
</h2>
<h2>
{{'Namespace.Role.NoPermiss
i
on' | translate }}
</h2>
</div>
</div>
</section>
</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
...
@@ -2,7 +2,7 @@ appUtil.service('AppUtil', ['toastr', '$window', '$q', '$translate', function (t
function
parseErrorMsg
(
response
)
{
function
parseErrorMsg
(
response
)
{
if
(
response
.
status
==
-
1
)
{
if
(
response
.
status
==
-
1
)
{
return
$translate
.
instant
(
'
Common.LoginExp
rie
Tips
'
);
return
$translate
.
instant
(
'
Common.LoginExp
ired
Tips
'
);
}
}
var
msg
=
"
Code:
"
+
response
.
status
;
var
msg
=
"
Code:
"
+
response
.
status
;
if
(
response
.
data
.
message
!=
null
)
{
if
(
response
.
data
.
message
!=
null
)
{
...
@@ -13,7 +13,7 @@ appUtil.service('AppUtil', ['toastr', '$window', '$q', '$translate', function (t
...
@@ -13,7 +13,7 @@ appUtil.service('AppUtil', ['toastr', '$window', '$q', '$translate', function (t
function
parsePureErrorMsg
(
response
)
{
function
parsePureErrorMsg
(
response
)
{
if
(
response
.
status
==
-
1
)
{
if
(
response
.
status
==
-
1
)
{
return
$translate
.
instant
(
'
Common.LoginExp
rie
Tips
'
);
return
$translate
.
instant
(
'
Common.LoginExp
ired
Tips
'
);
}
}
if
(
response
.
data
.
message
!=
null
)
{
if
(
response
.
data
.
message
!=
null
)
{
return
response
.
data
.
message
;
return
response
.
data
.
message
;
...
...
apollo-portal/src/main/resources/static/scripts/app.js
View file @
59d92f6b
...
@@ -2,15 +2,19 @@
...
@@ -2,15 +2,19 @@
var
appUtil
=
angular
.
module
(
'
app.util
'
,
[
'
toastr
'
,
'
ngCookies
'
,
'
pascalprecht.translate
'
])
var
appUtil
=
angular
.
module
(
'
app.util
'
,
[
'
toastr
'
,
'
ngCookies
'
,
'
pascalprecht.translate
'
])
.
config
([
'
$translateProvider
'
,
function
(
$translateProvider
)
{
.
config
([
'
$translateProvider
'
,
function
(
$translateProvider
)
{
// $translateProvider.useMissingTranslationHandlerLog();
$translateProvider
.
useSanitizeValueStrategy
(
null
);
// disable sanitization by default
$translateProvider
.
useCookieStorage
();
$translateProvider
.
useCookieStorage
();
$translateProvider
.
useStaticFilesLoader
({
$translateProvider
.
useStaticFilesLoader
({
prefix
:
'
/i18n/
'
,
prefix
:
'
/i18n/
'
,
suffix
:
'
.json
'
suffix
:
'
.json
'
});
});
$translateProvider
.
preferredLanguage
(
'
en
'
);
$translateProvider
.
registerAvailableLanguageKeys
([
'
en
'
,
'
zh-CN
'
],
{
$translateProvider
.
fallbackLanguage
(
'
zh-cn
'
);
'
zh-*
'
:
'
zh-CN
'
,
'
zh
'
:
'
zh-CN
'
,
'
en-*
'
:
'
en
'
,
"
*
"
:
"
en
"
})
$translateProvider
.
uniformLanguageTag
(
'
bcp47
'
).
determinePreferredLanguage
();
}]);
}]);
/**service module 定义*/
/**service module 定义*/
var
appService
=
angular
.
module
(
'
app.service
'
,
[
'
ngResource
'
,
'
app.util
'
])
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
...
@@ -27,7 +27,7 @@ function createAppController($scope, $window, $translate, toastr, AppService, Ap
organizations
.
push
(
org
);
organizations
.
push
(
org
);
});
});
$
(
'
#organization
'
).
select2
({
$
(
'
#organization
'
).
select2
({
placeholder
:
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
),
placeholder
:
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
),
width
:
'
100%
'
,
width
:
'
100%
'
,
data
:
organizations
data
:
organizations
});
});
...
@@ -60,7 +60,7 @@ function createAppController($scope, $window, $translate, toastr, AppService, Ap
...
@@ -60,7 +60,7 @@ function createAppController($scope, $window, $translate, toastr, AppService, Ap
var
selectedOrg
=
$
(
'
#organization
'
).
select2
(
'
data
'
)[
0
];
var
selectedOrg
=
$
(
'
#organization
'
).
select2
(
'
data
'
)[
0
];
if
(
!
selectedOrg
.
id
)
{
if
(
!
selectedOrg
.
id
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
));
$scope
.
submitBtnDisabled
=
false
;
$scope
.
submitBtnDisabled
=
false
;
return
;
return
;
}
}
...
@@ -74,7 +74,7 @@ function createAppController($scope, $window, $translate, toastr, AppService, Ap
...
@@ -74,7 +74,7 @@ function createAppController($scope, $window, $translate, toastr, AppService, Ap
owner
=
{
id
:
$scope
.
currentUser
.
userId
};
owner
=
{
id
:
$scope
.
currentUser
.
userId
};
}
}
if
(
!
owner
)
{
if
(
!
owner
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseOwner
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseOwner
'
));
$scope
.
submitBtnDisabled
=
false
;
$scope
.
submitBtnDisabled
=
false
;
return
;
return
;
}
}
...
...
apollo-portal/src/main/resources/static/scripts/controller/DeleteAppClusterNamespaceController.js
View file @
59d92f6b
...
@@ -62,7 +62,7 @@ function DeleteAppClusterNamespaceController($scope, $translate, toastr, AppUtil
...
@@ -62,7 +62,7 @@ function DeleteAppClusterNamespaceController($scope, $translate, toastr, AppUtil
toastr
.
warning
(
$translate
.
instant
(
'
Delete.PleaseEnterAppId
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Delete.PleaseEnterAppId
'
));
return
;
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
)
{
AppService
.
delete_app
(
$scope
.
app
.
appId
).
then
(
function
(
result
)
{
toastr
.
success
(
$translate
.
instant
(
'
Delete.Deleted
'
));
toastr
.
success
(
$translate
.
instant
(
'
Delete.Deleted
'
));
$scope
.
deleteAppBtnDisabled
=
true
;
$scope
.
deleteAppBtnDisabled
=
true
;
...
@@ -99,9 +99,9 @@ function DeleteAppClusterNamespaceController($scope, $translate, toastr, AppUtil
...
@@ -99,9 +99,9 @@ function DeleteAppClusterNamespaceController($scope, $translate, toastr, AppUtil
return
;
return
;
}
}
var
confirmTip
=
$translate
.
instant
(
'
Delete.ConfirmDeleteCluster
'
,
{
var
confirmTip
=
$translate
.
instant
(
'
Delete.ConfirmDeleteCluster
'
,
{
appId
:
result
.
appId
,
appId
:
$scope
.
cluster
.
appId
,
env
:
$scope
.
cluster
.
env
,
env
:
$scope
.
cluster
.
env
,
clusterName
:
result
.
name
clusterName
:
$scope
.
cluster
.
name
});
});
if
(
confirm
(
confirmTip
))
{
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
...
@@ -8,10 +8,12 @@ function LoginController($scope, $window, $location, $translate, toastr, AppUtil
if
(
params
.
error
)
{
if
(
params
.
error
)
{
$translate
(
'
Login.UserNameOrPasswordIncorrect
'
).
then
(
function
(
result
)
{
$translate
(
'
Login.UserNameOrPasswordIncorrect
'
).
then
(
function
(
result
)
{
$scope
.
info
=
result
;
$scope
.
info
=
result
;
})
})
;
}
}
if
(
params
.
logout
)
{
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",
...
@@ -118,7 +118,7 @@ namespace_module.controller("LinkNamespaceController",
var
namespaceNameLength
=
$scope
.
concatNamespace
().
length
;
var
namespaceNameLength
=
$scope
.
concatNamespace
().
length
;
if
(
namespaceNameLength
>
32
)
{
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
,
departmentLength
:
namespaceNameLength
-
$scope
.
appNamespace
.
name
.
length
,
namespaceLength
:
$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',
...
@@ -7,17 +7,17 @@ server_config_module.controller('ServerConfigController',
$scope
.
create
=
function
()
{
$scope
.
create
=
function
()
{
ServerConfigService
.
create
(
$scope
.
serverConfig
).
then
(
function
(
result
)
{
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
.
saveBtnDisabled
=
true
;
$scope
.
serverConfig
=
result
;
$scope
.
serverConfig
=
result
;
},
function
(
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
()
{
$scope
.
getServerConfigInfo
=
function
()
{
if
(
!
$scope
.
serverConfig
.
key
)
{
if
(
!
$scope
.
serverConfig
.
key
)
{
toastr
.
warning
(
$translate
.
instant
(
'
SericeConfig.PleaseEnterKey
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Ser
v
iceConfig.PleaseEnterKey
'
));
return
;
return
;
}
}
...
@@ -25,11 +25,11 @@ server_config_module.controller('ServerConfigController',
...
@@ -25,11 +25,11 @@ server_config_module.controller('ServerConfigController',
$scope
.
saveBtnDisabled
=
false
;
$scope
.
saveBtnDisabled
=
false
;
if
(
!
result
.
key
)
{
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
;
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
;
$scope
.
serverConfig
=
result
;
},
function
(
result
)
{
},
function
(
result
)
{
AppUtil
.
showErrorMsg
(
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,
...
@@ -49,7 +49,7 @@ function SettingController($scope, $location, $translate, toastr,
organizations
.
push
(
org
);
organizations
.
push
(
org
);
});
});
$orgWidget
.
select2
({
$orgWidget
.
select2
({
placeholder
:
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
),
placeholder
:
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
),
width
:
'
100%
'
,
width
:
'
100%
'
,
data
:
organizations
data
:
organizations
});
});
...
@@ -177,7 +177,7 @@ function SettingController($scope, $location, $translate, toastr,
...
@@ -177,7 +177,7 @@ function SettingController($scope, $location, $translate, toastr,
var
selectedOrg
=
$orgWidget
.
select2
(
'
data
'
)[
0
];
var
selectedOrg
=
$orgWidget
.
select2
(
'
data
'
)[
0
];
if
(
!
selectedOrg
.
id
)
{
if
(
!
selectedOrg
.
id
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
));
return
;
return
;
}
}
...
@@ -187,13 +187,13 @@ function SettingController($scope, $location, $translate, toastr,
...
@@ -187,13 +187,13 @@ function SettingController($scope, $location, $translate, toastr,
// owner
// owner
var
owner
=
$
(
'
.ownerSelector
'
).
select2
(
'
data
'
)[
0
];
var
owner
=
$
(
'
.ownerSelector
'
).
select2
(
'
data
'
)[
0
];
if
(
!
owner
)
{
if
(
!
owner
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseOwner
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseOwner
'
));
return
;
return
;
}
}
app
.
ownerName
=
owner
.
id
;
app
.
ownerName
=
owner
.
id
;
AppService
.
update
(
app
).
then
(
function
(
app
)
{
AppService
.
update
(
app
).
then
(
function
(
app
)
{
toastr
.
success
(
$translate
.
instant
(
'
Common.Modif
ed
'
));
toastr
.
success
(
$translate
.
instant
(
'
App.Setting.Modifi
ed
'
));
initApplication
();
initApplication
();
$scope
.
display
.
app
.
edit
=
false
;
$scope
.
display
.
app
.
edit
=
false
;
$scope
.
submitBtnDisabled
=
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
...
@@ -45,7 +45,7 @@ function ConfigBaseInfoController($rootScope, $scope, $window, $location, $trans
loadAppInfo
();
loadAppInfo
();
handleFavorite
();
handleFavorite
();
},
function
(
result
)
{
},
function
(
result
)
{
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
$translate
.
instant
(
'
Config.Get
r
UserInfoFailed
'
));
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
$translate
.
instant
(
'
Config.GetUserInfoFailed
'
));
});
});
handlePermission
();
handlePermission
();
...
@@ -326,7 +326,7 @@ function ConfigBaseInfoController($rootScope, $scope, $window, $location, $trans
...
@@ -326,7 +326,7 @@ function ConfigBaseInfoController($rootScope, $scope, $window, $location, $trans
$scope
.
favoriteId
=
0
;
$scope
.
favoriteId
=
0
;
toastr
.
success
(
$translate
.
instant
(
'
Config.CancelledFavorite
'
));
toastr
.
success
(
$translate
.
instant
(
'
Config.CancelledFavorite
'
));
},
function
(
result
)
{
},
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
...
@@ -35,7 +35,7 @@ function OpenManageController($scope, $translate, toastr, AppUtil, OrganizationS
organizations
.
push
(
org
);
organizations
.
push
(
org
);
});
});
$orgWidget
.
select2
({
$orgWidget
.
select2
({
placeholder
:
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
),
placeholder
:
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
),
width
:
'
100%
'
,
width
:
'
100%
'
,
data
:
organizations
data
:
organizations
});
});
...
@@ -103,7 +103,7 @@ function OpenManageController($scope, $translate, toastr, AppUtil, OrganizationS
...
@@ -103,7 +103,7 @@ function OpenManageController($scope, $translate, toastr, AppUtil, OrganizationS
var
selectedOrg
=
$orgWidget
.
select2
(
'
data
'
)[
0
];
var
selectedOrg
=
$orgWidget
.
select2
(
'
data
'
)[
0
];
if
(
!
selectedOrg
.
id
)
{
if
(
!
selectedOrg
.
id
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseDepartment
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseDepartment
'
));
return
;
return
;
}
}
...
@@ -113,7 +113,7 @@ function OpenManageController($scope, $translate, toastr, AppUtil, OrganizationS
...
@@ -113,7 +113,7 @@ function OpenManageController($scope, $translate, toastr, AppUtil, OrganizationS
// owner
// owner
var
owner
=
$
(
'
.ownerSelector
'
).
select2
(
'
data
'
)[
0
];
var
owner
=
$
(
'
.ownerSelector
'
).
select2
(
'
data
'
)[
0
];
if
(
!
owner
)
{
if
(
!
owner
)
{
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
el
aseChooseOwner
'
));
toastr
.
warning
(
$translate
.
instant
(
'
Common.P
le
aseChooseOwner
'
));
return
;
return
;
}
}
$scope
.
consumer
.
ownerName
=
owner
.
id
;
$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',
...
@@ -18,8 +18,9 @@ directive_module.directive('apollonav',
scope
.
$apply
(
function
()
{});
scope
.
$apply
(
function
()
{});
});
});
$translate
(
'
ApolloConfirmDialog.SearchPlaceHolder
'
).
then
(
function
(
placeholderLabel
)
{
$
(
'
#app-search-list
'
).
select2
({
$
(
'
#app-search-list
'
).
select2
({
placeholder
:
$translate
.
instant
(
'
ApolloConfirmDialog.SearchPlaceHolder
'
)
,
placeholder
:
placeholderLabel
,
ajax
:
{
ajax
:
{
url
:
"
/apps/search
"
,
url
:
"
/apps/search
"
,
dataType
:
'
json
'
,
dataType
:
'
json
'
,
...
@@ -67,6 +68,7 @@ directive_module.directive('apollonav',
...
@@ -67,6 +68,7 @@ directive_module.directive('apollonav',
jumpToConfigPage
(
selected
[
0
].
id
)
jumpToConfigPage
(
selected
[
0
].
id
)
}
}
});
});
});
function
jumpToConfigPage
(
selectedAppId
)
{
function
jumpToConfigPage
(
selectedAppId
)
{
if
(
$window
.
location
.
href
.
indexOf
(
"
config.html
"
)
>
-
1
)
{
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
...
@@ -124,7 +124,7 @@ function itemModalDirective($translate, toastr, $sce, AppUtil, EventManager, Con
AppUtil
.
hideModal
(
'
#itemModal
'
);
AppUtil
.
hideModal
(
'
#itemModal
'
);
toastr
.
success
(
$translate
.
instant
(
'
ItemModal.ModifedTips
'
));
toastr
.
success
(
$translate
.
instant
(
'
ItemModal.Modif
i
edTips
'
));
},
function
(
result
)
{
},
function
(
result
)
{
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
$translate
.
instant
(
'
ItemModal.ModifyFailed
'
));
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
...
@@ -659,7 +659,7 @@ function directive($window, $translate, toastr, AppUtil, EventManager, Permissio
branch
.
rules
branch
.
rules
)
)
.
then
(
function
(
result
)
{
.
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
//show tips if branch has not release configs
if
(
branch
.
itemModifiedCnt
)
{
if
(
branch
.
itemModifiedCnt
)
{
...
@@ -729,7 +729,7 @@ function directive($window, $translate, toastr, AppUtil, EventManager, Permissio
...
@@ -729,7 +729,7 @@ function directive($window, $translate, toastr, AppUtil, EventManager, Permissio
namespace
.
baseInfo
.
namespaceName
,
namespace
.
baseInfo
.
namespaceName
,
model
).
then
(
model
).
then
(
function
(
result
)
{
function
(
result
)
{
toastr
.
success
(
$translate
.
instant
(
'
ApolloNsPanel.ModifedTips
'
));
toastr
.
success
(
$translate
.
instant
(
'
ApolloNsPanel.Modif
i
edTips
'
));
//refresh all namespace items
//refresh all namespace items
EventManager
.
emit
(
EventManager
.
EventType
.
REFRESH_NAMESPACE
,
EventManager
.
emit
(
EventManager
.
EventType
.
REFRESH_NAMESPACE
,
{
{
...
...
apollo-portal/src/main/resources/static/server_config.html
View file @
59d92f6b
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<link
rel=
"stylesheet"
type=
"text/css"
href=
"vendor/select2/select2.min.css"
>
<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"
media=
'all'
href=
"vendor/angular/loading-bar.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"styles/common-style.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>
</head>
<body>
<body>
...
@@ -22,8 +22,8 @@
...
@@ -22,8 +22,8 @@
<div
class=
"col-md-8 col-md-offset-2"
>
<div
class=
"col-md-8 col-md-offset-2"
>
<div
class=
"panel"
>
<div
class=
"panel"
>
<header
class=
"panel-heading"
>
<header
class=
"panel-heading"
>
{{'SericeConfig.Title' | translate }}
{{'Ser
v
iceConfig.Title' | translate }}
<small>
{{'SericeConfig.Tips' | translate }}
</small>
<small>
{{'Ser
v
iceConfig.Tips' | translate }}
</small>
</header>
</header>
<div
class=
"panel-body"
>
<div
class=
"panel-body"
>
...
@@ -31,12 +31,12 @@
...
@@ -31,12 +31,12 @@
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
<label
class=
"col-sm-2 control-label"
>
<apollorequiredfield></apollorequiredfield>
<apollorequiredfield></apollorequiredfield>
{{'SericeConfig.Key' | translate }}
{{'Ser
v
iceConfig.Key' | translate }}
</label>
</label>
<div
class=
"col-sm-8"
>
<div
class=
"col-sm-8"
>
<input
type=
"text"
class=
"form-control"
name=
"key"
ng-model=
"serverConfig.key"
<input
type=
"text"
class=
"form-control"
name=
"key"
ng-model=
"serverConfig.key"
required
>
required
>
<small>
{{'SericeConfig.KeyTips' | translate }}
</small>
<small>
{{'Ser
v
iceConfig.KeyTips' | translate }}
</small>
</div>
</div>
<div
class=
"col-sm-1"
>
<div
class=
"col-sm-1"
>
<button
class=
"btn btn-info"
<button
class=
"btn btn-info"
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
<label
class=
"col-sm-2 control-label"
>
<apollorequiredfield></apollorequiredfield>
<apollorequiredfield></apollorequiredfield>
{{'SericeConfig.Value' | translate }}
{{'Ser
v
iceConfig.Value' | translate }}
</label>
</label>
<div
class=
"col-sm-9"
>
<div
class=
"col-sm-9"
>
<textarea
class=
"form-control"
rows=
"4"
name=
"value"
<textarea
class=
"form-control"
rows=
"4"
name=
"value"
...
@@ -55,7 +55,7 @@
...
@@ -55,7 +55,7 @@
</div>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
class=
"col-sm-2 control-label"
>
<label
class=
"col-sm-2 control-label"
>
{{'SericeConfig.Comment' | translate }}
</label>
{{'Ser
v
iceConfig.Comment' | translate }}
</label>
<div
class=
"col-sm-9"
>
<div
class=
"col-sm-9"
>
<textarea
class=
"form-control"
rows=
"4"
name=
"comment"
<textarea
class=
"form-control"
rows=
"4"
name=
"comment"
ng-model=
"serverConfig.comment"
></textarea>
ng-model=
"serverConfig.comment"
></textarea>
...
...
apollo-portal/src/main/resources/static/styles/common-style.css
View file @
59d92f6b
...
@@ -297,7 +297,7 @@ table th {
...
@@ -297,7 +297,7 @@ table th {
.project-info
th
{
.project-info
th
{
text-align
:
right
;
text-align
:
right
;
padding
:
4px
6
px
;
padding
:
4px
2
px
;
width
:
5em
;
width
:
5em
;
}
}
...
@@ -654,7 +654,7 @@ table th {
...
@@ -654,7 +654,7 @@ table th {
.release-history
.operation-caption
{
.release-history
.operation-caption
{
position
:
absolute
;
position
:
absolute
;
top
:
45px
;
top
:
45px
;
width
:
75
px
;
width
:
100
px
;
height
:
18px
;
height
:
18px
;
color
:
#fff
;
color
:
#fff
;
font-size
:
12px
;
font-size
:
12px
;
...
...
apollo-portal/src/main/resources/static/views/common/nav.html
View file @
59d92f6b
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
<ul
class=
"dropdown-menu"
>
<ul
class=
"dropdown-menu"
>
<li
value=
"en"
><a
href=
"javascript:void(0)"
ng-click=
"changeLanguage('en')"
>
English
</a></li>
<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>
</ul>
</li>
</li>
<li
class=
"dropdown"
ng-if=
"hasRootPermission"
>
<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>
<thead>
<tr>
<tr>
<td><input
type=
"checkbox"
ng-checked=
"envAllSelected"
ng-click=
"toggleEnvsCheckedStatus()"
></td>
<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 @@
...
@@ -159,7 +159,7 @@
title=
"{{'Component.Namespace.Branch.Body.DeletedItem' | translate }}"
>
{{'Component.Namespace.Branch.Body.Delete' | translate }}
</span>
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"
<span
class=
"label label-info"
ng-if=
"!config.isDeleted && config.masterItemExists"
data-tooltip=
"tooltip"
data-placement=
"bottom"
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"
<span
class=
"label label-success"
ng-if=
"!config.isDeleted && !config.masterItemExists"
data-tooltip=
"tooltip"
ng-if=
"!config.isDeleted && !config.masterItemExists"
data-tooltip=
"tooltip"
data-placement=
"bottom"
data-placement=
"bottom"
...
@@ -268,7 +268,7 @@
...
@@ -268,7 +268,7 @@
<span
class=
"label label-info"
<span
class=
"label label-info"
ng-if=
"config.isModified && config.oldValue && !config.isDeleted"
ng-if=
"config.isModified && config.oldValue && !config.isDeleted"
data-tooltip=
"tooltip"
data-placement=
"bottom"
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"
<span
class=
"label label-danger"
ng-if=
"config.isDeleted"
data-tooltip=
"tooltip"
data-placement=
"bottom"
data-placement=
"bottom"
title=
"{{'Component.Namespace.Branch.Body.DeletedItem' | translate }}"
>
{{'Component.Namespace.Branch.Body.Delete' | translate }}
</span>
title=
"{{'Component.Namespace.Branch.Body.DeletedItem' | translate }}"
>
{{'Component.Namespace.Branch.Body.Delete' | translate }}
</span>
...
@@ -307,7 +307,7 @@
...
@@ -307,7 +307,7 @@
<div
class=
"alert alert-warning no-radius"
<div
class=
"alert alert-warning no-radius"
ng-show=
"!namespace.hasModifyPermission && !namespace.hasReleasePermission"
>
ng-show=
"!namespace.hasModifyPermission && !namespace.hasReleasePermission"
>
<strong>
Tips:
</strong>
<strong>
Tips:
</strong>
{{'Component.Namespace.Branch.GrayScaleRule.NoPermissonTips' | translate }}
{{'Component.Namespace.Branch.GrayScaleRule.NoPermiss
i
onTips' | translate }}
</div>
</div>
<table
class=
"table table-bordered table-hover"
>
<table
class=
"table table-bordered table-hover"
>
...
@@ -397,7 +397,7 @@
...
@@ -397,7 +397,7 @@
<div
class=
"row text-center"
<div
class=
"row text-center"
ng-show=
"namespace.branch.latestReleaseInstances.content.length < namespace.branch.latestReleaseInstances.total"
>
ng-show=
"namespace.branch.latestReleaseInstances.content.length < namespace.branch.latestReleaseInstances.total"
>
<button
class=
"btn btn-default"
<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>
</div>
</div>
...
@@ -450,7 +450,7 @@
...
@@ -450,7 +450,7 @@
<!--兼容老数据,不显示item类型为空行和注释的item-->
<!--兼容老数据,不显示item类型为空行和注释的item-->
<tr
ng-repeat=
"item in commits.changeSets.createItems"
ng-show=
"item.key"
>
<tr
ng-repeat=
"item in commits.changeSets.createItems"
ng-show=
"item.key"
>
<td
width=
"
2
%"
>
<td
width=
"
6
%"
>
{{'Component.Namespace.Branch.History.NewAdded' | translate }}
{{'Component.Namespace.Branch.History.NewAdded' | translate }}
</td>
</td>
<td
width=
"20%"
title=
"{{item.key}}"
>
<td
width=
"20%"
title=
"{{item.key}}"
>
...
@@ -458,9 +458,9 @@
...
@@ -458,9 +458,9 @@
<span
ng-bind=
"item.key | limitTo: 250"
></span>
<span
ng-bind=
"item.key | limitTo: 250"
></span>
<span
ng-bind=
"item.key.length > 250 ? '...' :''"
></span>
<span
ng-bind=
"item.key.length > 250 ? '...' :''"
></span>
</td>
</td>
<td
width=
"
30
%"
>
<td
width=
"
28
%"
>
</td>
</td>
<td
width=
"
30
%"
class=
"cursor-pointer"
title=
"{{item.value}}"
<td
width=
"
28
%"
class=
"cursor-pointer"
title=
"{{item.value}}"
ng-click=
"showText(item.value)"
>
ng-click=
"showText(item.value)"
>
<span
ng-bind=
"item.value | limitTo: 250"
></span>
<span
ng-bind=
"item.value | limitTo: 250"
></span>
<span
ng-bind=
"item.value.length > 250 ? '...': ''"
></span>
<span
ng-bind=
"item.value.length > 250 ? '...': ''"
></span>
...
@@ -471,19 +471,19 @@
...
@@ -471,19 +471,19 @@
</td>
</td>
</tr>
</tr>
<tr
ng-repeat=
"item in commits.changeSets.updateItems"
>
<tr
ng-repeat=
"item in commits.changeSets.updateItems"
>
<td
width=
"
2
%"
>
<td
width=
"
6
%"
>
{{'Component.Namespace.Branch.History.Modifed' | translate }}
{{'Component.Namespace.Branch.History.Modif
i
ed' | translate }}
</td>
</td>
<td
width=
"20%"
title=
"{{item.newItem.key}}"
>
<td
width=
"20%"
title=
"{{item.newItem.key}}"
>
<span
ng-bind=
"item.newItem.key | limitTo: 250"
></span>
<span
ng-bind=
"item.newItem.key | limitTo: 250"
></span>
<span
ng-bind=
"item.newItem.key.length > 250 ? '...' :''"
></span>
<span
ng-bind=
"item.newItem.key.length > 250 ? '...' :''"
></span>
</td>
</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)"
>
ng-click=
"showText(item.oldItem.value)"
>
<span
ng-bind=
"item.oldItem.value | limitTo: 250"
></span>
<span
ng-bind=
"item.oldItem.value | limitTo: 250"
></span>
<span
ng-bind=
"item.oldItem.value.length > 250 ? '...': ''"
></span>
<span
ng-bind=
"item.oldItem.value.length > 250 ? '...': ''"
></span>
</td>
</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)"
>
ng-click=
"showText(item.newItem.value)"
>
<span
ng-bind=
"item.newItem.value | limitTo: 250"
></span>
<span
ng-bind=
"item.newItem.value | limitTo: 250"
></span>
<span
ng-bind=
"item.newItem.value.length > 250 ? '...': ''"
></span>
<span
ng-bind=
"item.newItem.value.length > 250 ? '...': ''"
></span>
...
@@ -495,18 +495,18 @@
...
@@ -495,18 +495,18 @@
</tr>
</tr>
<tr
ng-repeat=
"item in commits.changeSets.deleteItems"
<tr
ng-repeat=
"item in commits.changeSets.deleteItems"
ng-show=
"item.key || item.comment"
>
ng-show=
"item.key || item.comment"
>
<td
width=
"
2
%"
>
<td
width=
"
6
%"
>
{{'Component.Namespace.Branch.History.Deleted' | translate }}
{{'Component.Namespace.Branch.History.Deleted' | translate }}
</td>
</td>
<td
width=
"20%"
title=
"{{item.key}}"
>
<td
width=
"20%"
title=
"{{item.key}}"
>
<span
ng-bind=
"item.key | limitTo: 250"
></span>
<span
ng-bind=
"item.key | limitTo: 250"
></span>
<span
ng-bind=
"item.key.length > 250 ? '...' :''"
></span>
<span
ng-bind=
"item.key.length > 250 ? '...' :''"
></span>
</td>
</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 | limitTo: 250"
></span>
<span
ng-bind=
"item.value.length > 250 ? '...': ''"
></span>
<span
ng-bind=
"item.value.length > 250 ? '...': ''"
></span>
</td>
</td>
<td
width=
"
30
%"
>
<td
width=
"
28
%"
>
</td>
</td>
<td
width=
"18%"
title=
"{{item.comment}}"
>
<td
width=
"18%"
title=
"{{item.comment}}"
>
<span
ng-bind=
"item.comment | limitTo: 250"
></span>
<span
ng-bind=
"item.comment | limitTo: 250"
></span>
...
@@ -537,7 +537,7 @@
...
@@ -537,7 +537,7 @@
</div>
</div>
<div
class=
"text-center"
>
<div
class=
"text-center"
>
<button
type=
"button"
class=
"btn btn-default"
ng-show=
"!namespace.branch.hasLoadAllCommit"
<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>
<span
class=
"glyphicon glyphicon-menu-down"
></span></button>
</div>
</div>
<div
class=
"empty-container text-center"
<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 @@
...
@@ -80,7 +80,7 @@
<span
class=
"label label-info"
<span
class=
"label label-info"
ng-if=
"config.isModified && config.oldValue && !config.isDeleted"
ng-if=
"config.isModified && config.oldValue && !config.isDeleted"
data-tooltip=
"tooltip"
data-placement=
"bottom"
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"
<span
class=
"label label-danger"
ng-if=
"config.isDeleted"
data-tooltip=
"tooltip"
data-placement=
"bottom"
data-placement=
"bottom"
title=
"{{'Component.Publish.DeletedTips' | translate }}"
>
{{'Component.Publish.Deleted' | translate }}
</span>
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 @@
...
@@ -6,7 +6,7 @@
aria-hidden=
"true"
>
×
</span></button>
aria-hidden=
"true"
>
×
</span></button>
<div
class=
"modal-title text-center"
>
<div
class=
"modal-title text-center"
>
<span
style=
"font-size: 18px;"
ng-bind=
"toRollbackNamespace.firstRelease.name"
></span>
<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>
<span
style=
"font-size: 18px;"
ng-bind=
"toRollbackNamespace.secondRelease.name"
></span>
</div>
</div>
</div>
</div>
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
<div
class=
"alert alert-warning"
role=
"alert"
>
<div
class=
"alert alert-warning"
role=
"alert"
>
{{'Component.Rollback.Tips' | translate }}
{{'Component.Rollback.Tips' | translate }}
<a
target=
"_blank"
<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>
<div
class=
"form-group"
style=
"margin-top: 15px;"
>
<div
class=
"form-group"
style=
"margin-top: 15px;"
>
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
<span
<span
ng-show=
"change.type == 'ADDED'"
>
{{'Component.Rollback.Added' | translate }}
</span>
ng-show=
"change.type == 'ADDED'"
>
{{'Component.Rollback.Added' | translate }}
</span>
<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
<span
ng-show=
"change.type == 'DELETED'"
>
{{'Component.Rollback.Deleted' | translate }}
</span>
ng-show=
"change.type == 'DELETED'"
>
{{'Component.Rollback.Deleted' | translate }}
</span>
</td>
</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