Ensemble RecordMapper Development Page. This page lets users construct a RecordMap definition (used to pull data out of flat files and map them into an object representation).
Comma-separated list of additional CSS include files for the page. If this page is using CSS3 then the CSS3INCLUDES parameter is used (if defined).
If this page has multiple views, this is its initial display mode.
User needs WRITE permissions on either the %Ens_Code or the %Ens_RecordMap resource to make changes on this page.
Comma-separated list of additional JS include files for the page.
Displayed name of this page.
User needs READ permissions on either the %Ens_Code or the %Ens_RecordMap resource to view this page.
Property to temporarily contain model during page load.
Temporary flag to indicate when a new item has been added to the RecordMap. The flag is used to ensure the item is selected after being created, by stopping the row containing the "add" button from selected after creating the new item.
Is the user permitted to access the fileSelect popup.
ID (index number, 0-based) of current selected item.
Type of the current selected item.
List of classes generated by a given RecordMap after the Generate option is selected.
CSV-string used to remember last location across page redraws, especially involving popups.
Name of RecordMap being viewed.
Name of current sample file (on server).
Flag to indicate whether the sample file should be displayed.
This class method callback is called just before the server-side page object is created.
Get the (localized) name of the page.
Get the (localized) title string for the page.
Client-side constructor for a Composite object.
Draw the contents of the Data Sample panel.
Draw the contents of the Header section.
Client-side constructor for a Field object.
Return the internal name of the current document, including the three letter extension in upper-case. For example, MyPackage.MyClass.CLS would be the internal name for the class MyPackage.MyClass. Subclasses MUST override this method.
Get Record definition for JSON provider.
Load the last used sample file for the current user.
Get information to display in the ribbon bar.
A client-side constructor for a Record object. It can be invoked using either:
var record = new zenPage.Record(args...)
var record = new this.Record(args...)
where the latter would be invoked from a ClientMethod.
Save the sample file name for the current user so that it is initialised for later sessions.
Process submitted JSON content based on the object created
Add a new item to the table. One needs to supply the type of the container object, the row of the container, and the path to the clicked element, which is specified by integers separated by _ (underscore) characters.
Remember the current state in the undo buffer.
Adjust sizes of components on the page.
Apply changes from detail form.
Return true if it is possible to undo an action
Launch the file dialog to select a sample file.
Check that the Target Classname is changed along with the RecordMap name
Handle a source control menu selection.
Clear the undo buffer.
Create a clone of the given object.
Method to save the RecordMap to disk without generating any classes.
Find the row number in the table for the given model item. This must be called after the table has been rendered.
Find the css class for the given row type.
Get the jsonProvider object on the client. Subclasses MUST override this method to return the jsonProvider.
Get the distance to a given composite's "furthest" field, which represents the number of separators it needs.
Returns the index of the currently selected item and the offsets of the main window in a comma separated list. It returns the empty string "" if no item is selected.
Return the current name of the class/object being modified
Helper method to get the last name used for a specific parent object.
Helper method to calculate the next name to use for a given parent.
Get the expected number of separators for a given record.
Return the RecordMap definition object.
Client-side coordinator of calls to the AfterUserAction callback in the core source control class.
Item selected within the Finder.
Helper method for loading the CSV Wizard with the current sample file.
Load the page for the specified RecordMap.
To avoid unloadHandler loop, override logout() and do the unload check ourselves.
Helper method to move items in the table. row is the row in the rowIndex, path is the path to item in the diagram, and direction is either the text string 'up' or 'down'. Note that any direction value != 'up' is assumed to mean 'down'.
Add a new RecordMap.
Ensure we redraw the table if the model was updated.
Remember last entered name
Modify available input fields based on whether an entry is a Field or Composite.
This client event is fired when the a popup page launched from this page fires an action.
Coordinate events which need to occur when the RecordMap's name is changed.
Modify the available input fields based on the Record type
Adjust sizes of components on the page.
Check if user really wants to exit if they have not saved changes
Launch the finder dialog to select a RecordMap.
Remove a row from the table.
Handle user click on a row in the table.
Save the current model. This includes initial validation on the RecordMap.
Select a row in the table.
Helper method: select an item, make sure it is visible and give focus to the details panel. The blockSuper variable is used to control whether the next selectItem() event will be honored: when adding an item from the + button, the new parent's onclick() will be triggered, and we want to keep the new element in focus.
Update the description (annotation) of this record map.
readOnlyto the value of readOnly. Subclasses MUST implement this method to update the controls on the page so that the page's behaviour actually matches the value of the readOnly flag.
Do the actual work of updating the view to match the current view mode.
User click on disclosure icon in table.
Hide/display the sample file section in the display
Undo the most recent change.
Helper method to record the last name used on the client.
Update the contents of the model table.
Basic validation to check that:
- Record and Composite elements have children
- Enough separators have been defined for delimited records