[Cosmo-dev] Re: [commits-cosmo] (mde) [3973] Fix for bug 6075 --
IE6: All day events z-index issue.
Ted Leung
twl at osafoundation.org
Fri Mar 30 13:31:49 PST 2007
Both of these bugs are targeted for 0.7, but you checked into the
trunk, which is now 0.6.1. We're going to have plenty of QA to do
on 0.6.1 for just the Chandler interop stuff. I think it would be
better if we didn't add to that testing burden with lots of UI changes.
Ted
On Mar 30, 2007, at 12:36 PM, Matthew Eernisse wrote:
> Hmm, that commit (r3973) should also fix bug 8170 -- Annoying
> 'object required' error on initial app load in IE6.
>
> svncheckin at osafoundation.org wrote:
>> Revision
>> 3973 <http://cvs.osafoundation.org/viewcvs.cgi?rev=3973&view=rev>
>> Author
>> mde
>> Date
>> 2007-03-30 12:21:28 -0700 (Fri, 30 Mar 2007)
>> Log Message
>> Fix for bug 6075 <http://bugzilla.osafoundation.org/show_bug.cgi?
>> id=6075> -- IE6: All day events z-index issue. Hide
>> the content div while resizing, and hard-code the height of
>> the content div to the visible height on drop. Also put a
>> proper fix on the selection-on-drag problem in IE.
>> Modified Paths
>> * cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/cal_main.js
>> <#cosmotrunkcosmosrcmainwebappjscosmouical_mainjs>
>> * cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/event/handlers.js
>> <#cosmotrunkcosmosrcmainwebappjscosmouieventhandlersjs>
>> * cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/resize_area.js
>> <#cosmotrunkcosmosrcmainwebappjscosmouiresize_areajs>
>> * cosmo/trunk/cosmo/src/main/webapp/js/cosmo/view/cal/canvas.js
>> <#cosmotrunkcosmosrcmainwebappjscosmoviewcalcanvasjs>
>> Diff
>> Modified:
>> cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/cal_main.js
>> (3972
>> => 3973)
>> --- cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/cal_main.js
>> 2007-03-30 17:35:34 UTC (rev 3972)
>> +++ cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/cal_main.js
>> 2007-03-30 19:21:28 UTC (rev 3973)
>> @@ -289,12 +289,6 @@
>> // seems to reset the scrollTop in Safari
>> viewDiv.scrollTop = parseInt(HOUR_UNIT_HEIGHT*8);
>> - // BANDAID for IE6 -- dummy element to force
>> 100% height to render
>> - if (document.all) {
>> - var dummyElem = document.createElement('div');
>> - allDayDiv.appendChild(dummyElem);
>> - }
>> - // Add event listeners for form-element behaviors
>> this.calForm.setEventListeners();
>> Modified:
>> cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/event/
>> handlers.js
>> (3972 => 3973)
>> --- cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/event/
>> handlers.js 2007-03-30 17:35:34 UTC (rev 3972)
>> +++ cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/event/
>> handlers.js 2007-03-30 19:21:28 UTC (rev 3973)
>> @@ -86,11 +86,24 @@
>> cosmo.ui.event.handlers.mouseMoveHandler = function (e) {
>> var d = cosmo.app.dragItem;
>> // Set global x-y coords
>> - xPos = e ? e.pageX : window.event.x;
>> - yPos = e ? e.pageY : (window.event.y + document.body.scrollTop);
>> + if (e) {
>> + xPos = e.pageX;
>> + yPos = e.pageY;
>> + }
>> + else {
>> + xPos = window.event.x;
>> + yPos = window.event.y;
>> + if (document.body) {
>> + yPos += document.body.scrollTop;
>> + }
>> + }
>> + // Drag the app's draggable if there is one
>> if (d) {
>> - d.doDrag(); + // Prevent text selection on drag in IE
>> + // Must turn it back on after drag operation completes
>> + document.body.onselectstart = function () { return
>> false; }; + d.doDrag(); }
>> }
>> @@ -100,8 +113,11 @@
>> */
>> cosmo.ui.event.handlers.mouseUpHandler = function (e) {
>> // Drop anything the user is dragging
>> - if (cosmo.app.dragItem) {
>> - cosmo.app.dragItem.drop();
>> + var d = cosmo.app.dragItem;
>> + if (d) {
>> + d.drop();
>> + // Allow text selection again after Draggable is dropped
>> + document.body.onselectstart = null;
>> // Clear out the app draggable
>> cosmo.app.dragItem = null;
>> }
>> Modified:
>> cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/resize_area.js
>> (3972 => 3973)
>> --- cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/resize_area.js
>> 2007-03-30 17:35:34 UTC (rev 3972)
>> +++ cosmo/trunk/cosmo/src/main/webapp/js/cosmo/ui/resize_area.js
>> 2007-03-30 19:21:28 UTC (rev 3973)
>> @@ -26,9 +26,9 @@
>> ResizeAreaAdjacent = cosmo.ui.resize_area.ResizeAreaAdjacent;
>> cosmo.ui.resize_area.ResizeArea = function (id, handleId) {
>> - +
>> var self = this;
>> - +
>> this.id = id;
>> this.handleId = handleId;
>> this.contentDiv = null;
>> @@ -45,10 +45,12 @@
>> self.handleDiv = document.getElementById(this.handleId);
>> self.handleDiv.onmousedown = function()
>> { cosmo.app.dragItem = self };
>> self.direction = dir ? dir : this.direction;
>> - self.origSize = this.getHeight(this.contentDiv) +
>> + self.origSize = this.getHeight(this.contentDiv) +
>> self.getHeight(this.handleDiv);
>> self.dragSize = self.origSize;
>> - + if (navigator.appVersion.indexOf('MSIE 6') > -1) {
>> + self.contentDiv.style.height = this.dragSize + 'px';
>> + }
>> };
>> this.addAdjacent = function(id) {
>> var div = document.getElementById(id);
>> @@ -57,19 +59,22 @@
>> div, this.getAbsTop(div), this.getHeight(div));
>> };
>> this.setDragLimit = function() {
>> - this.dragLimit = this.adjacentArea[0].origPos +
>> - this.adjacentArea[0].origSize - TOP_MENU_HEIGHT -
>> + this.dragLimit = this.adjacentArea[0].origPos +
>> + this.adjacentArea[0].origSize - TOP_MENU_HEIGHT -
>> ALL_DAY_RESIZE_HANDLE_HEIGHT;
>> };
>> this.compareNumbers = function(a, b) { return a - b };
>> this.doDrag = function () {
>> - this.resize(); + this.resize();
>> };
>> this.resize = function() {
>> var offset = this.contentDiv.offsetTop;
>> var pos = yPos - TOP_MENU_HEIGHT;
>> var size = (pos - offset);
>> var div = null;
>> + if (navigator.appVersion.indexOf('MSIE 6') > -1) {
>> + self.contentDiv.style.display = 'none';
>> + }
>> if (pos > offset && pos < this.dragLimit) {
>> this.contentDiv.style.height = size + 'px';
>> this.dragSize = (size + ALL_DAY_RESIZE_HANDLE_HEIGHT);
>> @@ -77,15 +82,18 @@
>> for (var i = 0; i < this.adjacentArea.length; i++) {
>> div = this.adjacentArea[i].div;
>> div.style.top = (pos+8) + 'px';
>> - div.style.height = (((this.adjacentArea
>> [i].origPos-yPos) + + div.style.height =
>> (((this.adjacentArea[i].origPos-yPos) +
>> this.adjacentArea[i].origSize) - 8) + 'px';
>> }
>> }
>> };
>> this.drop = function() {
>> - // Do nothing
>> - // This function is called when ResizeArea is the draggable
>> - // So drop method must be defined here
>> + // IE6 -- workaround z-index issue by actually truncating
>> + // inner content div height to visible height of area
>> + if (navigator.appVersion.indexOf('MSIE 6') > -1) {
>> + self.contentDiv.style.height = this.dragSize + 'px';
>> + self.contentDiv.style.display= 'block';
>> + }
>> };
>> this.getAbsTop = function(div) {
>> return div.offsetTop + Cal.top;
>> Modified:
>> cosmo/trunk/cosmo/src/main/webapp/js/cosmo/view/cal/canvas.js
>> (3972 => 3973)
>> --- cosmo/trunk/cosmo/src/main/webapp/js/cosmo/view/cal/canvas.js
>> 2007-03-30 17:35:34 UTC (rev 3972)
>> +++ cosmo/trunk/cosmo/src/main/webapp/js/cosmo/view/cal/canvas.js
>> 2007-03-30 19:21:28 UTC (rev 3973)
>> @@ -846,17 +846,15 @@
>> // Subtract one px for border per asinine CSS spec
>> var halfHourHeight = (HOUR_UNIT_HEIGHT/2) - 1;
>> - function workingHoursLine() {
>> - var r = '';
>> - // Working/non-working hours line
>> - r += '<div class="';
>> - r += (j < 8 || j > 17) ? 'nonWorkingHours' :
>> 'workingHours';
>> - r += '" style="width:' + workingHoursBarWidth +
>> - 'px; height:' + (halfHourHeight+1) +
>> - 'px; float:left; font-size:1px;"> </div>';
>> - return r;
>> - }
>> - + var w = '';
>> + // Working/non-working hours line
>> + w += '<div class="';
>> + w += (j < 8 || j > 17) ? 'nonWorkingHours' :
>> 'workingHours';
>> + w += '" style="width:' + workingHoursBarWidth +
>> + 'px; height:' + (halfHourHeight+1) +
>> + 'px; float:left; font-size:1px;"> </div>';
>> + var workingHoursLine = '';
>> +
>> str = '';
>> viewDiv = timelineNode; timeLineWidth =
>> parseInt(viewDiv.offsetWidth);
>> @@ -880,7 +878,7 @@
>> row += '<div class="hourDivSubLeft">' + hour
>> + meridian + '</div>';
>> row += '</div>\n';
>> - row += workingHoursLine();
>> + row += workingHoursLine;
>> row += '<br class="clearAll"/>'
>> idstr = i + '-' + j + '30';
>> @@ -898,7 +896,7 @@
>> }
>> row += ' width:' + timeLineWidth
>> + 'px; float:left;"> </div>\n';
>> - row += workingHoursLine();
>> + row += workingHoursLine;
>> row += '<br class="clearAll"/>'
>> str += row;
>> @@ -1012,7 +1010,6 @@
>> showMonthHeader();
>> showDayNameHeaders();
>> showAllDayCols();
>> - showHours();
>> // Create event listeners
>> if (!initRender) {
>> @@ -1020,6 +1017,8 @@
>> dojo.event.connect(allDayColsNode, 'onmousedown',
>> mouseDownHandler);
>> dojo.event.connect(hoursNode, 'ondblclick',
>> dblClickHandler);
>> dojo.event.connect(allDayColsNode, 'ondblclick',
>> dblClickHandler);
>> + + showHours();
>> }
>> initRender = true;
>> ---------------------------------------------------------------------
>> ---
>> _______________________________________________
>> Commits-Cosmo mailing list
>> Commits-Cosmo at osafoundation.org
>> http://lists.osafoundation.org/cgi-bin/mailman/listinfo/commits-cosmo
>
> _______________________________________________
> Commits-Cosmo mailing list
> Commits-Cosmo at osafoundation.org
> http://lists.osafoundation.org/cgi-bin/mailman/listinfo/commits-cosmo
More information about the cosmo-dev
mailing list