Book Image

Liferay User Interface Development

By : Jonas X. Yuan, Xinsheng Chen, Frank Yu
Book Image

Liferay User Interface Development

By: Jonas X. Yuan, Xinsheng Chen, Frank Yu

Overview of this book

<p>Liferay employs a specialized theming system, which allows you to change the look and feel of the user interfaces. As a developer, by using the right tools to create and manipulate themes with Liferay Portal, you can get your site to look any way you want it to; but the Liferay theming system can be difficult to get started with. This practical guide provides you with a well organized manual for working with Liferay as a programmer to help you get started.<br /><br />Liferay User Interface Development is a pioneer in explaining Liferay's powerful theming system by taking you through examples to get you to create your own themes as quickly as possible. It focuses on how portal pages are created and styled and also discusses some simple configuration and customization to change the look and feel of a portal page. Its explicit instructions are accompanied by plenty of source code. With the open source nature of Liferay, you will find a user-friendly environment to design themes with the latest user interface technologies.<br /><br />Liferay User Interface Development unlocks the potential of using Liferay as a framework to develop a rich user interface.</p> <p>The book starts off with how you should go about structuring a Liferay Portal web page. It identifies the components of a portal page: theme, layout, and portlets. This hands-on tutorial explains themes, portlets, and Alloy UI, which is the latest output from the Alloy Project of Liferay, in an easy-to-understand way. It covers all aspects of a theme from its inception and rendering through its consumption by an end user, with in-depth discussion.<br /><br />By the end of this book, you will clearly understand themes, layouts, and the Alloy API. Most importantly you will obtain the skills to write a theme and layout templates, apply them to a portal, and also control the portlet UI through different mechanisms.</p> <p>This clear, concise, and practical tutorial will ensure that you have developed skills to become a competent Liferay themer. The detailed text is accompanied with source code that allows you to play with the examples, update the code, and add custom features.</p>
Table of Contents (12 chapters)
11
Index

Node and Nodelist

Node is the interface for DOM operations in Alloy UI. The Node API is based on DOM. Additionally, a Node instance (node) has properties and methods that make its manipulation easier—it is a wrapped DOM element. A node is for a single element, while a nodelist (Nodelist instance) is for a collection of elements.

To manipulate a node, we must put our JavaScript code in such a sandbox as follows:

AUI().use('node', function(A) {
  var aNode = A.one('#demo');
});

The Alloy UI sandbox is the same as the YUI sandbox, as we have studied in the YUI3 section. AUI() creates an instance of the AUI class. The use method loads the node module including all the required JavaScript files into the context. The function(A) is a callback method. Its only argument A is the AUI instance that has just been created.

By A.one('#demo') we get a DOM element whose ID is demo on the page. If the element is really there, we can then add content to it, change its...