151 lines
3.2 KiB
JavaScript
151 lines
3.2 KiB
JavaScript
|
const R3Object = require('r3-r3-object.js');
|
||
|
const Event = require('r3-event');
|
||
|
const Utils = require('r3-utils');
|
||
|
|
||
|
/**
|
||
|
|
||
|
OPTIONS_START
|
||
|
OPTIONS_END
|
||
|
|
||
|
INSTANCE_OPTIONS_MAPPING_START
|
||
|
INSTANCE_OPTIONS_MAPPING_END
|
||
|
|
||
|
LINKED_OBJECTS_START
|
||
|
LINKED_OBJECTS_END
|
||
|
|
||
|
EXCLUDE_OPTIONS_UPDATE_START
|
||
|
EXCLUDE_OPTIONS_UPDATE_END
|
||
|
|
||
|
EXCLUDE_OPTIONS_UPDATE_FROM_START
|
||
|
EXCLUDE_OPTIONS_UPDATE_FROM_END
|
||
|
|
||
|
**/
|
||
|
|
||
|
class AnotherClass extends R3Object {
|
||
|
|
||
|
//CONSTRUCTOR_EXTENDS_TEMPLATE_START
|
||
|
constructor(options) {
|
||
|
|
||
|
if (Utils.UndefinedOrNull(options)) {
|
||
|
options = {};
|
||
|
}
|
||
|
|
||
|
options.id = Utils.RandomId(10);
|
||
|
options.name = 'AnotherClass (' + options.id + ')';
|
||
|
|
||
|
super(options);
|
||
|
|
||
|
this.emit(Event.OBJECT_CREATED, this);
|
||
|
|
||
|
//OPTIONS_INIT_START
|
||
|
//OPTIONS_INIT_END
|
||
|
|
||
|
//CUSTOM_OPTIONS_INIT_START
|
||
|
//CUSTOM_OPTIONS_INIT_END
|
||
|
|
||
|
Object.assign(this, options);
|
||
|
|
||
|
//CUSTOM_BEFORE_INIT_START
|
||
|
//CUSTOM_BEFORE_INIT_END
|
||
|
|
||
|
this.emit(Event.OBJECT_INITIALIZED, this);
|
||
|
}
|
||
|
//CONSTRUCTOR_EXTENDS_TEMPLATE_END
|
||
|
|
||
|
//CREATE_INSTANCE_TEMPLATE_START
|
||
|
createInstance() {
|
||
|
|
||
|
//CREATE_INSTANCE_BEFORE_START
|
||
|
super.createInstance();
|
||
|
this.emit(Event.CREATE_INSTANCE, this);
|
||
|
//CREATE_INSTANCE_BEFORE_END
|
||
|
|
||
|
//CUSTOM_CREATE_INSTANCE_START
|
||
|
//CUSTOM_CREATE_INSTANCE_END
|
||
|
|
||
|
//CREATE_INSTANCE_AFTER_START
|
||
|
this.emit(Event.INSTANCE_CREATED, this);
|
||
|
//CREATE_INSTANCE_AFTER_END
|
||
|
|
||
|
}
|
||
|
//CREATE_INSTANCE_TEMPLATE_END
|
||
|
|
||
|
//UPDATE_INSTANCE_TEMPLATE_START
|
||
|
updateInstance() {
|
||
|
|
||
|
//UPDATE_INSTANCE_BEFORE_START
|
||
|
this.emit(Event.UPDATE_INSTANCE_BEFORE, this);
|
||
|
//UPDATE_INSTANCE_BEFORE_END
|
||
|
|
||
|
//UPDATE_INSTANCE_OPTIONS_START
|
||
|
//UPDATE_INSTANCE_OPTIONS_END
|
||
|
|
||
|
//CUSTOM_UPDATE_INSTANCE_START
|
||
|
//CUSTOM_UPDATE_INSTANCE_END
|
||
|
|
||
|
//UPDATE_INSTANCE_AFTER_START
|
||
|
this.emit(Event.UPDATE_INSTANCE_AFTER, this);
|
||
|
//UPDATE_INSTANCE_AFTER_END
|
||
|
|
||
|
}
|
||
|
//UPDATE_INSTANCE_TEMPLATE_END
|
||
|
|
||
|
//UPDATE_FROM_INSTANCE_TEMPLATE_START
|
||
|
updateFromInstance() {
|
||
|
|
||
|
//UPDATE_FROM_INSTANCE_BEFORE_START
|
||
|
this.emit(Event.UPDATE_FROM_INSTANCE_BEFORE, this);
|
||
|
//UPDATE_FROM_INSTANCE_BEFORE_END
|
||
|
|
||
|
//UPDATE_FROM_INSTANCE_OPTIONS_START
|
||
|
//UPDATE_FROM_INSTANCE_OPTIONS_END
|
||
|
|
||
|
//CUSTOM_UPDATE_FROM_INSTANCE_START
|
||
|
//CUSTOM_UPDATE_FROM_INSTANCE_END
|
||
|
|
||
|
//UPDATE_FROM_INSTANCE_AFTER_START
|
||
|
this.emit(Event.UPDATE_FROM_INSTANCE_AFTER, this);
|
||
|
//UPDATE_FROM_INSTANCE_AFTER_END
|
||
|
|
||
|
}
|
||
|
//UPDATE_FROM_INSTANCE_TEMPLATE_END
|
||
|
|
||
|
//DISPOSE_TEMPLATE_START
|
||
|
dispose() {
|
||
|
|
||
|
//DISPOSE_BEFORE_START
|
||
|
this.emit(Event.DISPOSE_OBJECT, this);
|
||
|
//DISPOSE_BEFORE_END
|
||
|
|
||
|
//CUSTOM_DISPOSE_START
|
||
|
//CUSTOM_DISPOSE_END
|
||
|
|
||
|
//DISPOSE_AFTER_START
|
||
|
this.emit(Event.OBJECT_DISPOSED, this);
|
||
|
//DISPOSE_AFTER_END
|
||
|
|
||
|
}
|
||
|
//DISPOSE_TEMPLATE_END
|
||
|
|
||
|
//DISPOSE_INSTANCE_TEMPLATE_START
|
||
|
disposeInstance() {
|
||
|
|
||
|
//DISPOSE_INSTANCE_BEFORE_START
|
||
|
super.disposeInstance();
|
||
|
this.emit(Event.DISPOSE_INSTANCE, this);
|
||
|
//DISPOSE_INSTANCE_BEFORE_END
|
||
|
|
||
|
//CUSTOM_DISPOSE_INSTANCE_START
|
||
|
//CUSTOM_DISPOSE_INSTANCE_END
|
||
|
|
||
|
//DISPOSE_INSTANCE_AFTER_START
|
||
|
this.emit(Event.INSTANCE_DISPOSED, this);
|
||
|
//DISPOSE_INSTANCE_AFTER_END
|
||
|
|
||
|
}
|
||
|
//DISPOSE_INSTANCE_TEMPLATE_END
|
||
|
|
||
|
//CUSTOM_IMPLEMENTATION_START
|
||
|
//CUSTOM_IMPLEMENTATION_END
|
||
|
|
||
|
}
|