I've played around with visual themes and so far i really like the ease of
use. But something bothers me anyways. There seems to be no CSS-classes given to elements besides some very basic ones. This makes it basically impossible to style forms relative to the Application they're in. A global div-wrap with class=app-application would already help a big deal. Also a class telling me which sub menu is selected would be valuable. app-accounting = application app-acc-payments = app navigation app-screen-name = maybe better than app navigation I think from something like this, everyone would benefit and I would happily do it. What does the community think? Maybe there is a reason for the lack of this? Would it be possible to arrange such an improvement? Such an improvement would not break any themes but instead opening the door for new, more beautiful themes. |
The current markup and styling follows the OFBiz HTML and CSS Best
Practices: https://cwiki.apache.org/confluence/display/OFBADMIN/HTML+and+CSS+Best+Practices Having application-specific CSS classes violates the concept of visual themes. The styling should always work the same - regardless of the application. Adrian Crum Sandglass Software www.sandglass-software.com On 5/14/2014 6:40 AM, Adrian Stern wrote: > I've played around with visual themes and so far i really like the ease of > use. But something bothers me anyways. > > There seems to be no CSS-classes given to elements besides some very basic > ones. This makes it basically impossible to style forms relative to the > Application they're in. > > A global div-wrap with class=app-application would already help a big deal. > Also a class telling me which sub menu is selected would be valuable. > > app-accounting = application > app-acc-payments = app navigation > app-screen-name = maybe better than app navigation > > I think from something like this, everyone would benefit and I would > happily do it. What does the community think? Maybe there is a reason for > the lack of this? > Would it be possible to arrange such an improvement? > > Such an improvement would not break any themes but instead opening the door > for new, more beautiful themes. > |
In reply to this post by Adrian Stern
I've found the file providing the app-navigation class for all views:
ofbiz/framework/common/widget/CommonMenus.xml In there, the class is hard-coded and the Title seems to be set by some sort of function, which actually does not do anything. If deleted: "${applicationTitle}" the Title is still showing. On the same places where ${applicaitonTitle} is defined, there is an ${activeApp} field. But if I insert it into the CommonsMenu.xml file, it will just be printed out as a string: <div id="app-navigation ${activeApp}"> So yeah.. what do i miss? On 14 May 2014 15:40, Adrian Stern <[hidden email]> wrote: > I've played around with visual themes and so far i really like the ease of > use. But something bothers me anyways. > > There seems to be no CSS-classes given to elements besides some very basic > ones. This makes it basically impossible to style forms relative to the > Application they're in. > > A global div-wrap with class=app-application would already help a big > deal. Also a class telling me which sub menu is selected would be valuable. > > app-accounting = application > app-acc-payments = app navigation > app-screen-name = maybe better than app navigation > > I think from something like this, everyone would benefit and I would > happily do it. What does the community think? Maybe there is a reason for > the lack of this? > Would it be possible to arrange such an improvement? > > Such an improvement would not break any themes but instead opening the > door for new, more beautiful themes. > |
I've found that AccountingAppBar is the actual menu dispalyed. But i did
not yet figure out how i would add a css class in the same way the id is added. On 15 May 2014 17:57, Adrian Stern <[hidden email]> wrote: > I've found the file providing the app-navigation class for all views: > ofbiz/framework/common/widget/CommonMenus.xml > > In there, the class is hard-coded and the Title seems to be set by some > sort of function, which actually does not do anything. If deleted: > "${applicationTitle}" the Title is still showing. > > On the same places where ${applicaitonTitle} is defined, there is an > ${activeApp} field. But if I insert it into the CommonsMenu.xml file, it > will just be printed out as a string: > <div id="app-navigation ${activeApp}"> > > So yeah.. what do i miss? > > > On 14 May 2014 15:40, Adrian Stern <[hidden email]> wrote: > >> I've played around with visual themes and so far i really like the ease >> of use. But something bothers me anyways. >> >> There seems to be no CSS-classes given to elements besides some very >> basic ones. This makes it basically impossible to style forms relative to >> the Application they're in. >> >> A global div-wrap with class=app-application would already help a big >> deal. Also a class telling me which sub menu is selected would be valuable. >> >> app-accounting = application >> app-acc-payments = app navigation >> app-screen-name = maybe better than app navigation >> >> I think from something like this, everyone would benefit and I would >> happily do it. What does the community think? Maybe there is a reason for >> the lack of this? >> Would it be possible to arrange such an improvement? >> >> Such an improvement would not break any themes but instead opening the >> door for new, more beautiful themes. >> > > |
In reply to this post by Adrian Stern
The current markup and styling follows the OFBiz HTML and CSS Best
Practices: https://cwiki.apache.org/confluence/display/OFBADMIN/HTML+and+CSS+Best+Practices Having application-specific CSS classes violates the concept of visual themes. The styling should always work the same - regardless of the application. Adrian Crum Sandglass Software www.sandglass-software.com On 5/14/2014 6:40 AM, Adrian Stern wrote: > I've played around with visual themes and so far i really like the ease of > use. But something bothers me anyways. > > There seems to be no CSS-classes given to elements besides some very basic > ones. This makes it basically impossible to style forms relative to the > Application they're in. > > A global div-wrap with class=app-application would already help a big deal. > Also a class telling me which sub menu is selected would be valuable. > > app-accounting = application > app-acc-payments = app navigation > app-screen-name = maybe better than app navigation > > I think from something like this, everyone would benefit and I would > happily do it. What does the community think? Maybe there is a reason for > the lack of this? > Would it be possible to arrange such an improvement? > > Such an improvement would not break any themes but instead opening the door > for new, more beautiful themes. > |
Hi Adrian. Ok i got this and thanks for the clarification.
But just in sake for a better understanding of Ofbiz. Where would i add a css Class to an Element which is defined in Xml like the bespoken Menu? On 16 May 2014 16:54, Adrian Crum <[hidden email]>wrote: > The current markup and styling follows the OFBiz HTML and CSS Best > Practices: > > https://cwiki.apache.org/confluence/display/OFBADMIN/ > HTML+and+CSS+Best+Practices > > Having application-specific CSS classes violates the concept of visual > themes. The styling should always work the same - regardless of the > application. > > > Adrian Crum > Sandglass Software > www.sandglass-software.com > > On 5/14/2014 6:40 AM, Adrian Stern wrote: > >> I've played around with visual themes and so far i really like the ease of >> use. But something bothers me anyways. >> >> There seems to be no CSS-classes given to elements besides some very basic >> ones. This makes it basically impossible to style forms relative to the >> Application they're in. >> >> A global div-wrap with class=app-application would already help a big >> deal. >> Also a class telling me which sub menu is selected would be valuable. >> >> app-accounting = application >> app-acc-payments = app navigation >> app-screen-name = maybe better than app navigation >> >> I think from something like this, everyone would benefit and I would >> happily do it. What does the community think? Maybe there is a reason for >> the lack of this? >> Would it be possible to arrange such an improvement? >> >> Such an improvement would not break any themes but instead opening the >> door >> for new, more beautiful themes. >> >> |
Hi Adrian,
If I understand well, you want to add css class in menu. If I use the CommonMenus.xml located in framework/common/widget, you can see this : <menu name="CommonAppBarMenu" default-menu-item-name="main" id="app-navigation" type="simple" title="${applicationTitle}&nbsp;" default-selected-style="selected" menu-container-style="button-bar tab-bar" selected-menuitem-context-field-name="headerItem"> <menu-item name="main" title="${uiLabelMap.CommonMain}"> <condition><not><if-empty field="userLogin"/></not></condition> <link target="main" link-type="anchor"/> </menu-item> </menu> where : id="app-navigation" will be the html element type name="CommonAppBarMenu" will be the html id default-selected-style="selected" will be the selected class definition for css menu-container-style="button-bar tab-bar" will be the main class for css I think that if you want to add a css class in your menu, you have to put it in "menu-container-style" And if you want to use a different menu style for different application, you have to create several "common" menu that will be used as extends in your application menus. hope it help, Julien. Le 19/05/2014 08:49, Adrian Stern a écrit : > Hi Adrian. Ok i got this and thanks for the clarification. > > But just in sake for a better understanding of Ofbiz. Where would i add a > css Class to an Element which is defined in Xml like the bespoken Menu? > > > On 16 May 2014 16:54, Adrian Crum <[hidden email]>wrote: > >> The current markup and styling follows the OFBiz HTML and CSS Best >> Practices: >> >> https://cwiki.apache.org/confluence/display/OFBADMIN/ >> HTML+and+CSS+Best+Practices >> >> Having application-specific CSS classes violates the concept of visual >> themes. The styling should always work the same - regardless of the >> application. >> >> >> Adrian Crum >> Sandglass Software >> www.sandglass-software.com >> >> On 5/14/2014 6:40 AM, Adrian Stern wrote: >> >>> I've played around with visual themes and so far i really like the ease of >>> use. But something bothers me anyways. >>> >>> There seems to be no CSS-classes given to elements besides some very basic >>> ones. This makes it basically impossible to style forms relative to the >>> Application they're in. >>> >>> A global div-wrap with class=app-application would already help a big >>> deal. >>> Also a class telling me which sub menu is selected would be valuable. >>> >>> app-accounting = application >>> app-acc-payments = app navigation >>> app-screen-name = maybe better than app navigation >>> >>> I think from something like this, everyone would benefit and I would >>> happily do it. What does the community think? Maybe there is a reason for >>> the lack of this? >>> Would it be possible to arrange such an improvement? >>> >>> Such an improvement would not break any themes but instead opening the >>> door >>> for new, more beautiful themes. >>> >>> |
Hi Nicolas
Thanks for your answer. There ist this fucntions used in the CommonAppBarMenu: title="${applicationTitle}. On the same location where the value of applicationTitle is defined the is another variable called *ActiveApp* which probably contains the app name: accounting, ar, ac, warehouse, etc. What engine is used to preprocess those elements in the xml? On 19 May 2014 10:55, Julien NICOLAS <[hidden email]> wrote: > Hi Adrian, > > If I understand well, you want to add css class in menu. > If I use the CommonMenus.xml located in framework/common/widget, you can > see this : > > <menu name="CommonAppBarMenu" default-menu-item-name="main" > id="app-navigation" type="simple" title="${applicationTitle}&nbsp;" > default-selected-style="selected" menu-container-style="button-bar > tab-bar" selected-menuitem-context-field-name="headerItem"> > <menu-item name="main" title="${uiLabelMap.CommonMain}"> > <condition><not><if-empty field="userLogin"/></not></ > condition> > <link target="main" link-type="anchor"/> > </menu-item> > </menu> > > where : > id="app-navigation" will be the html element type > > name="CommonAppBarMenu" will be the html id > > default-selected-style="selected" will be the selected class > definition for css > > menu-container-style="button-bar tab-bar" will be the main class for > css > > I think that if you want to add a css class in your menu, you have to put > it in "menu-container-style" > > And if you want to use a different menu style for different application, > you have to create several "common" menu that will be used as extends in > your application menus. > > hope it help, > > Julien. > > Le 19/05/2014 08:49, Adrian Stern a écrit : > > Hi Adrian. Ok i got this and thanks for the clarification. >> >> But just in sake for a better understanding of Ofbiz. Where would i add a >> css Class to an Element which is defined in Xml like the bespoken Menu? >> >> >> On 16 May 2014 16:54, Adrian Crum <[hidden email] >> >wrote: >> >> The current markup and styling follows the OFBiz HTML and CSS Best >>> Practices: >>> >>> https://cwiki.apache.org/confluence/display/OFBADMIN/ >>> HTML+and+CSS+Best+Practices >>> >>> Having application-specific CSS classes violates the concept of visual >>> themes. The styling should always work the same - regardless of the >>> application. >>> >>> >>> Adrian Crum >>> Sandglass Software >>> www.sandglass-software.com >>> >>> On 5/14/2014 6:40 AM, Adrian Stern wrote: >>> >>> I've played around with visual themes and so far i really like the ease >>>> of >>>> use. But something bothers me anyways. >>>> >>>> There seems to be no CSS-classes given to elements besides some very >>>> basic >>>> ones. This makes it basically impossible to style forms relative to the >>>> Application they're in. >>>> >>>> A global div-wrap with class=app-application would already help a big >>>> deal. >>>> Also a class telling me which sub menu is selected would be valuable. >>>> >>>> app-accounting = application >>>> app-acc-payments = app navigation >>>> app-screen-name = maybe better than app navigation >>>> >>>> I think from something like this, everyone would benefit and I would >>>> happily do it. What does the community think? Maybe there is a reason >>>> for >>>> the lack of this? >>>> Would it be possible to arrange such an improvement? >>>> >>>> Such an improvement would not break any themes but instead opening the >>>> door >>>> for new, more beautiful themes. >>>> >>>> >>>> > |
Well i found a way to do this. But ofbiz shows a really strange behavior. I
think this is a bug. In Common Menus i have this: <menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd "> <menu name="CommonAppBarMenu" default-menu-item-name="main" id="app-navigation" *menu-container-style=""* type="simple" title="${applicationTitle}&nbsp;" default-selected-style="selected" *menu-container-style="button-bar tab-bar"* selected-menuitem-context-field-name="headerItem"> <menu-item name="main" title="${uiLabelMap.CommonMain}"> <condition><not><if-empty field="userLogin"/></not></condition> <link target="main" link-type="anchor"/> </menu-item> </menu> ... So the default menu-container-style is button-bar tab-bar. The other, empty one was created by me in order to make it work. Also in AccountingMenus.xml i had to add *menu-container-style="${activeApp}* and with this, i get the class i wanted. *The problem now is:* Altough i do have the right class now, *id="app-navigation"* is missing. And so are the classes *button-bar *and *tab-bar*. This behavior is not expected at all and i believe it is also wrong and a bug. The two classes button-bar and tab-bar are actually never shown... Not even in the original ofbiz with no changes made. In Short this means when adding a class to a menu, the id disapears. If you could point me to the place where those xml are translated to html, i could investigate further. On 19 May 2014 11:29, Adrian Stern <[hidden email]> wrote: > Hi Nicolas > > Thanks for your answer. There ist this fucntions used in the > CommonAppBarMenu: title="${applicationTitle}. On the same location where > the value of applicationTitle is defined the is another variable called > *ActiveApp* which probably contains the app name: accounting, ar, ac, > warehouse, etc. > > What engine is used to preprocess those elements in the xml? > > > On 19 May 2014 10:55, Julien NICOLAS <[hidden email]> wrote: > >> Hi Adrian, >> >> If I understand well, you want to add css class in menu. >> If I use the CommonMenus.xml located in framework/common/widget, you can >> see this : >> >> <menu name="CommonAppBarMenu" default-menu-item-name="main" >> id="app-navigation" type="simple" title="${applicationTitle}&nbsp;" >> default-selected-style="selected" menu-container-style="button-bar >> tab-bar" selected-menuitem-context-field-name="headerItem"> >> <menu-item name="main" title="${uiLabelMap.CommonMain}"> >> <condition><not><if-empty field="userLogin"/></not></ >> condition> >> <link target="main" link-type="anchor"/> >> </menu-item> >> </menu> >> >> where : >> id="app-navigation" will be the html element type >> >> name="CommonAppBarMenu" will be the html id >> >> default-selected-style="selected" will be the selected class >> definition for css >> >> menu-container-style="button-bar tab-bar" will be the main class for >> css >> >> I think that if you want to add a css class in your menu, you have to put >> it in "menu-container-style" >> >> And if you want to use a different menu style for different application, >> you have to create several "common" menu that will be used as extends in >> your application menus. >> >> hope it help, >> >> Julien. >> >> Le 19/05/2014 08:49, Adrian Stern a écrit : >> >> Hi Adrian. Ok i got this and thanks for the clarification. >>> >>> But just in sake for a better understanding of Ofbiz. Where would i add a >>> css Class to an Element which is defined in Xml like the bespoken Menu? >>> >>> >>> On 16 May 2014 16:54, Adrian Crum <[hidden email] >>> >wrote: >>> >>> The current markup and styling follows the OFBiz HTML and CSS Best >>>> Practices: >>>> >>>> https://cwiki.apache.org/confluence/display/OFBADMIN/ >>>> HTML+and+CSS+Best+Practices >>>> >>>> Having application-specific CSS classes violates the concept of visual >>>> themes. The styling should always work the same - regardless of the >>>> application. >>>> >>>> >>>> Adrian Crum >>>> Sandglass Software >>>> www.sandglass-software.com >>>> >>>> On 5/14/2014 6:40 AM, Adrian Stern wrote: >>>> >>>> I've played around with visual themes and so far i really like the >>>>> ease of >>>>> use. But something bothers me anyways. >>>>> >>>>> There seems to be no CSS-classes given to elements besides some very >>>>> basic >>>>> ones. This makes it basically impossible to style forms relative to the >>>>> Application they're in. >>>>> >>>>> A global div-wrap with class=app-application would already help a big >>>>> deal. >>>>> Also a class telling me which sub menu is selected would be valuable. >>>>> >>>>> app-accounting = application >>>>> app-acc-payments = app navigation >>>>> app-screen-name = maybe better than app navigation >>>>> >>>>> I think from something like this, everyone would benefit and I would >>>>> happily do it. What does the community think? Maybe there is a reason >>>>> for >>>>> the lack of this? >>>>> Would it be possible to arrange such an improvement? >>>>> >>>>> Such an improvement would not break any themes but instead opening the >>>>> door >>>>> for new, more beautiful themes. >>>>> >>>>> >>>>> >> > |
I've found a way to do what i want using just my theme. So no changes to
ofbiz necessary. page-container in header.ftl can be extended by ${activeApp} On 20 May 2014 09:25, Adrian Stern <[hidden email]> wrote: > Well i found a way to do this. But ofbiz shows a really strange behavior. > I think this is a bug. > > In Common Menus i have this: > > <menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:noNamespaceSchemaLocation=" > http://ofbiz.apache.org/dtds/widget-menu.xsd"> > <menu name="CommonAppBarMenu" default-menu-item-name="main" > id="app-navigation" *menu-container-style=""* type="simple" > title="${applicationTitle}&nbsp;" > default-selected-style="selected" *menu-container-style="button-bar > tab-bar"* selected-menuitem-context-field-name="headerItem"> > <menu-item name="main" title="${uiLabelMap.CommonMain}"> > <condition><not><if-empty field="userLogin"/></not></condition> > <link target="main" link-type="anchor"/> > </menu-item> > </menu> > ... > > So the default menu-container-style is button-bar tab-bar. The other, > empty one was created by me in order to make it work. Also in > AccountingMenus.xml i had to add *menu-container-style="${activeApp}* and > with this, i get the class i wanted. > > *The problem now is:* > Altough i do have the right class now, *id="app-navigation"* is missing. > And so are the classes *button-bar *and *tab-bar*. This behavior is not > expected at all and i believe it is also wrong and a bug. The two classes > button-bar and tab-bar are actually never shown... Not even in the original > ofbiz with no changes made. > > In Short this means when adding a class to a menu, the id disapears. > > If you could point me to the place where those xml are translated to html, > i could investigate further. > > > On 19 May 2014 11:29, Adrian Stern <[hidden email]> wrote: > >> Hi Nicolas >> >> Thanks for your answer. There ist this fucntions used in the >> CommonAppBarMenu: title="${applicationTitle}. On the same location >> where the value of applicationTitle is defined the is another variable >> called *ActiveApp* which probably contains the app name: accounting, ar, >> ac, warehouse, etc. >> >> What engine is used to preprocess those elements in the xml? >> >> >> On 19 May 2014 10:55, Julien NICOLAS <[hidden email]> wrote: >> >>> Hi Adrian, >>> >>> If I understand well, you want to add css class in menu. >>> If I use the CommonMenus.xml located in framework/common/widget, you can >>> see this : >>> >>> <menu name="CommonAppBarMenu" default-menu-item-name="main" >>> id="app-navigation" type="simple" title="${applicationTitle}&nbsp;" >>> default-selected-style="selected" menu-container-style="button-bar >>> tab-bar" selected-menuitem-context-field-name="headerItem"> >>> <menu-item name="main" title="${uiLabelMap.CommonMain}"> >>> <condition><not><if-empty field="userLogin"/></not></ >>> condition> >>> <link target="main" link-type="anchor"/> >>> </menu-item> >>> </menu> >>> >>> where : >>> id="app-navigation" will be the html element type >>> >>> name="CommonAppBarMenu" will be the html id >>> >>> default-selected-style="selected" will be the selected class >>> definition for css >>> >>> menu-container-style="button-bar tab-bar" will be the main class >>> for css >>> >>> I think that if you want to add a css class in your menu, you have to >>> put it in "menu-container-style" >>> >>> And if you want to use a different menu style for different application, >>> you have to create several "common" menu that will be used as extends in >>> your application menus. >>> >>> hope it help, >>> >>> Julien. >>> >>> Le 19/05/2014 08:49, Adrian Stern a écrit : >>> >>> Hi Adrian. Ok i got this and thanks for the clarification. >>>> >>>> But just in sake for a better understanding of Ofbiz. Where would i add >>>> a >>>> css Class to an Element which is defined in Xml like the bespoken Menu? >>>> >>>> >>>> On 16 May 2014 16:54, Adrian Crum <[hidden email] >>>> >wrote: >>>> >>>> The current markup and styling follows the OFBiz HTML and CSS Best >>>>> Practices: >>>>> >>>>> https://cwiki.apache.org/confluence/display/OFBADMIN/ >>>>> HTML+and+CSS+Best+Practices >>>>> >>>>> Having application-specific CSS classes violates the concept of visual >>>>> themes. The styling should always work the same - regardless of the >>>>> application. >>>>> >>>>> >>>>> Adrian Crum >>>>> Sandglass Software >>>>> www.sandglass-software.com >>>>> >>>>> On 5/14/2014 6:40 AM, Adrian Stern wrote: >>>>> >>>>> I've played around with visual themes and so far i really like the >>>>>> ease of >>>>>> use. But something bothers me anyways. >>>>>> >>>>>> There seems to be no CSS-classes given to elements besides some very >>>>>> basic >>>>>> ones. This makes it basically impossible to style forms relative to >>>>>> the >>>>>> Application they're in. >>>>>> >>>>>> A global div-wrap with class=app-application would already help a big >>>>>> deal. >>>>>> Also a class telling me which sub menu is selected would be valuable. >>>>>> >>>>>> app-accounting = application >>>>>> app-acc-payments = app navigation >>>>>> app-screen-name = maybe better than app navigation >>>>>> >>>>>> I think from something like this, everyone would benefit and I would >>>>>> happily do it. What does the community think? Maybe there is a reason >>>>>> for >>>>>> the lack of this? >>>>>> Would it be possible to arrange such an improvement? >>>>>> >>>>>> Such an improvement would not break any themes but instead opening the >>>>>> door >>>>>> for new, more beautiful themes. >>>>>> >>>>>> >>>>>> >>> >> > |
Free forum by Nabble | Edit this page |