功能:模块增加隐藏子层功能,可以设计顶层模块

pull/1498/MERGE
ChenX 3 years ago
parent afa41bbe25
commit 66c0f0da4b

@ -172,6 +172,21 @@ export class TemplateRecord extends SymbolTableRecord
this.Type &= ~TemplateType.Hidden; 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() Purge()
{ {
this.Children = this.Children.filter(rc => rc && !rc.IsErase && rc.Object instanceof TemplateRecord); this.Children = this.Children.filter(rc => rc && !rc.IsErase && rc.Object instanceof TemplateRecord);

@ -16,6 +16,7 @@ export enum TemplateType
Expanded = 8, Expanded = 8,
//隐藏的 //隐藏的
Hidden = 16, Hidden = 16,
HiddenChildren = 32,
} }
export enum TemplateSplitType export enum TemplateSplitType

@ -709,6 +709,22 @@ export class TemplateParamDetail extends React.Component<{}> {
this.store.UpdateData(); this.store.UpdateData();
}} }}
/> />
<Checkbox
style={{ margin: "auto", left: 35 }}
checked={this.store.IsHiddenChildren}
label="隐藏子层"
large={true}
onChange={() =>
{
let hidden = !this.store.IsHiddenChildren;
const temp = this.store.GetCurrentTemplate();
CommandWrap(() =>
{
temp.IsHiddenChildren = hidden;
}, "隐藏模块子层");
this.store.UpdateData();
}}
/>
</div> </div>
<div style={{ marginTop: 10 }}> <div style={{ marginTop: 10 }}>
<Button <Button

@ -35,6 +35,7 @@ export class TemplateParamPanelStore
@observable isVisible = true;//可视化空间可见 @observable isVisible = true;//可视化空间可见
@observable isHidden = false;//模块节点是被隐藏的 @observable isHidden = false;//模块节点是被隐藏的
@observable IsHiddenChildren = false;//模块节点是被隐藏的
@observable isVisualTemplate = false;//是可视化空间 @observable isVisualTemplate = false;//是可视化空间
treeListScrollTop: number; treeListScrollTop: number;
@ -163,11 +164,15 @@ export class TemplateParamPanelStore
//最浅的没被隐藏的 //最浅的没被隐藏的
let newRecord: TemplateRecord = arrayLast(parents); let newRecord: TemplateRecord = arrayLast(parents);
for (let i = parents.length - 1; i--;) for (let i = parents.length; i--;)
{ {
let irecord = parents[i]; let irecord = parents[i];
if (!irecord.IsHidden) if (!irecord.IsHidden)
{
newRecord = irecord; newRecord = irecord;
if (irecord.IsHiddenChildren)
break;
}
else else
break; break;
} }
@ -191,7 +196,7 @@ export class TemplateParamPanelStore
Template2TreeNode = (template: TemplateRecord): ITreeNode => Template2TreeNode = (template: TemplateRecord): ITreeNode =>
{ {
let children = template.Children.filter(id => id && !id.IsErase).map(id => id.Object as TemplateRecord); let children = (!this.isShowHidden && template.IsHiddenChildren) ? [] : template.Children.filter(id => id && !id.IsErase).map(id => id.Object as TemplateRecord);
if (!this.isShowHidden) if (!this.isShowHidden)
children = children.filter(c => (c.Id.Object as TemplateRecord).IsHidden === false); children = children.filter(c => (c.Id.Object as TemplateRecord).IsHidden === false);
@ -219,6 +224,7 @@ export class TemplateParamPanelStore
} }
this.isHidden = template.IsHidden; this.isHidden = template.IsHidden;
this.IsHiddenChildren = template.IsHiddenChildren;
//虚拟空间的隐藏 //虚拟空间的隐藏
if (template instanceof TemplateVisualSpace) if (template instanceof TemplateVisualSpace)

Loading…
Cancel
Save