Project:
| View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
| ID | ||||||||
| 0028405 | ||||||||
| Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
| defect | [Openbravo ERP] A. Platform | major | always | 2014-12-12 14:00 | 2015-05-19 11:17 | |||
| Reporter | caristu | View Status | public | |||||
| Assigned To | dbaz | |||||||
| Priority | high | Resolution | fixed | Fixed in Version | pi | |||
| Status | closed | Fix in branch | Fixed in SCM revision | 4ccbe0367479 | ||||
| Projection | none | ETA | none | Target Version | 3.0PR15Q3 | |||
| OS | Any | Database | Any | Java version | ||||
| OS Version | Database version | Ant version | ||||||
| Product Version | SCM revision | |||||||
| Merge Request Status | ||||||||
| Review Assigned To | caristu | |||||||
| OBNetwork customer | OBPS | |||||||
| Web browser | ||||||||
| Modules | Core | |||||||
| Support ticket | 31899 | |||||||
| Regression level | ||||||||
| Regression date | ||||||||
| Regression introduced in release | ||||||||
| Regression introduced by commit | ||||||||
| Triggers an Emergency Pack | No | |||||||
| Summary | 0028405: Wrong event overlap in Smartclient calendar | |||||||
| Description | The events of the Smartclient calendar are not correctly overlapped under some circumstances. This wrong behavior can be seen here: http://www.screencast.com/t/y8Q0zQ6jl9V [^] This is a problem in the Smartclient library, reported in this thread: http://forums.smartclient.com/showthread.php?p=125728 [^] | |||||||
| Steps To Reproduce | 1) Install the attached module 2) Open the view implementation, using the [My Calendar] menu entry 3) Notice the wrong event overlap after clicking on the "Change Lanes" button | |||||||
| Tags | No tags attached. | |||||||
| Attached Files | diff --git a/modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/isomorphic/ISC_Combined.js b/modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/isomorphic/ISC_Combined.js
--- a/modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/isomorphic/ISC_Combined.js
+++ b/modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/isomorphic/ISC_Combined.js
@@ -13199,7 +13199,7 @@
_16[_7.laneNameField]=_20[_7.laneNameField];if(this.eventsOverlap(_16,_20,_4)){_10.add(_20)}}
return _10},isc.A.eventsOverlap=function isc_CalendarView_eventsOverlap(_1,_2,_3){var a=_1,b=_2,_6=this.calendar,_7=_6.startDateField,_8=_6.endDateField;if(_3&&a[_6.laneNameField]!=b[_6.laneNameField])return false;if(this.isTimelineView()){if(a[_6.leadingDateField]&&b[_6.leadingDateField])_7=_6.leadingDateField;if(a[_6.trailingDateField]&&b[_6.trailingDateField])_8=_6.trailingDateField}
var _9=a[_7],_10=a[_8]||_6.getEventEndDate(a),_11=b[_7],_12=b[_8]||_6.getEventEndDate(b);if(_6.equalDatesOverlap&&_6.allowEventOverlap){if((_9<_11&&_10>=_11&&_10<=_12)||(_9<=_12&&_10>_12)||(_9<=_11&&_10>=_12)||(_9>=_11&&_10<=_12)){return true}else{return false}}else{if(_11<_10&&_12>_9)return true;return false}});isc.evalBoundary;isc.B.push(isc.A.updateEventRange=function isc_CalendarView_updateEventRange(_1,_2){if(!isc.isAn.Object(_2))_2=this.overlapRanges.ranges[_2];var _3=_2.events;_3.remove(_1);this.updateOverlapRanges(_3)},isc.A.updateOverlapRanges=function isc_CalendarView_updateOverlapRanges(_1){var _2=this.calendar,_3=_1||_2.data,_4=this.overlapRanges||[],_5=_3.getLength(),_6=this.isTimelineView()||(this.isDayView()&&_2.showDayLanes),_7=!this.isTimelineView(),_8=[],_9=this.startDate,_10=this.endDate;if(isc.isA.ResultSet(_3)){_3=_3.allRows}
-_3.setProperty("$122k",false);_3.setProperty("$646",null);_3.setProperty("$126u",null);var _11=_6&&this.lanes?this.lanes.getProperty(_2.laneNameField):[];for(var i=0;i<_5;i++){var _13=_3.get(i);if(_13.$122k)continue;if(_6&&!_11.contains(_13[_2.laneNameField])){continue}
+_3.setProperty("$122k",false);_3.setProperty("$646",null);_3.setProperty("$126u",null);var _11=_6&&_2.lanes?isc.getKeys(_2.getLaneMap()):[];for(var i=0;i<_5;i++){var _13=_3.get(i);if(_13.$122k)continue;if(_6&&!_11.contains(_13[_2.laneNameField])){continue}
_13.$122k=true;_13.$646={};var _14=false,_15={};_15[_2.startDateField]=_2.getEventStartDate(_13)
_15[_2.endDateField]=_2.getEventEndDate(_13);if(_6)_15[_2.laneNameField]=_15.lane=_13[_2.laneNameField];_15.events=[];var _16=this.findOverlappingEvents(_13,_13,true,_6,_3);if(_16&&_16.length>0){_15.totalSlots=_16.length;var _17=_15.totalSlots;var _18=1;for(var j=0;j<_16.length;j++){var _20=_16[j],_21=_2.getEventStartDate(_20),_22=_2.getEventStartDate(_20);if(_21<_15[_2.startDateField])
_15[_2.startDateField]=_21;if(_22>_15[_2.endDateField])
@@ -13254,7 +13254,7 @@
var _10=this.getCellDate(_8,_4),_11=this.getCellDate(_9,_5);return[_10,_11]},isc.A.getVisibleRowRange=function isc_CalendarView_getVisibleRowRange(){if(!this.renderEventsOnDemand){return[0,this.data.getLength()]}
return this.getVisibleRows()},isc.A.getVisibleColumnRange=function isc_CalendarView_getVisibleColumnRange(){if(!this.renderEventsOnDemand){return[0,this.fields.getLength()]}
return this.body.getVisibleColumns()},isc.A.refreshVisibleEvents=function isc_CalendarView_refreshVisibleEvents(_1){if(!this.body||!this.body.isDrawn())return;if(!this.$128q){this.refreshEvents();return}
-_1=_1||this.getVisibleEvents();this.sortForRender(_1);var _2=[];var _3=_1.getLength();var _4=this.useEventCanvasPool?this.$128q.duplicate():[],_2=[];this.logDebug('refreshing visible events','calendar');for(var i=0;i<_3;i++){var _6=_1.get(i),_7=this.$128q.contains(_6);if(_7){_4.remove(_6);if(this.isGrouped){var _8=this.getCurrentEventCanvas(_6);this.sizeEventCanvas(_8,true)}
+_1=_1||this.getVisibleEvents();this.sortForRender(_1);var _2=[];var _3=_1.getLength();var _4=this.useEventCanvasPool?this.$128q.duplicate():[],_2=[];this.logDebug('refreshing visible events','calendar');for(var i=0;i<_3;i++){var _6=_1.get(i),_7=this.$128q.contains(_6);if(_7){_4.remove(_6);if(this.isGrouped||this.useEventCanvasPool){var _8=this.getCurrentEventCanvas(_6);this.sizeEventCanvas(_8,true)}
continue}
_2.add(_6)}
if(this.isGrouped||(this.useEventCanvasPool&&this.eventCanvasPoolingMode=="viewport"))
@@ -13630,7 +13630,7 @@
return _1},isc.A.getHoverHTML=function isc_EventCanvas_getHoverHTML(){return this.calendar.getEventHoverHTML(this.event,this,this.calendarView)},isc.A.shouldShowCloseButton=function isc_EventCanvas_shouldShowCloseButton(){return this.showCloseButton!=false},isc.A.shouldShowContextButton=function isc_EventCanvas_shouldShowContextButton(){return this.showContextButton!=false},isc.A.getRolloverControls=function isc_EventCanvas_getRolloverControls(){return null},isc.A.renderEvent=function isc_EventCanvas_renderEvent(_1,_2,_3,_4,_5){if(isc.isA.Number(_3)&&isc.isA.Number(_4)){this.resizeTo(Math.round(_3),Math.round(_4))}
if(isc.isA.Number(_1)&&isc.isA.Number(_2)){this.moveTo(Math.round(_2),Math.round(_1))}
this.checkStyle();if(!this.parentElement.isDrawn())return;if(!this.isDrawn())this.draw();this.show();if(_5)this.sendToBack();else this.bringToFront()},isc.A.checkStyle=function isc_EventCanvas_checkStyle(){var _1=this.calendar.getEventCanvasStyle(this.event,this.calendarView);if(_1!=this.styleName)this.setEventStyle(_1)},isc.A.click=function isc_EventCanvas_click(){this.calendar.$129v(this)},isc.A.mouseUp=function isc_EventCanvas_mouseUp(){return isc.EH.STOP_BUBBLING},isc.A.mouseDown=function isc_EventCanvas_mouseDown(){if(this.dragTarget)this.dragTarget.eventCanvas=this;this.calendar.eventDialog.hide();return isc.EH.STOP_BUBBLING},isc.A.mouseOver=function isc_EventCanvas_mouseOver(){if(!this.showRolloverControls||!this.calendar.useEventCanvasRolloverControls)return;if(this.$129e&&this.$129e.length>0){var _1=isc.EH.lastEvent.target;if(_1==this||_1.eventCanvas==this)return}
-this.calendar.showEventCanvasRolloverControls(this)},isc.A.mouseOut=function isc_EventCanvas_mouseOut(){if(!this.showRolloverControls||!this.calendar.useEventCanvasRolloverControls)return;var _1=isc.EH.lastEvent.target;if(_1&&(_1.eventCanvas==this||_1==isc.Hover.hoverCanvas))return;this.calendar.hideEventCanvasRolloverControls(this)},isc.A.parentResized=function isc_EventCanvas_parentResized(){this.Super('parentResized',arguments);if(this.event)this.calendarView.sizeEventCanvas(this)},isc.A.destroy=function isc_EventCanvas_destroy(){if(!this.calendar.useEventCanvasRolloverControls&&this.$129e){for(var i=this.$129e.length-1;i>=0;i--){var _2=this.$129e[i];this.$129e.removeAt(i);this.removeChild(_2);_2.destroy();_2=null}}});isc.B._maxIndex=isc.C+32;isc.defineClass("ZoneCanvas","EventCanvas");isc.A=isc.ZoneCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="footer";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_ZoneCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_ZoneCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_ZoneCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getZoneCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_ZoneCanvas_click(){if(this.calendar.zoneClick)this.calendar.zoneClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_ZoneCanvas_getHoverHTML(){return this.calendar.getZoneHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_ZoneCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.defineClass("IndicatorCanvas","EventCanvas");isc.A=isc.IndicatorCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="none";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_IndicatorCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_IndicatorCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_IndicatorCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getIndicatorCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_IndicatorCanvas_click(){if(this.calendar.indicatorClick)this.calendar.indicatorClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_IndicatorCanvas_getHoverHTML(){return this.calendar.getIndicatorHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_IndicatorCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.AutoTest.customizeCalendar();isc.ClassFactory.defineClass("Timeline","Calendar");isc.A=isc.Timeline.getPrototype();isc.A.showTimelineView=true;isc.A.showDayView=false;isc.A.showWeekView=false;isc.A.showMonthView=false;isc.A.showControlBar=false;isc.A.labelColumnWidth=75;isc.A.sizeEventsToGrid=false;isc.A.eventDragGap=0;isc._nonDebugModules=(isc._nonDebugModules!=null?isc._nonDebugModules:[]);isc._nonDebugModules.push('Calendar');isc.checkForDebugAndNonDebugModules();isc._moduleEnd=isc._Calendar_end=(isc.timestamp?isc.timestamp():new Date().getTime());if(isc.Log&&isc.Log.logIsInfoEnabled('loadTime'))isc.Log.logInfo('Calendar module init time: '+(isc._moduleEnd-isc._moduleStart)+'ms','loadTime');delete isc.definingFramework;if(isc.Page)isc.Page.handleEvent(null,"moduleLoaded",{moduleName:'Calendar',loadTime:(isc._moduleEnd-isc._moduleStart)});}else{if(window.isc&&isc.Log&&isc.Log.logWarn)isc.Log.logWarn("Duplicate load of module 'Calendar'.");}
+this.calendar.showEventCanvasRolloverControls(this)},isc.A.mouseOut=function isc_EventCanvas_mouseOut(){if(!this.showRolloverControls||!this.calendar.useEventCanvasRolloverControls)return;var _1=isc.EH.lastEvent.target;if(_1&&(_1.eventCanvas==this||_1==isc.Hover.hoverCanvas))return;this.calendar.hideEventCanvasRolloverControls(this)},isc.A.destroy=function isc_EventCanvas_destroy(){if(!this.calendar.useEventCanvasRolloverControls&&this.$129e){for(var i=this.$129e.length-1;i>=0;i--){var _2=this.$129e[i];this.$129e.removeAt(i);this.removeChild(_2);_2.destroy();_2=null}}});isc.B._maxIndex=isc.C+32;isc.defineClass("ZoneCanvas","EventCanvas");isc.A=isc.ZoneCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="footer";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_ZoneCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_ZoneCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_ZoneCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getZoneCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_ZoneCanvas_click(){if(this.calendar.zoneClick)this.calendar.zoneClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_ZoneCanvas_getHoverHTML(){return this.calendar.getZoneHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_ZoneCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.defineClass("IndicatorCanvas","EventCanvas");isc.A=isc.IndicatorCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="none";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_IndicatorCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_IndicatorCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_IndicatorCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getIndicatorCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_IndicatorCanvas_click(){if(this.calendar.indicatorClick)this.calendar.indicatorClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_IndicatorCanvas_getHoverHTML(){return this.calendar.getIndicatorHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_IndicatorCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.AutoTest.customizeCalendar();isc.ClassFactory.defineClass("Timeline","Calendar");isc.A=isc.Timeline.getPrototype();isc.A.showTimelineView=true;isc.A.showDayView=false;isc.A.showWeekView=false;isc.A.showMonthView=false;isc.A.showControlBar=false;isc.A.labelColumnWidth=75;isc.A.sizeEventsToGrid=false;isc.A.eventDragGap=0;isc._nonDebugModules=(isc._nonDebugModules!=null?isc._nonDebugModules:[]);isc._nonDebugModules.push('Calendar');isc.checkForDebugAndNonDebugModules();isc._moduleEnd=isc._Calendar_end=(isc.timestamp?isc.timestamp():new Date().getTime());if(isc.Log&&isc.Log.logIsInfoEnabled('loadTime'))isc.Log.logInfo('Calendar module init time: '+(isc._moduleEnd-isc._moduleStart)+'ms','loadTime');delete isc.definingFramework;if(isc.Page)isc.Page.handleEvent(null,"moduleLoaded",{moduleName:'Calendar',loadTime:(isc._moduleEnd-isc._moduleStart)});}else{if(window.isc&&isc.Log&&isc.Log.logWarn)isc.Log.logWarn("Duplicate load of module 'Calendar'.");}
/*
* Isomorphic SmartClient
* Version v10.0d_2014-02-13 (2014-02-13)
diff --git a/web/org.openbravo.userinterface.smartclient/isomorphic/client/widgets/Calendar.js b/web/org.openbravo.userinterface.smartclient/isomorphic/client/widgets/Calendar.js
--- a/web/org.openbravo.userinterface.smartclient/isomorphic/client/widgets/Calendar.js
+++ b/web/org.openbravo.userinterface.smartclient/isomorphic/client/widgets/Calendar.js
@@ -8013,12 +8013,12 @@
},
- parentResized : function () {
- this.Super('parentResized', arguments);
- // need to resize the event window here (columns are usually auto-fitting, so the
- // available space probably changed if the calendar as a whole changed size)
- if (this.event) this.calendarView.sizeEventCanvas(this);
- },
+ //parentResized : function () {
+ // this.Super('parentResized', arguments);
+ // // need to resize the event window here (columns are usually auto-fitting, so the
+ // // available space probably changed if the calendar as a whole changed size)
+ // if (this.event) this.calendarView.sizeEventCanvas(this);
+ //},
destroy : function () {
if (!this.calendar.useEventCanvasRolloverControls && this._rolloverControls) {
diff --git a/web/org.openbravo.userinterface.smartclient/isomorphic/client/widgets/CalendarView.js b/web/org.openbravo.userinterface.smartclient/isomorphic/client/widgets/CalendarView.js
--- a/web/org.openbravo.userinterface.smartclient/isomorphic/client/widgets/CalendarView.js
+++ b/web/org.openbravo.userinterface.smartclient/isomorphic/client/widgets/CalendarView.js
@@ -1486,10 +1486,9 @@
data.setProperty("_tagged", false);
data.setProperty("_overlapProps", null);
data.setProperty("_slotNum", null);
-
- var laneNames = useLanes && this.lanes ? this.lanes.getProperty(cal.laneNameField) : [];
-
- //this.forceDataSort(d)
+
+ // use the existing getLaneMap() helper to get visible lanes
+ var laneNames = useLanes && cal.lanes ? isc.getKeys(cal.getLaneMap()) : [];
for (var i=0; i<dataLen; i++) {
var event = data.get(i);
@@ -2399,12 +2398,12 @@
;
if (alreadyVisible) {
- // if an event is already in the _drawnEvents array, ignore it and remove it
- // from the clearThese array
+ // if an event is already in the _drawnEvents array, remove it from the
+ // clearThese array
clearThese.remove(event);
- if (this.isGrouped) {
- // if we're grouped and the canvas was already visible, we need to
- // reposition it, in case an earlier group node was expanded or collapsed
+ if (this.isGrouped || this.useEventCanvasPool) {
+ // if the view is grouped or using the eventCanvasPool, reposition and
+ // redraw the canvas
var canvas = this.getCurrentEventCanvas(event);
this.sizeEventCanvas(canvas, true);
}
diff --git a/web/org.openbravo.userinterface.smartclient/isomorphic/system/development/ISC_Calendar.js b/web/org.openbravo.userinterface.smartclient/isomorphic/system/development/ISC_Calendar.js
--- a/web/org.openbravo.userinterface.smartclient/isomorphic/system/development/ISC_Calendar.js
+++ b/web/org.openbravo.userinterface.smartclient/isomorphic/system/development/ISC_Calendar.js
@@ -107,7 +107,7 @@
_16[_7.laneNameField]=_20[_7.laneNameField];if(this.eventsOverlap(_16,_20,_4)){_10.add(_20)}}
return _10},isc.A.eventsOverlap=function isc_CalendarView_eventsOverlap(_1,_2,_3){var a=_1,b=_2,_6=this.calendar,_7=_6.startDateField,_8=_6.endDateField;if(_3&&a[_6.laneNameField]!=b[_6.laneNameField])return false;if(this.isTimelineView()){if(a[_6.leadingDateField]&&b[_6.leadingDateField])_7=_6.leadingDateField;if(a[_6.trailingDateField]&&b[_6.trailingDateField])_8=_6.trailingDateField}
var _9=a[_7],_10=a[_8]||_6.getEventEndDate(a),_11=b[_7],_12=b[_8]||_6.getEventEndDate(b);if(_6.equalDatesOverlap&&_6.allowEventOverlap){if((_9<_11&&_10>=_11&&_10<=_12)||(_9<=_12&&_10>_12)||(_9<=_11&&_10>=_12)||(_9>=_11&&_10<=_12)){return true}else{return false}}else{if(_11<_10&&_12>_9)return true;return false}});isc.evalBoundary;isc.B.push(isc.A.updateEventRange=function isc_CalendarView_updateEventRange(_1,_2){if(!isc.isAn.Object(_2))_2=this.overlapRanges.ranges[_2];var _3=_2.events;_3.remove(_1);this.updateOverlapRanges(_3)},isc.A.updateOverlapRanges=function isc_CalendarView_updateOverlapRanges(_1){var _2=this.calendar,_3=_1||_2.data,_4=this.overlapRanges||[],_5=_3.getLength(),_6=this.isTimelineView()||(this.isDayView()&&_2.showDayLanes),_7=!this.isTimelineView(),_8=[],_9=this.startDate,_10=this.endDate;if(isc.isA.ResultSet(_3)){_3=_3.allRows}
-_3.setProperty("$122k",false);_3.setProperty("$646",null);_3.setProperty("$126u",null);var _11=_6&&this.lanes?this.lanes.getProperty(_2.laneNameField):[];for(var i=0;i<_5;i++){var _13=_3.get(i);if(_13.$122k)continue;if(_6&&!_11.contains(_13[_2.laneNameField])){continue}
+_3.setProperty("$122k",false);_3.setProperty("$646",null);_3.setProperty("$126u",null);var _11=_6&&_2.lanes?isc.getKeys(_2.getLaneMap()):[];for(var i=0;i<_5;i++){var _13=_3.get(i);if(_13.$122k)continue;if(_6&&!_11.contains(_13[_2.laneNameField])){continue}
_13.$122k=true;_13.$646={};var _14=false,_15={};_15[_2.startDateField]=_2.getEventStartDate(_13)
_15[_2.endDateField]=_2.getEventEndDate(_13);if(_6)_15[_2.laneNameField]=_15.lane=_13[_2.laneNameField];_15.events=[];var _16=this.findOverlappingEvents(_13,_13,true,_6,_3);if(_16&&_16.length>0){_15.totalSlots=_16.length;var _17=_15.totalSlots;var _18=1;for(var j=0;j<_16.length;j++){var _20=_16[j],_21=_2.getEventStartDate(_20),_22=_2.getEventStartDate(_20);if(_21<_15[_2.startDateField])
_15[_2.startDateField]=_21;if(_22>_15[_2.endDateField])
@@ -162,7 +162,7 @@
var _10=this.getCellDate(_8,_4),_11=this.getCellDate(_9,_5);return[_10,_11]},isc.A.getVisibleRowRange=function isc_CalendarView_getVisibleRowRange(){if(!this.renderEventsOnDemand){return[0,this.data.getLength()]}
return this.getVisibleRows()},isc.A.getVisibleColumnRange=function isc_CalendarView_getVisibleColumnRange(){if(!this.renderEventsOnDemand){return[0,this.fields.getLength()]}
return this.body.getVisibleColumns()},isc.A.refreshVisibleEvents=function isc_CalendarView_refreshVisibleEvents(_1){if(!this.body||!this.body.isDrawn())return;if(!this.$128q){this.refreshEvents();return}
-_1=_1||this.getVisibleEvents();this.sortForRender(_1);var _2=[];var _3=_1.getLength();var _4=this.useEventCanvasPool?this.$128q.duplicate():[],_2=[];this.logDebug('refreshing visible events','calendar');for(var i=0;i<_3;i++){var _6=_1.get(i),_7=this.$128q.contains(_6);if(_7){_4.remove(_6);if(this.isGrouped){var _8=this.getCurrentEventCanvas(_6);this.sizeEventCanvas(_8,true)}
+_1=_1||this.getVisibleEvents();this.sortForRender(_1);var _2=[];var _3=_1.getLength();var _4=this.useEventCanvasPool?this.$128q.duplicate():[],_2=[];this.logDebug('refreshing visible events','calendar');for(var i=0;i<_3;i++){var _6=_1.get(i),_7=this.$128q.contains(_6);if(_7){_4.remove(_6);if(this.isGrouped||this.useEventCanvasPool){var _8=this.getCurrentEventCanvas(_6);this.sizeEventCanvas(_8,true)}
continue}
_2.add(_6)}
if(this.isGrouped||(this.useEventCanvasPool&&this.eventCanvasPoolingMode=="viewport"))
@@ -538,7 +538,7 @@
return _1},isc.A.getHoverHTML=function isc_EventCanvas_getHoverHTML(){return this.calendar.getEventHoverHTML(this.event,this,this.calendarView)},isc.A.shouldShowCloseButton=function isc_EventCanvas_shouldShowCloseButton(){return this.showCloseButton!=false},isc.A.shouldShowContextButton=function isc_EventCanvas_shouldShowContextButton(){return this.showContextButton!=false},isc.A.getRolloverControls=function isc_EventCanvas_getRolloverControls(){return null},isc.A.renderEvent=function isc_EventCanvas_renderEvent(_1,_2,_3,_4,_5){if(isc.isA.Number(_3)&&isc.isA.Number(_4)){this.resizeTo(Math.round(_3),Math.round(_4))}
if(isc.isA.Number(_1)&&isc.isA.Number(_2)){this.moveTo(Math.round(_2),Math.round(_1))}
this.checkStyle();if(!this.parentElement.isDrawn())return;if(!this.isDrawn())this.draw();this.show();if(_5)this.sendToBack();else this.bringToFront()},isc.A.checkStyle=function isc_EventCanvas_checkStyle(){var _1=this.calendar.getEventCanvasStyle(this.event,this.calendarView);if(_1!=this.styleName)this.setEventStyle(_1)},isc.A.click=function isc_EventCanvas_click(){this.calendar.$129v(this)},isc.A.mouseUp=function isc_EventCanvas_mouseUp(){return isc.EH.STOP_BUBBLING},isc.A.mouseDown=function isc_EventCanvas_mouseDown(){if(this.dragTarget)this.dragTarget.eventCanvas=this;this.calendar.eventDialog.hide();return isc.EH.STOP_BUBBLING},isc.A.mouseOver=function isc_EventCanvas_mouseOver(){if(!this.showRolloverControls||!this.calendar.useEventCanvasRolloverControls)return;if(this.$129e&&this.$129e.length>0){var _1=isc.EH.lastEvent.target;if(_1==this||_1.eventCanvas==this)return}
-this.calendar.showEventCanvasRolloverControls(this)},isc.A.mouseOut=function isc_EventCanvas_mouseOut(){if(!this.showRolloverControls||!this.calendar.useEventCanvasRolloverControls)return;var _1=isc.EH.lastEvent.target;if(_1&&(_1.eventCanvas==this||_1==isc.Hover.hoverCanvas))return;this.calendar.hideEventCanvasRolloverControls(this)},isc.A.parentResized=function isc_EventCanvas_parentResized(){this.Super('parentResized',arguments);if(this.event)this.calendarView.sizeEventCanvas(this)},isc.A.destroy=function isc_EventCanvas_destroy(){if(!this.calendar.useEventCanvasRolloverControls&&this.$129e){for(var i=this.$129e.length-1;i>=0;i--){var _2=this.$129e[i];this.$129e.removeAt(i);this.removeChild(_2);_2.destroy();_2=null}}});isc.B._maxIndex=isc.C+32;isc.defineClass("ZoneCanvas","EventCanvas");isc.A=isc.ZoneCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="footer";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_ZoneCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_ZoneCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_ZoneCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getZoneCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_ZoneCanvas_click(){if(this.calendar.zoneClick)this.calendar.zoneClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_ZoneCanvas_getHoverHTML(){return this.calendar.getZoneHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_ZoneCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.defineClass("IndicatorCanvas","EventCanvas");isc.A=isc.IndicatorCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="none";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_IndicatorCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_IndicatorCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_IndicatorCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getIndicatorCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_IndicatorCanvas_click(){if(this.calendar.indicatorClick)this.calendar.indicatorClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_IndicatorCanvas_getHoverHTML(){return this.calendar.getIndicatorHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_IndicatorCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.AutoTest.customizeCalendar();isc.ClassFactory.defineClass("Timeline","Calendar");isc.A=isc.Timeline.getPrototype();isc.A.showTimelineView=true;isc.A.showDayView=false;isc.A.showWeekView=false;isc.A.showMonthView=false;isc.A.showControlBar=false;isc.A.labelColumnWidth=75;isc.A.sizeEventsToGrid=false;isc.A.eventDragGap=0;isc._nonDebugModules=(isc._nonDebugModules!=null?isc._nonDebugModules:[]);isc._nonDebugModules.push('Calendar');isc.checkForDebugAndNonDebugModules();isc._moduleEnd=isc._Calendar_end=(isc.timestamp?isc.timestamp():new Date().getTime());if(isc.Log&&isc.Log.logIsInfoEnabled('loadTime'))isc.Log.logInfo('Calendar module init time: '+(isc._moduleEnd-isc._moduleStart)+'ms','loadTime');delete isc.definingFramework;if(isc.Page)isc.Page.handleEvent(null,"moduleLoaded",{moduleName:'Calendar',loadTime:(isc._moduleEnd-isc._moduleStart)});}else{if(window.isc&&isc.Log&&isc.Log.logWarn)isc.Log.logWarn("Duplicate load of module 'Calendar'.");}
+this.calendar.showEventCanvasRolloverControls(this)},isc.A.mouseOut=function isc_EventCanvas_mouseOut(){if(!this.showRolloverControls||!this.calendar.useEventCanvasRolloverControls)return;var _1=isc.EH.lastEvent.target;if(_1&&(_1.eventCanvas==this||_1==isc.Hover.hoverCanvas))return;this.calendar.hideEventCanvasRolloverControls(this)},isc.A.destroy=function isc_EventCanvas_destroy(){if(!this.calendar.useEventCanvasRolloverControls&&this.$129e){for(var i=this.$129e.length-1;i>=0;i--){var _2=this.$129e[i];this.$129e.removeAt(i);this.removeChild(_2);_2.destroy();_2=null}}});isc.B._maxIndex=isc.C+32;isc.defineClass("ZoneCanvas","EventCanvas");isc.A=isc.ZoneCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="footer";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_ZoneCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_ZoneCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_ZoneCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getZoneCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_ZoneCanvas_click(){if(this.calendar.zoneClick)this.calendar.zoneClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_ZoneCanvas_getHoverHTML(){return this.calendar.getZoneHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_ZoneCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.defineClass("IndicatorCanvas","EventCanvas");isc.A=isc.IndicatorCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="none";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_IndicatorCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_IndicatorCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_IndicatorCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getIndicatorCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_IndicatorCanvas_click(){if(this.calendar.indicatorClick)this.calendar.indicatorClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_IndicatorCanvas_getHoverHTML(){return this.calendar.getIndicatorHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_IndicatorCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.AutoTest.customizeCalendar();isc.ClassFactory.defineClass("Timeline","Calendar");isc.A=isc.Timeline.getPrototype();isc.A.showTimelineView=true;isc.A.showDayView=false;isc.A.showWeekView=false;isc.A.showMonthView=false;isc.A.showControlBar=false;isc.A.labelColumnWidth=75;isc.A.sizeEventsToGrid=false;isc.A.eventDragGap=0;isc._nonDebugModules=(isc._nonDebugModules!=null?isc._nonDebugModules:[]);isc._nonDebugModules.push('Calendar');isc.checkForDebugAndNonDebugModules();isc._moduleEnd=isc._Calendar_end=(isc.timestamp?isc.timestamp():new Date().getTime());if(isc.Log&&isc.Log.logIsInfoEnabled('loadTime'))isc.Log.logInfo('Calendar module init time: '+(isc._moduleEnd-isc._moduleStart)+'ms','loadTime');delete isc.definingFramework;if(isc.Page)isc.Page.handleEvent(null,"moduleLoaded",{moduleName:'Calendar',loadTime:(isc._moduleEnd-isc._moduleStart)});}else{if(window.isc&&isc.Log&&isc.Log.logWarn)isc.Log.logWarn("Duplicate load of module 'Calendar'.");}
/*
diff --git a/web/org.openbravo.userinterface.smartclient/isomorphic/system/modules-debug/ISC_Calendar.js b/web/org.openbravo.userinterface.smartclient/isomorphic/system/modules-debug/ISC_Calendar.js
--- a/web/org.openbravo.userinterface.smartclient/isomorphic/system/modules-debug/ISC_Calendar.js
+++ b/web/org.openbravo.userinterface.smartclient/isomorphic/system/modules-debug/ISC_Calendar.js
@@ -1524,9 +1524,8 @@
data.setProperty("_overlapProps", null);
data.setProperty("_slotNum", null);
- var laneNames = useLanes && this.lanes ? this.lanes.getProperty(cal.laneNameField) : [];
-
- //this.forceDataSort(d)
+ // use the existing getLaneMap() helper to get visible lanes
+ var laneNames = useLanes && cal.lanes ? isc.getKeys(cal.getLaneMap()) : [];
for (var i=0; i<dataLen; i++) {
var event = data.get(i);
@@ -2436,12 +2435,12 @@
;
if (alreadyVisible) {
- // if an event is already in the _drawnEvents array, ignore it and remove it
- // from the clearThese array
+ // if an event is already in the _drawnEvents array, remove it from the
+ // clearThese array
clearThese.remove(event);
- if (this.isGrouped) {
- // if we're grouped and the canvas was already visible, we need to
- // reposition it, in case an earlier group node was expanded or collapsed
+ if (this.isGrouped || this.useEventCanvasPool) {
+ // if the view is grouped or using the eventCanvasPool, reposition and
+ // redraw the canvas
var canvas = this.getCurrentEventCanvas(event);
this.sizeEventCanvas(canvas, true);
}
@@ -13659,12 +13658,12 @@
},
- parentResized : function () {
- this.Super('parentResized', arguments);
- // need to resize the event window here (columns are usually auto-fitting, so the
- // available space probably changed if the calendar as a whole changed size)
- if (this.event) this.calendarView.sizeEventCanvas(this);
- },
+ //parentResized : function () {
+ // this.Super('parentResized', arguments);
+ // // need to resize the event window here (columns are usually auto-fitting, so the
+ // // available space probably changed if the calendar as a whole changed size)
+ // if (this.event) this.calendarView.sizeEventCanvas(this);
+ //},
destroy : function () {
if (!this.calendar.useEventCanvasRolloverControls && this._rolloverControls) {
diff --git a/web/org.openbravo.userinterface.smartclient/isomorphic/system/modules/ISC_Calendar.js b/web/org.openbravo.userinterface.smartclient/isomorphic/system/modules/ISC_Calendar.js
--- a/web/org.openbravo.userinterface.smartclient/isomorphic/system/modules/ISC_Calendar.js
+++ b/web/org.openbravo.userinterface.smartclient/isomorphic/system/modules/ISC_Calendar.js
@@ -83,7 +83,7 @@
_16[_7.laneNameField]=_20[_7.laneNameField];if(this.eventsOverlap(_16,_20,_4)){_10.add(_20)}}
return _10},isc.A.eventsOverlap=function isc_CalendarView_eventsOverlap(_1,_2,_3){var a=_1,b=_2,_6=this.calendar,_7=_6.startDateField,_8=_6.endDateField;if(_3&&a[_6.laneNameField]!=b[_6.laneNameField])return false;if(this.isTimelineView()){if(a[_6.leadingDateField]&&b[_6.leadingDateField])_7=_6.leadingDateField;if(a[_6.trailingDateField]&&b[_6.trailingDateField])_8=_6.trailingDateField}
var _9=a[_7],_10=a[_8]||_6.getEventEndDate(a),_11=b[_7],_12=b[_8]||_6.getEventEndDate(b);if(_6.equalDatesOverlap&&_6.allowEventOverlap){if((_9<_11&&_10>=_11&&_10<=_12)||(_9<=_12&&_10>_12)||(_9<=_11&&_10>=_12)||(_9>=_11&&_10<=_12)){return true}else{return false}}else{if(_11<_10&&_12>_9)return true;return false}});isc.evalBoundary;isc.B.push(isc.A.updateEventRange=function isc_CalendarView_updateEventRange(_1,_2){if(!isc.isAn.Object(_2))_2=this.overlapRanges.ranges[_2];var _3=_2.events;_3.remove(_1);this.updateOverlapRanges(_3)},isc.A.updateOverlapRanges=function isc_CalendarView_updateOverlapRanges(_1){var _2=this.calendar,_3=_1||_2.data,_4=this.overlapRanges||[],_5=_3.getLength(),_6=this.isTimelineView()||(this.isDayView()&&_2.showDayLanes),_7=!this.isTimelineView(),_8=[],_9=this.startDate,_10=this.endDate;if(isc.isA.ResultSet(_3)){_3=_3.allRows}
-_3.setProperty("$122k",false);_3.setProperty("$646",null);_3.setProperty("$126u",null);var _11=_6&&this.lanes?this.lanes.getProperty(_2.laneNameField):[];for(var i=0;i<_5;i++){var _13=_3.get(i);if(_13.$122k)continue;if(_6&&!_11.contains(_13[_2.laneNameField])){continue}
+_3.setProperty("$122k",false);_3.setProperty("$646",null);_3.setProperty("$126u",null);var _11=_6&&_2.lanes?isc.getKeys(_2.getLaneMap()):[];for(var i=0;i<_5;i++){var _13=_3.get(i);if(_13.$122k)continue;if(_6&&!_11.contains(_13[_2.laneNameField])){continue}
_13.$122k=true;_13.$646={};var _14=false,_15={};_15[_2.startDateField]=_2.getEventStartDate(_13)
_15[_2.endDateField]=_2.getEventEndDate(_13);if(_6)_15[_2.laneNameField]=_15.lane=_13[_2.laneNameField];_15.events=[];var _16=this.findOverlappingEvents(_13,_13,true,_6,_3);if(_16&&_16.length>0){_15.totalSlots=_16.length;var _17=_15.totalSlots;var _18=1;for(var j=0;j<_16.length;j++){var _20=_16[j],_21=_2.getEventStartDate(_20),_22=_2.getEventStartDate(_20);if(_21<_15[_2.startDateField])
_15[_2.startDateField]=_21;if(_22>_15[_2.endDateField])
@@ -138,7 +138,7 @@
var _10=this.getCellDate(_8,_4),_11=this.getCellDate(_9,_5);return[_10,_11]},isc.A.getVisibleRowRange=function isc_CalendarView_getVisibleRowRange(){if(!this.renderEventsOnDemand){return[0,this.data.getLength()]}
return this.getVisibleRows()},isc.A.getVisibleColumnRange=function isc_CalendarView_getVisibleColumnRange(){if(!this.renderEventsOnDemand){return[0,this.fields.getLength()]}
return this.body.getVisibleColumns()},isc.A.refreshVisibleEvents=function isc_CalendarView_refreshVisibleEvents(_1){if(!this.body||!this.body.isDrawn())return;if(!this.$128q){this.refreshEvents();return}
-_1=_1||this.getVisibleEvents();this.sortForRender(_1);var _2=[];var _3=_1.getLength();var _4=this.useEventCanvasPool?this.$128q.duplicate():[],_2=[];this.logDebug('refreshing visible events','calendar');for(var i=0;i<_3;i++){var _6=_1.get(i),_7=this.$128q.contains(_6);if(_7){_4.remove(_6);if(this.isGrouped){var _8=this.getCurrentEventCanvas(_6);this.sizeEventCanvas(_8,true)}
+_1=_1||this.getVisibleEvents();this.sortForRender(_1);var _2=[];var _3=_1.getLength();var _4=this.useEventCanvasPool?this.$128q.duplicate():[],_2=[];this.logDebug('refreshing visible events','calendar');for(var i=0;i<_3;i++){var _6=_1.get(i),_7=this.$128q.contains(_6);if(_7){_4.remove(_6);if(this.isGrouped||this.useEventCanvasPool){var _8=this.getCurrentEventCanvas(_6);this.sizeEventCanvas(_8,true)}
continue}
_2.add(_6)}
if(this.isGrouped||(this.useEventCanvasPool&&this.eventCanvasPoolingMode=="viewport"))
@@ -514,7 +514,7 @@
return _1},isc.A.getHoverHTML=function isc_EventCanvas_getHoverHTML(){return this.calendar.getEventHoverHTML(this.event,this,this.calendarView)},isc.A.shouldShowCloseButton=function isc_EventCanvas_shouldShowCloseButton(){return this.showCloseButton!=false},isc.A.shouldShowContextButton=function isc_EventCanvas_shouldShowContextButton(){return this.showContextButton!=false},isc.A.getRolloverControls=function isc_EventCanvas_getRolloverControls(){return null},isc.A.renderEvent=function isc_EventCanvas_renderEvent(_1,_2,_3,_4,_5){if(isc.isA.Number(_3)&&isc.isA.Number(_4)){this.resizeTo(Math.round(_3),Math.round(_4))}
if(isc.isA.Number(_1)&&isc.isA.Number(_2)){this.moveTo(Math.round(_2),Math.round(_1))}
this.checkStyle();if(!this.parentElement.isDrawn())return;if(!this.isDrawn())this.draw();this.show();if(_5)this.sendToBack();else this.bringToFront()},isc.A.checkStyle=function isc_EventCanvas_checkStyle(){var _1=this.calendar.getEventCanvasStyle(this.event,this.calendarView);if(_1!=this.styleName)this.setEventStyle(_1)},isc.A.click=function isc_EventCanvas_click(){this.calendar.$129v(this)},isc.A.mouseUp=function isc_EventCanvas_mouseUp(){return isc.EH.STOP_BUBBLING},isc.A.mouseDown=function isc_EventCanvas_mouseDown(){if(this.dragTarget)this.dragTarget.eventCanvas=this;this.calendar.eventDialog.hide();return isc.EH.STOP_BUBBLING},isc.A.mouseOver=function isc_EventCanvas_mouseOver(){if(!this.showRolloverControls||!this.calendar.useEventCanvasRolloverControls)return;if(this.$129e&&this.$129e.length>0){var _1=isc.EH.lastEvent.target;if(_1==this||_1.eventCanvas==this)return}
-this.calendar.showEventCanvasRolloverControls(this)},isc.A.mouseOut=function isc_EventCanvas_mouseOut(){if(!this.showRolloverControls||!this.calendar.useEventCanvasRolloverControls)return;var _1=isc.EH.lastEvent.target;if(_1&&(_1.eventCanvas==this||_1==isc.Hover.hoverCanvas))return;this.calendar.hideEventCanvasRolloverControls(this)},isc.A.parentResized=function isc_EventCanvas_parentResized(){this.Super('parentResized',arguments);if(this.event)this.calendarView.sizeEventCanvas(this)},isc.A.destroy=function isc_EventCanvas_destroy(){if(!this.calendar.useEventCanvasRolloverControls&&this.$129e){for(var i=this.$129e.length-1;i>=0;i--){var _2=this.$129e[i];this.$129e.removeAt(i);this.removeChild(_2);_2.destroy();_2=null}}});isc.B._maxIndex=isc.C+32;isc.defineClass("ZoneCanvas","EventCanvas");isc.A=isc.ZoneCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="footer";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_ZoneCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_ZoneCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_ZoneCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getZoneCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_ZoneCanvas_click(){if(this.calendar.zoneClick)this.calendar.zoneClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_ZoneCanvas_getHoverHTML(){return this.calendar.getZoneHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_ZoneCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.defineClass("IndicatorCanvas","EventCanvas");isc.A=isc.IndicatorCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="none";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_IndicatorCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_IndicatorCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_IndicatorCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getIndicatorCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_IndicatorCanvas_click(){if(this.calendar.indicatorClick)this.calendar.indicatorClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_IndicatorCanvas_getHoverHTML(){return this.calendar.getIndicatorHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_IndicatorCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.AutoTest.customizeCalendar();isc.ClassFactory.defineClass("Timeline","Calendar");isc.A=isc.Timeline.getPrototype();isc.A.showTimelineView=true;isc.A.showDayView=false;isc.A.showWeekView=false;isc.A.showMonthView=false;isc.A.showControlBar=false;isc.A.labelColumnWidth=75;isc.A.sizeEventsToGrid=false;isc.A.eventDragGap=0;isc._nonDebugModules=(isc._nonDebugModules!=null?isc._nonDebugModules:[]);isc._nonDebugModules.push('Calendar');isc.checkForDebugAndNonDebugModules();isc._moduleEnd=isc._Calendar_end=(isc.timestamp?isc.timestamp():new Date().getTime());if(isc.Log&&isc.Log.logIsInfoEnabled('loadTime'))isc.Log.logInfo('Calendar module init time: '+(isc._moduleEnd-isc._moduleStart)+'ms','loadTime');delete isc.definingFramework;if(isc.Page)isc.Page.handleEvent(null,"moduleLoaded",{moduleName:'Calendar',loadTime:(isc._moduleEnd-isc._moduleStart)});}else{if(window.isc&&isc.Log&&isc.Log.logWarn)isc.Log.logWarn("Duplicate load of module 'Calendar'.");}
+this.calendar.showEventCanvasRolloverControls(this)},isc.A.mouseOut=function isc_EventCanvas_mouseOut(){if(!this.showRolloverControls||!this.calendar.useEventCanvasRolloverControls)return;var _1=isc.EH.lastEvent.target;if(_1&&(_1.eventCanvas==this||_1==isc.Hover.hoverCanvas))return;this.calendar.hideEventCanvasRolloverControls(this)},isc.A.destroy=function isc_EventCanvas_destroy(){if(!this.calendar.useEventCanvasRolloverControls&&this.$129e){for(var i=this.$129e.length-1;i>=0;i--){var _2=this.$129e[i];this.$129e.removeAt(i);this.removeChild(_2);_2.destroy();_2=null}}});isc.B._maxIndex=isc.C+32;isc.defineClass("ZoneCanvas","EventCanvas");isc.A=isc.ZoneCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="footer";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_ZoneCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_ZoneCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_ZoneCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getZoneCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_ZoneCanvas_click(){if(this.calendar.zoneClick)this.calendar.zoneClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_ZoneCanvas_getHoverHTML(){return this.calendar.getZoneHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_ZoneCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.defineClass("IndicatorCanvas","EventCanvas");isc.A=isc.IndicatorCanvas.getPrototype();isc.B=isc._allFuncs;isc.C=isc.B._maxIndex;isc.D=isc._funcClasses;isc.D[isc.C]=isc.A.Class;isc.A.headerPosition="none";isc.A.showHeader=false;isc.A.showBody=false;isc.A.canEdit=false;isc.A.canDrag=false;isc.A.canDragReposition=false;isc.A.canDragResize=false;isc.A.canRemove=false;isc.A.showRolloverControls=false;isc.B.push(isc.A.initWidget=function isc_IndicatorCanvas_initWidget(){this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;this.Super("initWidget",arguments)},isc.A.getInnerHTML=function isc_IndicatorCanvas_getInnerHTML(){var _1=isc.StringBuffer.create();_1.append("<div class='",this.getHeaderStyle(),"' style='position:absolute;bottom:0;width:100%;'>",this.event.name,"</div>");var _2=_1.release();return _2},isc.A.setEvent=function isc_IndicatorCanvas_setEvent(_1,_2,_3,_4){this.event=_1;this.showCloseButton=false;this.canDragReposition=false;this.canDragResize=false;var _5=this.calendar;_2=_2||_5.getIndicatorCanvasStyle(_1,this.calendarView);this.setEventStyle(_2,_3,_4)},isc.A.click=function isc_IndicatorCanvas_click(){if(this.calendar.indicatorClick)this.calendar.indicatorClick(this.event,this.calendarView.viewName)},isc.A.getHoverHTML=function isc_IndicatorCanvas_getHoverHTML(){return this.calendar.getIndicatorHoverHTML(this.event,this,this.calendarView)},isc.A.checkStyle=function isc_IndicatorCanvas_checkStyle(){});isc.B._maxIndex=isc.C+6;isc.AutoTest.customizeCalendar();isc.ClassFactory.defineClass("Timeline","Calendar");isc.A=isc.Timeline.getPrototype();isc.A.showTimelineView=true;isc.A.showDayView=false;isc.A.showWeekView=false;isc.A.showMonthView=false;isc.A.showControlBar=false;isc.A.labelColumnWidth=75;isc.A.sizeEventsToGrid=false;isc.A.eventDragGap=0;isc._nonDebugModules=(isc._nonDebugModules!=null?isc._nonDebugModules:[]);isc._nonDebugModules.push('Calendar');isc.checkForDebugAndNonDebugModules();isc._moduleEnd=isc._Calendar_end=(isc.timestamp?isc.timestamp():new Date().getTime());if(isc.Log&&isc.Log.logIsInfoEnabled('loadTime'))isc.Log.logInfo('Calendar module init time: '+(isc._moduleEnd-isc._moduleStart)+'ms','loadTime');delete isc.definingFramework;if(isc.Page)isc.Page.handleEvent(null,"moduleLoaded",{moduleName:'Calendar',loadTime:(isc._moduleEnd-isc._moduleStart)});}else{if(window.isc&&isc.Log&&isc.Log.logWarn)isc.Log.logWarn("Duplicate load of module 'Calendar'.");}
/*
* Isomorphic SmartClient
* Version v10.0d_2014-02-13 (2014-02-13)
| |||||||
Relationships [ Relation Graph ]
[ Dependency Graph ]
|
|
Notes |
|
|
(0072507) caristu (viewer) 2014-12-15 11:49 |
As posted here: http://forums.smartclient.com/showthread.php?t=31517&page=2 [^] The issue has been addressed for builds dated December 12 and later |
|
(0072830) dbaz (viewer) 2014-12-24 19:08 |
Added diffs for "pi" and "org.openbravo.userinterface.smartclient.dev" |
|
(0073421) dbaz (viewer) 2015-01-12 13:05 |
Answer pending of the success (or not) of the patch |
|
(0073662) dbaz (viewer) 2015-01-20 19:27 |
Added new patch (v2) and removed the old one |
|
(0077396) hgbot (developer) 2015-05-13 16:54 |
Repository: erp/devel/pi Changeset: 4ccbe03674799b0b304f046e53e2d41bae0a1f49 Author: David Baz Fayos <david.baz <at> openbravo.com> Date: Wed May 13 16:53:36 2015 +0200 URL: http://code.openbravo.com/erp/devel/pi/rev/4ccbe03674799b0b304f046e53e2d41bae0a1f49 [^] Modified Smartclient 10.0d 2014-02-13 SNAPSHOT to fix issue 28405 --- M modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/isomorphic/ISC_Combined.js --- |
|
(0077398) hgbot (developer) 2015-05-13 16:54 |
Repository: erp/mods/org.openbravo.userinterface.smartclient.dev Changeset: 405e4ce18cd7f718310b1750ab984f3255f4aa2f Author: David Baz Fayos <david.baz <at> openbravo.com> Date: Wed May 13 16:54:24 2015 +0200 URL: http://code.openbravo.com/erp/mods/org.openbravo.userinterface.smartclient.dev/rev/405e4ce18cd7f718310b1750ab984f3255f4aa2f [^] Modified Smartclient 10.0d 2014-02-13 SNAPSHOT to fix issue 28405 --- M web/org.openbravo.userinterface.smartclient/isomorphic/client/widgets/Calendar.js M web/org.openbravo.userinterface.smartclient/isomorphic/client/widgets/CalendarView.js M web/org.openbravo.userinterface.smartclient/isomorphic/system/development/ISC_Calendar.js M web/org.openbravo.userinterface.smartclient/isomorphic/system/modules-debug/ISC_Calendar.js M web/org.openbravo.userinterface.smartclient/isomorphic/system/modules/ISC_Calendar.js --- |
|
(0077423) caristu (viewer) 2015-05-14 09:17 |
Test Plan 1) Install the attached module. It contains a view implementation with a standard Smartclient Calendar. 2) Open the view implementation, using the [My Calendar] menu entry. 3) After clicking on the "Change Lanes" button, the event overlapping should remain correct. |
|
(0077461) hudsonbot (viewer) 2015-05-14 17:48 |
A changeset related to this issue has been promoted main and to the Central Repository, after passing a series of tests. Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/3375171dd310 [^] Maturity status: Test |
|
(0077571) caristu (viewer) 2015-05-19 11:17 |
Verified |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2014-12-12 14:00 | caristu | New Issue | |
| 2014-12-12 14:00 | caristu | Assigned To | => AugustoMauch |
| 2014-12-12 14:00 | caristu | File Added: com.openbravo.support.test-1.0.0.obx | |
| 2014-12-12 14:00 | caristu | OBNetwork customer | => Yes |
| 2014-12-12 14:00 | caristu | Modules | => Core |
| 2014-12-12 14:00 | caristu | Support ticket | => 31899 |
| 2014-12-12 14:00 | caristu | Triggers an Emergency Pack | => No |
| 2014-12-12 14:04 | caristu | Issue Monitored: networkb | |
| 2014-12-15 11:49 | caristu | Note Added: 0072507 | |
| 2014-12-15 16:04 | caristu | Resolution time | => 1419030000 |
| 2014-12-15 16:04 | caristu | Assigned To | AugustoMauch => alostale |
| 2014-12-15 16:05 | caristu | Resolution time | 1419030000 => 1419202800 |
| 2014-12-16 15:47 | alostale | Assigned To | alostale => dbaz |
| 2014-12-24 19:08 | dbaz | Note Added: 0072830 | |
| 2014-12-24 19:09 | dbaz | File Added: patchForPi.diff | |
| 2014-12-24 19:09 | dbaz | File Added: patchForSCDev.diff | |
| 2015-01-12 13:05 | dbaz | Note Added: 0073421 | |
| 2015-01-12 13:05 | dbaz | Status | new => feedback |
| 2015-01-12 14:45 | jonalegriaesarte | Resolution time | 1419202800 => 1390345200 |
| 2015-01-12 16:14 | jonalegriaesarte | Resolution time | 1390345200 => 1421881200 |
| 2015-01-14 08:59 | jonalegriaesarte | Assigned To | dbaz => caristu |
| 2015-01-20 19:26 | dbaz | File Added: patchForPi_v2.diff | |
| 2015-01-20 19:26 | dbaz | File Added: patchForSCDev_v2.diff | |
| 2015-01-20 19:26 | dbaz | File Deleted: patchForPi.diff | |
| 2015-01-20 19:26 | dbaz | File Deleted: patchForSCDev.diff | |
| 2015-01-20 19:27 | dbaz | Note Added: 0073662 | |
| 2015-03-13 10:34 | jonalegriaesarte | Target Version | 3.0PR15Q2 => 3.0PR15Q3 |
| 2015-05-13 16:52 | dbaz | Review Assigned To | => caristu |
| 2015-05-13 16:52 | dbaz | Assigned To | caristu => dbaz |
| 2015-05-13 16:54 | hgbot | Checkin | |
| 2015-05-13 16:54 | hgbot | Note Added: 0077396 | |
| 2015-05-13 16:54 | hgbot | Checkin | |
| 2015-05-13 16:54 | hgbot | Note Added: 0077398 | |
| 2015-05-13 16:55 | dbaz | Status | feedback => scheduled |
| 2015-05-13 16:56 | dbaz | Status | scheduled => resolved |
| 2015-05-13 16:56 | dbaz | Fixed in SCM revision | => https://code.openbravo.com/erp/devel/pi/rev/4ccbe0367479 [^] |
| 2015-05-13 16:56 | dbaz | Resolution | open => fixed |
| 2015-05-14 09:17 | caristu | Note Added: 0077423 | |
| 2015-05-14 17:48 | hudsonbot | Checkin | |
| 2015-05-14 17:48 | hudsonbot | Note Added: 0077461 | |
| 2015-05-19 11:17 | caristu | Note Added: 0077571 | |
| 2015-05-19 11:17 | caristu | Status | resolved => closed |
| 2015-05-19 11:17 | caristu | Fixed in Version | => pi |
| Copyright © 2000 - 2009 MantisBT Group |

