From ee027fb760f0285724ca5f4f0b93a0825089c3d5 Mon Sep 17 00:00:00 2001 From: rlx <0x0073@0x2620.org> Date: Fri, 4 Mar 2011 03:50:37 +0000 Subject: [PATCH] merging changes --- build/css/ox.ui.css | 11 +++- build/js/ox.ui.js | 118 +++++++++++++---------------------- demos/splitpanel2/index.html | 20 +++--- 3 files changed, 59 insertions(+), 90 deletions(-) diff --git a/build/css/ox.ui.css b/build/css/ox.ui.css index 7402e560..6c5f96e1 100644 --- a/build/css/ox.ui.css +++ b/build/css/ox.ui.css @@ -719,7 +719,7 @@ Lists } .OxIconList .OxPage { - //position: absolute; + position: absolute; left: 0; right: 0; margin-left: auto; @@ -799,6 +799,11 @@ Lists //-webkit-user-select: text; } +.OxTextList { + top: 0; + bottom: 0; +} + .OxTextList .OxBar { //z-index: 10; //-moz-box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.75); @@ -892,7 +897,7 @@ Lists .OxTextList .OxBody { float: left; - //position: absolute; + position: absolute; left: 0; top: 0; right: 0; @@ -943,7 +948,7 @@ Lists cursor: ns-resize; } .OxTextList .OxPage { - //position: absolute; + position: absolute; } .OxTextList.OxDrop .OxItem .OxCell { color: green; diff --git a/build/js/ox.ui.js b/build/js/ox.ui.js index 13d15ab2..e796fc5c 100644 --- a/build/js/ox.ui.js +++ b/build/js/ox.ui.js @@ -9625,8 +9625,13 @@ requires self.places = []; self.options.places.forEach(function(place, i) { self.places[i] = Place(Ox.clone(place)); + if (i == 0) { + Ox.print('0000', self.places[i].bounds, self.places[i].bounds.union) + } else { + Ox.print('$$$$', self.bounds) + } self.bounds = i == 0 ? - Ox.clone(self.places[i].bounds) : + self.places[i].bounds : self.bounds.union(self.places[i].bounds); }); self.center = self.bounds ? self.bounds.getCenter() : new google.maps.LatLng(0, 0); @@ -9739,23 +9744,29 @@ requires } function Marker(place) { - var listeners = {}, - marker = new google.maps.Marker({ + var marker = new google.maps.Marker({ position: place.center, title: place.name }), selected = false; setOptions(); + Ox.print('MARKER', marker) function click(event) { - Ox.print('click metaKey', event.metaKey, selected) + // fixme: metaKey used to work + /* + Ox.print('click event', event, 'metakey', event.metaKey, 'selected', selected) if (event.metaKey == selected) { selected = !event.metaKey; selectPlace(selected ? place.id : ''); } + */ + selected = !selected; + selectPlace(selected ? place.id : ''); } function dblclick() { - Ox.print('####', place.bounds) - self.map.fitBounds(place.bounds); + Ox.print('PLACE.BOUNDS', place.bounds) + self.bounds = place.bounds; + self.map.fitBounds(self.bounds); } function setOptions() { marker.setOptions({ @@ -9768,10 +9779,8 @@ requires add: function() { Ox.print('Marker.add()') marker.setMap(self.map); - listeners = { - click: google.maps.event.addListener(marker, 'click', click), - dblclick: google.maps.event.addListener(marker, 'dblclick', dblclick), - }; + google.maps.event.addListener(marker, 'click', click); + google.maps.event.addListener(marker, 'dblclick', dblclick); }, deselect: function() { selected = false; @@ -9779,9 +9788,7 @@ requires }, remove: function() { marker.setMap(null); - $.each(listeners, function(i, listener) { - google.maps.event.removeListener(listener); - }); + google.maps.event.clearListeners(marker); }, select: function() { selected = true; @@ -9799,6 +9806,7 @@ requires new google.maps.LatLng(place.south, place.west), new google.maps.LatLng(place.north, place.east) ); + Ox.print('place.bounds', place.bounds, place.bounds.union) } else { // geodata object if (!place.geometry.bounds) { @@ -9972,6 +9980,7 @@ requires self.resultPlace = place; selectPlace(place.id); self.bounds = place.bounds; + Ox.print('SELF.BOUNDS', self.bounds) self.map.fitBounds(self.bounds); } callback(place); @@ -11252,12 +11261,7 @@ requires var element = self.options.elements[pos], size = element.element[self.dimensions[0]](); if (element.resizable && !element.collapsed) { - Ox.isString(element.size) && setPixels(pos); self.drag = { - resize: Ox.isNumber(element.size) ? - element.resize : element.resize.map(function(v) { - return getPixelsByPercent(v); - }), size: size, startPos: e[self.clientXY], startSize: size @@ -11274,10 +11278,10 @@ requires var d = e[self.clientXY] - self.drag.startPos, size = Ox.limit( self.drag.startSize + d * (index ? -1 : 1), - self.drag.resize[0], - self.drag.resize[element.resize.length - 1] + element.resize[0], + element.resize[element.resize.length - 1] ); - self.drag.resize.forEach(function(v) { + element.resize.forEach(function(v) { if (size >= v - 8 && size <= v + 8) { size = v; return false; @@ -11299,53 +11303,16 @@ requires var data = {}, element = self.options.elements[pos]; if (element.resizable && !element.collapsed) { - Ox.isString(element.size) && setPercent(pos); data[self.dimensions[0]] = self.drag.size element.element.triggerEvent('resizeend', data); triggerEvents('resizeend', pos); } } - function getPixelsByPercent(percent) { - return Math.round(( - that[self.dimensions[0]]() - - self.options.elements.reduce(function(val, element) { - return val + Ox.isNumber(element.size) ? - element.element[self.dimensions[0]]() : 0; - }, 0) - self.$separators.length - ) * parseFloat(percent) / 100); - } - - function setPercent(pos) { - var element = self.options.elements[pos], - flex = ( - element.size == 'auto' ? self.autoPercent : element.size - ).replace('%', ''), - css = { - boxFlex: flex, - MozBoxFlex: flex, - WebkitBoxFlex: flex - }; - css[self.dimensions[0]] = ''; - Ox.print('setPercent', css) - element.element.css(css); - } - - function setPixels(pos) { - var css = { - boxFlex: '', - MozBoxFlex: '', - WebkitBoxFlex: '' - }, - element = self.options.elements[pos]; - css[self.dimensions[0]] = element.element[self.dimensions[0]]() + 'px'; - element.element.css(css); - } - function triggerEvents(event, pos) { var data = {}; self.options.elements.forEach(function(element, i) { - if (i != pos && Ox.isString(element.size)) { + if (i != pos && element.size == 'auto') { data[self.dimensions[0]] = element.element[self.dimensions[0]](); element.element.triggerEvent(event, data); } @@ -11353,24 +11320,28 @@ requires } that.replaceElement = function(pos, element) { - var $element = self.options.elements[pos].element; + var $element = self.options.elements[pos].element, + size = self.options.elements[pos].size; $element.replaceWith(self.options.elements[pos].element = element); - if (Ox.isNumber(self.options.elements[pos].size)) { - setPixels(pos); + if (size == 'auto') { + $element.css(self.boxFlexCSS); } else { - setPercent(pos); + $element.css(self.dimensions[0], size + 'px') } return that; }; - that.resizeElement = function(pos, size) { - var element = self.options.elements[pos]; - element.size = size; - if (Ox.isNumber(element.size)) { - setPixels(pos); + that.size = function(pos, size) { + var element = self.options.elements[pos], + ret; + if (Ox.isUndefined(size)) { + ret = element.element[self.dimensions[0]](); } else { - setPercent(pos); + element.size = size; + element.element.css(self.dimensions[0], size + 'px') + ret = that; } + return that; } that.toggle = function(pos) { @@ -11381,16 +11352,10 @@ requires size = element.element[self.dimensions[0]](); if (element.collapsible) { element.collapsed = !element.collapsed; - if (Ox.isString(element.size) && element.collapsed) { - setPixels(pos); - } css['margin' + Ox.toTitleCase(self.edges[0][index])] = element.collapsed ? -size : 0; Ox.print('css', css); that.animate(css, 250, function() { - if (Ox.isString(element.size) && !element.collapsed) { - setPercent(pos); - } element.element.triggerEvent('toggle', {collapsed: element.collapsed}); triggerEvents('resize', pos); }); @@ -11420,6 +11385,7 @@ requires toggle */ Ox.SplitPanel = function(options, self) { + var self = self || {}, that = new Ox.Element({}, self) // fixme: Container .defaults({ @@ -11553,7 +11519,7 @@ requires return self.options.elements[pos].collapsed; }; - that.replace = function(id, element) { // fixme: should be replaceElement + that.replaceElement = function(id, element) { // one can pass pos instead of id var pos = Ox.isNumber(id) ? id : getPositionById(id); //Ox.print('replace', pos, element); diff --git a/demos/splitpanel2/index.html b/demos/splitpanel2/index.html index 13130398..11a5c582 100644 --- a/demos/splitpanel2/index.html +++ b/demos/splitpanel2/index.html @@ -6,6 +6,7 @@ +