It's a really awesome component, you did a fine
job.
The only other
problem I fount in IE is that, in the individual day boxes, if there is
vertical scrolling it means that there will be horizontal scrolling. I have
isolated the reason to the width of the table following the div that has the
auto overflow style. For each day there is a div followed by a table that simply
has the style of "width:100%". When the vertical scrollbar appears it shifts the
table over and creates horizontal scrolling in the div, which was trying to
avoid. I checked this by just printing out the html and lowering the width of
one of the tables and kaboom...the horizontal scrolling was gone. This problem
is a little harder to fix because the table has no class associated with it but
I'm sure I think I can navigate to it on the CSS,
maybe.
Once again though it doesn't do that in firefox. Life's
not fair
From: Jurgen Lust [mailto:[EMAIL PROTECTED]
Sent: Wednesday, May 10, 2006 5:18 PM
To: MyFaces Discussion
Subject: Re: Positioning of the schedule component
Perhaps some clarification about the decisions made while developing the schedule component.
I didn't know about this problem in IE. I just followed the css specs on this. 'position: relative' means that the position of this box is relative to the enclosing box, which in the case of the schedule is the containing div. This rendered correctly in all browsers during my tests, but of course I didn't test it inside a scrolling div.
The reason why the component is rendered in layers is that in the detailed view, I needed to render the grid, but for the appointments I didn't want to mess around with lots of colspan, rowspan stuff, so I decided to just use a table to render the grid in the background, and then use absolute positioning for the appointments in a div on top of that table. It took quite a bit of work to get this rendered correctly on the most important browsers, but eventually it worked.
And that is the reason for the hardcoded css stuff. I wanted to allow a developer to customize the look and feel of the schedule somewhat, without the risk of breaking it. In some areas, even the tiniest change in border or margin can totally ruin the way it looks on a certain browser, so I hardcoded that stuff in there, leaving all color, font, ... stuff free to change.
In the meantime, there are some top notch examples of html schedules out there (I like the Google and Zimbra ones the most), so perhaps we can learn from them to further improve the rendering of the schedule component.
Kind regards,
Jurgen
2006/5/10, Ian Johnson <[EMAIL PROTECTED]>:
Thanks a lot, I had no idea about the !important thing, that's neat.
Here's the thing. It only worked after I override the class for the div
that wraps around the
whole table as well as the month class. So before the schedule component
I have this,
<style>
.schedule-compact-default{
position:static!important;
}
</style>
Of course the name of this class is related to what theme you set. You
can see by doing a view source and looking at the class of the div that
wraps around the outer table.
Thanks for your help, I will never regret you
-----Original Message-----
From: Andrew Robinson [mailto: [EMAIL PROTECTED]]
Sent: Wednesday, May 10, 2006 11:13 AM
To: MyFaces Discussion
Subject: Re: Positioning of the schedule component
have you tried an important CSS style?
try:
.someClass {
position: static !important;
}
The thing that may cause issues is that 'static' is an IE position, not
a w3c position. The w3c equivalent is "normal", but of course Microsoft
doesn't care about us developers. Okay, without the soap box, the
"!important" should override any child settings by increasing its score
above any other style specified.
Haven't tested it, but should be worth a shot.
On 5/10/06, Ian Johnson <[EMAIL PROTECTED]> wrote:
>
>
> Hello, long time listener first time caller.
>
> I am trying to use the schedule component from the Sandbox1.1.3
> snapshot and it works fine. The only problem I am having is that I am
> trying to render the schedule within a scrolling div. Because the way
> the component is rendered on IE the table appears on top of the div
instead of inside it.
> When viewing the source of the genereated html the table tag that
> contains the month class has a style attribute with position:relative.
> This of course overrides anything I put in the monthClass. If this was
> removed the schedule would render in the div correctly.
>
> This leads me to two questions
>
> 1.With the ability to define my own styles why would inline styles be
> generated.
> 2.Does anyone have any idea what I can do to override this.
>
> P.S. There is no problem with how it renders in firefox, just IE

