126 changes: 63 additions & 63 deletions geonode/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -1316,73 +1316,73 @@
if GEONODE_CLIENT_LAYER_PREVIEW_LIBRARY == 'leaflet':
GEONODE_CLIENT_HOOKSET = os.getenv('GEONODE_CLIENT_HOOKSET', 'geonode.client.hooksets.LeafletHookSet')

LEAFLET_CONFIG = {
'TILES': [
# Find tiles at:
# http://leaflet-extras.github.io/leaflet-providers/preview/

# Stamen toner lite.
('Watercolor',
'http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.png',
'Map tiles by <a href="http://stamen.com">Stamen Design</a>, \
<a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> \
&mdash; Map data &copy; \
<a href="http://openstreetmap.org">OpenStreetMap</a> contributors, \
<a href="http://creativecommons.org/licenses/by-sa/2.0/"> \
CC-BY-SA</a>'),
('Toner Lite',
'http://{s}.tile.stamen.com/toner-lite/{z}/{x}/{y}.png',
'Map tiles by <a href="http://stamen.com">Stamen Design</a>, \
<a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> \
&mdash; Map data &copy; \
<a href="http://openstreetmap.org">OpenStreetMap</a> contributors, \
<a href="http://creativecommons.org/licenses/by-sa/2.0/"> \
CC-BY-SA</a>'),
],
'PLUGINS': {
'esri-leaflet': {
'js': 'lib/js/esri-leaflet.js',
'auto-include': True,
},
'leaflet-fullscreen': {
'css': 'lib/css/leaflet.fullscreen.css',
'js': 'lib/js/Leaflet.fullscreen.min.js',
'auto-include': True,
},
'leaflet-opacity': {
'css': 'lib/css/Control.Opacity.css',
'js': 'lib/js/Control.Opacity.js',
'auto-include': True,
},
'leaflet-navbar': {
'css': 'lib/css/Leaflet.NavBar.css',
'js': 'lib/js/Leaflet.NavBar.js',
'auto-include': True,
},
'leaflet-measure': {
'css': 'lib/css/leaflet-measure.css',
'js': 'lib/js/leaflet-measure.js',
'auto-include': True,
},
},
'SRID': 3857,
'RESET_VIEW': False
}

if not DEBUG_STATIC:
# if not DEBUG_STATIC, use minified css and js
LEAFLET_CONFIG['PLUGINS'] = {
'leaflet-plugins': {
'js': 'lib/js/leaflet-plugins.min.js',
'css': 'lib/css/leaflet-plugins.min.css',
'auto-include': True,
}
}

CORS_ORIGIN_WHITELIST = (
HOSTNAME
)

LEAFLET_CONFIG = {
'TILES': [
# Find tiles at:
# http://leaflet-extras.github.io/leaflet-providers/preview/

# Stamen toner lite.
('Watercolor',
'http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.png',
'Map tiles by <a href="http://stamen.com">Stamen Design</a>, \
<a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> \
&mdash; Map data &copy; \
<a href="http://openstreetmap.org">OpenStreetMap</a> contributors, \
<a href="http://creativecommons.org/licenses/by-sa/2.0/"> \
CC-BY-SA</a>'),
('Toner Lite',
'http://{s}.tile.stamen.com/toner-lite/{z}/{x}/{y}.png',
'Map tiles by <a href="http://stamen.com">Stamen Design</a>, \
<a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> \
&mdash; Map data &copy; \
<a href="http://openstreetmap.org">OpenStreetMap</a> contributors, \
<a href="http://creativecommons.org/licenses/by-sa/2.0/"> \
CC-BY-SA</a>'),
],
'PLUGINS': {
'esri-leaflet': {
'js': 'lib/js/esri-leaflet.js',
'auto-include': True,
},
'leaflet-fullscreen': {
'css': 'lib/css/leaflet.fullscreen.css',
'js': 'lib/js/Leaflet.fullscreen.min.js',
'auto-include': True,
},
'leaflet-opacity': {
'css': 'lib/css/Control.Opacity.css',
'js': 'lib/js/Control.Opacity.js',
'auto-include': True,
},
'leaflet-navbar': {
'css': 'lib/css/Leaflet.NavBar.css',
'js': 'lib/js/Leaflet.NavBar.js',
'auto-include': True,
},
'leaflet-measure': {
'css': 'lib/css/leaflet-measure.css',
'js': 'lib/js/leaflet-measure.js',
'auto-include': True,
},
},
'SRID': 3857,
'RESET_VIEW': False
}

if not DEBUG_STATIC:
# if not DEBUG_STATIC, use minified css and js
LEAFLET_CONFIG['PLUGINS'] = {
'leaflet-plugins': {
'js': 'lib/js/leaflet-plugins.min.js',
'css': 'lib/css/leaflet-plugins.min.css',
'auto-include': True,
}
}

