diff options
Diffstat (limited to 'chimere/static')
| -rw-r--r-- | chimere/static/chimere/css/forms.css (renamed from chimere/static/forms.css) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/css/styles.css (renamed from chimere/static/styles.css) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/img/blank.gif (renamed from chimere/static/img/blank.gif) | bin | 42 -> 42 bytes | |||
| -rwxr-xr-x | chimere/static/chimere/img/cloud-popup-relative.png (renamed from chimere/static/img/cloud-popup-relative.png) | bin | 3177 -> 3177 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/drag-rectangle-off.png (renamed from chimere/static/img/drag-rectangle-off.png) | bin | 1202 -> 1202 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/drag-rectangle-on.png (renamed from chimere/static/img/drag-rectangle-on.png) | bin | 1218 -> 1218 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/drawing.png (renamed from chimere/static/img/drawing.png) | bin | 7445 -> 7445 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/east-mini.png (renamed from chimere/static/img/east-mini.png) | bin | 451 -> 451 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/images_licences (renamed from chimere/static/img/images_licences) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/img/layer-switcher-maximize.png (renamed from chimere/static/img/layer-switcher-maximize.png) | bin | 451 -> 451 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/layer-switcher-minimize.png (renamed from chimere/static/img/layer-switcher-minimize.png) | bin | 249 -> 249 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/marker-blue.png (renamed from chimere/static/img/marker-blue.png) | bin | 992 -> 992 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/marker-gold.png (renamed from chimere/static/img/marker-gold.png) | bin | 831 -> 831 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/marker-green.png (renamed from chimere/static/img/marker-green.png) | bin | 967 -> 967 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/marker.png (renamed from chimere/static/img/marker.png) | bin | 606 -> 606 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/measuring-stick-off.png (renamed from chimere/static/img/measuring-stick-off.png) | bin | 3343 -> 3343 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/measuring-stick-on.png (renamed from chimere/static/img/measuring-stick-on.png) | bin | 3816 -> 3816 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/north-mini.png (renamed from chimere/static/img/north-mini.png) | bin | 484 -> 484 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/panning-hand-off.png (renamed from chimere/static/img/panning-hand-off.png) | bin | 3875 -> 3875 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/panning-hand-on.png (renamed from chimere/static/img/panning-hand-on.png) | bin | 3977 -> 3977 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/slider.png (renamed from chimere/static/img/slider.png) | bin | 285 -> 285 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/south-mini.png (renamed from chimere/static/img/south-mini.png) | bin | 481 -> 481 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/upload.png (renamed from chimere/static/img/upload.png) | bin | 8871 -> 8871 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/west-mini.png (renamed from chimere/static/img/west-mini.png) | bin | 453 -> 453 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/zoom-minus-mini.png (renamed from chimere/static/img/zoom-minus-mini.png) | bin | 359 -> 359 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/zoom-plus-mini.png (renamed from chimere/static/img/zoom-plus-mini.png) | bin | 489 -> 489 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/zoom-world-mini.png (renamed from chimere/static/img/zoom-world-mini.png) | bin | 1072 -> 1072 bytes | |||
| -rw-r--r-- | chimere/static/chimere/img/zoombar.png (renamed from chimere/static/img/zoombar.png) | bin | 463 -> 463 bytes | |||
| -rw-r--r-- | chimere/static/chimere/js/OpenLayers.js (renamed from chimere/static/OpenLayers.js) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/js/base.js (renamed from chimere/static/base.js) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/js/edit_area.js (renamed from chimere/static/edit_area.js) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/js/edit_map.js (renamed from chimere/static/edit_map.js) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/js/edit_route_map.js (renamed from chimere/static/edit_route_map.js) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/js/jquery/bsmSelect/css/jquery.bsmselect.css | 64 | ||||
| -rw-r--r-- | chimere/static/chimere/js/jquery/bsmSelect/css/jquery.bsmselect.custom.css (renamed from chimere/static/jquery/css/jquery.bsmselect.custom.css) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.compatibility.js | 60 | ||||
| -rw-r--r-- | chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.js | 381 | ||||
| -rw-r--r-- | chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.sortable.js | 49 | ||||
| -rw-r--r-- | chimere/static/chimere/js/jquery/jquery-1.4.4.min.js (renamed from chimere/static/jquery/jquery-1.4.4.min.js) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/js/main_map.js (renamed from chimere/static/main_map.js) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/js/textareas.js (renamed from chimere/static/textareas.js) | 0 | ||||
| -rw-r--r-- | chimere/static/chimere/js/utils.js | 238 | ||||
| -rw-r--r-- | chimere/static/icons/email.png | bin | 735 -> 0 bytes | |||
| -rw-r--r-- | chimere/static/icons/facebook.png | bin | 731 -> 0 bytes | |||
| -rw-r--r-- | chimere/static/icons/identica.png | bin | 1373 -> 0 bytes | |||
| -rw-r--r-- | chimere/static/icons/minus.png | bin | 259 -> 0 bytes | |||
| -rw-r--r-- | chimere/static/icons/plus.png | bin | 275 -> 0 bytes | |||
| -rw-r--r-- | chimere/static/icons/twitter.png | bin | 924 -> 0 bytes | |||
| -rw-r--r-- | chimere/static/icons/zoom.png | bin | 655 -> 0 bytes | |||
| m--------- | chimere/static/jquery/bsmSelect | 0 |
50 files changed, 792 insertions, 0 deletions
diff --git a/chimere/static/forms.css b/chimere/static/chimere/css/forms.css index c1c3eca..c1c3eca 100644 --- a/chimere/static/forms.css +++ b/chimere/static/chimere/css/forms.css diff --git a/chimere/static/styles.css b/chimere/static/chimere/css/styles.css index b56b2ab..b56b2ab 100644 --- a/chimere/static/styles.css +++ b/chimere/static/chimere/css/styles.css diff --git a/chimere/static/img/blank.gif b/chimere/static/chimere/img/blank.gif Binary files differindex 4bcc753..4bcc753 100644 --- a/chimere/static/img/blank.gif +++ b/chimere/static/chimere/img/blank.gif diff --git a/chimere/static/img/cloud-popup-relative.png b/chimere/static/chimere/img/cloud-popup-relative.png Binary files differindex 1215a36..1215a36 100755 --- a/chimere/static/img/cloud-popup-relative.png +++ b/chimere/static/chimere/img/cloud-popup-relative.png diff --git a/chimere/static/img/drag-rectangle-off.png b/chimere/static/chimere/img/drag-rectangle-off.png Binary files differindex fc6daf4..fc6daf4 100644 --- a/chimere/static/img/drag-rectangle-off.png +++ b/chimere/static/chimere/img/drag-rectangle-off.png diff --git a/chimere/static/img/drag-rectangle-on.png b/chimere/static/chimere/img/drag-rectangle-on.png Binary files differindex 7f783ce..7f783ce 100644 --- a/chimere/static/img/drag-rectangle-on.png +++ b/chimere/static/chimere/img/drag-rectangle-on.png diff --git a/chimere/static/img/drawing.png b/chimere/static/chimere/img/drawing.png Binary files differindex a2d3a30..a2d3a30 100644 --- a/chimere/static/img/drawing.png +++ b/chimere/static/chimere/img/drawing.png diff --git a/chimere/static/img/east-mini.png b/chimere/static/chimere/img/east-mini.png Binary files differindex 0707567..0707567 100644 --- a/chimere/static/img/east-mini.png +++ b/chimere/static/chimere/img/east-mini.png diff --git a/chimere/static/img/images_licences b/chimere/static/chimere/img/images_licences index 6dc68fd..6dc68fd 100644 --- a/chimere/static/img/images_licences +++ b/chimere/static/chimere/img/images_licences diff --git a/chimere/static/img/layer-switcher-maximize.png b/chimere/static/chimere/img/layer-switcher-maximize.png Binary files differindex 8d7bb16..8d7bb16 100644 --- a/chimere/static/img/layer-switcher-maximize.png +++ b/chimere/static/chimere/img/layer-switcher-maximize.png diff --git a/chimere/static/img/layer-switcher-minimize.png b/chimere/static/chimere/img/layer-switcher-minimize.png Binary files differindex e80bf21..e80bf21 100644 --- a/chimere/static/img/layer-switcher-minimize.png +++ b/chimere/static/chimere/img/layer-switcher-minimize.png diff --git a/chimere/static/img/marker-blue.png b/chimere/static/chimere/img/marker-blue.png Binary files differindex 83a90b4..83a90b4 100644 --- a/chimere/static/img/marker-blue.png +++ b/chimere/static/chimere/img/marker-blue.png diff --git a/chimere/static/img/marker-gold.png b/chimere/static/chimere/img/marker-gold.png Binary files differindex 2ff9ec5..2ff9ec5 100644 --- a/chimere/static/img/marker-gold.png +++ b/chimere/static/chimere/img/marker-gold.png diff --git a/chimere/static/img/marker-green.png b/chimere/static/chimere/img/marker-green.png Binary files differindex 17168f1..17168f1 100644 --- a/chimere/static/img/marker-green.png +++ b/chimere/static/chimere/img/marker-green.png diff --git a/chimere/static/img/marker.png b/chimere/static/chimere/img/marker.png Binary files differindex ccd1913..ccd1913 100644 --- a/chimere/static/img/marker.png +++ b/chimere/static/chimere/img/marker.png diff --git a/chimere/static/img/measuring-stick-off.png b/chimere/static/chimere/img/measuring-stick-off.png Binary files differindex 70c2dff..70c2dff 100644 --- a/chimere/static/img/measuring-stick-off.png +++ b/chimere/static/chimere/img/measuring-stick-off.png diff --git a/chimere/static/img/measuring-stick-on.png b/chimere/static/chimere/img/measuring-stick-on.png Binary files differindex cdb8f34..cdb8f34 100644 --- a/chimere/static/img/measuring-stick-on.png +++ b/chimere/static/chimere/img/measuring-stick-on.png diff --git a/chimere/static/img/north-mini.png b/chimere/static/chimere/img/north-mini.png Binary files differindex a8a0b40..a8a0b40 100644 --- a/chimere/static/img/north-mini.png +++ b/chimere/static/chimere/img/north-mini.png diff --git a/chimere/static/img/panning-hand-off.png b/chimere/static/chimere/img/panning-hand-off.png Binary files differindex 4c912ac..4c912ac 100644 --- a/chimere/static/img/panning-hand-off.png +++ b/chimere/static/chimere/img/panning-hand-off.png diff --git a/chimere/static/img/panning-hand-on.png b/chimere/static/chimere/img/panning-hand-on.png Binary files differindex 6094c64..6094c64 100644 --- a/chimere/static/img/panning-hand-on.png +++ b/chimere/static/chimere/img/panning-hand-on.png diff --git a/chimere/static/img/slider.png b/chimere/static/chimere/img/slider.png Binary files differindex 23afd57..23afd57 100644 --- a/chimere/static/img/slider.png +++ b/chimere/static/chimere/img/slider.png diff --git a/chimere/static/img/south-mini.png b/chimere/static/chimere/img/south-mini.png Binary files differindex 6c4ac8a..6c4ac8a 100644 --- a/chimere/static/img/south-mini.png +++ b/chimere/static/chimere/img/south-mini.png diff --git a/chimere/static/img/upload.png b/chimere/static/chimere/img/upload.png Binary files differindex 367c2d9..367c2d9 100644 --- a/chimere/static/img/upload.png +++ b/chimere/static/chimere/img/upload.png diff --git a/chimere/static/img/west-mini.png b/chimere/static/chimere/img/west-mini.png Binary files differindex db5f420..db5f420 100644 --- a/chimere/static/img/west-mini.png +++ b/chimere/static/chimere/img/west-mini.png diff --git a/chimere/static/img/zoom-minus-mini.png b/chimere/static/chimere/img/zoom-minus-mini.png Binary files differindex f9b63ab..f9b63ab 100644 --- a/chimere/static/img/zoom-minus-mini.png +++ b/chimere/static/chimere/img/zoom-minus-mini.png diff --git a/chimere/static/img/zoom-plus-mini.png b/chimere/static/chimere/img/zoom-plus-mini.png Binary files differindex eecf2eb..eecf2eb 100644 --- a/chimere/static/img/zoom-plus-mini.png +++ b/chimere/static/chimere/img/zoom-plus-mini.png diff --git a/chimere/static/img/zoom-world-mini.png b/chimere/static/chimere/img/zoom-world-mini.png Binary files differindex 2159dde..2159dde 100644 --- a/chimere/static/img/zoom-world-mini.png +++ b/chimere/static/chimere/img/zoom-world-mini.png diff --git a/chimere/static/img/zoombar.png b/chimere/static/chimere/img/zoombar.png Binary files differindex 959f01a..959f01a 100644 --- a/chimere/static/img/zoombar.png +++ b/chimere/static/chimere/img/zoombar.png diff --git a/chimere/static/OpenLayers.js b/chimere/static/chimere/js/OpenLayers.js index 1cf1d88..1cf1d88 100644 --- a/chimere/static/OpenLayers.js +++ b/chimere/static/chimere/js/OpenLayers.js diff --git a/chimere/static/base.js b/chimere/static/chimere/js/base.js index 3f9d39d..3f9d39d 100644 --- a/chimere/static/base.js +++ b/chimere/static/chimere/js/base.js diff --git a/chimere/static/edit_area.js b/chimere/static/chimere/js/edit_area.js index 7695e6b..7695e6b 100644 --- a/chimere/static/edit_area.js +++ b/chimere/static/chimere/js/edit_area.js diff --git a/chimere/static/edit_map.js b/chimere/static/chimere/js/edit_map.js index 5000b75..5000b75 100644 --- a/chimere/static/edit_map.js +++ b/chimere/static/chimere/js/edit_map.js diff --git a/chimere/static/edit_route_map.js b/chimere/static/chimere/js/edit_route_map.js index 11af258..11af258 100644 --- a/chimere/static/edit_route_map.js +++ b/chimere/static/chimere/js/edit_route_map.js diff --git a/chimere/static/chimere/js/jquery/bsmSelect/css/jquery.bsmselect.css b/chimere/static/chimere/js/jquery/bsmSelect/css/jquery.bsmselect.css new file mode 100644 index 0000000..ad770d0 --- /dev/null +++ b/chimere/static/chimere/js/jquery/bsmSelect/css/jquery.bsmselect.css @@ -0,0 +1,64 @@ +.bsmContainer { + /* container that surrounds entire bsmSelect widget */ +} + +.bsmSelect { + /* the newly created regular 'select' */ + display: inline; +} + +.bsmOptionDisabled { + /* disabled options in new select */ + color: #999; +} + +.bsmHighlight { + /* the highlight span */ + float: right; + padding: 0; + margin: 0 0 0 1em; +} + +.bsmList { + /* html list that contains selected items */ + margin: 0.25em 0 1em 0; + position: relative; + display: block; + padding-left: 0; + list-style: none; +} + +.bsmListItem { + /* li item from the html list above */ + position: relative; + margin-left: 0; + padding-left: 0; + list-style: none; + background: #ddd; + border: 1px solid #bbb; + width: 100%; + margin: 0 0 -1px 0; + line-height: 1em; +} + +.bsmListItem:hover { + background-color: #e5e5e5; +} + +.bsmListItemLabel { + /* this is a span that surrounds the text in the item, except for the remove link */ + padding: 5px; + display: block; +} + +.bsmListSortable .bsmListItemLabel { + cursor: move; +} + +.bsmListItemRemove { + /* the remove link in each list item */ + position: absolute; + right: 0; + top: 0; + padding: 5px; +} diff --git a/chimere/static/jquery/css/jquery.bsmselect.custom.css b/chimere/static/chimere/js/jquery/bsmSelect/css/jquery.bsmselect.custom.css index 8c48aeb..8c48aeb 100644 --- a/chimere/static/jquery/css/jquery.bsmselect.custom.css +++ b/chimere/static/chimere/js/jquery/bsmSelect/css/jquery.bsmselect.custom.css diff --git a/chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.compatibility.js b/chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.compatibility.js new file mode 100644 index 0000000..a743a07 --- /dev/null +++ b/chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.compatibility.js @@ -0,0 +1,60 @@ +/* + * Better Select Multiple Compatibility Plugin - jQuery Plugin + * + * Copyright (c) 2010 by Victor Berchet - http://www.github.com/vicb + * + * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. + * + * version: v1.0.0 - 2010-09-05 + */ +(function($) { + $.bsmSelect.plugins.compatibility = function() + { + if (!(this instanceof arguments.callee)) { + return new arguments.callee(); + } + } + + $.extend($.bsmSelect.plugins.compatibility.prototype, { + init: function(bsm) { + + var o = bsm.options; + + if (typeof o.animate != 'undefined') + { + if (o.animate === true) { + o.showEffect = $.bsmSelect.effects.verticalListAdd; + o.hideEffect = $.bsmSelect.effects.verticalListRemove; + } else if ($.isFunction(o.animate.add)) { + o.showEffect = o.animate.add; + } else if (typeof(o.animate.add) == 'string' && $.isFunction($.bsmSelect.effects[o.animate.add])) { + o.showEffect = $.bsmSelect.effects[o.animate.add]; + } else { + o.showEffect = $.bsmSelect.effects.show; + } + + if ($.isFunction(o.animate.drop)) { + o.hideEffect = o.animate.drop; + } else if (typeof(o.animate.drop) == 'string' && $.isFunction($.bsmSelect.effects[o.animate.drop])) { + o.hideEffect = $.bsmSelect.effects[o.animate.drop]; + } else { + o.hideEffect = $.bsmSelect.effects.remove; + } + } + + if (typeof o.highlight != 'undefined') + { + if (o.highlight === true) { + o.highlightEffect = $.bsmSelect.effects.highlight; + } else if ($.isFunction(o.highlight)) { + o.highlightEffect = o.highlight; + } else if (typeof(o.highlight) == 'string' && $.isFunction($.bsmSelect.effects[o.highlight])) { + o.highlightEffect = $.bsmSelect.effects[o.highlight]; + } + } + + } + + }); +})(jQuery); + diff --git a/chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.js b/chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.js new file mode 100644 index 0000000..25527c6 --- /dev/null +++ b/chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.js @@ -0,0 +1,381 @@ +/* + * Better Select Multiple - jQuery Plugin + * + * based on Alternate Select Multiple (asmSelect) 1.0.4a beta (http://www.ryancramer.com/projects/asmselect/) + * + * Copyright (c) 2009 by Ryan Cramer - http://www.ryancramer.com + * Copyright (c) 2010 by Victor Berchet - http://www.github.com/vicb + * + * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. + * + * bsmSelect version: v1.4.3 - 2011-05-05 + */ + +(function($) { + + function BsmSelect(target, options) + { + this.$original = $(target); // the original select multiple + this.buildingSelect = false; // is the new select being constructed right now? + this.ieClick = false; // in IE, has a click event occurred? ignore if not + this.ignoreOriginalChangeEvent = false; // originalChangeEvent bypassed when this is true + this.options = options; + this.buildDom(); + } + + BsmSelect.prototype = { + /** + * Generate an UID + */ + generateUid: function(index) { + return (this.uid = this.options.containerClass + index); + }, + + /** + * Build the DOM for bsmSelect + */ + buildDom: function() { + var self = this, o = this.options; + + if (o.addItemTarget === 'original') { + $('option', this.$original).each(function(i, o) { + if ($(o).data('bsm-order') === null) { $(o).data('bsm-order', i); } + }); + } + + for (var index = 0; $('#' + this.generateUid(index)).size(); index++) {} + + this.$select = $('<select>', { + 'class': o.selectClass, + name: o.selectClass + this.uid, + id: o.selectClass + this.uid, + change: $.proxy(this.selectChangeEvent, this), + click: $.proxy(this.selectClickEvent, this) + }); + + this.$list = $.isFunction(o.listType) + ? o.listType(this.$original) + : $('<' + o.listType + '>', { id: o.listClass + this.uid }); + + this.$list.addClass(o.listClass); + + this.$container = $('<div>', { 'class': o.containerClass, id: this.uid }); + + this.buildSelect(); + + this.$original.change($.proxy(this.originalChangeEvent, this)).wrap(this.$container).before(this.$select); + + // if the list isn't already in the document, add it (it might be inserted by a custom callback) + if (!this.$list.parent().length) { this.$original.before(this.$list); } + + if (this.$original.attr('id')) { + $('label[for=' + this.$original.attr('id') + ']').attr('for', this.$select.attr('id')); + } + + // set up remove event (may be a link, or the list item itself) + this.$list.delegate('.' + o.removeClass, 'click', function() { + self.dropListItem($(this).closest('li')); + return false; + }); + + $.each(o.plugins, function() { this.init(self); }); + }, + + /** + * Triggered when an item has been selected + * Check to make sure it's not an IE screwup, and add it to the list + */ + selectChangeEvent: function() { + if ($.browser.msie && $.browser.version < 7 && !this.ieClick) { return; } + var bsmOpt = $('option:selected:eq(0)', this.$select); + if (bsmOpt.data('orig-option')) { + this.addListItem(bsmOpt); + this.triggerOriginalChange(bsmOpt.data('orig-option'), 'add'); + } + this.ieClick = false; + }, + + /** + * IE6 lets you scroll around in a select without it being pulled down + * making sure a click preceded the change() event reduces the chance + * if unintended items being added. there may be a better solution? + */ + selectClickEvent: function() { + this.ieClick = true; + }, + + /** + * Rebuild bsmSelect when the 'change' event is triggered on the original select + */ + originalChangeEvent: function() { + if (this.ignoreOriginalChangeEvent) { + // We don't want to rebuild everything when an item is added / droped + this.ignoreOriginalChangeEvent = false; + } else { + this.buildSelect(); + // opera has an issue where it needs a force redraw, otherwise + // the items won't appear until something else forces a redraw + if ($.browser.opera) { this.$list.hide().show(); } + } + }, + + /** + * Build the DOM for the new select + */ + buildSelect: function() { + var self = this; + + this.buildingSelect = true; + + // add a first option to be the home option / default selectLabel + this.$select.empty().prepend($('<option value=""></option>').text(this.$original.attr('title') || this.options.title)); + this.$list.empty(); + + this.$original.children().each(function() { + if ($(this).is('option')) { + self.addSelectOption(self.$select, $(this)); + } else if ($(this).is('optgroup')) { + self.addSelectOptionGroup(self.$select, $(this)); + } + }); + + if (!this.options.debugMode) { this.$original.hide(); } + this.selectFirstItem(); + this.buildingSelect = false; + }, + + /** + * Append an option to the new select + * + * @param {jQuery} $parent Where to append the option + * @param {jQuery} $origOpt Option from the original select + */ + addSelectOption: function ($parent, $origOpt) { + var $bsmOpt = $('<option>', { + text: $origOpt.text(), + val: $origOpt.val() }).appendTo($parent).data('orig-option', $origOpt), + isSelected = $origOpt.is(':selected'), + isDisabled = $origOpt.is(':disabled'); + $origOpt.data('bsm-option', $bsmOpt); + if (isSelected && !isDisabled) { + this.addListItem($bsmOpt); + this.disableSelectOption($bsmOpt); + } else if (!isSelected && isDisabled) { + this.disableSelectOption($bsmOpt); + } + }, + + /** + * Append an option group to the new select + * + * @param {jQuery} $parent Where to append the group + * @param {jQuery} $group Model group from the original select + */ + addSelectOptionGroup: function($parent, $group) + { + var self = this, + $G = $('<optgroup>', { label: $group.attr('label')} ).appendTo($parent); + if ($group.is(':disabled')) { $G.attr('disabled', 'disabled'); } + $('option', $group).each(function() { self.addSelectOption($G, $(this)); }); + }, + + /** + * Select the first item of the new select + */ + selectFirstItem: function() { + $('option:eq(0)', this.$select).attr('selected', 'selected'); + }, + + /** + * Make an option disabled, indicating that it's already been selected + * because safari is the only browser that makes disabled items look 'disabled' + * we apply a class that reproduces the disabled look in other browsers + * + * @param {jQuery} $bsmOpt Option from the new select + */ + disableSelectOption: function($bsmOpt) { + $bsmOpt.addClass(this.options.optionDisabledClass) + .removeAttr('selected') + .attr('disabled', 'disabled') + .toggle(!this.options.hideWhenAdded); + if ($.browser.msie && $.browser.version < 8) { this.$select.hide().show(); } // this forces IE to update display + }, + + /** + * Enable a select option + * + * @param {jQuery} $bsmOpt Option from the new select + */ + enableSelectOption: function($bsmOpt) { + $bsmOpt.removeClass(this.options.optionDisabledClass) + .removeAttr('disabled') + .toggle(!this.options.hideWhenAdded); + if ($.browser.msie && $.browser.version < 8) { this.$select.hide().show(); } // this forces IE to update display + }, + + /** + * Append an item corresponding to the option to the list + * + * @param {jQuery} $bsmOpt Option from the new select + */ + addListItem: function($bsmOpt) { + var $item, + $origOpt = $bsmOpt.data('orig-option'), + o = this.options; + + if (!$origOpt) { return; } // this is the first item, selectLabel + + if (!this.buildingSelect) { + if ($origOpt.is(':selected')) { return; } // already have it + $origOpt.attr('selected', 'selected'); + } + + $item = $('<li>', { 'class': o.listItemClass }) + .append($('<span>', { 'class': o.listItemLabelClass, html: o.extractLabel($bsmOpt, o)})) + .append($('<a>', { href: '#', 'class': o.removeClass, html: o.removeLabel })) + .data('bsm-option', $bsmOpt); + + this.disableSelectOption($bsmOpt.data('item', $item)); + + switch (o.addItemTarget) { + case 'bottom': + this.$list.append($item.hide()); + break; + case 'original': + var order = $origOpt.data('bsm-order'), inserted = false; + $('.' + o.listItemClass, this.$list).each(function() { + if (order < $(this).data('bsm-option').data('orig-option').data('bsm-order')) { + $item.hide().insertBefore(this); + inserted = true; + return false; + } + }); + if (!inserted) { this.$list.append($item.hide()); } + break; + default: + this.$list.prepend($item.hide()); + } + + if (this.buildingSelect) { + $.bsmSelect.effects.show($item); + } else { + o.showEffect($item); + o.highlightEffect(this.$select, $item, o.highlightAddedLabel, this.options); + this.selectFirstItem(); + } + }, + + /** + * Remove an item from the list of selection + * + * @param {jQuey} $item A list item + */ + dropListItem: function($item) { + var $bsmOpt = $item.data('bsm-option'), o = this.options; + $bsmOpt.removeData('item').data('orig-option').removeAttr('selected'); + (this.buildingSelect ? $.bsmSelect.effects.remove : o.hideEffect)($item); + this.enableSelectOption($bsmOpt); + o.highlightEffect(this.$select, $item, o.highlightRemovedLabel, o); + this.triggerOriginalChange($bsmOpt.data('orig-option'), 'drop'); + }, + + /** + * Trigger a change event on the original select multiple + * so that other scripts can pick them up + * + * @param {jQuery} $origOpt The option from the original select + * @param {String} type Event type + */ + triggerOriginalChange: function($origOpt, type) { + this.ignoreOriginalChangeEvent = true; + this.$original.trigger('change', [{ + option: $origOpt, + value: $origOpt.val(), + item: $origOpt.data('bsm-option').data('item'), + type: type + }]); + } + }; + + $.fn.bsmSelect = function(customOptions) { + var options = $.extend({}, $.bsmSelect.conf, customOptions); + return this.each(function() { + var bsm = $(this).data("bsmSelect"); + if (!bsm) { + bsm = new BsmSelect($(this), options); + $(this).data("bsmSelect", bsm); + } + }); + }; + + $.bsmSelect = {}; + $.extend($.bsmSelect, { + effects: { + show: function($el) { $el.show(); }, + + remove: function($el) { $el.remove(); }, + + highlight: function ($select, $item, label, conf) { + var $highlight, + id = $select.attr('id') + conf.highlightClass; + $('#' + id).remove(); + $highlight = $('<span>', { + 'class': conf.highlightClass, + id: id, + html: label + $item.children('.' + conf.listItemLabelClass).first().text() + }).hide(); + $select.after($highlight.fadeIn('fast').delay(50).fadeOut('slow', function() { $(this).remove(); })); + }, + + verticalListAdd: function ($el) { + $el.animate({ opacity: 'show', height: 'show' }, 100, function() { + $(this).animate({ height: '+=2px' }, 100, function() { + $(this).animate({ height: '-=2px' }, 100); + }); + }); + }, + + verticalListRemove: function($el) { + $el.animate({ opacity: 'hide', height: 'hide' }, 100, function() { + $(this).prev('li').animate({ height: '-=2px' }, 100, function() { + $(this).animate({ height: '+=2px' }, 100); + }); + $(this).remove(); + }); + } + }, + plugins: { + } + }); + + // Default configuration + $.bsmSelect.conf = { + listType: 'ol', // Ordered list 'ol', or unordered list 'ul' + + showEffect: $.bsmSelect.effects.show, + hideEffect: $.bsmSelect.effects.remove, + highlightEffect: $.noop, + + addItemTarget: 'bottom', // Where to place new selected items in list: top or bottom + hideWhenAdded: false, // Hide the option when added to the list? works only in FF + debugMode: false, // Debug mode keeps original select visible + + title: 'Select...', // Text used for the default select label + removeLabel: 'remove', // HTML used for the 'remove' link + highlightAddedLabel: 'Added: ', // Text that precedes highlight of added item + highlightRemovedLabel: 'Removed: ', // Text that precedes highlight of removed item + extractLabel: function($o) { return $o.html(); }, + + plugins: [], // An array of plugin objects to enable + + containerClass: 'bsmContainer', // Class for container that wraps this widget + selectClass: 'bsmSelect', // Class for the newly created <select> + optionDisabledClass: 'bsmOptionDisabled', // Class for items that are already selected / disabled + listClass: 'bsmList', // Class for the list ($list) + listItemClass: 'bsmListItem', // Class for the <li> list items + listItemLabelClass: 'bsmListItemLabel', // Class for the label text that appears in list items + removeClass: 'bsmListItemRemove', // Class given to the 'remove' link + highlightClass: 'bsmHighlight' // Class given to the highlight <span> + }; + +})(jQuery); diff --git a/chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.sortable.js b/chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.sortable.js new file mode 100644 index 0000000..3e4b9f8 --- /dev/null +++ b/chimere/static/chimere/js/jquery/bsmSelect/js/jquery.bsmselect.sortable.js @@ -0,0 +1,49 @@ +/* + * Better Select Multiple Sortable Plugin + * + * Copyright (c) 2010 by Victor Berchet - http://www.github.com/vicb + * + * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. + * + * version: v1.1.1 - 2010-11-17 + */ +(function($) { + $.bsmSelect.plugins.sortable = function(sortConfig, options) + { + if (!(this instanceof arguments.callee)) { + return new arguments.callee(sortConfig, options); + } + this.sortConfig = sortConfig; + this.options = $.extend({}, this.defaultOpt, options || {}); + } + + $.extend($.bsmSelect.plugins.sortable.prototype, { + defaultOpt: { + listSortableClass: 'bsmListSortable' + }, + + init: function(bsm) { + var o = $.extend({}, this.options, bsm.options), + config = $.extend({}, this.sortConfig, { items: '.' + o.listItemClass }), + self = this; + bsm.$list.addClass(o.listSortableClass).sortable(config); + bsm.$original.bind('change', function(e, info) { self.onChange.call(self, bsm, e, info); } ); + bsm.$list.bind('sortupdate', function(e, ui) { self.onSort.call(self, bsm, e, ui); } ); + }, + + onChange: function(bsm, e, info) { + if (info && info.type == 'add' && !bsm.buildingSelect) { + info.option.detach()[bsm.options.addItemTarget == 'top' ? 'prependTo' : 'appendTo'](bsm.$original); + bsm.$list.sortable('refresh'); + } + }, + + onSort: function(bsm, e, ui) { + $('.' + bsm.options.listItemClass, bsm.$list).each(function() { + $(this).data('bsm-option').data('orig-option').detach().appendTo(bsm.$original); + }); + bsm.triggerOriginalChange($(ui.item).data('bsm-option').data('orig-option'), 'sort'); + } + }); +})(jQuery); + diff --git a/chimere/static/jquery/jquery-1.4.4.min.js b/chimere/static/chimere/js/jquery/jquery-1.4.4.min.js index 8f3ca2e..8f3ca2e 100644 --- a/chimere/static/jquery/jquery-1.4.4.min.js +++ b/chimere/static/chimere/js/jquery/jquery-1.4.4.min.js diff --git a/chimere/static/main_map.js b/chimere/static/chimere/js/main_map.js index 42c9b28..42c9b28 100644 --- a/chimere/static/main_map.js +++ b/chimere/static/chimere/js/main_map.js diff --git a/chimere/static/textareas.js b/chimere/static/chimere/js/textareas.js index fec83b8..fec83b8 100644 --- a/chimere/static/textareas.js +++ b/chimere/static/chimere/js/textareas.js diff --git a/chimere/static/chimere/js/utils.js b/chimere/static/chimere/js/utils.js new file mode 100644 index 0000000..46afd49 --- /dev/null +++ b/chimere/static/chimere/js/utils.js @@ -0,0 +1,238 @@ +// Core javascript helper functions + +// basic browser identification & version +var isOpera = (navigator.userAgent.indexOf("Opera")>=0) && parseFloat(navigator.appVersion); +var isIE = ((document.all) && (!isOpera)) && parseFloat(navigator.appVersion.split("MSIE ")[1].split(";")[0]); + +// Cross-browser event handlers. +function addEvent(obj, evType, fn) { + if (obj.addEventListener) { + obj.addEventListener(evType, fn, false); + return true; + } else if (obj.attachEvent) { + var r = obj.attachEvent("on" + evType, fn); + return r; + } else { + return false; + } +} + +function removeEvent(obj, evType, fn) { + if (obj.removeEventListener) { + obj.removeEventListener(evType, fn, false); + return true; + } else if (obj.detachEvent) { + obj.detachEvent("on" + evType, fn); + return true; + } else { + return false; + } +} + +// quickElement(tagType, parentReference, textInChildNode, [, attribute, attributeValue ...]); +function quickElement() { + var obj = document.createElement(arguments[0]); + if (arguments[2] != '' && arguments[2] != null) { + var textNode = document.createTextNode(arguments[2]); + obj.appendChild(textNode); + } + var len = arguments.length; + for (var i = 3; i < len; i += 2) { + obj.setAttribute(arguments[i], arguments[i+1]); + } + arguments[1].appendChild(obj); + return obj; +} + +// ---------------------------------------------------------------------------- +// Cross-browser xmlhttp object +// from http://jibbering.com/2002/4/httprequest.html +// ---------------------------------------------------------------------------- +var xmlhttp; +/*@cc_on @*/ +/*@if (@_jscript_version >= 5) + try { + xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttp = false; + } + } +@else + xmlhttp = false; +@end @*/ +if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { + xmlhttp = new XMLHttpRequest(); +} + +// ---------------------------------------------------------------------------- +// Find-position functions by PPK +// See http://www.quirksmode.org/js/findpos.html +// ---------------------------------------------------------------------------- +function findPosX(obj) { + var curleft = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curleft += obj.offsetLeft - ((isOpera) ? 0 : obj.scrollLeft); + obj = obj.offsetParent; + } + // IE offsetParent does not include the top-level + if (isIE && obj.parentElement){ + curleft += obj.offsetLeft - obj.scrollLeft; + } + } else if (obj.x) { + curleft += obj.x; + } + return curleft; +} + +function findPosY(obj) { + var curtop = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curtop += obj.offsetTop - ((isOpera) ? 0 : obj.scrollTop); + obj = obj.offsetParent; + } + // IE offsetParent does not include the top-level + if (isIE && obj.parentElement){ + curtop += obj.offsetTop - obj.scrollTop; + } + } else if (obj.y) { + curtop += obj.y; + } + return curtop; +} + +//----------------------------------------------------------------------------- +// Date object extensions +// ---------------------------------------------------------------------------- +Date.prototype.getCorrectYear = function() { + // Date.getYear() is unreliable -- + // see http://www.quirksmode.org/js/introdate.html#year + var y = this.getYear() % 100; + return (y < 38) ? y + 2000 : y + 1900; +} + +Date.prototype.getTwelveHours = function() { + hours = this.getHours(); + if (hours == 0) { + return 12; + } + else { + return hours <= 12 ? hours : hours-12 + } +} + +Date.prototype.getTwoDigitMonth = function() { + return (this.getMonth() < 9) ? '0' + (this.getMonth()+1) : (this.getMonth()+1); +} + +Date.prototype.getTwoDigitDate = function() { + return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate(); +} + +Date.prototype.getTwoDigitTwelveHour = function() { + return (this.getTwelveHours() < 10) ? '0' + this.getTwelveHours() : this.getTwelveHours(); +} + +Date.prototype.getTwoDigitHour = function() { + return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours(); +} + +Date.prototype.getTwoDigitMinute = function() { + return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes(); +} + +Date.prototype.getTwoDigitSecond = function() { + return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds(); +} + +Date.prototype.getISODate = function() { + return this.getCorrectYear() + '-' + this.getTwoDigitMonth() + '-' + this.getTwoDigitDate(); +} + +Date.prototype.getHourMinute = function() { + return this.getTwoDigitHour() + ':' + this.getTwoDigitMinute(); +} + +Date.prototype.getHourMinuteSecond = function() { + return this.getTwoDigitHour() + ':' + this.getTwoDigitMinute() + ':' + this.getTwoDigitSecond(); +} + +Date.prototype.strftime = function(format) { + var fields = { + c: this.toString(), + d: this.getTwoDigitDate(), + H: this.getTwoDigitHour(), + I: this.getTwoDigitTwelveHour(), + m: this.getTwoDigitMonth(), + M: this.getTwoDigitMinute(), + p: (this.getHours() >= 12) ? 'PM' : 'AM', + S: this.getTwoDigitSecond(), + w: '0' + this.getDay(), + x: this.toLocaleDateString(), + X: this.toLocaleTimeString(), + y: ('' + this.getFullYear()).substr(2, 4), + Y: '' + this.getFullYear(), + '%' : '%' + }; + var result = '', i = 0; + while (i < format.length) { + if (format.charAt(i) === '%') { + result = result + fields[format.charAt(i + 1)]; + ++i; + } + else { + result = result + format.charAt(i); + } + ++i; + } + return result; +} + +// ---------------------------------------------------------------------------- +// String object extensions +// ---------------------------------------------------------------------------- +String.prototype.pad_left = function(pad_length, pad_string) { + var new_string = this; + for (var i = 0; new_string.length < pad_length; i++) { + new_string = pad_string + new_string; + } + return new_string; +} + +// ---------------------------------------------------------------------------- +// Get the computed style for and element +// ---------------------------------------------------------------------------- +function getStyle(oElm, strCssRule){ + var strValue = ""; + if(document.defaultView && document.defaultView.getComputedStyle){ + strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule); + } + else if(oElm.currentStyle){ + strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){ + return p1.toUpperCase(); + }); + strValue = oElm.currentStyle[strCssRule]; + } + return strValue; +} + +/* +* Check if an array as some index +*/ +function has_index(index, arr) { + var v = arr[index]; + if (typeof v === "undefined") + return false; + else + return v; } + +/* +* Utils to initialize a var from another one, with a default value +*/ +function get_or_set(v, d){ + return typeof v === "undefined" ? d : v;} + diff --git a/chimere/static/icons/email.png b/chimere/static/icons/email.png Binary files differdeleted file mode 100644 index 1a0a014..0000000 --- a/chimere/static/icons/email.png +++ /dev/null diff --git a/chimere/static/icons/facebook.png b/chimere/static/icons/facebook.png Binary files differdeleted file mode 100644 index 8036b19..0000000 --- a/chimere/static/icons/facebook.png +++ /dev/null diff --git a/chimere/static/icons/identica.png b/chimere/static/icons/identica.png Binary files differdeleted file mode 100644 index a9625d1..0000000 --- a/chimere/static/icons/identica.png +++ /dev/null diff --git a/chimere/static/icons/minus.png b/chimere/static/icons/minus.png Binary files differdeleted file mode 100644 index a95822f..0000000 --- a/chimere/static/icons/minus.png +++ /dev/null diff --git a/chimere/static/icons/plus.png b/chimere/static/icons/plus.png Binary files differdeleted file mode 100644 index 404a24a..0000000 --- a/chimere/static/icons/plus.png +++ /dev/null diff --git a/chimere/static/icons/twitter.png b/chimere/static/icons/twitter.png Binary files differdeleted file mode 100644 index 295767a..0000000 --- a/chimere/static/icons/twitter.png +++ /dev/null diff --git a/chimere/static/icons/zoom.png b/chimere/static/icons/zoom.png Binary files differdeleted file mode 100644 index 3a53680..0000000 --- a/chimere/static/icons/zoom.png +++ /dev/null diff --git a/chimere/static/jquery/bsmSelect b/chimere/static/jquery/bsmSelect deleted file mode 160000 -Subproject ad1bb45de4213b2e2c44394691fe3624b19d49f |
