|
|
|
@ -407,6 +407,10 @@ class TemplateStretchSizeBoxAction extends TemplateAction
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 模板记录
|
|
|
|
|
* 模版与实体总是互相关联的,所以添加实体进入模版的时候,应该保证这个记录已经加入到数据库
|
|
|
|
|
*/
|
|
|
|
|
@Factory
|
|
|
|
|
export class TemplateRecord extends SymbolTableRecord
|
|
|
|
|
{
|
|
|
|
@ -415,7 +419,7 @@ export class TemplateRecord extends SymbolTableRecord
|
|
|
|
|
@AutoRecord parent: ObjectId;
|
|
|
|
|
@AutoRecord children: ObjectId[] = [];
|
|
|
|
|
@AutoRecord params: TemplateParam[];
|
|
|
|
|
@AutoRecord objects: ObjectId[] = [];
|
|
|
|
|
@AutoRecord objects: ObjectId[];
|
|
|
|
|
|
|
|
|
|
constructor()
|
|
|
|
|
{
|
|
|
|
@ -441,16 +445,45 @@ export class TemplateRecord extends SymbolTableRecord
|
|
|
|
|
return Reflect.get(target, key, receiver);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.objects = new Proxy([], {
|
|
|
|
|
set: (target, key, value, receiver) =>
|
|
|
|
|
{
|
|
|
|
|
if (Reflect.get(target, key, receiver) !== value)
|
|
|
|
|
{
|
|
|
|
|
this.WriteAllObjectRecord();
|
|
|
|
|
|
|
|
|
|
if (value instanceof ObjectId && value.Object instanceof Entity)
|
|
|
|
|
{
|
|
|
|
|
if (!this.Id)
|
|
|
|
|
console.warn("请先加模版添加到Database后在进行操作!");
|
|
|
|
|
value.Object.Template = this.Id;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return Reflect.set(target, key, value, receiver);
|
|
|
|
|
},
|
|
|
|
|
get: (target, key, receiver) =>
|
|
|
|
|
{
|
|
|
|
|
if (key === ISPROXYKEY)
|
|
|
|
|
return true;
|
|
|
|
|
return Reflect.get(target, key, receiver);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
InitSizeParams()
|
|
|
|
|
static SizeParamName = ["L", "W", "H"];
|
|
|
|
|
InitSizeParams(length = 0, width = 0, height = 0)
|
|
|
|
|
{
|
|
|
|
|
for (let paramName of ["L", "W", "H"])
|
|
|
|
|
let size = [length, width, height];
|
|
|
|
|
for (let i = 0; i < 3; i++)
|
|
|
|
|
{
|
|
|
|
|
let paramName = TemplateRecord.SizeParamName[i];
|
|
|
|
|
let value = size[i];
|
|
|
|
|
|
|
|
|
|
let param = new TemplateParam();
|
|
|
|
|
param.name = paramName;
|
|
|
|
|
param.type = TemplateParamType.Float;
|
|
|
|
|
param.value = 0;
|
|
|
|
|
param.value = value;
|
|
|
|
|
this.params.push(param);
|
|
|
|
|
}
|
|
|
|
|
return this;
|
|
|
|
|