Mixins. The "mixins" property
Glossary Item Box
Introduction
A mixin is a class designed to extend the functions of other classes. Mixins are separately created classes with additional functionality. Mixins expand the functionality of schemas, allowing to avoid duplication of commonly used logic in schema methods. Mixins are different from other modules added to the dependency list in a way that their methods can be addressed directly, much like those of a schema.
Using mixins
// WizardUtilities – a module in which the mixin class is implemented. define("ExampleSchema", ["WizardUtilities"], function () { return { entitySchemaName: "Contact", mixins: { // Connecting mixins. WizardUtilities: "Terrasoft.WizardUtilities" }, attributes: {}, messages: {}, methods: {}, rules: {}, modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/, diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/ }; });
The mixin functionality will be available in a schema it was added to.
ATTENTION
Mixins are designed in form of modules that must be connected to the schema dependencies list when it is declared by the define function.