-
Notifications
You must be signed in to change notification settings - Fork 1
Editor
This package includes the classes necessary for the plate layout editor, including the results and definitions.
Contents
- Area.js
- Console.js (EditorConsole class)
- Definition.js
- Editor.js
- Layer.js
- Parameter.js
- Plate.js
- Result.js
- ResultManager.js
- TypeMap.js
- Well.js
Structure
The Editor class is the entry point between the user interface and the classes used downstream by PlateEditor. It has no constructor and is used only through its static methods, which allows other classes to refer to it without having to pass it as a reference. On page loading, Editor is initialized by the init() method and three DOM elements with IDs "Editor_Popup", "Editor_Menu", "Editor_Main" are required for successful initialization. The Editor class holds the Area and Result objects created in its Tables object property. The areas are handled directly, but the results are managed by an instance of the ResultManager class, initialized as the ResultManager property of the Editor class. The EditorConsole class is used to display feedback messages to the user and an instance of it is attached to the Editor class as its Console property. See below figure for a complete layout of how the elements of the Editor package interacts each others:
Additional information
A plate layout is designed as a Plate object containing an array of Layer objects (Layers), themselves containing an array of Well objects (Wells). The well object caches a reference to the area object tagged in it. The area object also maintains an array of references to well objects in which it was tagged. The TypeMap class holds the mechanism for the resolution of conflicts while tagging. Areas of type Range can have a Definition object attached under their Definition property. Both Definition and Result objects maintain a reference to a Mapper and InputParser instance from the Shared package, allowing data streaming. For result objects, the selected columns are wrapped into a Parameter object that holds various data in cache, in particular the extremum values (min and max) for the preparation of heatmaps.