polymer_app_layout_templates

Polymer application template with responsive Material Design and routing

Use the application layout templates provided and start building responsive applications.

Usage

Define pages routing

import 'package:polymer_app_layout_template/app_layout.dart'';

// route
@property
List<Page> get pages => [
    new AppPage("Home", "home", "home-page", isDefault: true),
    new AppPage("One", "one", "page-one"),
    new AppPage("Two", "two", "page-two", menu: false)
];

<layout-app 
    pages="{{pages}}" 
    layout-type="layout-nav-view">
</layout-app>

Navigate

gotToHome() {
    PolymerRouteBehavior.goToDefault();
}

gotToPage(String pageName) {
    PolymerRouteBehavior.goToName(pageName);
}

Listen route change

@Listen(PolymerRouteBehavior.page_changed_event)
pageChanged(CustomEventWrapper e, [_]) {
    print("page changed => ${(e.detail as Page)}");
}

@Listen(PolymerRouteBehavior.path_changed_event)
pathChanged(CustomEventWrapper e, [_]) {
    print("path changed => ${e.detail}");
}

Define Toolbar, nav-header, nav-footer

// toolbar
@property
List get toolbarItems => [
    'toolbar-more-button' // or document.createElement('toolbar-more-button');
];

// header
@property
HtmlElement get header => document.createElement("nav-header");

//footer
@property
String get footer => "nav-footer"
   

<layout-app 
    pages="{{pages}}" 
    toolbar-items="{{toolbarItems}}" 
    layout-type="layout-nav-header" 
    nav-header="{{header}}" 
    nav-footer="{{footer}}">
</layout-app>

The element field accept any HtmlElement.

Working example

Templates:

Left Nav + View

List Left + Card over Extended Header

Next Step

  • Define and pass parameter in path url

Libraries

polymer_app_layout

Created by lejard_h on 18/10/15.

polymer_app_layout.behaviors

Created by lejard_h on 09/11/15.

polymer_app_layout.behaviors.icon_behavior

Created by lejard_h on 18/10/15.

polymer_app_layout.behaviors.left_nav_behavior

Created by lejard_h on 18/10/15.

polymer_app_layout.behaviors.route_behavior

Created by lejard_h on 11/10/15.

polymer_app_layout.behaviors.toolbar_behavior

Created by lejard_h on 18/10/15.

polymer_app_layout.elements

Created by lejard_h on 09/11/15.

polymer_app_layout.elements.elements.loading_element

Created by lejard_h on 08/10/15.

polymer_app_layout.elements.layout_app

Created by lejard_h on 08/10/15.

polymer_app_layout.elements.layout_list_card_over

Created by lejard_h on 08/10/15.

polymer_app_layout.elements.layout_nav_header

Created by lejard_h on 08/10/15.

polymer_app_layout.elements.layout_nav_view

Created by lejard_h on 08/10/15.

polymer_app_layout.models
polymer_app_layout.models.page