hedera-web/js/vn/mutators.js

46 lines
890 B
JavaScript

Class.Mutators.Tag = function (tagName)
{
Vn.customTags[tagName] = this;
if (this.parent)
{
this.implement ({Parent: this.parent.Parent});
this.implement ({Child: this.parent.Child});
this.implement ({Properties: {}});
}
this.extend ({Tag: tagName});
};
Class.Mutators.Properties = function (props)
{
var parentProps;
for (var propName in props)
{
var prop = props[propName];
if (!prop.get && !prop.set && prop.writable === undefined)
prop.writable = true;
}
if (this.parent && (parentProps = this.parent.Properties))
for (var propName in parentProps)
props[propName] = parentProps[propName];
this.extend ({Properties: props});
Object.defineProperties (this.prototype, props);
};
Class.Mutators.Parent = function (propName)
{
this.extend ({Parent: propName});
};
Class.Mutators.Child = function (propName)
{
this.extend ({Child: propName});
};