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

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

@ -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);

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

@ -709,6 +709,22 @@ export class TemplateParamDetail extends React.Component<{}> {
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 style={{ marginTop: 10 }}>
<Button

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

Loading…
Cancel
Save