diff --git a/src/DatabaseServices/Template/TemplateRecord.ts b/src/DatabaseServices/Template/TemplateRecord.ts index be2ea6c24..8e7fa4739 100644 --- a/src/DatabaseServices/Template/TemplateRecord.ts +++ b/src/DatabaseServices/Template/TemplateRecord.ts @@ -172,6 +172,21 @@ export class TemplateRecord extends SymbolTableRecord this.Type &= ~TemplateType.Hidden; } + get IsHiddenChildren() + { + return (this.Type & TemplateType.HiddenChildren) !== 0; + } + + set IsHiddenChildren(isHidden: boolean) + { + if (this.IsHiddenChildren === isHidden) return; + + if (isHidden) + this.Type |= TemplateType.HiddenChildren; + else + this.Type &= ~TemplateType.HiddenChildren; + } + Purge() { this.Children = this.Children.filter(rc => rc && !rc.IsErase && rc.Object instanceof TemplateRecord); diff --git a/src/DatabaseServices/Template/TemplateType.ts b/src/DatabaseServices/Template/TemplateType.ts index 794c3bc5b..8b582cc25 100644 --- a/src/DatabaseServices/Template/TemplateType.ts +++ b/src/DatabaseServices/Template/TemplateType.ts @@ -16,6 +16,7 @@ export enum TemplateType Expanded = 8, //隐藏的 Hidden = 16, + HiddenChildren = 32, } export enum TemplateSplitType diff --git a/src/UI/Components/RightPanel/TemplateParamPanel.tsx b/src/UI/Components/RightPanel/TemplateParamPanel.tsx index 62f7b22ba..29d0b8ef3 100644 --- a/src/UI/Components/RightPanel/TemplateParamPanel.tsx +++ b/src/UI/Components/RightPanel/TemplateParamPanel.tsx @@ -709,6 +709,22 @@ export class TemplateParamDetail extends React.Component<{}> { this.store.UpdateData(); }} /> + + { + let hidden = !this.store.IsHiddenChildren; + const temp = this.store.GetCurrentTemplate(); + CommandWrap(() => + { + temp.IsHiddenChildren = hidden; + }, "隐藏模块子层"); + this.store.UpdateData(); + }} + />