Skip to content
vindelorme edited this page Nov 10, 2021 · 8 revisions

Welcome to the PlateEditor wiki!

This wiki has been designed to give more information about the classes and API used in the source code of PlateEditor. It is a work-in-progress, thank you in advance for your patience! For help on the application, its usage and examples, the reader is invited to consult the Wiki available on the SourceForge repository, using the following link: User-oriented Wiki on SourceForge

General overview

The source code is divided into four independent packages:

  • editor.min.js: regroups the classes needed by the plate layout editor;
  • analyzer.min.js: regroups the classes needed for data aggregation (including the Z-score calculation);
  • shared.min.js: regroups the classes needed for the user interface, as well as file parsing, mapping and plate pairing;
  • ui.min.js: regroups the classes needed for the user interface.

All classes and functions are written as independent JS files, organized in four folders named after the package to which they belong (editor, analyzer, shared, ui). The packages are built by merging together all files from a single folder and minifying the resulting file, using Gulp. The cascade style sheet (CSS) files used by the web application are written and packaged the same way, merged and minified using Gulp. Each JS package file has an associated CSS package file (editor-styles.css, analyzer-styles.css, shared-styles.css and ui-styles.css). To simplify the development and bug-tracking process, source maps are also generated with Gulp. See the gulpfile.js file for details.

Editor package (editor.min.js)

Main article: Editor package

Contents:

  • editor-css: css files for PlateEditor
  • editor-objects: classes for the plate layout editor

Analyzer package (analyzer.min.js)

Main article: Analyzer package

Contents:

  • analyzer-css: css files for the analysis tools
  • analyzer-objects: classes for the analysis tools

Shared package (shared.min.js)

Main article: Shared package

Contents:

  • shared-css: css files for the elements that can be shared between editor, analyzer and other applications
  • shared-forms: forms that can be shared between different applications
  • shared-objects: classes for shared elements
  • shared-tools: shared functions, useful shortcuts or others

UI package (ui.min.js)

Main article: UI package

Contents:

  • ui-css: css files for the user interface elements
  • ui-objects: classes for the user interface elements