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
b4e0a622
Commit
b4e0a622
authored
Jun 08, 2019
by
Jason Song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
search app from backend instead of loading all app and filter in frontend
parent
6aa339cc
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
100 additions
and
106 deletions
+100
-106
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/AppController.java
...rip/framework/apollo/portal/controller/AppController.java
+10
-0
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/AppRepository.java
...rip/framework/apollo/portal/repository/AppRepository.java
+3
-0
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppService.java
...com/ctrip/framework/apollo/portal/service/AppService.java
+14
-0
apollo-portal/src/main/resources/static/config/diff.html
apollo-portal/src/main/resources/static/config/diff.html
+2
-0
apollo-portal/src/main/resources/static/config/history.html
apollo-portal/src/main/resources/static/config/history.html
+2
-0
apollo-portal/src/main/resources/static/config/sync.html
apollo-portal/src/main/resources/static/config/sync.html
+2
-0
apollo-portal/src/main/resources/static/index.html
apollo-portal/src/main/resources/static/index.html
+2
-0
apollo-portal/src/main/resources/static/scripts/directive/directive.js
.../src/main/resources/static/scripts/directive/directive.js
+51
-92
apollo-portal/src/main/resources/static/server_config.html
apollo-portal/src/main/resources/static/server_config.html
+2
-0
apollo-portal/src/main/resources/static/styles/common-style.css
...-portal/src/main/resources/static/styles/common-style.css
+8
-0
apollo-portal/src/main/resources/static/vendor/select2/select2.min.css
.../src/main/resources/static/vendor/select2/select2.min.css
+1
-1
apollo-portal/src/main/resources/static/vendor/select2/select2.min.js
...l/src/main/resources/static/vendor/select2/select2.min.js
+1
-2
apollo-portal/src/main/resources/static/views/common/nav.html
...lo-portal/src/main/resources/static/views/common/nav.html
+2
-11
No files found.
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/AppController.java
View file @
b4e0a622
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
controller
;
import
com.ctrip.framework.apollo.common.dto.PageDTO
;
import
com.ctrip.framework.apollo.common.entity.App
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.common.http.MultiResponseEntity
;
...
...
@@ -77,7 +78,16 @@ public class AppController {
}
else
{
return
appService
.
findByAppIds
(
Sets
.
newHashSet
(
appIds
.
split
(
","
)));
}
}
@GetMapping
(
"/search"
)
public
PageDTO
<
App
>
searchByAppIdOrAppName
(
@RequestParam
(
value
=
"query"
,
required
=
false
)
String
query
,
Pageable
pageable
)
{
if
(
StringUtils
.
isEmpty
(
query
))
{
return
appService
.
findAll
(
pageable
);
}
else
{
return
appService
.
searchByAppIdOrAppName
(
query
,
pageable
);
}
}
@GetMapping
(
"/by-owner"
)
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/repository/AppRepository.java
View file @
b4e0a622
...
...
@@ -2,6 +2,7 @@ package com.ctrip.framework.apollo.portal.repository;
import
com.ctrip.framework.apollo.common.entity.App
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
...
...
@@ -21,6 +22,8 @@ public interface AppRepository extends PagingAndSortingRepository<App, Long> {
List
<
App
>
findByAppIdIn
(
Set
<
String
>
appIds
,
Pageable
pageable
);
Page
<
App
>
findByAppIdContainingOrNameContaining
(
String
appId
,
String
name
,
Pageable
pageable
);
@Modifying
@Query
(
"UPDATE App SET IsDeleted=1,DataChange_LastModifiedBy = ?2 WHERE AppId=?1"
)
int
deleteApp
(
String
appId
,
String
operator
);
...
...
apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppService.java
View file @
b4e0a622
package
com
.
ctrip
.
framework
.
apollo
.
portal
.
service
;
import
com.ctrip.framework.apollo.common.dto.AppDTO
;
import
com.ctrip.framework.apollo.common.dto.PageDTO
;
import
com.ctrip.framework.apollo.common.entity.App
;
import
com.ctrip.framework.apollo.common.exception.BadRequestException
;
import
com.ctrip.framework.apollo.common.utils.BeanUtils
;
...
...
@@ -14,6 +15,7 @@ import com.ctrip.framework.apollo.portal.spi.UserInfoHolder;
import
com.ctrip.framework.apollo.portal.spi.UserService
;
import
com.ctrip.framework.apollo.tracer.Tracer
;
import
com.google.common.collect.Lists
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -65,6 +67,18 @@ public class AppService {
return
Lists
.
newArrayList
((
apps
));
}
public
PageDTO
<
App
>
findAll
(
Pageable
pageable
)
{
Page
<
App
>
apps
=
appRepository
.
findAll
(
pageable
);
return
new
PageDTO
<>(
apps
.
getContent
(),
pageable
,
apps
.
getTotalElements
());
}
public
PageDTO
<
App
>
searchByAppIdOrAppName
(
String
query
,
Pageable
pageable
)
{
Page
<
App
>
apps
=
appRepository
.
findByAppIdContainingOrNameContaining
(
query
,
query
,
pageable
);
return
new
PageDTO
<>(
apps
.
getContent
(),
pageable
,
apps
.
getTotalElements
());
}
public
List
<
App
>
findByAppIds
(
Set
<
String
>
appIds
)
{
return
appRepository
.
findByAppIdIn
(
appIds
);
}
...
...
apollo-portal/src/main/resources/static/config/diff.html
View file @
b4e0a622
...
...
@@ -8,6 +8,7 @@
<link
rel=
"stylesheet"
type=
"text/css"
href=
"../vendor/angular/angular-toastr-1.4.1.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=
"../vendor/select2/select2.min.css"
>
<title>
比较配置
</title>
<style>
.comment-toggle
{
...
...
@@ -122,6 +123,7 @@
<!-- jquery.js -->
<script
src=
"../vendor/jquery.min.js"
type=
"text/javascript"
></script>
<script
src=
"../vendor/select2/select2.min.js"
type=
"text/javascript"
></script>
<!--angular-->
<script
src=
"../vendor/angular/angular.min.js"
></script>
...
...
apollo-portal/src/main/resources/static/config/history.html
View file @
b4e0a622
...
...
@@ -8,6 +8,7 @@
<link
rel=
"stylesheet"
type=
"text/css"
href=
"../vendor/angular/angular-toastr-1.4.1.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=
"../vendor/select2/select2.min.css"
>
<title>
发布历史
</title>
</head>
...
...
@@ -246,6 +247,7 @@
<!-- jquery.js -->
<script
src=
"../vendor/jquery.min.js"
type=
"text/javascript"
></script>
<script
src=
"../vendor/select2/select2.min.js"
type=
"text/javascript"
></script>
<!--angular-->
<script
src=
"../vendor/angular/angular.min.js"
></script>
...
...
apollo-portal/src/main/resources/static/config/sync.html
View file @
b4e0a622
...
...
@@ -8,6 +8,7 @@
<link
rel=
"stylesheet"
type=
"text/css"
href=
"../vendor/angular/angular-toastr-1.4.1.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=
"../vendor/select2/select2.min.css"
>
<title>
同步配置
</title>
</head>
...
...
@@ -213,6 +214,7 @@
<!-- jquery.js -->
<script
src=
"../vendor/jquery.min.js"
type=
"text/javascript"
></script>
<script
src=
"../vendor/select2/select2.min.js"
type=
"text/javascript"
></script>
<!--angular-->
<script
src=
"../vendor/angular/angular.min.js"
></script>
...
...
apollo-portal/src/main/resources/static/index.html
View file @
b4e0a622
...
...
@@ -6,6 +6,7 @@
<!-- styles -->
<link
rel=
"stylesheet"
type=
"text/css"
href=
"vendor/bootstrap/css/bootstrap.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"vendor/angular/angular-toastr-1.4.1.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/font-awesome.min.css"
>
...
...
@@ -115,6 +116,7 @@
<!-- jquery.js -->
<script
src=
"vendor/jquery.min.js"
type=
"text/javascript"
></script>
<script
src=
"vendor/select2/select2.min.js"
type=
"text/javascript"
></script>
<!-- bootstrap.js -->
<script
src=
"vendor/bootstrap/js/bootstrap.min.js"
type=
"text/javascript"
></script>
...
...
apollo-portal/src/main/resources/static/scripts/directive/directive.js
View file @
b4e0a622
...
...
@@ -13,105 +13,64 @@ directive_module.directive('apollonav',
scope
.
pageSetting
=
setting
;
});
scope
.
sourceApps
=
[];
scope
.
copiedApps
=
[];
AppService
.
find_apps
().
then
(
function
(
result
)
{
result
.
forEach
(
function
(
app
)
{
app
.
selected
=
false
;
scope
.
sourceApps
.
push
(
app
);
});
scope
.
copiedApps
=
angular
.
copy
(
scope
.
sourceApps
);
},
function
(
result
)
{
toastr
.
error
(
AppUtil
.
errorMsg
(
result
),
"
load apps error
"
);
});
scope
.
searchKey
=
''
;
scope
.
shouldShowAppList
=
false
;
var
selectedApp
=
{};
scope
.
selectApp
=
function
(
app
)
{
select
(
app
);
scope
.
jumpToConfigPage
();
$
(
'
#app-search-list
'
).
select2
({
placeholder
:
'
搜索项目(AppId、项目名)
'
,
ajax
:
{
url
:
"
/apps/search
"
,
dataType
:
'
json
'
,
delay
:
400
,
data
:
function
(
params
)
{
return
{
query
:
params
.
term
||
''
,
page
:
params
.
page
?
params
.
page
-
1
:
0
,
size
:
20
};
scope
.
changeSearchKey
=
function
()
{
scope
.
copiedApps
=
[];
var
searchKey
=
scope
.
searchKey
.
toLocaleLowerCase
();
scope
.
sourceApps
.
forEach
(
function
(
app
)
{
if
(
app
.
name
.
toLocaleLowerCase
().
indexOf
(
searchKey
)
>
-
1
||
app
.
appId
.
toLocaleLowerCase
().
indexOf
(
searchKey
)
>
-
1
)
{
scope
.
copiedApps
.
push
(
app
);
}
},
processResults
:
function
(
data
)
{
if
(
data
&&
data
.
content
)
{
var
hasMore
=
data
.
content
.
length
===
data
.
size
;
var
result
=
[];
data
.
content
.
forEach
(
function
(
app
)
{
result
.
push
({
id
:
app
.
appId
,
text
:
app
.
appId
+
'
/
'
+
app
.
name
})
});
scope
.
shouldShowAppList
=
true
;
return
{
results
:
result
,
pagination
:
{
more
:
hasMore
}
};
scope
.
jumpToConfigPage
=
function
()
{
if
(
selectedApp
.
appId
)
{
if
(
$window
.
location
.
href
.
indexOf
(
"
config.html
"
)
>
-
1
)
{
$window
.
location
.
hash
=
"
appid=
"
+
selectedApp
.
appId
;
$window
.
location
.
reload
();
}
else
{
$window
.
location
.
href
=
'
/config.html?#appid=
'
+
selectedApp
.
appId
;
}
return
{
results
:
[],
pagination
:
{
more
:
false
}
};
//up:38 down:40 enter:13
var
selectedAppIdx
=
-
1
;
element
.
bind
(
"
keydown keypress
"
,
function
(
event
)
{
if
(
event
.
keyCode
==
40
)
{
if
(
selectedAppIdx
<
scope
.
copiedApps
.
length
-
1
)
{
clearAppsSelectedStatus
();
scope
.
copiedApps
[
++
selectedAppIdx
].
selected
=
true
;
}
}
else
if
(
event
.
keyCode
==
38
)
{
if
(
selectedAppIdx
>=
1
)
{
clearAppsSelectedStatus
();
scope
.
copiedApps
[
--
selectedAppIdx
].
selected
=
true
;
}
}
else
if
(
event
.
keyCode
==
13
)
{
if
(
scope
.
shouldShowAppList
&&
selectedAppIdx
>
-
1
)
{
select
(
scope
.
copiedApps
[
selectedAppIdx
]);
event
.
preventDefault
();
}
else
{
scope
.
jumpToConfigPage
();
}
}
//强制刷新
scope
.
$apply
(
function
()
{
scope
.
copiedApps
=
scope
.
copiedApps
;
});
});
$
(
"
.search-input
"
).
on
(
"
click
"
,
function
(
event
)
{
event
.
stopPropagation
();
});
$
(
document
).
on
(
'
click
'
,
function
()
{
scope
.
$apply
(
function
()
{
scope
.
shouldShowAppList
=
false
;
});
}
});
function
clearAppsSelectedStatus
()
{
scope
.
copiedApps
.
forEach
(
function
(
app
)
{
app
.
selected
=
false
;
})
$
(
'
#app-search-list
'
).
on
(
'
select2:select
'
,
function
()
{
var
selected
=
$
(
'
#app-search-list
'
).
select2
(
'
data
'
);
if
(
selected
&&
selected
.
length
)
{
jumpToConfigPage
(
selected
[
0
].
id
)
}
});
function
select
(
app
)
{
selectedApp
=
app
;
scope
.
searchKey
=
app
.
name
;
scope
.
shouldShowAppList
=
false
;
clearAppsSelectedStatus
();
selectedAppIdx
=
-
1
;
function
jumpToConfigPage
(
selectedAppId
)
{
if
(
$window
.
location
.
href
.
indexOf
(
"
config.html
"
)
>
-
1
)
{
$window
.
location
.
hash
=
"
appid=
"
+
selectedAppId
;
$window
.
location
.
reload
();
}
else
{
$window
.
location
.
href
=
'
/config.html?#appid=
'
+
selectedAppId
;
}
};
UserService
.
load_user
().
then
(
function
(
result
)
{
scope
.
userName
=
result
.
userId
;
...
...
apollo-portal/src/main/resources/static/server_config.html
View file @
b4e0a622
...
...
@@ -6,6 +6,7 @@
<!-- styles -->
<link
rel=
"stylesheet"
type=
"text/css"
href=
"vendor/bootstrap/css/bootstrap.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"vendor/angular/angular-toastr-1.4.1.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"
href=
"styles/common-style.css"
>
<title>
应用配置
</title>
...
...
@@ -81,6 +82,7 @@
<!-- jquery.js -->
<script
src=
"vendor/jquery.min.js"
type=
"text/javascript"
></script>
<script
src=
"vendor/select2/select2.min.js"
type=
"text/javascript"
></script>
<!-- bootstrap.js -->
<script
src=
"vendor/bootstrap/js/bootstrap.min.js"
type=
"text/javascript"
></script>
...
...
apollo-portal/src/main/resources/static/styles/common-style.css
View file @
b4e0a622
...
...
@@ -805,3 +805,11 @@ table th {
padding-left
:
30px
;
}
.app-search-list
.select2-container
,
.app-search-list
.select2-container
.select2-selection
{
height
:
34px
;
}
.app-search-list
.select2-container
.select2-selection
.select2-selection__rendered
{
line-height
:
34px
;
font-size
:
14px
;
}
\ No newline at end of file
apollo-portal/src/main/resources/static/vendor/select2/select2.min.css
View file @
b4e0a622
.select2-container
{
box-sizing
:
border-box
;
display
:
inline-block
;
margin
:
0
;
position
:
relative
;
vertical-align
:
middle
}
.select2-container
.select2-selection--single
{
box-sizing
:
border-box
;
cursor
:
pointer
;
display
:
block
;
height
:
28px
;
user-select
:
none
;
-webkit-user-select
:
none
}
.select2-container
.select2-selection--single
.select2-selection__rendered
{
display
:
block
;
padding-left
:
8px
;
padding-right
:
20px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
}
.select2-container
.select2-selection--single
.select2-selection__clear
{
position
:
relative
}
.select2-container
[
dir
=
"rtl"
]
.select2-selection--single
.select2-selection__rendered
{
padding-right
:
8px
;
padding-left
:
20px
}
.select2-container
.select2-selection--multiple
{
box-sizing
:
border-box
;
cursor
:
pointer
;
display
:
block
;
min-height
:
32px
;
user-select
:
none
;
-webkit-user-select
:
none
}
.select2-container
.select2-selection--multiple
.select2-selection__rendered
{
display
:
inline-block
;
overflow
:
hidden
;
padding-left
:
8px
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
}
.select2-container
.select2-search--inline
{
float
:
left
}
.select2-container
.select2-search--inline
.select2-search__field
{
box-sizing
:
border-box
;
border
:
none
;
font-size
:
100%
;
margin-top
:
5px
;
padding
:
0
}
.select2-container
.select2-search--inline
.select2-search__field
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
.select2-dropdown
{
background-color
:
white
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
box-sizing
:
border-box
;
display
:
block
;
position
:
absolute
;
left
:
-100000px
;
width
:
100%
;
z-index
:
1051
}
.select2-results
{
display
:
block
}
.select2-results__options
{
list-style
:
none
;
margin
:
0
;
padding
:
0
}
.select2-results__option
{
padding
:
6px
;
user-select
:
none
;
-webkit-user-select
:
none
}
.select2-results__option
[
aria-selected
]
{
cursor
:
pointer
}
.select2-container--open
.select2-dropdown
{
left
:
0
}
.select2-container--open
.select2-dropdown--above
{
border-bottom
:
none
;
border-bottom-left-radius
:
0
;
border-bottom-right-radius
:
0
}
.select2-container--open
.select2-dropdown--below
{
border-top
:
none
;
border-top-left-radius
:
0
;
border-top-right-radius
:
0
}
.select2-search--dropdown
{
display
:
block
;
padding
:
4px
}
.select2-search--dropdown
.select2-search__field
{
padding
:
4px
;
width
:
100%
;
box-sizing
:
border-box
}
.select2-search--dropdown
.select2-search__field
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
.select2-search--dropdown.select2-search--hide
{
display
:
none
}
.select2-close-mask
{
border
:
0
;
margin
:
0
;
padding
:
0
;
display
:
block
;
position
:
fixed
;
left
:
0
;
top
:
0
;
min-height
:
100%
;
min-width
:
100%
;
height
:
auto
;
width
:
auto
;
opacity
:
0
;
z-index
:
99
;
background-color
:
#fff
;
filter
:
alpha
(
opacity
=
0
)}
.select2-hidden-accessible
{
border
:
0
!important
;
clip
:
rect
(
0
0
0
0
)
!important
;
height
:
1px
!important
;
margin
:
-1px
!important
;
overflow
:
hidden
!important
;
padding
:
0
!important
;
position
:
absolute
!important
;
width
:
1px
!important
}
.select2-container--default
.select2-selection--single
{
background-color
:
#fff
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
}
.select2-container--default
.select2-selection--single
.select2-selection__rendered
{
color
:
#444
;
line-height
:
28px
}
.select2-container--default
.select2-selection--single
.select2-selection__clear
{
cursor
:
pointer
;
float
:
right
;
font-weight
:
bold
}
.select2-container--default
.select2-selection--single
.select2-selection__placeholder
{
color
:
#999
}
.select2-container--default
.select2-selection--single
.select2-selection__arrow
{
height
:
26px
;
position
:
absolute
;
top
:
1px
;
right
:
1px
;
width
:
20px
}
.select2-container--default
.select2-selection--single
.select2-selection__arrow
b
{
border-color
:
#888
transparent
transparent
transparent
;
border-style
:
solid
;
border-width
:
5px
4px
0
4px
;
height
:
0
;
left
:
50%
;
margin-left
:
-4px
;
margin-top
:
-2px
;
position
:
absolute
;
top
:
50%
;
width
:
0
}
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--single
.select2-selection__clear
{
float
:
left
}
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--single
.select2-selection__arrow
{
left
:
1px
;
right
:
auto
}
.select2-container--default.select2-container--disabled
.select2-selection--single
{
background-color
:
#eee
;
cursor
:
default
}
.select2-container--default.select2-container--disabled
.select2-selection--single
.select2-selection__clear
{
display
:
none
}
.select2-container--default.select2-container--open
.select2-selection--single
.select2-selection__arrow
b
{
border-color
:
transparent
transparent
#888
transparent
;
border-width
:
0
4px
5px
4px
}
.select2-container--default
.select2-selection--multiple
{
background-color
:
white
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
cursor
:
text
}
.select2-container--default
.select2-selection--multiple
.select2-selection__rendered
{
box-sizing
:
border-box
;
list-style
:
none
;
margin
:
0
;
padding
:
0
5px
;
width
:
100%
}
.select2-container--default
.select2-selection--multiple
.select2-selection__placeholder
{
color
:
#999
;
margin-top
:
5px
;
float
:
left
}
.select2-container--default
.select2-selection--multiple
.select2-selection__clear
{
cursor
:
pointer
;
float
:
right
;
font-weight
:
bold
;
margin-top
:
5px
;
margin-right
:
10px
}
.select2-container--default
.select2-selection--multiple
.select2-selection__choice
{
background-color
:
#e4e4e4
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
cursor
:
default
;
float
:
left
;
margin-right
:
5px
;
margin-top
:
5px
;
padding
:
0
5px
}
.select2-container--default
.select2-selection--multiple
.select2-selection__choice__remove
{
color
:
#999
;
cursor
:
pointer
;
display
:
inline-block
;
font-weight
:
bold
;
margin-right
:
2px
}
.select2-container--default
.select2-selection--multiple
.select2-selection__choice__remove
:hover
{
color
:
#333
}
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice
,
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__placeholder
,
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-search--inline
{
float
:
right
}
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice
{
margin-left
:
5px
;
margin-right
:
auto
}
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice__remove
{
margin-left
:
2px
;
margin-right
:
auto
}
.select2-container--default.select2-container--focus
.select2-selection--multiple
{
border
:
solid
black
1px
;
outline
:
0
}
.select2-container--default.select2-container--disabled
.select2-selection--multiple
{
background-color
:
#eee
;
cursor
:
default
}
.select2-container--default.select2-container--disabled
.select2-selection__choice__remove
{
display
:
none
}
.select2-container--default.select2-container--open.select2-container--above
.select2-selection--single
,
.select2-container--default.select2-container--open.select2-container--above
.select2-selection--multiple
{
border-top-left-radius
:
0
;
border-top-right-radius
:
0
}
.select2-container--default.select2-container--open.select2-container--below
.select2-selection--single
,
.select2-container--default.select2-container--open.select2-container--below
.select2-selection--multiple
{
border-bottom-left-radius
:
0
;
border-bottom-right-radius
:
0
}
.select2-container--default
.select2-search--dropdown
.select2-search__field
{
border
:
1px
solid
#aaa
}
.select2-container--default
.select2-search--inline
.select2-search__field
{
background
:
transparent
;
border
:
none
;
outline
:
0
;
box-shadow
:
none
;
-webkit-appearance
:
textfield
}
.select2-container--default
.select2-results
>
.select2-results__options
{
max-height
:
200px
;
overflow-y
:
auto
}
.select2-container--default
.select2-results__option
[
role
=
group
]
{
padding
:
0
}
.select2-container--default
.select2-results__option
[
aria-disabled
=
true
]
{
color
:
#999
}
.select2-container--default
.select2-results__option
[
aria-selected
=
true
]
{
background-color
:
#ddd
}
.select2-container--default
.select2-results__option
.select2-results__option
{
padding-left
:
1em
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__group
{
padding-left
:
0
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
{
margin-left
:
-1em
;
padding-left
:
2em
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
{
margin-left
:
-2em
;
padding-left
:
3em
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
{
margin-left
:
-3em
;
padding-left
:
4em
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
{
margin-left
:
-4em
;
padding-left
:
5em
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
{
margin-left
:
-5em
;
padding-left
:
6em
}
.select2-container--default
.select2-results__option--highlighted
[
aria-selected
]
{
background-color
:
#5897fb
;
color
:
white
}
.select2-container--default
.select2-results__group
{
cursor
:
default
;
display
:
block
;
padding
:
6px
}
.select2-container--classic
.select2-selection--single
{
background-color
:
#f7f7f7
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
outline
:
0
;
background-image
:
-webkit-linear-gradient
(
top
,
#fff
50%
,
#eee
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fff
50%
,
#eee
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#fff
50%
,
#eee
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#FFFFFFFF'
,
endColorstr
=
'#FFEEEEEE'
,
GradientType
=
0
)}
.select2-container--classic
.select2-selection--single
:focus
{
border
:
1px
solid
#5897fb
}
.select2-container--classic
.select2-selection--single
.select2-selection__rendered
{
color
:
#444
;
line-height
:
28px
}
.select2-container--classic
.select2-selection--single
.select2-selection__clear
{
cursor
:
pointer
;
float
:
right
;
font-weight
:
bold
;
margin-right
:
10px
}
.select2-container--classic
.select2-selection--single
.select2-selection__placeholder
{
color
:
#999
}
.select2-container--classic
.select2-selection--single
.select2-selection__arrow
{
background-color
:
#ddd
;
border
:
none
;
border-left
:
1px
solid
#aaa
;
border-top-right-radius
:
4px
;
border-bottom-right-radius
:
4px
;
height
:
26px
;
position
:
absolute
;
top
:
1px
;
right
:
1px
;
width
:
20px
;
background-image
:
-webkit-linear-gradient
(
top
,
#eee
50%
,
#ccc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#eee
50%
,
#ccc
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#eee
50%
,
#ccc
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#FFEEEEEE'
,
endColorstr
=
'#FFCCCCCC'
,
GradientType
=
0
)}
.select2-container--classic
.select2-selection--single
.select2-selection__arrow
b
{
border-color
:
#888
transparent
transparent
transparent
;
border-style
:
solid
;
border-width
:
5px
4px
0
4px
;
height
:
0
;
left
:
50%
;
margin-left
:
-4px
;
margin-top
:
-2px
;
position
:
absolute
;
top
:
50%
;
width
:
0
}
.select2-container--classic
[
dir
=
"rtl"
]
.select2-selection--single
.select2-selection__clear
{
float
:
left
}
.select2-container--classic
[
dir
=
"rtl"
]
.select2-selection--single
.select2-selection__arrow
{
border
:
none
;
border-right
:
1px
solid
#aaa
;
border-radius
:
0
;
border-top-left-radius
:
4px
;
border-bottom-left-radius
:
4px
;
left
:
1px
;
right
:
auto
}
.select2-container--classic.select2-container--open
.select2-selection--single
{
border
:
1px
solid
#5897fb
}
.select2-container--classic.select2-container--open
.select2-selection--single
.select2-selection__arrow
{
background
:
transparent
;
border
:
none
}
.select2-container--classic.select2-container--open
.select2-selection--single
.select2-selection__arrow
b
{
border-color
:
transparent
transparent
#888
transparent
;
border-width
:
0
4px
5px
4px
}
.select2-container--classic.select2-container--open.select2-container--above
.select2-selection--single
{
border-top
:
none
;
border-top-left-radius
:
0
;
border-top-right-radius
:
0
;
background-image
:
-webkit-linear-gradient
(
top
,
#fff
0%
,
#eee
50%
);
background-image
:
-o-linear-gradient
(
top
,
#fff
0%
,
#eee
50%
);
background-image
:
linear-gradient
(
to
bottom
,
#fff
0%
,
#eee
50%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#FFFFFFFF'
,
endColorstr
=
'#FFEEEEEE'
,
GradientType
=
0
)}
.select2-container--classic.select2-container--open.select2-container--below
.select2-selection--single
{
border-bottom
:
none
;
border-bottom-left-radius
:
0
;
border-bottom-right-radius
:
0
;
background-image
:
-webkit-linear-gradient
(
top
,
#eee
50%
,
#fff
100%
);
background-image
:
-o-linear-gradient
(
top
,
#eee
50%
,
#fff
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#eee
50%
,
#fff
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#FFEEEEEE'
,
endColorstr
=
'#FFFFFFFF'
,
GradientType
=
0
)}
.select2-container--classic
.select2-selection--multiple
{
background-color
:
white
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
cursor
:
text
;
outline
:
0
}
.select2-container--classic
.select2-selection--multiple
:focus
{
border
:
1px
solid
#5897fb
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__rendered
{
list-style
:
none
;
margin
:
0
;
padding
:
0
5px
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__clear
{
display
:
none
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__choice
{
background-color
:
#e4e4e4
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
cursor
:
default
;
float
:
left
;
margin-right
:
5px
;
margin-top
:
5px
;
padding
:
0
5px
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__choice__remove
{
color
:
#888
;
cursor
:
pointer
;
display
:
inline-block
;
font-weight
:
bold
;
margin-right
:
2px
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__choice__remove
:hover
{
color
:
#555
}
.select2-container--classic
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice
{
float
:
right
}
.select2-container--classic
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice
{
margin-left
:
5px
;
margin-right
:
auto
}
.select2-container--classic
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice__remove
{
margin-left
:
2px
;
margin-right
:
auto
}
.select2-container--classic.select2-container--open
.select2-selection--multiple
{
border
:
1px
solid
#5897fb
}
.select2-container--classic.select2-container--open.select2-container--above
.select2-selection--multiple
{
border-top
:
none
;
border-top-left-radius
:
0
;
border-top-right-radius
:
0
}
.select2-container--classic.select2-container--open.select2-container--below
.select2-selection--multiple
{
border-bottom
:
none
;
border-bottom-left-radius
:
0
;
border-bottom-right-radius
:
0
}
.select2-container--classic
.select2-search--dropdown
.select2-search__field
{
border
:
1px
solid
#aaa
;
outline
:
0
}
.select2-container--classic
.select2-search--inline
.select2-search__field
{
outline
:
0
;
box-shadow
:
none
}
.select2-container--classic
.select2-dropdown
{
background-color
:
#fff
;
border
:
1px
solid
transparent
}
.select2-container--classic
.select2-dropdown--above
{
border-bottom
:
none
}
.select2-container--classic
.select2-dropdown--below
{
border-top
:
none
}
.select2-container--classic
.select2-results
>
.select2-results__options
{
max-height
:
200px
;
overflow-y
:
auto
}
.select2-container--classic
.select2-results__option
[
role
=
group
]
{
padding
:
0
}
.select2-container--classic
.select2-results__option
[
aria-disabled
=
true
]
{
color
:
grey
}
.select2-container--classic
.select2-results__option--highlighted
[
aria-selected
]
{
background-color
:
#3875d7
;
color
:
#fff
}
.select2-container--classic
.select2-results__group
{
cursor
:
default
;
display
:
block
;
padding
:
6px
}
.select2-container--classic.select2-container--open
.select2-dropdown
{
border-color
:
#5897fb
}
.select2-container
{
box-sizing
:
border-box
;
display
:
inline-block
;
margin
:
0
;
position
:
relative
;
vertical-align
:
middle
}
.select2-container
.select2-selection--single
{
box-sizing
:
border-box
;
cursor
:
pointer
;
display
:
block
;
height
:
28px
;
user-select
:
none
;
-webkit-user-select
:
none
}
.select2-container
.select2-selection--single
.select2-selection__rendered
{
display
:
block
;
padding-left
:
8px
;
padding-right
:
20px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
}
.select2-container
.select2-selection--single
.select2-selection__clear
{
position
:
relative
}
.select2-container
[
dir
=
"rtl"
]
.select2-selection--single
.select2-selection__rendered
{
padding-right
:
8px
;
padding-left
:
20px
}
.select2-container
.select2-selection--multiple
{
box-sizing
:
border-box
;
cursor
:
pointer
;
display
:
block
;
min-height
:
32px
;
user-select
:
none
;
-webkit-user-select
:
none
}
.select2-container
.select2-selection--multiple
.select2-selection__rendered
{
display
:
inline-block
;
overflow
:
hidden
;
padding-left
:
8px
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
}
.select2-container
.select2-search--inline
{
float
:
left
}
.select2-container
.select2-search--inline
.select2-search__field
{
box-sizing
:
border-box
;
border
:
none
;
font-size
:
100%
;
margin-top
:
5px
;
padding
:
0
}
.select2-container
.select2-search--inline
.select2-search__field
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
.select2-dropdown
{
background-color
:
white
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
box-sizing
:
border-box
;
display
:
block
;
position
:
absolute
;
left
:
-100000px
;
width
:
100%
;
z-index
:
1051
}
.select2-results
{
display
:
block
}
.select2-results__options
{
list-style
:
none
;
margin
:
0
;
padding
:
0
}
.select2-results__option
{
padding
:
6px
;
user-select
:
none
;
-webkit-user-select
:
none
}
.select2-results__option
[
aria-selected
]
{
cursor
:
pointer
}
.select2-container--open
.select2-dropdown
{
left
:
0
}
.select2-container--open
.select2-dropdown--above
{
border-bottom
:
none
;
border-bottom-left-radius
:
0
;
border-bottom-right-radius
:
0
}
.select2-container--open
.select2-dropdown--below
{
border-top
:
none
;
border-top-left-radius
:
0
;
border-top-right-radius
:
0
}
.select2-search--dropdown
{
display
:
block
;
padding
:
4px
}
.select2-search--dropdown
.select2-search__field
{
padding
:
4px
;
width
:
100%
;
box-sizing
:
border-box
}
.select2-search--dropdown
.select2-search__field
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
.select2-search--dropdown.select2-search--hide
{
display
:
none
}
.select2-close-mask
{
border
:
0
;
margin
:
0
;
padding
:
0
;
display
:
block
;
position
:
fixed
;
left
:
0
;
top
:
0
;
min-height
:
100%
;
min-width
:
100%
;
height
:
auto
;
width
:
auto
;
opacity
:
0
;
z-index
:
99
;
background-color
:
#fff
;
filter
:
alpha
(
opacity
=
0
)}
.select2-hidden-accessible
{
border
:
0
!important
;
clip
:
rect
(
0
0
0
0
)
!important
;
-webkit-clip-path
:
inset
(
50%
)
!important
;
clip-path
:
inset
(
50%
)
!important
;
height
:
1px
!important
;
overflow
:
hidden
!important
;
padding
:
0
!important
;
position
:
absolute
!important
;
width
:
1px
!important
;
white-space
:
nowrap
!important
}
.select2-container--default
.select2-selection--single
{
background-color
:
#fff
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
}
.select2-container--default
.select2-selection--single
.select2-selection__rendered
{
color
:
#444
;
line-height
:
28px
}
.select2-container--default
.select2-selection--single
.select2-selection__clear
{
cursor
:
pointer
;
float
:
right
;
font-weight
:
bold
}
.select2-container--default
.select2-selection--single
.select2-selection__placeholder
{
color
:
#999
}
.select2-container--default
.select2-selection--single
.select2-selection__arrow
{
height
:
26px
;
position
:
absolute
;
top
:
1px
;
right
:
1px
;
width
:
20px
}
.select2-container--default
.select2-selection--single
.select2-selection__arrow
b
{
border-color
:
#888
transparent
transparent
transparent
;
border-style
:
solid
;
border-width
:
5px
4px
0
4px
;
height
:
0
;
left
:
50%
;
margin-left
:
-4px
;
margin-top
:
-2px
;
position
:
absolute
;
top
:
50%
;
width
:
0
}
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--single
.select2-selection__clear
{
float
:
left
}
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--single
.select2-selection__arrow
{
left
:
1px
;
right
:
auto
}
.select2-container--default.select2-container--disabled
.select2-selection--single
{
background-color
:
#eee
;
cursor
:
default
}
.select2-container--default.select2-container--disabled
.select2-selection--single
.select2-selection__clear
{
display
:
none
}
.select2-container--default.select2-container--open
.select2-selection--single
.select2-selection__arrow
b
{
border-color
:
transparent
transparent
#888
transparent
;
border-width
:
0
4px
5px
4px
}
.select2-container--default
.select2-selection--multiple
{
background-color
:
white
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
cursor
:
text
}
.select2-container--default
.select2-selection--multiple
.select2-selection__rendered
{
box-sizing
:
border-box
;
list-style
:
none
;
margin
:
0
;
padding
:
0
5px
;
width
:
100%
}
.select2-container--default
.select2-selection--multiple
.select2-selection__rendered
li
{
list-style
:
none
}
.select2-container--default
.select2-selection--multiple
.select2-selection__placeholder
{
color
:
#999
;
margin-top
:
5px
;
float
:
left
}
.select2-container--default
.select2-selection--multiple
.select2-selection__clear
{
cursor
:
pointer
;
float
:
right
;
font-weight
:
bold
;
margin-top
:
5px
;
margin-right
:
10px
}
.select2-container--default
.select2-selection--multiple
.select2-selection__choice
{
background-color
:
#e4e4e4
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
cursor
:
default
;
float
:
left
;
margin-right
:
5px
;
margin-top
:
5px
;
padding
:
0
5px
}
.select2-container--default
.select2-selection--multiple
.select2-selection__choice__remove
{
color
:
#999
;
cursor
:
pointer
;
display
:
inline-block
;
font-weight
:
bold
;
margin-right
:
2px
}
.select2-container--default
.select2-selection--multiple
.select2-selection__choice__remove
:hover
{
color
:
#333
}
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice
,
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__placeholder
,
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-search--inline
{
float
:
right
}
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice
{
margin-left
:
5px
;
margin-right
:
auto
}
.select2-container--default
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice__remove
{
margin-left
:
2px
;
margin-right
:
auto
}
.select2-container--default.select2-container--focus
.select2-selection--multiple
{
border
:
solid
black
1px
;
outline
:
0
}
.select2-container--default.select2-container--disabled
.select2-selection--multiple
{
background-color
:
#eee
;
cursor
:
default
}
.select2-container--default.select2-container--disabled
.select2-selection__choice__remove
{
display
:
none
}
.select2-container--default.select2-container--open.select2-container--above
.select2-selection--single
,
.select2-container--default.select2-container--open.select2-container--above
.select2-selection--multiple
{
border-top-left-radius
:
0
;
border-top-right-radius
:
0
}
.select2-container--default.select2-container--open.select2-container--below
.select2-selection--single
,
.select2-container--default.select2-container--open.select2-container--below
.select2-selection--multiple
{
border-bottom-left-radius
:
0
;
border-bottom-right-radius
:
0
}
.select2-container--default
.select2-search--dropdown
.select2-search__field
{
border
:
1px
solid
#aaa
}
.select2-container--default
.select2-search--inline
.select2-search__field
{
background
:
transparent
;
border
:
none
;
outline
:
0
;
box-shadow
:
none
;
-webkit-appearance
:
textfield
}
.select2-container--default
.select2-results
>
.select2-results__options
{
max-height
:
200px
;
overflow-y
:
auto
}
.select2-container--default
.select2-results__option
[
role
=
group
]
{
padding
:
0
}
.select2-container--default
.select2-results__option
[
aria-disabled
=
true
]
{
color
:
#999
}
.select2-container--default
.select2-results__option
[
aria-selected
=
true
]
{
background-color
:
#ddd
}
.select2-container--default
.select2-results__option
.select2-results__option
{
padding-left
:
1em
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__group
{
padding-left
:
0
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
{
margin-left
:
-1em
;
padding-left
:
2em
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
{
margin-left
:
-2em
;
padding-left
:
3em
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
{
margin-left
:
-3em
;
padding-left
:
4em
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
{
margin-left
:
-4em
;
padding-left
:
5em
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
{
margin-left
:
-5em
;
padding-left
:
6em
}
.select2-container--default
.select2-results__option--highlighted
[
aria-selected
]
{
background-color
:
#5897fb
;
color
:
white
}
.select2-container--default
.select2-results__group
{
cursor
:
default
;
display
:
block
;
padding
:
6px
}
.select2-container--classic
.select2-selection--single
{
background-color
:
#f7f7f7
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
outline
:
0
;
background-image
:
-webkit-linear-gradient
(
top
,
#fff
50%
,
#eee
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fff
50%
,
#eee
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#fff
50%
,
#eee
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#FFFFFFFF'
,
endColorstr
=
'#FFEEEEEE'
,
GradientType
=
0
)}
.select2-container--classic
.select2-selection--single
:focus
{
border
:
1px
solid
#5897fb
}
.select2-container--classic
.select2-selection--single
.select2-selection__rendered
{
color
:
#444
;
line-height
:
28px
}
.select2-container--classic
.select2-selection--single
.select2-selection__clear
{
cursor
:
pointer
;
float
:
right
;
font-weight
:
bold
;
margin-right
:
10px
}
.select2-container--classic
.select2-selection--single
.select2-selection__placeholder
{
color
:
#999
}
.select2-container--classic
.select2-selection--single
.select2-selection__arrow
{
background-color
:
#ddd
;
border
:
none
;
border-left
:
1px
solid
#aaa
;
border-top-right-radius
:
4px
;
border-bottom-right-radius
:
4px
;
height
:
26px
;
position
:
absolute
;
top
:
1px
;
right
:
1px
;
width
:
20px
;
background-image
:
-webkit-linear-gradient
(
top
,
#eee
50%
,
#ccc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#eee
50%
,
#ccc
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#eee
50%
,
#ccc
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#FFEEEEEE'
,
endColorstr
=
'#FFCCCCCC'
,
GradientType
=
0
)}
.select2-container--classic
.select2-selection--single
.select2-selection__arrow
b
{
border-color
:
#888
transparent
transparent
transparent
;
border-style
:
solid
;
border-width
:
5px
4px
0
4px
;
height
:
0
;
left
:
50%
;
margin-left
:
-4px
;
margin-top
:
-2px
;
position
:
absolute
;
top
:
50%
;
width
:
0
}
.select2-container--classic
[
dir
=
"rtl"
]
.select2-selection--single
.select2-selection__clear
{
float
:
left
}
.select2-container--classic
[
dir
=
"rtl"
]
.select2-selection--single
.select2-selection__arrow
{
border
:
none
;
border-right
:
1px
solid
#aaa
;
border-radius
:
0
;
border-top-left-radius
:
4px
;
border-bottom-left-radius
:
4px
;
left
:
1px
;
right
:
auto
}
.select2-container--classic.select2-container--open
.select2-selection--single
{
border
:
1px
solid
#5897fb
}
.select2-container--classic.select2-container--open
.select2-selection--single
.select2-selection__arrow
{
background
:
transparent
;
border
:
none
}
.select2-container--classic.select2-container--open
.select2-selection--single
.select2-selection__arrow
b
{
border-color
:
transparent
transparent
#888
transparent
;
border-width
:
0
4px
5px
4px
}
.select2-container--classic.select2-container--open.select2-container--above
.select2-selection--single
{
border-top
:
none
;
border-top-left-radius
:
0
;
border-top-right-radius
:
0
;
background-image
:
-webkit-linear-gradient
(
top
,
#fff
0%
,
#eee
50%
);
background-image
:
-o-linear-gradient
(
top
,
#fff
0%
,
#eee
50%
);
background-image
:
linear-gradient
(
to
bottom
,
#fff
0%
,
#eee
50%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#FFFFFFFF'
,
endColorstr
=
'#FFEEEEEE'
,
GradientType
=
0
)}
.select2-container--classic.select2-container--open.select2-container--below
.select2-selection--single
{
border-bottom
:
none
;
border-bottom-left-radius
:
0
;
border-bottom-right-radius
:
0
;
background-image
:
-webkit-linear-gradient
(
top
,
#eee
50%
,
#fff
100%
);
background-image
:
-o-linear-gradient
(
top
,
#eee
50%
,
#fff
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#eee
50%
,
#fff
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#FFEEEEEE'
,
endColorstr
=
'#FFFFFFFF'
,
GradientType
=
0
)}
.select2-container--classic
.select2-selection--multiple
{
background-color
:
white
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
cursor
:
text
;
outline
:
0
}
.select2-container--classic
.select2-selection--multiple
:focus
{
border
:
1px
solid
#5897fb
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__rendered
{
list-style
:
none
;
margin
:
0
;
padding
:
0
5px
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__clear
{
display
:
none
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__choice
{
background-color
:
#e4e4e4
;
border
:
1px
solid
#aaa
;
border-radius
:
4px
;
cursor
:
default
;
float
:
left
;
margin-right
:
5px
;
margin-top
:
5px
;
padding
:
0
5px
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__choice__remove
{
color
:
#888
;
cursor
:
pointer
;
display
:
inline-block
;
font-weight
:
bold
;
margin-right
:
2px
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__choice__remove
:hover
{
color
:
#555
}
.select2-container--classic
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice
{
float
:
right
;
margin-left
:
5px
;
margin-right
:
auto
}
.select2-container--classic
[
dir
=
"rtl"
]
.select2-selection--multiple
.select2-selection__choice__remove
{
margin-left
:
2px
;
margin-right
:
auto
}
.select2-container--classic.select2-container--open
.select2-selection--multiple
{
border
:
1px
solid
#5897fb
}
.select2-container--classic.select2-container--open.select2-container--above
.select2-selection--multiple
{
border-top
:
none
;
border-top-left-radius
:
0
;
border-top-right-radius
:
0
}
.select2-container--classic.select2-container--open.select2-container--below
.select2-selection--multiple
{
border-bottom
:
none
;
border-bottom-left-radius
:
0
;
border-bottom-right-radius
:
0
}
.select2-container--classic
.select2-search--dropdown
.select2-search__field
{
border
:
1px
solid
#aaa
;
outline
:
0
}
.select2-container--classic
.select2-search--inline
.select2-search__field
{
outline
:
0
;
box-shadow
:
none
}
.select2-container--classic
.select2-dropdown
{
background-color
:
#fff
;
border
:
1px
solid
transparent
}
.select2-container--classic
.select2-dropdown--above
{
border-bottom
:
none
}
.select2-container--classic
.select2-dropdown--below
{
border-top
:
none
}
.select2-container--classic
.select2-results
>
.select2-results__options
{
max-height
:
200px
;
overflow-y
:
auto
}
.select2-container--classic
.select2-results__option
[
role
=
group
]
{
padding
:
0
}
.select2-container--classic
.select2-results__option
[
aria-disabled
=
true
]
{
color
:
grey
}
.select2-container--classic
.select2-results__option--highlighted
[
aria-selected
]
{
background-color
:
#3875d7
;
color
:
#fff
}
.select2-container--classic
.select2-results__group
{
cursor
:
default
;
display
:
block
;
padding
:
6px
}
.select2-container--classic.select2-container--open
.select2-dropdown
{
border-color
:
#5897fb
}
apollo-portal/src/main/resources/static/vendor/select2/select2.min.js
View file @
b4e0a622
This source diff could not be displayed because it is too large. You can
view the blob
instead.
apollo-portal/src/main/resources/static/views/common/nav.html
View file @
b4e0a622
...
...
@@ -49,19 +49,10 @@
</ul>
<div
class=
"navbar-form navbar-right form-inline"
role=
"search"
>
<div
class=
"form-group"
>
<input
type=
"text"
class=
"form-control search-input"
placeholder=
"搜索项目(AppId、项目名)"
style=
"width: 350px"
ng-model=
"searchKey"
ng-change=
"changeSearchKey()"
ng-focus=
"changeSearchKey()"
>
<div
class=
"row app-list"
ng-show=
"shouldShowAppList"
>
<div
ng-repeat=
"app in copiedApps"
class=
"app-item"
ng-class=
"{'app-selected':app.selected}"
ng-click=
"selectApp(app)"
>
{{app.appId}} / {{app.name}}
</div>
<div
class=
"form-group app-search-list"
>
<select
id=
"app-search-list"
style=
"width: 350px"
></select>
</div>
</div>
</div>
</div>
</div>
</nav>
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