On Wed, Dec 14, 2016 at 9:01 AM, Irunika Weeraratne <[email protected]> wrote:
> Hi, > Can't we use standard JS libraries approach for this one? > Here we have used zone names. > eg : UUF.renderFragment(fragmentFullyQualifedName, templateFillingObject, > *zoneName*, mode) > > But AFAIK in standard JS this is done using Classes or IDs of elements. > > For an example can't we have something similar to > *var zone = document.getElementById(zoneName);* > *UFF.renderFragment(par1, par2, par3, zone);* > > This won't work as zone is not an element in the DOM. Zone is a placeholder which will be filled with some HTML content when the page is rendering (in the server-side). IMHO I think that it would be better if we can find an approach which JS > developers are more often familiar with. > > Also, IMHO I think we can use something similar to Jinja2 [1] kind of > approach from Python Flask for server-side template rendering. > [1] http://jinja.pocoo.org/docs/dev/ > > Thanks and Best Regards, > Irunika > > *Irunika Weeraratne* > *Software Engineer | WSO2, Inc. <http://wso2.com/>* > *Email : [email protected] <[email protected]>* > *LinkedIn : https://lk.linkedin.com/in/irunika > <https://lk.linkedin.com/in/irunika>* > *Mobile : +94712403314 <+94%2071%20240%203314>* > *Lean . Enterprise . Middleware* > > > On Wed, Dec 14, 2016 at 8:05 AM, Joseph Fonseka <[email protected]> wrote: > >> Hi >> >> +1, few clarifications bellow. >> >> 1. I guess the default mode will be OVERWRITE. >> 2. Why did we use comments to propagate Zones to the client side instead >> of Divs. >> >> Thanks >> Jo >> >> >> >> On Tue, Dec 13, 2016 at 10:37 PM, SajithAR Ariyarathna <[email protected] >> > wrote: >> >>> 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/compo >>> nents/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 >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> >> -- >> *Joseph Fonseka* >> WSO2 Inc.; http://wso2.com >> lean.enterprise.middleware >> >> mobile: +94 772 512 430 >> skype: jpfonseka >> >> * <http://lk.linkedin.com/in/rumeshbandara>* >> >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > -- Sajith Janaprasad Ariyarathna Software Engineer; WSO2, Inc.; http://wso2.com/ <https://wso2.com/signature>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
