$ cnpm install angular-dui
Declarative UI for Angular
The goal is to have a specification that can be used to define common layouts in applications. It's currently implemented using AngularJS and Bootstrap but it should be quite straightforward to implement it using other technologies.
$ git clone https://github.com/beeman/angular-dui.git
$ cd angular-dui
$ npm install
$ gulp serve
At this moment there is one example that serves as a demo on how to use dui.
The application layout is specified in templates/app.html
, the configuration object is defined in js/app.js
.
The following structure renders a layout with a header, footer, sidebar and a main screen with one content item.
<dui-app>
<dui-header> [ Branding and navigation ] </dui-header>
<dui-content>
<dui-sidebar> [ Sidebar navigation ] </dui-sidebar>
<dui-main>
<dui-screen>
<dui-screen-header> [ Item list ] </dui-screen-header>
<dui-screen-content>
<dui-box-header> [ Item title ] </dui-box-header>
<dui-box-content> [ Item content ] </dui-box-content>
<dui-box-footer> [ Item date ] </dui-box-footer>
</dui-screen-content>
<dui-screen-footer> [ Item paging ] </dui-screen-footer>
</dui-screen>
</dui-main>
</dui-content>
<dui-footer> [ Copyright and branding] </dui-footer>
</dui-app>
There are multiple ways to override templates.
One of the options is to define a template in your HTML:
<script type="text/ng-template" id="/templates/dui-footer.html">
<footer class='dui-footer'>
<h6 ng-bind-html='dui.footer.text'> </h6>
<div ng-transclude></div>
<h6>template defined in app.html</h6>
</footer>
</script>
Another option is to update the $templateCache
in a controller:
app.controller('MyCtrl', function ($templateCache) {
$templateCache.put("/templates/dui-footer.html",
"<footer class='dui-footer'> " +
" <h6 ng-bind-html='dui.footer.text'> </h6>" +
" <div ng-transclude></div>" +
" <h6>template defined in MyCtrl</h6>" +
"</footer> ");
});
A template added to $templateCache
takes precedence over the other templates.
Copyright 2014 - 2017 © taobao.org |