预订演示
前页 后页

脚本片段

Scriptlet 元素包含JavaScript ,可让您利用底层图表和元素API 来动态自定义元素的外观、文本、标记值和其他属性。Scriptlet 会在图表加载时运行,也可以根据需要手动运行,从而为图表提供多个静态视图。

除了标准自动化环境之外,每个 Scriptlet 还可以访问三个全局对象。它们是:

  • theDiagram - Scriptlet 所在图表的自动化图表接口
  • theElement - Scriptlet工件本身的自动化元素接口
  • theInstance - Scriptlet工件本身的自动化 DiagramObject 接口
有关这些对象相关帮助主题的参考,请参阅了解更多链接。

访问

Scriptlet 可以放置在任何图表上。您可以在一个图表上放置任意数量的 Scriptlet,也可以将一个 Scriptlet 放置在多个图表上。

蓝图

建设 > Scriplets

图表工具箱

要创建 Scriptlet:

  • 打开工具箱
  • 从图表工具箱的“动态视点”页面中选择 Scriptlet工件
  • 将其拖到打开的图表上

Scriptlet 权限

Scriptlet 中的代码无法更改或更新模型数据库中的元素。但是,它可以读取和更新图表上显示的元素副本。Scriptlet 对元素所做的更新不会写回到模型数据库中。

编辑 Scriptlet 代码

要向 Scriptlet 添加代码,或编辑 Scriptlet 的现有代码,请双击图表上的 Scriptlet,或右键单击并选择“编辑脚本”菜单选项。代码编辑器窗口将打开,显示所选 Scriptlet 的代码。像在任何代码编辑器中一样编辑 Scriptlet 的JavaScript代码。按 Ctrl+S 键保存更改。

An Example of a Scriptlet

This example comes from the model pattern 'Scriptlets > Simple', available through the Model Builder.

//---   Example Scriptlet  ---
function Scriptlet1()
{
var object as EA.DiagramObject;
object = theDiagram.GetObjectByGrid("A","2");
if(object)
{
Session.Output("Scriptlet1 for " + theDiagram.Name);
object.BackgroundColor = parseInt("0x554444",16);
object.FontColor = parseInt("0xeeeeee",16);
object.Update();
}
}

Scriptlet1();

运行 Scriptlet

在图表显示之前,只要包含脚本的图表被加载或重新加载,脚本就会运行。如果图表包含多个脚本,则它们的运行顺序由图表上脚本的 Z 轴顺序决定。您也可以随时手动运行脚本,方法是右键单击脚本,然后从上下文菜单中选择“运行脚本”选项。

调试Scriptlet

您可以像调试任何其他代码段一样调试 Scriptlet。右键单击 Scriptlet,然后选择“调试脚本”菜单选项。Scriptlet 将显示在调试视图中。

网格样式图表上的 Scriptlet

自动化 API 有一些专用函数,Scriptlet 可以在以网格样式显示的图表上使用这些函数。当图表以网格形式显示时,我们可以使用自动化函数检索指定网格位置的元素。位置格式与电子表格中的位置格式相同,列标记为“ A ”、“ B ”、“ C ”……,“ AA ”、“ AB ”等,行按序列编号。

要改变网格元素的外观,请使用函数GetObjectByGrid 检索其底层物件。

要改变网格元素的,请使用函数GetElementByGrid 检索其底层元素。

例如;

object = theDiagram.GetObjectByGrid(" A ", "2");

元素= theDiagram.GetElementByGrid(" A ", "2");

了解更多