Hi All, To do $subject, we are hoping to give a UUF client JS library. With the client-side library, webapp developers will be able to render fragments and push to zones similar to the server-side.
Functions in the library: UUF.renderFragment(fragmentFullyQualifedName, templateFillingObject, zoneName, mode) Using this function webapp developers can render a fragment in the client-side and push the content to a given zone. Here, *fragmentFullyQualifedName* - Fully qualified name (<component-name>.<fragment-name>) of the fragment that you want to render. e.g. "org.wso2.carbon.apimgt.store.api-grid" *templateFillingObject* - JSON object which will be used to fill the fragment's template. e.g. {name: "My API", version: "1.0.0"} *zoneName* - Name of the zone that you want to push the rendered HTML. e.g. "grid" *mode* - Dictates how the pushing content orders with the existing content in the zone. Mode can be "PREPEND" (put the pushing content before the existing content), "APPEND" (put the pushing content after the existing content) or "OVERWRITE" (replace the existing content with the pushing content) UUF.renderTemplate(hbsTemplate, templateFillingObject, zoneName, mode) Using this function webapp devs can render a given Handlebars template and push it to a desired zone. Here, *hbsTemplate* - Handlebars template string Bringing zones to the client-side. When rendering a zone in the server-side, we can mark the start and end of a zone's content with HTML comments. e.g. <!-- [UUF-ZONE]{"name": "grid", "position": "start"} --> <p>content of zone grid goes here</p> <div>here is a div</div> <p>some more stuff</p> <!-- [UUF-ZONE]{"name": "grid", "position": "end"} --> HTML comments can be identified by filtering nodes in the DOM. And further filtering the comments that starts with [UUF-ZONE], we can identify UUF zone marking comments. Jerad did a POC for this. In that we were able to successfully identify zones and push content for all modes. We are hoping to expose this library through the "uuf-client" fragment in the common "foundation" component [1]. [1] https://github.com/wso2/carbon-uuf-common/tree/master/components/org.wso2.carbon.uuf.common.foundation WDYT? Thanks. -- Sajith Janaprasad Ariyarathna Software Engineer; WSO2, Inc.; http://wso2.com/ <https://wso2.com/signature>
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture