Information Classification: External Restricted.
See https://www.chili-publish.com/security
Accessing objects in lists
List Objects
Various objects in the document's object model inherit from Document Object Model - DocumentListBase. Examples are "document.colors", "document.variables", "document.pages", "document.pages[0].frames", etc.
Object Descriptors for lists
To gain access to items within lists, you can use a "[]" annotation to provide one of the following descriptors to get an item (which will be evaluated in this order):
- ID
- Index
- Name
- Tag
function GetInfo() { //GET A VARIABLE VALUE var myVariable = editor.GetObject("document.variables[MY_VARIABLE_NAME]"); alert(myVariable.name); //SET A VARIABLE VALUE, USING AN ID editor.SetProperty("document.variables[" + myVariable.id + "]","value","NEW VALUE"); //GET THE FIRST FRAME ON THE FIRST PAGE var myFrame = editor.GetObject("document.pages[0].frames[0]"); }
Looping through a list
You can use the "length" property of a list to get its amount of items, and use that to build an object descriptor within a loop:
function ListVariables() { //GET A VARIABLE VALUE var numVariables = editor.GetObject("document.variables").length; var names = ""; for (var a=0;a<numVariables;a++) { var myVariable = editor.GetObject("document.variables[" + a + "]"); names += myVariable.name + "\n"; } alert(names); }
Accessing Frames
Frames are part of a page, and typically are accessed either through the selected frame (see Accessing selected frames and other resources). For example:
function GetFirstFrame() { var myFrame = editor.GetObject("document.pages[0].frames[0]"); return myFrame; }
There is however also a helper-property, "allFrames", on the document level, which can be used to find frames throughout the document, for example based on a tag or ID:
function GetFrameByDescriptor(desc) { var myFrame = editor.GetObject("document.allFrames[" + desc + "]"); return myFrame; }
Selecting a frame in the editor
It is possible to trigger the selection of a frame via Javascript.
Most of the times, this will be done with a tagged frame, but the selection of a specific frame can be done as described above, underneath "Object descriptors for lists"
The sample below will select a frame that has been tagged as 'BG_IMAGE'.
function selectFrameWithTag(){ var frametag = "BG_IMAGE"; editor.ExecuteFunction('document.allFrames[' + frametag + ']', 'Select'); }
All information on this page must be treated as External Restricted, or more strict. https://www.chili-publish.com/security