Git Product home page Git Product logo

dojoserverfaces's People

Contributors

curtiss-howard avatar kennas avatar meghakuchhal avatar szys avatar zhangzxm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dojoserverfaces's Issues

Add manifest entries for DSF/Dojo

Add the following manifest entries to output JARs so we can identify the JARs as belonging to DSF/Dojo:

Created-By: Dojo Foundation
Specification-Title: DojoServerFaces
Specification-Vendo r: dojotoolkit Foundation
Specification-Version: 1.7

Change to use AMD scheme to load dojo modules

As dojo.require is going to be deprecated in starting with dojo 1.7, we need to change related codes to use the new AMD scheme. like:

require([
"dijit/form/textbox",
"dijit/form/button",
"dijit/dialog
โ€ฆ
โ€],
function(){
// All required modules now have been loaded
}
});

Problems of our EventPropertyHandler

I found that scripts emitted by EventPropertyHandler is not consistent with JSF and caused some problems. In the case below, when clicked on the button, you'll get an alert dialog, and the page will be refreshed. But if replace the dojo:button with h:commandButton, it works well.

<h:form>
<dojo:button label="Login" type="submit">
    <f:ajax execute="@form" />
</dojo:button>
</h:form>

Rendered scripts:

  1. dojo:button - jsf.ajax.request(...)
  2. h:commandButton - jsf.util.chain("elem", event, jsf.ajax.request(...)); return false;

Another difference is: if no f:ajax attached, h:commandButton will emits "return jsf.util.chain(...)" while dojo:button won't return anything.

listener of f:ajax doesn't work for DSF components

In the following case, the listener "login.test(AjaxBehaviorEvent)" will not be invoked.

<h:form id="form">
    <h:outputLabel for="username" value="Username:" />
    <h:inputText id="username" value="#{login_backing.username}" />
    <h:outputLabel for="password" value="password:" />
    <h:inputText id="password" value="#{login_backing.password}" />

    <dojo:button id="login" value="Login">
        <f:ajax execute="username" render="result" listener="#{login_backing.test}" />
    </dojo:button>
</h:form>


@ManagedBean(name = "login_backing")
public class Login {
    private String username;
    private String password;

    public void test(AjaxBehaviorEvent evt) {
        System.out.println(((AjaxBehavior) evt.getBehavior()).getExecute());
        System.out.println("username=" + username + ", password="
                + password);
    }
}

Create a common behavior toggleProperty

This behavior is mainly (but not limited) used with ToggleButton, like:
<dsf:toggleButton label="Click Me" checked="true">
<dsf:toggleProperty target="@this" name="label" initialValue="Toggle me off" compareValue="Toggle me on" />
</dsf:toggleButton>

Must handle properties that reference components that have yet to have their dijit created.

We must be able to handle properties that reference components that have yet to have their dijit created. This is problem, for example, with the datagrid headerMenu property. The datagrid dijit does not initialize properly if the menu component referenced by the headerMenu property has yet to render its dijit creation code and therefore does not exist when the datagrid startup() is called.

DeviceTheme issue

I created a class named MobileTheme which inherits DojoTheme. It implements DeviceTheme logic and import common.css.
Note it is not a tag.

Create a new Annotation ValueHolder

We need a new annotation valueholder. The ValueHolder 's base class is UIOutput. and it has value property. do not have validator or postbackhandler. the value can not be submitted.

Default type value of dsf:button not correct

Currently, our dsf:button will detect that if attribute action is not null, we will set button type to "submit" by default. There are two problems:

  1. default value "submit" is not quoted, emitted scripts like "type":submit
  2. I saw that the h:commandButton will also detect actionListener attribute, and do the same process as action, should we keep consistent with h:commandButton?

refector getClientId

remove getRenderedClientIdById from BehaivorBase
Add getClientId into GridBehaviorBase and updateProgressBar classes.

Some javadoc annotation defects

As Bob said in the email. he created some defects for me. They are:
DefaultCell description is inadequate.
Theme Component description should cover context-param
Remove SyntaxHighlight component
StructureBase needs tag annotation removed

DojoServerFaces beta gallery - access denied

The download for dojoserverfaces-library-showcase-beta-0.0.1.war results in an error page like this:

<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>3FAF2996A7B6A5FF</RequestId><HostId>1BaPDpmsLZiBI6RZ+qSh4JxmLTifvxx2ZKYgbJ644y6rcDX6ErDfO5VeEmsQVKta</HostId></Error>

DataGrid's View and Cell can not addRequires

I found that the cellType 's requires can not be added. It is because the isSet method.
the Cell and View 's complexProperty is always return false. So it can not add the requires.
I would override the isSet and let it always return true.

let some container widgets render their children

We find that some mobile container widget whose children 's type is limited. The children should be handle by the container.such as IconContainer(IconItem) and TabBar(TabBarButton) . we would add a new property to @container annotation named rendersChildren to show whether the container render its children or just as the usual container.we would override the getRendersChildren() and encodeChildren() methods

DateConverter and JsfDataModelReadStore

DateConverter is in the core project. it is used to convert java.util.Date, java.sql.Date and java.sql.Timestamp.
Refactored jsfDataModelReadStore. It is rendered a ItemFileReadStore and its data source is a java collection

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.