Author: DavidK Date: 2010-02-11 00:04:37 +0100 (Thu, 11 Feb 2010) New Revision: 1706 Added: trunk/server/webServer2/WebContent/images/components/ trunk/server/webServer2/WebContent/js/components/ trunk/server/webServer2/WebContent/js/components/timeSpinnerComponent.js trunk/server/webServer2/WebContent/js/elvys/ trunk/server/webServer2/WebContent/js/elvys/listOfElvyses.js trunk/server/webServer2/WebContent/js/planning/ trunk/server/webServer2/WebContent/js/planning/planDocuments.js trunk/server/webServer2/WebContent/js/planning/planningModalForm.js trunk/server/webServer2/WebContent/secured/components/timeSpinnerComponent.xhtml trunk/server/webServer2/WebContent/styles/components/ trunk/server/webServer2/WebContent/styles/components/timeSpinnerComponent.css trunk/server/webServer2/WebContent/styles/elvys/ trunk/server/webServer2/WebContent/styles/elvys/listOfElvyses.css trunk/server/webServer2/WebContent/styles/planning/ trunk/server/webServer2/WebContent/styles/planning/planDocuments.css trunk/server/webServer2/WebContent/styles/planning/planningModalForm.css Removed: trunk/server/webServer2/WebContent/images/planning/ trunk/server/webServer2/WebContent/secured/elvysrel/modalListElvys.xhtml trunk/server/webServer2/WebContent/styles/scheduler.css Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/PlanningModalBean.java trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/messages_cs.properties trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/messages_en.properties trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml trunk/server/webServer2/WebContent/secured/elvysrel/planDocuments.xhtml trunk/server/webServer2/WebContent/secured/elvysrel/planningModalForm.xhtml Log: better planning, part 1. Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/PlanningModalBean.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/PlanningModalBean.java 2010-02-10 21:26:43 UTC (rev 1705) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/PlanningModalBean.java 2010-02-10 23:04:37 UTC (rev 1706) @@ -89,11 +89,16 @@ private ContentType formContentType; // list of permitted types converted to combo-box version private List<SelectItem> formPermittedTypes; - // date of start + // date of start (12.2.2009, ..) private Date formShowStart; - // date of end + // date of end (24.12.2010,..) private Date formShowEnd; + // time of start (13:32 or 0:40, ..) + private Date formShowStartTime; + // time of end (10:15 or 2:12, ..) + private Date formShowEndTime; + // messages private static final String ERR_NO_PERMITTED_TYPES = "There are no permitted types for this position"; private static final String ERR_CONTENT_TYPE_NOT_RECOGNIZED = "content type from Rectangle couldn't be recognized"; @@ -133,6 +138,18 @@ public void setFormShowEnd(Date formShowEnd) { this.formShowEnd = formShowEnd; } + public Date getFormShowStartTime() { + return formShowStartTime; + } + public void setFormShowStartTime(Date formShowStartTime) { + this.formShowStartTime = formShowStartTime; + } + public Date getFormShowEndTime() { + return formShowEndTime; + } + public void setFormShowEndTime(Date formShowEndTime) { + this.formShowEndTime = formShowEndTime; + } public Rectangle getRect() { return rect; } @@ -209,6 +226,18 @@ formShowStart = rect.getRealFrom(); formShowEnd = rect.getRealTo(); + // set Time form fields + formShowStartTime = rect.getRealFrom(); + if (formShowStartTime == null) { + formShowStartTime = new Date(); + } + formShowEndTime = rect.getRealTo(); + if (formShowEndTime == null) { + formShowEndTime = new Date(); + } + + + // MODIFYING -> create temp contents by contents in Rectangle if (modifying) { // set content type by existing planning Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties 2010-02-10 21:26:43 UTC (rev 1705) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties 2010-02-10 23:04:37 UTC (rev 1706) @@ -313,7 +313,9 @@ elvys.plan.modal.create.header=Napl\u00E1novat dokument elvys.plan.modal.modify.header=Zm\u011Bna pl\u00E1nov\u00E1n\u00ED elvys.plan.modal.form.showStart=Za\u010D\u00E1tek +elvys.plan.modal.form.showStart.tooltip=Nastaven\u00ED dne a \u010Dasu za\u010D\u00E1tku pl\u00E1nov\u00E1n\u00ED. elvys.plan.modal.form.showEnd=Konec +elvys.plan.modal.form.showEnd.tooltip=Nastaven\u00ED dne a \u010Dasu konce pl\u00E1nov\u00E1n\u00ED. elvys.plan.modal.form.timelinecontent=Pl\u00E1nov\u00E1n\u00ED obsahu\: elvys.plan.modal.form.document=Dokument elvys.plan.modal.form.url=URL zdroj Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/messages_cs.properties =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/messages_cs.properties 2010-02-10 21:26:43 UTC (rev 1705) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/messages_cs.properties 2010-02-10 23:04:37 UTC (rev 1706) @@ -14,7 +14,7 @@ elvys.plan.modal.conflict.embrace=Pl\u00E1nov\u00E1n\u00ED je uvnit\u0159 jin\u00E9ho pl\u00E1nov\u00E1n\u00ED. Start\: {0}; Konec\: {1} elvys.plan.modal.nochosendocument=Mus\u00EDte vybrat dokument. elvys.plan.modal.nochosenvideo=Mus\u00EDte vybrat video. -javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=Zadejte \u010D\u00EDslo v rozmez\u00ED {0} a {1} +javax.faces.validator.LongRangeValidator.NOT_IN_RANGE={2}\: Valida\u010Dn\u00ED chyba\: Specified attribute is not between the expected values of {0} and {1}. elvys.categorydefinition.edit.name.empty=Mus\u00ED b\u00FDt zad\u00E1na hodnota. elvys.categorydefinition.edit.name.notuniq=Zadan\u00E9 jm\u00E9no kategorie nen\u00ED unik\u00E1tn\u00ED v r\u00E1mci spole\u010Dnosti. @@ -25,5 +25,68 @@ rc-validation-error=\u0160patn\u00FD form\u00E1t rodn\u00E9ho \u010D\u00EDsla\: {0} rc-validation-error-male=O\u010Dek\u00E1v\u00E1no rodn\u00E9 \u010D\u00EDslo pro \u017Eenu\: {0} rc-validation-error-female=O\u010Dek\u00E1v\u00E1no rodn\u00E9 \u010D\u00EDslo pro mu\u017Ee\: {0} -javax.faces.component.UIInput.REQUIRED=Hodnota pro pole je povinn\u00E1 invalid-email=Va\u0161e e-mailov\u00E1 adresa nen\u00ED spr\u00E1vn\u00E1 + + + + + +javax.faces.component.UIInput.CONVERSION={0}: Conversion error occurred +javax.faces.component.UIInput.REQUIRED={0}\: Valida\u010Dn\u00ED chyba\: Hodnota pro pole je povinn\u00E1 +javax.faces.component.UIInput.UPDATE={0}: An error occurred when processing your submitted information +javax.faces.component.UISelectOne.INVALID={0}\: Valida\u010Dn\u00ED chyba\: Value is not valid +javax.faces.component.UISelectMany.INVALID={0}\: Valida\u010Dn\u00ED chyba\: Value is not valid +javax.faces.converter.BigDecimalConverter.DECIMAL={2}: ''{0}'' must be a signed decimal number. +javax.faces.converter.BigDecimalConverter.DECIMAL_detail={2}: ''{0}'' must be a signed decimal number consisting of zero or more digits, that may be followed by a decimal point and fraction. Example: {1} +javax.faces.converter.BigIntegerConverter.BIGINTEGER={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail={2}: ''{0}'' must be a number consisting of one or more digits. Example: {1} +javax.faces.converter.BooleanConverter.BOOLEAN={1}: ''{0}'' must be 'true' or 'false'. +javax.faces.converter.BooleanConverter.BOOLEAN_detail={1}: ''{0}'' must be 'true' or 'false'. Any value other than 'true' will evaluate to 'false'. +javax.faces.converter.ByteConverter.BYTE={2}: ''{0}'' must be a number between 0 and 255. +javax.faces.converter.ByteConverter.BYTE_detail={2}: ''{0}'' must be a number between 0 and 255. Example: {1} +javax.faces.converter.CharacterConverter.CHARACTER={1}: ''{0}'' must be a valid character. +javax.faces.converter.CharacterConverter.CHARACTER_detail={1}: ''{0}'' must be a valid ASCII character. +javax.faces.converter.DateTimeConverter.DATE={2}\: ''{0}'' nem\u016F\u017Ee b\u00FDt ch\u00E1p\u00E1n jako datum. +javax.faces.converter.DateTimeConverter.DATE_detail={2}\: ''{0}'' nem\u016F\u017Ee b\u00FDt ch\u00E1p\u00E1n jako datum. P\u0159\u00EDklad\: {1} +javax.faces.converter.DateTimeConverter.TIME={2}\: ''{0}'' nem\u016F\u017Ee b\u00FDt ch\u00E1p\u00E1n jako \u010Das. +javax.faces.converter.DateTimeConverter.TIME_detail={2}\: ''{0}'' nem\u016F\u017Ee b\u00FDt ch\u00E1p\u00E1n jako \u010Das. P\u0159\u00EDklad\: {1} +javax.faces.converter.DateTimeConverter.DATETIME={2}\: ''{0}'' nem\u016F\u017Ee b\u00FDt ch\u00E1p\u00E1n jako date and time. +javax.faces.converter.DateTimeConverter.DATETIME_detail={2}\: ''{0}'' nem\u016F\u017Ee b\u00FDt ch\u00E1p\u00E1n jako date and time. P\u0159\u00EDklad\: {1} +javax.faces.converter.DateTimeConverter.PATTERN_TYPE={1}: A 'pattern' or 'type' attribute must be specified to convert the value ''{0}''. +javax.faces.converter.DoubleConverter.DOUBLE={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.DoubleConverter.DOUBLE_detail={2}: ''{0}'' must be a number between 4.9E-324 and 1.7976931348623157E308 Example: {1} +javax.faces.converter.EnumConverter.ENUM={2}: ''{0}'' must be convertible to an enum. +javax.faces.converter.EnumConverter.ENUM_detail={2}: ''{0}'' must be convertible to an enum from the enum that contains the constant ''{1}''. +javax.faces.converter.EnumConverter.ENUM_NO_CLASS={1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided. +javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail={1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided. +javax.faces.converter.FloatConverter.FLOAT={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.FloatConverter.FLOAT_detail={2}: ''{0}'' must be a number between 1.4E-45 and 3.4028235E38 Example: {1} +javax.faces.converter.IntegerConverter.INTEGER={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.IntegerConverter.INTEGER_detail={2}: ''{0}'' must be a number between -2147483648 and 2147483647 Example: {1} +javax.faces.converter.LongConverter.LONG={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.LongConverter.LONG_detail={2}: ''{0}'' must be a number between -9223372036854775808 to 9223372036854775807 Example: {1} +javax.faces.converter.NumberConverter.CURRENCY={2}\: ''{0}'' nem\u016F\u017Ee b\u00FDt ch\u00E1p\u00E1n jako currency value. +javax.faces.converter.NumberConverter.CURRENCY_detail={2}\: ''{0}'' nem\u016F\u017Ee b\u00FDt ch\u00E1p\u00E1n jako currency value. Example\: {1} +javax.faces.converter.NumberConverter.PERCENT={2}\: ''{0}'' nem\u016F\u017Ee b\u00FDt ch\u00E1p\u00E1n jako percentage. +javax.faces.converter.NumberConverter.PERCENT_detail={2}\: ''{0}'' nem\u016F\u017Ee b\u00FDt ch\u00E1p\u00E1n jako percentage. Example\: {1} +javax.faces.converter.NumberConverter.NUMBER={2}\: ''{0}'' is not a number. +javax.faces.converter.NumberConverter.NUMBER_detail={2}: ''{0}'' is not a number. Example: {1} +javax.faces.converter.NumberConverter.PATTERN={2}: ''{0}'' is not a number pattern. +javax.faces.converter.NumberConverter.PATTERN_detail={2}: ''{0}'' is not a number pattern. Example: {1} +javax.faces.converter.ShortConverter.SHORT={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.ShortConverter.SHORT_detail={2}: ''{0}'' must be a number between -32768 and 32767 Example: {1} +javax.faces.converter.STRING={1}: Could not convert ''{0}'' to a string. +javax.faces.validator.DoubleRangeValidator.MAXIMUM={1}\: Valida\u010Dn\u00ED chyba\: Value is greater than allowable maximum of ''{0}'' +javax.faces.validator.DoubleRangeValidator.MINIMUM={1}\: Valida\u010Dn\u00ED chyba\: Value is less than allowable minimum of ''{0}'' +javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE={2}\: Valida\u010Dn\u00ED chyba\: Specified attribute is not between the expected values of {0} and {1}. +javax.faces.validator.DoubleRangeValidator.TYPE={0}\: Valida\u010Dn\u00ED chyba\: Value is not of the correct type +javax.faces.validator.LengthValidator.MAXIMUM={1}\: Valida\u010Dn\u00ED chyba\: Value is greater than allowable maximum of ''{0}'' +javax.faces.validator.LengthValidator.MINIMUM={1}\: Valida\u010Dn\u00ED chyba\: Value is less than allowable minimum of ''{0}'' +javax.faces.validator.LongRangeValidator.MAXIMUM={1}\: Valida\u010Dn\u00ED chyba\: Value is greater than allowable maximum of ''{0}'' +javax.faces.validator.LongRangeValidator.MINIMUM={1}\: Valida\u010Dn\u00ED chyba\: Value is less than allowable minimum of ''{0}'' +javax.faces.validator.LongRangeValidator.TYPE={0}\: Valida\u010Dn\u00ED chyba\: Value is not of the correct type +javax.faces.validator.NOT_IN_RANGE=Specified attribute is not between the expected values of {0} and {1} + + + + Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/messages_en.properties =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/messages_en.properties 2010-02-10 21:26:43 UTC (rev 1705) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/messages_en.properties 2010-02-10 23:04:37 UTC (rev 1706) @@ -1,5 +1,66 @@ rc-validation-error=Wrong format of Rodne cislo\: {0} rc-validation-error-male=Rodne cislo for a woman expected\: {0} rc-validation-error-female=Rodne cislo for a man expected\: {0} -javax.faces.component.UIInput.REQUIRED=Value is required invalid-email=Your e-mail address is in invalid format + + + + + +javax.faces.component.UIInput.CONVERSION={0}: Conversion error occurred +javax.faces.component.UIInput.REQUIRED={0}: Validation Error: Value is required +javax.faces.component.UIInput.UPDATE={0}: An error occurred when processing your submitted information +javax.faces.component.UISelectOne.INVALID={0}: Validation Error: Value is not valid +javax.faces.component.UISelectMany.INVALID={0}: Validation Error: Value is not valid +javax.faces.converter.BigDecimalConverter.DECIMAL={2}: ''{0}'' must be a signed decimal number. +javax.faces.converter.BigDecimalConverter.DECIMAL_detail={2}: ''{0}'' must be a signed decimal number consisting of zero or more digits, that may be followed by a decimal point and fraction. Example: {1} +javax.faces.converter.BigIntegerConverter.BIGINTEGER={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail={2}: ''{0}'' must be a number consisting of one or more digits. Example: {1} +javax.faces.converter.BooleanConverter.BOOLEAN={1}: ''{0}'' must be 'true' or 'false'. +javax.faces.converter.BooleanConverter.BOOLEAN_detail={1}: ''{0}'' must be 'true' or 'false'. Any value other than 'true' will evaluate to 'false'. +javax.faces.converter.ByteConverter.BYTE={2}: ''{0}'' must be a number between 0 and 255. +javax.faces.converter.ByteConverter.BYTE_detail={2}: ''{0}'' must be a number between 0 and 255. Example: {1} +javax.faces.converter.CharacterConverter.CHARACTER={1}: ''{0}'' must be a valid character. +javax.faces.converter.CharacterConverter.CHARACTER_detail={1}: ''{0}'' must be a valid ASCII character. +javax.faces.converter.DateTimeConverter.DATE={2}: ''{0}'' could not be understood as a date. +javax.faces.converter.DateTimeConverter.DATE_detail={2}: ''{0}'' could not be understood as a date. Example: {1} +javax.faces.converter.DateTimeConverter.TIME={2}: ''{0}'' could not be understood as a time. +javax.faces.converter.DateTimeConverter.TIME_detail={2}: ''{0}'' could not be understood as a time. Example: {1} +javax.faces.converter.DateTimeConverter.DATETIME={2}: ''{0}'' could not be understood as a date and time. +javax.faces.converter.DateTimeConverter.DATETIME_detail={2}: ''{0}'' could not be understood as a date and time. Example: {1} +javax.faces.converter.DateTimeConverter.PATTERN_TYPE={1}: A 'pattern' or 'type' attribute must be specified to convert the value ''{0}''. +javax.faces.converter.DoubleConverter.DOUBLE={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.DoubleConverter.DOUBLE_detail={2}: ''{0}'' must be a number between 4.9E-324 and 1.7976931348623157E308 Example: {1} +javax.faces.converter.EnumConverter.ENUM={2}: ''{0}'' must be convertible to an enum. +javax.faces.converter.EnumConverter.ENUM_detail={2}: ''{0}'' must be convertible to an enum from the enum that contains the constant ''{1}''. +javax.faces.converter.EnumConverter.ENUM_NO_CLASS={1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided. +javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail={1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided. +javax.faces.converter.FloatConverter.FLOAT={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.FloatConverter.FLOAT_detail={2}: ''{0}'' must be a number between 1.4E-45 and 3.4028235E38 Example: {1} +javax.faces.converter.IntegerConverter.INTEGER={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.IntegerConverter.INTEGER_detail={2}: ''{0}'' must be a number between -2147483648 and 2147483647 Example: {1} +javax.faces.converter.LongConverter.LONG={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.LongConverter.LONG_detail={2}: ''{0}'' must be a number between -9223372036854775808 to 9223372036854775807 Example: {1} +javax.faces.converter.NumberConverter.CURRENCY={2}: ''{0}'' could not be understood as a currency value. +javax.faces.converter.NumberConverter.CURRENCY_detail={2}: ''{0}'' could not be understood as a currency value. Example: {1} +javax.faces.converter.NumberConverter.PERCENT={2}: ''{0}'' could not be understood as a percentage. +javax.faces.converter.NumberConverter.PERCENT_detail={2}: ''{0}'' could not be understood as a percentage. Example: {1} +javax.faces.converter.NumberConverter.NUMBER={2}: ''{0}'' is not a number. +javax.faces.converter.NumberConverter.NUMBER_detail={2}: ''{0}'' is not a number. Example: {1} +javax.faces.converter.NumberConverter.PATTERN={2}: ''{0}'' is not a number pattern. +javax.faces.converter.NumberConverter.PATTERN_detail={2}: ''{0}'' is not a number pattern. Example: {1} +javax.faces.converter.ShortConverter.SHORT={2}: ''{0}'' must be a number consisting of one or more digits. +javax.faces.converter.ShortConverter.SHORT_detail={2}: ''{0}'' must be a number between -32768 and 32767 Example: {1} +javax.faces.converter.STRING={1}: Could not convert ''{0}'' to a string. +javax.faces.validator.DoubleRangeValidator.MAXIMUM={1}: Validation Error: Value is greater than allowable maximum of ''{0}'' +javax.faces.validator.DoubleRangeValidator.MINIMUM={1}: Validation Error: Value is less than allowable minimum of ''{0}'' +javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE={2}: Validation Error: Specified attribute is not between the expected values of {0} and {1}. +javax.faces.validator.DoubleRangeValidator.TYPE={0}: Validation Error: Value is not of the correct type +javax.faces.validator.LengthValidator.MAXIMUM={1}: Validation Error: Value is greater than allowable maximum of ''{0}'' +javax.faces.validator.LengthValidator.MINIMUM={1}: Validation Error: Value is less than allowable minimum of ''{0}'' +javax.faces.validator.LongRangeValidator.MAXIMUM={1}: Validation Error: Value is greater than allowable maximum of ''{0}'' +javax.faces.validator.LongRangeValidator.MINIMUM={1}: Validation Error: Value is less than allowable minimum of ''{0}'' +javax.faces.validator.LongRangeValidator.NOT_IN_RANGE={2}: Validation Error: Specified attribute is not between the expected values of {0} and {1}. +javax.faces.validator.LongRangeValidator.TYPE={0}: Validation Error: Value is not of the correct type +javax.faces.validator.NOT_IN_RANGE=Specified attribute is not between the expected values of {0} and {1} + Added: trunk/server/webServer2/WebContent/js/components/timeSpinnerComponent.js =================================================================== --- trunk/server/webServer2/WebContent/js/components/timeSpinnerComponent.js (rev 0) +++ trunk/server/webServer2/WebContent/js/components/timeSpinnerComponent.js 2010-02-10 23:04:37 UTC (rev 1706) @@ -0,0 +1,205 @@ +function IsMSIE7(){ + return(IsMSIE()&&navigator.appVersion.indexOf("MSIE 7.0;")>=0); +} +function IsMSIE6older(){ + return(IsMSIE()&&(navigator.appVersion.indexOf("MSIE 6.0;")>=0||navigator.appVersion.indexOf("MSIE 5.5;")>=0)); +} +function IsMSIE(){ + return navigator.appName==="Microsoft Internet Explorer"; +} + +var IE=null; +var NS=null; +var OPERA=null; +ua=navigator.appName.toLowerCase(); +if(ua.indexOf('explorer')>-1&&document.getElementById&&document.childNodes&&!document.addEventListener){ + IE=true; +} +if(ua.indexOf('netscape')>-1&&document.getElementById&&document.childNodes&&!document.all){ + NS=true; +} +if(ua.indexOf('opera')>-1&&document.getElementById&&document.childNodes){ + OPERA=true; +} +if(!IE&&!NS&&!OPERA&&document.addEventListener){ + OPERA=true; +} + + +// date='2/10/2010', time='19:10' +function registerMyInstanceOfDateSpinner(fieldId,date,time) { + loadSearch('2/10/2010', 'Date'); + var sDefTime='19:10'; + mapOfCurrentDates[fieldId] +} + +function loadSearch(DateSelect,id){ + OurDate=new Date(DateSelect); + var today; + today=new Date(); +} + + +// DATE SECTION +function GetCalDate(event,sOperation,fieldId){ + if(IsNSOperaDblClick(event)){ + return false; + } + + var dateString = document.getElementById(fieldId).value; + var dateFromField = parseDate(dateString); + if (dateFromField == null) { + // no operation + return false; + } + + if(sOperation=="-"){ + JourneyDateBack(dateFromField,fieldId); + } + else{ + JourneyDateFore(dateFromField,fieldId); + } + return false; +} + + +function JourneyDateBack(date,fieldId){ + date.setTime(date.getTime()-1*24*60*60*1000); + + var refDate=document.getElementById(fieldId); + refDate.value=date2String(date); + return false; +} + + +function JourneyDateFore(date,fieldId){ + date.setTime(date.getTime()+1*24*60*60*1000); + + var refDate=document.getElementById(fieldId); + refDate.value=date2String(date); + return false; +} + +function parseDate(sDate) { + var isDate = true; + iDateLen = sDate.length; + asDate = sDate.split('.'); + if (iDateLen >= 8 && iDateLen <= 10 && asDate.length == 3) { + for (i=0; i < asDate.length; i++){ + for (j=0; j < asDate[i].length; j++){ + if (asDate[i].charCodeAt(j) < 48 || asDate[i].charCodeAt(j) > 57) { + isDate = false; + } + } + } + } else { + isDate = false; + } + var resultDate = null; + if (isDate) { + resultDate = new Date(asDate[2],eval(asDate[1]-1),asDate[0]); + return resultDate; + } else { + return null; + } +} + + +function date2String(date){ + return date.getDate()+'.'+(date.getMonth()+1)+'.'+date.getFullYear(); +} + + + + + +//// TIME SECTION + + +function GetTime(event,sOperation,fieldId){ + if(IsNSOperaDblClick(event)) { + return false; + } + var sTime=""; + oEl=document.getElementById(fieldId); + if(oEl!=null){ + sTime=TimeParse(oEl.value); + sDefTime=ChangeTime(sTime,sOperation); + oEl.value=sDefTime; + } + return false; +} + + + +function TimeParse(sTime){ + var iLen=sTime.length; + var bNum=true; + var asTime=[]; + asTime=sTime.split(":"); + if (iLen>=3 && iLen<=5 && asTime.length == 2){ + for(i=0;i<asTime.length;i++){ + for(j=0;j<asTime[i].length;j++){ + if(!(asTime[i].charCodeAt(j)>=48&&asTime[i].charCodeAt(j)<=57)){ + bNum=false; + } + } + } + } else { + bNum=false; + } + if(bNum){ + if(eval(asTime[0])<0||eval(asTime[0])>24){ + bNum=false; + } + } + if(bNum){ + return sTime; + } else{ + return sDefTime; + } +} + + +function ChangeTime(sTime,sOperation){ + var iFrom; + var iTo; + var asTime=[]; + asTime=sTime.split(":"); + var iHours=eval(asTime[0]); + iFrom=0; + iTo=23; + if (iHours===24){ + iHours=iFrom; + } + var iNum; + if(sOperation==="+"){ + // vzdycky prictu jednu hodinu (i pri zaokrouhlovani) + iHours+=1; + } else { + // kdyz je byla cela hodina, jednu odectu - jinak zaokrouhlim na celou hodinu + if(asTime[1]=="00"||asTime[1]=="0") { + iHours-=1; + } + } + if(iHours<iFrom){ + iHours=iTo; + } + if(iHours>iTo){ + iHours=iFrom; + } + asTime[0]=iHours; + asTime[1]="00"; + return asTime[0]+":"+asTime[1]; +} + + + +// OSTATNI +function IsNSOperaDblClick(event){ + return(event && event.type=='dblclick' && (NS||OPERA)); +} + + + + Added: trunk/server/webServer2/WebContent/js/elvys/listOfElvyses.js =================================================================== Added: trunk/server/webServer2/WebContent/js/planning/planDocuments.js =================================================================== --- trunk/server/webServer2/WebContent/js/planning/planDocuments.js (rev 0) +++ trunk/server/webServer2/WebContent/js/planning/planDocuments.js 2010-02-10 23:04:37 UTC (rev 1706) @@ -0,0 +1,19 @@ +function moveVac(myId){ + var cId = myId.substring(0,myId.length-3); + cId = cId + "VPR"; + moveGeneric(cId); +} + +function moveOcc(myId){ + var cId = myId.substring(0,myId.length-3); + cId = cId + "OPR"; + moveGeneric(cId); +} + +function moveGeneric(destId) { + var dest = document.getElementById(destId); + var preview = document.getElementById('layoutPreviewComponentOnPlanning'); + preview.style.visibility = "visible"; + preview.style.display = "block" + dest.appendChild(preview); +} \ No newline at end of file Added: trunk/server/webServer2/WebContent/js/planning/planningModalForm.js =================================================================== Modified: trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml 2010-02-10 21:26:43 UTC (rev 1705) +++ trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml 2010-02-10 23:04:37 UTC (rev 1706) @@ -117,7 +117,7 @@ /> <rich:modalPanel id="DeleteCatDefModal" minHeight="100" minWidth="200" - height="200" width="300" zindex="2000"> + autosized="true" zindex="2000"> <center> <h:form id="DeleteCatDefModalContent"> <b><h:outputText value="#{lbl['catdef.list.body.delete.modal.deletequestion']}"/></b> Added: trunk/server/webServer2/WebContent/secured/components/timeSpinnerComponent.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/components/timeSpinnerComponent.xhtml (rev 0) +++ trunk/server/webServer2/WebContent/secured/components/timeSpinnerComponent.xhtml 2010-02-10 23:04:37 UTC (rev 1706) @@ -0,0 +1,184 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";> +<ui:component xmlns="http://www.w3.org/1999/xhtml"; + xmlns:h="http://java.sun.com/jsf/html"; + xmlns:f="http://java.sun.com/jsf/core"; + xmlns:ui="http://java.sun.com/jsf/facelets"; + xmlns:a4j="http://richfaces.org/a4j"; + xmlns:rich="http://richfaces.org/rich";> + +<!-- PROTOCOL +INPUT: + | -id (REQUIRED): + | id of the component + | -valueDate (REQUIRED): + | java.util.Date() value binding of the calendar (distinct from valueTime) + | -valueTime (REQUIRED): + | java.util.Date() value binding of the time-spinner (distinct from valueTime) + | -formId (REQUIRED): + | String value of id of the jsf Form the component is placed in + | -label: + | String value of label + | -tooltip: + | String value of tooltip + | tooltip and label must be specified to show tooltip + | + | + + --> + + +<a4j:loadStyle src="/styles/components/timeSpinnerComponent.css"/> +<script type="text/javascript" language="javascript" src="/webServer2/js/components/timeSpinnerComponent.js"/> + +<!-- BAD CONTRACT --> +<h:panelGroup + rendered="#{empty id + or empty valueDate + or empty valueTime + or empty formId}"> + <h:outputText value="BAD CONTRACT" styleClass="error"/> +</h:panelGroup> + +<h:panelGroup + rendered="#{not empty id + and not empty valueDate + and not empty valueTime + and not empty formId}"> + + <!-- LABEL PART --> + <h:panelGroup rendered="#{not empty label}"> + <!-- label --> + <h:outputLabel value="#{label}"></h:outputLabel> + <h:panelGroup rendered="#{not empty tooltip}"> + <!-- tooltip --> + <h:graphicImage + id="#{id}_image" + alt="hint" + url="/images/icons/comments.png" + style="cursor: help;"/> + <rich:toolTip for="#{id}_image"> + <h:outputLabel id="#{id}_tooltip" value="#{tooltip}"/> + </rich:toolTip> + </h:panelGroup> + <br/> + </h:panelGroup> + + + <!-- CALENDAR (DATE) PART --> + <table cellspacing="0" cellpadding="0" border="0" + class="date-spinner-table"> + <tr> + <td> + <rich:calendar + id="#{id}_date_input" + value="#{valueDate}" + required="true" + popup="true" + inputClass="calendar-date-input" + locale="#{user.locale}" + datePattern="d.M.yyyy" + showApplyButton="false" + enableManualInput="true"/> + </td> + <td> + <table cellspacing="0" cellpadding="0" border="0" + class="spinner-buttons-table"> + <tbody> + <tr> + <td> + <div + id="#{id}_date_spinner_up" + class="calendar-time-spinner-up" + onmouseover="this.className='calendar-time-spinner-up calendar-time-spinner-over'" + onmouseout="this.className='calendar-time-spinner-up'" + onmouseup="this.className='calendar-time-spinner-up'" + onmousedown="this.className='calendar-time-spinner-up calendar-time-spinner-pressed'" + onclick="GetCalDate(event,'+','#{formId}:#{id}_date_inputInputDate')" + ondblclick="GetCalDate(event,'+','#{formId}:#{id}_date_inputInputDate')"> + <span></span> + </div> + </td> + </tr> + <tr> + <td> + <div + id="#{id}_date_spinner_down" + class="calendar-time-spinner-down" + onmouseover="this.className='calendar-time-spinner-down calendar-time-spinner-over'" + onmouseout="this.className='calendar-time-spinner-down'" + onmouseup="this.className='calendar-time-spinner-down'" + onmousedown="this.className='calendar-time-spinner-down calendar-time-spinner-pressed'" + onclick="GetCalDate(event,'-','#{formId}:#{id}_date_inputInputDate')" + ondblclick="GetCalDate(event,'-','#{formId}:#{id}_date_inputInputDate')"> + <span></span> + </div> + </td> + </tr> + </tbody> + </table> + </td> + </tr> + </table> + + <!-- TIME PART --> + <table cellspacing="0" cellpadding="0" border="0" + class="time-spinner-table"> + <tr> + <td> + <h:inputText + id="#{id}_time_input" + styleClass="calendar-time-spinner-input" + value="#{valueTime}" + required="true" > + <f:convertDateTime type="time" timeStyle="short"/> + </h:inputText> + </td> + <td> + <table cellspacing="0" cellpadding="0" border="0" + class="spinner-buttons-table"> + <tbody> + <tr> + <td> + <div + id="#{id}_time_spinner_up" + class="calendar-time-spinner-up" + onmouseover="this.className='calendar-time-spinner-up calendar-time-spinner-over'" + onmouseout="this.className='calendar-time-spinner-up'" + onmouseup="this.className='calendar-time-spinner-up'" + onmousedown="this.className='calendar-time-spinner-up calendar-time-spinner-pressed'" + onclick="GetTime(event,'+','#{formId}:#{id}_time_input')" + ondblclick="GetTime(event,'+','#{formId}:#{id}_time_input')"> + <span></span> + </div> + </td> + </tr> + <tr> + <td> + <div + id="#{id}_time_spinner_down" + class="calendar-time-spinner-down" + onmouseover="this.className='calendar-time-spinner-down calendar-time-spinner-over'" + onmouseout="this.className='calendar-time-spinner-down'" + onmouseup="this.className='calendar-time-spinner-down'" + onmousedown="this.className='calendar-time-spinner-down calendar-time-spinner-pressed'" + onclick="GetTime(event,'-','#{formId}:#{id}_time_input')" + ondblclick="GetTime(event,'-','#{formId}:#{id}_time_input')"> + <span></span> + </div> + </td> + </tr> + </tbody> + </table> + </td> + </tr> + </table> + + <!-- ERROR PART --> + <a4j:outputPanel ajaxRendered="true"> + <h:message id="#{id}_date_input_error" for="#{id}_date_input" styleClass="error"/> + <h:message id="#{id}_time_input_error" for="#{id}_time_input" styleClass="error"/> + </a4j:outputPanel> +</h:panelGroup> + + +</ui:component> \ No newline at end of file Modified: trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml 2010-02-10 21:26:43 UTC (rev 1705) +++ trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml 2010-02-10 23:04:37 UTC (rev 1706) @@ -13,6 +13,15 @@ <ui:define name="contentTitle">#{lbl['elvys.list.body.title']}</ui:define> <ui:define name="contentSubTitle"></ui:define> +<ui:define name="pageStyle"> + <a4j:loadStyle src="/styles/elvys/listOfElvyses.css"/> +</ui:define> +<ui:define name="pageScript"> + <script type="text/javascript" language="javascript" src="/webServer2/js/elvys/listOfElvyses.js"/> +</ui:define> + + + <ui:define name="contentBody"> <h:form id="ElvysesForm"> <rich:panel id="listOfElvyses"> @@ -64,7 +73,7 @@ id="ShowScreenshotLink" value="#{lbl['elvys.list.table.screenshot']}" rendered="#{record.elvys.active}" - style="color: black; text-decoration: none;" + styleClass="show-screenshot-link" reRender="ModalShowScreenshotContent" oncomplete="Richfaces.showModalPanel('ModalShowScreenshot',{left:50, top:50})"> <f:setPropertyActionListener value="#{record.elvys}" target="#{elvysesBean.selectedElvys}" /> @@ -192,7 +201,7 @@ onclick="Richfaces.hideModalPanel('ModalShowScreenshot')" actionListener="#{elvysesBean.invalidateSelected}"> <a4j:mediaOutput - style="width: 832px; height: 468px; border: 1px solid black;" + styleClass="modal-screenshot-image" element="img" cacheable="false" session="false" createContent="#{elvysesBean.paint}" value="#{elvysesBean.selectedElvys}" Deleted: trunk/server/webServer2/WebContent/secured/elvysrel/modalListElvys.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/elvysrel/modalListElvys.xhtml 2010-02-10 21:26:43 UTC (rev 1705) +++ trunk/server/webServer2/WebContent/secured/elvysrel/modalListElvys.xhtml 2010-02-10 23:04:37 UTC (rev 1706) @@ -1,10 +0,0 @@ -<ui:component xmlns="http://www.w3.org/1999/xhtml"; - xmlns:ui="http://java.sun.com/jsf/facelets"; - xmlns:h="http://java.sun.com/jsf/html"; - xmlns:f="http://java.sun.com/jsf/core"; - xmlns:c="http://java.sun.com/jstl/core"; - xmlns:a4j="http://richfaces.org/a4j"; - xmlns:rich="http://richfaces.org/rich"; > - - -</ui:component> Modified: trunk/server/webServer2/WebContent/secured/elvysrel/planDocuments.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/elvysrel/planDocuments.xhtml 2010-02-10 21:26:43 UTC (rev 1705) +++ trunk/server/webServer2/WebContent/secured/elvysrel/planDocuments.xhtml 2010-02-10 23:04:37 UTC (rev 1706) @@ -9,39 +9,19 @@ <ui:composition template="/template/elvys-template.xhtml"> - -<ui:define name="pageStyle"> - <a4j:loadStyle src="/styles/scheduler.css"/> -</ui:define> - <ui:define name="title">#{lbl['elvys.plan.title']}</ui:define> <ui:define name="contentTitle">#{lbl['elvys.plan.body.title']}</ui:define> <ui:define name="contentSubTitle"></ui:define> -<ui:define name="contentBody"> - <script language="javascript"> - function moveVac(myId){ - var cId = myId.substring(0,myId.length-3); - cId = cId + "VPR"; - moveGeneric(cId); - } +<ui:define name="pageStyle"> + <a4j:loadStyle src="/styles/planning/planDocuments.css"/> +</ui:define> +<ui:define name="pageScript"> + <script type="text/javascript" language="javascript" src="/webServer2/js/planning/planDocuments.js"/> +</ui:define> - function moveOcc(myId){ - var cId = myId.substring(0,myId.length-3); - cId = cId + "OPR"; - moveGeneric(cId); - } - function moveGeneric(destId) { - var dest = document.getElementById(destId); - var preview = document.getElementById('layoutPreviewComponentOnPlanning'); - preview.style.visibility = "visible"; - preview.style.display = "block" - dest.appendChild(preview); - } - -</script> - +<ui:define name="contentBody"> <h:outputText value=".. no category .." rendered="#{(empty filePlanningBean.activeCategory)}"/> <h:form id="PF" @@ -49,9 +29,9 @@ <rich:panel id="SchedulerComponent"> <f:facet name="header">#{lbl['elvys.plan.component.header']}: #{filePlanningBean.elvys.name}, #{filePlanningBean.elvys.city}, #{filePlanningBean.elvys.address}</f:facet> - <h:panelGroup style="overflow: auto; display: block;"> + <h:panelGroup styleClass="scheduler-head"> <!-- SCHEDULER CONTROLS --> - <h:panelGrid columns="2" style="float: left; width:45%"> + <h:panelGrid columns="2" styleClass="scheduler-controls"> <h:outputLabel value="#{lbl['elvys.plan.component.category']}:"/> <h:selectOneMenu id="SelectCategoryBox" required="true" @@ -127,7 +107,7 @@ </h:panelGrid> </h:panelGroup> <rich:separator height="2" lineType="solid"/><br/> - <h:panelGroup style="overflow: auto; display: block;"> + <h:panelGroup styleClass="scheduler-time-part"> <h:outputLabel value="#{lbl['elvys.plan.component.start']} "/> <b> <h:outputLabel value="#{filePlanningBean.segmentFrom}"> @@ -140,19 +120,19 @@ <f:convertDateTime dateStyle="short" pattern="dd.MM.yyyy" type="date"/> </h:outputLabel> </b> - <h:panelGroup style="float:right; width: 35%; display: block;"> - <h:outputLabel value="#{lbl['elvys.plan.component.shownperiod']}: " style="display:block; float:left; width:40%;"/> - <h:panelGroup style="display:block;"> + <h:panelGroup styleClass="scheduler-period-area"> + <h:outputLabel value="#{lbl['elvys.plan.component.shownperiod']}: " styleClass="scheduler-period-label"/> + <h:panelGroup styleClass="scheduler-period-choice"> <a4j:commandLink rendered="#{filePlanningBean.schedulerPeriodManager.textId != 'day3'}" reRender="SchedulerComponent" actionListener="#{filePlanningBean.showThreeDaysComponentWidth}" value="#{lbl['elvys.plan.component.shownperiod.threedays']}" - styleClass="periodLink" /> + styleClass="period-link" /> <h:outputText rendered="#{filePlanningBean.schedulerPeriodManager.textId == 'day3'}" value="#{lbl['elvys.plan.component.shownperiod.threedays']}" - styleClass="periodSelected" /> + styleClass="period-selected" /> <h:outputText value=" | " /> @@ -161,11 +141,11 @@ reRender="SchedulerComponent" actionListener="#{filePlanningBean.showWeekComponentWidth}" value="#{lbl['elvys.plan.component.shownperiod.week']}" - styleClass="periodLink" /> + styleClass="period-link" /> <h:outputText rendered="#{filePlanningBean.schedulerPeriodManager.textId == 'week1'}" value="#{lbl['elvys.plan.component.shownperiod.week']}" - styleClass="periodSelected" /> + styleClass="period-selected" /> <h:outputText value=" | " /> @@ -174,11 +154,11 @@ reRender="SchedulerComponent" actionListener="#{filePlanningBean.showTwoWeeksComponentWidth}" value="#{lbl['elvys.plan.component.shownperiod.twoweeks']}" - styleClass="periodLink" /> + styleClass="period-link" /> <h:outputText rendered="#{filePlanningBean.schedulerPeriodManager.textId == 'week2'}" value="#{lbl['elvys.plan.component.shownperiod.twoweeks']}" - styleClass="periodSelected" /> + styleClass="period-selected" /> <h:outputText value=" | " /> @@ -187,14 +167,14 @@ rendered="#{filePlanningBean.schedulerPeriodManager.textId != 'month1'}" actionListener="#{filePlanningBean.showMonthComponentWidth}" value="#{lbl['elvys.plan.component.shownperiod.month']}" - styleClass="periodLink" /> + styleClass="period-link" /> <h:outputText rendered="#{filePlanningBean.schedulerPeriodManager.textId == 'month1'}" value="#{lbl['elvys.plan.component.shownperiod.month']}" - styleClass="periodSelected" /> + styleClass="period-selected" /> </h:panelGroup> </h:panelGroup> - <h:panelGroup style="float:right; width: 10%;"> + <h:panelGroup styleClass="scheduler-num-days"> <b><h:outputLabel value="#{filePlanningBean.schedulerDays} "/></b> <h:outputLabel value="#{lbl['elvys.plan.component.days']}"/> </h:panelGroup> @@ -212,14 +192,14 @@ </h3> <h:panelGrid columns="2" border="1"> <h:panelGroup> - <h:outputText id="PositionMark" value="#" style="width:15px; display:block;"/> + <h:outputText id="PositionMark" value="#" styleClass="sch-body-position-mark"/> <rich:toolTip for="PositionMark"> <h:outputLabel value="#{lbl['elvys.plan.component.positionmark.tooltip']}"/> </rich:toolTip> </h:panelGroup> <h:panelGroup> <ui:repeat value="#{filePlanningBean.timeLabels}" var="label"> - <span style="width:#{label.width}px; display:block; float:left;"> + <span class="sch-body-time-label" style="width:#{label.width}px;"> <h:outputText value="#{label.dayLabel}"/> <br/> <h:outputText value="#{label.hourLabel}" /> </span> @@ -232,13 +212,13 @@ onmouseout="document.getElementById('layoutPosition'+#{rectangles.lineId}).style.background='white'"> <h:outputLabel value="#{rectangles.lineId}" - style="width:15px; display:block;"/> + styleClass="sch-body-line-id"/> <ui:repeat id="L3" value="#{rectangles.rectangleList}" var="rect"> <span class="rectangle_outer" style="width: #{rect.width}px;"> <a4j:commandLink id="VRL" reRender="planningModalForm_content" - onclick="Richfaces.showModalPanel('planningModalForm_modal',{width:450, top:200})" + onclick="Richfaces.showModalPanel('planningModalForm_modal')" rendered="#{rect.frameContent == null}" onmouseover="moveVac(this.id)" > <h:panelGroup @@ -308,8 +288,8 @@ </ui:repeat> </h:panelGrid> - <!-- LAYOUT IMG --> - <div style="visibility:hidden; display:none;"> + <!-- LAYOUT PREVIEW --> + <div class="layout-preview-hidden-default-placement"> <elvys:layout-preview id="layoutPreviewComponentOnPlanning" layoutID="#{filePlanningBean.layoutIDToPreview}" Modified: trunk/server/webServer2/WebContent/secured/elvysrel/planningModalForm.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/elvysrel/planningModalForm.xhtml 2010-02-10 21:26:43 UTC (rev 1705) +++ trunk/server/webServer2/WebContent/secured/elvysrel/planningModalForm.xhtml 2010-02-10 23:04:37 UTC (rev 1706) @@ -9,9 +9,12 @@ xmlns:elvys="http://www.elvys.farm.particle.cz";> +<a4j:loadStyle src="/styles/planning/planningModalForm.css"/> +<script type="text/javascript" language="javascript" src="/webServer2/js/planning/planningModalForm.js"/> + <!-- FORM MODAL PANEL --> - <rich:modalPanel id="planningModalForm_modal" width="400" height="420" - zindex="2000" > + <rich:modalPanel id="planningModalForm_modal" autosized="true" + minWidth="350" minHeight="300" zindex="2000" > <f:facet name="header"> #{lbl['elvys.plan.modal.modify.header']} </f:facet> @@ -23,36 +26,25 @@ <rich:panel id="planningModalForm_contentPresent" rendered="#{!empty planningModalBean.incommingParamRect}"> <h:form id="planningModalForm"> <!-- START, END --> - <h:panelGrid columns ="3"> - <h:outputLabel value="#{lbl['elvys.plan.modal.form.showStart']}"></h:outputLabel> - <rich:calendar - id="StartOfPlanningID" - value="#{planningModalBean.formShowStart}" - required="false" - popup="true" - locale="#{user.locale}" - datePattern="dd.MM.yyyy" - showApplyButton="false" - enableManualInput="true"/> - <a4j:outputPanel ajaxRendered="true"> - <h:message id="StartOfPlanningError" for="StartOfPlanningID" styleClass="error"/> - </a4j:outputPanel> - - - - <h:outputLabel value="#{lbl['elvys.plan.modal.form.showEnd']}"></h:outputLabel> - <rich:calendar - id="EndOfPlanningID" - value="#{planningModalBean.formShowEnd}" - required="false" - popup="true" - locale="#{user.locale}" - datePattern="dd.MM.yyyy" - showApplyButton="false" - enableManualInput="true"/> - <a4j:outputPanel ajaxRendered="true"> - <h:message id="EndOfPlanningError" for="EndOfPlanningID" styleClass="error"/> - </a4j:outputPanel> + <h:panelGrid columns ="1"> + <h:panelGroup> + <elvys:timeSpinner + id="ChooseStartSpinner" + label="#{lbl['elvys.plan.modal.form.showStart']}" + tooltip="#{lbl['elvys.plan.modal.form.showStart.tooltip']}" + valueDate="#{planningModalBean.formShowStart}" + valueTime="#{planningModalBean.formShowStartTime}" + formId="planningModalForm"/> + </h:panelGroup> + <h:panelGroup> + <elvys:timeSpinner + id="ChooseEndSpinner" + label="#{lbl['elvys.plan.modal.form.showEnd']}" + tooltip="#{lbl['elvys.plan.modal.form.showEnd.tooltip']}" + valueDate="#{planningModalBean.formShowEnd}" + valueTime="#{planningModalBean.formShowEndTime}" + formId="planningModalForm"/> + </h:panelGroup> </h:panelGrid> Added: trunk/server/webServer2/WebContent/styles/components/timeSpinnerComponent.css =================================================================== --- trunk/server/webServer2/WebContent/styles/components/timeSpinnerComponent.css (rev 0) +++ trunk/server/webServer2/WebContent/styles/components/timeSpinnerComponent.css 2010-02-10 23:04:37 UTC (rev 1706) @@ -0,0 +1,60 @@ +.calendar-time-spinner-input { + width: 3.2em; + border-color: #ACA899 #F0F0F0 #F0F0F0 #ACA899; + border-style: solid; + border-width: 1px; + padding: 2px 3px; +} + +.calendar-date-input { + width: 7em; + border-color: #ACA899 #F0F0F0 #F0F0F0 #ACA899; + border-style: solid; + border-width: 1px; + padding: 2px 3px; +} + +.date-spinner-table { + float: left; + margin-left: 3px; + +} + +.time-spinner-table { + float: left; + margin-left: 10px; +} + +.spinner-buttons-table { + + +} + +.spinner-buttons-table td { + border: 1px solid DarkGreen; +} + + + + +.calendar-time-spinner-up { + background-image: url('/webServer2/images/components/spinner_up.gif'); + height: 7px; + margin: 0 1px 1px 0; + width: 14px; +} + +.calendar-time-spinner-down { + background-image: url('/webServer2/images/components/spinner_down.gif'); + height: 7px; + margin: 0 1px 1px 0; + width: 14px; +} + +.calendar-time-spinner-pressed { + margin: 1px 0 0 1px; +} + +.calendar-time-spinner-over { + background-color: #A4D800; +} \ No newline at end of file Added: trunk/server/webServer2/WebContent/styles/elvys/listOfElvyses.css =================================================================== --- trunk/server/webServer2/WebContent/styles/elvys/listOfElvyses.css (rev 0) +++ trunk/server/webServer2/WebContent/styles/elvys/listOfElvyses.css 2010-02-10 23:04:37 UTC (rev 1706) @@ -0,0 +1,10 @@ +.show-screenshot-link { + color: black; + text-decoration: none; +} + +.modal-screenshot-image { + width: 832px; + height: 468px; + border: 1px solid black; +} \ No newline at end of file Added: trunk/server/webServer2/WebContent/styles/planning/planDocuments.css =================================================================== --- trunk/server/webServer2/WebContent/styles/planning/planDocuments.css (rev 0) +++ trunk/server/webServer2/WebContent/styles/planning/planDocuments.css 2010-02-10 23:04:37 UTC (rev 1706) @@ -0,0 +1,97 @@ +.scheduler-head { + overflow: auto; + display: block; +} + +.scheduler-controls { + float: left; + width: 45%; +} + +.scheduler-time-part { + overflow: auto; + display: block; +} + +.scheduler-period-area { + float: right; + width: 35%; + display: block; +} + +.scheduler-period-label { + display: block; + float: left; + width: 40%; +} + +.scheduler-period-choice { + display: block; +} + +.scheduler-num-days { + float: right; + width: 10%; +} + +/* date links */ +.period-link { + text-decoration: underline; + color: #BBBBBB; +} +.period-selected { + color:black; +} + + + +.sch-body-position-mark { + width: 15px; + display: block; +} + +.sch-body-time-label { + display: block; + float: left; +} + +.sch-body-line-id { + width: 15px; + display: block; +} + +.layout-preview-hidden-default-placement { + visibility: hidden; + display: none; +} + + + + + + + + + + +/* rectangles */ +.rectangle_outer {padding-bottom:1px; float:left; } +.rectangle { height: 20px; border:1px solid #000000; display:block; overflow:hidden; text-align:center;} +a .blue { background-color: #5095CB; } +a:hover .blue { background-color: #6DA1CA; } +a .grey { background-color: #BBBBBB; } +a:hover .grey { background-color: #C2C2C2; } +a:link { text-decoration: none; color: black; } + +/* tooltips */ +.short_tooltip { width: 200px; } + + +.table { border-style: solid; border-color: black; border-width: 1px; } +.timeLabels { border-style: none none solid none; border-color: black; border-width: 1px; } +.timeLabels td { border-style: none; border-color:black; border-width: 1px; } + + + +.inner { overflow: hidden; width:100%;} +.outer a { text-decoration: none; display:block; color:#000; } \ No newline at end of file Added: trunk/server/webServer2/WebContent/styles/planning/planningModalForm.css =================================================================== Deleted: trunk/server/webServer2/WebContent/styles/scheduler.css =================================================================== --- trunk/server/webServer2/WebContent/styles/scheduler.css 2010-02-10 21:26:43 UTC (rev 1705) +++ trunk/server/webServer2/WebContent/styles/scheduler.css 2010-02-10 23:04:37 UTC (rev 1706) @@ -1,24 +0,0 @@ - -/* rectangles */ -.rectangle_outer {padding-bottom:1px; float:left; } -.rectangle { height: 20px; border:1px solid #000000; display:block; overflow:hidden; text-align:center;} -a .blue { background-color: #5095CB; } -a:hover .blue { background-color: #6DA1CA; } -a .grey { background-color: #BBBBBB; } -a:hover .grey { background-color: #C2C2C2; } -a:link { text-decoration: none; color: black; } - -/* tooltips */ -.short_tooltip { width: 200px; } - - -.table { border-style: solid; border-color: black; border-width: 1px; } -.timeLabels { border-style: none none solid none; border-color: black; border-width: 1px; } -.timeLabels td { border-style: none; border-color:black; border-width: 1px; } - -/* date links */ -.periodLink {text-decoration:underline; color:#BBBBBB;} -.periodSelected {color:black;} - -.inner { overflow: hidden; width:100%;} -.outer a { text-decoration: none; display:block; color:#000; } \ No newline at end of file