"""
To enable the MapStore2 REACT based Client:
1. pip install pip install django-geonode-mapstore-client==1.0
Expand Down
3 changes: 0 additions & 3 deletions geonode/static/.bowerrc

This file was deleted.

20 changes: 20 additions & 0 deletions geonode/static/bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "geonode-assets",
"description": "Builds static (JS, CSS, IMG) assets for GeoNode 2.0",
"main": "gruntfile.js",
"authors": [
"afabiani <alessio.fabiani@geo-solutions.it>"
],
"license": "GPL2",
"homepage": "https://github.com/GeoNode/geonode",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"bootstrap3-wysihtml5-bower": "bootstrap3-wysiwyg#^0.3.3"
}
}
8 changes: 5 additions & 3 deletions geonode/static/geonode/js/search/cart.js
Original file line number Diff line number Diff line change
Expand Up @@ -101,12 +101,14 @@
if(key !== 'csrftoken') {
try {
var obj = JSON.parse(geonodeCart[key]);
obj['$$hashKey'] = "object:" + index;
if('alternate' in obj) {
if (!Number.isInteger(obj)) {
obj.$$hashKey = "object:" + index;
if ('alternate' in obj) {
cartSession.push(obj);
}
}
} catch(err) {
console.log("Cart Session Issue: " + err.message);
// console.log("Cart Session Issue: " + err.message);
}
}
});
Expand Down
1 change: 0 additions & 1 deletion geonode/static/geonode/js/search/explore.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
$(function() {
// $(".datepicker").datetimepicker({autoclose:true});
$("#slide-pane a.toggle-pane").click(function(e) {
e.preventDefault();
var span$ = $("#slide-pane").parents(".col-md-3");
Expand Down
236 changes: 151 additions & 85 deletions geonode/static/geonode/js/search/search.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,51 +32,76 @@
if ($location.search().hasOwnProperty('title__icontains')){
params['title__icontains'] = $location.search()['title__icontains'];
}
$http.get(CATEGORIES_ENDPOINT, {params: params}).success(function(data){
if($location.search().hasOwnProperty('category__identifier__in')){
data.objects = module.set_initial_filters_from_query(data.objects,
$location.search()['category__identifier__in'], 'identifier');
}
$rootScope.categories = data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
});
$http.get(CATEGORIES_ENDPOINT, {params: params}).then(successCallback, errorCallback);

function successCallback(data) {
//success code
if($location.search().hasOwnProperty('category__identifier__in')){
data.data.objects = module.set_initial_filters_from_query(data.data.objects,
$location.search()['category__identifier__in'], 'identifier');
}
$rootScope.categories = data.data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
};

function errorCallback(error) {
//error code
};
}

// Load group categories
module.load_group_categories = function ($http, $rootScope, $location){
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
$http.get(GROUP_CATEGORIES_ENDPOINT, {params: params}).success(function(data){
$rootScope.groupCategories = data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
});
$http.get(GROUP_CATEGORIES_ENDPOINT, {params: params}).then(successCallback, errorCallback);

function successCallback(data) {
//success code
$rootScope.groupCategories = data.data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
};

function errorCallback(error) {
//error code
};
}

module.load_keywords = function ($http, $rootScope, $location){
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
if ($location.search().hasOwnProperty('title__icontains')){
params['title__icontains'] = $location.search()['title__icontains'];
}
$http.get(KEYWORDS_ENDPOINT, {params: params}).success(function(data){
if($location.search().hasOwnProperty('keywords__slug__in')){
data.objects = module.set_initial_filters_from_query(data.objects,
$location.search()['keywords__slug__in'], 'slug');
}
$rootScope.keywords = data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
});
$http.get(KEYWORDS_ENDPOINT, {params: params}).then(successCallback, errorCallback);

function successCallback(data) {
//success code
debugger;
if($location.search().hasOwnProperty('keywords__slug__in')){
data.data.objects = module.set_initial_filters_from_query(data.data.objects,
$location.search()['keywords__slug__in'], 'slug');
}
$rootScope.keywords = data.data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
};

function errorCallback(error) {
//error code
};
}

module.load_h_keywords = function($http, $rootScope, $location){
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
$http.get(H_KEYWORDS_ENDPOINT, {params: params}).success(function(data){
$http.get(H_KEYWORDS_ENDPOINT, {params: params}).then(successCallback, errorCallback);

function successCallback(data) {
//success code
$('#treeview').treeview({
data: data,
data: data.data,
multiSelect: true,
onNodeSelected: function($event, node) {
$rootScope.$broadcast('select_h_keyword', node);
Expand All @@ -96,66 +121,100 @@
}
}
});
});
};

function errorCallback(error) {
//error code
};
};

module.load_t_keywords = function ($http, $rootScope, $location){
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
if ($location.search().hasOwnProperty('title__icontains')){
params['title__icontains'] = $location.search()['title__icontains'];
}
$http.get(T_KEYWORDS_ENDPOINT, {params: params}).success(function(data){
if($location.search().hasOwnProperty('tkeywords__id__in')){
data.objects = module.set_initial_filters_from_query(data.objects,
$location.search()['tkeywords__id__in'], 'id');
}
$rootScope.tkeywords = data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
});
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
if ($location.search().hasOwnProperty('title__icontains')){
params['title__icontains'] = $location.search()['title__icontains'];
}
$http.get(T_KEYWORDS_ENDPOINT, {params: params}).then(successCallback, errorCallback);

function successCallback(data) {
//success code
if($location.search().hasOwnProperty('tkeywords__id__in')){
data.data.objects = module.set_initial_filters_from_query(data.data.objects,
$location.search()['tkeywords__id__in'], 'id');
}
$rootScope.tkeywords = data.data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
};

function errorCallback(error) {
//error code
};
}

module.load_regions = function ($http, $rootScope, $location){
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
if ($location.search().hasOwnProperty('title__icontains')){
params['title__icontains'] = $location.search()['title__icontains'];
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
if ($location.search().hasOwnProperty('title__icontains')){
params['title__icontains'] = $location.search()['title__icontains'];
}
$http.get(REGIONS_ENDPOINT, {params: params}).then(successCallback, errorCallback);

function successCallback(data) {
//success code
if($location.search().hasOwnProperty('regions__name__in')){
data.data.objects = module.set_initial_filters_from_query(data.data.objects,
$location.search()['regions__name__in'], 'name');
}
$http.get(REGIONS_ENDPOINT, {params: params}).success(function(data){
if($location.search().hasOwnProperty('regions__name__in')){
data.objects = module.set_initial_filters_from_query(data.objects,
$location.search()['regions__name__in'], 'name');
}
$rootScope.regions = data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
});
$rootScope.regions = data.data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
};

function errorCallback(error) {
//error code
};
}

module.load_groups = function ($http, $rootScope, $location){
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
$http.get(GROUPS_ENDPOINT, {params: params}).success(function(data){
$rootScope.groups = data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
});
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
$http.get(GROUPS_ENDPOINT, {params: params}).then(successCallback, errorCallback);

function successCallback(data) {
//success code
$rootScope.groups = data.data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
};

function errorCallback(error) {
//error code
};
}

module.load_owners = function ($http, $rootScope, $location){
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
if ($location.search().hasOwnProperty('title__icontains')){
params['title__icontains'] = $location.search()['title__icontains'];
var params = typeof FILTER_TYPE == 'undefined' ? {} : {'type': FILTER_TYPE};
if ($location.search().hasOwnProperty('title__icontains')){
params['title__icontains'] = $location.search()['title__icontains'];
}
$http.get(OWNERS_ENDPOINT, {params: params}).then(successCallback, errorCallback);

function successCallback(data) {
//success code
if($location.search().hasOwnProperty('owner__username__in')){
data.data.objects = module.set_initial_filters_from_query(data.data.objects,
$location.search()['owner__username__in'], 'identifier');
}
$http.get(OWNERS_ENDPOINT, {params: params}).success(function(data){
if($location.search().hasOwnProperty('owner__username__in')){
data.objects = module.set_initial_filters_from_query(data.objects,
$location.search()['owner__username__in'], 'identifier');
}
$rootScope.owners = data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
});
$rootScope.owners = data.data.objects;
if (HAYSTACK_FACET_COUNTS && $rootScope.query_data) {
module.haystack_facets($http, $rootScope, $location);
}
};

function errorCallback(error) {
//error code
};
}

// Update facet counts for categories and keywords
Expand Down Expand Up @@ -295,11 +354,14 @@

//Get data from apis and make them available to the page
function query_api(data){
$http.get(Configs.url, {params: data || {}}).success(function(data){
$http.get(Configs.url, {params: data || {}}).then(successCallback, errorCallback);

function successCallback(data) {
//success code
setTimeout(function(){$('[ng-controller="CartList"] [data-toggle="tooltip"]').tooltip();},0);
$scope.results = data.objects;
$scope.total_counts = data.meta.total_count;
$scope.$root.query_data = data;
$scope.results = data.data.objects;
$scope.total_counts = data.data.meta.total_count;
$scope.$root.query_data = data.data;
if (HAYSTACK_SEARCH) {
if ($location.search().hasOwnProperty('q')){
$scope.text_query = $location.search()['q'].replace(/\+/g," ");
Expand All @@ -315,11 +377,11 @@
try {
module.haystack_facets($http, $scope.$root, $location);
$("#types").find("a").each(function(){
if ($(this)[0].id in data.meta.facets.subtype) {
$(this).find("span").text(data.meta.facets.subtype[$(this)[0].id]);
if ($(this)[0].id in data.data.meta.facets.subtype) {
$(this).find("span").text(data.data.meta.facets.subtype[$(this)[0].id]);
}
else if ($(this)[0].id in data.meta.facets.type) {
$(this).find("span").text(data.meta.facets.type[$(this)[0].id]);
else if ($(this)[0].id in data.data.meta.facets.type) {
$(this).find("span").text(data.data.meta.facets.type[$(this)[0].id]);
} else {
$(this).find("span").text("0");
}
Expand All @@ -328,7 +390,11 @@
// console.log(err);
}
}
});
};

function errorCallback(error) {
//error code
};
};
query_api($scope.query);

Expand Down
8 changes: 3 additions & 5 deletions geonode/static/geonode/js/services/resources_harvest.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,17 @@ var TableFilter = function () {
me.filterButton[filterInfo[i].id] = $('#btn-' + filterInfo[i].id);
me.groupedData[filterInfo[i].id] = _.groupBy(resData, filterInfo[i].data_key)
values = _.keys(me.groupedData[filterInfo[i].id]);

me.filterElems[filterInfo[i].id].typeahead({
source: values,
autoSelect: true,

});
me.filterElems[filterInfo[i].id].change(function () {
var current = $(this).typeahead("getActive");
// var current = $(this).typeahead("getActive");
var val = $(this).val();
if (current == val) {
// if (current == val) {
me.searchRows();

}
// }

});
me.filterElems[filterInfo[i].id].keydown(function (e) {
Expand Down
3 changes: 2 additions & 1 deletion geonode/static/geonode/js/upload/LayerInfo.js
Original file line number Diff line number Diff line change
Expand Up @@ -555,9 +555,10 @@ define(function (require, exports) {
self = this;
var prog = "";

$.ajaxQueue({
$.ajax({
url: form_target,
async: true,
mode: "queue",
type: "POST",
data: form_data,
processData: false,
Expand Down
3 changes: 2 additions & 1 deletion geonode/static/geonode/js/upload/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,14 @@ define(function (require, exports) {
*/
make_request = exports.make_request = (function () {
return function (options) {
options.mode ="queue";
var success = options.success,
failure = options.failure;

delete options.success;
delete options.failure;

$.ajaxQueue(options).done(function (resp, status, obj) {
$.ajax(options).done(function (resp, status, obj) {
if (typeof resp === "object" && resp.success === true) {
success(resp, status);
} else if (typeof resp === "string"){
Expand Down
9 changes: 6 additions & 3 deletions geonode/static/geonode/js/upload/upload.js
Original file line number Diff line number Diff line change
Expand Up @@ -192,9 +192,10 @@ define(['underscore',
var target = event.target || event.srcElement;
var id = target.id.split("-")[1];
var target = siteUrl + "upload/delete/" + id;
$.ajaxQueue({
$.ajax({
url: target,
async: false,
mode: "queue",
contentType: false,
}).done(function (resp) {
var div = "#incomplete-" + id;
Expand All @@ -213,9 +214,10 @@ define(['underscore',
var target = event.target || event.srcElement;
var id = target.id.split("-")[1];
var target = siteUrl + "upload/?id=" + id;
$.ajaxQueue({
$.ajax({
url: target,
async: false,
mode: "queue",
contentType: false,
}).done(function (data) {
if('redirect_to' in data) {
Expand All @@ -241,8 +243,9 @@ define(['underscore',

doSrs = function (event) {
var form = $("#srsForm")
$.ajaxQueue({
$.ajax({
type: "POST",
mode: "queue",
url: siteUrl + 'upload/srs',
data: form.serialize(), // serializes the form's elements.
success: function(data)
Expand Down
293 changes: 183 additions & 110 deletions geonode/static/gruntfile.js

Large diffs are not rendered by default.

47 changes: 0 additions & 47 deletions geonode/static/lib/css/Control.Opacity.css

This file was deleted.

1 change: 1 addition & 0 deletions geonode/static/lib/css/L.Control.Locate.min.css
1 change: 1 addition & 0 deletions geonode/static/lib/css/L.Control.Opacity.css
99 changes: 74 additions & 25 deletions geonode/static/lib/css/L.Control.Pan.css
Original file line number Diff line number Diff line change
Expand Up @@ -5,49 +5,54 @@
should make all the child boxes be center-aligned instead.
Not sure if that is possible though.
*/
.leaflet-control-zoom {
.leaflet-left.has-leaflet-pan-control .leaflet-control-zoom {
position: relative;
left:26px;
left: 24px;
}
.leaflet-right.has-leaflet-pan-control .leaflet-control-zoom {
position: relative;
right: 24px;
}

/*
Make the zoomSlider control
(https://github.com/mattiasbengtsson/Leaflet.zoomslider)
align with the pan control.
*/
.leaflet-control-zoomslider {
.leaflet-left.has-leaflet-pan-control .leaflet-control-zoomslider {
position: relative;
left:26px;
left: 22px;
}
.leaflet-right.has-leaflet-pan-control .leaflet-control-zoomslider {
position: relative;
right: 22px;
}


.leaflet-control-pan {
/*
.leaflet-control-pan-right-wrap: right
+ .leaflet-control-pan a: width
+ .leaflet-top .leaflet-control: margin-left
= 52 + 19 + 10 = 81
= 52 + 24 = 76
*/
width: 81px;
width: 76px;
/*
.leaflet-control-pan-down-wrap: top
+ .leaflet-control-pan a: height
+ .leaflet-top .leaflet-control: margin-top
= 52 + 19 + 10 = 81
= 52 + 24 = 76
*/
height: 81px;
height: 76px;
}

.leaflet-control-pan > div {
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border-radius: 7px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
}
.leaflet-control-pan > div {
padding: 5px;
background: rgba(0, 0, 0, 0.25);
box-shadow: 0 1px 7px rgba(0,0,0,0.65);
}
.leaflet-control-pan a {
background-color: rgba(255, 255, 255, 0.75);
background-color: #fff;
}
.leaflet-control-pan a{
background-position: 50% 50%;
Expand All @@ -58,11 +63,11 @@
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
width: 19px;
height: 19px;
width: 23px;
height: 23px;
}
.leaflet-control-pan a:hover {
background-color: #fff;
background-color: #f4f4f4;
}

.leaflet-control-pan-up-wrap {
Expand All @@ -85,14 +90,58 @@
}

.leaflet-control-pan-up {
background-image: url('../img/../img/pan-up.png');
background-image: url("../img/pan-up.png");
}
.leaflet-control-pan-left {
background-image: url('../img/../img/pan-left.png');
background-image: url("../img/pan-left.png");
}
.leaflet-control-pan-right {
background-image: url('../img/../img/pan-right.png');
background-image: url("../img/pan-right.png");
}
.leaflet-control-pan-down {
background-image: url('../img/../img/pan-down.png');
}
background-image: url("../img/pan-down.png");
}

/****** Touch Alterations ******/
.leaflet-touch .leaflet-control-pan div {
border: 2px solid rgba(0, 0, 0, 0.2);
box-shadow: none;

border-radius: 4px;
}

.leaflet-touch .leaflet-control-pan {
width: 89px;
height: 119px;
margin-left: 8px;
}

.leaflet-touch .leaflet-right .leaflet-control-pan {
margin-left: 0;
margin-right: 5px;
}

.leaflet-touch .leaflet-control-pan a {
width: 30px;
height: 30px;

border-radius: 4px;
}

.leaflet-touch .leaflet-control-pan-up-wrap {
left:26px;
}

.leaflet-touch .leaflet-control-pan-left-wrap {
top:40px;
}

.leaflet-touch .leaflet-control-pan-right-wrap {
left:52px;
top:40px;
}

.leaflet-touch .leaflet-control-pan-down-wrap {
left:26px;
top:80px;
}
23 changes: 23 additions & 0 deletions geonode/static/lib/css/accordion.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*!
* jQuery UI Accordion 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/accordion/#theming
*/
.ui-accordion .ui-accordion-header {
display: block;
cursor: pointer;
position: relative;
margin: 2px 0 0 0;
padding: .5em .5em .5em .7em;
font-size: 100%;
}
.ui-accordion .ui-accordion-content {
padding: 1em 2.2em;
border-top: 0;
overflow: auto;
}
12 changes: 12 additions & 0 deletions geonode/static/lib/css/all.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/*!
* jQuery UI CSS Framework 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/category/theming/
*/
@import "base.css";
@import "theme.css";
212 changes: 200 additions & 12 deletions geonode/static/lib/css/assets.min.css

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions geonode/static/lib/css/autocomplete.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/*!
* jQuery UI Autocomplete 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/autocomplete/#theming
*/
.ui-autocomplete {
position: absolute;
top: 0;
left: 0;
cursor: default;
}
30 changes: 30 additions & 0 deletions geonode/static/lib/css/base.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*!
* jQuery UI CSS Framework 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/category/theming/
*/
@import url("core.css");

@import url("accordion.css");
@import url("autocomplete.css");
@import url("button.css");
@import url("checkboxradio.css");
@import url("controlgroup.css");
@import url("datepicker.css");
@import url("dialog.css");
@import url("draggable.css");
@import url("menu.css");
@import url("progressbar.css");
@import url("resizable.css");
@import url("selectable.css");
@import url("selectmenu.css");
@import url("sortable.css");
@import url("slider.css");
@import url("spinner.css");
@import url("tabs.css");
@import url("tooltip.css");
4 changes: 2 additions & 2 deletions geonode/static/lib/css/bootstrap-datetimepicker.min.css
1 change: 1 addition & 0 deletions geonode/static/lib/css/bootstrap-multiselect.css
8 changes: 4 additions & 4 deletions geonode/static/lib/css/bootstrap-select.min.css

Large diffs are not rendered by default.

11 changes: 10 additions & 1 deletion geonode/static/lib/css/bootstrap-table.min.css
2 changes: 1 addition & 1 deletion geonode/static/lib/css/bootstrap-tokenfield.min.css
2 changes: 1 addition & 1 deletion geonode/static/lib/css/bootstrap-treeview.min.css
102 changes: 0 additions & 102 deletions geonode/static/lib/css/bootstrap-wysihtml5-0.0.2.css

This file was deleted.

82 changes: 82 additions & 0 deletions geonode/static/lib/css/button.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/*!
* jQuery UI Button 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/button/#theming
*/
.ui-button {
padding: .4em 1em;
display: inline-block;
position: relative;
line-height: normal;
margin-right: .1em;
cursor: pointer;
vertical-align: middle;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

/* Support: IE <= 11 */
overflow: visible;
}

.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
text-decoration: none;
}

/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
width: 2em;
box-sizing: border-box;
text-indent: -9999px;
white-space: nowrap;
}

/* no icon support for input elements */
input.ui-button.ui-button-icon-only {
text-indent: 0;
}

/* button icon element(s) */
.ui-button-icon-only .ui-icon {
position: absolute;
top: 50%;
left: 50%;
margin-top: -8px;
margin-left: -8px;
}

.ui-button.ui-icon-notext .ui-icon {
padding: 0;
width: 2.1em;
height: 2.1em;
text-indent: -9999px;
white-space: nowrap;

}

input.ui-button.ui-icon-notext .ui-icon {
width: auto;
height: auto;
text-indent: 0;
white-space: normal;
padding: .4em 1em;
}

/* workarounds */
/* Support: Firefox 5 - 40 */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
border: 0;
padding: 0;
}
34 changes: 34 additions & 0 deletions geonode/static/lib/css/checkboxradio.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*!
* jQuery UI Checkboxradio 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/checkboxradio/#theming
*/

.ui-checkboxradio-label .ui-icon-background {
box-shadow: inset 1px 1px 1px #ccc;
border-radius: .12em;
border: none;
}
.ui-checkboxradio-radio-label .ui-icon-background {
width: 16px;
height: 16px;
border-radius: 1em;
overflow: visible;
border: none;
}
.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
background-image: none;
width: 8px;
height: 8px;
border-width: 4px;
border-style: solid;
}
.ui-checkboxradio-disabled {
pointer-events: none;
}
65 changes: 65 additions & 0 deletions geonode/static/lib/css/controlgroup.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/*!
* jQuery UI Controlgroup 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/controlgroup/#theming
*/

.ui-controlgroup {
vertical-align: middle;
display: inline-block;
}
.ui-controlgroup > .ui-controlgroup-item {
float: left;
margin-left: 0;
margin-right: 0;
}
.ui-controlgroup > .ui-controlgroup-item:focus,
.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
z-index: 9999;
}
.ui-controlgroup-vertical > .ui-controlgroup-item {
display: block;
float: none;
width: 100%;
margin-top: 0;
margin-bottom: 0;
text-align: left;
}
.ui-controlgroup-vertical .ui-controlgroup-item {
box-sizing: border-box;
}
.ui-controlgroup .ui-controlgroup-label {
padding: .4em 1em;
}
.ui-controlgroup .ui-controlgroup-label span {
font-size: 80%;
}
.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
border-left: none;
}
.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
border-top: none;
}
.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
border-right: none;
}
.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
border-bottom: none;
}

/* Spinner specific style fixes */
.ui-controlgroup-vertical .ui-spinner-input {

/* Support: IE8 only, Android < 4.4 only */
width: 75%;
width: calc( 100% - 2.4em );
}
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
border-top-style: solid;
}

97 changes: 97 additions & 0 deletions geonode/static/lib/css/core.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
/*!
* jQuery UI CSS Framework 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/category/theming/
*/

/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.ui-helper-reset {
margin: 0;
padding: 0;
border: 0;
outline: 0;
line-height: 1.3;
text-decoration: none;
font-size: 100%;
list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
content: "";
display: table;
border-collapse: collapse;
}
.ui-helper-clearfix:after {
clear: both;
}
.ui-helper-zfix {
width: 100%;
height: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
filter:Alpha(Opacity=0); /* support: IE8 */
}

.ui-front {
z-index: 100;
}


/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
cursor: default !important;
pointer-events: none;
}


/* Icons
----------------------------------*/
.ui-icon {
display: inline-block;
vertical-align: middle;
margin-top: -.25em;
position: relative;
text-indent: -99999px;
overflow: hidden;
background-repeat: no-repeat;
}

.ui-widget-icon-block {
left: 50%;
margin-left: -8px;
display: block;
}

/* Misc visuals
----------------------------------*/

/* Overlays */
.ui-widget-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
185 changes: 185 additions & 0 deletions geonode/static/lib/css/datepicker.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
/*!
* jQuery UI Datepicker 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/datepicker/#theming
*/
.ui-datepicker {
width: 17em;
padding: .2em .2em 0;
display: none;
}
.ui-datepicker .ui-datepicker-header {
position: relative;
padding: .2em 0;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
position: absolute;
top: 2px;
width: 1.8em;
height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
top: 1px;
}
.ui-datepicker .ui-datepicker-prev {
left: 2px;
}
.ui-datepicker .ui-datepicker-next {
right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
left: 1px;
}
.ui-datepicker .ui-datepicker-next-hover {
right: 1px;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
display: block;
position: absolute;
left: 50%;
margin-left: -8px;
top: 50%;
margin-top: -8px;
}
.ui-datepicker .ui-datepicker-title {
margin: 0 2.3em;
line-height: 1.8em;
text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
font-size: 1em;
margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
width: 45%;
}
.ui-datepicker table {
width: 100%;
font-size: .9em;
border-collapse: collapse;
margin: 0 0 .4em;
}
.ui-datepicker th {
padding: .7em .3em;
text-align: center;
font-weight: bold;
border: 0;
}
.ui-datepicker td {
border: 0;
padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
display: block;
padding: .2em;
text-align: right;
text-decoration: none;
}
.ui-datepicker .ui-datepicker-buttonpane {
background-image: none;
margin: .7em 0 0 0;
padding: 0 .2em;
border-left: 0;
border-right: 0;
border-bottom: 0;
}
.ui-datepicker .ui-datepicker-buttonpane button {
float: right;
margin: .5em .2em .4em;
cursor: pointer;
padding: .2em .6em .3em .6em;
width: auto;
overflow: visible;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
float: left;
}

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
width: 95%;
margin: 0 auto .4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
clear: left;
}
.ui-datepicker-row-break {
clear: both;
width: 100%;
font-size: 0;
}

/* RTL support */
.ui-datepicker-rtl {
direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
right: 2px;
left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
left: 2px;
right: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
right: 1px;
left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
left: 1px;
right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
border-right-width: 0;
border-left-width: 1px;
}

/* Icons */
.ui-datepicker .ui-icon {
display: block;
text-indent: -99999px;
overflow: hidden;
background-repeat: no-repeat;
left: .5em;
top: .3em;
}
101 changes: 101 additions & 0 deletions geonode/static/lib/css/dialog.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
/*!
* jQuery UI Dialog 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/dialog/#theming
*/
.ui-dialog {
position: absolute;
top: 0;
left: 0;
padding: .2em;
outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
padding: .4em 1em;
position: relative;
}
.ui-dialog .ui-dialog-title {
float: left;
margin: .1em 0;
white-space: nowrap;
width: 90%;
overflow: hidden;
text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar-close {
position: absolute;
right: .3em;
top: 50%;
width: 20px;
margin: -10px 0 0 0;
padding: 1px;
height: 20px;
}
.ui-dialog .ui-dialog-content {
position: relative;
border: 0;
padding: .5em 1em;
background: none;
overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
text-align: left;
border-width: 1px 0 0 0;
background-image: none;
margin-top: .5em;
padding: .3em 1em .5em .4em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
margin: .5em .4em .5em 0;
cursor: pointer;
}
.ui-dialog .ui-resizable-n {
height: 2px;
top: 0;
}
.ui-dialog .ui-resizable-e {
width: 2px;
right: 0;
}
.ui-dialog .ui-resizable-s {
height: 2px;
bottom: 0;
}
.ui-dialog .ui-resizable-w {
width: 2px;
left: 0;
}
.ui-dialog .ui-resizable-se,
.ui-dialog .ui-resizable-sw,
.ui-dialog .ui-resizable-ne,
.ui-dialog .ui-resizable-nw {
width: 7px;
height: 7px;
}
.ui-dialog .ui-resizable-se {
right: 0;
bottom: 0;
}
.ui-dialog .ui-resizable-sw {
left: 0;
bottom: 0;
}
.ui-dialog .ui-resizable-ne {
right: 0;
top: 0;
}
.ui-dialog .ui-resizable-nw {
left: 0;
top: 0;
}
.ui-draggable .ui-dialog-titlebar {
cursor: move;
}
12 changes: 12 additions & 0 deletions geonode/static/lib/css/draggable.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/*!
* jQuery UI Draggable 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
.ui-draggable-handle {
-ms-touch-action: none;
touch-action: none;
}
236 changes: 236 additions & 0 deletions geonode/static/lib/css/fastselect.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
/*----------------------------------------------------------------------------------------------------
General styling
----------------------------------------------------------------------------------------------------*/
@-webkit-keyframes fstAnimationEnter {
from {
opacity: 0;
-webkit-transform: translate3d(0, -1em, 0); }
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0); } }

@-moz-keyframes fstAnimationEnter {
from {
opacity: 0;
-moz-transform: translate3d(0, -1em, 0); }
to {
opacity: 1;
-moz-transform: translate3d(0, 0, 0); } }

@keyframes fstAnimationEnter {
from {
opacity: 0;
-webkit-transform: translate3d(0, -1em, 0);
-moz-transform: translate3d(0, -1em, 0);
-ms-transform: translate3d(0, -1em, 0);
-o-transform: translate3d(0, -1em, 0);
transform: translate3d(0, -1em, 0); }
to {
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0); } }

.fstElement {
display: inline-block;
position: relative;
border: 1px solid #D7D7D7;
box-sizing: border-box;
color: #232323;
font-size: 1.1em;
background-color: #fff; }
.fstElement > select,
.fstElement > input {
position: absolute;
left: -999em; }

.fstToggleBtn {
font-size: 1.4em;
display: block;
position: relative;
box-sizing: border-box;
padding: 0.71429em 1.42857em 0.71429em 0.71429em;
min-width: 14.28571em;
cursor: pointer; }
.fstToggleBtn:after {
position: absolute;
content: "";
right: 0.71429em;
top: 50%;
margin-top: -0.17857em;
border: 0.35714em solid transparent;
border-top-color: #cacaca; }

.fstQueryInput {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
-o-appearance: none;
appearance: none;
outline: none;
box-sizing: border-box;
background: transparent;
border: 0; }

.fstResults {
position: absolute;
left: -1px;
top: 100%;
right: -1px;
max-height: 30em;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
border: 1px solid #D7D7D7;
border-top: 0;
background-color: #FFF;
display: none; }

.fstResultItem {
font-size: 1.4em;
display: block;
padding: 0.5em 0.71429em;
margin: 0;
cursor: pointer;
border-top: 1px solid #fff; }
.fstResultItem.fstUserOption {
color: #707070; }
.fstResultItem.fstFocused {
color: #fff;
background-color: #43A2F3;
border-color: #73baf6; }
.fstResultItem.fstSelected {
color: #fff;
background-color: #2694f1;
border-color: #73baf6; }

.fstGroupTitle {
font-size: 1.4em;
display: block;
padding: 0.5em 0.71429em;
margin: 0;
font-weight: bold; }

.fstGroup {
padding-top: 1em; }
.fstGroup:first-child {
padding-top: 0; }

.fstNoResults {
font-size: 1.4em;
display: block;
padding: 0.71429em 0.71429em;
margin: 0;
color: #999; }

/*----------------------------------------------------------------------------------------------------
Single Mode
----------------------------------------------------------------------------------------------------*/
.fstSingleMode .fstControls {
position: absolute;
left: -1px;
right: -1px;
top: 100%;
padding: 0.5em;
border: 1px solid #D7D7D7;
background-color: #fff;
display: none; }

.fstSingleMode .fstQueryInput {
font-size: 1.4em;
display: block;
width: 100%;
padding: 0.5em 0.35714em;
color: #999;
border: 1px solid #D7D7D7; }

.fstSingleMode.fstActive {
z-index: 100; }
.fstSingleMode.fstActive.fstElement,
.fstSingleMode.fstActive .fstControls,
.fstSingleMode.fstActive .fstResults {
box-shadow: 0 0.2em 0.2em rgba(0, 0, 0, 0.1); }
.fstSingleMode.fstActive .fstControls {
display: block; }
.fstSingleMode.fstActive .fstResults {
display: block;
z-index: 10;
margin-top: -1px; }

/*----------------------------------------------------------------------------------------------------
Multiple mode
----------------------------------------------------------------------------------------------------*/
.fstChoiceItem {
display: inline-block;
font-size: 1.2em;
position: relative;
margin: 0 0.41667em 0.41667em 0;
padding: 0.33333em 0.33333em 0.33333em 1.5em;
float: left;
border-radius: 0.25em;
border: 1px solid #43A2F3;
cursor: auto;
color: #fff;
background-color: #43A2F3;
-webkit-animation: fstAnimationEnter 0.2s;
-moz-animation: fstAnimationEnter 0.2s;
animation: fstAnimationEnter 0.2s; }
.fstChoiceItem.mod1 {
background-color: #F9F9F9;
border: 1px solid #D7D7D7;
color: #232323; }
.fstChoiceItem.mod1 > .fstChoiceRemove {
color: #a4a4a4; }

.fstChoiceRemove {
margin: 0;
padding: 0;
border: 0;
cursor: pointer;
background: none;
font-size: 1.16667em;
position: absolute;
left: 0;
top: 50%;
width: 1.28571em;
line-height: 1.28571em;
margin-top: -0.64286em;
text-align: center;
color: #fff; }
.fstChoiceRemove::-moz-focus-inner {
padding: 0;
border: 0; }

.fstMultipleMode .fstControls {
box-sizing: border-box;
padding: 0.5em 0.5em 0em 0.5em;
overflow: hidden;
width: 20em;
cursor: text; }

.fstMultipleMode .fstQueryInput {
font-size: 1.4em;
float: left;
padding: 0.28571em 0;
margin: 0 0 0.35714em 0;
width: 2em;
color: #999; }

.fstMultipleMode .fstQueryInputExpanded {
float: none;
width: 100%;
padding: 0.28571em 0.35714em; }

.fstMultipleMode .fstFakeInput {
font-size: 1.4em; }

.fstMultipleMode.fstActive,
.fstMultipleMode.fstActive .fstResults {
box-shadow: 0 0.2em 0.2em rgba(0, 0, 0, 0.1); }

.fstMultipleMode.fstActive .fstResults {
display: block;
z-index: 10;
border-top: 1px solid #D7D7D7; }
1 change: 0 additions & 1 deletion geonode/static/lib/css/fastselect.min.css

This file was deleted.

Loading