ICEfaces
  1. ICEfaces
  2. ICE-10082

Showcase - Add ICECORE component demos

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0
    • Labels:
      None
    • Environment:
      ICEfaces 4 showcase sample application
    • Assignee Priority:
      P2
    • Affects:
      Sample App./Tutorial

      Description

      For ICEfaces 4 we need to add a new demo set / tab to the ICEfaces Showcase sample application that would provide demos for each of the available ICECORE tags.

      This set includes:

      - icecore:config
      - icecore:defaultAction
      - icecore:focusManager
      - icecore:idleMonitor
      - icecore:jsEventListener
      - icecore:navigationNotifier
      - icecore:push
      - icecore:redirect
      - icecore:refresh
      - icecore:setEventPhase

        Activity

        Hide
        Ken Fyten added a comment -

        Note that the icecore:push demo should provide examples of using push to asynchronously update components states in an on going manner such as dataTable or chart values being updated continuously every second or two.

        Show
        Ken Fyten added a comment - Note that the icecore:push demo should provide examples of using push to asynchronously update components states in an on going manner such as dataTable or chart values being updated continuously every second or two.
        Hide
        Mircea Toma added a comment - - edited

        Implemented individual demos for the following components:
        icecore:defaultAction, icecore:jsEventListener, icecore:focusManager, icecore:idleMonitor, icecore:navigationNotifier, icecore:push, icecore:loadBundle, icecore:redirect, and icecore:refresh.

        For icecore:config and icecore:setEventPhase I could not figure out a visual way to demonstrate component's capabilities.

        The demo pages use ACE's templates to generated WIKI and TLD links and source code includes. The entry page is at showcase-core.jsf.

        Show
        Mircea Toma added a comment - - edited Implemented individual demos for the following components: icecore:defaultAction , icecore:jsEventListener , icecore:focusManager , icecore:idleMonitor , icecore:navigationNotifier , icecore:push , icecore:loadBundle , icecore:redirect , and icecore:refresh . For icecore:config and icecore:setEventPhase I could not figure out a visual way to demonstrate component's capabilities. The demo pages use ACE's templates to generated WIKI and TLD links and source code includes. The entry page is at showcase-core.jsf .
        Hide
        Liana Munroe added a comment - - edited

        Reopening for the following issues:
        icecore:push, icecore:navigationNotifier demos need this text removed:
        The <icecore:defaultAction> component allows users to execute actions triggered by key presses when no other component in the page will. The following key presses are wired to trigger default action: Enter, Esc, Left Arrow, F3. The rest of key presses are ignored.

        Header facet in icecore:navigationNotifier needs to be updated as well.

        In the following demos the source code tabs are labelled autoCompleteEntry instead of their actual .java and .xhtml file names:
        icecore:defaultAction, jsEventListener, focusManager, idleMonitor, navigationNotifier.

        Show
        Liana Munroe added a comment - - edited Reopening for the following issues: icecore:push, icecore:navigationNotifier demos need this text removed: The <icecore:defaultAction> component allows users to execute actions triggered by key presses when no other component in the page will. The following key presses are wired to trigger default action: Enter, Esc, Left Arrow, F3. The rest of key presses are ignored. Header facet in icecore:navigationNotifier needs to be updated as well. In the following demos the source code tabs are labelled autoCompleteEntry instead of their actual .java and .xhtml file names: icecore:defaultAction, jsEventListener, focusManager, idleMonitor, navigationNotifier.
        Hide
        Mircea Toma added a comment -

        Corrected title and description fields for icecore component demos.

        Show
        Mircea Toma added a comment - Corrected title and description fields for icecore component demos.
        Hide
        Liana Munroe added a comment -

        Verified Icefaces 4 trunk r42085. Tomcat 7, all browsers.

        Show
        Liana Munroe added a comment - Verified Icefaces 4 trunk r42085. Tomcat 7, all browsers.
        Hide
        Ken Fyten added a comment - - edited

        Re-opening with the following suggestions/comments from my review:

        icecore:defaultAction

        1. The target form should have additional components added to it so can be easily seen that the events can be generated from anywhere inside the form, and not just a single entry component.
        2. Only the "Enter" listener is fired for my on my Mac?

        icecore:focusManager

        1. Is a full page reload really necessary for this to work? I thought it would work with any partial-page update? If so, let's change it to not require a reload, perhaps by having the update replace a section of the page with different components?
        2. We should expand this demo to also demonstrate the auto-focus behaviour when an invalid component is on the page by adding a component that is "Required=true" and explaining it.

        icecore:navigationNotifier

        1. This demo doesn't load for me when selected in the top menu (Safari). If I reload the page after selecting it it works.
        2. Also, anytime it is supposed to show me a notification it instead shows a blank page.

        The rest of the demos are looking good and are nice and succinct.

        Show
        Ken Fyten added a comment - - edited Re-opening with the following suggestions/comments from my review: icecore:defaultAction The target form should have additional components added to it so can be easily seen that the events can be generated from anywhere inside the form, and not just a single entry component. Only the "Enter" listener is fired for my on my Mac? icecore:focusManager Is a full page reload really necessary for this to work? I thought it would work with any partial-page update? If so, let's change it to not require a reload, perhaps by having the update replace a section of the page with different components? We should expand this demo to also demonstrate the auto-focus behaviour when an invalid component is on the page by adding a component that is "Required=true" and explaining it. icecore:navigationNotifier This demo doesn't load for me when selected in the top menu (Safari). If I reload the page after selecting it it works. Also, anytime it is supposed to show me a notification it instead shows a blank page. The rest of the demos are looking good and are nice and succinct.
        Hide
        Mircea Toma added a comment -

        Added more components types into icecore:defaultAction's demo page.

        Show
        Mircea Toma added a comment - Added more components types into icecore:defaultAction's demo page.
        Hide
        Mircea Toma added a comment - - edited

        Modified icecore:focusManager demo to showcase also the focusing of invalid components after submit. The page reload is needed, allowing the focus manager to move focus after a partial update can generate a lot of interference with our focus retention. See more here: ICE-9639.

        Show
        Mircea Toma added a comment - - edited Modified icecore:focusManager demo to showcase also the focusing of invalid components after submit. The page reload is needed, allowing the focus manager to move focus after a partial update can generate a lot of interference with our focus retention. See more here: ICE-9639 .
        Hide
        Mircea Toma added a comment -

        I can reproduce the issue seen in Safari when switching to icecore:navigationNotifier demo. My guess is that RSH doesn't really work with the latest Safari versions. I will need to digg more to find out where the problem is.

        Show
        Mircea Toma added a comment - I can reproduce the issue seen in Safari when switching to icecore:navigationNotifier demo. My guess is that RSH doesn't really work with the latest Safari versions. I will need to digg more to find out where the problem is.
        Hide
        Carmen Cristurean added a comment - - edited

        ICEfaces4 trunk rev. 42123:
        In showcase > icecore:focusManager: the focus is not applied to the selected component (all browsers).

        ICE-10177 was created for the following issue:
        In the icecore:focusManager QA test application:
        1) /focusManagerFor.jsf: any of the drop-down components on the page cannot be opened up for selection (all browsers); occasionally they started working after interacting with the page for a few minutes.
        2) /focusManagerValidation.jsf: focus changes rapidly between the first two input fields (ace:textEntry and the ace:textAreaEntry) when starting tabbing through the input entries (all browsers).
        Test application: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/focusManager

        Show
        Carmen Cristurean added a comment - - edited ICEfaces4 trunk rev. 42123: In showcase > icecore:focusManager: the focus is not applied to the selected component (all browsers). ICE-10177 was created for the following issue: In the icecore:focusManager QA test application: 1) /focusManagerFor.jsf: any of the drop-down components on the page cannot be opened up for selection (all browsers); occasionally they started working after interacting with the page for a few minutes. 2) /focusManagerValidation.jsf: focus changes rapidly between the first two input fields (ace:textEntry and the ace:textAreaEntry) when starting tabbing through the input entries (all browsers). Test application: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/focusManager
        Hide
        Mircea Toma added a comment - - edited

        Fixed the issue with icecore:defaultAction in the component itself, see ICE-10183.

        Show
        Mircea Toma added a comment - - edited Fixed the issue with icecore:defaultAction in the component itself, see ICE-10183 .
        Hide
        Mircea Toma added a comment - - edited

        The fixes for ICE-10176 and the modification made to the demo page to have ace:selectMenu submit the focused component selection on value change should have fixed the icecore:focusManager demo.

        Show
        Mircea Toma added a comment - - edited The fixes for ICE-10176 and the modification made to the demo page to have ace:selectMenu submit the focused component selection on value change should have fixed the icecore:focusManager demo.
        Hide
        Mircea Toma added a comment -

        Here are the steps to test Forward button:

        • Select icecore:navigationNotifier demo page.
        • Click on 'Navigate to the other page' link.
        • Click the 'link' link (on the second row of text).
        • Click the browser's 'Back' button.
        • Click the browser's 'Forward' button.
        • Check if navigation was detected.
        Show
        Mircea Toma added a comment - Here are the steps to test Forward button: Select icecore:navigationNotifier demo page. Click on 'Navigate to the other page' link. Click the 'link' link (on the second row of text). Click the browser's 'Back' button. Click the browser's 'Forward' button. Check if navigation was detected.
        Hide
        Carmen Cristurean added a comment - - edited

        ICEfaces4 trunk rev. 42310:
        1) A server warning is seen when accessing the showcase/showcase-core.jsf page:
        WARNING: JSF1063: WARNING! Setting non-serializable attribute value into HttpSession (key: coreMenu, value class: org.icefaces.samples.showcase.view.navigation.CoreMenu).

        2) icecore:jsEventListener fails to capture the "keypress" event in IE10/11 and Chrome36; not an issue in FF31.

        3) icecore:navigationNotifier
        In IE10 JS errors occur when loading this component from drop-down on /showcase-core.jsf page; this demo fails to render in IE10.

        Message: Access is denied.
        Line: 1909
        Char: 13
        Code: 0
        URI: http://10.18.39.149:8080/showcase/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development&v=4_0_0_140826

        Message: Unable to get property 'iframeLoaded' of undefined or null reference
        Line: 43
        Char: 13
        Code: 0
        URI: http://10.18.39.149:8080/showcase/javax.faces.resource/navigation-notifier/blank.html.jsf?

        Show
        Carmen Cristurean added a comment - - edited ICEfaces4 trunk rev. 42310: 1) A server warning is seen when accessing the showcase/showcase-core.jsf page: WARNING: JSF1063: WARNING! Setting non-serializable attribute value into HttpSession (key: coreMenu, value class: org.icefaces.samples.showcase.view.navigation.CoreMenu). 2) icecore:jsEventListener fails to capture the "keypress" event in IE10/11 and Chrome36; not an issue in FF31. 3) icecore:navigationNotifier In IE10 JS errors occur when loading this component from drop-down on /showcase-core.jsf page; this demo fails to render in IE10. Message: Access is denied. Line: 1909 Char: 13 Code: 0 URI: http://10.18.39.149:8080/showcase/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development&v=4_0_0_140826 Message: Unable to get property 'iframeLoaded' of undefined or null reference Line: 43 Char: 13 Code: 0 URI: http://10.18.39.149:8080/showcase/javax.faces.resource/navigation-notifier/blank.html.jsf?
        Hide
        Mircea Toma added a comment - - edited

        1) Made CoreMenu bean serializable to alleviate JSF warnings.

        2) Some keypress events are captured by the browser itself when running in IE or Chrome. This is a known limitation, keydown should be used instead to capture any key type event.

        3) Modified rsh.js to create iframe element needed by IE to use DOM API instead of writing markup into the parsed document. This element creation method does not trigger "Access denied" errors in IE10.

        Show
        Mircea Toma added a comment - - edited 1) Made CoreMenu bean serializable to alleviate JSF warnings. 2) Some keypress events are captured by the browser itself when running in IE or Chrome. This is a known limitation, keydown should be used instead to capture any key type event. 3) Modified rsh.js to create iframe element needed by IE to use DOM API instead of writing markup into the parsed document. This element creation method does not trigger "Access denied" errors in IE10.
        Hide
        Carmen Cristurean added a comment -

        Verified last 3 issues with IF4 trunk rev. 42320 in IE10, FF31.

        Show
        Carmen Cristurean added a comment - Verified last 3 issues with IF4 trunk rev. 42320 in IE10, FF31.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Ken Fyten
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: