When a insert action is done from template, copy, cut, paste or move, it will use a info structure to tell where to insert with what and how. This is a description of this structure and the different elements it can have.

The type of the element we are adding the element to. Ex. form, record, block, label, field etc.
The subtype of element we are inserting the new element to. Can be blank.
The jquery element we are inserting into. Ex. _this.crecord that is the currently selected record.
The rules for adding to a empty element. Is object of object of rule. Ex. {'block' : {'any',direct'},'record':{'any','direct'},'any':{'any':'rec'}}. You can find all rules in own document.
The rules to use for adding to a element that have contents. Is object of object of rule. Ex. {'block' : {'any',insert'},'record':{'any','insert'},'any':{'any':'rec'}}. You can find all rules in own document.
The html to use for the insert object. This can be undefined if it comes from templates, but set if using clipboard.
The template to use to generate the html for insert element. Can be undefined if the inserthtml is used instead. This can be a active element or a html defined as a comment in the code.
The type of element to insert. It is also defined by the data-elementtype in the outer html. It is also used to define the types of livetext that are expected in the htlm.
The insert subtype. This can be used for default when creating fields or to set the sidebar menu for updating info on the element.
Tell if you should add the element before of after element or on child list on add and insert actions. Can be true or false.
The event information from click to we can get pageX and pageY for the position to insert on.