Home > LIB_Symbol > updateDocumentSource
LIB_Symbol.updateDocumentSource() method
此 API 当前处于 BETA 预览状态,希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改,请不要将它用于任何正式环境。
更新符号的文档源码
签名
typescript
function updateDocumentSource(
symbolUuid: string,
libraryUuid: string,
documentSource: string,
): Promise<boolean | undefined>;1
2
3
4
5
2
3
4
5
参数名
参数 | 类型 | 描述 |
|---|---|---|
symbolUuid | string | 符号 UUID |
libraryUuid | string | 库 UUID,可以使用 LIB_LibrariesList 内的接口获取 |
documentSource | string | 文档源码 |
返回值
Promise<boolean | undefined>
是否更新成功
示例
javascript
// 1. 获取个人库 UUID,从系统库复制一个符号(有内容,源码链路才完整)
const libraryUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
const [source] = await eda.lib_Symbol.search('', undefined, [], undefined, 1, 1);
const symbolUuid = await eda.lib_Symbol.copy(
source.uuid,
source.libraryUuid,
libraryUuid,
[],
`嘉立创示例_源码符号_${Date.now()}`
);
// 2. 在编辑器中打开符号,等待文档加载完成
const tabId = await eda.lib_Symbol.openInEditor(symbolUuid, libraryUuid);
await new Promise(r => setTimeout(r, 1500));
// 3. 读取当前打开符号的文档源码
const documentSource = await eda.sys_FileManager.getDocumentSource();
// 4. 把源码写回库中的符号(此处原样写回;实际使用时可先改写 documentSource)
const updated = await eda.lib_Symbol.updateDocumentSource(symbolUuid, libraryUuid, documentSource);
// 5. 关闭编辑器标签页(符号本体保留在库中)
await eda.dmt_EditorControl.closeDocument(tabId);
// 修改类保留现场
console.log('symbolUuid:', symbolUuid);
console.log('sourceLength:', documentSource.length);
console.log('updated:', updated);1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29