Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: extras
    • Labels:
      None

      Description

      Please create a DropdownMenu control.
      This would be basically what the actual menu in click-examples does (+more looks).
      Here is a list of various decorations the DropdownMenu could take:
      http://vandelaydesign.com/blog/tools/dropdown-navigation-menus/

      It would be very helpful if the DropdownMenu would simply allow to choose another decoration,
      e.g. exactly like it's possible with the Table control:
      http://www.avoka.com/click-examples/table/table-styles.htm
      (there are many good styles at that blog page)

      This would save users allot of work - the same way the Table control does.

      I think the Menu control should be than more generic (not the dropdown version that it is now), and it should be simpler
      to extend. For this it would also require additional properties, mentioned below:
      https://issues.apache.org/jira/browse/CLK-407
      https://issues.apache.org/jira/browse/CLK-406

      thanks,
      Joseph.

        Activity

        Joseph Schmidt created issue -
        Adrian A. made changes -
        Field Original Value New Value
        Link This issue is part of CLK-592 [ CLK-592 ]
        Adrian A. made changes -
        Link This issue is part of CLK-592 [ CLK-592 ]
        Adrian A. made changes -
        Parent CLK-592 [ 12439758 ]
        Issue Type New Feature [ 2 ] Sub-task [ 7 ]
        Hide
        Bob Schellink added a comment -

        -1 to adding this as it will only benefit demos. Web applications have a theme and that theme must be implemented across the entire application not only at the Control level. This is rocky ground at best and pretty soon there will be requests to style all controls.

        Show
        Bob Schellink added a comment - -1 to adding this as it will only benefit demos. Web applications have a theme and that theme must be implemented across the entire application not only at the Control level. This is rocky ground at best and pretty soon there will be requests to style all controls.
        Hide
        Adrian A. added a comment -

        Personally I like allot that for the Table control has this possibility and I can choose a very good style with only 1 line of code.
        It fits very well the 80/20 concept. If I need something more, than I can make my own style, but most of the cases I won't.

        I think the same should be for Click Menu too.
        We must distinct here between: Web Site like application (publicly exposed) and pure webapp (e.g. the many admin UIs for the various sites/apps). The users would greatly benefit like in the case of the Table of having a quick and very good solution for 80% of the cases.

        Also having more than a style for the menu is a great starting point if users want to further customize: e.g. in the case of the Table, users mostly just modified a little one of the existing styles - they haven't implemented it from zero.

        Styling all controls is not necessary because most of them have very very good defaults already .

        Show
        Adrian A. added a comment - Personally I like allot that for the Table control has this possibility and I can choose a very good style with only 1 line of code. It fits very well the 80/20 concept. If I need something more, than I can make my own style, but most of the cases I won't. I think the same should be for Click Menu too. We must distinct here between: Web Site like application (publicly exposed) and pure webapp (e.g. the many admin UIs for the various sites/apps). The users would greatly benefit like in the case of the Table of having a quick and very good solution for 80% of the cases. Also having more than a style for the menu is a great starting point if users want to further customize: e.g. in the case of the Table, users mostly just modified a little one of the existing styles - they haven't implemented it from zero. Styling all controls is not necessary because most of them have very very good defaults already .
        Hide
        Bob Schellink added a comment -

        As I already mentioned, this is a slippery slope. For example, here is another JIRA which tries to push this idea to buttons:

        https://issues.apache.org/jira/browse/CLK-391

        Show
        Bob Schellink added a comment - As I already mentioned, this is a slippery slope. For example, here is another JIRA which tries to push this idea to buttons: https://issues.apache.org/jira/browse/CLK-391
        Hide
        Adrian A. added a comment -

        > As I already mentioned, this is a slippery slope. For example,
        > here is another JIRA which tries to push this idea to buttons: clk-391
        I'm not sure why you think this is a slippery slope:

        • I thought Click was also about good defaults and increased productivity.
          IMHO it is very important that click apps look as good as possible out-of-the-of-the-box too (not just after hours of frustrating CSS tunning).

        There should be very easy to theme/customize their look, but the default ones should also look good (80/20 rule?).

        E.g. Those custom_buttons from github look very good on all browsers I tried, and there are some good article links there - worth reading IMHO.
        Unfortunately for them (or for Click IMHO), they' use the <button/> tag, and Click is using the <input type="button"/> . This problem was discussed in other issues, and Click was not improved to use the <button/> tag because of "compatibility" reasons.

        Show
        Adrian A. added a comment - > As I already mentioned, this is a slippery slope. For example, > here is another JIRA which tries to push this idea to buttons: clk-391 I'm not sure why you think this is a slippery slope: I thought Click was also about good defaults and increased productivity. IMHO it is very important that click apps look as good as possible out-of-the-of-the-box too (not just after hours of frustrating CSS tunning). There should be very easy to theme/customize their look, but the default ones should also look good (80/20 rule?). E.g. Those custom_buttons from github look very good on all browsers I tried, and there are some good article links there - worth reading IMHO. Unfortunately for them (or for Click IMHO), they' use the <button/> tag, and Click is using the <input type="button"/> . This problem was discussed in other issues, and Click was not improved to use the <button/> tag because of "compatibility" reasons.
        Hide
        Bob Schellink added a comment -

        Its slippery because once you theme one control there will be requests to theme others as well. Themeing individual component is at the wrong level of abstraction anyway. For example:

        Table.setStyle(BLUE);
        Butotn.setStyle(YELLOW);
        Menu.setStyle(BROWN);

        The above is nonsensical and confusing, especially with a technology such as CSS which can style the entire application from a single file.

        CSS3 is also starting to provide a very cheap alternative to image based styling. See the buttons on the Click home for an example (yes, I realize IE doesn't understand it )

        Show
        Bob Schellink added a comment - Its slippery because once you theme one control there will be requests to theme others as well. Themeing individual component is at the wrong level of abstraction anyway. For example: Table.setStyle(BLUE); Butotn.setStyle(YELLOW); Menu.setStyle(BROWN); The above is nonsensical and confusing, especially with a technology such as CSS which can style the entire application from a single file. CSS3 is also starting to provide a very cheap alternative to image based styling. See the buttons on the Click home for an example (yes, I realize IE doesn't understand it )
        Hide
        Adrian A. added a comment -

        >Its slippery because once you theme one control there will be requests to theme others as
        > well. Themeing individual component is at the wrong level of abstraction anyway. For
        > example:
        >
        > Table.setStyle(BLUE);
        > Butotn.setStyle(YELLOW);
        > Menu.setStyle(BROWN);
        >
        > The above is nonsensical and confusing,
        It is, if you present it like that , but we must also be pragmatic and see how our users make use (or are willing to make use) of Click .

        Table.setStyle(BLUE) might not be a clear API naming at all, but the effect it is very practical.

        > especially with a technology such as CSS
        > which can style the entire application from a single file.
        I agree with that, but is there a simple way for the user to achieve this with Click? (With just a few lines of code in 2 minutes for 80% of the use cases?)

        I like complete theming (e.g. like in jQuery UI and especially the ThemeRoller) too,
        but how many users will invest the time to make thier own themes by constantly tweaking
        controls and running the pages again until the desired effect is obtained? IMHO it's too error prone (we have no "ThemeRoller for Click" to make this job easy).

        IMHO it's very important to have a few good looking defauts.

        IMHO it would be better to have them on the application/Page (Border Page) level - of course - and not on the control level, e.g.:

        BorderPage#setDefaultStyling("/blue-look");
        to apply the styling to all children of that BorderPage.
        But there should be a few styles (not just one) for the user to be able to choose from as simple as it is now for the Table.

        > CSS3 is also starting to provide a very cheap alternative to image based styling.
        > See the buttons on the Click home for an example
        > (yes, I realize IE doesn't understand it )
        Untill CSS3 takes on, and considering that Click is very backwards compatible ... .
        An interesting idea (for this CSS3 but backaward compatibility too) could be to use "progressive enhancement" instead of "graceful degradation", e.g.:
        http://code.google.com/p/enhancejs/

        Show
        Adrian A. added a comment - >Its slippery because once you theme one control there will be requests to theme others as > well. Themeing individual component is at the wrong level of abstraction anyway. For > example: > > Table.setStyle(BLUE); > Butotn.setStyle(YELLOW); > Menu.setStyle(BROWN); > > The above is nonsensical and confusing, It is, if you present it like that , but we must also be pragmatic and see how our users make use (or are willing to make use) of Click . Table.setStyle(BLUE) might not be a clear API naming at all, but the effect it is very practical. > especially with a technology such as CSS > which can style the entire application from a single file. I agree with that, but is there a simple way for the user to achieve this with Click? (With just a few lines of code in 2 minutes for 80% of the use cases?) I like complete theming (e.g. like in jQuery UI and especially the ThemeRoller) too, but how many users will invest the time to make thier own themes by constantly tweaking controls and running the pages again until the desired effect is obtained? IMHO it's too error prone (we have no "ThemeRoller for Click" to make this job easy). IMHO it's very important to have a few good looking defauts. IMHO it would be better to have them on the application/Page (Border Page) level - of course - and not on the control level, e.g.: BorderPage#setDefaultStyling("/blue-look"); to apply the styling to all children of that BorderPage. But there should be a few styles (not just one) for the user to be able to choose from as simple as it is now for the Table. > CSS3 is also starting to provide a very cheap alternative to image based styling. > See the buttons on the Click home for an example > (yes, I realize IE doesn't understand it ) Untill CSS3 takes on, and considering that Click is very backwards compatible ... . An interesting idea (for this CSS3 but backaward compatibility too) could be to use "progressive enhancement" instead of "graceful degradation", e.g.: http://code.google.com/p/enhancejs/
        Hide
        Bob Schellink added a comment -

        out of scope for Menu

        Show
        Bob Schellink added a comment - out of scope for Menu
        Bob Schellink made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Won't Fix [ 2 ]
        Hide
        Werner Fischer added a comment -

        Reopen this issue at least for an example control in Examples as a category.

        Twitter bootstrap has a nice component.

        Show
        Werner Fischer added a comment - Reopen this issue at least for an example control in Examples as a category. Twitter bootstrap has a nice component.

          People

          • Assignee:
            Unassigned
            Reporter:
            Joseph Schmidt
          • Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development