Horizontal Scrolling in calendar

biller2 wrote on Tuesday, November 29, 2011:

I am currently using version 4.1.0 and running ubuntu-maverick with apache 2.2.16 php 5.3.3-1 mysql 5.1.49-1.   In the daily view of the calendar using the outlook ui, I can’t view all of our counselors it is only showing the first nine.  The vertical scrolling bar is there and seems to be working fine however the horizontal scrolling bar is missing and there doesn’t seem to be away to scroll across the screen horizontally to see the rest of the counselors.  I have noticed if I take the horizontal divider and move it all the way over to the the left of the screen the scrolling bar shows up, however it doesn’t allow you to scroll the whole length only the part under the calendar.  I hope I am just missing a setting or something easy like that as I haven’t been able to find others having this issue.  Any guidance/help would be greatly appreciated.   Thanks in advance.   John 

yehster wrote on Tuesday, November 29, 2011:

I suggest that you try adding overflow-x to ajax_calendar.css for either the #bottom or #bigCal DIVs and seeing if that works.
Would try
overflow-x: scroll;
or possibly
overflow-x: auto;

http://www.w3schools.com/cssref/css3_pr_overflow-x.asp

Getting layouts to work in extreme situations (like large numbers of providers and facilities) and on all browsers at every resolution is tricky.  Even if it works for you, this isn’t necessarily a change that it makes sense to add back to the main codebase.  Scrollbars within frames don’t seem to work well for folks using tablets,

biller2 wrote on Tuesday, November 29, 2011:

yehster, thanks much will read the link and fiddle with it a bit thanks so much for the guidance.  John

rickou812 wrote on Tuesday, February 07, 2012:

Hey biller2, did you figure this out?  I have the same situation and would like to be able to scroll the scheduler horizontally to view all providers.

Thanks

aethelwulffe wrote on Tuesday, February 07, 2012:

Rick, just follow Yehsters instructions and you will get this working.  I’ll break it down for you:

Go to openemr/interface/themes
Find the file ajax_calender.css

Open it up with a text editor (notepad, crimson, netbeans, whatever).  On line 79 or so (if your editor shows line numbers) you will see the following lines:

#bigCal {
    overflow: hidden;
    background-color: #FFF3D1;
    border-left:1px solid black;
}

Change it to:

#bigCal {
    overflow: auto;
    background-color: #FFF3D1;
    border-left:1px solid black;
}

#bigCal handles settings for the “Big Calender”  Which is what you need.  This will change the overflow (stuff outside the visible box) to automatically give you a scroll bar if the stuff is bigger than the contents.  Mind you, the scroll bar is at the bottom, so you may have to scroll down to the bottom of the page to find the left-right scroll bar.  I have not figured out how to add a second scroll bar to the upper edge yet. 
  Next thing you might try is the Globals setting for “Providers see the whole calender”.  You don’t necessarily want that.  You want to only see your own calender unless you specify you want to see the whole laundry list.

aethelwulffe wrote on Tuesday, February 07, 2012:

Personally, I think it is more important to be able to see the whole screen’s worth of calender on a typical install as default vs. worrying about the tablet fairie-maries.  If you have to cut out basic functionality to enable tablets, you need personal preferences that toggle between “I am using a tablet to slowly tinker with shit, so don’t give me scroll bars and frames” or “I am the scheduling slave, I use a real interface, and I have to produce a lot of data entry” and leave option #2 as the default.
:wink:

yehster wrote on Tuesday, February 07, 2012:

Art,
I’m guessing that while horizontal scrolling helps you, it doesn’t solve your problem of having 40+ providers in an “optimal” fashion either though.  It’s a lot of clicks to get over to “Zoey Zane”. 
What’s a typical use case where folks are scrolling?  Would something like, “Only show providers with appointments today” be useful?
What about if the provider list allowed for selection of more than one provider instead of just “one” or “all?”

Note, I’m not offering to implement these things anytime soon ;)  Just want to truly understand the problem instead of just focusing on the lack of horizontal scrolling elements that are accessible at the top of the screen.

rickou812 wrote on Tuesday, February 07, 2012:

In my case,  just trying to make the calendar more user friendly for the secretary.
BTW what the heck is "XSRF Attempt Detected " mean?  Every time I attempt to log in from work computer I get this
So I am having to use my phone to reply.

aethelwulffe wrote on Tuesday, February 07, 2012:

Honestly Yehster, I don’t have any answer for this, but for the sake of feedback…

The only hint I could give would be to allow viewing users by sub-groups (by “Program” in our nomenclature), so that their immediate supervisor can monitor them as a sub-set.
  I suppose that making better use of the ACL list to include user differentiation of groups in a way that “Groups”, “Squads”, “Facilities” and other distinctions tried to do at one point or another would be the best answer.  Obviously, not everyone that is a provider on that list (since our bi-level provider support for non-billing providers is just a local mod) needs to all be in one giant heap.  You also can’t split provider groups by facility alone, because providers may need to function at a laundry list of different facilities (we typically have 6 facilities used) and most operate in the same facilities (read Places of Service categories) while they are involved in different Programs…and some are in two programs….aRGH.
  At the root of everything, the ACL must already be used.  Why wouldn’t we use that as a basis for all user classifications at every level?  Then you can possibly run your calender selection criterion based solely on that.  Using the ACL in this manner, as the end-all where-all of everything, you can then control other levels of access more readily, not just the calender.  You would have better patient access control.  You could even flag allowed provider demographics fields in a patient, and check to make sure that someone searching or viewing patient data was both in a group that has access to patient data, and if they are in a less privileged group, check if they are on the exceptions list in the patient data.  
  This goes beyond a little scrolling issue, obviously, but I can’t avoid always viewing things from a (to my viewpoint) holistic perspective.  Butterfly theory….more like the Butterfly Law.

yehster wrote on Tuesday, February 07, 2012:

Art,
Not sure how to clone the scroll bar to display it at the top. However with the jQuery function scrollLeft you could add buttons that would mimic clicking the scroll bar. The trick party is squeezing those new buttons into the layout.

http://api.jquery.com/scrollLeft/

aethelwulffe wrote on Tuesday, February 07, 2012:

I looked at cloning it…and it can be done at a speed cost, but it’s just a battle that doesn’t need to be picked in this iteration of the application.  Far better to make it frameless and pop the whole calender into another tab or window on Monitor #2 if they really need to work on the calender that bad with everyone on it.  It is a big difference however, between having all the controls exactly where you want them, and not having any way of seeing all the data!  Folks were perfectly happy to get a scroll bar period.  If they wanna whine about it, I’ll just tell them “buy a bigger monitor, use CTRL-, or set your appointment intervals from 15 minutes to 30 minutes.”  They’ll get back to work and go away…mostly content.