Home > Class Reference > ENSLIB namespace > %ZEN.Component.object

%ZEN.Component.object

class %ZEN.Component.object extends %Library.RegisteredObject, %XML.Adaptor

Base class for all ZEN components. An object, by itself, can be used to create objects that can be shared between a server and a browser client environment. All visual component, are derived from component, which is a subclass of object.

Property Inventory (Including Private)

Method Inventory (Including Private)

Parameters

parameter DEFAULTVISIBLE = 0;
Subclasses can set this to change default visibilty for a component.
parameter INCLUDEFILES;
CSV list of additional include files (either .js or .css) that should be included when this component is used on a page.
By default, the file extension (.js or .css) is used to determine whether an item in the list is a script include or a style include. You can override this behavior by adding the terms "script:" or "style:" to the beginning of the file name or names. This prefix is not used as part of the include filename.
parameter MODULE;
If set, this indicates that this system component should be placed in the given "module". A module is a grouping of components within the same class package that share common include (js or css) files.
parameter NAMESPACE = http://www.intersystems.com/zen;
This is the XML namespace used for library components.
parameter POSTCOMPILEACTIONS = schema,HTML;
This is a comma-delimited list of which post-compile actions this component is registered for. If this value is defined, then certain actions are carried out after this class is compiled.
The available choices are:
  • "schema" - update the schema used by Studio Assist when editing page definitions.
  • "HTML" - Regenerate any JS or CSS files associated with this class.
  • "SVG" - Regenerate any JS or SVG CSS files associated with this class.
parameter USECOMMONDIRECTORY = 0;
If true, then the include files generated for this component, are placed in the common /csp/broker directory and not the local /csp/*namespace* directory.
This is intended for use with packages that are mapped so as to be visible to every namespace.
All Zen classes within the same package must have the same value for this parameter. It is the developer's responsibility to ensure this.
parameter XMLFORMAT = Literal;
If XMLFORMAT="Literal", then only support for literal format import and export is generated.
parameter XMLIGNOREINVALIDATTRIBUTE = 0;
By setting this to 0, we disallow use of invalid attribute names in Zen XML documents.
parameter XMLIGNORENULL = 1;
Inherited description: XMLIGNORENULL allows the programmer to override the default XML handling of empty strings for properties of type %String. By default (XMLIGNORENULL = 0), empty strings in the XML input are stored as $c(0) and $c(0) is written to XML as an empty tag. A missing tag in the XML input is always stored as "" and "" is always output to XML as no tag.

If XMLIGNORENULL is set = 1, then both missing tags in the XML and empty strings are input as "", and both "" and $c(0) are output as empty tags (i.e. <tag></tag>).

If XMLIGNORENULL is set = "inputonly", then both missing tags in the XML and empty strings are input as "". Output of "" and $c(0) are for XMLIGNORENULL = 0: $c(0) is output as an empty tag (i.e. <tag></tag>) and "" is output as no tag.

If XMLIGNORENULL = "runtime" (runtime is not case sensitive), then the behavior of XMLIGNORENULL is determined by the format parameter of XMLExport, XMLImport and %XML.Reader.OpenFile. The default behavior for XMLIGNORENULL="runtime is the same as XMLIGNORENULL=0. Adding "ignorenull" to the format argument changes the behavior to that of XMLIGNORENULL=1. "ignorenull" shoud be separated by a comma from literal/encoded part of the format. Example values for format are "", ",ignorenull", "literal,ignorenull" and "encoded,ignorenull". Note that "inputonly" is equivalent to using ,ignorenull for XMLExport and not for %XML.Reader.

Properties (Including Private)

property %condition as %ZEN.Datatype.expression (XMLNAME = "condition");
Server-side expression that determines if this component should be added to the set of page components.
This property is not available on the client.
Property methods: %conditionDisplayToLogical(), %conditionGet(), %conditionIsValid(), %conditionLogicalToDisplay(), %conditionLogicalToOdbc(), %conditionNormalize(), %conditionSet()
property %import as %ZEN.Datatype.string (MAXLEN = 1000, XMLNAME = "import");
CSV list of additional component classes that this components needs to have defined on the client. Use this for cases where the client will need classes that are not directly used in the original object tree. This property is not available on the client.
Property methods: %importDisplayToLogical(), %importGet(), %importIsValid(), %importLogicalToDisplay(), %importLogicalToOdbc(), %importNormalize(), %importSet()
property %includeFiles as %ZEN.Datatype.string (MAXLEN = 1000, XMLPROJECTION = "none") [ InitialExpression = ..#INCLUDEFILES ];
CSV list of additional include files (either .js or .css) that should be included when this component is used on a page.
This property is not available on the client.
Property methods: %includeFilesDisplayToLogical(), %includeFilesGet(), %includeFilesIsValid(), %includeFilesLogicalToDisplay(), %includeFilesLogicalToOdbc(), %includeFilesNormalize(), %includeFilesSet()
property %page as %ZEN.Component.page (XMLPROJECTION = "none") [ Final ];
Link back to page that contains this component.
Applications should not set this property.
Property methods: %pageGet(), %pageGetSwizzled(), %pageIsValid(), %pageNewObject(), %pageSet()
property %resource as %ZEN.Datatype.resource (XMLNAME = "resource");
Resource name that determines if this component should be added to the set of page components. If specified, current user must hold USE privilege on this resource or the component will not be added to the set of page components.
This property is not available on the client.
Property methods: %resourceDisplayToLogical(), %resourceGet(), %resourceIsValid(), %resourceLogicalToDisplay(), %resourceLogicalToOdbc(), %resourceNormalize(), %resourceSet()
property aux as %ZEN.Datatype.string [ Final ];
This is an auxiliary property that is provided as a place to hold additional user-defined values for components. This property is not used by the ZEN framework.
Property methods: auxDisplayToLogical(), auxGet(), auxIsValid(), auxLogicalToDisplay(), auxLogicalToOdbc(), auxNormalize(), auxSet()
property composite as %ZEN.Component.group (XMLPROJECTION = "none", ZENSETTING = 0) [ Final ];
For components that are created as part of a composite component, this is a link to the composite that contains this object. Applications should not set this pr