Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Replaced 'cbx' and 'ct' with 'canvas'.

Class Description: The class that is expected to render the structure of the application. All Canvas libraries are advised to have header, footer, and content spaces.

Called By: cbx canvas.initializer

Meta data to be considered: ct canvas.metadata.getApplicationLayout() → gives a string corresponding to the configured Application Layout. The header, footer, and content areas are to designed specific to this meta data. The following layout types are currently available in Canvas:

...

                   on demand file set id = (framework Id)_(CT_VIEW_BASE),
For example, a jQuery UI component developer can do this as follows:
                   on demand file set id = jqui_CT_VIEW_BASE
Registry Signature:

Code Block
languagejs
CLCR.registerCmp({'VIEW_TYPE':'VIEWPORT'}, <<View port class>>);

Scope: The core layer does not pass anything significant here for the library developers to consider.

Sample Code Snippet:
cbx

Code Block
languagejs
canvas.lib.viewport = Class(

...

canvas.core.Component, 
{

...

 
	initialize: function()

...

 
	{
		// This is the config which will be passed to Workspace Manager
		var viewportConfig = 
		{
			"eleType": "div",

...


			"id":"JQM-CONTENT"

...


		};

...

 
		var viewportConfigObj = new

...

 canvas.lib.layer(viewportConfig).getLayer();

...


		this.addItem(viewportConfigObj);

...

 
		var config =

...

 
		{
			elem: viewportConfigObj

...


		};

...

 
		var applicationLayout =

...

 canvas.core.metadata.getApplicationLayout();

...

 
		var headerClass = CLCR.getCmp(
		{
			'COMP_TYPE':'APPLICATION_HEADER',
			'LAYOUT':applicationLayout
		});

...

 
		var header = new headerClass();

...

 
		$('#HEADER_DIV').append(header.getItem(0).html());

...

 
		var footerClass = CLCR.getCmp(
		{
			'COMP_TYPE':'APPLICATION_FOOTER',
			'LAYOUT':applicationLayout
		});

...

 
		if(footerClass)

...


		{
			var footer = new footerClass();

...


			$('#FOOTER_DIV').append(footer.getItem(0));

...

 
		}
		var that = this; 
		setTimeout(function()

...


		{
			/* 
			*  Calling the core workspace manager to assign it to this.wsManager 
			*  with the config object containing the viewport component.
			*/
			that.wsManager = new canvas.core.WSManager(config);

...


			/*
			*  Adds the app container as viewport's child. 
			*  This app container contains the workspace container.

...


				*/
			that.getItem(0).appendChild(that.wsManager.getContainer().getAppContainer());

...


			$("#CONTENT_DIV").prepend(that.getItem(0));

...


		},500);

...

 
		$(document).ready(function()

...


		{
			setTimeout(function()

...


			{
				canvas.lib.utility.loadInitialWorkspace();

...


			},500);

...


		});

...


	}

...


});

...

 
CLCR.registerCmp({'VIEW_TYPE':'VIEWPORT'},

...

 canvas.lib.viewport);