Object - globules-io/OGX.JS Wiki

OGX.Object is a static class that handles the creation of classes extending multiple classes. It goes along its reserved keywords, require and construct.


Here at the step to create a super object with OGX.Object. When creating a custom class, you must declare its extensions this way

 require('The class you are creating', 'extendA', 'extendB', ... 'extendZ');

Then, When declaring your class, the FIRST line must be

 construct(this, 'The class you are creating');

Which calls OGX.Object in the shadows and puts everything together for you. Then when finally an instance must be created by doing

 OGX.Object.create(class, config);

Altogether, if an object extends multiple classes

 require('MyNameSpace.MyCustomObject', 'Uxi', 'Touch', 'Resize');

 OGX.MyNameSpace.MyCustomObject = function(__config){

       //__config is the config used to instantiate
       construct(this, 'MyNameSpace.MyCustomObject');

       //construct receives data coming from a route (__data) 
       //and data coming from a data:Data node (__extra_data)
       this.construct = function(__data, __extra_data){

 let config = {}; //whatever you need for your object
 let o = OGX.Object.create('MyNameSpace.MyCustomObject', config);
 //call final construct of your instance when you want

Creating your custom object from any Uxi node, construct will be fired automatically

 let config = {}; //whatever you need for your object
 let o = this.create('MyNameSpace.MyCustomObject', config);

Note that it is recommended to at least extend the Uxi class. If your object will handle user interactions, you should also extend the Touch class.


Retrieve some Uxi's passing a query. See querying in List.

  OGX.Object.get(_QUERY_, _SORT_, _LIMIT_);


To create a new instance of any OGX objects, please see the section dedicated to this in OML