Changeset 4044

Show
Ignore:
Timestamp:
08/17/10 13:00:24 (18 months ago)
Author:
mszopinski
Message:

calendar, simple month display

Location:
ssme/trunk
Files:
4 added
17 modified

Legend:

Unmodified
Added
Removed
  • ssme/trunk/flex/Calendar/src/Calendar.mxml

    r4043 r4044  
    6767    <mx:Fade id="fadeOut" duration="300" alphaFrom="1.0" alphaTo="0" /> 
    6868    <!-- ========================================================= --> 
    69     <mx:DateFormatter id="dateFormatter" formatString="DD.MM.YYYY" /> 
     69    <mx:DateFormatter id="dayDateFormatter" formatString="DD.MM.YYYY" /> 
     70    <mx:DateFormatter id="monthDateFormatter" formatString="MMMM YYYY" />     
    7071    <!-- ========================================================= --> 
    7172    <mx:Style source="assets/calendar.css" /> 
     
    8081            > 
    8182 
    82         <mx:HBox width="100%" id="select" height="35" backgroundColor="red" verticalAlign="middle"> 
     83        <mx:HBox width="100%" id="select" height="30" verticalAlign="middle"> 
    8384             
    8485            <mx:ComboBox id="calendarCombo" dataProvider="{ calendarsList }" labelField="name" /> 
     
    118119                horizontalScrollPolicy="off" verticalScrollPolicy="off"> 
    119120             
    120             <mx:HBox id="dayBox" width="100%" height="{ canvasContainer.height }" maxHeight="{ canvasContainer.height }" paddingTop="10" paddingBottom="10" horizontalScrollPolicy="off" verticalScrollPolicy="off"> 
     121            <mx:HBox id="dayBox" width="100%" height="{ canvasContainer.height }" maxHeight="{ canvasContainer.height }" 
     122                 paddingTop="10" paddingBottom="10" horizontalScrollPolicy="off" verticalScrollPolicy="off"> 
     123                 
    121124                <mx:VBox id="dayBox0" width="50" height="100%" paddingLeft="0" paddingBottom="0" paddingRight="0" paddingTop="0" verticalGap="0"> 
    122125                    <mx:Label height="20" id="labelCanvas0" width="100%" textAlign="center" /> 
     
    225228 
    226229            <mx:HBox id="monthBox" width="100%" height="0" maxHeight="{ canvasContainer.height }" 
    227                     horizontalScrollPolicy="off" verticalScrollPolicy="off"                      
    228                     paddingTop="10" paddingBottom="10"> 
    229  
    230                 <mx:Canvas backgroundColor="0xffff00" width="100%" height="100%" /> 
    231  
     230                    paddingTop="10" paddingBottom="10" horizontalScrollPolicy="off" verticalScrollPolicy="off"> 
     231                <mx:VBox id="monthCanvasBox" width="100%" height="100%" paddingLeft="0" paddingBottom="0" paddingRight="0" paddingTop="0" verticalGap="0"> 
     232                    <mx:Label height="20" id="labelMonthCanvas" width="100%" textAlign="center" />                     
     233                    <components:MonthCanvas id="monthCanvas" 
     234                            backgroundColor="0xFFFFFF" backgroundAlpha="0.3" cornerRadius="20"  
     235                            verticalMargin="0" leftHorizontalMargin="0" 
     236                            width="100%" height="100%" 
     237                            outerBorderColor="0x000000" outerBorderAlpha="0.0" outerBorderThickness="0" 
     238                            innerBorderColors="[ 0x888888 ]" innerBorderAlphas="[ 0.0 ]" innerBorderThicknesses="[ 4 ]" 
     239                            rows="[ 6 ]" columns="[ 7 ]" 
     240                            showEffect="{ fadeIn }" hideEffect="{ fadeOut }" 
     241                            /> 
     242                </mx:VBox> 
    232243            </mx:HBox> 
    233244        </mx:Box> 
     
    274285            calendarConnector.addEventListener(BasicQueuedConnector.EVENT_FAULT, onCalendarGetResponse); 
    275286 
    276             if(!userEntityLoaded) addEventListener("ssme_userLoaded", prepareCalendarList) 
     287            if (!userEntityLoaded) addEventListener("ssme_userLoaded", prepareCalendarList) 
    277288 
    278289            currentState = "day"; 
     
    285296        private const WEEK:int = 1; 
    286297        private const MONTH:int = 2; 
     298 
    287299        private function toggleClicked(event:Event):void { 
    288 //            setDates(); 
    289 //            switch( state.selectedIndex ){ 
    290 //                case DAY:   currentState = DAY_STATE; break; 
    291 //                case WEEK:  currentState = WEEK_STATE; break; 
    292 //                case MONTH: currentState = MONTH_STATE; break; 
    293 //            } 
    294             loadEvents(event);          
     300            //            setDates(); 
     301            //            switch( state.selectedIndex ){ 
     302            //                case DAY:   currentState = DAY_STATE; break; 
     303            //                case WEEK:  currentState = WEEK_STATE; break; 
     304            //                case MONTH: currentState = MONTH_STATE; break; 
     305            //            } 
     306            loadEvents(event); 
    295307        } 
    296308 
    297309        private function prepareCalendarList(event:Event):void { 
    298310            calendarsList = []; 
    299             for (var key:String in loggedUserEntity.calendarsNames){ 
    300                 calendarsList.push( { uuid:key, name:loggedUserEntity.calendarsNames[key] } ); 
    301             } 
    302             calendarsList.sort( sortCalendars ); 
    303             calendarsList.push( { uuid:null, name: "All" } ); 
     311            for (var key:String in loggedUserEntity.calendarsNames) { 
     312                calendarsList.push({ uuid:key, name:loggedUserEntity.calendarsNames[key] }); 
     313            } 
     314            calendarsList.sort(sortCalendars); 
     315            calendarsList.push({ uuid:null, name: "All" }); 
    304316            calendarCombo.selectedIndex = -1; 
    305317        } 
     318 
    306319        private function sortCalendars(a:Object, b:Object):int { 
    307320            return ( a.name < b.name ) ? -1 : (( a.name > b.name ) ? 1 : 0 ); 
    308321        } 
     322 
    309323        private function setDates():void { 
    310324            currentDay = chosenDate.selectedDate; 
    311             weekBeginDay = (new DateUtil( currentDay )).weekBegin( 1 ).date; 
    312             monthBeginDay = (new DateUtil( currentDay )).monthBegin().date; 
     325            weekBeginDay = (new DateUtil(currentDay)).weekBegin(1).date; 
     326            monthBeginDay = (new DateUtil(currentDay)).monthBegin().date; 
    313327            dayOfTheWeek = (currentDay.getDay() - weekBeginDay.getDay() + 7 ) % 7; 
    314             Logger.debug( "currentDay:["+currentDay+"] weekBeginDay:"+weekBeginDay+" monthBeginDay:"+monthBeginDay+" dayOfTheWeek:"+dayOfTheWeek 
    315                     +" ("+currentDay.getDay()+":"+weekBeginDay.getDay()+")" ); 
    316         }         
     328            Logger.debug("currentDay:[" + currentDay + "] weekBeginDay:" + weekBeginDay + " monthBeginDay:" + monthBeginDay + " dayOfTheWeek:" + dayOfTheWeek 
     329                    + " (" + currentDay.getDay() + ":" + weekBeginDay.getDay() + ")"); 
     330        } 
    317331 
    318332        private const EVENTS_RECURSION:int = 1; 
     333 
    319334        private function loadEvents(event:Event):void { 
    320335 
    321             if(calendarCombo.selectedItem               // calendar chosen 
     336            if (calendarCombo.selectedItem               // calendar chosen 
    322337                    && chosenDate.selectedDate          // date chosen 
    323                     && state.selectedIndex>=0){         // state chosen 
     338                    && state.selectedIndex >= 0) {         // state chosen 
    324339 
    325340                setDates(); 
     
    327342                var date:Date = chosenDate.selectedDate;   // get chosen date 
    328343                var begin:Number, end:Number; 
    329                 switch( state.selectedIndex ){  // determine time range 
     344                switch (state.selectedIndex) {  // determine time range 
    330345                    case DAY: { 
    331                             begin = DateUtil.dayBegin(date).timestamp; 
    332                             end = DateUtil.dayEnd(date).timestamp; 
    333                             currentState = DAY_STATE; 
    334                             onDayStateEnter(); 
    335  
    336                             // reset previous display 
    337                             showDayEvents( true ); 
    338                             break;                         
    339                         } 
     346                        begin = DateUtil.dayBegin(date).timestamp; 
     347                        end = DateUtil.dayEnd(date).timestamp; 
     348                        currentState = DAY_STATE; 
     349                        onDayStateEnter(); 
     350 
     351                        // reset previous display 
     352                        showDayEvents(true); 
     353                        break; 
     354                    } 
    340355                    case WEEK: { 
    341                             begin = DateUtil.weekBegin(1, date).timestamp; 
    342                             end = DateUtil.weekEnd(1, date).timestamp; 
    343                             currentState = WEEK_STATE; 
    344                             onWeekStateEnter(); 
    345                          
    346                             // reset previous display 
    347                             showWeekEvents( true );                         
    348                             break; 
    349                         } 
     356                        begin = DateUtil.weekBegin(1, date).timestamp; 
     357                        end = DateUtil.weekEnd(1, date).timestamp; 
     358                        currentState = WEEK_STATE; 
     359                        onWeekStateEnter(); 
     360 
     361                        // reset previous display 
     362                        showWeekEvents(true); 
     363                        break; 
     364                    } 
    350365                    case MONTH: { 
    351                             begin = DateUtil.monthBegin(date).timestamp; 
    352                             end = DateUtil.monthEnd(date).timestamp; 
    353                             currentState = MONTH_STATE;                         
    354                             break; 
    355                         } 
     366                        begin = DateUtil.monthBegin(date).timestamp; 
     367                        end = DateUtil.monthEnd(date).timestamp; 
     368                        currentState = MONTH_STATE; 
     369 
     370                        // reset previous display 
     371                        showMonthEvents(true); 
     372                        break; 
     373                    } 
    356374 
    357375                } 
    358376 
    359                 ModalSpinner.instance.showSpinner("Loading events for calendar '"+(calendarCombo.selectedItem.name)+"'...", 0x269926, panel, 0.2); 
     377                ModalSpinner.instance.showSpinner("Loading events for calendar '" + (calendarCombo.selectedItem.name) + "'...", 0x269926, panel, 0.2); 
    360378                errorLabel.text = ""; 
    361379                var params:Object = {}; 
    362                 if(calendarCombo.selectedItem.uuid){ 
     380                if (calendarCombo.selectedItem.uuid) { 
    363381                    params[Params.DATA_RECURSION] = EVENTS_RECURSION; 
    364                     calendarConnector.getCalendarRange( calendarCombo.selectedItem.uuid, begin, end, params ); 
     382                    calendarConnector.getCalendarRange(calendarCombo.selectedItem.uuid, begin, end, params); 
    365383                } else { 
    366384                    params[Params.DATA_RECURSION] = EVENTS_RECURSION; 
    367                     calendarConnector.getCalendarAll( begin, end, params ); 
     385                    calendarConnector.getCalendarAll(begin, end, params); 
    368386                } 
    369             }            
     387            } 
    370388        } 
    371389 
     
    380398        private var dayOfTheWeek:int = 0; 
    381399        [Bindable] 
    382         [ArrayElementType("DayCanvas")]         
     400        [ArrayElementType("DayCanvas")] 
    383401        private var dayCanvas:Array; 
    384402        [Bindable] 
    385         [ArrayElementType("Label")]         
     403        [ArrayElementType("Label")] 
    386404        private var dayCanvasLabels:Array; 
    387405        [ArrayElementType("VBox")] 
    388         private var dayCanvasBoxes:Array;                 
     406        private var dayCanvasBoxes:Array; 
     407 
    389408        private function onCalendarGetResponse(event:Event):void { 
    390409            var result:ConnectorResult = (event as SsmeEvent).eventProperties['result']; 
     
    393412                // success 
    394413                if (result.resultType == ConnectorResult.SUCCESS) { 
    395                     Logger.debug( result.lastResult as String, LoggingComponentsEnum.CAL ); 
    396                     calendarEntity = (new CalendarEntity()).parseJSONString( result.lastResult as String, EVENTS_RECURSION );                  
    397                     switch( state.selectedIndex ){  // determine time range 
     414                    Logger.debug(result.lastResult as String, LoggingComponentsEnum.CAL); 
     415                    calendarEntity = (new CalendarEntity()).parseJSONString(result.lastResult as String, EVENTS_RECURSION); 
     416                    switch (state.selectedIndex) {  // determine time range 
    398417                        case DAY: { 
    399                                 showDayEvents(); 
    400                                 //currentState = DAY_STATE; 
    401                                 break; 
    402                             } 
     418                            showDayEvents(); 
     419                            //currentState = DAY_STATE; 
     420                            break; 
     421                        } 
    403422                        case WEEK: { 
    404                                 showWeekEvents(); 
    405                                 //currentState = WEEK_STATE; 
    406                                 break; 
    407                             } 
    408 //                        case MONTH: { 
    409 //                                showMonthEvents(); 
    410 //                                currentState = MONTH_STATE; 
    411 //                                break; 
    412 //                       } 
    413                     }                 
     423                            showWeekEvents(); 
     424                            //currentState = WEEK_STATE; 
     425                            break; 
     426                        } 
     427                        case MONTH: { 
     428                            showMonthEvents(); 
     429                            //currentState = MONTH_STATE; 
     430                            break; 
     431                        } 
     432                    } 
    414433                } 
    415434                // error 
    416435                else if (result.resultType == ConnectorResult.ERROR) { 
    417                     var json:ErrorMessageEntity = (new ErrorMessageEntity()).parseJSONString( result.lastResult as String ); 
     436                    var json:ErrorMessageEntity = (new ErrorMessageEntity()).parseJSONString(result.lastResult as String); 
    418437                    errorLabel.text = json.errorMessage; 
    419438                } 
     
    430449            dayCanvas[ dayOfTheWeek ].currentDay = (reset) ? new Date(-1) : currentDay; 
    431450            dayCanvas[ dayOfTheWeek ].dataProvider = (reset) ? new HashArray() : calendarEntity.timeFramesEntitites; 
    432             dayCanvas[ dayOfTheWeek ].setStyle("backgroundAlpha", (reset) ? 0 : 0.3);             
    433             dayCanvasLabels[ dayOfTheWeek ].text = (reset) ? "" : dateFormatter.format( currentDay ); 
     451            dayCanvas[ dayOfTheWeek ].setStyle("backgroundAlpha", (reset) ? 0 : 0.3); 
     452            dayCanvasLabels[ dayOfTheWeek ].text = (reset) ? "" : dayDateFormatter.format(currentDay); 
    434453        } 
    435454 
    436455        private function showWeekEvents(reset:Boolean = false):void { 
    437456 
    438             if(!reset){ 
     457            if (!reset) { 
    439458                // create data structure 
    440459                var dataProviders:Array = [  ], i:int, timeFrame:TimeFrameEntity; 
    441                 for(i=0; i<7; i++)  dataProviders.push( new HashArray() ); 
     460                for (i = 0; i < 7; i++)  dataProviders.push(new HashArray()); 
    442461 
    443462                // divide events among days 
    444463                var fromDay:int, toDay:int; 
    445                 for each( timeFrame in calendarEntity.timeFramesEntitites ){ 
    446                     fromDay = (timeFrame.from.getDay() + 6)%7; 
    447                     toDay = (timeFrame.to.getDay() + 6)%7; 
    448                     if( fromDay == toDay ){ 
     464                for each(timeFrame in calendarEntity.timeFramesEntitites) { 
     465                    fromDay = (timeFrame.from.getDay() + 6) % 7; 
     466                    toDay = (timeFrame.to.getDay() + 6) % 7; 
     467                    if (fromDay == toDay) { 
    449468                        // starts and ends in the same day 
    450                         dataProviders[ fromDay ].put( timeFrame.UUID, timeFrame ); 
     469                        dataProviders[ fromDay ].put(timeFrame.UUID, timeFrame); 
    451470                    } else { 
    452471                        // splitted over more than one days, so add it to all of them 
    453                         for(i=fromDay; i<=toDay;i++){ 
    454                             dataProviders[ i ].put( timeFrame.UUID, timeFrame ); 
     472                        for (i = fromDay; i <= toDay; i++) { 
     473                            dataProviders[ i ].put(timeFrame.UUID, timeFrame); 
    455474                        } 
    456475                    } 
     
    459478 
    460479            // set dataProviders 
    461             var weekBegin:DateUtil = new DateUtil( weekBeginDay ); 
    462             for(i=0; i<7; i++){ 
     480            var weekBegin:DateUtil = new DateUtil(weekBeginDay); 
     481            for (i = 0; i < 7; i++) { 
    463482                dayCanvas[ i ].currentDay = (reset) ? new Date(-1) : weekBegin.date; 
    464483                dayCanvas[ i ].dataProvider = (reset) ? new HashArray() : dataProviders[ i ]; 
    465484                dayCanvas[ i ].setStyle("backgroundAlpha", 0); 
    466                 dayCanvasLabels[ i ].text = (reset) ? "" : dateFormatter.format( weekBegin.date ); 
    467                 weekBegin.add( DateProperty.DATE, 1 ); 
     485                dayCanvasLabels[ i ].text = (reset) ? "" : dayDateFormatter.format(weekBegin.date); 
     486                weekBegin.add(DateProperty.DATE, 1); 
    468487            } 
    469488            dayCanvas[ dayOfTheWeek ].setStyle("backgroundAlpha", (reset) ? 0 : 0.3); 
     
    471490        } 
    472491 
     492        private function showMonthEvents(reset:Boolean = false):void { 
     493            monthCanvas.currentDay = (reset) ? new Date(-1) : currentDay; 
     494            monthCanvas.dataProvider = (reset) ? new HashArray() : calendarEntity.timeFramesEntitites; 
     495            labelMonthCanvas.text = (reset) ? "" : monthDateFormatter.format(currentDay); 
     496        } 
     497 
    473498        private function onTimeFrameGetResponse(event:Event):void { 
    474 //            var result:ConnectorResult = (event as SsmeEvent).eventProperties['result']; 
    475 //            var json:Object = JSONObject.decode(result.lastResult as String); 
    476 //            loadUser(json); 
    477 //            ModalSpinner.instance.hideSpinner(); 
     499            //            var result:ConnectorResult = (event as SsmeEvent).eventProperties['result']; 
     500            //            var json:Object = JSONObject.decode(result.lastResult as String); 
     501            //            loadUser(json); 
     502            //            ModalSpinner.instance.hideSpinner(); 
    478503        } 
    479504 
     
    484509        private const WEEK_STATE:String = "week"; 
    485510        private const MONTH_STATE:String = "month"; 
     511 
    486512        private function onDayStateEnter():void { 
    487513            var i:int; 
    488             for(i=0; i<7; i++){ 
     514            for (i = 0; i < 7; i++) { 
    489515                dayCanvasBoxes[ i ].visible = dayCanvasBoxes[ i ].includeInLayout = (i == dayOfTheWeek); 
    490516            } 
    491517        } 
     518 
    492519        private function onWeekStateEnter():void { 
    493520            var i:int; 
    494             for(i=0; i<7; i++){ 
    495                 dayCanvasBoxes[ i ].visible = dayCanvasBoxes[ i ].includeInLayout = true;          
    496             } 
    497         }         
     521            for (i = 0; i < 7; i++) { 
     522                dayCanvasBoxes[ i ].visible = dayCanvasBoxes[ i ].includeInLayout = true; 
     523            } 
     524        } 
     525 
    498526        private function onStateChanged(event:Event):void { 
    499527 
    500 //            if(currentState == DAY_STATE){ 
    501 // 
    502 //            } else if(currentState == WEEK_STATE){ 
    503 // 
    504 //            } else if(currentState == MONTH_STATE){ 
    505 // 
    506 //            } 
    507         } 
     528            //            if(currentState == DAY_STATE){ 
     529            // 
     530            //            } else if(currentState == WEEK_STATE){ 
     531            // 
     532            //            } else if(currentState == MONTH_STATE){ 
     533            // 
     534            //            } 
     535        } 
     536 
    508537        //----------------------------------------------------- 
    509538 
  • ssme/trunk/flex/Calendar/src/com/kh/ssme/components/DayCanvas.as

    r4042 r4044  
    2727    import com.kh.ssme.util.HashArray; 
    2828 
    29 import com.kh.ssme.util.Logger; 
    30 import com.kh.ssme.util.Logger; 
     29    import com.kh.ssme.util.Logger; 
    3130 
    3231    public class DayCanvas extends GridCanvas { 
     
    3433        public function DayCanvas() { 
    3534            super(); 
     35            verticalScrollPolicy = "off"; 
     36            horizontalScrollPolicy = "off"; 
    3637        } 
    3738 
     
    4748 
    4849                // call repaint only if dimensions were changed 
    49                 if((unscaledWidth+unscaledHeight) - (oldWidth+oldHeight)){ 
     50                if((unscaledWidth - oldWidth) != 0 || (unscaledHeight - oldHeight) != 0){ 
     51                    //there was change in width or height since last call 
     52 
    5053                    oldWidth = unscaledWidth; 
    5154                    oldHeight = unscaledHeight; 
  • ssme/trunk/flex/Common/src/com/kh/ssme/components/GridCanvas.as

    r4042 r4044  
    2222 
    2323package com.kh.ssme.components { 
    24     import flash.display.CapsStyle; 
     24import com.kh.ssme.util.Logger; 
     25 
     26import flash.display.CapsStyle; 
    2527    import flash.display.LineScaleMode; 
    2628 
     
    193195 
    194196            // inner border 
    195             var inBorderThickness:int, xTempPos:int, yTempPos:int; 
     197            var inBorderThickness:int, xTempPos:Number, yTempPos:Number; 
    196198            columnsPosition = []; 
    197199            rowsPosition = []; 
     
    237239                            graphics.moveTo(outBorderThickness + leftHorizontalMargin, yTempPos); 
    238240                            graphics.lineTo(unscaledWidth - outBorderThickness - rightHorizontalMargin, yTempPos); 
    239                             tempRowsPos.push( yTempPos );                             
     241                            tempRowsPos.push( yTempPos ); 
    240242                        } 
    241243                        // bottom border position 
  • ssme/trunk/flex/Common/src/com/kh/ssme/components/RoundedCornerContainer.as

    r4042 r4044  
    8989                                   CapsStyle.NONE); 
    9090                graphics.beginFill(this.getStyle("backgroundColor"), this.getStyle("backgroundAlpha")); 
    91                 graphics.drawRoundRect(borderThickness*0.5, borderThickness*0.5, unscaledWidth-borderThickness, unscaledHeight-borderThickness, cornerRadius, cornerRadius); 
     91                graphics.drawRoundRect(borderThickness*0.5, borderThickness*0.5, unscaledWidth-borderThickness, unscaledHeight-borderThickness, cornerRadius, cornerRadius);                 
    9292                graphics.endFill(); 
    9393            } 
  • ssme/trunk/flex/Common/src/com/kh/ssme/util/DateUtil.as

    r4040 r4044  
    3232 
    3333        private var date_:Date; 
     34        public static const MILLISECOND_PER_SECOND:int = 1000; 
     35        public static const MILLISECOND_PER_MINUTE:int = 1000 * 60; 
     36        public static const MILLISECOND_PER_HOUR:int   = 1000 * 60 * 60; 
     37        public static const MILLISECOND_PER_DAY:int    = 1000 * 60 * 60 * 24;         
     38 
    3439 
    3540        public function DateUtil(date:Date) { 
     
    6166            date_[field.property] -= value; 
    6267            return this; 
     68        } 
     69 
     70        /** 
     71         * Returns the difference between this object and given one in provided units 
     72         * Difference is calculated as FLOOR(this - dateUtil) 
     73         * @param dateUtil - DateUtil instance to be compared 
     74         * @param units - Type of unit to be used while calculation, one of MILLISECONDS, SECONDS, MINUTES, HOURS, DAY/DATE 
     75         * @return 
     76         */ 
     77        public function diff(dateUtil:DateUtil, units:DateProperty):Number{ 
     78            var difference:Number = this.date_.time - dateUtil.timestamp; 
     79            if(DateProperty.MILLISECONDS.equals(units)){ 
     80                return difference; 
     81            } else if(DateProperty.SECONDS.equals(units)){ 
     82                return Math.floor( difference/MILLISECOND_PER_SECOND ); 
     83            } else if(DateProperty.MINUTES.equals(units)){ 
     84                return Math.floor( difference/MILLISECOND_PER_MINUTE ); 
     85            } else if(DateProperty.HOURS.equals(units)){ 
     86                return Math.floor( difference/MILLISECOND_PER_HOUR ); 
     87            } else if(DateProperty.DAY.equals(units) || DateProperty.DATE.equals(units)){ 
     88                return Math.floor( difference/MILLISECOND_PER_DAY ); 
     89            } 
     90            return 0; 
    6391        } 
    6492 
  • ssme/trunk/web/calendar.jsp

    r4038 r4044  
    1313        <jsp:body> 
    1414         
    15                 <ssme:flexContainer animationName="Calendar" id="calendar" width="100%" height="90%" backgroundColor="#66FF66" />                                        
     15                <ssme:flexContainer animationName="Calendar" id="calendar" width="100%" height="90%" />                                  
    1616                 
    1717        </jsp:body> 
  • ssme/trunk/web/css/ssme.css

    r4027 r4044  
    11@CHARSET "UTF-8"; 
    22 
    3 #page_body{ 
    4                 background-color: #bbbbff; 
    5         } 
    6  
    7 #left_column{ 
    8                 float: left;  
    9                 width: 25%;  
    10                 text-align: left;  
    11                 background-color: #dd9999;               
    12         } 
    13          
    14 #left_column_header{ 
    15                 padding-left: 5px; 
    16                 padding-right: 5px; 
    17                 padding-top: 5px; 
    18                 padding-bottom: 10px; 
    19         }        
    20          
    21 #logoutWrapper{ 
    22                 background-color: ff6666; 
    23         } 
    24          
    25 #right_column{ 
    26                 float: left;  
    27                 width: 0%;  
    28                 text-align: left;  
    29                 background-color: blue;  
    30         } 
    31          
    32 #center_column{ 
    33                 float: left;  
    34                 width: 70%;              
    35                 text-align: left;  
    36                 background-color: #bbffbb; 
    37                 padding: 10px; 
    38                 padding-right: 20px; 
    39         } 
    40          
    41 #header{ 
    42                 background-color: yellow;  
    43                 height: 80px;  
    44                 text-align: center; 
    45                 padding: 3px; 
    46         } 
    47          
    48 #content{ 
    49                 background-color: #66FF66;  
    50                 padding: 3px;            
    51         }        
    52          
    53 #footer{ 
    54                 background-color: orange;  
    55                 height: 40px;  
    56                 text-align: center; 
    57                 padding: 3px;            
    58         }        
    59          
    60 #loggerContainer{ 
    61                 background-color: #dddddd; 
    62                 padding: 0px; 
    63                 clear: both; 
    64                 width: 98%; 
    65                 border: 1px solid black; 
    66                 overflow: auto; 
    67                 visibility: visible;     
    68                 margin-top: 20px;        
    69         } 
    70                  
    71 #logger{ 
    72                 background-color: #dddddd; 
    73                 padding: 5px; 
    74                 height: 300px; 
    75                 border: 1px solid black; 
    76                 overflow: auto;  
    77         } 
    78          
    79 .userForm, .groupForm { 
    80                 margin-bottom: 10px; 
    81         }        
     3#page_body { 
     4        background-color: #BBBBFF; 
     5} 
     6 
     7#left_column { 
     8        float: left; 
     9        width: 25%; 
     10        text-align: left; 
     11        padding: 10px;   
     12} 
     13 
     14#left_column_header { 
     15        padding-left: 5px; 
     16        padding-right: 5px; 
     17        padding-top: 5px; 
     18        padding-bottom: 10px; 
     19        background-color: #ddbbb00;      
     20} 
     21 
     22#logoutWrapper { 
     23        background-color: ff6666; 
     24} 
     25 
     26#right_column { 
     27        float: left; 
     28        width: 0%; 
     29        text-align: left; 
     30        background-color: blue; 
     31} 
     32 
     33#center_column { 
     34        float: left; 
     35        width: 70%; 
     36        text-align: left; 
     37        background-color: #BBBBFF; 
     38        padding: 10px; 
     39        padding-right: 20px; 
     40} 
     41 
     42#header { 
     43        background-color: yellow; 
     44        height: 80px; 
     45        text-align: center; 
     46        padding: 3px; 
     47} 
     48 
     49#content { 
     50        background-color: #BBBBFF; 
     51        /* padding: 3px; */ 
     52} 
     53 
     54#footer { 
     55        background-color: orange; 
     56        height: 40px; 
     57        text-align: center; 
     58        padding: 3px; 
     59} 
     60 
     61#loggerContainer { 
     62        background-color: #dddddd; 
     63        padding: 0px; 
     64        clear: both; 
     65        width: 98%; 
     66        border: 1px solid black; 
     67        overflow: auto; 
     68        visibility: visible; 
     69        margin-top: 20px; 
     70} 
     71 
     72#logger { 
     73        background-color: #dddddd; 
     74        padding: 5px; 
     75        height: 300px; 
     76        border: 1px solid black; 
     77        overflow: auto; 
     78} 
     79 
     80#calendar_Calendar{ 
     81        background-color: #BBBBFF; 
     82} 
     83 
     84 
     85.userForm,.groupForm { 
     86        margin-bottom: 10px; 
     87} 
     88 
    8289.error { 
    83                 color: red; 
    84                 font-weight: bold; 
    85         }        
    86          
    87                  
    88  
    89         /** 
    90          *      form fields 
    91          */ 
    92 input{ 
    93                 border: 0px solid red; 
    94                 background-color: transparent;                                   
    95         } 
    96 textarea{ 
    97                 border: 1px solid #bbffbb; 
    98                 filter:alpha(opacity=60); 
    99                 opacity:0.6     ;                                
    100         }        
    101          
    102 .disabledInput{ 
    103                 font-weight: bold; 
    104                 font-color: #333333; 
    105         }        
    106          
    107 .enabledInput{ 
    108                 border-bottom: 1px dotted #444444; 
    109                 background-color: white; 
    110                 filter:alpha(opacity=60); 
    111                 opacity:0.6     ; 
    112                 font-color: black;               
    113         }        
    114          
    115          
    116                  
    117         /** 
    118          * lists of 
    119          * users, groups, roles 
    120          */ 
    121 ul.groupList, ul.userList, ul.rolesList { 
    122                 margin: 0px; 
    123                 padding: 0px; 
    124                 padding-top: 3px; 
    125                 padding-bottom: 3px; 
    126                 margin-bottom: 6px;                              
    127         }        
    128 ul.groupList, ul.userList{        
    129                 list-style-type: none 
    130         }         
    131 ul.groupList li, ul.userList li{ 
    132                 padding: 3px;            
    133         } 
     90        color: red; 
     91        font-weight: bold; 
     92} 
     93 
     94/** 
     95 *      form fields 
     96 */ 
     97input { 
     98        border: 0px solid red; 
     99        background-color: transparent; 
     100} 
     101 
     102textarea { 
     103        border: 1px solid #bbffbb; 
     104        filter: alpha(opacity = 60); 
     105        opacity: 0.6; 
     106} 
     107 
     108.disabledInput { 
     109        font-weight: bold; 
     110        font-color: #333333; 
     111} 
     112 
     113.enabledInput { 
     114        border-bottom: 1px dotted #444444; 
     115        background-color: white; 
     116        filter: alpha(opacity = 60); 
     117        opacity: 0.6; 
     118        font-color: black; 
     119} 
     120 
     121/** 
     122 * lists of 
     123 * users, groups, roles 
     124 */ 
     125ul.groupList,ul.userList,ul.rolesList { 
     126        margin: 0px; 
     127        padding: 0px; 
     128        padding-top: 3px; 
     129        padding-bottom: 3px; 
     130        margin-bottom: 6px; 
     131} 
     132 
     133ul.groupList,ul.userList { 
     134        list-style-type: none 
     135} 
     136 
     137ul.groupList li,ul.userList li { 
     138        padding: 3px; 
     139} 
     140 
    134141.rolesListItem { 
    135                 border: 1px dotted; 
    136                 display: inline; 
    137                 margin-right: 5px; 
    138         }        
    139          
    140          
    141         /** 
    142          *      Wrappers 
    143          */      
    144 #user_wrapper, #groupDetails_wrapper, #newGroup_wrapper{ 
    145                 background-color: #66FF66; 
    146         } 
    147 .excludedFromLayout{ 
    148                 visibility: hidden; 
    149                 position: absolute;  
    150         } 
    151 span .container{ 
    152                 padding: 0px; 
    153                 margin: 0px; 
    154                 border: 0px; 
    155         } 
    156          
    157          
    158          
    159         /** 
    160          * Toggle buttons 
    161          */ 
     142        border: 1px dotted; 
     143        display: inline; 
     144        margin-right: 5px; 
     145} 
     146 
     147/** 
     148 *      Wrappers 
     149 */ 
     150#user_wrapper,#groupDetails_wrapper,#newGroup_wrapper { 
     151        background-color: #BBBBFF; 
     152} 
     153 
     154.excludedFromLayout { 
     155        visibility: hidden; 
     156        position: absolute; 
     157} 
     158 
     159span .container { 
     160        padding: 0px; 
     161        margin: 0px; 
     162        border: 0px; 
     163} 
     164 
     165/** 
     166 * Toggle buttons 
     167 */ 
    162168.toggleButton { 
    163                 border: 2px solid #bbffbb; 
    164                 padding: 1px 3px 1px 3px; 
    165                 margin-left: 2px; 
    166                 margin-right: 2px; 
    167                 cursor: pointer; 
    168         }         
    169          
     169        border: 2px solid #bbffbb; 
     170        padding: 1px 3px 1px 3px; 
     171        margin-left: 2px; 
     172        margin-right: 2px; 
     173        cursor: pointer; 
     174} 
     175 
    170176.toggleOn { 
    171                 border-style: inset;     
    172         } 
    173          
     177        border-style: inset; 
     178} 
     179 
    174180.toggleOff { 
    175                 border-style: outset; 
    176         }                
    177          
    178          
    179          
    180         /** 
    181          *      buttons 
    182          */      
     181        border-style: outset; 
     182} 
     183 
     184/** 
     185 *      buttons 
     186 */ 
    183187.faceboxButton { 
    184                 border:2px outset #bbffbb; 
    185                 padding: 1px 3px 1px 3px; 
    186                 cursor: pointer;                 
    187         }        
    188 .faceboxButton:hover{ 
    189                 border:1px outset #bbffbb; 
    190                 padding: 2px 4px 2px 4px; 
    191         } 
    192          
    193 .faceboxButton:active{ 
    194                 border:1px inset #bbffbb; 
    195                 padding: 2px 4px 2px 4px; 
    196         } 
    197          
    198 .button{ 
    199                 cursor: pointer;         
    200                 border:2px outset #bbffbb; 
    201                 padding: 1px 3px 1px 3px; 
    202         }        
    203  
    204 .button:hover{ 
    205                 border:1px outset #bbffbb; 
    206                 padding: 2px 4px 2px 4px; 
    207         } 
    208          
    209 .button:active{ 
    210                 border:1px inset #bbffbb; 
    211                 padding: 2px 4px 2px 4px; 
    212         }                
    213          
    214          
    215 .flexContainer{ 
    216                 width: 100%; 
    217                 height: 100%;            
    218         }        
    219  
    220          
    221          
    222          
     188        border: 2px outset #bbffbb; 
     189        padding: 1px 3px 1px 3px; 
     190        cursor: pointer; 
     191} 
     192 
     193.faceboxButton:hover { 
     194        border: 1px outset #bbffbb; 
     195        padding: 2px 4px 2px 4px; 
     196} 
     197 
     198.faceboxButton:active { 
     199        border: 1px inset #bbffbb; 
     200        padding: 2px 4px 2px 4px; 
     201} 
     202 
     203.button { 
     204        cursor: pointer; 
     205        border: 2px outset #bbffbb; 
     206        padding: 1px 3px 1px 3px; 
     207} 
     208 
     209.button:hover { 
     210        border: 1px outset #bbffbb; 
     211        padding: 2px 4px 2px 4px; 
     212} 
     213 
     214.button:active { 
     215        border: 1px inset #bbffbb; 
     216        padding: 2px 4px 2px 4px; 
     217} 
     218 
     219.flexContainer { 
     220        width: 100%; 
     221        height: 100%; 
     222} 
  • ssme/trunk/web/script/facebox.js

    r4027 r4044  
    281281var facebox; 
    282282Event.observe(window, 'load', function(e){ 
    283         $('logger').innerHTML += "facebox = new Facebox()" + "<br/>"; 
     283        Logger.debug("facebox = new Facebox()"); 
    284284        facebox = new Facebox(); 
    285285}); 
  • ssme/trunk/web/script/util.js

    r4027 r4044  
    5353//static 
    5454Logger._print = function(message) { 
    55         $('logger').innerHTML += message + "<br/>"; 
     55        try{ 
     56                if( $('logger') ){ 
     57                        $('logger').innerHTML += message + "<br/>"; 
     58                } 
     59        } catch (e) {} 
    5660        //try {  console.debug(message); } catch (e) {}; 
    5761} 
  • ssme/trunk/web/WEB-INF/tags/flexContainer.tag

    r4035 r4044  
    55<%@ attribute name="width" type="java.lang.String" required="false" %> 
    66<%@ attribute name="height" type="java.lang.String" required="false" %> 
    7 <%@ attribute name="backgroundColor" type="java.lang.String" required="false" %> 
    87 
    9 <div id="${ id }_${ animationName }" class="flexContainer" style="width:${ width }; height:${ height }; background-color:${ backgroundColor };" /> 
     8<div id="${ id }_${ animationName }" class="flexContainer" style="width:${ width }; height:${ height };" /> 
  • ssme/trunk/web/WEB-INF/tags/page.tag

    r4038 r4044  
    7979                                </c:if>  
    8080                                 
     81                                <!--  
    8182                                <div id="loggerContainer">       
    8283                                        <div style="padding: 5px 5px 5px 5px; border: 1px solid black;"> 
     
    8788                                        <div id="logger" />      
    8889                                </div> 
    89                                  
     90                                 --> 
    9091 
    9192                        </c:otherwise> 
  • ssme/trunk/web/WEB-INF/web.xml

    r4027 r4044  
    77    <!-- session config --> 
    88    <session-config> 
    9         <session-timeout>15</session-timeout> 
     9        <session-timeout>120</session-timeout> 
    1010    </session-config> 
    1111    <welcome-file-list>