This lab walks you through a development cycle using the XPages Extension Library and the ApplicationLayout control. Originally presented at the Austin XPages Advanced Development seminar Dec 2010.
59. By putting an Editable Area in the layout, when the layout control is used on an Xpage, the Xpage developer can decide what kind of navigator he wants to put there and simply drag it into the Editable Area placeholder.
64. A blinking cursor should appear between the gray facet_1 box and the green dot indicating it's going to put the label there. Drop the label control
65. After the drop, the label should appear within the dotted line box boundaries of the editable area as shown below
66.
67.
68. It contains the “Application Layout” extension control we added
73. But what if the application will use the same navigation for every Xpage?
74. It makes sense to add the navigation at the “layout” custom control level
75. Then every Xpage that uses the “layout” control will already have the navigator built-in
76. We also would like to allow the Xpage developer to append additional content into the “LeftColumn” so we'll make sure there's still an Editable Area available at the Xpage level
77. We'll create the Navigator in its own custom control, and when we're done, add it to the “layout” custom control
78. First, we need to update the code in the “layout” custom control
81. The panel with xp:key=”LeftColumn” identifies that this content is going in the “LeftColumn” facet defined in the Application Layout control
82. Within the panel, we can now put a custom control (like a navigator)
83.
84. The callback for “OneUIMainAreaCallback” is special. Because the Application Layout control did not specify a facetName property for that Editable Area, it falls outside the scope of the <this.facet> tag
85. It allows for multiple controls to be loaded inside of it
86. By adding the callback to “layout” we pass on the ability to use it at the Xpage level
209. When the user clicks search button, the “Search” Xpage (not built yet) will be returned and a queryString parameter of “searchText=” will be provided to that page with the value of what was input into the field
210.
211. Drag a label control on to the page, give it the label, “Search String: “
231. The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. WorkFlow Studios shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from WorkFlow Studios or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
232. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
233. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both.
234. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
235. Dissemination or reuse of this presentation is allowed provided full attribution to WorkFlow Studios is made by retaining the title slide and this legal disclaimer slide in their original form.