Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0-Beta2, 2.0.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Sparkle, jsf.20, ICEfaces-2.0
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial

      Description

      since <h:commandButton> already takes care of submitting the form, we want to create a button which allows the single submit features of ICEfaces, including all features of yui-pushbutton

        Issue Links

          Activity

          Hide
          Judy Guglielmin added a comment -

          initial checkin done with basic functionality of yui pushbutton but extending jsf UICommand. MethodBinding for action and actionListener properties were a problem and will involve some modification to generator code. For now workaround is in place.

          Show
          Judy Guglielmin added a comment - initial checkin done with basic functionality of yui pushbutton but extending jsf UICommand. MethodBinding for action and actionListener properties were a problem and will involve some modification to generator code. For now workaround is in place.
          Hide
          Judy Guglielmin added a comment -

          ....when I use the following
          @ResourceDependency(library = "yui/2_8_1", name = "button/assets/skins/sam/button.css"),

          in my component source file, I get the following exception in TCPDUMP:-
          >HTTP Status 404 - /test/buttons/RES_NOT_FOUND</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/test/buttons/RES_NOT_FOUND</u></p><p><b>description</b> <u>The requested resource (/test/buttons/RES_NOT_FOUND) is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.26</h3></body></html>

          for the GET button.css.jsf?ln=yui/2_8_1 I get a response of the

          .yui-button

          {display:-moz-inline-box;display:inline-block;vertical-align:text-bottom;}

          .yui-button .first-child

          {display:block;*display:inline-block;}

          .yui-button button,.yui-button a

          {display:block;*display:inline-block;border:none;margin:0;}

          .yui-button button

          {background-color:transparent;*overflow:visible;cursor:pointer;}

          .yui-button a

          {text-decoration:none;}

          .yui-skin-sam .yui-button

          {border-width:1px 0;border-style:solid;border-color:#808080;background:url(../../../../assets/skins/sam/sprite.png) repeat-x 0 0;margin:auto .25em;}

          .yui-skin-sam .yui-button .first-child

          {border-width:0 1px;border-style:solid;border-color:#808080;margin:0 -1px;_margin:0;}

          .yui-skin-sam .yui-button button,.yui-skin-sam .yui-button a,.yui-skin-sam .yui-button a:visited

          {padding:0 10px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}

          .yui-skin-sam .yui-button a{*line-height:1.875;*padding-bottom:1px;}.yui-skin-sam .yui-split-button button,.yui-skin-sam .yui-menu-button button

          {padding-right:20px;background-position:right center;background-repeat:no-repeat;}

          .yui-skin-sam .yui-menu-button button

          {background-image:url(menu-button-arrow.png);}

          .yui-skin-sam .yui-split-button button

          {background-image:url(split-button-arrow.png);}

          .yui-skin-sam .yui-button-focus

          {border-color:#7D98B8;background-position:0 -1300px;}

          .yui-skin-sam .yui-button-focus .first-child

          {border-color:#7D98B8;}

          .yui-skin-sam .yui-split-button-focus button

          {background-image:url(split-button-arrow-focus.png);}

          .yui-skin-sam .yui-button-hover

          {border-color:#7D98B8;background-position:0 -1300px;}

          .yui-skin-sam .yui-button-hover .first-child

          {border-color:#7D98B8;}

          .yui-skin-sam .yui-split-button-hover button

          {background-image:url(split-button-arrow-hover.png);}

          .yui-skin-sam .yui-button-active

          {border-color:#7D98B8;background-position:0 -1700px;}

          .yui-skin-sam .yui-button-active .first-child

          {border-color:#7D98B8;}

          .yui-skin-sam .yui-split-button-activeoption

          {border-color:#808080;background-position:0 0;}

          .yui-skin-sam .yui-split-button-activeoption .first-child

          {border-color:#808080;}

          .yui-skin-sam .yui-split-button-activeoption button

          {background-image:url(split-button-arrow-active.png);}

          .yui-skin-sam .yui-radio-button-checked,.yui-skin-sam .yui-checkbox-button-checked

          {border-color:#304369;background-position:0 -1400px;}

          .yui-skin-sam .yui-radio-button-checked .first-child,.yui-skin-sam .yui-checkbox-button-checked .first-child

          {border-color:#304369;}

          .yui-skin-sam .yui-radio-button-checked button,.yui-skin-sam .yui-checkbox-button-checked button

          color: Color value is invalid

          .yui-skin-sam .yui-button-disabled

          {border-color:#ccc;background-position:0 -1500px;}

          .yui-skin-sam .yui-button-disabled .first-child

          {border-color:#ccc;}

          .yui-skin-sam .yui-button-disabled button,.yui-skin-sam .yui-button-disabled a,.yui-skin-sam .yui-button-disabled a:visited

          color: Color value is invalid

          .yui-skin-sam .yui-menu-button-disabled button

          {background-image:url(menu-button-arrow-disabled.png);}

          .yui-skin-sam .yui-split-button-disabled button

          {background-image:url(split-button-arrow-disabled.png);}

          upon trying to GET sprite.png, I see the following response:-

          <html><head><title>Apache Tomcat/6.0.26 - Error report</title><style><!--H1

          {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}

          H2

          {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}

          H3

          {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}

          BODY

          {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}

          B

          {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}

          P

          {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}

          A

          {color : black;}

          A.name

          {color : black;}

          HR

          {color : #525D76;}

          --></style> </head><body><h1>HTTP Status 404 - /test/javax.faces.resource/assets/skins/sam/sprite.png</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/test/javax.faces.resource/assets/skins/sam/sprite.png</u></p><p><b>description</b> <u>The requested resource (/test/javax.faces.resource/assets/skins/sam/sprite.png) is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.26</h3></body></html>

          When I use the work around of :-
          writeCssExternFile(writer, "http://yui.yahooapis.com/2.8.1/build/button/assets/skins/sam/button.css");
          //which calls the method to insert the css file as a link in the head..

          Show
          Judy Guglielmin added a comment - ....when I use the following @ResourceDependency(library = "yui/2_8_1", name = "button/assets/skins/sam/button.css"), in my component source file, I get the following exception in TCPDUMP:- >HTTP Status 404 - /test/buttons/RES_NOT_FOUND</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/test/buttons/RES_NOT_FOUND</u></p><p><b>description</b> <u>The requested resource (/test/buttons/RES_NOT_FOUND) is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.26</h3></body></html> for the GET button.css.jsf?ln=yui/2_8_1 I get a response of the .yui-button {display:-moz-inline-box;display:inline-block;vertical-align:text-bottom;} .yui-button .first-child {display:block;*display:inline-block;} .yui-button button,.yui-button a {display:block;*display:inline-block;border:none;margin:0;} .yui-button button {background-color:transparent;*overflow:visible;cursor:pointer;} .yui-button a {text-decoration:none;} .yui-skin-sam .yui-button {border-width:1px 0;border-style:solid;border-color:#808080;background:url(../../../../assets/skins/sam/sprite.png) repeat-x 0 0;margin:auto .25em;} .yui-skin-sam .yui-button .first-child {border-width:0 1px;border-style:solid;border-color:#808080;margin:0 -1px;_margin:0;} .yui-skin-sam .yui-button button,.yui-skin-sam .yui-button a,.yui-skin-sam .yui-button a:visited {padding:0 10px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;} .yui-skin-sam .yui-button a{*line-height:1.875;*padding-bottom:1px;}.yui-skin-sam .yui-split-button button,.yui-skin-sam .yui-menu-button button {padding-right:20px;background-position:right center;background-repeat:no-repeat;} .yui-skin-sam .yui-menu-button button {background-image:url(menu-button-arrow.png);} .yui-skin-sam .yui-split-button button {background-image:url(split-button-arrow.png);} .yui-skin-sam .yui-button-focus {border-color:#7D98B8;background-position:0 -1300px;} .yui-skin-sam .yui-button-focus .first-child {border-color:#7D98B8;} .yui-skin-sam .yui-split-button-focus button {background-image:url(split-button-arrow-focus.png);} .yui-skin-sam .yui-button-hover {border-color:#7D98B8;background-position:0 -1300px;} .yui-skin-sam .yui-button-hover .first-child {border-color:#7D98B8;} .yui-skin-sam .yui-split-button-hover button {background-image:url(split-button-arrow-hover.png);} .yui-skin-sam .yui-button-active {border-color:#7D98B8;background-position:0 -1700px;} .yui-skin-sam .yui-button-active .first-child {border-color:#7D98B8;} .yui-skin-sam .yui-split-button-activeoption {border-color:#808080;background-position:0 0;} .yui-skin-sam .yui-split-button-activeoption .first-child {border-color:#808080;} .yui-skin-sam .yui-split-button-activeoption button {background-image:url(split-button-arrow-active.png);} .yui-skin-sam .yui-radio-button-checked,.yui-skin-sam .yui-checkbox-button-checked {border-color:#304369;background-position:0 -1400px;} .yui-skin-sam .yui-radio-button-checked .first-child,.yui-skin-sam .yui-checkbox-button-checked .first-child {border-color:#304369;} .yui-skin-sam .yui-radio-button-checked button,.yui-skin-sam .yui-checkbox-button-checked button color: Color value is invalid .yui-skin-sam .yui-button-disabled {border-color:#ccc;background-position:0 -1500px;} .yui-skin-sam .yui-button-disabled .first-child {border-color:#ccc;} .yui-skin-sam .yui-button-disabled button,.yui-skin-sam .yui-button-disabled a,.yui-skin-sam .yui-button-disabled a:visited color: Color value is invalid .yui-skin-sam .yui-menu-button-disabled button {background-image:url(menu-button-arrow-disabled.png);} .yui-skin-sam .yui-split-button-disabled button {background-image:url(split-button-arrow-disabled.png);} upon trying to GET sprite.png, I see the following response:- <html><head><title>Apache Tomcat/6.0.26 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} A {color : black;} A.name {color : black;} HR {color : #525D76;} --></style> </head><body><h1>HTTP Status 404 - /test/javax.faces.resource/assets/skins/sam/sprite.png</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/test/javax.faces.resource/assets/skins/sam/sprite.png</u></p><p><b>description</b> <u>The requested resource (/test/javax.faces.resource/assets/skins/sam/sprite.png) is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.26</h3></body></html> When I use the work around of :- writeCssExternFile(writer, "http://yui.yahooapis.com/2.8.1/build/button/assets/skins/sam/button.css"); //which calls the method to insert the css file as a link in the head..
          Hide
          Judy Guglielmin added a comment -

          Have to copy over the css file and make it rime-like, then put it in resources.org.icefaces.component.sprites.src.rime folder. Sprites generation (in normal ant target for sparkle build?) will then generate a sprite for the push-button. Seems to me that we might want to just have one of these for all buttons???

          Show
          Judy Guglielmin added a comment - Have to copy over the css file and make it rime-like, then put it in resources.org.icefaces.component.sprites.src.rime folder. Sprites generation (in normal ant target for sparkle build?) will then generate a sprite for the push-button. Seems to me that we might want to just have one of these for all buttons???
          Hide
          Ken Fyten added a comment -

          Action items from component review:

          • Need to adopt the now std. comp. hierarchy:

          <div id=compId>
          <span id=xxx>
          <script> xxx </script>
          </span>
          <div id=xx>
          ... comp. elements ...
          </div>
          </div>

          • No need to wire up the key events to the button push ourselves, since we are relying on the native HTML button widget underneath, the browsers will already support the keyboard shortcuts as required.
          • ARIA state changes should be done in the OnPush event handler directly, so they take affect regardless of how the button is invoked.
          Show
          Ken Fyten added a comment - Action items from component review: Need to adopt the now std. comp. hierarchy: <div id=compId> <span id=xxx> <script> xxx </script> </span> <div id=xx> ... comp. elements ... </div> </div> No need to wire up the key events to the button push ourselves, since we are relying on the native HTML button widget underneath, the browsers will already support the keyboard shortcuts as required. ARIA state changes should be done in the OnPush event handler directly, so they take affect regardless of how the button is invoked.
          Hide
          Judy Guglielmin added a comment -

          all updated and working. Any further features (children components?) could be done in another jira.

          Show
          Judy Guglielmin added a comment - all updated and working. Any further features (children components?) could be done in another jira.

            People

            • Assignee:
              Judy Guglielmin
              Reporter:
              Judy Guglielmin
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: